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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.0.0-pre.15](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.14...v5.0.0-pre.15) (2021-11-27)
7
+
8
+ **Note:** Version bump only for package @feathersjs/client
9
+
10
+
11
+
12
+
13
+
6
14
  # [5.0.0-pre.14](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.13...v5.0.0-pre.14) (2021-10-13)
7
15
 
8
16
  **Note:** Version bump only for package @feathersjs/client
package/dist/core.js CHANGED
@@ -1045,7 +1045,7 @@ var index_1 = __webpack_require__(/*! ./hooks/index */ "../feathers/lib/hooks/in
1045
1045
 
1046
1046
  var service_1 = __webpack_require__(/*! ./service */ "../feathers/lib/service.js");
1047
1047
 
1048
- var legacy_1 = __webpack_require__(/*! ./hooks/legacy */ "../feathers/lib/hooks/legacy.js");
1048
+ var regular_1 = __webpack_require__(/*! ./hooks/regular */ "../feathers/lib/hooks/regular.js");
1049
1049
 
1050
1050
  var debug = (0, dependencies_1.createDebug)('@feathersjs/feathers');
1051
1051
 
@@ -1066,7 +1066,7 @@ var Feathers = /*#__PURE__*/function (_dependencies_1$Event) {
1066
1066
  _this.version = version_1.default;
1067
1067
  _this._isSetup = false;
1068
1068
  _this.appHooks = _defineProperty({}, dependencies_1.HOOKS, [events_1.eventHook]);
1069
- _this.legacyHooks = (0, legacy_1.enableLegacyHooks)(_assertThisInitialized(_this));
1069
+ _this.regularHooks = (0, regular_1.enableRegularHooks)(_assertThisInitialized(_this));
1070
1070
  return _this;
1071
1071
  }
1072
1072
 
@@ -1164,10 +1164,10 @@ var Feathers = /*#__PURE__*/function (_dependencies_1$Event) {
1164
1164
  value: function hooks(hookMap) {
1165
1165
  var _this3 = this;
1166
1166
 
1167
- var legacyMap = hookMap;
1167
+ var regularMap = hookMap;
1168
1168
 
1169
- if (legacyMap.before || legacyMap.after || legacyMap.error) {
1170
- return this.legacyHooks(legacyMap);
1169
+ if (regularMap.before || regularMap.after || regularMap.error) {
1170
+ return this.regularHooks(regularMap);
1171
1171
  }
1172
1172
 
1173
1173
  if (Array.isArray(hookMap)) {
@@ -1382,30 +1382,50 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
1382
1382
  Object.defineProperty(exports, "__esModule", ({
1383
1383
  value: true
1384
1384
  }));
1385
- exports.hookMixin = exports.FeathersHookManager = exports.createContext = exports.fromErrorHooks = exports.fromBeforeHook = exports.fromAfterHook = void 0;
1385
+ exports.hookMixin = exports.FeathersHookManager = exports.createContext = exports.fromErrorHooks = exports.fromErrorHook = exports.fromAfterHooks = exports.fromAfterHook = exports.fromBeforeHooks = exports.fromBeforeHook = void 0;
1386
1386
 
1387
1387
  var dependencies_1 = __webpack_require__(/*! ../dependencies */ "../feathers/lib/dependencies.js");
1388
1388
 
1389
1389
  var service_1 = __webpack_require__(/*! ../service */ "../feathers/lib/service.js");
1390
1390
 
1391
- var legacy_1 = __webpack_require__(/*! ./legacy */ "../feathers/lib/hooks/legacy.js");
1391
+ var regular_1 = __webpack_require__(/*! ./regular */ "../feathers/lib/hooks/regular.js");
1392
1392
 
1393
+ var regular_2 = __webpack_require__(/*! ./regular */ "../feathers/lib/hooks/regular.js");
1394
+
1395
+ Object.defineProperty(exports, "fromBeforeHook", ({
1396
+ enumerable: true,
1397
+ get: function get() {
1398
+ return regular_2.fromBeforeHook;
1399
+ }
1400
+ }));
1401
+ Object.defineProperty(exports, "fromBeforeHooks", ({
1402
+ enumerable: true,
1403
+ get: function get() {
1404
+ return regular_2.fromBeforeHooks;
1405
+ }
1406
+ }));
1393
1407
  Object.defineProperty(exports, "fromAfterHook", ({
1394
1408
  enumerable: true,
1395
1409
  get: function get() {
1396
- return legacy_1.fromAfterHook;
1410
+ return regular_2.fromAfterHook;
1397
1411
  }
1398
1412
  }));
1399
- Object.defineProperty(exports, "fromBeforeHook", ({
1413
+ Object.defineProperty(exports, "fromAfterHooks", ({
1414
+ enumerable: true,
1415
+ get: function get() {
1416
+ return regular_2.fromAfterHooks;
1417
+ }
1418
+ }));
1419
+ Object.defineProperty(exports, "fromErrorHook", ({
1400
1420
  enumerable: true,
1401
1421
  get: function get() {
1402
- return legacy_1.fromBeforeHook;
1422
+ return regular_2.fromErrorHook;
1403
1423
  }
1404
1424
  }));
1405
1425
  Object.defineProperty(exports, "fromErrorHooks", ({
1406
1426
  enumerable: true,
1407
1427
  get: function get() {
1408
- return legacy_1.fromErrorHooks;
1428
+ return regular_2.fromErrorHooks;
1409
1429
  }
1410
1430
  }));
1411
1431
 
@@ -1444,12 +1464,12 @@ var FeathersHookManager = /*#__PURE__*/function (_dependencies_1$HookM) {
1444
1464
  value: function collectMiddleware(self, args) {
1445
1465
  var app = this.app;
1446
1466
  var appHooks = app.appHooks[dependencies_1.HOOKS].concat(app.appHooks[this.method] || []);
1447
- var legacyAppHooks = (0, legacy_1.collectLegacyHooks)(this.app, this.method);
1467
+ var regularAppHooks = (0, regular_1.collectRegularHooks)(this.app, this.method);
1448
1468
 
1449
1469
  var middleware = _get(_getPrototypeOf(FeathersHookManager.prototype), "collectMiddleware", this).call(this, self, args);
1450
1470
 
1451
- var legacyHooks = (0, legacy_1.collectLegacyHooks)(self, this.method);
1452
- return [].concat(_toConsumableArray(appHooks), _toConsumableArray(legacyAppHooks), _toConsumableArray(middleware), _toConsumableArray(legacyHooks));
1471
+ var regularHooks = (0, regular_1.collectRegularHooks)(self, this.method);
1472
+ return [].concat(_toConsumableArray(appHooks), _toConsumableArray(regularAppHooks), _toConsumableArray(middleware), _toConsumableArray(regularHooks));
1453
1473
  }
1454
1474
  }, {
1455
1475
  key: "initializeContext",
@@ -1481,7 +1501,8 @@ function hookMixin(service, path, options) {
1481
1501
  }
1482
1502
 
1483
1503
  var app = this;
1484
- var serviceMethodHooks = (0, service_1.getHookMethods)(service, options).reduce(function (res, method) {
1504
+ var hookMethods = (0, service_1.getHookMethods)(service, options);
1505
+ var serviceMethodHooks = hookMethods.reduce(function (res, method) {
1485
1506
  var _FeathersHookManager;
1486
1507
 
1487
1508
  var params = service_1.defaultServiceArguments[method] || ['data', 'params'];
@@ -1491,18 +1512,29 @@ function hookMixin(service, path, options) {
1491
1512
  method: method,
1492
1513
  service: service,
1493
1514
  event: null,
1494
- type: null
1515
+ type: null,
1516
+
1517
+ get statusCode() {
1518
+ var _a;
1519
+
1520
+ return (_a = this.http) === null || _a === void 0 ? void 0 : _a.statusCode;
1521
+ },
1522
+
1523
+ set statusCode(value) {
1524
+ (this.http || (this.http = {})).statusCode = value;
1525
+ }
1526
+
1495
1527
  });
1496
1528
  return res;
1497
1529
  }, {});
1498
- var handleLegacyHooks = (0, legacy_1.enableLegacyHooks)(service);
1530
+ var handleRegularHooks = (0, regular_1.enableRegularHooks)(service, hookMethods);
1499
1531
  (0, dependencies_1.hooks)(service, serviceMethodHooks);
1500
1532
 
1501
1533
  service.hooks = function (hookOptions) {
1502
1534
  var _this2 = this;
1503
1535
 
1504
1536
  if (hookOptions.before || hookOptions.after || hookOptions.error) {
1505
- return handleLegacyHooks.call(this, hookOptions);
1537
+ return handleRegularHooks.call(this, hookOptions);
1506
1538
  }
1507
1539
 
1508
1540
  if (Array.isArray(hookOptions)) {
@@ -1528,16 +1560,14 @@ exports.hookMixin = hookMixin;
1528
1560
 
1529
1561
  /***/ }),
1530
1562
 
1531
- /***/ "../feathers/lib/hooks/legacy.js":
1532
- /*!***************************************!*\
1533
- !*** ../feathers/lib/hooks/legacy.js ***!
1534
- \***************************************/
1563
+ /***/ "../feathers/lib/hooks/regular.js":
1564
+ /*!****************************************!*\
1565
+ !*** ../feathers/lib/hooks/regular.js ***!
1566
+ \****************************************/
1535
1567
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1536
1568
 
1537
1569
 
1538
1570
 
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); }
1540
-
1541
1571
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
1542
1572
 
1543
1573
  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."); }
@@ -1552,6 +1582,8 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
1552
1582
 
1553
1583
  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; }
1554
1584
 
1585
+ 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); }
1586
+
1555
1587
  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; }
1556
1588
 
1557
1589
  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; }
@@ -1561,29 +1593,24 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
1561
1593
  Object.defineProperty(exports, "__esModule", ({
1562
1594
  value: true
1563
1595
  }));
1564
- exports.enableLegacyHooks = exports.convertHookData = exports.collectLegacyHooks = exports.fromErrorHooks = exports.fromAfterHook = exports.fromBeforeHook = void 0;
1596
+ exports.enableRegularHooks = exports.convertHookData = exports.collectRegularHooks = exports.fromErrorHooks = exports.fromAfterHooks = exports.fromBeforeHooks = exports.fromErrorHook = exports.fromAfterHook = exports.fromBeforeHook = void 0;
1565
1597
 
1566
- var dependencies_1 = __webpack_require__(/*! ../dependencies */ "../feathers/lib/dependencies.js");
1598
+ var service_1 = __webpack_require__(/*! ../service */ "../feathers/lib/service.js");
1567
1599
 
1568
- var each = dependencies_1._.each;
1600
+ var runHook = function runHook(hook, context, type) {
1601
+ if (type) context.type = type;
1602
+ return Promise.resolve(hook.call(context.self, context)).then(function (res) {
1603
+ if (type) context.type = null;
1569
1604
 
1570
- var mergeContext = function mergeContext(context) {
1571
- return function (res) {
1572
1605
  if (res && res !== context) {
1573
1606
  Object.assign(context, res);
1574
1607
  }
1575
-
1576
- return res;
1577
- };
1608
+ });
1578
1609
  };
1579
1610
 
1580
1611
  function fromBeforeHook(hook) {
1581
1612
  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
- });
1613
+ return runHook(hook, context, 'before').then(next);
1587
1614
  };
1588
1615
  }
1589
1616
 
@@ -1592,49 +1619,24 @@ exports.fromBeforeHook = fromBeforeHook;
1592
1619
  function fromAfterHook(hook) {
1593
1620
  return function (context, next) {
1594
1621
  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;
1622
+ return runHook(hook, context, 'after');
1599
1623
  });
1600
1624
  };
