@feathersjs/feathers 5.0.0-pre.3 → 5.0.0-pre.31
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/CHANGELOG.md +240 -208
- package/LICENSE +1 -1
- package/{readme.md → README.md} +2 -5
- package/lib/application.d.ts +20 -15
- package/lib/application.js +88 -44
- package/lib/application.js.map +1 -1
- package/lib/declarations.d.ts +162 -67
- package/lib/events.d.ts +2 -2
- package/lib/events.js +5 -6
- package/lib/events.js.map +1 -1
- package/lib/hooks.d.ts +38 -0
- package/lib/hooks.js +157 -0
- package/lib/hooks.js.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js +8 -4
- package/lib/index.js.map +1 -1
- package/lib/service.d.ts +1 -0
- package/lib/service.js +17 -8
- package/lib/service.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +17 -16
- package/src/application.ts +166 -99
- package/src/declarations.ts +231 -138
- package/src/events.ts +15 -15
- package/src/hooks.ts +215 -0
- package/src/index.ts +13 -12
- package/src/service.ts +34 -38
- package/src/version.ts +1 -1
- package/lib/dependencies.d.ts +0 -4
- package/lib/dependencies.js +0 -18
- package/lib/dependencies.js.map +0 -1
- package/lib/hooks/index.d.ts +0 -14
- package/lib/hooks/index.js +0 -84
- package/lib/hooks/index.js.map +0 -1
- package/lib/hooks/legacy.d.ts +0 -7
- package/lib/hooks/legacy.js +0 -114
- package/lib/hooks/legacy.js.map +0 -1
- package/src/dependencies.ts +0 -5
- package/src/hooks/index.ts +0 -109
- package/src/hooks/legacy.ts +0 -138
package/lib/events.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NextFunction } from '
|
|
1
|
+
import { NextFunction } from '@feathersjs/hooks';
|
|
2
2
|
import { HookContext, FeathersService } from './declarations';
|
|
3
3
|
export declare function eventHook(context: HookContext, next: NextFunction): Promise<void>;
|
|
4
|
-
export declare function eventMixin<A>(service: FeathersService<A>): FeathersService<A, import("./declarations").Service<any, Partial<any>>>;
|
|
4
|
+
export declare function eventMixin<A>(service: FeathersService<A>): FeathersService<A, import("./declarations").Service<any, Partial<any>, import("./declarations").Params<import("./declarations").Query>>>;
|
package/lib/events.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.eventMixin = exports.eventHook = void 0;
|
|
4
|
-
const
|
|
4
|
+
const events_1 = require("events");
|
|
5
5
|
const service_1 = require("./service");
|
|
6
6
|
function eventHook(context, next) {
|
|
7
|
-
const { events } = service_1.getServiceOptions(context.self);
|
|
7
|
+
const { events } = (0, service_1.getServiceOptions)(context.self);
|
|
8
8
|
const defaultEvent = service_1.defaultEventMap[context.method] || null;
|
|
9
9
|
context.event = defaultEvent;
|
|
10
10
|
return next().then(() => {
|
|
@@ -12,16 +12,15 @@ function eventHook(context, next) {
|
|
|
12
12
|
// This is used for custom events and for client services receiving event from the server
|
|
13
13
|
if (typeof context.event === 'string' && !events.includes(context.event)) {
|
|
14
14
|
const results = Array.isArray(context.result) ? context.result : [context.result];
|
|
15
|
-
results.forEach(element => context.self.emit(context.event, element, context));
|
|
15
|
+
results.forEach((element) => context.self.emit(context.event, element, context));
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
exports.eventHook = eventHook;
|
|
20
20
|
function eventMixin(service) {
|
|
21
|
-
const isEmitter = typeof service.on === 'function' &&
|
|
22
|
-
typeof service.emit === 'function';
|
|
21
|
+
const isEmitter = typeof service.on === 'function' && typeof service.emit === 'function';
|
|
23
22
|
if (!isEmitter) {
|
|
24
|
-
Object.assign(service,
|
|
23
|
+
Object.assign(service, events_1.EventEmitter.prototype);
|
|
25
24
|
}
|
|
26
25
|
return service;
|
|
27
26
|
}
|
package/lib/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAGrC,uCAA8D;AAE9D,SAAgB,SAAS,CAAC,OAAoB,EAAE,IAAkB;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,2BAAiB,EAAE,OAAe,CAAC,IAAI,CAAC,CAAA;IAC3D,MAAM,YAAY,GAAI,yBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;IAErE,OAAO,CAAC,KAAK,GAAG,YAAY,CAAA;IAE5B,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACtB,+FAA+F;QAC/F,yFAAyF;QACzF,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAEjF,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAE,OAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;SAC1F;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAfD,8BAeC;AAED,SAAgB,UAAU,CAAI,OAA2B;IACvD,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAA;IAExF,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAY,CAAC,SAAS,CAAC,CAAA;KAC/C;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AARD,gCAQC"}
|
package/lib/hooks.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { HookContextData, HookManager, Middleware } from '@feathersjs/hooks';
|
|
2
|
+
import { Service, ServiceOptions, HookContext, FeathersService, HookMap, AroundHookFunction, HookFunction } from './declarations';
|
|
3
|
+
declare type HookStore = {
|
|
4
|
+
around: {
|
|
5
|
+
[method: string]: AroundHookFunction[];
|
|
6
|
+
};
|
|
7
|
+
before: {
|
|
8
|
+
[method: string]: HookFunction[];
|
|
9
|
+
};
|
|
10
|
+
after: {
|
|
11
|
+
[method: string]: HookFunction[];
|
|
12
|
+
};
|
|
13
|
+
error: {
|
|
14
|
+
[method: string]: HookFunction[];
|
|
15
|
+
};
|
|
16
|
+
collected: {
|
|
17
|
+
[method: string]: AroundHookFunction[];
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
declare type HookEnabled = {
|
|
21
|
+
__hooks: HookStore;
|
|
22
|
+
};
|
|
23
|
+
export declare function convertHookData(input: any): {
|
|
24
|
+
[method: string]: AroundHookFunction<import("./declarations").Application<any, any>, Service<any, Partial<any>, import("./declarations").Params<import("./declarations").Query>>>[] | HookFunction<import("./declarations").Application<any, any>, Service<any, Partial<any>, import("./declarations").Params<import("./declarations").Query>>>[];
|
|
25
|
+
};
|
|
26
|
+
export declare function collectHooks(target: HookEnabled, method: string): AroundHookFunction<import("./declarations").Application<any, any>, Service<any, Partial<any>, import("./declarations").Params<import("./declarations").Query>>>[];
|
|
27
|
+
export declare function enableHooks(object: any): (this: HookEnabled, input: HookMap<any, any>) => HookEnabled;
|
|
28
|
+
export declare function createContext(service: Service, method: string, data?: HookContextData): HookContext<import("./declarations").Application<any, any>, any>;
|
|
29
|
+
export declare class FeathersHookManager<A> extends HookManager {
|
|
30
|
+
app: A;
|
|
31
|
+
method: string;
|
|
32
|
+
constructor(app: A, method: string);
|
|
33
|
+
collectMiddleware(self: any, args: any[]): Middleware[];
|
|
34
|
+
initializeContext(self: any, args: any[], context: HookContext): import("@feathersjs/hooks").HookContext<any, any>;
|
|
35
|
+
middleware(mw: Middleware[]): this;
|
|
36
|
+
}
|
|
37
|
+
export declare function hookMixin<A>(this: A, service: FeathersService<A>, path: string, options: ServiceOptions): FeathersService<A, Service<any, Partial<any>, import("./declarations").Params<import("./declarations").Query>>>;
|
|
38
|
+
export {};
|
package/lib/hooks.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hookMixin = exports.FeathersHookManager = exports.createContext = exports.enableHooks = exports.collectHooks = exports.convertHookData = void 0;
|
|
4
|
+
const hooks_1 = require("@feathersjs/hooks");
|
|
5
|
+
const service_1 = require("./service");
|
|
6
|
+
const types = ['before', 'after', 'error', 'around'];
|
|
7
|
+
const isType = (value) => types.includes(value);
|
|
8
|
+
// Converts different hook registration formats into the
|
|
9
|
+
// same internal format
|
|
10
|
+
function convertHookData(input) {
|
|
11
|
+
const result = {};
|
|
12
|
+
if (Array.isArray(input)) {
|
|
13
|
+
result.all = input;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof input !== 'object') {
|
|
16
|
+
result.all = [input];
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
for (const key of Object.keys(input)) {
|
|
20
|
+
const value = input[key];
|
|
21
|
+
result[key] = Array.isArray(value) ? value : [value];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
exports.convertHookData = convertHookData;
|
|
27
|
+
function collectHooks(target, method) {
|
|
28
|
+
const { collected, around } = target.__hooks;
|
|
29
|
+
return [
|
|
30
|
+
...(around.all || []),
|
|
31
|
+
...(around[method] || []),
|
|
32
|
+
...(collected.all || []),
|
|
33
|
+
...(collected[method] || [])
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
exports.collectHooks = collectHooks;
|
|
37
|
+
// Add `.hooks` functionality to an object
|
|
38
|
+
function enableHooks(object) {
|
|
39
|
+
const store = {
|
|
40
|
+
around: {},
|
|
41
|
+
before: {},
|
|
42
|
+
after: {},
|
|
43
|
+
error: {},
|
|
44
|
+
collected: {}
|
|
45
|
+
};
|
|
46
|
+
Object.defineProperty(object, '__hooks', {
|
|
47
|
+
configurable: true,
|
|
48
|
+
value: store,
|
|
49
|
+
writable: true
|
|
50
|
+
});
|
|
51
|
+
return function registerHooks(input) {
|
|
52
|
+
const store = this.__hooks;
|
|
53
|
+
const map = Object.keys(input).reduce((map, type) => {
|
|
54
|
+
if (!isType(type)) {
|
|
55
|
+
throw new Error(`'${type}' is not a valid hook type`);
|
|
56
|
+
}
|
|
57
|
+
map[type] = convertHookData(input[type]);
|
|
58
|
+
return map;
|
|
59
|
+
}, {});
|
|
60
|
+
const types = Object.keys(map);
|
|
61
|
+
types.forEach((type) => Object.keys(map[type]).forEach((method) => {
|
|
62
|
+
var _a;
|
|
63
|
+
const mapHooks = map[type][method];
|
|
64
|
+
const storeHooks = ((_a = store[type])[method] || (_a[method] = []));
|
|
65
|
+
storeHooks.push(...mapHooks);
|
|
66
|
+
if (store.before[method] || store.after[method] || store.error[method]) {
|
|
67
|
+
const collected = (0, hooks_1.collect)({
|
|
68
|
+
before: store.before[method] || [],
|
|
69
|
+
after: store.after[method] || [],
|
|
70
|
+
error: store.error[method] || []
|
|
71
|
+
});
|
|
72
|
+
store.collected[method] = [collected];
|
|
73
|
+
}
|
|
74
|
+
}));
|
|
75
|
+
return this;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
exports.enableHooks = enableHooks;
|
|
79
|
+
function createContext(service, method, data = {}) {
|
|
80
|
+
const createContext = service[method].createContext;
|
|
81
|
+
if (typeof createContext !== 'function') {
|
|
82
|
+
throw new Error(`Can not create context for method ${method}`);
|
|
83
|
+
}
|
|
84
|
+
return createContext(data);
|
|
85
|
+
}
|
|
86
|
+
exports.createContext = createContext;
|
|
87
|
+
class FeathersHookManager extends hooks_1.HookManager {
|
|
88
|
+
constructor(app, method) {
|
|
89
|
+
super();
|
|
90
|
+
this.app = app;
|
|
91
|
+
this.method = method;
|
|
92
|
+
this._middleware = [];
|
|
93
|
+
}
|
|
94
|
+
collectMiddleware(self, args) {
|
|
95
|
+
const appHooks = collectHooks(this.app, this.method);
|
|
96
|
+
const middleware = super.collectMiddleware(self, args);
|
|
97
|
+
const methodHooks = collectHooks(self, this.method);
|
|
98
|
+
return [...appHooks, ...middleware, ...methodHooks];
|
|
99
|
+
}
|
|
100
|
+
initializeContext(self, args, context) {
|
|
101
|
+
const ctx = super.initializeContext(self, args, context);
|
|
102
|
+
ctx.params = ctx.params || {};
|
|
103
|
+
return ctx;
|
|
104
|
+
}
|
|
105
|
+
middleware(mw) {
|
|
106
|
+
this._middleware.push(...mw);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.FeathersHookManager = FeathersHookManager;
|
|
111
|
+
function hookMixin(service, path, options) {
|
|
112
|
+
if (typeof service.hooks === 'function') {
|
|
113
|
+
return service;
|
|
114
|
+
}
|
|
115
|
+
const hookMethods = (0, service_1.getHookMethods)(service, options);
|
|
116
|
+
const serviceMethodHooks = hookMethods.reduce((res, method) => {
|
|
117
|
+
const params = service_1.defaultServiceArguments[method] || ['data', 'params'];
|
|
118
|
+
res[method] = new FeathersHookManager(this, method).params(...params).props({
|
|
119
|
+
app: this,
|
|
120
|
+
path,
|
|
121
|
+
method,
|
|
122
|
+
service,
|
|
123
|
+
event: null,
|
|
124
|
+
type: null,
|
|
125
|
+
get statusCode() {
|
|
126
|
+
var _a;
|
|
127
|
+
return (_a = this.http) === null || _a === void 0 ? void 0 : _a.status;
|
|
128
|
+
},
|
|
129
|
+
set statusCode(value) {
|
|
130
|
+
this.http = this.http || {};
|
|
131
|
+
this.http.status = value;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return res;
|
|
135
|
+
}, {});
|
|
136
|
+
const registerHooks = enableHooks(service);
|
|
137
|
+
(0, hooks_1.hooks)(service, serviceMethodHooks);
|
|
138
|
+
service.hooks = function (hookOptions) {
|
|
139
|
+
if (hookOptions.before || hookOptions.after || hookOptions.error || hookOptions.around) {
|
|
140
|
+
return registerHooks.call(this, hookOptions);
|
|
141
|
+
}
|
|
142
|
+
if (Array.isArray(hookOptions)) {
|
|
143
|
+
return (0, hooks_1.hooks)(this, hookOptions);
|
|
144
|
+
}
|
|
145
|
+
Object.keys(hookOptions).forEach((method) => {
|
|
146
|
+
const manager = (0, hooks_1.getManager)(this[method]);
|
|
147
|
+
if (!(manager instanceof FeathersHookManager)) {
|
|
148
|
+
throw new Error(`Method ${method} is not a Feathers hooks enabled service method`);
|
|
149
|
+
}
|
|
150
|
+
manager.middleware(hookOptions[method]);
|
|
151
|
+
});
|
|
152
|
+
return this;
|
|
153
|
+
};
|
|
154
|
+
return service;
|
|
155
|
+
}
|
|
156
|
+
exports.hookMixin = hookMixin;
|
|
157
|
+
//# sourceMappingURL=hooks.js.map
|
package/lib/hooks.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { Feathers } from './application';
|
|
|
3
3
|
import { Application } from './declarations';
|
|
4
4
|
export declare function feathers<T = any, S = any>(): Application<T, S>;
|
|
5
5
|
export declare namespace feathers {
|
|
6
|
-
var setDebug: typeof import("@feathersjs/commons
|
|
6
|
+
var setDebug: typeof import("@feathersjs/commons").setDebug;
|
|
7
7
|
}
|
|
8
8
|
export { version, Feathers };
|
|
9
|
-
export * from './hooks
|
|
9
|
+
export * from './hooks';
|
|
10
10
|
export * from './declarations';
|
|
11
11
|
export * from './service';
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,7 +18,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
18
|
};
|
|
15
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
20
|
exports.Feathers = exports.version = exports.feathers = void 0;
|
|
17
|
-
const
|
|
21
|
+
const commons_1 = require("@feathersjs/commons");
|
|
18
22
|
const version_1 = __importDefault(require("./version"));
|
|
19
23
|
exports.version = version_1.default;
|
|
20
24
|
const application_1 = require("./application");
|
|
@@ -23,8 +27,8 @@ function feathers() {
|
|
|
23
27
|
return new application_1.Feathers();
|
|
24
28
|
}
|
|
25
29
|
exports.feathers = feathers;
|
|
26
|
-
feathers.setDebug =
|
|
27
|
-
__exportStar(require("./hooks
|
|
30
|
+
feathers.setDebug = commons_1.setDebug;
|
|
31
|
+
__exportStar(require("./hooks"), exports);
|
|
28
32
|
__exportStar(require("./declarations"), exports);
|
|
29
33
|
__exportStar(require("./service"), exports);
|
|
30
34
|
if (typeof module !== 'undefined') {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iDAA8C;AAE9C,wDAA+B;AAUtB,kBAVF,iBAAO,CAUE;AAThB,+CAAwC;AAStB,yFATT,sBAAQ,OASS;AAN1B,SAAgB,QAAQ;IACtB,OAAO,IAAI,sBAAQ,EAA6B,CAAA;AAClD,CAAC;AAFD,4BAEC;AAED,QAAQ,CAAC,QAAQ,GAAG,kBAAQ,CAAA;AAG5B,0CAAuB;AACvB,iDAA8B;AAC9B,4CAAyB;AAEzB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CACzD"}
|
package/lib/service.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare const defaultEventMap: {
|
|
|
15
15
|
patch: string;
|
|
16
16
|
remove: string;
|
|
17
17
|
};
|
|
18
|
+
export declare const protectedMethods: string[];
|
|
18
19
|
export declare function getHookMethods(service: any, options: ServiceOptions): string[];
|
|
19
20
|
export declare function getServiceOptions(service: any, options?: ServiceOptions): ServiceOptions;
|
|
20
21
|
export declare function wrapService(location: string, service: any, options: ServiceOptions): any;
|
package/lib/service.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.wrapService = exports.getServiceOptions = exports.getHookMethods = exports.defaultEventMap = exports.defaultServiceMethods = exports.defaultServiceArguments = exports.SERVICE = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
3
|
+
exports.wrapService = exports.getServiceOptions = exports.getHookMethods = exports.protectedMethods = exports.defaultEventMap = exports.defaultServiceMethods = exports.defaultServiceArguments = exports.SERVICE = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
const commons_1 = require("@feathersjs/commons");
|
|
6
|
+
exports.SERVICE = (0, commons_1.createSymbol)('@feathersjs/service');
|
|
6
7
|
exports.defaultServiceArguments = {
|
|
7
8
|
find: ['params'],
|
|
8
9
|
get: ['id', 'params'],
|
|
@@ -11,16 +12,21 @@ exports.defaultServiceArguments = {
|
|
|
11
12
|
patch: ['id', 'data', 'params'],
|
|
12
13
|
remove: ['id', 'params']
|
|
13
14
|
};
|
|
14
|
-
exports.defaultServiceMethods =
|
|
15
|
+
exports.defaultServiceMethods = ['find', 'get', 'create', 'update', 'patch', 'remove'];
|
|
15
16
|
exports.defaultEventMap = {
|
|
16
17
|
create: 'created',
|
|
17
18
|
update: 'updated',
|
|
18
19
|
patch: 'patched',
|
|
19
20
|
remove: 'removed'
|
|
20
21
|
};
|
|
22
|
+
exports.protectedMethods = Object.keys(Object.prototype)
|
|
23
|
+
.concat(Object.keys(events_1.EventEmitter.prototype))
|
|
24
|
+
.concat(['all', 'around', 'before', 'after', 'error', 'hooks', 'setup', 'teardown', 'publish']);
|
|
21
25
|
function getHookMethods(service, options) {
|
|
22
26
|
const { methods } = options;
|
|
23
|
-
return exports.defaultServiceMethods
|
|
27
|
+
return exports.defaultServiceMethods
|
|
28
|
+
.filter((m) => typeof service[m] === 'function' && !methods.includes(m))
|
|
29
|
+
.concat(methods);
|
|
24
30
|
}
|
|
25
31
|
exports.getHookMethods = getHookMethods;
|
|
26
32
|
function getServiceOptions(service, options = {}) {
|
|
@@ -28,11 +34,14 @@ function getServiceOptions(service, options = {}) {
|
|
|
28
34
|
if (existingOptions) {
|
|
29
35
|
return existingOptions;
|
|
30
36
|
}
|
|
31
|
-
const { methods = exports.defaultServiceMethods.filter(method => typeof service[method] === 'function'), events = service.events || [] } = options;
|
|
37
|
+
const { methods = exports.defaultServiceMethods.filter((method) => typeof service[method] === 'function'), events = service.events || [] } = options;
|
|
32
38
|
const { serviceEvents = Object.values(exports.defaultEventMap).concat(events) } = options;
|
|
33
|
-
return
|
|
39
|
+
return {
|
|
40
|
+
...options,
|
|
41
|
+
events,
|
|
34
42
|
methods,
|
|
35
|
-
serviceEvents
|
|
43
|
+
serviceEvents
|
|
44
|
+
};
|
|
36
45
|
}
|
|
37
46
|
exports.getServiceOptions = getServiceOptions;
|
|
38
47
|
function wrapService(location, service, options) {
|
package/lib/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "5.0.0-pre.
|
|
1
|
+
declare const _default: "5.0.0-pre.31";
|
|
2
2
|
export default _default;
|
package/lib/version.js
CHANGED
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAA,kBAAe,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAA,kBAAe,cAAc,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feathersjs/feathers",
|
|
3
3
|
"description": "A framework for real-time applications and REST API with JavaScript and TypeScript",
|
|
4
|
-
"version": "5.0.0-pre.
|
|
4
|
+
"version": "5.0.0-pre.31",
|
|
5
5
|
"homepage": "http://feathersjs.com",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "git://github.com/feathersjs/feathers.git"
|
|
8
|
+
"url": "git://github.com/feathersjs/feathers.git",
|
|
9
|
+
"directory": "packages/feathers"
|
|
9
10
|
},
|
|
10
11
|
"keywords": [
|
|
11
12
|
"feathers",
|
|
@@ -41,14 +42,14 @@
|
|
|
41
42
|
"*.js"
|
|
42
43
|
],
|
|
43
44
|
"scripts": {
|
|
44
|
-
"write-version": "node -e \"console.log('export default \\'' + require('./package.json').version + '\\'
|
|
45
|
-
"reset-version": "node -e \"console.log('export default \\'development\\'
|
|
45
|
+
"write-version": "node -e \"console.log('export default \\'' + require('./package.json').version + '\\'')\" > src/version.ts",
|
|
46
|
+
"reset-version": "node -e \"console.log('export default \\'development\\'')\" > src/version.ts",
|
|
46
47
|
"prepublish": "npm run compile",
|
|
47
48
|
"version": "npm run write-version",
|
|
48
49
|
"publish": "npm run reset-version",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
50
|
+
"pack": "npm pack --pack-destination ../cli/test/build",
|
|
51
|
+
"compile": "shx rm -rf lib/ && tsc && npm run pack",
|
|
52
|
+
"test": "mocha --config ../../.mocharc.json --recursive test/"
|
|
52
53
|
},
|
|
53
54
|
"engines": {
|
|
54
55
|
"node": ">= 12"
|
|
@@ -57,17 +58,17 @@
|
|
|
57
58
|
"access": "public"
|
|
58
59
|
},
|
|
59
60
|
"dependencies": {
|
|
60
|
-
"@feathersjs/commons": "^5.0.0-pre.
|
|
61
|
-
"@feathersjs/hooks": "^0.
|
|
61
|
+
"@feathersjs/commons": "^5.0.0-pre.31",
|
|
62
|
+
"@feathersjs/hooks": "^0.7.5",
|
|
62
63
|
"events": "^3.3.0"
|
|
63
64
|
},
|
|
64
65
|
"devDependencies": {
|
|
65
|
-
"@types/mocha": "^
|
|
66
|
-
"@types/node": "^
|
|
67
|
-
"mocha": "^
|
|
68
|
-
"shx": "^0.3.
|
|
69
|
-
"ts-node": "^9.1
|
|
70
|
-
"typescript": "^4.
|
|
66
|
+
"@types/mocha": "^10.0.0",
|
|
67
|
+
"@types/node": "^18.8.2",
|
|
68
|
+
"mocha": "^10.0.0",
|
|
69
|
+
"shx": "^0.3.4",
|
|
70
|
+
"ts-node": "^10.9.1",
|
|
71
|
+
"typescript": "^4.8.4"
|
|
71
72
|
},
|
|
72
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "4500dbeb8cea566678cf88b3313a88efd93a2ed9"
|
|
73
74
|
}
|