@feathersjs/hooks
Advanced tools
Comparing version 0.7.4 to 0.7.5
@@ -6,4 +6,4 @@ # Change Log | ||
## [0.7.4](https://github.com/feathersjs/hooks/compare/v0.7.3...v0.7.4) (2022-04-27) | ||
## [0.7.5](https://github.com/feathersjs/hooks/compare/v0.7.4...v0.7.5) (2022-06-04) | ||
**Note:** Version bump only for package @feathersjs/hooks |
import { compose } from './compose.js'; | ||
const runHook = (hook, context, type) => { | ||
export const runHook = (hook, context, type) => { | ||
if (type) | ||
@@ -14,2 +14,3 @@ context.type = type; | ||
}; | ||
export const runHooks = (hooks) => (context) => hooks.reduce((promise, hook) => promise.then(() => runHook(hook, context)), Promise.resolve(context)); | ||
export function fromBeforeHook(hook) { | ||
@@ -44,4 +45,4 @@ return (context, next) => { | ||
const afterHooks = [...after].reverse().map(fromAfterHook); | ||
const errorHooks = error.map(fromErrorHook); | ||
return compose([...errorHooks, ...afterHooks, ...beforeHooks]); | ||
const errorHooks = error.length ? [fromErrorHook(runHooks(error))] : []; | ||
return compose([...errorHooks, ...beforeHooks, ...afterHooks]); | ||
} |
@@ -6,3 +6,3 @@ { | ||
"name": "@feathersjs/hooks", | ||
"version": "0.7.4", | ||
"version": "0.7.5", | ||
"description": "Async middleware for JavaScript and TypeScript", | ||
@@ -44,3 +44,3 @@ "homepage": "https://feathersjs.com", | ||
}, | ||
"gitHead": "ba99235963980ff0c1bb0771b8654ab9b090c155" | ||
"gitHead": "b27f38b8a6d9677706bfd276e6118204b54652a7" | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.collect = exports.fromErrorHook = exports.fromAfterHook = exports.fromBeforeHook = void 0; | ||
exports.collect = exports.fromErrorHook = exports.fromAfterHook = exports.fromBeforeHook = exports.runHooks = exports.runHook = void 0; | ||
const compose_js_1 = require("./compose.js"); | ||
@@ -17,5 +17,8 @@ const runHook = (hook, context, type) => { | ||
}; | ||
exports.runHook = runHook; | ||
const runHooks = (hooks) => (context) => hooks.reduce((promise, hook) => promise.then(() => (0, exports.runHook)(hook, context)), Promise.resolve(context)); | ||
exports.runHooks = runHooks; | ||
function fromBeforeHook(hook) { | ||
return (context, next) => { | ||
return runHook(hook, context, 'before').then(next); | ||
return (0, exports.runHook)(hook, context, 'before').then(next); | ||
}; | ||
@@ -26,3 +29,3 @@ } | ||
return (context, next) => { | ||
return next().then(() => runHook(hook, context, 'after')); | ||
return next().then(() => (0, exports.runHook)(hook, context, 'after')); | ||
}; | ||
@@ -39,3 +42,3 @@ } | ||
} | ||
return runHook(hook, context, 'error').then(() => { | ||
return (0, exports.runHook)(hook, context, 'error').then(() => { | ||
if (context.result === undefined && context.error !== undefined) { | ||
@@ -52,5 +55,5 @@ throw context.error; | ||
const afterHooks = [...after].reverse().map(fromAfterHook); | ||
const errorHooks = error.map(fromErrorHook); | ||
return (0, compose_js_1.compose)([...errorHooks, ...afterHooks, ...beforeHooks]); | ||
const errorHooks = error.length ? [fromErrorHook((0, exports.runHooks)(error))] : []; | ||
return (0, compose_js_1.compose)([...errorHooks, ...beforeHooks, ...afterHooks]); | ||
} | ||
exports.collect = collect; |
@@ -8,2 +8,4 @@ import { HookContext } from './base.js'; | ||
} | ||
export declare const runHook: (hook: RegularMiddleware, context: any, type?: string | undefined) => Promise<void>; | ||
export declare const runHooks: (hooks: RegularMiddleware[]) => (context: any) => Promise<any>; | ||
export declare function fromBeforeHook(hook: RegularMiddleware): (context: any, next: any) => Promise<void>; | ||
@@ -10,0 +12,0 @@ export declare function fromAfterHook(hook: RegularMiddleware): (context: any, next: any) => any; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
41563
1042