@feathersjs/client 5.0.0-pre.11 → 5.0.0-pre.17

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/dist/core.js CHANGED
@@ -12,565 +12,491 @@ return /******/ (function() { // webpackBootstrap
12
12
  /******/ "use strict";
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ "../../node_modules/@feathersjs/hooks/lib/base.js":
16
- /*!********************************************************!*\
17
- !*** ../../node_modules/@feathersjs/hooks/lib/base.js ***!
18
- \********************************************************/
19
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
15
+ /***/ "../commons/lib/debug.js":
16
+ /*!*******************************!*\
17
+ !*** ../commons/lib/debug.js ***!
18
+ \*******************************/
19
+ /***/ (function(__unused_webpack_module, exports) {
20
20
 
21
21
 
22
22
 
23
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
23
+ Object.defineProperty(exports, "__esModule", ({
24
+ value: true
25
+ }));
26
+ exports.createDebug = exports.setDebug = exports.noopDebug = void 0;
27
+ var debuggers = {};
24
28
 
25
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
+ function noopDebug() {
30
+ return function () {};
31
+ }
26
32
 
27
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
33
+ exports.noopDebug = noopDebug;
34
+ var defaultInitializer = noopDebug;
28
35
 
29
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
36
+ function setDebug(debug) {
37
+ defaultInitializer = debug;
38
+ Object.keys(debuggers).forEach(function (name) {
39
+ debuggers[name] = debug(name);
40
+ });
41
+ }
30
42
 
31
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
43
+ exports.setDebug = setDebug;
32
44
 
33
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
45
+ function createDebug(name) {
46
+ if (!debuggers[name]) {
47
+ debuggers[name] = defaultInitializer(name);
48
+ }
34
49
 
35
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
50
+ return function () {
51
+ return debuggers[name].apply(debuggers, arguments);
52
+ };
53
+ }
36
54
 
37
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
55
+ exports.createDebug = createDebug;
38
56
 
39
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
57
+ /***/ }),
40
58
 
41
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
59
+ /***/ "../commons/lib/index.js":
60
+ /*!*******************************!*\
61
+ !*** ../commons/lib/index.js ***!
62
+ \*******************************/
63
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
42
64
 
43
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
44
65
 
45
- Object.defineProperty(exports, "__esModule", ({
46
- value: true
47
- }));
48
- exports.setMiddleware = exports.getMiddleware = exports.setManager = exports.getManager = exports.convertOptions = exports.HookManager = exports.BaseHookContext = exports.HOOKS = void 0;
49
66
 
50
- var utils_1 = __webpack_require__(/*! ./utils */ "../../node_modules/@feathersjs/hooks/lib/utils.js");
67
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
51
68
 
52
- exports.HOOKS = Symbol('@feathersjs/hooks');
53
- /**
54
- * The base hook context.
55
- */
69
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
56
70
 
57
- var BaseHookContext = function BaseHookContext() {
58
- var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
71
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
59
72
 
60
- _classCallCheck(this, BaseHookContext);
73
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
61
74
 
62
- Object.defineProperty(this, "self", {
75
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
76
+
77
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
78
+
79
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
80
+
81
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
82
+
83
+ var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
84
+ if (k2 === undefined) k2 = k;
85
+ Object.defineProperty(o, k2, {
63
86
  enumerable: true,
64
- configurable: true,
65
- writable: true,
66
- value: void 0
87
+ get: function get() {
88
+ return m[k];
89
+ }
67
90
  });
68
- Object.assign(this, data);
91
+ } : function (o, m, k, k2) {
92
+ if (k2 === undefined) k2 = k;
93
+ o[k2] = m[k];
94
+ });
95
+
96
+ var __exportStar = this && this.__exportStar || function (m, exports) {
97
+ for (var p in m) {
98
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
99
+ }
69
100
  };
70
101
 
71
- exports.BaseHookContext = BaseHookContext;
102
+ Object.defineProperty(exports, "__esModule", ({
103
+ value: true
104
+ }));
105
+ exports.createSymbol = exports.isPromise = exports._ = exports.stripSlashes = void 0; // Removes all leading and trailing slashes from a path
72
106
 
73
- var HookManager = /*#__PURE__*/function () {
74
- function HookManager() {
75
- _classCallCheck(this, HookManager);
107
+ function stripSlashes(name) {
108
+ return name.replace(/^(\/+)|(\/+)$/g, '');
109
+ }
76
110
 
77
- Object.defineProperty(this, "_parent", {
78
- enumerable: true,
79
- configurable: true,
80
- writable: true,
81
- value: null
82
- });
83
- Object.defineProperty(this, "_params", {
84
- enumerable: true,
85
- configurable: true,
86
- writable: true,
87
- value: null
111
+ exports.stripSlashes = stripSlashes; // A set of lodash-y utility functions that use ES6
112
+
113
+ exports._ = {
114
+ each: function each(obj, callback) {
115
+ if (obj && typeof obj.forEach === 'function') {
116
+ obj.forEach(callback);
117
+ } else if (exports._.isObject(obj)) {
118
+ Object.keys(obj).forEach(function (key) {
119
+ return callback(obj[key], key);
120
+ });
121
+ }
122
+ },
123
+ some: function some(value, callback) {
124
+ return Object.keys(value).map(function (key) {
125
+ return [value[key], key];
126
+ }).some(function (_ref) {
127
+ var _ref2 = _slicedToArray(_ref, 2),
128
+ val = _ref2[0],
129
+ key = _ref2[1];
130
+
131
+ return callback(val, key);
88
132
  });
89
- Object.defineProperty(this, "_middleware", {
90
- enumerable: true,
91
- configurable: true,
92
- writable: true,
93
- value: null
133
+ },
134
+ every: function every(value, callback) {
135
+ return Object.keys(value).map(function (key) {
136
+ return [value[key], key];
137
+ }).every(function (_ref3) {
138
+ var _ref4 = _slicedToArray(_ref3, 2),
139
+ val = _ref4[0],
140
+ key = _ref4[1];
141
+
142
+ return callback(val, key);
94
143
  });
95
- Object.defineProperty(this, "_props", {
96
- enumerable: true,
97
- configurable: true,
98
- writable: true,
99
- value: null
144
+ },
145
+ keys: function keys(obj) {
146
+ return Object.keys(obj);
147
+ },
148
+ values: function values(obj) {
149
+ return exports._.keys(obj).map(function (key) {
150
+ return obj[key];
100
151
  });
101
- Object.defineProperty(this, "_defaults", {
102
- enumerable: true,
103
- configurable: true,
104
- writable: true,
105
- value: void 0
152
+ },
153
+ isMatch: function isMatch(obj, item) {
154
+ return exports._.keys(item).every(function (key) {
155
+ return obj[key] === item[key];
106
156
  });
107
- }
108
-
109
- _createClass(HookManager, [{
110
- key: "parent",
111
- value: function parent(_parent) {
112
- this._parent = _parent;
113
- return this;
114
- }
115
- }, {
116
- key: "middleware",
117
- value: function middleware(_middleware) {
118
- this._middleware = (_middleware === null || _middleware === void 0 ? void 0 : _middleware.length) ? _middleware : null;
119
- return this;
157
+ },
158
+ isEmpty: function isEmpty(obj) {
159
+ return exports._.keys(obj).length === 0;
160
+ },
161
+ isObject: function isObject(item) {
162
+ return _typeof(item) === 'object' && !Array.isArray(item) && item !== null;
163
+ },
164
+ isObjectOrArray: function isObjectOrArray(value) {
165
+ return _typeof(value) === 'object' && value !== null;
166
+ },
167
+ extend: function extend(first) {
168
+ for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
169
+ rest[_key - 1] = arguments[_key];
120
170
  }
121
- }, {
122
- key: "getMiddleware",
123
- value: function getMiddleware() {
124
- var _a;
125
171
 
126
- var previous = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.getMiddleware();
172
+ return Object.assign.apply(Object, [first].concat(rest));
173
+ },
174
+ omit: function omit(obj) {
175
+ var result = exports._.extend({}, obj);
127
176
 
128
- if (previous && this._middleware) {
129
- return previous.concat(this._middleware);
130
- }
177
+ for (var _len2 = arguments.length, keys = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
178
+ keys[_key2 - 1] = arguments[_key2];
179
+ }
131
180
 
132
- return previous || this._middleware;
181
+ keys.forEach(function (key) {
182
+ return delete result[key];
183
+ });
184
+ return result;
185
+ },
186
+ pick: function pick(source) {
187
+ for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
188
+ keys[_key3 - 1] = arguments[_key3];
133
189
  }
134
- }, {
135
- key: "collectMiddleware",
136
- value: function collectMiddleware(self, _args) {
137
- var otherMiddleware = getMiddleware(self);
138
- var middleware = this.getMiddleware();
139
190
 
140
- if (otherMiddleware && middleware) {
141
- return otherMiddleware.concat(middleware);
191
+ return keys.reduce(function (result, key) {
192
+ if (source[key] !== undefined) {
193
+ result[key] = source[key];
142
194
  }
143
195
 
144
- return otherMiddleware || middleware || [];
145
- }
146
- }, {
147
- key: "props",
148
- value: function props(_props) {
149
- if (!this._props) {
150
- this._props = {};
151
- }
196
+ return result;
197
+ }, {});
198
+ },
199
+ // Recursively merge the source object into the target object
200
+ merge: function merge(target, source) {
201
+ if (exports._.isObject(target) && exports._.isObject(source)) {
202
+ Object.keys(source).forEach(function (key) {
203
+ if (exports._.isObject(source[key])) {
204
+ if (!target[key]) {
205
+ Object.assign(target, _defineProperty({}, key, {}));
206
+ }
152
207
 
153
- utils_1.copyProperties(this._props, _props);
154
- return this;
208
+ exports._.merge(target[key], source[key]);
209
+ } else {
210
+ Object.assign(target, _defineProperty({}, key, source[key]));
211
+ }
212
+ });
155
213
  }
156
- }, {
157
- key: "getProps",
158
- value: function getProps() {
159
- var _a;
160
214
 
161
- var previous = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.getProps();
215
+ return target;
216
+ }
217
+ }; // Duck-checks if an object looks like a promise
162
218
 
163
- if (previous && this._props) {
164
- return utils_1.copyProperties({}, previous, this._props);
165
- }
219
+ function isPromise(result) {
220
+ return exports._.isObject(result) && typeof result.then === 'function';
221
+ }
166
222
 
167
- return previous || this._props || null;
168
- }
169
- }, {
170
- key: "params",
171
- value: function params() {
172
- for (var _len = arguments.length, _params = new Array(_len), _key = 0; _key < _len; _key++) {
173
- _params[_key] = arguments[_key];
174
- }
223
+ exports.isPromise = isPromise;
175
224
 
176
- this._params = _params;
177
- return this;
178
- }
179
- }, {
180
- key: "getParams",
181
- value: function getParams() {
182
- var _a;
225
+ function createSymbol(name) {
226
+ return typeof Symbol !== 'undefined' ? Symbol(name) : name;
227
+ }
183
228
 
184
- var previous = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.getParams();
229
+ exports.createSymbol = createSymbol;
185
230
 
186
- if (previous && this._params) {
187
- return previous.concat(this._params);
188
- }
231
+ __exportStar(__webpack_require__(/*! ./debug */ "../commons/lib/debug.js"), exports);
189
232
 
190
- return previous || this._params;
191
- }
192
- }, {
193
- key: "defaults",
194
- value: function defaults(_defaults) {
195
- this._defaults = _defaults;
196
- return this;
197
- }
198
- }, {
199
- key: "getDefaults",
200
- value: function getDefaults(self, args, context) {
201
- var _a;
233
+ /***/ }),
202
234
 
203
- var defaults = typeof this._defaults === 'function' ? this._defaults(self, args, context) : null;
204
- var previous = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.getDefaults(self, args, context);
235
+ /***/ "../feathers/lib/application.js":
236
+ /*!**************************************!*\
237
+ !*** ../feathers/lib/application.js ***!
238
+ \**************************************/
239
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
205
240
 
206
- if (previous && defaults) {
207
- return Object.assign({}, previous, defaults);
208
- }
209
241
 
210
- return previous || defaults;
211
- }
212
- }, {
213
- key: "getContextClass",
214
- value: function getContextClass() {
215
- var Base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : BaseHookContext;
216
242
 
217
- var ContextClass = /*#__PURE__*/function (_Base) {
218
- _inherits(ContextClass, _Base);
243
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
219
244
 
220
- var _super = _createSuper(ContextClass);
245
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
221
246
 
222
- function ContextClass(data) {
223
- var _this;
247
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
224
248
 
225
- _classCallCheck(this, ContextClass);
249
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
226
250
 
227
- _this = _super.call(this, data);
228
- utils_1.copyToSelf(_assertThisInitialized(_this));
229
- return _this;
230
- }
251
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
231
252
 
232
- return ContextClass;
233
- }(Base);
253
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
234
254
 
235
- var params = this.getParams();
236
- var props = this.getProps();
255
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
237
256
 
238
- if (params) {
239
- params.forEach(function (name, index) {
240
- if ((props === null || props === void 0 ? void 0 : props[name]) !== undefined) {
241
- throw new Error("Hooks can not have a property and param named '".concat(name, "'. Use .defaults instead."));
242
- }
257
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
243
258
 
244
- Object.defineProperty(ContextClass.prototype, name, {
245
- enumerable: true,
246
- get: function get() {
247
- return this === null || this === void 0 ? void 0 : this.arguments[index];
248
- },
249
- set: function set(value) {
250
- this.arguments[index] = value;
251
- }
252
- });
253
- });
254
- }
259
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
255
260
 
256
- if (props) {
257
- utils_1.copyProperties(ContextClass.prototype, props);
258
- }
261
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
259
262
 
260
- return ContextClass;
261
- }
262
- }, {
263
- key: "initializeContext",
264
- value: function initializeContext(self, args, context) {
265
- var ctx = this._parent ? this._parent.initializeContext(self, args, context) : context;
266
- var defaults = this.getDefaults(self, args, ctx);
263
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
267
264
 
268
- if (self) {
269
- ctx.self = self;
270
- }
265
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
271
266
 
272
- ctx.arguments = args;
267
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
273
268
 
274
- if (defaults) {
275
- for (var _i = 0, _Object$keys = Object.keys(defaults); _i < _Object$keys.length; _i++) {
276
- var name = _Object$keys[_i];
269
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
277
270
 
278
- if (ctx[name] === undefined) {
279
- ctx[name] = defaults[name];
280
- }
281
- }
282
- }
271
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
283
272
 
284
- return ctx;
285
- }
286
- }]);
273
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
287
274
 
288
- return HookManager;
289
- }();
275
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
290
276
 
291
- exports.HookManager = HookManager;
277
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
292
278
 
293
- function convertOptions() {
294
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
279
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
295
280
 
296
- if (!options) {
297
- return new HookManager();
298
- }
281
+ var __importDefault = this && this.__importDefault || function (mod) {
282
+ return mod && mod.__esModule ? mod : {
283
+ "default": mod
284
+ };
285
+ };
299
286
 
300
- return Array.isArray(options) ? new HookManager().middleware(options) : options;
301
- }
287
+ Object.defineProperty(exports, "__esModule", ({
288
+ value: true
289
+ }));
290
+ exports.Feathers = void 0;
302
291
 
303
- exports.convertOptions = convertOptions;
292
+ var version_1 = __importDefault(__webpack_require__(/*! ./version */ "../feathers/lib/version.js"));
304
293
 
305
- function getManager(target) {
306
- return target && target[exports.HOOKS] || null;
307
- }
294
+ var dependencies_1 = __webpack_require__(/*! ./dependencies */ "../feathers/lib/dependencies.js");
308
295
 
309
- exports.getManager = getManager;
296
+ var events_1 = __webpack_require__(/*! ./events */ "../feathers/lib/events.js");
310
297
 
311
- function setManager(target, manager) {
312
- var parent = getManager(target);
313
- target[exports.HOOKS] = manager.parent(parent);
314
- return target;
315
- }
298
+ var index_1 = __webpack_require__(/*! ./hooks/index */ "../feathers/lib/hooks/index.js");
316
299
 
317
- exports.setManager = setManager;
300
+ var service_1 = __webpack_require__(/*! ./service */ "../feathers/lib/service.js");
318
301
 
319
- function getMiddleware(target) {
320
- var manager = getManager(target);
321
- return manager ? manager.getMiddleware() : null;
322
- }
302
+ var regular_1 = __webpack_require__(/*! ./hooks/regular */ "../feathers/lib/hooks/regular.js");
323
303
 
324
- exports.getMiddleware = getMiddleware;
304
+ var debug = (0, dependencies_1.createDebug)('@feathersjs/feathers');
325
305
 
326
- function setMiddleware(target, middleware) {
327
- var manager = new HookManager().middleware(middleware);
328
- return setManager(target, manager);
329
- }
306
+ var Feathers = /*#__PURE__*/function (_dependencies_1$Event) {
307
+ _inherits(Feathers, _dependencies_1$Event);
330
308
 
331
- exports.setMiddleware = setMiddleware;
309
+ var _super = _createSuper(Feathers);
332
310
 
333
- /***/ }),
311
+ function Feathers() {
312
+ var _this;
334
313
 
335
- /***/ "../../node_modules/@feathersjs/hooks/lib/compose.js":
336
- /*!***********************************************************!*\
337
- !*** ../../node_modules/@feathersjs/hooks/lib/compose.js ***!
338
- \***********************************************************/
339
- /***/ (function(__unused_webpack_module, exports) {
314
+ _classCallCheck(this, Feathers);
340
315
 
316
+ _this = _super.call(this);
317
+ _this.services = {};
318
+ _this.settings = {};
319
+ _this.mixins = [index_1.hookMixin, events_1.eventMixin];
320
+ _this.version = version_1.default;
321
+ _this._isSetup = false;
322
+ _this.appHooks = _defineProperty({}, dependencies_1.HOOKS, [events_1.eventHook]);
323
+ _this.regularHooks = (0, regular_1.enableRegularHooks)(_assertThisInitialized(_this));
324
+ return _this;
325
+ }
341
326
 
327
+ _createClass(Feathers, [{
328
+ key: "get",
329
+ value: function get(name) {
330
+ return this.settings[name];
331
+ }
332
+ }, {
333
+ key: "set",
334
+ value: function set(name, value) {
335
+ this.settings[name] = value;
336
+ return this;
337
+ }
338
+ }, {
339
+ key: "configure",
340
+ value: function configure(callback) {
341
+ callback.call(this, this);
342
+ return this;
343
+ }
344
+ }, {
345
+ key: "defaultService",
346
+ value: function defaultService(location) {
347
+ throw new Error("Can not find service '".concat(location, "'"));
348
+ }
349
+ }, {
350
+ key: "service",
351
+ value: function service(location) {
352
+ var path = (0, dependencies_1.stripSlashes)(location) || '/';
353
+ var current = this.services[path];
342
354
 
343
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
355
+ if (typeof current === 'undefined') {
356
+ this.use(path, this.defaultService(path));
357
+ return this.service(path);
358
+ }
344
359
 
345
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
360
+ return current;
361
+ }
362
+ }, {
363
+ key: "use",
364
+ value: function use(path, service, options) {
365
+ var _this2 = this;
346
366
 
347
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
367
+ if (typeof path !== 'string') {
368
+ throw new Error("'".concat(path, "' is not a valid service path."));
369
+ }
348
370
 
349
- Object.defineProperty(exports, "__esModule", ({
350
- value: true
351
- }));
352
- exports.compose = void 0;
371
+ var location = (0, dependencies_1.stripSlashes)(path) || '/';
372
+ var subApp = service;
373
+ var isSubApp = typeof subApp.service === 'function' && subApp.services;
353
374
 
354
- function compose(middleware) {
355
- if (!Array.isArray(middleware)) {
356
- throw new TypeError('Middleware stack must be an array!');
357
- }
375
+ if (isSubApp) {
376
+ Object.keys(subApp.services).forEach(function (subPath) {
377
+ return _this2.use("".concat(location, "/").concat(subPath), subApp.service(subPath));
378
+ });
379
+ return this;
380
+ }
358
381
 
359
- var _iterator = _createForOfIteratorHelper(middleware),
360
- _step;
382
+ var protoService = (0, service_1.wrapService)(location, service, options);
383
+ var serviceOptions = (0, service_1.getServiceOptions)(protoService);
361
384
 
362
- try {
363
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
364
- var fn = _step.value;
365
-
366
- if (typeof fn !== 'function') {
367
- throw new TypeError('Middleware must be composed of functions!');
368
- }
369
- }
370
- } catch (err) {
371
- _iterator.e(err);
372
- } finally {
373
- _iterator.f();
374
- }
375
-
376
- return function (context, next) {
377
- // last called middleware #
378
- var index = -1;
379
- return dispatch.call(this, 0);
380
-
381
- function dispatch(i) {
382
- if (i <= index) {
383
- return Promise.reject(new Error('next() called multiple times'));
384
- }
385
-
386
- index = i;
387
- var fn = middleware[i];
388
-
389
- if (i === middleware.length) {
390
- fn = next;
391
- }
392
-
393
- if (!fn) {
394
- return Promise.resolve();
395
- }
385
+ var _iterator = _createForOfIteratorHelper(service_1.protectedMethods),
386
+ _step;
396
387
 
397
388
  try {
398
- return Promise.resolve(fn.call(this, context, dispatch.bind(this, i + 1)));
389
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
390
+ var name = _step.value;
391
+
392
+ if (serviceOptions.methods.includes(name)) {
393
+ throw new Error("'".concat(name, "' on service '").concat(location, "' is not allowed as a custom method name"));
394
+ }
395
+ }
399
396
  } catch (err) {
400
- return Promise.reject(err);
397
+ _iterator.e(err);
398
+ } finally {
399
+ _iterator.f();
401
400
  }
402
- }
403
- };
404
- }
405
-
406
- exports.compose = compose;
407
-
408
- /***/ }),
409
-
410
- /***/ "../../node_modules/@feathersjs/hooks/lib/hooks.js":
411
- /*!*********************************************************!*\
412
- !*** ../../node_modules/@feathersjs/hooks/lib/hooks.js ***!
413
- \*********************************************************/
414
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
415
-
416
-
417
-
418
- Object.defineProperty(exports, "__esModule", ({
419
- value: true
420
- }));
421
- exports.hookDecorator = exports.objectHooks = exports.functionHooks = exports.getOriginal = void 0;
422
-
423
- var compose_1 = __webpack_require__(/*! ./compose */ "../../node_modules/@feathersjs/hooks/lib/compose.js");
424
-
425
- var base_1 = __webpack_require__(/*! ./base */ "../../node_modules/@feathersjs/hooks/lib/base.js");
426
-
427
- var utils_1 = __webpack_require__(/*! ./utils */ "../../node_modules/@feathersjs/hooks/lib/utils.js");
428
401
 
429
- function getOriginal(fn) {
430
- return typeof fn.original === 'function' ? getOriginal(fn.original) : fn;
431
- }
432
-
433
- exports.getOriginal = getOriginal;
434
-
435
- function functionHooks(fn, managerOrMiddleware) {
436
- if (typeof fn !== 'function') {
437
- throw new Error('Can not apply hooks to non-function');
438
- }
439
-
440
- var manager = base_1.convertOptions(managerOrMiddleware);
402
+ debug("Registering new service at `".concat(location, "`")); // Add all the mixins
441
403
 
442
- var wrapper = function wrapper() {
443
- var _this = this;
404
+ this.mixins.forEach(function (fn) {
405
+ return fn.call(_this2, protoService, location, serviceOptions);
406
+ }); // If we ran setup already, set this service up explicitly, this will not `await`
444
407
 
445
- var Context = wrapper.Context,
446
- original = wrapper.original; // If we got passed an existing HookContext instance, we want to return it as well
408
+ if (this._isSetup && typeof protoService.setup === 'function') {
409
+ debug("Setting up service for `".concat(location, "`"));
410
+ protoService.setup(this, location);
411
+ }
447
412
 
448
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
449
- args[_key] = arguments[_key];
413
+ this.services[location] = protoService;
414
+ return this;
450
415
  }
416
+ }, {
417
+ key: "hooks",
418
+ value: function hooks(hookMap) {
419
+ var _this3 = this;
451
420
 
452
- var returnContext = args[args.length - 1] instanceof Context; // Use existing context or default
453
-
454
- var base = returnContext ? args.pop() : new Context(); // Initialize the context
455
-
456
- var context = manager.initializeContext(this, args, base); // Assemble the hook chain
457
-
458
- var hookChain = [// Return `ctx.result` or the context
459
- function (ctx, next) {
460
- return next().then(function () {
461
- return returnContext ? ctx : ctx.result;
462
- });
463
- }]; // Create the hook chain by calling the `collectMiddleware function
464
-
465
- var mw = manager.collectMiddleware(this, args);
421
+ var regularMap = hookMap;
466
422
 
467
- if (mw) {
468
- Array.prototype.push.apply(hookChain, mw);
469
- } // Runs the actual original method if `ctx.result` is not already set
423
+ if (regularMap.before || regularMap.after || regularMap.error) {
424
+ return this.regularHooks(regularMap);
425
+ }
470
426
 
427
+ if (Array.isArray(hookMap)) {
428
+ var _this$appHooks$depend;
471
429
 
472
- hookChain.push(function (ctx, next) {
473
- if (!Object.prototype.hasOwnProperty.call(context, 'result')) {
474
- return Promise.resolve(original.apply(_this, ctx.arguments)).then(function (result) {
475
- ctx.result = result;
476
- return next();
430
+ (_this$appHooks$depend = this.appHooks[dependencies_1.HOOKS]).push.apply(_this$appHooks$depend, _toConsumableArray(hookMap));
431
+ } else {
432
+ var methodHookMap = hookMap;
433
+ Object.keys(methodHookMap).forEach(function (key) {
434
+ var methodHooks = _this3.appHooks[key] || [];
435
+ _this3.appHooks[key] = methodHooks.concat(methodHookMap[key]);
477
436
  });
478
437
  }
479
438
 
480
- return next();
481
- });
482
- return compose_1.compose(hookChain).call(this, context);
483
- };
484
-
485
- utils_1.copyFnProperties(wrapper, fn);
486
- utils_1.copyProperties(wrapper, fn);
487
- base_1.setManager(wrapper, manager);
488
- return Object.assign(wrapper, {
489
- original: getOriginal(fn),
490
- Context: manager.getContextClass(),
491
- createContext: function createContext() {
492
- var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
493
- return new wrapper.Context(data);
439
+ return this;
494
440
  }
495
- });
496
- }
441
+ }, {
442
+ key: "setup",
443
+ value: function setup() {
444
+ var _this4 = this;
497
445
 
498
- exports.functionHooks = functionHooks;
499
- ;
446
+ var promise = Promise.resolve(); // Setup each service (pass the app so that they can look up other services etc.)
500
447
 
501
- function objectHooks(_obj, hooks) {
502
- var obj = typeof _obj === 'function' ? _obj.prototype : _obj;
448
+ var _loop = function _loop() {
449
+ var path = _Object$keys[_i];
450
+ promise = promise.then(function () {
451
+ var service = _this4.service(path);
503
452
 
504
- if (Array.isArray(hooks)) {
505
- return base_1.setMiddleware(obj, hooks);
506
- }
453
+ if (typeof service.setup === 'function') {
454
+ debug("Setting up service for `".concat(path, "`"));
455
+ return service.setup(_this4, path);
456
+ }
457
+ });
458
+ };
507
459
 
508
- return Object.keys(hooks).reduce(function (result, method) {
509
- var fn = obj[method];
460
+ for (var _i = 0, _Object$keys = Object.keys(this.services); _i < _Object$keys.length; _i++) {
461
+ _loop();
462
+ }
510
463
 
511
- if (typeof fn !== 'function') {
512
- throw new Error("Can not apply hooks. '".concat(method, "' is not a function"));
464
+ return promise.then(function () {
465
+ _this4._isSetup = true;
466
+ return _this4;
467
+ });
513
468
  }
469
+ }]);
514
470
 
515
- var manager = base_1.convertOptions(hooks[method]);
516
- result[method] = functionHooks(fn, manager.props({
517
- method: method
518
- }));
519
- return result;
520
- }, obj);
521
- }
522
-
523
- exports.objectHooks = objectHooks;
524
- ;
525
-
526
- var hookDecorator = function hookDecorator(managerOrMiddleware) {
527
- var wrapper = function wrapper(_target, method, descriptor) {
528
- var manager = base_1.convertOptions(managerOrMiddleware);
471
+ return Feathers;
472
+ }(dependencies_1.EventEmitter);
529
473
 
530
- if (!descriptor) {
531
- base_1.setManager(_target.prototype, manager);
532
- return _target;
533
- }
474
+ exports.Feathers = Feathers;
534
475
 
535
- var fn = descriptor.value;
476
+ /***/ }),
536
477
 
537
- if (typeof fn !== 'function') {
538
- throw new Error("Can not apply hooks. '".concat(method, "' is not a function"));
539
- }
478
+ /***/ "../feathers/lib/declarations.js":
479
+ /*!***************************************!*\
480
+ !*** ../feathers/lib/declarations.js ***!
481
+ \***************************************/
482
+ /***/ (function(__unused_webpack_module, exports) {
540
483
 
541
- descriptor.value = functionHooks(fn, manager.props({
542
- method: method
543
- }));
544
- return descriptor;
545
- };
546
484
 
547
- return wrapper;
548
- };
549
485
 
550
- exports.hookDecorator = hookDecorator;
486
+ Object.defineProperty(exports, "__esModule", ({
487
+ value: true
488
+ }));
551
489
 
552
490
  /***/ }),
553
491
 
554
- /***/ "../../node_modules/@feathersjs/hooks/lib/index.js":
555
- /*!*********************************************************!*\
556
- !*** ../../node_modules/@feathersjs/hooks/lib/index.js ***!
557
- \*********************************************************/
492
+ /***/ "../feathers/lib/dependencies.js":
493
+ /*!***************************************!*\
494
+ !*** ../feathers/lib/dependencies.js ***!
495
+ \***************************************/
558
496
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
559
497
 
560
498
 
561
499
 
562
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
563
-
564
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
565
-
566
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
567
-
568
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
569
-
570
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
571
-
572
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
573
-
574
500
  var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
575
501
  if (k2 === undefined) k2 = k;
576
502
  Object.defineProperty(o, k2, {
@@ -593,401 +519,309 @@ var __exportStar = this && this.__exportStar || function (m, exports) {
593
519
  Object.defineProperty(exports, "__esModule", ({
594
520
  value: true
595
521
  }));
596
- exports.hooks = exports.middleware = void 0;
522
+ exports.EventEmitter = void 0;
597
523
 
598
- var base_1 = __webpack_require__(/*! ./base */ "../../node_modules/@feathersjs/hooks/lib/base.js");
524
+ var events_1 = __webpack_require__(/*! events */ "../../node_modules/events/events.js");
599
525
 
600
- var hooks_1 = __webpack_require__(/*! ./hooks */ "../../node_modules/@feathersjs/hooks/lib/hooks.js");
526
+ Object.defineProperty(exports, "EventEmitter", ({
527
+ enumerable: true,
528
+ get: function get() {
529
+ return events_1.EventEmitter;
530
+ }
531
+ }));
601
532
 
602
- __exportStar(__webpack_require__(/*! ./hooks */ "../../node_modules/@feathersjs/hooks/lib/hooks.js"), exports);
533
+ __exportStar(__webpack_require__(/*! @feathersjs/commons */ "../commons/lib/index.js"), exports);
603
534
 
604
- __exportStar(__webpack_require__(/*! ./compose */ "../../node_modules/@feathersjs/hooks/lib/compose.js"), exports);
535
+ __exportStar(__webpack_require__(/*! @feathersjs/hooks */ "../../node_modules/@feathersjs/hooks/script/index.js"), exports);
605
536
 
606
- __exportStar(__webpack_require__(/*! ./base */ "../../node_modules/@feathersjs/hooks/lib/base.js"), exports);
607
- /**
608
- * Initializes a hook settings object with the given middleware.
609
- * @param mw The list of middleware
610
- * @param options Middleware options (params, default, props)
611
- */
537
+ /***/ }),
612
538
 
539
+ /***/ "../feathers/lib/events.js":
540
+ /*!*********************************!*\
541
+ !*** ../feathers/lib/events.js ***!
542
+ \*********************************/
543
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
613
544
 
614
- function middleware(mw, options) {
615
- var manager = new base_1.HookManager().middleware(mw);
616
545
 
617
- if (options) {
618
- if (options.params) {
619
- manager.params.apply(manager, _toConsumableArray(options.params));
620
- }
621
546
 
622
- if (options.defaults) {
623
- manager.defaults(options.defaults);
624
- }
547
+ Object.defineProperty(exports, "__esModule", ({
548
+ value: true
549
+ }));
550
+ exports.eventMixin = exports.eventHook = void 0;
625
551
 
626
- if (options.props) {
627
- manager.props(options.props);
628
- }
629
- }
552
+ var dependencies_1 = __webpack_require__(/*! ./dependencies */ "../feathers/lib/dependencies.js");
630
553
 
631
- return manager;
632
- }
554
+ var service_1 = __webpack_require__(/*! ./service */ "../feathers/lib/service.js");
633
555
 
634
- exports.middleware = middleware; // Fallthrough to actual implementation
556
+ function eventHook(context, next) {
557
+ var _ref = (0, service_1.getServiceOptions)(context.self),
558
+ events = _ref.events;
635
559
 
636
- function hooks() {
637
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
638
- args[_key] = arguments[_key];
639
- }
560
+ var defaultEvent = service_1.defaultEventMap[context.method] || null;
561
+ context.event = defaultEvent;
562
+ return next().then(function () {
563
+ // Send the event only if the service does not do so already (indicated in the `events` option)
564
+ // This is used for custom events and for client services receiving event from the server
565
+ if (typeof context.event === 'string' && !events.includes(context.event)) {
566
+ var results = Array.isArray(context.result) ? context.result : [context.result];
567
+ results.forEach(function (element) {
568
+ return context.self.emit(context.event, element, context);
569
+ });
570
+ }
571
+ });
572
+ }
640
573
 
641
- var target = args[0],
642
- _hooks = args[1];
574
+ exports.eventHook = eventHook;
643
575
 
644
- if (typeof target === 'function' && (_hooks instanceof base_1.HookManager || Array.isArray(_hooks) || args.length === 1)) {
645
- return hooks_1.functionHooks(target, _hooks);
646
- }
576
+ function eventMixin(service) {
577
+ var isEmitter = typeof service.on === 'function' && typeof service.emit === 'function';
647
578
 
648
- if (args.length === 2) {
649
- return hooks_1.objectHooks(target, _hooks);
579
+ if (!isEmitter) {
580
+ Object.assign(service, dependencies_1.EventEmitter.prototype);
650
581
  }
651
582
 
652
- return hooks_1.hookDecorator(target);
583
+ return service;
653
584
  }
654
585
 
655
- exports.hooks = hooks;
586
+ exports.eventMixin = eventMixin;
656
587
 
657
588
  /***/ }),
658
589
 
659
- /***/ "../../node_modules/@feathersjs/hooks/lib/utils.js":
660
- /*!*********************************************************!*\
661
- !*** ../../node_modules/@feathersjs/hooks/lib/utils.js ***!
662
- \*********************************************************/
663
- /***/ (function(__unused_webpack_module, exports) {
664
-
665
-
666
-
667
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
668
-
669
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
670
-
671
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
672
-
673
- Object.defineProperty(exports, "__esModule", ({
674
- value: true
675
- }));
676
- exports.copyFnProperties = exports.copyProperties = exports.copyToSelf = void 0;
677
- var proto = Object.prototype; // These are non-standard but offer a more reliable prototype based
678
- // lookup for properties
590
+ /***/ "../feathers/lib/hooks/index.js":
591
+ /*!**************************************!*\
592
+ !*** ../feathers/lib/hooks/index.js ***!
593
+ \**************************************/
594
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
679
595
 
680
- var hasProtoDefinitions = typeof proto.__lookupGetter__ === 'function' && typeof proto.__defineGetter__ === 'function' && typeof proto.__defineSetter__ === 'function';
681
596
 
682
- function copyToSelf(target) {
683
- // tslint:disable-next-line
684
- for (var key in target) {
685
- if (!target.hasOwnProperty(key)) {
686
- var getter = hasProtoDefinitions ? target.constructor.prototype.__lookupGetter__(key) : Object.getOwnPropertyDescriptor(target, key);
687
597
 
688
- if (hasProtoDefinitions && getter) {
689
- target.__defineGetter__(key, getter);
598
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
690
599
 
691
- var setter = target.constructor.prototype.__lookupSetter__(key);
600
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
692
601
 
693
- if (setter) {
694
- target.__defineSetter__(key, setter);
695
- }
696
- } else if (getter) {
697
- Object.defineProperty(target, key, getter);
698
- } else {
699
- target[key] = target[key];
700
- }
701
- }
702
- }
703
- }
602
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
704
603
 
705
- exports.copyToSelf = copyToSelf;
604
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
706
605
 
707
- function copyProperties(target) {
708
- for (var _len = arguments.length, originals = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
709
- originals[_key - 1] = arguments[_key];
710
- }
606
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
711
607
 
712
- for (var _i = 0, _originals = originals; _i < _originals.length; _i++) {
713
- var original = _originals[_i];
714
- var originalProps = Object.keys(original).concat(Object.getOwnPropertySymbols(original));
608
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
715
609
 
716
- var _iterator = _createForOfIteratorHelper(originalProps),
717
- _step;
610
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
718
611
 
719
- try {
720
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
721
- var prop = _step.value;
722
- var propDescriptor = Object.getOwnPropertyDescriptor(original, prop);
612
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
723
613
 
724
- if (propDescriptor && !Object.prototype.hasOwnProperty.call(target, prop)) {
725
- Object.defineProperty(target, prop, propDescriptor);
726
- }
727
- }
728
- } catch (err) {
729
- _iterator.e(err);
730
- } finally {
731
- _iterator.f();
732
- }
733
- }
614
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
734
615
 
735
- return target;
736
- }
616
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
737
617
 
738
- exports.copyProperties = copyProperties;
618
+ function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
739
619
 
740
- function copyFnProperties(target, original) {
741
- var internalProps = ['name', 'length'];
620
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
742
621
 
743
- try {
744
- for (var _i2 = 0, _internalProps = internalProps; _i2 < _internalProps.length; _i2++) {
745
- var prop = _internalProps[_i2];
746
- var value = original[prop];
747
- Object.defineProperty(target, prop, {
748
- value: value
749
- });
750
- }
751
- } catch (e) {// Avoid IE error
752
- }
622
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
753
623
 
754
- return target;
755
- }
624
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
756
625
 
757
- exports.copyFnProperties = copyFnProperties;
626
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
758
627
 
759
- /***/ }),
628
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
760
629
 
761
- /***/ "../commons/lib/debug.js":
762
- /*!*******************************!*\
763
- !*** ../commons/lib/debug.js ***!
764
- \*******************************/
765
- /***/ (function(__unused_webpack_module, exports) {
630
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
766
631
 
632
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
767
633
 
634
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
768
635
 
769
636
  Object.defineProperty(exports, "__esModule", ({
770
637
  value: true
771
638
  }));
772
- exports.createDebug = exports.setDebug = exports.noopDebug = void 0;
773
- var debuggers = {};
639
+ exports.hookMixin = exports.FeathersHookManager = exports.createContext = exports.fromErrorHooks = exports.fromErrorHook = exports.fromAfterHooks = exports.fromAfterHook = exports.fromBeforeHooks = exports.fromBeforeHook = void 0;
774
640
 
775
- function noopDebug() {
776
- return function () {};
777
- }
641
+ var dependencies_1 = __webpack_require__(/*! ../dependencies */ "../feathers/lib/dependencies.js");
778
642
 
779
- exports.noopDebug = noopDebug;
780
- var defaultInitializer = noopDebug;
643
+ var service_1 = __webpack_require__(/*! ../service */ "../feathers/lib/service.js");
781
644
 
782
- function setDebug(debug) {
783
- defaultInitializer = debug;
784
- Object.keys(debuggers).forEach(function (name) {
785
- debuggers[name] = debug(name);
786
- });
787
- }
645
+ var regular_1 = __webpack_require__(/*! ./regular */ "../feathers/lib/hooks/regular.js");
788
646
 
789
- exports.setDebug = setDebug;
647
+ var regular_2 = __webpack_require__(/*! ./regular */ "../feathers/lib/hooks/regular.js");
790
648
 
791
- function createDebug(name) {
792
- if (!debuggers[name]) {
793
- debuggers[name] = defaultInitializer(name);
649
+ Object.defineProperty(exports, "fromBeforeHook", ({
650
+ enumerable: true,
651
+ get: function get() {
652
+ return regular_2.fromBeforeHook;
653
+ }
654
+ }));
655
+ Object.defineProperty(exports, "fromBeforeHooks", ({
656
+ enumerable: true,
657
+ get: function get() {
658
+ return regular_2.fromBeforeHooks;
659
+ }
660
+ }));
661
+ Object.defineProperty(exports, "fromAfterHook", ({
662
+ enumerable: true,
663
+ get: function get() {
664
+ return regular_2.fromAfterHook;
665
+ }
666
+ }));
667
+ Object.defineProperty(exports, "fromAfterHooks", ({
668
+ enumerable: true,
669
+ get: function get() {
670
+ return regular_2.fromAfterHooks;
671
+ }
672
+ }));
673
+ Object.defineProperty(exports, "fromErrorHook", ({
674
+ enumerable: true,
675
+ get: function get() {
676
+ return regular_2.fromErrorHook;
677
+ }
678
+ }));
679
+ Object.defineProperty(exports, "fromErrorHooks", ({
680
+ enumerable: true,
681
+ get: function get() {
682
+ return regular_2.fromErrorHooks;
794
683
  }
684
+ }));
795
685
 
796
- return function () {
797
- return debuggers[name].apply(debuggers, arguments);
798
- };
686
+ function createContext(service, method) {
687
+ var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
688
+ var createContext = service[method].createContext;
689
+
690
+ if (typeof createContext !== 'function') {
691
+ throw new Error("Can not create context for method ".concat(method));
692
+ }
693
+
694
+ return createContext(data);
799
695
  }
800
696
 
801
- exports.createDebug = createDebug;
697
+ exports.createContext = createContext;
802
698
 
803
- /***/ }),
699
+ var FeathersHookManager = /*#__PURE__*/function (_dependencies_1$HookM) {
700
+ _inherits(FeathersHookManager, _dependencies_1$HookM);
804
701
 
805
- /***/ "../commons/lib/index.js":
806
- /*!*******************************!*\
807
- !*** ../commons/lib/index.js ***!
808
- \*******************************/
809
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
702
+ var _super = _createSuper(FeathersHookManager);
810
703
 
704
+ function FeathersHookManager(app, method) {
705
+ var _this;
811
706
 
707
+ _classCallCheck(this, FeathersHookManager);
812
708
 
813
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
709
+ _this = _super.call(this);
710
+ _this.app = app;
711
+ _this.method = method;
712
+ _this._middleware = [];
713
+ return _this;
714
+ }
814
715
 
815
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
716
+ _createClass(FeathersHookManager, [{
717
+ key: "collectMiddleware",
718
+ value: function collectMiddleware(self, args) {
719
+ var app = this.app;
720
+ var appHooks = app.appHooks[dependencies_1.HOOKS].concat(app.appHooks[this.method] || []);
721
+ var regularAppHooks = (0, regular_1.collectRegularHooks)(this.app, this.method);
816
722
 
817
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
723
+ var middleware = _get(_getPrototypeOf(FeathersHookManager.prototype), "collectMiddleware", this).call(this, self, args);
818
724
 
819
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
725
+ var regularHooks = (0, regular_1.collectRegularHooks)(self, this.method);
726
+ return [].concat(_toConsumableArray(appHooks), _toConsumableArray(regularAppHooks), _toConsumableArray(middleware), _toConsumableArray(regularHooks));
727
+ }
728
+ }, {
729
+ key: "initializeContext",
730
+ value: function initializeContext(self, args, context) {
731
+ var ctx = _get(_getPrototypeOf(FeathersHookManager.prototype), "initializeContext", this).call(this, self, args, context);
820
732
 
821
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
733
+ ctx.params = ctx.params || {};
734
+ return ctx;
735
+ }
736
+ }, {
737
+ key: "middleware",
738
+ value: function middleware(mw) {
739
+ var _this$_middleware;
822
740
 
823
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
741
+ (_this$_middleware = this._middleware).push.apply(_this$_middleware, _toConsumableArray(mw));
824
742
 
825
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
743
+ return this;
744
+ }
745
+ }]);
826
746
 
827
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
747
+ return FeathersHookManager;
748
+ }(dependencies_1.HookManager);
828
749
 
829
- var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
830
- if (k2 === undefined) k2 = k;
831
- Object.defineProperty(o, k2, {
832
- enumerable: true,
833
- get: function get() {
834
- return m[k];
835
- }
836
- });
837
- } : function (o, m, k, k2) {
838
- if (k2 === undefined) k2 = k;
839
- o[k2] = m[k];
840
- });
750
+ exports.FeathersHookManager = FeathersHookManager;
841
751
 
842
- var __exportStar = this && this.__exportStar || function (m, exports) {
843
- for (var p in m) {
844
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
752
+ function hookMixin(service, path, options) {
753
+ if (typeof service.hooks === 'function') {
754
+ return service;
845
755
  }
846
- };
847
756
 
848
- Object.defineProperty(exports, "__esModule", ({
849
- value: true
850
- }));
851
- exports.createSymbol = exports.isPromise = exports._ = exports.stripSlashes = void 0; // Removes all leading and trailing slashes from a path
757
+ var app = this;
758
+ var hookMethods = (0, service_1.getHookMethods)(service, options);
759
+ var serviceMethodHooks = hookMethods.reduce(function (res, method) {
760
+ var _FeathersHookManager;
852
761
 
853
- function stripSlashes(name) {
854
- return name.replace(/^(\/+)|(\/+)$/g, '');
855
- }
762
+ var params = service_1.defaultServiceArguments[method] || ['data', 'params'];
763
+ res[method] = (_FeathersHookManager = new FeathersHookManager(app, method)).params.apply(_FeathersHookManager, _toConsumableArray(params)).props({
764
+ app: app,
765
+ path: path,
766
+ method: method,
767
+ service: service,
768
+ event: null,
769
+ type: null,
856
770
 
857
- exports.stripSlashes = stripSlashes; // A set of lodash-y utility functions that use ES6
771
+ get statusCode() {
772
+ var _a;
858
773
 
859
- exports._ = {
860
- each: function each(obj, callback) {
861
- if (obj && typeof obj.forEach === 'function') {
862
- obj.forEach(callback);
863
- } else if (exports._.isObject(obj)) {
864
- Object.keys(obj).forEach(function (key) {
865
- return callback(obj[key], key);
866
- });
867
- }
868
- },
869
- some: function some(value, callback) {
870
- return Object.keys(value).map(function (key) {
871
- return [value[key], key];
872
- }).some(function (_ref) {
873
- var _ref2 = _slicedToArray(_ref, 2),
874
- val = _ref2[0],
875
- key = _ref2[1];
774
+ return (_a = this.http) === null || _a === void 0 ? void 0 : _a.statusCode;
775
+ },
876
776
 
877
- return callback(val, key);
878
- });
879
- },
880
- every: function every(value, callback) {
881
- return Object.keys(value).map(function (key) {
882
- return [value[key], key];
883
- }).every(function (_ref3) {
884
- var _ref4 = _slicedToArray(_ref3, 2),
885
- val = _ref4[0],
886
- key = _ref4[1];
777
+ set statusCode(value) {
778
+ (this.http || (this.http = {})).statusCode = value;
779
+ }
887
780
 
888
- return callback(val, key);
889
- });
890
- },
891
- keys: function keys(obj) {
892
- return Object.keys(obj);
893
- },
894
- values: function values(obj) {
895
- return exports._.keys(obj).map(function (key) {
896
- return obj[key];
897
- });
898
- },
899
- isMatch: function isMatch(obj, item) {
900
- return exports._.keys(item).every(function (key) {
901
- return obj[key] === item[key];
902
781
  });
903
- },
904
- isEmpty: function isEmpty(obj) {
905
- return exports._.keys(obj).length === 0;
906
- },
907
- isObject: function isObject(item) {
908
- return _typeof(item) === 'object' && !Array.isArray(item) && item !== null;
909
- },
910
- isObjectOrArray: function isObjectOrArray(value) {
911
- return _typeof(value) === 'object' && value !== null;
912
- },
913
- extend: function extend(first) {
914
- for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
915
- rest[_key - 1] = arguments[_key];
916
- }
917
-
918
- return Object.assign.apply(Object, [first].concat(rest));
919
- },
920
- omit: function omit(obj) {
921
- var result = exports._.extend({}, obj);
782
+ return res;
783
+ }, {});
784
+ var handleRegularHooks = (0, regular_1.enableRegularHooks)(service, hookMethods);
785
+ (0, dependencies_1.hooks)(service, serviceMethodHooks);
922
786
 
923
- for (var _len2 = arguments.length, keys = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
924
- keys[_key2 - 1] = arguments[_key2];
925
- }
787
+ service.hooks = function (hookOptions) {
788
+ var _this2 = this;
926
789
 
927
- keys.forEach(function (key) {
928
- return delete result[key];
929
- });
930
- return result;
931
- },
932
- pick: function pick(source) {
933
- for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
934
- keys[_key3 - 1] = arguments[_key3];
790
+ if (hookOptions.before || hookOptions.after || hookOptions.error) {
791
+ return handleRegularHooks.call(this, hookOptions);
935
792
  }
936
793
 
937
- return keys.reduce(function (result, key) {
938
- if (source[key] !== undefined) {
939
- result[key] = source[key];
940
- }
941
-
942
- return result;
943
- }, {});
944
- },
945
- // Recursively merge the source object into the target object
946
- merge: function merge(target, source) {
947
- if (exports._.isObject(target) && exports._.isObject(source)) {
948
- Object.keys(source).forEach(function (key) {
949
- if (exports._.isObject(source[key])) {
950
- if (!target[key]) {
951
- Object.assign(target, _defineProperty({}, key, {}));
952
- }
953
-
954
- exports._.merge(target[key], source[key]);
955
- } else {
956
- Object.assign(target, _defineProperty({}, key, source[key]));
957
- }
958
- });
794
+ if (Array.isArray(hookOptions)) {
795
+ return (0, dependencies_1.hooks)(this, hookOptions);
959
796
  }
960
797
 
961
- return target;
962
- }
963
- }; // Duck-checks if an object looks like a promise
798
+ Object.keys(hookOptions).forEach(function (method) {
799
+ var manager = (0, dependencies_1.getManager)(_this2[method]);
964
800
 
965
- function isPromise(result) {
966
- return exports._.isObject(result) && typeof result.then === 'function';
967
- }
801
+ if (!(manager instanceof FeathersHookManager)) {
802
+ throw new Error("Method ".concat(method, " is not a Feathers hooks enabled service method"));
803
+ }
968
804
 
969
- exports.isPromise = isPromise;
805
+ manager.middleware(hookOptions[method]);
806
+ });
807
+ return this;
808
+ };
970
809
 
971
- function createSymbol(name) {
972
- return typeof Symbol !== 'undefined' ? Symbol(name) : name;
810
+ return service;
973
811
  }
974
812
 
975
- exports.createSymbol = createSymbol;
976
-
977
- __exportStar(__webpack_require__(/*! ./debug */ "../commons/lib/debug.js"), exports);
813
+ exports.hookMixin = hookMixin;
978
814
 
979
815
  /***/ }),
980
816
 
981
- /***/ "../feathers/lib/application.js":
982
- /*!**************************************!*\
983
- !*** ../feathers/lib/application.js ***!
984
- \**************************************/
817
+ /***/ "../feathers/lib/hooks/regular.js":
818
+ /*!****************************************!*\
819
+ !*** ../feathers/lib/hooks/regular.js ***!
820
+ \****************************************/
985
821
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
986
822
 
987
823
 
988
824
 
989
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
990
-
991
825
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
992
826
 
993
827
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -1002,244 +836,249 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
1002
836
 
1003
837
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1004
838
 
839
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
840
+
841
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
842
+
843
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
844
+
1005
845
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1006
846
 
1007
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
847
+ Object.defineProperty(exports, "__esModule", ({
848
+ value: true
849
+ }));
850
+ exports.enableRegularHooks = exports.convertHookData = exports.collectRegularHooks = exports.fromErrorHooks = exports.fromAfterHooks = exports.fromBeforeHooks = exports.fromErrorHook = exports.fromAfterHook = exports.fromBeforeHook = void 0;
1008
851
 
1009
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
852
+ var service_1 = __webpack_require__(/*! ../service */ "../feathers/lib/service.js");
1010
853
 
1011
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
854
+ var runHook = function runHook(hook, context, type) {
855
+ if (type) context.type = type;
856
+ return Promise.resolve(hook.call(context.self, context)).then(function (res) {
857
+ if (type) context.type = null;
1012
858
 
1013
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
859
+ if (res && res !== context) {
860
+ Object.assign(context, res);
861
+ }
862
+ });
863
+ };
1014
864
 
1015
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
865
+ function fromBeforeHook(hook) {
866
+ return function (context, next) {
867
+ return runHook(hook, context, 'before').then(next);
868
+ };
869
+ }
1016
870
 
1017
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
871
+ exports.fromBeforeHook = fromBeforeHook;
1018
872
 
1019
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
873
+ function fromAfterHook(hook) {
874
+ return function (context, next) {
875
+ return next().then(function () {
876
+ return runHook(hook, context, 'after');
877
+ });
878
+ };
879
+ }
1020
880
 
1021
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
881
+ exports.fromAfterHook = fromAfterHook;
1022
882
 
1023
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
883
+ function fromErrorHook(hook) {
884
+ return function (context, next) {
885
+ return next().catch(function (error) {
886
+ if (context.error !== error || context.result !== undefined) {
887
+ context.original = _objectSpread({}, context);
888
+ context.error = error;
889
+ delete context.result;
890
+ }
1024
891
 
1025
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
892
+ return runHook(hook, context, 'error').then(function () {
893
+ if (context.result === undefined && context.error !== undefined) {
894
+ throw context.error;
895
+ }
896
+ });
897
+ });
898
+ };
899
+ }
1026
900
 
1027
- var __importDefault = this && this.__importDefault || function (mod) {
1028
- return mod && mod.__esModule ? mod : {
1029
- "default": mod
901
+ exports.fromErrorHook = fromErrorHook;
902
+
903
+ var RunHooks = function RunHooks(hooks) {
904
+ return function (context) {
905
+ return hooks.reduce(function (promise, hook) {
906
+ return promise.then(function () {
907
+ return runHook(hook, context);
908
+ });
909
+ }, Promise.resolve(undefined));
1030
910
  };
1031
911
  };
1032
912
 
1033
- Object.defineProperty(exports, "__esModule", ({
1034
- value: true
1035
- }));
1036
- exports.Feathers = void 0;
913
+ function fromBeforeHooks(hooks) {
914
+ return fromBeforeHook(RunHooks(hooks));
915
+ }
1037
916
 
1038
- var version_1 = __importDefault(__webpack_require__(/*! ./version */ "../feathers/lib/version.js"));
917
+ exports.fromBeforeHooks = fromBeforeHooks;
1039
918
 
1040
- var dependencies_1 = __webpack_require__(/*! ./dependencies */ "../feathers/lib/dependencies.js");
919
+ function fromAfterHooks(hooks) {
920
+ return fromAfterHook(RunHooks(hooks));
921
+ }
1041
922
 
1042
- var events_1 = __webpack_require__(/*! ./events */ "../feathers/lib/events.js");
923
+ exports.fromAfterHooks = fromAfterHooks;
1043
924
 
1044
- var index_1 = __webpack_require__(/*! ./hooks/index */ "../feathers/lib/hooks/index.js");
925
+ function fromErrorHooks(hooks) {
926
+ return fromErrorHook(RunHooks(hooks));
927
+ }
1045
928
 
1046
- var service_1 = __webpack_require__(/*! ./service */ "../feathers/lib/service.js");
929
+ exports.fromErrorHooks = fromErrorHooks;
1047
930
 
1048
- var legacy_1 = __webpack_require__(/*! ./hooks/legacy */ "../feathers/lib/hooks/legacy.js");
931
+ function collectRegularHooks(target, method) {
932
+ return target.__hooks.hooks[method] || [];
933
+ }
1049
934
 
1050
- var debug = (0, dependencies_1.createDebug)('@feathersjs/feathers');
935
+ exports.collectRegularHooks = collectRegularHooks; // Converts different hook registration formats into the
936
+ // same internal format
1051
937
 
1052
- var Feathers = /*#__PURE__*/function (_dependencies_1$Event) {
1053
- _inherits(Feathers, _dependencies_1$Event);
938
+ function convertHookData(input) {
939
+ var result = {};
1054
940
 
1055
- var _super = _createSuper(Feathers);
941
+ if (Array.isArray(input)) {
942
+ result.all = input;
943
+ } else if (_typeof(input) !== 'object') {
944
+ result.all = [input];
945
+ } else {
946
+ for (var _i = 0, _Object$keys = Object.keys(input); _i < _Object$keys.length; _i++) {
947
+ var key = _Object$keys[_i];
948
+ var value = input[key];
949
+ result[key] = Array.isArray(value) ? value : [value];
950
+ }
951
+ }
1056
952
 
1057
- function Feathers() {
1058
- var _this;
953
+ return result;
954
+ }
1059
955
 
1060
- _classCallCheck(this, Feathers);
956
+ exports.convertHookData = convertHookData;
957
+ var types = ['before', 'after', 'error'];
1061
958
 
1062
- _this = _super.call(this);
1063
- _this.services = {};
1064
- _this.settings = {};
1065
- _this.mixins = [index_1.hookMixin, events_1.eventMixin];
1066
- _this.version = version_1.default;
1067
- _this._isSetup = false;
1068
- _this.appHooks = _defineProperty({}, dependencies_1.HOOKS, [events_1.eventHook]);
1069
- _this.legacyHooks = (0, legacy_1.enableLegacyHooks)(_assertThisInitialized(_this));
1070
- return _this;
1071
- }
959
+ var isType = function isType(value) {
960
+ return types.includes(value);
961
+ };
1072
962
 
1073
- _createClass(Feathers, [{
1074
- key: "get",
1075
- value: function get(name) {
1076
- return this.settings[name];
1077
- }
1078
- }, {
1079
- key: "set",
1080
- value: function set(name, value) {
1081
- this.settings[name] = value;
1082
- return this;
1083
- }
1084
- }, {
1085
- key: "configure",
1086
- value: function configure(callback) {
1087
- callback.call(this, this);
1088
- return this;
1089
- }
1090
- }, {
1091
- key: "defaultService",
1092
- value: function defaultService(location) {
1093
- throw new Error("Can not find service '".concat(location, "'"));
1094
- }
1095
- }, {
1096
- key: "service",
1097
- value: function service(location) {
1098
- var path = (0, dependencies_1.stripSlashes)(location) || '/';
1099
- var current = this.services[path];
1100
-
1101
- if (typeof current === 'undefined') {
1102
- this.use(path, this.defaultService(path));
1103
- return this.service(path);
1104
- }
1105
-
1106
- return current;
1107
- }
1108
- }, {
1109
- key: "use",
1110
- value: function use(path, service, options) {
1111
- var _this2 = this;
1112
-
1113
- if (typeof path !== 'string') {
1114
- throw new Error("'".concat(path, "' is not a valid service path."));
1115
- }
1116
-
1117
- var location = (0, dependencies_1.stripSlashes)(path) || '/';
1118
- var subApp = service;
1119
- var isSubApp = typeof subApp.service === 'function' && subApp.services;
1120
-
1121
- if (isSubApp) {
1122
- Object.keys(subApp.services).forEach(function (subPath) {
1123
- return _this2.use("".concat(location, "/").concat(subPath), subApp.service(subPath));
1124
- });
1125
- return this;
1126
- }
1127
-
1128
- var protoService = (0, service_1.wrapService)(location, service, options);
1129
- var serviceOptions = (0, service_1.getServiceOptions)(service, options);
963
+ var wrappers = {
964
+ before: fromBeforeHooks,
965
+ after: fromAfterHooks,
966
+ error: fromErrorHooks
967
+ };
1130
968
 
1131
- var _iterator = _createForOfIteratorHelper(service_1.protectedMethods),
1132
- _step;
969
+ var createStore = function createStore(methods) {
970
+ var store = {
971
+ before: {},
972
+ after: {},
973
+ error: {},
974
+ hooks: {}
975
+ };
1133
976
 
1134
- try {
1135
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1136
- var name = _step.value;
977
+ var _iterator = _createForOfIteratorHelper(methods),
978
+ _step;
1137
979
 
1138
- if (serviceOptions.methods.includes(name)) {
1139
- throw new Error("'".concat(name, "' on service '").concat(location, "' is not allowed as a custom method name"));
1140
- }
1141
- }
1142
- } catch (err) {
1143
- _iterator.e(err);
1144
- } finally {
1145
- _iterator.f();
1146
- }
980
+ try {
981
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
982
+ var method = _step.value;
983
+ store.hooks[method] = [];
984
+ }
985
+ } catch (err) {
986
+ _iterator.e(err);
987
+ } finally {
988
+ _iterator.f();
989
+ }
1147
990
 
1148
- debug("Registering new service at `".concat(location, "`")); // Add all the mixins
991
+ return store;
992
+ };
1149
993
 
1150
- this.mixins.forEach(function (fn) {
1151
- return fn.call(_this2, protoService, location, serviceOptions);
1152
- }); // If we ran setup already, set this service up explicitly, this will not `await`
994
+ var setStore = function setStore(object, store) {
995
+ Object.defineProperty(object, '__hooks', {
996
+ configurable: true,
997
+ value: store,
998
+ writable: true
999
+ });
1000
+ };
1153
1001
 
1154
- if (this._isSetup && typeof protoService.setup === 'function') {
1155
- debug("Setting up service for `".concat(location, "`"));
1156
- protoService.setup(this, location);
1157
- }
1002
+ var getStore = function getStore(object) {
1003
+ return object.__hooks;
1004
+ };
1158
1005
 
1159
- this.services[location] = protoService;
1160
- return this;
1006
+ var createMap = function createMap(input, methods) {
1007
+ var map = {};
1008
+ Object.keys(input).forEach(function (type) {
1009
+ if (!isType(type)) {
1010
+ throw new Error("'".concat(type, "' is not a valid hook type"));
1161
1011
  }
1162
- }, {
1163
- key: "hooks",
1164
- value: function hooks(hookMap) {
1165
- var _this3 = this;
1166
1012
 
1167
- var legacyMap = hookMap;
1168
-
1169
- if (legacyMap.before || legacyMap.after || legacyMap.error) {
1170
- return this.legacyHooks(legacyMap);
1013
+ var data = convertHookData(input[type]);
1014
+ Object.keys(data).forEach(function (method) {
1015
+ if (method !== 'all' && !methods.includes(method)) {
1016
+ throw new Error("'".concat(method, "' is not a valid hook method"));
1171
1017
  }
1018
+ });
1019
+ map[type] = data;
1020
+ });
1021
+ return map;
1022
+ };
1172
1023
 
1173
- if (Array.isArray(hookMap)) {
1174
- var _this$appHooks$depend;
1175
-
1176
- (_this$appHooks$depend = this.appHooks[dependencies_1.HOOKS]).push.apply(_this$appHooks$depend, _toConsumableArray(hookMap));
1177
- } else {
1178
- var methodHookMap = hookMap;
1179
- Object.keys(methodHookMap).forEach(function (key) {
1180
- var methodHooks = _this3.appHooks[key] || [];
1181
- _this3.appHooks[key] = methodHooks.concat(methodHookMap[key]);
1182
- });
1183
- }
1024
+ var createAdapter = function createAdapter(type) {
1025
+ var hooks = [];
1026
+ var hook = wrappers[type](hooks);
1027
+ var adapter = Object.assign(hook, {
1028
+ hooks: hooks
1029
+ });
1030
+ return adapter;
1031
+ };
1184
1032
 
1185
- return this;
1186
- }
1187
- }, {
1188
- key: "setup",
1189
- value: function setup() {
1190
- var _this4 = this;
1033
+ var updateStore = function updateStore(store, map) {
1034
+ Object.keys(store.hooks).forEach(function (method) {
1035
+ var adapted = false;
1036
+ Object.keys(map).forEach(function (key) {
1037
+ var _a;
1191
1038
 
1192
- var promise = Promise.resolve(); // Setup each service (pass the app so that they can look up other services etc.)
1039
+ var type = key;
1040
+ var allHooks = map[type].all || [];
1041
+ var methodHooks = map[type][method] || [];
1193
1042
 
1194
- var _loop = function _loop() {
1195
- var path = _Object$keys[_i];
1196
- promise = promise.then(function () {
1197
- var service = _this4.service(path);
1043
+ if (allHooks.length || methodHooks.length) {
1044
+ var _adapter$hooks;
1198
1045
 
1199
- if (typeof service.setup === 'function') {
1200
- debug("Setting up service for `".concat(path, "`"));
1201
- return service.setup(_this4, path);
1202
- }
1203
- });
1204
- };
1046
+ var adapter = (_a = store[type])[method] || (_a[method] = (adapted = true, createAdapter(type)));
1205
1047
 
1206
- for (var _i = 0, _Object$keys = Object.keys(this.services); _i < _Object$keys.length; _i++) {
1207
- _loop();
1048
+ (_adapter$hooks = adapter.hooks).push.apply(_adapter$hooks, _toConsumableArray(allHooks).concat(_toConsumableArray(methodHooks)));
1208
1049
  }
1050
+ });
1209
1051
 
1210
- return promise.then(function () {
1211
- _this4._isSetup = true;
1212
- return _this4;
1052
+ if (adapted) {
1053
+ store.hooks[method] = [store.error[method], store.before[method], store.after[method]].filter(function (hook) {
1054
+ return hook;
1213
1055
  });
1214
1056
  }
1215
- }]);
1216
-
1217
- return Feathers;
1218
- }(dependencies_1.EventEmitter);
1219
-
1220
- exports.Feathers = Feathers;
1221
-
1222
- /***/ }),
1223
-
1224
- /***/ "../feathers/lib/declarations.js":
1225
- /*!***************************************!*\
1226
- !*** ../feathers/lib/declarations.js ***!
1227
- \***************************************/
1228
- /***/ (function(__unused_webpack_module, exports) {
1057
+ });
1058
+ }; // Add `.hooks` functionality to an object
1229
1059
 
1230
1060
 
1061
+ function enableRegularHooks(object) {
1062
+ var methods = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : service_1.defaultServiceMethods;
1063
+ var store = createStore(methods);
1064
+ setStore(object, store);
1065
+ return function regularHooks(input) {
1066
+ var store = getStore(this);
1067
+ var map = createMap(input, methods);
1068
+ updateStore(store, map);
1069
+ return this;
1070
+ };
1071
+ }
1231
1072
 
1232
- Object.defineProperty(exports, "__esModule", ({
1233
- value: true
1234
- }));
1073
+ exports.enableRegularHooks = enableRegularHooks;
1235
1074
 
1236
1075
  /***/ }),
1237
1076
 
1238
- /***/ "../feathers/lib/dependencies.js":
1239
- /*!***************************************!*\
1240
- !*** ../feathers/lib/dependencies.js ***!
1241
- \***************************************/
1242
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1077
+ /***/ "../feathers/lib/index.js":
1078
+ /*!********************************!*\
1079
+ !*** ../feathers/lib/index.js ***!
1080
+ \********************************/
1081
+ /***/ (function(module, exports, __webpack_require__) {
1243
1082
 
1244
1083
 
1245
1084
 
@@ -1262,1192 +1101,1536 @@ var __exportStar = this && this.__exportStar || function (m, exports) {
1262
1101
  }
1263
1102
  };
1264
1103
 
1104
+ var __importDefault = this && this.__importDefault || function (mod) {
1105
+ return mod && mod.__esModule ? mod : {
1106
+ "default": mod
1107
+ };
1108
+ };
1109
+
1265
1110
  Object.defineProperty(exports, "__esModule", ({
1266
1111
  value: true
1267
1112
  }));
1268
- exports.EventEmitter = void 0;
1113
+ exports.Feathers = exports.version = exports.feathers = void 0;
1269
1114
 
1270
- var events_1 = __webpack_require__(/*! events */ "../../node_modules/events/events.js");
1115
+ var dependencies_1 = __webpack_require__(/*! ./dependencies */ "../feathers/lib/dependencies.js");
1271
1116
 
1272
- Object.defineProperty(exports, "EventEmitter", ({
1117
+ var version_1 = __importDefault(__webpack_require__(/*! ./version */ "../feathers/lib/version.js"));
1118
+
1119
+ exports.version = version_1.default;
1120
+
1121
+ var application_1 = __webpack_require__(/*! ./application */ "../feathers/lib/application.js");
1122
+
1123
+ Object.defineProperty(exports, "Feathers", ({
1273
1124
  enumerable: true,
1274
1125
  get: function get() {
1275
- return events_1.EventEmitter;
1126
+ return application_1.Feathers;
1276
1127
  }
1277
1128
  }));
1278
1129
 
1279
- __exportStar(__webpack_require__(/*! @feathersjs/commons */ "../commons/lib/index.js"), exports);
1130
+ function feathers() {
1131
+ return new application_1.Feathers();
1132
+ }
1280
1133
 
1281
- __exportStar(__webpack_require__(/*! @feathersjs/hooks */ "../../node_modules/@feathersjs/hooks/lib/index.js"), exports);
1134
+ exports.feathers = feathers;
1135
+ feathers.setDebug = dependencies_1.setDebug;
1136
+
1137
+ __exportStar(__webpack_require__(/*! ./hooks/index */ "../feathers/lib/hooks/index.js"), exports);
1138
+
1139
+ __exportStar(__webpack_require__(/*! ./declarations */ "../feathers/lib/declarations.js"), exports);
1140
+
1141
+ __exportStar(__webpack_require__(/*! ./service */ "../feathers/lib/service.js"), exports);
1142
+
1143
+ if (true) {
1144
+ module.exports = Object.assign(feathers, module.exports);
1145
+ }
1282
1146
 
1283
1147
  /***/ }),
1284
1148
 
1285
- /***/ "../feathers/lib/events.js":
1286
- /*!*********************************!*\
1287
- !*** ../feathers/lib/events.js ***!
1288
- \*********************************/
1149
+ /***/ "../feathers/lib/service.js":
1150
+ /*!**********************************!*\
1151
+ !*** ../feathers/lib/service.js ***!
1152
+ \**********************************/
1289
1153
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1290
1154
 
1291
1155
 
1292
1156
 
1157
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1158
+
1159
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1160
+
1161
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1162
+
1293
1163
  Object.defineProperty(exports, "__esModule", ({
1294
1164
  value: true
1295
1165
  }));
1296
- exports.eventMixin = exports.eventHook = void 0;
1166
+ exports.wrapService = exports.getServiceOptions = exports.getHookMethods = exports.protectedMethods = exports.defaultEventMap = exports.defaultServiceMethods = exports.defaultServiceArguments = exports.SERVICE = void 0;
1297
1167
 
1298
1168
  var dependencies_1 = __webpack_require__(/*! ./dependencies */ "../feathers/lib/dependencies.js");
1299
1169
 
1300
- var service_1 = __webpack_require__(/*! ./service */ "../feathers/lib/service.js");
1301
-
1302
- function eventHook(context, next) {
1303
- var _ref = (0, service_1.getServiceOptions)(context.self),
1304
- events = _ref.events;
1170
+ exports.SERVICE = (0, dependencies_1.createSymbol)('@feathersjs/service');
1171
+ exports.defaultServiceArguments = {
1172
+ find: ['params'],
1173
+ get: ['id', 'params'],
1174
+ create: ['data', 'params'],
1175
+ update: ['id', 'data', 'params'],
1176
+ patch: ['id', 'data', 'params'],
1177
+ remove: ['id', 'params']
1178
+ };
1179
+ exports.defaultServiceMethods = Object.keys(exports.defaultServiceArguments);
1180
+ exports.defaultEventMap = {
1181
+ create: 'created',
1182
+ update: 'updated',
1183
+ patch: 'patched',
1184
+ remove: 'removed'
1185
+ };
1186
+ exports.protectedMethods = Object.keys(Object.prototype).concat(Object.keys(dependencies_1.EventEmitter.prototype)).concat(['all', 'before', 'after', 'error', 'hooks', 'setup', 'publish']);
1305
1187
 
1306
- var defaultEvent = service_1.defaultEventMap[context.method] || null;
1307
- context.event = defaultEvent;
1308
- return next().then(function () {
1309
- // Send the event only if the service does not do so already (indicated in the `events` option)
1310
- // This is used for custom events and for client services receiving event from the server
1311
- if (typeof context.event === 'string' && !events.includes(context.event)) {
1312
- var results = Array.isArray(context.result) ? context.result : [context.result];
1313
- results.forEach(function (element) {
1314
- return context.self.emit(context.event, element, context);
1315
- });
1316
- }
1317
- });
1188
+ function getHookMethods(service, options) {
1189
+ var methods = options.methods;
1190
+ return exports.defaultServiceMethods.filter(function (m) {
1191
+ return typeof service[m] === 'function' && !methods.includes(m);
1192
+ }).concat(methods);
1318
1193
  }
1319
1194
 
1320
- exports.eventHook = eventHook;
1195
+ exports.getHookMethods = getHookMethods;
1321
1196
 
1322
- function eventMixin(service) {
1323
- var isEmitter = typeof service.on === 'function' && typeof service.emit === 'function';
1197
+ function getServiceOptions(service) {
1198
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1199
+ var existingOptions = service[exports.SERVICE];
1324
1200
 
1325
- if (!isEmitter) {
1326
- Object.assign(service, dependencies_1.EventEmitter.prototype);
1201
+ if (existingOptions) {
1202
+ return existingOptions;
1327
1203
  }
1328
1204
 
1329
- return service;
1205
+ var _options$methods = options.methods,
1206
+ methods = _options$methods === void 0 ? exports.defaultServiceMethods.filter(function (method) {
1207
+ return typeof service[method] === 'function';
1208
+ }) : _options$methods,
1209
+ _options$events = options.events,
1210
+ events = _options$events === void 0 ? service.events || [] : _options$events;
1211
+ var _options$serviceEvent = options.serviceEvents,
1212
+ serviceEvents = _options$serviceEvent === void 0 ? Object.values(exports.defaultEventMap).concat(events) : _options$serviceEvent;
1213
+ return _objectSpread(_objectSpread({}, options), {}, {
1214
+ events: events,
1215
+ methods: methods,
1216
+ serviceEvents: serviceEvents
1217
+ });
1330
1218
  }
1331
1219
 
1332
- exports.eventMixin = eventMixin;
1333
-
1334
- /***/ }),
1335
-
1336
- /***/ "../feathers/lib/hooks/index.js":
1337
- /*!**************************************!*\
1338
- !*** ../feathers/lib/hooks/index.js ***!
1339
- \**************************************/
1340
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1341
-
1342
-
1220
+ exports.getServiceOptions = getServiceOptions;
1343
1221
 
1344
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
1222
+ function wrapService(location, service, options) {
1223
+ // Do nothing if this is already an initialized
1224
+ if (service[exports.SERVICE]) {
1225
+ return service;
1226
+ }
1345
1227
 
1346
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
1228
+ var protoService = Object.create(service);
1229
+ var serviceOptions = getServiceOptions(service, options);
1347
1230
 
1348
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
1231
+ if (Object.keys(serviceOptions.methods).length === 0 && typeof service.setup !== 'function') {
1232
+ throw new Error("Invalid service object passed for path `".concat(location, "`"));
1233
+ }
1349
1234
 
1350
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1235
+ Object.defineProperty(protoService, exports.SERVICE, {
1236
+ value: serviceOptions
1237
+ });
1238
+ return protoService;
1239
+ }
1351
1240
 
1352
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
1241
+ exports.wrapService = wrapService;
1353
1242
 
1354
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1243
+ /***/ }),
1355
1244
 
1356
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1245
+ /***/ "../feathers/lib/version.js":
1246
+ /*!**********************************!*\
1247
+ !*** ../feathers/lib/version.js ***!
1248
+ \**********************************/
1249
+ /***/ (function(__unused_webpack_module, exports) {
1357
1250
 
1358
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1359
1251
 
1360
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
1361
1252
 
1362
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
1253
+ Object.defineProperty(exports, "__esModule", ({
1254
+ value: true
1255
+ }));
1256
+ exports["default"] = 'development';
1363
1257
 
1364
- function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
1258
+ /***/ }),
1365
1259
 
1366
- function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
1260
+ /***/ "../../node_modules/events/events.js":
1261
+ /*!*******************************************!*\
1262
+ !*** ../../node_modules/events/events.js ***!
1263
+ \*******************************************/
1264
+ /***/ (function(module) {
1367
1265
 
1368
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
1266
+ // Copyright Joyent, Inc. and other Node contributors.
1267
+ //
1268
+ // Permission is hereby granted, free of charge, to any person obtaining a
1269
+ // copy of this software and associated documentation files (the
1270
+ // "Software"), to deal in the Software without restriction, including
1271
+ // without limitation the rights to use, copy, modify, merge, publish,
1272
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
1273
+ // persons to whom the Software is furnished to do so, subject to the
1274
+ // following conditions:
1275
+ //
1276
+ // The above copyright notice and this permission notice shall be included
1277
+ // in all copies or substantial portions of the Software.
1278
+ //
1279
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1280
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1281
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1282
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1283
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1284
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1285
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
1369
1286
 
1370
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
1371
1287
 
1372
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1373
1288
 
1374
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
1289
+ var R = typeof Reflect === 'object' ? Reflect : null
1290
+ var ReflectApply = R && typeof R.apply === 'function'
1291
+ ? R.apply
1292
+ : function ReflectApply(target, receiver, args) {
1293
+ return Function.prototype.apply.call(target, receiver, args);
1294
+ }
1375
1295
 
1376
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
1296
+ var ReflectOwnKeys
1297
+ if (R && typeof R.ownKeys === 'function') {
1298
+ ReflectOwnKeys = R.ownKeys
1299
+ } else if (Object.getOwnPropertySymbols) {
1300
+ ReflectOwnKeys = function ReflectOwnKeys(target) {
1301
+ return Object.getOwnPropertyNames(target)
1302
+ .concat(Object.getOwnPropertySymbols(target));
1303
+ };
1304
+ } else {
1305
+ ReflectOwnKeys = function ReflectOwnKeys(target) {
1306
+ return Object.getOwnPropertyNames(target);
1307
+ };
1308
+ }
1377
1309
 
1378
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1310
+ function ProcessEmitWarning(warning) {
1311
+ if (console && console.warn) console.warn(warning);
1312
+ }
1379
1313
 
1380
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
1314
+ var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
1315
+ return value !== value;
1316
+ }
1381
1317
 
1382
- Object.defineProperty(exports, "__esModule", ({
1383
- value: true
1384
- }));
1385
- exports.hookMixin = exports.FeathersHookManager = exports.createContext = exports.fromErrorHooks = exports.fromBeforeHook = exports.fromAfterHook = void 0;
1318
+ function EventEmitter() {
1319
+ EventEmitter.init.call(this);
1320
+ }
1321
+ module.exports = EventEmitter;
1322
+ module.exports.once = once;
1386
1323
 
1387
- var dependencies_1 = __webpack_require__(/*! ../dependencies */ "../feathers/lib/dependencies.js");
1324
+ // Backwards-compat with node 0.10.x
1325
+ EventEmitter.EventEmitter = EventEmitter;
1388
1326
 
1389
- var service_1 = __webpack_require__(/*! ../service */ "../feathers/lib/service.js");
1327
+ EventEmitter.prototype._events = undefined;
1328
+ EventEmitter.prototype._eventsCount = 0;
1329
+ EventEmitter.prototype._maxListeners = undefined;
1390
1330
 
1391
- var legacy_1 = __webpack_require__(/*! ./legacy */ "../feathers/lib/hooks/legacy.js");
1331
+ // By default EventEmitters will print a warning if more than 10 listeners are
1332
+ // added to it. This is a useful default which helps finding memory leaks.
1333
+ var defaultMaxListeners = 10;
1392
1334
 
1393
- Object.defineProperty(exports, "fromAfterHook", ({
1394
- enumerable: true,
1395
- get: function get() {
1396
- return legacy_1.fromAfterHook;
1397
- }
1398
- }));
1399
- Object.defineProperty(exports, "fromBeforeHook", ({
1400
- enumerable: true,
1401
- get: function get() {
1402
- return legacy_1.fromBeforeHook;
1335
+ function checkListener(listener) {
1336
+ if (typeof listener !== 'function') {
1337
+ throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
1403
1338
  }
1404
- }));
1405
- Object.defineProperty(exports, "fromErrorHooks", ({
1339
+ }
1340
+
1341
+ Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
1406
1342
  enumerable: true,
1407
- get: function get() {
1408
- return legacy_1.fromErrorHooks;
1343
+ get: function() {
1344
+ return defaultMaxListeners;
1345
+ },
1346
+ set: function(arg) {
1347
+ if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
1348
+ throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
1349
+ }
1350
+ defaultMaxListeners = arg;
1409
1351
  }
1410
- }));
1352
+ });
1411
1353
 
1412
- function createContext(service, method) {
1413
- var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1414
- var createContext = service[method].createContext;
1354
+ EventEmitter.init = function() {
1415
1355
 
1416
- if (typeof createContext !== 'function') {
1417
- throw new Error("Can not create context for method ".concat(method));
1356
+ if (this._events === undefined ||
1357
+ this._events === Object.getPrototypeOf(this)._events) {
1358
+ this._events = Object.create(null);
1359
+ this._eventsCount = 0;
1418
1360
  }
1419
1361
 
1420
- return createContext(data);
1421
- }
1362
+ this._maxListeners = this._maxListeners || undefined;
1363
+ };
1422
1364
 
1423
- exports.createContext = createContext;
1365
+ // Obviously not all Emitters should be limited to 10. This function allows
1366
+ // that to be increased. Set to zero for unlimited.
1367
+ EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
1368
+ if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
1369
+ throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
1370
+ }
1371
+ this._maxListeners = n;
1372
+ return this;
1373
+ };
1424
1374
 
1425
- var FeathersHookManager = /*#__PURE__*/function (_dependencies_1$HookM) {
1426
- _inherits(FeathersHookManager, _dependencies_1$HookM);
1375
+ function _getMaxListeners(that) {
1376
+ if (that._maxListeners === undefined)
1377
+ return EventEmitter.defaultMaxListeners;
1378
+ return that._maxListeners;
1379
+ }
1427
1380
 
1428
- var _super = _createSuper(FeathersHookManager);
1381
+ EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
1382
+ return _getMaxListeners(this);
1383
+ };
1429
1384
 
1430
- function FeathersHookManager(app, method) {
1431
- var _this;
1385
+ EventEmitter.prototype.emit = function emit(type) {
1386
+ var args = [];
1387
+ for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
1388
+ var doError = (type === 'error');
1432
1389
 
1433
- _classCallCheck(this, FeathersHookManager);
1390
+ var events = this._events;
1391
+ if (events !== undefined)
1392
+ doError = (doError && events.error === undefined);
1393
+ else if (!doError)
1394
+ return false;
1434
1395
 
1435
- _this = _super.call(this);
1436
- _this.app = app;
1437
- _this.method = method;
1438
- _this._middleware = [];
1439
- return _this;
1396
+ // If there is no 'error' event listener then throw.
1397
+ if (doError) {
1398
+ var er;
1399
+ if (args.length > 0)
1400
+ er = args[0];
1401
+ if (er instanceof Error) {
1402
+ // Note: The comments on the `throw` lines are intentional, they show
1403
+ // up in Node's output if this results in an unhandled exception.
1404
+ throw er; // Unhandled 'error' event
1405
+ }
1406
+ // At least give some kind of context to the user
1407
+ var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
1408
+ err.context = er;
1409
+ throw err; // Unhandled 'error' event
1440
1410
  }
1441
1411
 
1442
- _createClass(FeathersHookManager, [{
1443
- key: "collectMiddleware",
1444
- value: function collectMiddleware(self, args) {
1445
- var app = this.app;
1446
- var appHooks = app.appHooks[dependencies_1.HOOKS].concat(app.appHooks[this.method] || []);
1447
- var legacyAppHooks = (0, legacy_1.collectLegacyHooks)(this.app, this.method);
1448
-
1449
- var middleware = _get(_getPrototypeOf(FeathersHookManager.prototype), "collectMiddleware", this).call(this, self, args);
1412
+ var handler = events[type];
1450
1413
 
1451
- var legacyHooks = (0, legacy_1.collectLegacyHooks)(self, this.method);
1452
- return [].concat(_toConsumableArray(appHooks), _toConsumableArray(legacyAppHooks), _toConsumableArray(middleware), _toConsumableArray(legacyHooks));
1453
- }
1454
- }, {
1455
- key: "initializeContext",
1456
- value: function initializeContext(self, args, context) {
1457
- var ctx = _get(_getPrototypeOf(FeathersHookManager.prototype), "initializeContext", this).call(this, self, args, context);
1414
+ if (handler === undefined)
1415
+ return false;
1458
1416
 
1459
- ctx.params = ctx.params || {};
1460
- return ctx;
1417
+ if (typeof handler === 'function') {
1418
+ ReflectApply(handler, this, args);
1419
+ } else {
1420
+ var len = handler.length;
1421
+ var listeners = arrayClone(handler, len);
1422
+ for (var i = 0; i < len; ++i)
1423
+ ReflectApply(listeners[i], this, args);
1424
+ }
1425
+
1426
+ return true;
1427
+ };
1428
+
1429
+ function _addListener(target, type, listener, prepend) {
1430
+ var m;
1431
+ var events;
1432
+ var existing;
1433
+
1434
+ checkListener(listener);
1435
+
1436
+ events = target._events;
1437
+ if (events === undefined) {
1438
+ events = target._events = Object.create(null);
1439
+ target._eventsCount = 0;
1440
+ } else {
1441
+ // To avoid recursion in the case that type === "newListener"! Before
1442
+ // adding it to the listeners, first emit "newListener".
1443
+ if (events.newListener !== undefined) {
1444
+ target.emit('newListener', type,
1445
+ listener.listener ? listener.listener : listener);
1446
+
1447
+ // Re-assign `events` because a newListener handler could have caused the
1448
+ // this._events to be assigned to a new object
1449
+ events = target._events;
1461
1450
  }
1462
- }, {
1463
- key: "middleware",
1464
- value: function middleware(mw) {
1465
- var _this$_middleware;
1451
+ existing = events[type];
1452
+ }
1466
1453
 
1467
- (_this$_middleware = this._middleware).push.apply(_this$_middleware, _toConsumableArray(mw));
1454
+ if (existing === undefined) {
1455
+ // Optimize the case of one listener. Don't need the extra array object.
1456
+ existing = events[type] = listener;
1457
+ ++target._eventsCount;
1458
+ } else {
1459
+ if (typeof existing === 'function') {
1460
+ // Adding the second element, need to change to array.
1461
+ existing = events[type] =
1462
+ prepend ? [listener, existing] : [existing, listener];
1463
+ // If we've already got an array, just append.
1464
+ } else if (prepend) {
1465
+ existing.unshift(listener);
1466
+ } else {
1467
+ existing.push(listener);
1468
+ }
1468
1469
 
1469
- return this;
1470
+ // Check for listener leak
1471
+ m = _getMaxListeners(target);
1472
+ if (m > 0 && existing.length > m && !existing.warned) {
1473
+ existing.warned = true;
1474
+ // No error code for this since it is a Warning
1475
+ // eslint-disable-next-line no-restricted-syntax
1476
+ var w = new Error('Possible EventEmitter memory leak detected. ' +
1477
+ existing.length + ' ' + String(type) + ' listeners ' +
1478
+ 'added. Use emitter.setMaxListeners() to ' +
1479
+ 'increase limit');
1480
+ w.name = 'MaxListenersExceededWarning';
1481
+ w.emitter = target;
1482
+ w.type = type;
1483
+ w.count = existing.length;
1484
+ ProcessEmitWarning(w);
1470
1485
  }
1471
- }]);
1486
+ }
1472
1487
 
1473
- return FeathersHookManager;
1474
- }(dependencies_1.HookManager);
1488
+ return target;
1489
+ }
1475
1490
 
1476
- exports.FeathersHookManager = FeathersHookManager;
1491
+ EventEmitter.prototype.addListener = function addListener(type, listener) {
1492
+ return _addListener(this, type, listener, false);
1493
+ };
1477
1494
 
1478
- function hookMixin(service, path, options) {
1479
- if (typeof service.hooks === 'function') {
1480
- return service;
1495
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1496
+
1497
+ EventEmitter.prototype.prependListener =
1498
+ function prependListener(type, listener) {
1499
+ return _addListener(this, type, listener, true);
1500
+ };
1501
+
1502
+ function onceWrapper() {
1503
+ if (!this.fired) {
1504
+ this.target.removeListener(this.type, this.wrapFn);
1505
+ this.fired = true;
1506
+ if (arguments.length === 0)
1507
+ return this.listener.call(this.target);
1508
+ return this.listener.apply(this.target, arguments);
1481
1509
  }
1510
+ }
1482
1511
 
1483
- var app = this;
1484
- var serviceMethodHooks = (0, service_1.getHookMethods)(service, options).reduce(function (res, method) {
1485
- var _FeathersHookManager;
1512
+ function _onceWrap(target, type, listener) {
1513
+ var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
1514
+ var wrapped = onceWrapper.bind(state);
1515
+ wrapped.listener = listener;
1516
+ state.wrapFn = wrapped;
1517
+ return wrapped;
1518
+ }
1486
1519
 
1487
- var params = service_1.defaultServiceArguments[method] || ['data', 'params'];
1488
- res[method] = (_FeathersHookManager = new FeathersHookManager(app, method)).params.apply(_FeathersHookManager, _toConsumableArray(params)).props({
1489
- app: app,
1490
- path: path,
1491
- method: method,
1492
- service: service,
1493
- event: null,
1494
- type: null
1495
- });
1496
- return res;
1497
- }, {});
1498
- var handleLegacyHooks = (0, legacy_1.enableLegacyHooks)(service);
1499
- (0, dependencies_1.hooks)(service, serviceMethodHooks);
1520
+ EventEmitter.prototype.once = function once(type, listener) {
1521
+ checkListener(listener);
1522
+ this.on(type, _onceWrap(this, type, listener));
1523
+ return this;
1524
+ };
1500
1525
 
1501
- service.hooks = function (hookOptions) {
1502
- var _this2 = this;
1526
+ EventEmitter.prototype.prependOnceListener =
1527
+ function prependOnceListener(type, listener) {
1528
+ checkListener(listener);
1529
+ this.prependListener(type, _onceWrap(this, type, listener));
1530
+ return this;
1531
+ };
1503
1532
 
1504
- if (hookOptions.before || hookOptions.after || hookOptions.error) {
1505
- return handleLegacyHooks.call(this, hookOptions);
1506
- }
1533
+ // Emits a 'removeListener' event if and only if the listener was removed.
1534
+ EventEmitter.prototype.removeListener =
1535
+ function removeListener(type, listener) {
1536
+ var list, events, position, i, originalListener;
1507
1537
 
1508
- if (Array.isArray(hookOptions)) {
1509
- return (0, dependencies_1.hooks)(this, hookOptions);
1510
- }
1538
+ checkListener(listener);
1511
1539
 
1512
- Object.keys(hookOptions).forEach(function (method) {
1513
- var manager = (0, dependencies_1.getManager)(_this2[method]);
1540
+ events = this._events;
1541
+ if (events === undefined)
1542
+ return this;
1514
1543
 
1515
- if (!(manager instanceof FeathersHookManager)) {
1516
- throw new Error("Method ".concat(method, " is not a Feathers hooks enabled service method"));
1544
+ list = events[type];
1545
+ if (list === undefined)
1546
+ return this;
1547
+
1548
+ if (list === listener || list.listener === listener) {
1549
+ if (--this._eventsCount === 0)
1550
+ this._events = Object.create(null);
1551
+ else {
1552
+ delete events[type];
1553
+ if (events.removeListener)
1554
+ this.emit('removeListener', type, list.listener || listener);
1555
+ }
1556
+ } else if (typeof list !== 'function') {
1557
+ position = -1;
1558
+
1559
+ for (i = list.length - 1; i >= 0; i--) {
1560
+ if (list[i] === listener || list[i].listener === listener) {
1561
+ originalListener = list[i].listener;
1562
+ position = i;
1563
+ break;
1564
+ }
1565
+ }
1566
+
1567
+ if (position < 0)
1568
+ return this;
1569
+
1570
+ if (position === 0)
1571
+ list.shift();
1572
+ else {
1573
+ spliceOne(list, position);
1574
+ }
1575
+
1576
+ if (list.length === 1)
1577
+ events[type] = list[0];
1578
+
1579
+ if (events.removeListener !== undefined)
1580
+ this.emit('removeListener', type, originalListener || listener);
1517
1581
  }
1518
1582
 
1519
- manager.middleware(hookOptions[method]);
1520
- });
1521
- return this;
1522
- };
1583
+ return this;
1584
+ };
1523
1585
 
1524
- return service;
1525
- }
1586
+ EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
1526
1587
 
1527
- exports.hookMixin = hookMixin;
1588
+ EventEmitter.prototype.removeAllListeners =
1589
+ function removeAllListeners(type) {
1590
+ var listeners, events, i;
1528
1591
 
1529
- /***/ }),
1592
+ events = this._events;
1593
+ if (events === undefined)
1594
+ return this;
1530
1595
 
1531
- /***/ "../feathers/lib/hooks/legacy.js":
1532
- /*!***************************************!*\
1533
- !*** ../feathers/lib/hooks/legacy.js ***!
1534
- \***************************************/
1535
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1596
+ // not listening for removeListener, no need to emit
1597
+ if (events.removeListener === undefined) {
1598
+ if (arguments.length === 0) {
1599
+ this._events = Object.create(null);
1600
+ this._eventsCount = 0;
1601
+ } else if (events[type] !== undefined) {
1602
+ if (--this._eventsCount === 0)
1603
+ this._events = Object.create(null);
1604
+ else
1605
+ delete events[type];
1606
+ }
1607
+ return this;
1608
+ }
1536
1609
 
1610
+ // emit removeListener for all listeners on all events
1611
+ if (arguments.length === 0) {
1612
+ var keys = Object.keys(events);
1613
+ var key;
1614
+ for (i = 0; i < keys.length; ++i) {
1615
+ key = keys[i];
1616
+ if (key === 'removeListener') continue;
1617
+ this.removeAllListeners(key);
1618
+ }
1619
+ this.removeAllListeners('removeListener');
1620
+ this._events = Object.create(null);
1621
+ this._eventsCount = 0;
1622
+ return this;
1623
+ }
1537
1624
 
1625
+ listeners = events[type];
1538
1626
 
1539
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
1627
+ if (typeof listeners === 'function') {
1628
+ this.removeListener(type, listeners);
1629
+ } else if (listeners !== undefined) {
1630
+ // LIFO order
1631
+ for (i = listeners.length - 1; i >= 0; i--) {
1632
+ this.removeListener(type, listeners[i]);
1633
+ }
1634
+ }
1540
1635
 
1541
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
1636
+ return this;
1637
+ };
1542
1638
 
1543
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
1639
+ function _listeners(target, type, unwrap) {
1640
+ var events = target._events;
1544
1641
 
1545
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
1642
+ if (events === undefined)
1643
+ return [];
1546
1644
 
1547
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1645
+ var evlistener = events[type];
1646
+ if (evlistener === undefined)
1647
+ return [];
1548
1648
 
1549
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
1649
+ if (typeof evlistener === 'function')
1650
+ return unwrap ? [evlistener.listener || evlistener] : [evlistener];
1651
+
1652
+ return unwrap ?
1653
+ unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
1654
+ }
1655
+
1656
+ EventEmitter.prototype.listeners = function listeners(type) {
1657
+ return _listeners(this, type, true);
1658
+ };
1659
+
1660
+ EventEmitter.prototype.rawListeners = function rawListeners(type) {
1661
+ return _listeners(this, type, false);
1662
+ };
1663
+
1664
+ EventEmitter.listenerCount = function(emitter, type) {
1665
+ if (typeof emitter.listenerCount === 'function') {
1666
+ return emitter.listenerCount(type);
1667
+ } else {
1668
+ return listenerCount.call(emitter, type);
1669
+ }
1670
+ };
1671
+
1672
+ EventEmitter.prototype.listenerCount = listenerCount;
1673
+ function listenerCount(type) {
1674
+ var events = this._events;
1675
+
1676
+ if (events !== undefined) {
1677
+ var evlistener = events[type];
1678
+
1679
+ if (typeof evlistener === 'function') {
1680
+ return 1;
1681
+ } else if (evlistener !== undefined) {
1682
+ return evlistener.length;
1683
+ }
1684
+ }
1685
+
1686
+ return 0;
1687
+ }
1688
+
1689
+ EventEmitter.prototype.eventNames = function eventNames() {
1690
+ return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
1691
+ };
1692
+
1693
+ function arrayClone(arr, n) {
1694
+ var copy = new Array(n);
1695
+ for (var i = 0; i < n; ++i)
1696
+ copy[i] = arr[i];
1697
+ return copy;
1698
+ }
1699
+
1700
+ function spliceOne(list, index) {
1701
+ for (; index + 1 < list.length; index++)
1702
+ list[index] = list[index + 1];
1703
+ list.pop();
1704
+ }
1705
+
1706
+ function unwrapListeners(arr) {
1707
+ var ret = new Array(arr.length);
1708
+ for (var i = 0; i < ret.length; ++i) {
1709
+ ret[i] = arr[i].listener || arr[i];
1710
+ }
1711
+ return ret;
1712
+ }
1713
+
1714
+ function once(emitter, name) {
1715
+ return new Promise(function (resolve, reject) {
1716
+ function errorListener(err) {
1717
+ emitter.removeListener(name, resolver);
1718
+ reject(err);
1719
+ }
1720
+
1721
+ function resolver() {
1722
+ if (typeof emitter.removeListener === 'function') {
1723
+ emitter.removeListener('error', errorListener);
1724
+ }
1725
+ resolve([].slice.call(arguments));
1726
+ };
1727
+
1728
+ eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
1729
+ if (name !== 'error') {
1730
+ addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
1731
+ }
1732
+ });
1733
+ }
1734
+
1735
+ function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
1736
+ if (typeof emitter.on === 'function') {
1737
+ eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
1738
+ }
1739
+ }
1740
+
1741
+ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
1742
+ if (typeof emitter.on === 'function') {
1743
+ if (flags.once) {
1744
+ emitter.once(name, listener);
1745
+ } else {
1746
+ emitter.on(name, listener);
1747
+ }
1748
+ } else if (typeof emitter.addEventListener === 'function') {
1749
+ // EventTarget does not have `error` event semantics like Node
1750
+ // EventEmitters, we do not listen for `error` events here.
1751
+ emitter.addEventListener(name, function wrapListener(arg) {
1752
+ // IE does not have builtin `{ once: true }` support so we
1753
+ // have to do it manually.
1754
+ if (flags.once) {
1755
+ emitter.removeEventListener(name, wrapListener);
1756
+ }
1757
+ listener(arg);
1758
+ });
1759
+ } else {
1760
+ throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
1761
+ }
1762
+ }
1763
+
1764
+
1765
+ /***/ }),
1766
+
1767
+ /***/ "./src/core.ts":
1768
+ /*!*********************!*\
1769
+ !*** ./src/core.ts ***!
1770
+ \*********************/
1771
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1772
+
1773
+
1774
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1775
+ if (k2 === undefined) k2 = k;
1776
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
1777
+ }) : (function(o, m, k, k2) {
1778
+ if (k2 === undefined) k2 = k;
1779
+ o[k2] = m[k];
1780
+ }));
1781
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1782
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1783
+ };
1784
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1785
+ __exportStar(__webpack_require__(/*! @feathersjs/feathers */ "../feathers/lib/index.js"), exports);
1786
+
1787
+
1788
+ /***/ }),
1789
+
1790
+ /***/ "../../node_modules/@feathersjs/hooks/script/base.js":
1791
+ /*!***********************************************************!*\
1792
+ !*** ../../node_modules/@feathersjs/hooks/script/base.js ***!
1793
+ \***********************************************************/
1794
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1795
+
1796
+
1797
+
1798
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
1799
+
1800
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
1801
+
1802
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
1803
+
1804
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1805
+
1806
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
1807
+
1808
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
1809
+
1810
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1811
+
1812
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
1813
+
1814
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
1815
+
1816
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
1817
+
1818
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1819
+
1820
+ Object.defineProperty(exports, "__esModule", ({
1821
+ value: true
1822
+ }));
1823
+ exports.setMiddleware = exports.getMiddleware = exports.setManager = exports.getManager = exports.convertOptions = exports.HookManager = exports.BaseHookContext = exports.HOOKS = void 0;
1824
+
1825
+ var utils_js_1 = __webpack_require__(/*! ./utils.js */ "../../node_modules/@feathersjs/hooks/script/utils.js");
1826
+
1827
+ exports.HOOKS = Symbol('@feathersjs/hooks');
1828
+ /**
1829
+ * The base hook context.
1830
+ */
1831
+
1832
+ var BaseHookContext = /*#__PURE__*/_createClass(function BaseHookContext() {
1833
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1834
+
1835
+ _classCallCheck(this, BaseHookContext);
1836
+
1837
+ Object.defineProperty(this, "self", {
1838
+ enumerable: true,
1839
+ configurable: true,
1840
+ writable: true,
1841
+ value: void 0
1842
+ });
1843
+ Object.assign(this, data);
1844
+ });
1845
+
1846
+ exports.BaseHookContext = BaseHookContext;
1847
+
1848
+ var HookManager = /*#__PURE__*/function () {
1849
+ function HookManager() {
1850
+ _classCallCheck(this, HookManager);
1851
+
1852
+ Object.defineProperty(this, "_parent", {
1853
+ enumerable: true,
1854
+ configurable: true,
1855
+ writable: true,
1856
+ value: null
1857
+ });
1858
+ Object.defineProperty(this, "_params", {
1859
+ enumerable: true,
1860
+ configurable: true,
1861
+ writable: true,
1862
+ value: null
1863
+ });
1864
+ Object.defineProperty(this, "_middleware", {
1865
+ enumerable: true,
1866
+ configurable: true,
1867
+ writable: true,
1868
+ value: null
1869
+ });
1870
+ Object.defineProperty(this, "_props", {
1871
+ enumerable: true,
1872
+ configurable: true,
1873
+ writable: true,
1874
+ value: null
1875
+ });
1876
+ Object.defineProperty(this, "_defaults", {
1877
+ enumerable: true,
1878
+ configurable: true,
1879
+ writable: true,
1880
+ value: void 0
1881
+ });
1882
+ }
1883
+
1884
+ _createClass(HookManager, [{
1885
+ key: "parent",
1886
+ value: function parent(_parent) {
1887
+ this._parent = _parent;
1888
+ return this;
1889
+ }
1890
+ }, {
1891
+ key: "middleware",
1892
+ value: function middleware(_middleware) {
1893
+ this._middleware = _middleware !== null && _middleware !== void 0 && _middleware.length ? _middleware : null;
1894
+ return this;
1895
+ }
1896
+ }, {
1897
+ key: "getMiddleware",
1898
+ value: function getMiddleware() {
1899
+ var _this$_parent;
1900
+
1901
+ var previous = (_this$_parent = this._parent) === null || _this$_parent === void 0 ? void 0 : _this$_parent.getMiddleware();
1902
+
1903
+ if (previous && this._middleware) {
1904
+ return previous.concat(this._middleware);
1905
+ }
1906
+
1907
+ return previous || this._middleware;
1908
+ }
1909
+ }, {
1910
+ key: "collectMiddleware",
1911
+ value: function collectMiddleware(self, _args) {
1912
+ var otherMiddleware = getMiddleware(self);
1913
+ var middleware = this.getMiddleware();
1914
+
1915
+ if (otherMiddleware && middleware) {
1916
+ return otherMiddleware.concat(middleware);
1917
+ }
1918
+
1919
+ return otherMiddleware || middleware || [];
1920
+ }
1921
+ }, {
1922
+ key: "props",
1923
+ value: function props(_props) {
1924
+ if (!this._props) {
1925
+ this._props = {};
1926
+ }
1927
+
1928
+ (0, utils_js_1.copyProperties)(this._props, _props);
1929
+ return this;
1930
+ }
1931
+ }, {
1932
+ key: "getProps",
1933
+ value: function getProps() {
1934
+ var _this$_parent2;
1935
+
1936
+ var previous = (_this$_parent2 = this._parent) === null || _this$_parent2 === void 0 ? void 0 : _this$_parent2.getProps();
1937
+
1938
+ if (previous && this._props) {
1939
+ return (0, utils_js_1.copyProperties)({}, previous, this._props);
1940
+ }
1941
+
1942
+ return previous || this._props || null;
1943
+ }
1944
+ }, {
1945
+ key: "params",
1946
+ value: function params() {
1947
+ for (var _len = arguments.length, _params = new Array(_len), _key = 0; _key < _len; _key++) {
1948
+ _params[_key] = arguments[_key];
1949
+ }
1950
+
1951
+ this._params = _params;
1952
+ return this;
1953
+ }
1954
+ }, {
1955
+ key: "getParams",
1956
+ value: function getParams() {
1957
+ var _this$_parent3;
1958
+
1959
+ var previous = (_this$_parent3 = this._parent) === null || _this$_parent3 === void 0 ? void 0 : _this$_parent3.getParams();
1960
+
1961
+ if (previous && this._params) {
1962
+ return previous.concat(this._params);
1963
+ }
1964
+
1965
+ return previous || this._params;
1966
+ }
1967
+ }, {
1968
+ key: "defaults",
1969
+ value: function defaults(_defaults) {
1970
+ this._defaults = _defaults;
1971
+ return this;
1972
+ }
1973
+ }, {
1974
+ key: "getDefaults",
1975
+ value: function getDefaults(self, args, context) {
1976
+ var _this$_parent4;
1550
1977
 
1551
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1978
+ var defaults = typeof this._defaults === 'function' ? this._defaults(self, args, context) : null;
1979
+ var previous = (_this$_parent4 = this._parent) === null || _this$_parent4 === void 0 ? void 0 : _this$_parent4.getDefaults(self, args, context);
1552
1980
 
1553
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1981
+ if (previous && defaults) {
1982
+ return Object.assign({}, previous, defaults);
1983
+ }
1554
1984
 
1555
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1985
+ return previous || defaults;
1986
+ }
1987
+ }, {
1988
+ key: "getContextClass",
1989
+ value: function getContextClass() {
1990
+ var Base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : BaseHookContext;
1556
1991
 
1557
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1992
+ var ContextClass = /*#__PURE__*/function (_Base) {
1993
+ _inherits(ContextClass, _Base);
1558
1994
 
1559
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1995
+ var _super = _createSuper(ContextClass);
1560
1996
 
1561
- Object.defineProperty(exports, "__esModule", ({
1562
- value: true
1563
- }));
1564
- exports.enableLegacyHooks = exports.convertHookData = exports.collectLegacyHooks = exports.fromErrorHooks = exports.fromAfterHook = exports.fromBeforeHook = void 0;
1997
+ function ContextClass(data) {
1998
+ var _this;
1565
1999
 
1566
- var dependencies_1 = __webpack_require__(/*! ../dependencies */ "../feathers/lib/dependencies.js");
2000
+ _classCallCheck(this, ContextClass);
1567
2001
 
1568
- var each = dependencies_1._.each;
2002
+ _this = _super.call(this, data);
2003
+ (0, utils_js_1.copyToSelf)(_assertThisInitialized(_this));
2004
+ return _this;
2005
+ }
1569
2006
 
1570
- var mergeContext = function mergeContext(context) {
1571
- return function (res) {
1572
- if (res && res !== context) {
1573
- Object.assign(context, res);
1574
- }
2007
+ return _createClass(ContextClass);
2008
+ }(Base);
1575
2009
 
1576
- return res;
1577
- };
1578
- };
2010
+ var params = this.getParams();
2011
+ var props = this.getProps();
1579
2012
 
1580
- function fromBeforeHook(hook) {
1581
- return function (context, next) {
1582
- context.type = 'before';
1583
- return Promise.resolve(hook.call(context.self, context)).then(mergeContext(context)).then(function () {
1584
- context.type = null;
1585
- return next();
1586
- });
1587
- };
1588
- }
2013
+ if (params) {
2014
+ params.forEach(function (name, index) {
2015
+ if ((props === null || props === void 0 ? void 0 : props[name]) !== undefined) {
2016
+ throw new Error("Hooks can not have a property and param named '".concat(name, "'. Use .defaults instead."));
2017
+ }
1589
2018
 
1590
- exports.fromBeforeHook = fromBeforeHook;
2019
+ Object.defineProperty(ContextClass.prototype, name, {
2020
+ enumerable: true,
2021
+ get: function get() {
2022
+ return this === null || this === void 0 ? void 0 : this.arguments[index];
2023
+ },
2024
+ set: function set(value) {
2025
+ this.arguments[index] = value;
2026
+ }
2027
+ });
2028
+ });
2029
+ }
1591
2030
 
1592
- function fromAfterHook(hook) {
1593
- return function (context, next) {
1594
- return next().then(function () {
1595
- context.type = 'after';
1596
- return hook.call(context.self, context);
1597
- }).then(mergeContext(context)).then(function () {
1598
- context.type = null;
1599
- });
1600
- };
1601
- }
2031
+ if (props) {
2032
+ (0, utils_js_1.copyProperties)(ContextClass.prototype, props);
2033
+ }
1602
2034
 
1603
- exports.fromAfterHook = fromAfterHook;
2035
+ return ContextClass;
2036
+ }
2037
+ }, {
2038
+ key: "initializeContext",
2039
+ value: function initializeContext(self, args, context) {
2040
+ var ctx = this._parent ? this._parent.initializeContext(self, args, context) : context;
2041
+ var defaults = this.getDefaults(self, args, ctx);
1604
2042
 
1605
- function fromErrorHooks(hooks) {
1606
- return function (context, next) {
1607
- return next().catch(function (error) {
1608
- var promise = Promise.resolve();
1609
- context.original = _objectSpread({}, context);
1610
- context.error = error;
1611
- context.type = 'error';
1612
- delete context.result;
2043
+ if (self) {
2044
+ ctx.self = self;
2045
+ }
1613
2046
 
1614
- var _iterator = _createForOfIteratorHelper(hooks),
1615
- _step;
2047
+ ctx.arguments = args;
1616
2048
 
1617
- try {
1618
- var _loop = function _loop() {
1619
- var hook = _step.value;
1620
- promise = promise.then(function () {
1621
- return hook.call(context.self, context);
1622
- }).then(mergeContext(context));
1623
- };
2049
+ if (defaults) {
2050
+ for (var _i = 0, _Object$keys = Object.keys(defaults); _i < _Object$keys.length; _i++) {
2051
+ var name = _Object$keys[_i];
1624
2052
 
1625
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1626
- _loop();
2053
+ if (ctx[name] === undefined) {
2054
+ ctx[name] = defaults[name];
2055
+ }
1627
2056
  }
1628
- } catch (err) {
1629
- _iterator.e(err);
1630
- } finally {
1631
- _iterator.f();
1632
2057
  }
1633
2058
 
1634
- return promise.then(function () {
1635
- context.type = null;
1636
-
1637
- if (context.result === undefined) {
1638
- throw context.error;
1639
- }
1640
- });
1641
- });
1642
- };
1643
- }
1644
-
1645
- exports.fromErrorHooks = fromErrorHooks;
1646
-
1647
- function collectLegacyHooks(target, method) {
1648
- var _target$__hooks = target.__hooks,
1649
- _target$__hooks$befor = _target$__hooks.before[method],
1650
- before = _target$__hooks$befor === void 0 ? [] : _target$__hooks$befor,
1651
- _target$__hooks$after = _target$__hooks.after[method],
1652
- after = _target$__hooks$after === void 0 ? [] : _target$__hooks$after,
1653
- _target$__hooks$error = _target$__hooks.error[method],
1654
- error = _target$__hooks$error === void 0 ? [] : _target$__hooks$error;
1655
- var beforeHooks = before;
1656
-
1657
- var afterHooks = _toConsumableArray(after).reverse();
2059
+ return ctx;
2060
+ }
2061
+ }]);
1658
2062
 
1659
- var errorHook = fromErrorHooks(error);
1660
- return [errorHook].concat(_toConsumableArray(beforeHooks), _toConsumableArray(afterHooks));
1661
- }
2063
+ return HookManager;
2064
+ }();
1662
2065
 
1663
- exports.collectLegacyHooks = collectLegacyHooks; // Converts different hook registration formats into the
1664
- // same internal format
2066
+ exports.HookManager = HookManager;
1665
2067
 
1666
- function convertHookData(obj) {
1667
- var hook = {};
2068
+ function convertOptions() {
2069
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1668
2070
 
1669
- if (Array.isArray(obj)) {
1670
- hook = {
1671
- all: obj
1672
- };
1673
- } else if (_typeof(obj) !== 'object') {
1674
- hook = {
1675
- all: [obj]
1676
- };
1677
- } else {
1678
- each(obj, function (value, key) {
1679
- hook[key] = !Array.isArray(value) ? [value] : value;
1680
- });
2071
+ if (!options) {
2072
+ return new HookManager();
1681
2073
  }
1682
2074
 
1683
- return hook;
2075
+ return Array.isArray(options) ? new HookManager().middleware(options) : options;
1684
2076
  }
1685
2077
 
1686
- exports.convertHookData = convertHookData; // Add `.hooks` functionality to an object
1687
-
1688
- function enableLegacyHooks(obj) {
1689
- var methods = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['find', 'get', 'create', 'update', 'patch', 'remove'];
1690
- var types = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ['before', 'after', 'error'];
1691
- var hookData = {};
1692
- types.forEach(function (type) {
1693
- // Initialize properties where hook functions are stored
1694
- hookData[type] = {};
1695
- }); // Add non-enumerable `__hooks` property to the object
2078
+ exports.convertOptions = convertOptions;
1696
2079
 
1697
- Object.defineProperty(obj, '__hooks', {
1698
- configurable: true,
1699
- value: hookData,
1700
- writable: true
1701
- });
1702
- return function legacyHooks(allHooks) {
1703
- var _this = this;
2080
+ function getManager(target) {
2081
+ return target && target[exports.HOOKS] || null;
2082
+ }
1704
2083
 
1705
- each(allHooks, function (current, type) {
1706
- if (!_this.__hooks[type]) {
1707
- throw new Error("'".concat(type, "' is not a valid hook type"));
1708
- }
2084
+ exports.getManager = getManager;
1709
2085
 
1710
- var hooks = convertHookData(current);
1711
- each(hooks, function (_value, method) {
1712
- if (method !== 'all' && methods.indexOf(method) === -1) {
1713
- throw new Error("'".concat(method, "' is not a valid hook method"));
1714
- }
1715
- });
1716
- methods.forEach(function (method) {
1717
- var _this$__hooks$type$me;
2086
+ function setManager(target, manager) {
2087
+ var parent = getManager(target);
2088
+ target[exports.HOOKS] = manager.parent(parent);
2089
+ return target;
2090
+ }
1718
2091
 
1719
- var currentHooks = [].concat(_toConsumableArray(hooks.all || []), _toConsumableArray(hooks[method] || []));
1720
- _this.__hooks[type][method] = _this.__hooks[type][method] || [];
2092
+ exports.setManager = setManager;
1721
2093
 
1722
- if (type === 'before') {
1723
- currentHooks = currentHooks.map(fromBeforeHook);
1724
- }
2094
+ function getMiddleware(target) {
2095
+ var manager = getManager(target);
2096
+ return manager ? manager.getMiddleware() : null;
2097
+ }
1725
2098
 
1726
- if (type === 'after') {
1727
- currentHooks = currentHooks.map(fromAfterHook);
1728
- }
2099
+ exports.getMiddleware = getMiddleware;
1729
2100
 
1730
- (_this$__hooks$type$me = _this.__hooks[type][method]).push.apply(_this$__hooks$type$me, _toConsumableArray(currentHooks));
1731
- });
1732
- });
1733
- return this;
1734
- };
2101
+ function setMiddleware(target, middleware) {
2102
+ var manager = new HookManager().middleware(middleware);
2103
+ return setManager(target, manager);
1735
2104
  }
1736
2105
 
1737
- exports.enableLegacyHooks = enableLegacyHooks;
2106
+ exports.setMiddleware = setMiddleware;
1738
2107
 
1739
2108
  /***/ }),
1740
2109
 
1741
- /***/ "../feathers/lib/index.js":
1742
- /*!********************************!*\
1743
- !*** ../feathers/lib/index.js ***!
1744
- \********************************/
1745
- /***/ (function(module, exports, __webpack_require__) {
2110
+ /***/ "../../node_modules/@feathersjs/hooks/script/compose.js":
2111
+ /*!**************************************************************!*\
2112
+ !*** ../../node_modules/@feathersjs/hooks/script/compose.js ***!
2113
+ \**************************************************************/
2114
+ /***/ (function(__unused_webpack_module, exports) {
1746
2115
 
1747
2116
 
1748
2117
 
1749
- var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
1750
- if (k2 === undefined) k2 = k;
1751
- Object.defineProperty(o, k2, {
1752
- enumerable: true,
1753
- get: function get() {
1754
- return m[k];
1755
- }
1756
- });
1757
- } : function (o, m, k, k2) {
1758
- if (k2 === undefined) k2 = k;
1759
- o[k2] = m[k];
1760
- });
2118
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
1761
2119
 
1762
- var __exportStar = this && this.__exportStar || function (m, exports) {
1763
- for (var p in m) {
1764
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1765
- }
1766
- };
2120
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1767
2121
 
1768
- var __importDefault = this && this.__importDefault || function (mod) {
1769
- return mod && mod.__esModule ? mod : {
1770
- "default": mod
1771
- };
1772
- };
2122
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1773
2123
 
1774
2124
  Object.defineProperty(exports, "__esModule", ({
1775
2125
  value: true
1776
2126
  }));
1777
- exports.Feathers = exports.version = exports.feathers = void 0;
1778
-
1779
- var dependencies_1 = __webpack_require__(/*! ./dependencies */ "../feathers/lib/dependencies.js");
2127
+ exports.compose = void 0;
1780
2128
 
1781
- var version_1 = __importDefault(__webpack_require__(/*! ./version */ "../feathers/lib/version.js"));
2129
+ function compose(middleware) {
2130
+ if (!Array.isArray(middleware)) {
2131
+ throw new TypeError('Middleware stack must be an array!');
2132
+ }
1782
2133
 
1783
- exports.version = version_1.default;
2134
+ var _iterator = _createForOfIteratorHelper(middleware),
2135
+ _step;
1784
2136
 
1785
- var application_1 = __webpack_require__(/*! ./application */ "../feathers/lib/application.js");
2137
+ try {
2138
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
2139
+ var fn = _step.value;
1786
2140
 
1787
- Object.defineProperty(exports, "Feathers", ({
1788
- enumerable: true,
1789
- get: function get() {
1790
- return application_1.Feathers;
2141
+ if (typeof fn !== 'function') {
2142
+ throw new TypeError('Middleware must be composed of functions!');
2143
+ }
2144
+ }
2145
+ } catch (err) {
2146
+ _iterator.e(err);
2147
+ } finally {
2148
+ _iterator.f();
1791
2149
  }
1792
- }));
1793
2150
 
1794
- function feathers() {
1795
- return new application_1.Feathers();
1796
- }
2151
+ return function (context, next) {
2152
+ // last called middleware #
2153
+ var index = -1;
2154
+ return dispatch.call(this, 0);
1797
2155
 
1798
- exports.feathers = feathers;
1799
- feathers.setDebug = dependencies_1.setDebug;
2156
+ function dispatch(i) {
2157
+ if (i <= index) {
2158
+ return Promise.reject(new Error('next() called multiple times'));
2159
+ }
1800
2160
 
1801
- __exportStar(__webpack_require__(/*! ./hooks/index */ "../feathers/lib/hooks/index.js"), exports);
2161
+ index = i;
2162
+ var fn = middleware[i];
1802
2163
 
1803
- __exportStar(__webpack_require__(/*! ./declarations */ "../feathers/lib/declarations.js"), exports);
2164
+ if (i === middleware.length) {
2165
+ fn = next;
2166
+ }
1804
2167
 
1805
- __exportStar(__webpack_require__(/*! ./service */ "../feathers/lib/service.js"), exports);
2168
+ if (!fn) {
2169
+ return Promise.resolve();
2170
+ }
1806
2171
 
1807
- if (true) {
1808
- module.exports = Object.assign(feathers, module.exports);
2172
+ try {
2173
+ return Promise.resolve(fn.call(this, context, dispatch.bind(this, i + 1)));
2174
+ } catch (err) {
2175
+ return Promise.reject(err);
2176
+ }
2177
+ }
2178
+ };
1809
2179
  }
1810
2180
 
2181
+ exports.compose = compose;
2182
+
1811
2183
  /***/ }),
1812
2184
 
1813
- /***/ "../feathers/lib/service.js":
1814
- /*!**********************************!*\
1815
- !*** ../feathers/lib/service.js ***!
1816
- \**********************************/
2185
+ /***/ "../../node_modules/@feathersjs/hooks/script/hooks.js":
2186
+ /*!************************************************************!*\
2187
+ !*** ../../node_modules/@feathersjs/hooks/script/hooks.js ***!
2188
+ \************************************************************/
1817
2189
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1818
2190
 
1819
2191
 
1820
2192
 
1821
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1822
-
1823
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1824
-
1825
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1826
-
1827
2193
  Object.defineProperty(exports, "__esModule", ({
1828
2194
  value: true
1829
2195
  }));
1830
- exports.wrapService = exports.getServiceOptions = exports.getHookMethods = exports.protectedMethods = exports.defaultEventMap = exports.defaultServiceMethods = exports.defaultServiceArguments = exports.SERVICE = void 0;
1831
-
1832
- var dependencies_1 = __webpack_require__(/*! ./dependencies */ "../feathers/lib/dependencies.js");
1833
-
1834
- exports.SERVICE = (0, dependencies_1.createSymbol)('@feathersjs/service');
1835
- exports.defaultServiceArguments = {
1836
- find: ['params'],
1837
- get: ['id', 'params'],
1838
- create: ['data', 'params'],
1839
- update: ['id', 'data', 'params'],
1840
- patch: ['id', 'data', 'params'],
1841
- remove: ['id', 'params']
1842
- };
1843
- exports.defaultServiceMethods = Object.keys(exports.defaultServiceArguments);
1844
- exports.defaultEventMap = {
1845
- create: 'created',
1846
- update: 'updated',
1847
- patch: 'patched',
1848
- remove: 'removed'
1849
- };
1850
- exports.protectedMethods = Object.keys(Object.prototype).concat(Object.keys(dependencies_1.EventEmitter.prototype)).concat(['before', 'after', 'error', 'hooks', 'setup', 'publish']);
1851
-
1852
- function getHookMethods(service, options) {
1853
- var methods = options.methods;
1854
- return exports.defaultServiceMethods.filter(function (m) {
1855
- return typeof service[m] === 'function' && !methods.includes(m);
1856
- }).concat(methods);
1857
- }
2196
+ exports.hookDecorator = exports.objectHooks = exports.functionHooks = exports.getOriginal = void 0;
1858
2197
 
1859
- exports.getHookMethods = getHookMethods;
2198
+ var compose_js_1 = __webpack_require__(/*! ./compose.js */ "../../node_modules/@feathersjs/hooks/script/compose.js");
1860
2199
 
1861
- function getServiceOptions(service) {
1862
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1863
- var existingOptions = service[exports.SERVICE];
2200
+ var base_js_1 = __webpack_require__(/*! ./base.js */ "../../node_modules/@feathersjs/hooks/script/base.js");
1864
2201
 
1865
- if (existingOptions) {
1866
- return existingOptions;
1867
- }
2202
+ var utils_js_1 = __webpack_require__(/*! ./utils.js */ "../../node_modules/@feathersjs/hooks/script/utils.js");
1868
2203
 
1869
- var _options$methods = options.methods,
1870
- methods = _options$methods === void 0 ? exports.defaultServiceMethods.filter(function (method) {
1871
- return typeof service[method] === 'function';
1872
- }) : _options$methods,
1873
- _options$events = options.events,
1874
- events = _options$events === void 0 ? service.events || [] : _options$events;
1875
- var _options$serviceEvent = options.serviceEvents,
1876
- serviceEvents = _options$serviceEvent === void 0 ? Object.values(exports.defaultEventMap).concat(events) : _options$serviceEvent;
1877
- return _objectSpread(_objectSpread({}, options), {}, {
1878
- events: events,
1879
- methods: methods,
1880
- serviceEvents: serviceEvents
1881
- });
2204
+ function getOriginal(fn) {
2205
+ return typeof fn.original === 'function' ? getOriginal(fn.original) : fn;
1882
2206
  }
1883
2207
 
1884
- exports.getServiceOptions = getServiceOptions;
1885
-
1886
- function wrapService(location, service, options) {
1887
- // Do nothing if this is already an initialized
1888
- if (service[exports.SERVICE]) {
1889
- return service;
1890
- }
1891
-
1892
- var protoService = Object.create(service);
1893
- var serviceOptions = getServiceOptions(service, options);
2208
+ exports.getOriginal = getOriginal;
1894
2209
 
1895
- if (Object.keys(serviceOptions.methods).length === 0 && typeof service.setup !== 'function') {
1896
- throw new Error("Invalid service object passed for path `".concat(location, "`"));
2210
+ function functionHooks(fn, managerOrMiddleware) {
2211
+ if (typeof fn !== 'function') {
2212
+ throw new Error('Can not apply hooks to non-function');
1897
2213
  }
1898
2214
 
1899
- Object.defineProperty(protoService, exports.SERVICE, {
1900
- value: serviceOptions
1901
- });
1902
- return protoService;
1903
- }
1904
-
1905
- exports.wrapService = wrapService;
2215
+ var manager = (0, base_js_1.convertOptions)(managerOrMiddleware);
1906
2216
 
1907
- /***/ }),
2217
+ var wrapper = function wrapper() {
2218
+ var _this = this;
1908
2219
 
1909
- /***/ "../feathers/lib/version.js":
1910
- /*!**********************************!*\
1911
- !*** ../feathers/lib/version.js ***!
1912
- \**********************************/
1913
- /***/ (function(__unused_webpack_module, exports) {
2220
+ var Context = wrapper.Context,
2221
+ original = wrapper.original; // If we got passed an existing HookContext instance, we want to return it as well
1914
2222
 
2223
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2224
+ args[_key] = arguments[_key];
2225
+ }
1915
2226
 
2227
+ var returnContext = args[args.length - 1] instanceof Context; // Use existing context or default
1916
2228
 
1917
- Object.defineProperty(exports, "__esModule", ({
1918
- value: true
1919
- }));
1920
- exports["default"] = 'development';
2229
+ var base = returnContext ? args.pop() : new Context(); // Initialize the context
1921
2230
 
1922
- /***/ }),
2231
+ var context = manager.initializeContext(this, args, base); // Assemble the hook chain
1923
2232
 
1924
- /***/ "../../node_modules/events/events.js":
1925
- /*!*******************************************!*\
1926
- !*** ../../node_modules/events/events.js ***!
1927
- \*******************************************/
1928
- /***/ (function(module) {
2233
+ var hookChain = [// Return `ctx.result` or the context
2234
+ function (ctx, next) {
2235
+ return next().then(function () {
2236
+ return returnContext ? ctx : ctx.result;
2237
+ });
2238
+ }]; // Create the hook chain by calling the `collectMiddleware function
1929
2239
 
1930
- // Copyright Joyent, Inc. and other Node contributors.
1931
- //
1932
- // Permission is hereby granted, free of charge, to any person obtaining a
1933
- // copy of this software and associated documentation files (the
1934
- // "Software"), to deal in the Software without restriction, including
1935
- // without limitation the rights to use, copy, modify, merge, publish,
1936
- // distribute, sublicense, and/or sell copies of the Software, and to permit
1937
- // persons to whom the Software is furnished to do so, subject to the
1938
- // following conditions:
1939
- //
1940
- // The above copyright notice and this permission notice shall be included
1941
- // in all copies or substantial portions of the Software.
1942
- //
1943
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1944
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1945
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1946
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1947
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1948
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1949
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
2240
+ var mw = manager.collectMiddleware(this, args);
1950
2241
 
2242
+ if (mw) {
2243
+ Array.prototype.push.apply(hookChain, mw);
2244
+ } // Runs the actual original method if `ctx.result` is not already set
1951
2245
 
1952
2246
 
1953
- var R = typeof Reflect === 'object' ? Reflect : null
1954
- var ReflectApply = R && typeof R.apply === 'function'
1955
- ? R.apply
1956
- : function ReflectApply(target, receiver, args) {
1957
- return Function.prototype.apply.call(target, receiver, args);
1958
- }
2247
+ hookChain.push(function (ctx, next) {
2248
+ if (!Object.prototype.hasOwnProperty.call(context, 'result')) {
2249
+ return Promise.resolve(original.apply(_this, ctx.arguments)).then(function (result) {
2250
+ ctx.result = result;
2251
+ return next();
2252
+ });
2253
+ }
1959
2254
 
1960
- var ReflectOwnKeys
1961
- if (R && typeof R.ownKeys === 'function') {
1962
- ReflectOwnKeys = R.ownKeys
1963
- } else if (Object.getOwnPropertySymbols) {
1964
- ReflectOwnKeys = function ReflectOwnKeys(target) {
1965
- return Object.getOwnPropertyNames(target)
1966
- .concat(Object.getOwnPropertySymbols(target));
1967
- };
1968
- } else {
1969
- ReflectOwnKeys = function ReflectOwnKeys(target) {
1970
- return Object.getOwnPropertyNames(target);
2255
+ return next();
2256
+ });
2257
+ return (0, compose_js_1.compose)(hookChain).call(this, context);
1971
2258
  };
1972
- }
1973
2259
 
1974
- function ProcessEmitWarning(warning) {
1975
- if (console && console.warn) console.warn(warning);
2260
+ (0, utils_js_1.copyFnProperties)(wrapper, fn);
2261
+ (0, utils_js_1.copyProperties)(wrapper, fn);
2262
+ (0, base_js_1.setManager)(wrapper, manager);
2263
+ return Object.assign(wrapper, {
2264
+ original: getOriginal(fn),
2265
+ Context: manager.getContextClass(),
2266
+ createContext: function createContext() {
2267
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2268
+ return new wrapper.Context(data);
2269
+ }
2270
+ });
1976
2271
  }
1977
2272
 
1978
- var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
1979
- return value !== value;
1980
- }
2273
+ exports.functionHooks = functionHooks;
1981
2274
 
1982
- function EventEmitter() {
1983
- EventEmitter.init.call(this);
1984
- }
1985
- module.exports = EventEmitter;
1986
- module.exports.once = once;
2275
+ function objectHooks(_obj, hooks) {
2276
+ var obj = typeof _obj === 'function' ? _obj.prototype : _obj;
1987
2277
 
1988
- // Backwards-compat with node 0.10.x
1989
- EventEmitter.EventEmitter = EventEmitter;
2278
+ if (Array.isArray(hooks)) {
2279
+ return (0, base_js_1.setMiddleware)(obj, hooks);
2280
+ }
1990
2281
 
1991
- EventEmitter.prototype._events = undefined;
1992
- EventEmitter.prototype._eventsCount = 0;
1993
- EventEmitter.prototype._maxListeners = undefined;
2282
+ return Object.keys(hooks).reduce(function (result, method) {
2283
+ var fn = obj[method];
1994
2284
 
1995
- // By default EventEmitters will print a warning if more than 10 listeners are
1996
- // added to it. This is a useful default which helps finding memory leaks.
1997
- var defaultMaxListeners = 10;
2285
+ if (typeof fn !== 'function') {
2286
+ throw new Error("Can not apply hooks. '".concat(method, "' is not a function"));
2287
+ }
1998
2288
 
1999
- function checkListener(listener) {
2000
- if (typeof listener !== 'function') {
2001
- throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
2002
- }
2289
+ var manager = (0, base_js_1.convertOptions)(hooks[method]);
2290
+ result[method] = functionHooks(fn, manager.props({
2291
+ method: method
2292
+ }));
2293
+ return result;
2294
+ }, obj);
2003
2295
  }
2004
2296
 
2005
- Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
2006
- enumerable: true,
2007
- get: function() {
2008
- return defaultMaxListeners;
2009
- },
2010
- set: function(arg) {
2011
- if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
2012
- throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
2013
- }
2014
- defaultMaxListeners = arg;
2015
- }
2016
- });
2297
+ exports.objectHooks = objectHooks;
2017
2298
 
2018
- EventEmitter.init = function() {
2299
+ var hookDecorator = function hookDecorator(managerOrMiddleware) {
2300
+ var wrapper = function wrapper(_target, method, descriptor) {
2301
+ var manager = (0, base_js_1.convertOptions)(managerOrMiddleware);
2019
2302
 
2020
- if (this._events === undefined ||
2021
- this._events === Object.getPrototypeOf(this)._events) {
2022
- this._events = Object.create(null);
2023
- this._eventsCount = 0;
2024
- }
2303
+ if (!descriptor) {
2304
+ (0, base_js_1.setManager)(_target.prototype, manager);
2305
+ return _target;
2306
+ }
2025
2307
 
2026
- this._maxListeners = this._maxListeners || undefined;
2027
- };
2308
+ var fn = descriptor.value;
2028
2309
 
2029
- // Obviously not all Emitters should be limited to 10. This function allows
2030
- // that to be increased. Set to zero for unlimited.
2031
- EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
2032
- if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
2033
- throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
2034
- }
2035
- this._maxListeners = n;
2036
- return this;
2037
- };
2310
+ if (typeof fn !== 'function') {
2311
+ throw new Error("Can not apply hooks. '".concat(method, "' is not a function"));
2312
+ }
2038
2313
 
2039
- function _getMaxListeners(that) {
2040
- if (that._maxListeners === undefined)
2041
- return EventEmitter.defaultMaxListeners;
2042
- return that._maxListeners;
2043
- }
2314
+ descriptor.value = functionHooks(fn, manager.props({
2315
+ method: method
2316
+ }));
2317
+ return descriptor;
2318
+ };
2044
2319
 
2045
- EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
2046
- return _getMaxListeners(this);
2320
+ return wrapper;
2047
2321
  };
2048
2322
 
2049
- EventEmitter.prototype.emit = function emit(type) {
2050
- var args = [];
2051
- for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
2052
- var doError = (type === 'error');
2323
+ exports.hookDecorator = hookDecorator;
2053
2324
 
2054
- var events = this._events;
2055
- if (events !== undefined)
2056
- doError = (doError && events.error === undefined);
2057
- else if (!doError)
2058
- return false;
2325
+ /***/ }),
2059
2326
 
2060
- // If there is no 'error' event listener then throw.
2061
- if (doError) {
2062
- var er;
2063
- if (args.length > 0)
2064
- er = args[0];
2065
- if (er instanceof Error) {
2066
- // Note: The comments on the `throw` lines are intentional, they show
2067
- // up in Node's output if this results in an unhandled exception.
2068
- throw er; // Unhandled 'error' event
2069
- }
2070
- // At least give some kind of context to the user
2071
- var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
2072
- err.context = er;
2073
- throw err; // Unhandled 'error' event
2074
- }
2327
+ /***/ "../../node_modules/@feathersjs/hooks/script/index.js":
2328
+ /*!************************************************************!*\
2329
+ !*** ../../node_modules/@feathersjs/hooks/script/index.js ***!
2330
+ \************************************************************/
2331
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2075
2332
 
2076
- var handler = events[type];
2077
2333
 
2078
- if (handler === undefined)
2079
- return false;
2080
2334
 
2081
- if (typeof handler === 'function') {
2082
- ReflectApply(handler, this, args);
2083
- } else {
2084
- var len = handler.length;
2085
- var listeners = arrayClone(handler, len);
2086
- for (var i = 0; i < len; ++i)
2087
- ReflectApply(listeners[i], this, args);
2088
- }
2335
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2089
2336
 
2090
- return true;
2091
- };
2337
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
2092
2338
 
2093
- function _addListener(target, type, listener, prepend) {
2094
- var m;
2095
- var events;
2096
- var existing;
2339
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2097
2340
 
2098
- checkListener(listener);
2341
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
2099
2342
 
2100
- events = target._events;
2101
- if (events === undefined) {
2102
- events = target._events = Object.create(null);
2103
- target._eventsCount = 0;
2104
- } else {
2105
- // To avoid recursion in the case that type === "newListener"! Before
2106
- // adding it to the listeners, first emit "newListener".
2107
- if (events.newListener !== undefined) {
2108
- target.emit('newListener', type,
2109
- listener.listener ? listener.listener : listener);
2343
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
2110
2344
 
2111
- // Re-assign `events` because a newListener handler could have caused the
2112
- // this._events to be assigned to a new object
2113
- events = target._events;
2114
- }
2115
- existing = events[type];
2116
- }
2345
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2117
2346
 
2118
- if (existing === undefined) {
2119
- // Optimize the case of one listener. Don't need the extra array object.
2120
- existing = events[type] = listener;
2121
- ++target._eventsCount;
2122
- } else {
2123
- if (typeof existing === 'function') {
2124
- // Adding the second element, need to change to array.
2125
- existing = events[type] =
2126
- prepend ? [listener, existing] : [existing, listener];
2127
- // If we've already got an array, just append.
2128
- } else if (prepend) {
2129
- existing.unshift(listener);
2130
- } else {
2131
- existing.push(listener);
2347
+ var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
2348
+ if (k2 === undefined) k2 = k;
2349
+ Object.defineProperty(o, k2, {
2350
+ enumerable: true,
2351
+ get: function get() {
2352
+ return m[k];
2132
2353
  }
2354
+ });
2355
+ } : function (o, m, k, k2) {
2356
+ if (k2 === undefined) k2 = k;
2357
+ o[k2] = m[k];
2358
+ });
2133
2359
 
2134
- // Check for listener leak
2135
- m = _getMaxListeners(target);
2136
- if (m > 0 && existing.length > m && !existing.warned) {
2137
- existing.warned = true;
2138
- // No error code for this since it is a Warning
2139
- // eslint-disable-next-line no-restricted-syntax
2140
- var w = new Error('Possible EventEmitter memory leak detected. ' +
2141
- existing.length + ' ' + String(type) + ' listeners ' +
2142
- 'added. Use emitter.setMaxListeners() to ' +
2143
- 'increase limit');
2144
- w.name = 'MaxListenersExceededWarning';
2145
- w.emitter = target;
2146
- w.type = type;
2147
- w.count = existing.length;
2148
- ProcessEmitWarning(w);
2149
- }
2360
+ var __exportStar = this && this.__exportStar || function (m, exports) {
2361
+ for (var p in m) {
2362
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
2150
2363
  }
2151
-
2152
- return target;
2153
- }
2154
-
2155
- EventEmitter.prototype.addListener = function addListener(type, listener) {
2156
- return _addListener(this, type, listener, false);
2157
2364
  };
2158
2365
 
2159
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
2366
+ Object.defineProperty(exports, "__esModule", ({
2367
+ value: true
2368
+ }));
2369
+ exports.hooks = exports.middleware = void 0;
2160
2370
 
2161
- EventEmitter.prototype.prependListener =
2162
- function prependListener(type, listener) {
2163
- return _addListener(this, type, listener, true);
2164
- };
2371
+ var base_js_1 = __webpack_require__(/*! ./base.js */ "../../node_modules/@feathersjs/hooks/script/base.js");
2165
2372
 
2166
- function onceWrapper() {
2167
- if (!this.fired) {
2168
- this.target.removeListener(this.type, this.wrapFn);
2169
- this.fired = true;
2170
- if (arguments.length === 0)
2171
- return this.listener.call(this.target);
2172
- return this.listener.apply(this.target, arguments);
2173
- }
2174
- }
2373
+ var hooks_js_1 = __webpack_require__(/*! ./hooks.js */ "../../node_modules/@feathersjs/hooks/script/hooks.js");
2175
2374
 
2176
- function _onceWrap(target, type, listener) {
2177
- var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
2178
- var wrapped = onceWrapper.bind(state);
2179
- wrapped.listener = listener;
2180
- state.wrapFn = wrapped;
2181
- return wrapped;
2182
- }
2375
+ __exportStar(__webpack_require__(/*! ./hooks.js */ "../../node_modules/@feathersjs/hooks/script/hooks.js"), exports);
2183
2376
 
2184
- EventEmitter.prototype.once = function once(type, listener) {
2185
- checkListener(listener);
2186
- this.on(type, _onceWrap(this, type, listener));
2187
- return this;
2188
- };
2377
+ __exportStar(__webpack_require__(/*! ./compose.js */ "../../node_modules/@feathersjs/hooks/script/compose.js"), exports);
2189
2378
 
2190
- EventEmitter.prototype.prependOnceListener =
2191
- function prependOnceListener(type, listener) {
2192
- checkListener(listener);
2193
- this.prependListener(type, _onceWrap(this, type, listener));
2194
- return this;
2195
- };
2379
+ __exportStar(__webpack_require__(/*! ./base.js */ "../../node_modules/@feathersjs/hooks/script/base.js"), exports);
2196
2380
 
2197
- // Emits a 'removeListener' event if and only if the listener was removed.
2198
- EventEmitter.prototype.removeListener =
2199
- function removeListener(type, listener) {
2200
- var list, events, position, i, originalListener;
2381
+ __exportStar(__webpack_require__(/*! ./regular.js */ "../../node_modules/@feathersjs/hooks/script/regular.js"), exports);
2382
+ /**
2383
+ * Initializes a hook settings object with the given middleware.
2384
+ * @param mw The list of middleware
2385
+ * @param options Middleware options (params, default, props)
2386
+ */
2201
2387
 
2202
- checkListener(listener);
2203
2388
 
2204
- events = this._events;
2205
- if (events === undefined)
2206
- return this;
2389
+ function middleware(mw, options) {
2390
+ var manager = new base_js_1.HookManager().middleware(mw);
2207
2391
 
2208
- list = events[type];
2209
- if (list === undefined)
2210
- return this;
2392
+ if (options) {
2393
+ if (options.params) {
2394
+ manager.params.apply(manager, _toConsumableArray(options.params));
2395
+ }
2211
2396
 
2212
- if (list === listener || list.listener === listener) {
2213
- if (--this._eventsCount === 0)
2214
- this._events = Object.create(null);
2215
- else {
2216
- delete events[type];
2217
- if (events.removeListener)
2218
- this.emit('removeListener', type, list.listener || listener);
2219
- }
2220
- } else if (typeof list !== 'function') {
2221
- position = -1;
2397
+ if (options.defaults) {
2398
+ manager.defaults(options.defaults);
2399
+ }
2222
2400
 
2223
- for (i = list.length - 1; i >= 0; i--) {
2224
- if (list[i] === listener || list[i].listener === listener) {
2225
- originalListener = list[i].listener;
2226
- position = i;
2227
- break;
2228
- }
2229
- }
2401
+ if (options.props) {
2402
+ manager.props(options.props);
2403
+ }
2404
+ }
2230
2405
 
2231
- if (position < 0)
2232
- return this;
2406
+ return manager;
2407
+ }
2233
2408
 
2234
- if (position === 0)
2235
- list.shift();
2236
- else {
2237
- spliceOne(list, position);
2238
- }
2409
+ exports.middleware = middleware; // Fallthrough to actual implementation
2239
2410
 
2240
- if (list.length === 1)
2241
- events[type] = list[0];
2411
+ function hooks() {
2412
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2413
+ args[_key] = arguments[_key];
2414
+ }
2242
2415
 
2243
- if (events.removeListener !== undefined)
2244
- this.emit('removeListener', type, originalListener || listener);
2245
- }
2416
+ var target = args[0],
2417
+ _hooks = args[1];
2246
2418
 
2247
- return this;
2248
- };
2419
+ if (typeof target === 'function' && (_hooks instanceof base_js_1.HookManager || Array.isArray(_hooks) || args.length === 1)) {
2420
+ return (0, hooks_js_1.functionHooks)(target, _hooks);
2421
+ }
2249
2422
 
2250
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
2423
+ if (args.length === 2) {
2424
+ return (0, hooks_js_1.objectHooks)(target, _hooks);
2425
+ }
2251
2426
 
2252
- EventEmitter.prototype.removeAllListeners =
2253
- function removeAllListeners(type) {
2254
- var listeners, events, i;
2427
+ return (0, hooks_js_1.hookDecorator)(target);
2428
+ }
2255
2429
 
2256
- events = this._events;
2257
- if (events === undefined)
2258
- return this;
2430
+ exports.hooks = hooks;
2259
2431
 
2260
- // not listening for removeListener, no need to emit
2261
- if (events.removeListener === undefined) {
2262
- if (arguments.length === 0) {
2263
- this._events = Object.create(null);
2264
- this._eventsCount = 0;
2265
- } else if (events[type] !== undefined) {
2266
- if (--this._eventsCount === 0)
2267
- this._events = Object.create(null);
2268
- else
2269
- delete events[type];
2270
- }
2271
- return this;
2272
- }
2432
+ /***/ }),
2433
+
2434
+ /***/ "../../node_modules/@feathersjs/hooks/script/regular.js":
2435
+ /*!**************************************************************!*\
2436
+ !*** ../../node_modules/@feathersjs/hooks/script/regular.js ***!
2437
+ \**************************************************************/
2438
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2273
2439
 
2274
- // emit removeListener for all listeners on all events
2275
- if (arguments.length === 0) {
2276
- var keys = Object.keys(events);
2277
- var key;
2278
- for (i = 0; i < keys.length; ++i) {
2279
- key = keys[i];
2280
- if (key === 'removeListener') continue;
2281
- this.removeAllListeners(key);
2282
- }
2283
- this.removeAllListeners('removeListener');
2284
- this._events = Object.create(null);
2285
- this._eventsCount = 0;
2286
- return this;
2287
- }
2288
2440
 
2289
- listeners = events[type];
2290
2441
 
2291
- if (typeof listeners === 'function') {
2292
- this.removeListener(type, listeners);
2293
- } else if (listeners !== undefined) {
2294
- // LIFO order
2295
- for (i = listeners.length - 1; i >= 0; i--) {
2296
- this.removeListener(type, listeners[i]);
2297
- }
2298
- }
2442
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2299
2443
 
2300
- return this;
2301
- };
2444
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
2302
2445
 
2303
- function _listeners(target, type, unwrap) {
2304
- var events = target._events;
2446
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2305
2447
 
2306
- if (events === undefined)
2307
- return [];
2448
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
2308
2449
 
2309
- var evlistener = events[type];
2310
- if (evlistener === undefined)
2311
- return [];
2450
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
2312
2451
 
2313
- if (typeof evlistener === 'function')
2314
- return unwrap ? [evlistener.listener || evlistener] : [evlistener];
2452
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2315
2453
 
2316
- return unwrap ?
2317
- unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
2318
- }
2454
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2319
2455
 
2320
- EventEmitter.prototype.listeners = function listeners(type) {
2321
- return _listeners(this, type, true);
2322
- };
2456
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2323
2457
 
2324
- EventEmitter.prototype.rawListeners = function rawListeners(type) {
2325
- return _listeners(this, type, false);
2326
- };
2458
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2327
2459
 
2328
- EventEmitter.listenerCount = function(emitter, type) {
2329
- if (typeof emitter.listenerCount === 'function') {
2330
- return emitter.listenerCount(type);
2331
- } else {
2332
- return listenerCount.call(emitter, type);
2333
- }
2334
- };
2460
+ Object.defineProperty(exports, "__esModule", ({
2461
+ value: true
2462
+ }));
2463
+ exports.collect = exports.fromErrorHook = exports.fromAfterHook = exports.fromBeforeHook = void 0;
2335
2464
 
2336
- EventEmitter.prototype.listenerCount = listenerCount;
2337
- function listenerCount(type) {
2338
- var events = this._events;
2465
+ var compose_js_1 = __webpack_require__(/*! ./compose.js */ "../../node_modules/@feathersjs/hooks/script/compose.js");
2339
2466
 
2340
- if (events !== undefined) {
2341
- var evlistener = events[type];
2467
+ var runHook = function runHook(hook, context, type) {
2468
+ if (type) context.type = type;
2469
+ return Promise.resolve(hook.call(context.self, context)).then(function (res) {
2470
+ if (type) context.type = null;
2342
2471
 
2343
- if (typeof evlistener === 'function') {
2344
- return 1;
2345
- } else if (evlistener !== undefined) {
2346
- return evlistener.length;
2472
+ if (res && res !== context) {
2473
+ Object.assign(context, res);
2347
2474
  }
2348
- }
2475
+ });
2476
+ };
2349
2477
 
2350
- return 0;
2478
+ function fromBeforeHook(hook) {
2479
+ return function (context, next) {
2480
+ return runHook(hook, context, 'before').then(next);
2481
+ };
2351
2482
  }
2352
2483
 
2353
- EventEmitter.prototype.eventNames = function eventNames() {
2354
- return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
2355
- };
2484
+ exports.fromBeforeHook = fromBeforeHook;
2356
2485
 
2357
- function arrayClone(arr, n) {
2358
- var copy = new Array(n);
2359
- for (var i = 0; i < n; ++i)
2360
- copy[i] = arr[i];
2361
- return copy;
2486
+ function fromAfterHook(hook) {
2487
+ return function (context, next) {
2488
+ return next().then(function () {
2489
+ return runHook(hook, context, 'after');
2490
+ });
2491
+ };
2362
2492
  }
2363
2493
 
2364
- function spliceOne(list, index) {
2365
- for (; index + 1 < list.length; index++)
2366
- list[index] = list[index + 1];
2367
- list.pop();
2494
+ exports.fromAfterHook = fromAfterHook;
2495
+
2496
+ function fromErrorHook(hook) {
2497
+ return function (context, next) {
2498
+ return next().catch(function (error) {
2499
+ if (context.error !== error || context.result !== undefined) {
2500
+ context.original = _objectSpread({}, context);
2501
+ context.error = error;
2502
+ delete context.result;
2503
+ }
2504
+
2505
+ return runHook(hook, context, 'error').then(function () {
2506
+ if (context.result === undefined && context.error !== undefined) {
2507
+ throw context.error;
2508
+ }
2509
+ });
2510
+ });
2511
+ };
2368
2512
  }
2369
2513
 
2370
- function unwrapListeners(arr) {
2371
- var ret = new Array(arr.length);
2372
- for (var i = 0; i < ret.length; ++i) {
2373
- ret[i] = arr[i].listener || arr[i];
2374
- }
2375
- return ret;
2514
+ exports.fromErrorHook = fromErrorHook;
2515
+
2516
+ function collect(_ref) {
2517
+ var _ref$before = _ref.before,
2518
+ before = _ref$before === void 0 ? [] : _ref$before,
2519
+ _ref$after = _ref.after,
2520
+ after = _ref$after === void 0 ? [] : _ref$after,
2521
+ _ref$error = _ref.error,
2522
+ error = _ref$error === void 0 ? [] : _ref$error;
2523
+ var beforeHooks = before.map(fromBeforeHook);
2524
+
2525
+ var afterHooks = _toConsumableArray(after).reverse().map(fromAfterHook);
2526
+
2527
+ var errorHooks = error.map(fromErrorHook);
2528
+ return (0, compose_js_1.compose)([].concat(_toConsumableArray(errorHooks), _toConsumableArray(afterHooks), _toConsumableArray(beforeHooks)));
2376
2529
  }
2377
2530
 
2378
- function once(emitter, name) {
2379
- return new Promise(function (resolve, reject) {
2380
- function errorListener(err) {
2381
- emitter.removeListener(name, resolver);
2382
- reject(err);
2383
- }
2531
+ exports.collect = collect;
2384
2532
 
2385
- function resolver() {
2386
- if (typeof emitter.removeListener === 'function') {
2387
- emitter.removeListener('error', errorListener);
2388
- }
2389
- resolve([].slice.call(arguments));
2390
- };
2533
+ /***/ }),
2391
2534
 
2392
- eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
2393
- if (name !== 'error') {
2394
- addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
2535
+ /***/ "../../node_modules/@feathersjs/hooks/script/utils.js":
2536
+ /*!************************************************************!*\
2537
+ !*** ../../node_modules/@feathersjs/hooks/script/utils.js ***!
2538
+ \************************************************************/
2539
+ /***/ (function(__unused_webpack_module, exports) {
2540
+
2541
+
2542
+
2543
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
2544
+
2545
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2546
+
2547
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2548
+
2549
+ Object.defineProperty(exports, "__esModule", ({
2550
+ value: true
2551
+ }));
2552
+ exports.copyFnProperties = exports.copyProperties = exports.copyToSelf = void 0;
2553
+ var proto = Object.prototype; // These are non-standard but offer a more reliable prototype based
2554
+ // lookup for properties
2555
+
2556
+ var hasProtoDefinitions = typeof proto.__lookupGetter__ === 'function' && typeof proto.__defineGetter__ === 'function' && typeof proto.__defineSetter__ === 'function';
2557
+
2558
+ function copyToSelf(target) {
2559
+ // tslint:disable-next-line
2560
+ for (var key in target) {
2561
+ if (!Object.hasOwnProperty.call(target, key)) {
2562
+ var getter = hasProtoDefinitions ? target.constructor.prototype.__lookupGetter__(key) : Object.getOwnPropertyDescriptor(target, key);
2563
+
2564
+ if (hasProtoDefinitions && getter) {
2565
+ target.__defineGetter__(key, getter);
2566
+
2567
+ var setter = target.constructor.prototype.__lookupSetter__(key);
2568
+
2569
+ if (setter) {
2570
+ target.__defineSetter__(key, setter);
2571
+ }
2572
+ } else if (getter) {
2573
+ Object.defineProperty(target, key, getter);
2574
+ } else {
2575
+ target[key] = target[key];
2576
+ }
2395
2577
  }
2396
- });
2578
+ }
2397
2579
  }
2398
2580
 
2399
- function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
2400
- if (typeof emitter.on === 'function') {
2401
- eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
2581
+ exports.copyToSelf = copyToSelf;
2582
+
2583
+ function copyProperties(target) {
2584
+ for (var _len = arguments.length, originals = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2585
+ originals[_key - 1] = arguments[_key];
2402
2586
  }
2403
- }
2404
2587
 
2405
- function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
2406
- if (typeof emitter.on === 'function') {
2407
- if (flags.once) {
2408
- emitter.once(name, listener);
2409
- } else {
2410
- emitter.on(name, listener);
2411
- }
2412
- } else if (typeof emitter.addEventListener === 'function') {
2413
- // EventTarget does not have `error` event semantics like Node
2414
- // EventEmitters, we do not listen for `error` events here.
2415
- emitter.addEventListener(name, function wrapListener(arg) {
2416
- // IE does not have builtin `{ once: true }` support so we
2417
- // have to do it manually.
2418
- if (flags.once) {
2419
- emitter.removeEventListener(name, wrapListener);
2588
+ for (var _i = 0, _originals = originals; _i < _originals.length; _i++) {
2589
+ var original = _originals[_i];
2590
+ var originalProps = Object.keys(original).concat(Object.getOwnPropertySymbols(original));
2591
+
2592
+ var _iterator = _createForOfIteratorHelper(originalProps),
2593
+ _step;
2594
+
2595
+ try {
2596
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
2597
+ var prop = _step.value;
2598
+ var propDescriptor = Object.getOwnPropertyDescriptor(original, prop);
2599
+
2600
+ if (propDescriptor && !Object.prototype.hasOwnProperty.call(target, prop)) {
2601
+ Object.defineProperty(target, prop, propDescriptor);
2602
+ }
2420
2603
  }
2421
- listener(arg);
2422
- });
2423
- } else {
2424
- throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
2604
+ } catch (err) {
2605
+ _iterator.e(err);
2606
+ } finally {
2607
+ _iterator.f();
2608
+ }
2425
2609
  }
2426
- }
2427
2610
 
2611
+ return target;
2612
+ }
2428
2613
 
2429
- /***/ }),
2614
+ exports.copyProperties = copyProperties;
2430
2615
 
2431
- /***/ "./src/core.ts":
2432
- /*!*********************!*\
2433
- !*** ./src/core.ts ***!
2434
- \*********************/
2435
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2616
+ function copyFnProperties(target, original) {
2617
+ var internalProps = ['name', 'length'];
2436
2618
 
2619
+ try {
2620
+ for (var _i2 = 0, _internalProps = internalProps; _i2 < _internalProps.length; _i2++) {
2621
+ var prop = _internalProps[_i2];
2622
+ var value = original[prop];
2623
+ Object.defineProperty(target, prop, {
2624
+ value: value
2625
+ });
2626
+ }
2627
+ } catch (e) {// Avoid IE error
2628
+ }
2437
2629
 
2438
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2439
- if (k2 === undefined) k2 = k;
2440
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
2441
- }) : (function(o, m, k, k2) {
2442
- if (k2 === undefined) k2 = k;
2443
- o[k2] = m[k];
2444
- }));
2445
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
2446
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
2447
- };
2448
- Object.defineProperty(exports, "__esModule", ({ value: true }));
2449
- __exportStar(__webpack_require__(/*! @feathersjs/feathers */ "../feathers/lib/index.js"), exports);
2630
+ return target;
2631
+ }
2450
2632
 
2633
+ exports.copyFnProperties = copyFnProperties;
2451
2634
 
2452
2635
  /***/ })
2453
2636