@feathersjs/feathers 5.0.0-pre.14 → 5.0.0-pre.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/service.ts CHANGED
@@ -24,6 +24,7 @@ export const defaultEventMap = {
24
24
  export const protectedMethods = Object.keys(Object.prototype)
25
25
  .concat(Object.keys(EventEmitter.prototype))
26
26
  .concat([
27
+ 'all',
27
28
  'before',
28
29
  'after',
29
30
  'error',
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export default '5.0.0-pre.14';
1
+ export default '5.0.0-pre.15';
@@ -1,7 +0,0 @@
1
- import { LegacyHookFunction } from '../declarations';
2
- export declare function fromBeforeHook(hook: LegacyHookFunction): (context: any, next: any) => Promise<any>;
3
- export declare function fromAfterHook(hook: LegacyHookFunction): (context: any, next: any) => any;
4
- export declare function fromErrorHooks(hooks: LegacyHookFunction[]): (context: any, next: any) => any;
5
- export declare function collectLegacyHooks(target: any, method: string): any[];
6
- export declare function convertHookData(obj: any): any;
7
- export declare function enableLegacyHooks(obj: any, methods?: string[], types?: string[]): (this: any, allHooks: any) => any;
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.enableLegacyHooks = exports.convertHookData = exports.collectLegacyHooks = exports.fromErrorHooks = exports.fromAfterHook = exports.fromBeforeHook = void 0;
4
- const dependencies_1 = require("../dependencies");
5
- const { each } = dependencies_1._;
6
- const mergeContext = (context) => (res) => {
7
- if (res && res !== context) {
8
- Object.assign(context, res);
9
- }
10
- return res;
11
- };
12
- function fromBeforeHook(hook) {
13
- return (context, next) => {
14
- context.type = 'before';
15
- return Promise.resolve(hook.call(context.self, context))
16
- .then(mergeContext(context))
17
- .then(() => {
18
- context.type = null;
19
- return next();
20
- });
21
- };
22
- }
23
- exports.fromBeforeHook = fromBeforeHook;
24
- function fromAfterHook(hook) {
25
- return (context, next) => {
26
- return next()
27
- .then(() => {
28
- context.type = 'after';
29
- return hook.call(context.self, context);
30
- })
31
- .then(mergeContext(context))
32
- .then(() => {
33
- context.type = null;
34
- });
35
- };
36
- }
37
- exports.fromAfterHook = fromAfterHook;
38
- function fromErrorHooks(hooks) {
39
- return (context, next) => {
40
- return next().catch((error) => {
41
- let promise = Promise.resolve();
42
- context.original = { ...context };
43
- context.error = error;
44
- context.type = 'error';
45
- delete context.result;
46
- for (const hook of hooks) {
47
- promise = promise.then(() => hook.call(context.self, context))
48
- .then(mergeContext(context));
49
- }
50
- return promise.then(() => {
51
- context.type = null;
52
- if (context.result === undefined) {
53
- throw context.error;
54
- }
55
- });
56
- });
57
- };
58
- }
59
- exports.fromErrorHooks = fromErrorHooks;
60
- function collectLegacyHooks(target, method) {
61
- const { before: { [method]: before = [] }, after: { [method]: after = [] }, error: { [method]: error = [] } } = target.__hooks;
62
- const beforeHooks = before;
63
- const afterHooks = [...after].reverse();
64
- const errorHook = fromErrorHooks(error);
65
- return [errorHook, ...beforeHooks, ...afterHooks];
66
- }
67
- exports.collectLegacyHooks = collectLegacyHooks;
68
- // Converts different hook registration formats into the
69
- // same internal format
70
- function convertHookData(obj) {
71
- let hook = {};
72
- if (Array.isArray(obj)) {
73
- hook = { all: obj };
74
- }
75
- else if (typeof obj !== 'object') {
76
- hook = { all: [obj] };
77
- }
78
- else {
79
- each(obj, function (value, key) {
80
- hook[key] = !Array.isArray(value) ? [value] : value;
81
- });
82
- }
83
- return hook;
84
- }
85
- exports.convertHookData = convertHookData;
86
- // Add `.hooks` functionality to an object
87
- function enableLegacyHooks(obj, methods = ['find', 'get', 'create', 'update', 'patch', 'remove'], types = ['before', 'after', 'error']) {
88
- const hookData = {};
89
- types.forEach(type => {
90
- // Initialize properties where hook functions are stored
91
- hookData[type] = {};
92
- });
93
- // Add non-enumerable `__hooks` property to the object
94
- Object.defineProperty(obj, '__hooks', {
95
- configurable: true,
96
- value: hookData,
97
- writable: true
98
- });
99
- return function legacyHooks(allHooks) {
100
- each(allHooks, (current, type) => {
101
- if (!this.__hooks[type]) {
102
- throw new Error(`'${type}' is not a valid hook type`);
103
- }
104
- const hooks = convertHookData(current);
105
- each(hooks, (_value, method) => {
106
- if (method !== 'all' && methods.indexOf(method) === -1) {
107
- throw new Error(`'${method}' is not a valid hook method`);
108
- }
109
- });
110
- methods.forEach(method => {
111
- let currentHooks = [...(hooks.all || []), ...(hooks[method] || [])];
112
- this.__hooks[type][method] = this.__hooks[type][method] || [];
113
- if (type === 'before') {
114
- currentHooks = currentHooks.map(fromBeforeHook);
115
- }
116
- if (type === 'after') {
117
- currentHooks = currentHooks.map(fromAfterHook);
118
- }
119
- this.__hooks[type][method].push(...currentHooks);
120
- });
121
- });
122
- return this;
123
- };
124
- }
125
- exports.enableLegacyHooks = enableLegacyHooks;
126
- //# sourceMappingURL=legacy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/hooks/legacy.ts"],"names":[],"mappings":"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"}
@@ -1,150 +0,0 @@
1
- import { _ } from '../dependencies';
2
- import { LegacyHookFunction } from '../declarations';
3
-
4
- const { each } = _;
5
- const mergeContext = (context: any) => (res: any) => {
6
- if (res && res !== context) {
7
- Object.assign(context, res);
8
- }
9
- return res;
10
- }
11
-
12
- export function fromBeforeHook (hook: LegacyHookFunction) {
13
- return (context: any, next: any) => {
14
- context.type = 'before';
15
-
16
- return Promise.resolve(hook.call(context.self, context))
17
- .then(mergeContext(context))
18
- .then(() => {
19
- context.type = null;
20
- return next();
21
- });
22
- };
23
- }
24
-
25
- export function fromAfterHook (hook: LegacyHookFunction) {
26
- return (context: any, next: any) => {
27
- return next()
28
- .then(() => {
29
- context.type = 'after';
30
- return hook.call(context.self, context)
31
- })
32
- .then(mergeContext(context))
33
- .then(() => {
34
- context.type = null;
35
- });
36
- }
37
- }
38
-
39
- export function fromErrorHooks (hooks: LegacyHookFunction[]) {
40
- return (context: any, next: any) => {
41
- return next().catch((error: any) => {
42
- let promise: Promise<any> = Promise.resolve();
43
-
44
- context.original = { ...context };
45
- context.error = error;
46
- context.type = 'error';
47
-
48
- delete context.result;
49
-
50
- for (const hook of hooks) {
51
- promise = promise.then(() => hook.call(context.self, context))
52
- .then(mergeContext(context))
53
- }
54
-
55
- return promise.then(() => {
56
- context.type = null;
57
-
58
- if (context.result === undefined) {
59
- throw context.error;
60
- }
61
- });
62
- });
63
- }
64
- }
65
-
66
- export function collectLegacyHooks (target: any, method: string) {
67
- const {
68
- before: { [method]: before = [] },
69
- after: { [method]: after = [] },
70
- error: { [method]: error = [] }
71
- } = target.__hooks;
72
- const beforeHooks = before;
73
- const afterHooks = [...after].reverse();
74
- const errorHook = fromErrorHooks(error);
75
-
76
- return [errorHook, ...beforeHooks, ...afterHooks];
77
- }
78
-
79
- // Converts different hook registration formats into the
80
- // same internal format
81
- export function convertHookData (obj: any) {
82
- let hook: any = {};
83
-
84
- if (Array.isArray(obj)) {
85
- hook = { all: obj };
86
- } else if (typeof obj !== 'object') {
87
- hook = { all: [ obj ] };
88
- } else {
89
- each(obj, function (value, key) {
90
- hook[key] = !Array.isArray(value) ? [ value ] : value;
91
- });
92
- }
93
-
94
- return hook;
95
- }
96
-
97
- // Add `.hooks` functionality to an object
98
- export function enableLegacyHooks (
99
- obj: any,
100
- methods: string[] = ['find', 'get', 'create', 'update', 'patch', 'remove'],
101
- types: string[] = ['before', 'after', 'error']
102
- ) {
103
- const hookData: any = {};
104
-
105
- types.forEach(type => {
106
- // Initialize properties where hook functions are stored
107
- hookData[type] = {};
108
- });
109
-
110
- // Add non-enumerable `__hooks` property to the object
111
- Object.defineProperty(obj, '__hooks', {
112
- configurable: true,
113
- value: hookData,
114
- writable: true
115
- });
116
-
117
- return function legacyHooks (this: any, allHooks: any) {
118
- each(allHooks, (current: any, type) => {
119
- if (!this.__hooks[type]) {
120
- throw new Error(`'${type}' is not a valid hook type`);
121
- }
122
-
123
- const hooks = convertHookData(current);
124
-
125
- each(hooks, (_value, method) => {
126
- if (method !== 'all' && methods.indexOf(method) === -1) {
127
- throw new Error(`'${method}' is not a valid hook method`);
128
- }
129
- });
130
-
131
- methods.forEach(method => {
132
- let currentHooks = [...(hooks.all || []), ...(hooks[method] || [])];
133
-
134
- this.__hooks[type][method] = this.__hooks[type][method] || [];
135
-
136
- if (type === 'before') {
137
- currentHooks = currentHooks.map(fromBeforeHook);
138
- }
139
-
140
- if (type === 'after') {
141
- currentHooks = currentHooks.map(fromAfterHook);
142
- }
143
-
144
- this.__hooks[type][method].push(...currentHooks);
145
- });
146
- });
147
-
148
- return this;
149
- }
150
- }