1601
1625
  }
1602
1626
 
1603
1627
  exports.fromAfterHook = fromAfterHook;
1604
1628
 
1605
- function fromErrorHooks(hooks) {
1629
+ function fromErrorHook(hook) {
1606
1630
  return function (context, next) {
1607
1631
  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;
1613
-
1614
- var _iterator = _createForOfIteratorHelper(hooks),
1615
- _step;
1616
-
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
- };
1624
-
1625
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1626
- _loop();
1627
- }
1628
- } catch (err) {
1629
- _iterator.e(err);
1630
- } finally {
1631
- _iterator.f();
1632
+ if (context.error !== error || context.result !== undefined) {
1633
+ context.original = _objectSpread({}, context);
1634
+ context.error = error;
1635
+ delete context.result;
1632
1636
  }
1633
1637
 
1634
- return promise.then(function () {
1635
- context.type = null;
1636
-
1637
- if (context.result === undefined) {
1638
+ return runHook(hook, context, 'error').then(function () {
1639
+ if (context.result === undefined && context.error !== undefined) {
1638
1640
  throw context.error;
1639
1641
  }
1640
1642
  });
@@ -1642,99 +1644,179 @@ function fromErrorHooks(hooks) {
1642
1644
  };
1643
1645
  }
1644
1646
 
1645
- exports.fromErrorHooks = fromErrorHooks;
1647
+ exports.fromErrorHook = fromErrorHook;
1648
+
1649
+ var RunHooks = function RunHooks(hooks) {
1650
+ return function (context) {
1651
+ return hooks.reduce(function (promise, hook) {
1652
+ return promise.then(function () {
1653
+ return runHook(hook, context);
1654
+ });
1655
+ }, Promise.resolve(undefined));
1656
+ };
1657
+ };
1658
+
1659
+ function fromBeforeHooks(hooks) {
1660
+ return fromBeforeHook(RunHooks(hooks));
1661
+ }
1662
+
1663
+ exports.fromBeforeHooks = fromBeforeHooks;
1664
+
1665
+ function fromAfterHooks(hooks) {
1666
+ return fromAfterHook(RunHooks(hooks));
1667
+ }
1646
1668
 
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;
1669
+ exports.fromAfterHooks = fromAfterHooks;
1670
+
1671
+ function fromErrorHooks(hooks) {
1672
+ return fromErrorHook(RunHooks(hooks));
1673
+ }
1656
1674
 
1657
- var afterHooks = _toConsumableArray(after).reverse();
1675
+ exports.fromErrorHooks = fromErrorHooks;
1658
1676
 
1659
- var errorHook = fromErrorHooks(error);
1660
- return [errorHook].concat(_toConsumableArray(beforeHooks), _toConsumableArray(afterHooks));
1677
+ function collectRegularHooks(target, method) {
1678
+ return target.__hooks.hooks[method] || [];
1661
1679
  }
1662
1680
 
1663
- exports.collectLegacyHooks = collectLegacyHooks; // Converts different hook registration formats into the
1681
+ exports.collectRegularHooks = collectRegularHooks; // Converts different hook registration formats into the
1664
1682
  // same internal format
1665
1683
 
1666
- function convertHookData(obj) {
1667
- var hook = {};
1684
+ function convertHookData(input) {
1685
+ var result = {};
1668
1686
 
1669
- if (Array.isArray(obj)) {
1670
- hook = {
1671
- all: obj
1672
- };
1673
- } else if (_typeof(obj) !== 'object') {
1674
- hook = {
1675
- all: [obj]
1676
- };
1687
+ if (Array.isArray(input)) {
1688
+ result.all = input;
1689
+ } else if (_typeof(input) !== 'object') {
1690
+ result.all = [input];
1677
1691
  } else {
1678
- each(obj, function (value, key) {
1679
- hook[key] = !Array.isArray(value) ? [value] : value;
1680
- });
1692
+ for (var _i = 0, _Object$keys = Object.keys(input); _i < _Object$keys.length; _i++) {
1693
+ var key = _Object$keys[_i];
1694
+ var value = input[key];
1695
+ result[key] = Array.isArray(value) ? value : [value];
1696
+ }
1681
1697
  }
1682
1698
 
1683
- return hook;
1699
+ return result;
1684
1700
  }
1685
1701
 
1686
- exports.convertHookData = convertHookData; // Add `.hooks` functionality to an object
1702
+ exports.convertHookData = convertHookData;
1703
+ var types = ['before', 'after', 'error'];
1704
+
1705
+ var isType = function isType(value) {
1706
+ return types.includes(value);
1707
+ };
1708
+
1709
+ var wrappers = {
1710
+ before: fromBeforeHooks,
1711
+ after: fromAfterHooks,
1712
+ error: fromErrorHooks
1713
+ };
1714
+
1715
+ var createStore = function createStore(methods) {
1716
+ var store = {
1717
+ before: {},
1718
+ after: {},
1719
+ error: {},
1720
+ hooks: {}
1721
+ };
1687
1722
 
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
1723
+ var _iterator = _createForOfIteratorHelper(methods),
1724
+ _step;
1725
+
1726
+ try {
1727
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
1728
+ var method = _step.value;
1729
+ store.hooks[method] = [];
1730
+ }
1731
+ } catch (err) {
1732
+ _iterator.e(err);
1733
+ } finally {
1734
+ _iterator.f();
1735
+ }
1696
1736
 
1697
- Object.defineProperty(obj, '__hooks', {
1737
+ return store;
1738
+ };
1739
+
1740
+ var setStore = function setStore(object, store) {
1741
+ Object.defineProperty(object, '__hooks', {
1698
1742
  configurable: true,
1699
- value: hookData,
1743
+ value: store,
1700
1744
  writable: true
1701
1745
  });
1702
- return function legacyHooks(allHooks) {
1703
- var _this = this;
1746
+ };
1747
+
1748
+ var getStore = function getStore(object) {
1749
+ return object.__hooks;
1750
+ };
1751
+
1752
+ var createMap = function createMap(input, methods) {
1753
+ var map = {};
1754
+ Object.keys(input).forEach(function (type) {
1755
+ if (!isType(type)) {
1756
+ throw new Error("'".concat(type, "' is not a valid hook type"));
1757
+ }
1704
1758
 
1705
- each(allHooks, function (current, type) {
1706
- if (!_this.__hooks[type]) {
1707
- throw new Error("'".concat(type, "' is not a valid hook type"));
1759
+ var data = convertHookData(input[type]);
1760
+ Object.keys(data).forEach(function (method) {
1761
+ if (method !== 'all' && !methods.includes(method)) {
1762
+ throw new Error("'".concat(method, "' is not a valid hook method"));
1708
1763
  }
1764
+ });
1765
+ map[type] = data;
1766
+ });
1767
+ return map;
1768
+ };
1709
1769
 
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;
1770
+ var createAdapter = function createAdapter(type) {
1771
+ var hooks = [];
1772
+ var hook = wrappers[type](hooks);
1773
+ var adapter = Object.assign(hook, {
1774
+ hooks: hooks
1775
+ });
1776
+ return adapter;
1777
+ };
1718
1778
 
1719
- var currentHooks = [].concat(_toConsumableArray(hooks.all || []), _toConsumableArray(hooks[method] || []));
1720
- _this.__hooks[type][method] = _this.__hooks[type][method] || [];
1779
+ var updateStore = function updateStore(store, map) {
1780
+ Object.keys(store.hooks).forEach(function (method) {
1781
+ var adapted = false;
1782
+ Object.keys(map).forEach(function (key) {
1783
+ var _a;
1721
1784
 
1722
- if (type === 'before') {
1723
- currentHooks = currentHooks.map(fromBeforeHook);
1724
- }
1785
+ var type = key;
1786
+ var allHooks = map[type].all || [];
1787
+ var methodHooks = map[type][method] || [];
1725
1788
 
1726
- if (type === 'after') {
1727
- currentHooks = currentHooks.map(fromAfterHook);
1728
- }
1789
+ if (allHooks.length || methodHooks.length) {
1790
+ var _adapter$hooks;
1729
1791
 
1730
- (_this$__hooks$type$me = _this.__hooks[type][method]).push.apply(_this$__hooks$type$me, _toConsumableArray(currentHooks));
1731
- });
1792
+ var adapter = (_a = store[type])[method] || (_a[method] = (adapted = true, createAdapter(type)));
1793
+
1794
+ (_adapter$hooks = adapter.hooks).push.apply(_adapter$hooks, _toConsumableArray(allHooks).concat(_toConsumableArray(methodHooks)));
1795
+ }
1732
1796
  });
1797
+
1798
+ if (adapted) {
1799
+ store.hooks[method] = [store.error[method], store.before[method], store.after[method]].filter(function (hook) {
1800
+ return hook;
1801
+ });
1802
+ }
1803
+ });
1804
+ }; // Add `.hooks` functionality to an object
1805
+
1806
+
1807
+ function enableRegularHooks(object) {
1808
+ var methods = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : service_1.defaultServiceMethods;
1809
+ var store = createStore(methods);
1810
+ setStore(object, store);
1811
+ return function regularHooks(input) {
1812
+ var store = getStore(this);
1813
+ var map = createMap(input, methods);
1814
+ updateStore(store, map);
1733
1815
  return this;
1734
1816
  };
1735
1817
  }
1736
1818
 
1737
- exports.enableLegacyHooks = enableLegacyHooks;
1819
+ exports.enableRegularHooks = enableRegularHooks;
1738
1820
 
1739
1821
  /***/ }),
1740
1822
 
@@ -1847,7 +1929,7 @@ exports.defaultEventMap = {
1847
1929
  patch: 'patched',
1848
1930
  remove: 'removed'
1849
1931
  };
1850
- exports.protectedMethods = Object.keys(Object.prototype).concat(Object.keys(dependencies_1.EventEmitter.prototype)).concat(['before', 'after', 'error', 'hooks', 'setup', 'publish']);
1932
+ exports.protectedMethods = Object.keys(Object.prototype).concat(Object.keys(dependencies_1.EventEmitter.prototype)).concat(['all', 'before', 'after', 'error', 'hooks', 'setup', 'publish']);
1851
1933
 
1852
1934
  function getHookMethods(service, options) {
1853
1935
  var methods = options.methods;