@microphi/store 0.2.10 → 1.1.3

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.
Files changed (63) hide show
  1. package/lib/index.d.ts +4 -0
  2. package/lib/index.js +8 -0
  3. package/lib/index.js.map +1 -0
  4. package/lib/lib/effect/effect.d.ts +61 -0
  5. package/lib/lib/effect/effect.js +75 -0
  6. package/lib/lib/effect/effect.js.map +1 -0
  7. package/lib/{list → lib/list}/list.d.ts +1 -1
  8. package/lib/lib/list/list.js +75 -0
  9. package/lib/lib/list/list.js.map +1 -0
  10. package/lib/lib/reduce/reduce.d.ts +11 -0
  11. package/lib/lib/reduce/reduce.js +26 -0
  12. package/lib/lib/reduce/reduce.js.map +1 -0
  13. package/lib/lib/store/store.d.ts +38 -0
  14. package/lib/lib/store/store.js +99 -0
  15. package/lib/lib/store/store.js.map +1 -0
  16. package/lib/lib/utilities/capitalise.d.ts +1 -0
  17. package/lib/lib/utilities/capitalise.js +7 -0
  18. package/lib/lib/utilities/capitalise.js.map +1 -0
  19. package/lib/lib/utilities/scan-instance.d.ts +2 -0
  20. package/lib/lib/utilities/scan-instance.js +19 -0
  21. package/lib/lib/utilities/scan-instance.js.map +1 -0
  22. package/package.json +18 -14
  23. package/bundles/microphi-store.umd.js +0 -996
  24. package/bundles/microphi-store.umd.js.map +0 -1
  25. package/bundles/microphi-store.umd.min.js +0 -16
  26. package/bundles/microphi-store.umd.min.js.map +0 -1
  27. package/esm2015/lib/actions.js +0 -105
  28. package/esm2015/lib/base-store.js +0 -156
  29. package/esm2015/lib/effect.js +0 -11
  30. package/esm2015/lib/http-status/http-status.interceptor.js +0 -31
  31. package/esm2015/lib/http-status/http-status.store.js +0 -63
  32. package/esm2015/lib/list/list.js +0 -80
  33. package/esm2015/lib/observable-list/observable-list.js +0 -119
  34. package/esm2015/lib/reduce.js +0 -15
  35. package/esm2015/lib/store.js +0 -13
  36. package/esm2015/microphi-store.js +0 -5
  37. package/esm2015/public-api.js +0 -13
  38. package/esm5/lib/actions.js +0 -110
  39. package/esm5/lib/base-store.js +0 -177
  40. package/esm5/lib/effect.js +0 -11
  41. package/esm5/lib/http-status/http-status.interceptor.js +0 -33
  42. package/esm5/lib/http-status/http-status.store.js +0 -66
  43. package/esm5/lib/list/list.js +0 -126
  44. package/esm5/lib/observable-list/observable-list.js +0 -250
  45. package/esm5/lib/reduce.js +0 -15
  46. package/esm5/lib/store.js +0 -13
  47. package/esm5/microphi-store.js +0 -5
  48. package/esm5/public-api.js +0 -13
  49. package/fesm2015/microphi-store.js +0 -586
  50. package/fesm2015/microphi-store.js.map +0 -1
  51. package/fesm5/microphi-store.js +0 -788
  52. package/fesm5/microphi-store.js.map +0 -1
  53. package/lib/actions.d.ts +0 -77
  54. package/lib/base-store.d.ts +0 -31
  55. package/lib/effect.d.ts +0 -2
  56. package/lib/http-status/http-status.interceptor.d.ts +0 -7
  57. package/lib/http-status/http-status.store.d.ts +0 -17
  58. package/lib/observable-list/observable-list.d.ts +0 -29
  59. package/lib/reduce.d.ts +0 -7
  60. package/lib/store.d.ts +0 -9
  61. package/microphi-store.d.ts +0 -4
  62. package/microphi-store.metadata.json +0 -1
  63. package/public-api.d.ts +0 -9
@@ -1,110 +0,0 @@
1
- export var REQUEST_SUFFIX = '_REQUEST';
2
- export var RESPONSE_SUFFIX = '_RESPONSE';
3
- export var ERROR_SUFFIX = '_ERROR';
4
- /**
5
- * Action are defined with an enum. Such as:
6
- *
7
- * emun {
8
- * GET_ALL,
9
- * GET_ONE,
10
- * DELETE,
11
- * }
12
- *
13
- * For each action defined a REQUEST, a RESPONSE and an ERROR are associated to it.
14
- *
15
- *
16
- */
17
- var Actions = /** @class */ (function () {
18
- function Actions(actions) {
19
- var _this = this;
20
- /**
21
- * Example:
22
- * {
23
- * 0: { request: 'ACTION_NAME_REQUEST', response: 'ACTION_NAME_RESPONSE', error: 'ACTION_NAME_ERROR' }
24
- * [....]
25
- * }
26
- */
27
- this.actions = {};
28
- /**
29
- * Example:
30
- * {
31
- * ACTION_NAME: 0
32
- * [....]
33
- * }
34
- *
35
- */
36
- this.names = {};
37
- /**
38
- * Example:
39
- * {
40
- * 0: 'ACTION_NAME',
41
- * [....]
42
- *
43
- * }
44
- */
45
- this.codes = {};
46
- /**
47
- * Example:
48
- * {
49
- * ACTION_NAME': { request: 'ACTION_NAME_REQUEST', response: 'ACTION_NAME_RESPONSE', error: 'ACTION_NAME_ERROR' }
50
- * [....]
51
- * }
52
- */
53
- this.restActionsByName = {};
54
- Object.keys(actions).forEach(function (key) {
55
- if (+key >= 0) {
56
- _this.codes[key] = actions[key];
57
- _this.actions[key] = Actions.createAction(actions[key]);
58
- }
59
- else {
60
- _this.names[key] = actions[key];
61
- _this.restActionsByName[key] = Actions.createAction(key);
62
- }
63
- });
64
- }
65
- Actions.createAction = function (key) {
66
- return {
67
- request: "" + key + REQUEST_SUFFIX,
68
- response: "" + key + RESPONSE_SUFFIX,
69
- error: "" + key + ERROR_SUFFIX,
70
- };
71
- };
72
- Actions.prototype.getByName = function (actionName) {
73
- return this.names[actionName];
74
- };
75
- Actions.prototype.getByCode = function (code) {
76
- return this.codes[code];
77
- };
78
- Actions.prototype.getActionsByCode = function (key) {
79
- return this.actions[key];
80
- };
81
- Actions.prototype.getActionsByName = function (actionName) {
82
- var code = this.getByName(actionName);
83
- return this.getActionsByCode(code);
84
- };
85
- Actions.prototype.getActionNameFromChild = function (childAction) {
86
- var _this = this;
87
- var actionName;
88
- Object.keys(this.restActionsByName).forEach(function (restAction) {
89
- var restActions = _this.restActionsByName[restAction];
90
- if (restActions.response === childAction || restActions.request === childAction || restActions.error === childAction) {
91
- actionName = restAction;
92
- }
93
- });
94
- return actionName;
95
- };
96
- Actions.prototype.getActionCodeFromChild = function (childAction) {
97
- var _this = this;
98
- var actionCode;
99
- Object.keys(this.actions).forEach(function (restAction) {
100
- var restActions = _this.actions[restAction];
101
- if (restActions.response === childAction || restActions.request === childAction || restActions.error === childAction) {
102
- actionCode = restAction;
103
- }
104
- });
105
- return Number(actionCode);
106
- };
107
- return Actions;
108
- }());
109
- export { Actions };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3BoaS9zdG9yZS8iLCJzb3VyY2VzIjpbImxpYi9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxVQUFVLENBQUM7QUFDekMsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQztBQUMzQyxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDO0FBY3JDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNIO0lBZ0RFLGlCQUFZLE9BQVU7UUFBdEIsaUJBZUM7UUE3REQ7Ozs7OztXQU1HO1FBQ0ksWUFBTyxHQUVWLEVBQUUsQ0FBQztRQUVQOzs7Ozs7O1dBT0c7UUFDSSxVQUFLLEdBRVIsRUFBRSxDQUFDO1FBRVA7Ozs7Ozs7V0FPRztRQUNJLFVBQUssR0FFUixFQUFFLENBQUM7UUFFUDs7Ozs7O1dBTUc7UUFDSSxzQkFBaUIsR0FFcEIsRUFBRSxDQUFDO1FBR0wsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFHO1lBQy9CLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFO2dCQUViLEtBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUUvQixLQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFFeEQ7aUJBQU07Z0JBQ0wsS0FBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRS9CLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pEO1FBRUgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRWMsb0JBQVksR0FBM0IsVUFBNEIsR0FBVztRQUNyQyxPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUcsR0FBRyxHQUFHLGNBQWdCO1lBQ2xDLFFBQVEsRUFBRSxLQUFHLEdBQUcsR0FBRyxlQUFpQjtZQUNwQyxLQUFLLEVBQUUsS0FBRyxHQUFHLEdBQUcsWUFBYztTQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVNLDJCQUFTLEdBQWhCLFVBQWlCLFVBQWtCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sMkJBQVMsR0FBaEIsVUFBaUIsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLGtDQUFnQixHQUF2QixVQUF3QixHQUFXO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sa0NBQWdCLEdBQXZCLFVBQXdCLFVBQWtCO1FBQ3hDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLHdDQUFzQixHQUE3QixVQUE4QixXQUFtQjtRQUFqRCxpQkFXQztRQVZDLElBQUksVUFBVSxDQUFDO1FBRWYsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxVQUFVO1lBQ3JELElBQU0sV0FBVyxHQUFHLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEtBQUssV0FBVyxJQUFJLFdBQVcsQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO2dCQUNwSCxVQUFVLEdBQUcsVUFBVSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU0sd0NBQXNCLEdBQTdCLFVBQThCLFdBQW1CO1FBQWpELGlCQVdDO1FBVkMsSUFBSSxVQUFVLENBQUM7UUFFZixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxVQUFVO1lBQzNDLElBQU0sV0FBVyxHQUFHLEtBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsSUFBSSxXQUFXLENBQUMsUUFBUSxLQUFLLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtnQkFDcEgsVUFBVSxHQUFHLFVBQVUsQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVILGNBQUM7QUFBRCxDQUFDLEFBcEhELElBb0hDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJFUVVFU1RfU1VGRklYID0gJ19SRVFVRVNUJztcbmV4cG9ydCBjb25zdCBSRVNQT05TRV9TVUZGSVggPSAnX1JFU1BPTlNFJztcbmV4cG9ydCBjb25zdCBFUlJPUl9TVUZGSVggPSAnX0VSUk9SJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHBheWxvYWQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXN0QWN0aW9ucyB7XG4gIHJlcXVlc3Q6IHN0cmluZztcbiAgcmVzcG9uc2U6IHN0cmluZztcbiAgZXJyb3I6IHN0cmluZztcbn1cblxuXG4vKipcbiAqIEFjdGlvbiBhcmUgZGVmaW5lZCB3aXRoIGFuIGVudW0uIFN1Y2ggYXM6XG4gKlxuICogZW11biB7XG4gKiAgIEdFVF9BTEwsXG4gKiAgIEdFVF9PTkUsXG4gKiAgIERFTEVURSxcbiAqIH1cbiAqXG4gKiBGb3IgZWFjaCBhY3Rpb24gZGVmaW5lZCBhIFJFUVVFU1QsIGEgUkVTUE9OU0UgYW5kIGFuIEVSUk9SIGFyZSBhc3NvY2lhdGVkIHRvIGl0LlxuICpcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3Rpb25zPEEgZXh0ZW5kcyBhbnk+IHtcblxuICAvKipcbiAgICogRXhhbXBsZTpcbiAgICoge1xuICAgKiAgIDA6IHsgcmVxdWVzdDogJ0FDVElPTl9OQU1FX1JFUVVFU1QnLCByZXNwb25zZTogJ0FDVElPTl9OQU1FX1JFU1BPTlNFJywgZXJyb3I6ICdBQ1RJT05fTkFNRV9FUlJPUicgfVxuICAgKiAgIFsuLi4uXVxuICAgKiB9XG4gICAqL1xuICBwdWJsaWMgYWN0aW9uczoge1xuICAgIFtrOiBudW1iZXJdOiBSZXN0QWN0aW9ucztcbiAgfSA9IHt9O1xuXG4gIC8qKlxuICAgKiBFeGFtcGxlOlxuICAgKiB7XG4gICAqICAgQUNUSU9OX05BTUU6IDBcbiAgICogICBbLi4uLl1cbiAgICogfVxuICAgKlxuICAgKi9cbiAgcHVibGljIG5hbWVzOiB7XG4gICAgW2FjdGlvbk5hbWU6IHN0cmluZ106IG51bWJlcjtcbiAgfSA9IHt9O1xuXG4gIC8qKlxuICAgKiBFeGFtcGxlOlxuICAgKiB7XG4gICAqICAgMDogJ0FDVElPTl9OQU1FJyxcbiAgICogICBbLi4uLl1cbiAgICpcbiAgICogfVxuICAgKi9cbiAgcHVibGljIGNvZGVzOiB7XG4gICAgW2FjdGlvbkNvZGU6IG51bWJlcl06IHN0cmluZ1xuICB9ID0ge307XG5cbiAgLyoqXG4gICAqIEV4YW1wbGU6XG4gICAqIHtcbiAgICogICBBQ1RJT05fTkFNRSc6IHsgcmVxdWVzdDogJ0FDVElPTl9OQU1FX1JFUVVFU1QnLCByZXNwb25zZTogJ0FDVElPTl9OQU1FX1JFU1BPTlNFJywgZXJyb3I6ICdBQ1RJT05fTkFNRV9FUlJPUicgfVxuICAgKiAgIFsuLi4uXVxuICAgKiB9XG4gICAqL1xuICBwdWJsaWMgcmVzdEFjdGlvbnNCeU5hbWU6IHtcbiAgICBbbmFtZTogc3RyaW5nXTogUmVzdEFjdGlvbnM7XG4gIH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihhY3Rpb25zOiBBKSB7XG4gICAgT2JqZWN0LmtleXMoYWN0aW9ucykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoK2tleSA+PSAwKSB7XG5cbiAgICAgICAgdGhpcy5jb2Rlc1trZXldID0gYWN0aW9uc1trZXldO1xuXG4gICAgICAgIHRoaXMuYWN0aW9uc1trZXldID0gQWN0aW9ucy5jcmVhdGVBY3Rpb24oYWN0aW9uc1trZXldKTtcblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uYW1lc1trZXldID0gYWN0aW9uc1trZXldO1xuXG4gICAgICAgIHRoaXMucmVzdEFjdGlvbnNCeU5hbWVba2V5XSA9IEFjdGlvbnMuY3JlYXRlQWN0aW9uKGtleSk7XG4gICAgICB9XG5cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUFjdGlvbihrZXk6IHN0cmluZyk6IFJlc3RBY3Rpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWVzdDogYCR7a2V5fSR7UkVRVUVTVF9TVUZGSVh9YCxcbiAgICAgIHJlc3BvbnNlOiBgJHtrZXl9JHtSRVNQT05TRV9TVUZGSVh9YCxcbiAgICAgIGVycm9yOiBgJHtrZXl9JHtFUlJPUl9TVUZGSVh9YCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldEJ5TmFtZShhY3Rpb25OYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lc1thY3Rpb25OYW1lXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCeUNvZGUoY29kZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuY29kZXNbY29kZV07XG4gIH1cblxuICBwdWJsaWMgZ2V0QWN0aW9uc0J5Q29kZShrZXk6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnNba2V5XTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY3Rpb25zQnlOYW1lKGFjdGlvbk5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGNvZGUgPSB0aGlzLmdldEJ5TmFtZShhY3Rpb25OYW1lKTtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3Rpb25zQnlDb2RlKGNvZGUpO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGlvbk5hbWVGcm9tQ2hpbGQoY2hpbGRBY3Rpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGFjdGlvbk5hbWU7XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLnJlc3RBY3Rpb25zQnlOYW1lKS5mb3JFYWNoKChyZXN0QWN0aW9uKSA9PiB7XG4gICAgICBjb25zdCByZXN0QWN0aW9ucyA9IHRoaXMucmVzdEFjdGlvbnNCeU5hbWVbcmVzdEFjdGlvbl07XG4gICAgICBpZiAocmVzdEFjdGlvbnMucmVzcG9uc2UgPT09IGNoaWxkQWN0aW9uIHx8IHJlc3RBY3Rpb25zLnJlcXVlc3QgPT09IGNoaWxkQWN0aW9uIHx8IHJlc3RBY3Rpb25zLmVycm9yID09PSBjaGlsZEFjdGlvbikge1xuICAgICAgICBhY3Rpb25OYW1lID0gcmVzdEFjdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhY3Rpb25OYW1lO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGlvbkNvZGVGcm9tQ2hpbGQoY2hpbGRBY3Rpb246IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IGFjdGlvbkNvZGU7XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLmFjdGlvbnMpLmZvckVhY2goKHJlc3RBY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHJlc3RBY3Rpb25zID0gdGhpcy5hY3Rpb25zW3Jlc3RBY3Rpb25dO1xuICAgICAgaWYgKHJlc3RBY3Rpb25zLnJlc3BvbnNlID09PSBjaGlsZEFjdGlvbiB8fCByZXN0QWN0aW9ucy5yZXF1ZXN0ID09PSBjaGlsZEFjdGlvbiB8fCByZXN0QWN0aW9ucy5lcnJvciA9PT0gY2hpbGRBY3Rpb24pIHtcbiAgICAgICAgYWN0aW9uQ29kZSA9IHJlc3RBY3Rpb247XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gTnVtYmVyKGFjdGlvbkNvZGUpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,177 +0,0 @@
1
- import { getDebugger } from '@microgamma/loggator';
2
- import { BehaviorSubject, Observable, Subject, throwError } from 'rxjs';
3
- import { getStoreMetadata } from './store';
4
- import { Actions, REQUEST_SUFFIX, RESPONSE_SUFFIX } from './actions';
5
- import { getReduceMetadata } from './reduce';
6
- import { catchError, takeUntil, tap } from 'rxjs/operators';
7
- var BaseStore = /** @class */ (function () {
8
- function BaseStore() {
9
- var _this = this;
10
- this.logger = getDebugger("microphi:BaseStore:" + this.constructor.name);
11
- this.actions$ = new Subject();
12
- this._loading$ = new Subject();
13
- this._error$ = new Subject();
14
- this.destroy$ = new Subject();
15
- this.storeMetadata = getStoreMetadata(this);
16
- this.logger('@Store', this.storeMetadata);
17
- this._store$ = new BehaviorSubject(this.storeMetadata.initialState);
18
- // dereference initial state so that is does not leak between instances
19
- this._state = Object.assign({}, this.storeMetadata.initialState);
20
- this.logger('InitialState', this.state);
21
- this.actionsMetadata = new Actions(this.storeMetadata.actions);
22
- var reducerMetadata = getReduceMetadata(this);
23
- this.logger('Reducers', reducerMetadata);
24
- var remappedReducers = this.parseReducers(reducerMetadata);
25
- this.logger('remapped reducers', remappedReducers);
26
- var effectsMetadata = Reflect.getMetadata('@Effect', this) || {};
27
- this.logger('Effects', effectsMetadata);
28
- var remappedEffects = this.remapEffects(effectsMetadata);
29
- this.logger('remapped effects', remappedEffects);
30
- this.actions$.pipe(tap(function (action) {
31
- _this._loading$.next({
32
- type: action.type,
33
- code: _this.actionsMetadata.getActionCodeFromChild(action.type),
34
- payload: action.payload,
35
- status: action.type.endsWith('_REQUEST')
36
- });
37
- }), takeUntil(this.destroy$)).subscribe(function (action) {
38
- _this.logger('got type', action);
39
- var type = action.type;
40
- // effects are associated with requests
41
- if (type.endsWith(REQUEST_SUFFIX)) {
42
- if (remappedEffects.hasOwnProperty(type)) {
43
- var effectName_1 = remappedEffects[type];
44
- _this.logger('should call', effectName_1);
45
- if (_this[effectName_1] instanceof Function) {
46
- var retValue = _this[effectName_1](action.payload);
47
- if (retValue instanceof Observable) {
48
- retValue.pipe(catchError(function (err) {
49
- console.error("@Effect: " + effectName_1 + " thrown the following error");
50
- console.error(err);
51
- _this._loading$.next({
52
- status: false,
53
- payload: action.payload,
54
- code: _this.actionsMetadata.getActionCodeFromChild(action.type),
55
- type: action.type,
56
- });
57
- _this._error$.next({ action: _this.actionsMetadata.getActionCodeFromChild(action.type), error: err });
58
- return throwError(err);
59
- }), takeUntil(_this.destroy$)).subscribe(function (value) {
60
- _this.logger('got data', value);
61
- _this.actions$.next({
62
- type: remappedEffects[effectName_1],
63
- payload: value
64
- });
65
- });
66
- }
67
- }
68
- }
69
- else {
70
- // if there is no effect associated with this action then we can proceed calling the reducer associated
71
- _this.actions$.next({
72
- type: type.replace(REQUEST_SUFFIX, RESPONSE_SUFFIX),
73
- payload: action.payload
74
- });
75
- }
76
- }
77
- else if (type.endsWith(RESPONSE_SUFFIX)) {
78
- var fn = remappedReducers[action.type];
79
- _this.logger('should call fn', fn);
80
- if (_this[remappedReducers[action.type]]) {
81
- try {
82
- _this.state = _this[remappedReducers[action.type]](_this.state, action.payload);
83
- }
84
- catch (e) {
85
- // we don't need to stop loading here at it has already been stopped
86
- console.error("@Reduce " + fn + " thrown an error", e);
87
- _this._error$.next({ action: _this.actionsMetadata.getActionCodeFromChild(action.type), error: e });
88
- }
89
- }
90
- }
91
- }, function (err) {
92
- _this.logger('got error', err);
93
- // TODO should handle the error or should we change loading$ to a more generic status$ so we can pass altogether
94
- // loadings and errors events?
95
- _this._error$.next(err);
96
- console.error(err);
97
- });
98
- }
99
- Object.defineProperty(BaseStore.prototype, "state", {
100
- get: function () {
101
- return this._state;
102
- },
103
- set: function (value) {
104
- this.logger('setting new state', value);
105
- this._state = value;
106
- this._store$.next(value);
107
- if (this.storeMetadata.useLocalStorage) {
108
- this.logger('saving on localStorage');
109
- localStorage.setItem(this.storeMetadata.name, JSON.stringify(value));
110
- }
111
- },
112
- enumerable: true,
113
- configurable: true
114
- });
115
- Object.defineProperty(BaseStore.prototype, "store$", {
116
- get: function () {
117
- return this._store$.asObservable();
118
- },
119
- enumerable: true,
120
- configurable: true
121
- });
122
- Object.defineProperty(BaseStore.prototype, "loading$", {
123
- get: function () {
124
- return this._loading$.asObservable();
125
- },
126
- enumerable: true,
127
- configurable: true
128
- });
129
- Object.defineProperty(BaseStore.prototype, "error$", {
130
- get: function () {
131
- return this._error$.asObservable();
132
- },
133
- enumerable: true,
134
- configurable: true
135
- });
136
- BaseStore.prototype.dispatch = function (type, payload) {
137
- var requestAction = this.actionsMetadata.getActionsByCode(type).request;
138
- this.logger('dispatching type', requestAction);
139
- this.actions$.next({ type: requestAction, payload: payload });
140
- };
141
- BaseStore.prototype.parseReducers = function (reducers) {
142
- var _this = this;
143
- var remappedReducers = {};
144
- Object.keys(reducers).forEach(function (action) {
145
- if (+action >= 0) {
146
- var _action = Number(action);
147
- // this.logger('remapping', type, 'to');
148
- var realAction = _this.actionsMetadata.getActionsByCode(_action).response;
149
- // this.logger('real type to map to', realAction);
150
- remappedReducers[realAction] = reducers[action];
151
- }
152
- });
153
- return remappedReducers;
154
- };
155
- BaseStore.prototype.remapEffects = function (effectsMetadata) {
156
- var _this = this;
157
- var remappedEffects = {};
158
- Object.keys(effectsMetadata).forEach(function (action) {
159
- // effects should react to REQUEST events
160
- if (+action >= 0) {
161
- var _action = Number(action);
162
- var realAction = _this.actionsMetadata.getActionsByCode(_action).request;
163
- remappedEffects[realAction] = effectsMetadata[action];
164
- // mapping the effect function so that it can return a response type
165
- remappedEffects[effectsMetadata[action]] = _this.actionsMetadata.getActionsByCode(_action).response;
166
- }
167
- });
168
- return remappedEffects;
169
- };
170
- BaseStore.prototype.ngOnDestroy = function () {
171
- this.destroy$.next();
172
- this.destroy$.complete();
173
- };
174
- return BaseStore;
175
- }());
176
- export { BaseStore };
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3BoaS9zdG9yZS8iLCJzb3VyY2VzIjpbImxpYi9iYXNlLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxTQUFTLENBQUM7QUFDekQsT0FBTyxFQUFVLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RDtJQXNERTtRQUFBLGlCQWlIQztRQXJLTyxXQUFNLEdBQUcsV0FBVyxDQUFDLHdCQUFzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQU0sQ0FBQyxDQUFDO1FBeUJwRSxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBRzFCLENBQUM7UUFFRyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBSzNCLENBQUM7UUFNRyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBR3pCLENBQUM7UUFNRyxhQUFRLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFJbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLHVFQUF1RTtRQUN2RSxJ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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RGVidWdnZXIgfSBmcm9tICdAbWljcm9nYW1tYS9sb2dnYXRvcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldFN0b3JlTWV0YWRhdGEsIFN0b3JlT3B0aW9ucyB9IGZyb20gJy4vc3RvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25zLCBSRVFVRVNUX1NVRkZJWCwgUkVTUE9OU0VfU1VGRklYIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IGdldFJlZHVjZU1ldGFkYXRhIH0gZnJvbSAnLi9yZWR1Y2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTdG9yZTxUIGV4dGVuZHMge30+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIGxvZ2dlciA9IGdldERlYnVnZ2VyKGBtaWNyb3BoaTpCYXNlU3RvcmU6JHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yZU1ldGFkYXRhOiBTdG9yZU9wdGlvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uc01ldGFkYXRhOiBBY3Rpb25zPGFueT47XG5cbiAgcHJpdmF0ZSBfc3RhdGU6IFQ7XG4gIHByaXZhdGUgZ2V0IHN0YXRlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuICBwcml2YXRlIHNldCBzdGF0ZSh2YWx1ZTogVCkge1xuICAgIHRoaXMubG9nZ2VyKCdzZXR0aW5nIG5ldyBzdGF0ZScsIHZhbHVlKTtcbiAgICB0aGlzLl9zdGF0ZSA9IHZhbHVlO1xuICAgIHRoaXMuX3N0b3JlJC5uZXh0KHZhbHVlKTtcbiAgICBpZiAodGhpcy5zdG9yZU1ldGFkYXRhLnVzZUxvY2FsU3RvcmFnZSkge1xuICAgICAgdGhpcy5sb2dnZXIoJ3NhdmluZyBvbiBsb2NhbFN0b3JhZ2UnKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmVNZXRhZGF0YS5uYW1lLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N0b3JlJDogQmVoYXZpb3JTdWJqZWN0PFQ+O1xuXG4gIHB1YmxpYyBnZXQgc3RvcmUkKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGFjdGlvbnMkID0gbmV3IFN1YmplY3Q8e1xuICAgIHR5cGU6IHN0cmluZyxcbiAgICBwYXlsb2FkOiBhbnlcbiAgfT4oKTtcblxuICBwcml2YXRlIF9sb2FkaW5nJCA9IG5ldyBTdWJqZWN0PHtcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY29kZT86IG51bWJlcixcbiAgICBwYXlsb2FkOiBhbnksXG4gICAgc3RhdHVzOiBib29sZWFuXG4gIH0+KCk7XG5cbiAgZ2V0IGxvYWRpbmckKCk6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IGNvZGU/OiBudW1iZXI7IHBheWxvYWQ6IGFueTsgc3RhdHVzOiBib29sZWFuIH0+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIF9lcnJvciQgPSBuZXcgU3ViamVjdDx7XG4gICAgYWN0aW9uOiBudW1iZXIsXG4gICAgZXJyb3I6IGFueVxuICB9PigpO1xuXG4gIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTx7IGFjdGlvbjogbnVtYmVyOyBlcnJvcjogYW55IH0+IHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3IkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgdGhpcy5zdG9yZU1ldGFkYXRhID0gZ2V0U3RvcmVNZXRhZGF0YSh0aGlzKTtcbiAgICB0aGlzLmxvZ2dlcignQFN0b3JlJywgdGhpcy5zdG9yZU1ldGFkYXRhKTtcblxuICAgIHRoaXMuX3N0b3JlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5zdG9yZU1ldGFkYXRhLmluaXRpYWxTdGF0ZSk7XG4gICAgLy8gZGVyZWZlcmVuY2UgaW5pdGlhbCBzdGF0ZSBzbyB0aGF0IGlzIGRvZXMgbm90IGxlYWsgYmV0d2VlbiBpbnN0YW5jZXNcbiAgICB0aGlzLl9zdGF0ZSA9IE9iamVjdC5hc3NpZ24oIHt9LCAgdGhpcy5zdG9yZU1ldGFkYXRhLmluaXRpYWxTdGF0ZSk7XG4gICAgdGhpcy5sb2dnZXIoJ0luaXRpYWxTdGF0ZScsIHRoaXMuc3RhdGUpO1xuXG4gICAgdGhpcy5hY3Rpb25zTWV0YWRhdGEgPSBuZXcgQWN0aW9ucyh0aGlzLnN0b3JlTWV0YWRhdGEuYWN0aW9ucyk7XG5cbiAgICBjb25zdCByZWR1Y2VyTWV0YWRhdGEgPSBnZXRSZWR1Y2VNZXRhZGF0YSh0aGlzKTtcbiAgICB0aGlzLmxvZ2dlcignUmVkdWNlcnMnLCByZWR1Y2VyTWV0YWRhdGEpO1xuICAgIGNvbnN0IHJlbWFwcGVkUmVkdWNlcnMgPSB0aGlzLnBhcnNlUmVkdWNlcnMocmVkdWNlck1ldGFkYXRhKTtcbiAgICB0aGlzLmxvZ2dlcigncmVtYXBwZWQgcmVkdWNlcnMnLCByZW1hcHBlZFJlZHVjZXJzKTtcblxuXG4gICAgY29uc3QgZWZmZWN0c01ldGFkYXRhID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnQEVmZmVjdCcsIHRoaXMpIHx8IHt9O1xuICAgIHRoaXMubG9nZ2VyKCdFZmZlY3RzJywgZWZmZWN0c01ldGFkYXRhKTtcbiAgICBjb25zdCByZW1hcHBlZEVmZmVjdHMgPSB0aGlzLnJlbWFwRWZmZWN0cyhlZmZlY3RzTWV0YWRhdGEpO1xuICAgIHRoaXMubG9nZ2VyKCdyZW1hcHBlZCBlZmZlY3RzJywgcmVtYXBwZWRFZmZlY3RzKTtcblxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIHRhcCgoYWN0aW9uOiBBY3Rpb24pID0+IHtcbiAgICAgICAgdGhpcy5fbG9hZGluZyQubmV4dCh7XG4gICAgICAgICAgdHlwZTogYWN0aW9uLnR5cGUsXG4gICAgICAgICAgY29kZTogdGhpcy5hY3Rpb25zTWV0YWRhdGEuZ2V0QWN0aW9uQ29kZUZyb21DaGlsZChhY3Rpb24udHlwZSksXG4gICAgICAgICAgcGF5bG9hZDogYWN0aW9uLnBheWxvYWQsXG4gICAgICAgICAgc3RhdHVzOiBhY3Rpb24udHlwZS5lbmRzV2l0aCgnX1JFUVVFU1QnKVxuICAgICAgICB9KTtcblxuICAgICAgfSksXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgKS5zdWJzY3JpYmUoIChhY3Rpb246IEFjdGlvbikgPT4ge1xuICAgICAgdGhpcy5sb2dnZXIoJ2dvdCB0eXBlJywgYWN0aW9uKTtcblxuICAgICAgY29uc3QgdHlwZSA9IGFjdGlvbi50eXBlO1xuXG4gICAgICAvLyBlZmZlY3RzIGFyZSBhc3NvY2lhdGVkIHdpdGggcmVxdWVzdHNcbiAgICAgIGlmICh0eXBlLmVuZHNXaXRoKFJFUVVFU1RfU1VGRklYKSkge1xuICAgICAgICBpZiAocmVtYXBwZWRFZmZlY3RzLmhhc093blByb3BlcnR5KHR5cGUpKSB7XG5cbiAgICAgICAgICBjb25zdCBlZmZlY3ROYW1lID0gcmVtYXBwZWRFZmZlY3RzW3R5cGVdO1xuICAgICAgICAgIHRoaXMubG9nZ2VyKCdzaG91bGQgY2FsbCcsIGVmZmVjdE5hbWUpO1xuXG5cbiAgICAgICAgICBpZiAodGhpc1tlZmZlY3ROYW1lXSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHJldFZhbHVlID0gdGhpc1tlZmZlY3ROYW1lXShhY3Rpb24ucGF5bG9hZCkgYXMgT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgICAgICAgICBpZiAocmV0VmFsdWUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICAgIHJldFZhbHVlLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBARWZmZWN0OiAke2VmZmVjdE5hbWV9IHRocm93biB0aGUgZm9sbG93aW5nIGVycm9yYCk7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogYWN0aW9uLnBheWxvYWQsXG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IHRoaXMuYWN0aW9uc01ldGFkYXRhLmdldEFjdGlvbkNvZGVGcm9tQ2hpbGQoYWN0aW9uLnR5cGUpLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBhY3Rpb24udHlwZSxcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgdGhpcy5fZXJyb3IkLm5leHQoe2FjdGlvbjogdGhpcy5hY3Rpb25zTWV0YWRhdGEuZ2V0QWN0aW9uQ29kZUZyb21DaGlsZChhY3Rpb24udHlwZSksIGVycm9yOiBlcnJ9KTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgICAgICAgICkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyKCdnb3QgZGF0YScsIHZhbHVlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9ucyQubmV4dCh7XG4gICAgICAgICAgICAgICAgICB0eXBlOiByZW1hcHBlZEVmZmVjdHNbZWZmZWN0TmFtZV0sXG4gICAgICAgICAgICAgICAgICBwYXlsb2FkOiB2YWx1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIGVmZmVjdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBhY3Rpb24gdGhlbiB3ZSBjYW4gcHJvY2VlZCBjYWxsaW5nIHRoZSByZWR1Y2VyIGFzc29jaWF0ZWRcbiAgICAgICAgICB0aGlzLmFjdGlvbnMkLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogdHlwZS5yZXBsYWNlKFJFUVVFU1RfU1VGRklYLCBSRVNQT05TRV9TVUZGSVgpLFxuICAgICAgICAgICAgcGF5bG9hZDogYWN0aW9uLnBheWxvYWRcbiAgICAgICAgICB9KTtcblxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGUuZW5kc1dpdGgoUkVTUE9OU0VfU1VGRklYKSkge1xuXG4gICAgICAgIGNvbnN0IGZuID0gcmVtYXBwZWRSZWR1Y2Vyc1thY3Rpb24udHlwZV07XG4gICAgICAgIHRoaXMubG9nZ2VyKCdzaG91bGQgY2FsbCBmbicsIGZuKTtcblxuICAgICAgICBpZiAodGhpc1tyZW1hcHBlZFJlZHVjZXJzW2FjdGlvbi50eXBlXV0pIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IHRoaXNbcmVtYXBwZWRSZWR1Y2Vyc1thY3Rpb24udHlwZV1dKHRoaXMuc3RhdGUsIGFjdGlvbi5wYXlsb2FkKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG5cbiAgICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8gc3RvcCBsb2FkaW5nIGhlcmUgYXQgaXQgaGFzIGFscmVhZHkgYmVlbiBzdG9wcGVkXG5cbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEBSZWR1Y2UgJHtmbn0gdGhyb3duIGFuIGVycm9yYCwgZSk7XG4gICAgICAgICAgICB0aGlzLl9lcnJvciQubmV4dCh7YWN0aW9uOiB0aGlzLmFjdGlvbnNNZXRhZGF0YS5nZXRBY3Rpb25Db2RlRnJvbUNoaWxkKGFjdGlvbi50eXBlKSwgZXJyb3I6IGV9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfSwgKGVycikgPT4ge1xuICAgICAgdGhpcy5sb2dnZXIoJ2dvdCBlcnJvcicsIGVycik7XG4gICAgICAvLyBUT0RPIHNob3VsZCBoYW5kbGUgdGhlIGVycm9yIG9yIHNob3VsZCB3ZSBjaGFuZ2UgbG9hZGluZyQgdG8gYSBtb3JlIGdlbmVyaWMgc3RhdHVzJCBzbyB3ZSBjYW4gcGFzcyBhbHRvZ2V0aGVyXG4gICAgICAvLyBsb2FkaW5ncyBhbmQgZXJyb3JzIGV2ZW50cz9cbiAgICAgIHRoaXMuX2Vycm9yJC5uZXh0KGVycik7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSk7XG5cbiAgfVxuXG4gIHB1YmxpYyBkaXNwYXRjaCh0eXBlOiBudW1iZXIsIHBheWxvYWQ/OiBhbnkpIHtcblxuICAgIGNvbnN0IHJlcXVlc3RBY3Rpb24gPSB0aGlzLmFjdGlvbnNNZXRhZGF0YS5nZXRBY3Rpb25zQnlDb2RlKHR5cGUpLnJlcXVlc3Q7XG4gICAgdGhpcy5sb2dnZXIoJ2Rpc3BhdGNoaW5nIHR5cGUnLCByZXF1ZXN0QWN0aW9uKTtcblxuICAgIHRoaXMuYWN0aW9ucyQubmV4dCh7dHlwZTogcmVxdWVzdEFjdGlvbiwgcGF5bG9hZH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVJlZHVjZXJzKHJlZHVjZXJzKSB7XG4gICAgY29uc3QgcmVtYXBwZWRSZWR1Y2VycyA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMocmVkdWNlcnMpLmZvckVhY2goKGFjdGlvbikgPT4ge1xuICAgICAgaWYgKCthY3Rpb24gPj0gMCkge1xuICAgICAgICBjb25zdCBfYWN0aW9uOiBudW1iZXIgPSBOdW1iZXIoYWN0aW9uKTtcbiAgICAgICAgLy8gdGhpcy5sb2dnZXIoJ3JlbWFwcGluZycsIHR5cGUsICd0bycpO1xuICAgICAgICBjb25zdCByZWFsQWN0aW9uID0gdGhpcy5hY3Rpb25zTWV0YWRhdGEuZ2V0QWN0aW9uc0J5Q29kZShfYWN0aW9uKS5yZXNwb25zZTtcbiAgICAgICAgLy8gdGhpcy5sb2dnZXIoJ3JlYWwgdHlwZSB0byBtYXAgdG8nLCByZWFsQWN0aW9uKTtcbiAgICAgICAgcmVtYXBwZWRSZWR1Y2Vyc1tyZWFsQWN0aW9uXSA9IHJlZHVjZXJzW2FjdGlvbl07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVtYXBwZWRSZWR1Y2VycztcbiAgfVxuXG4gIHByaXZhdGUgcmVtYXBFZmZlY3RzKGVmZmVjdHNNZXRhZGF0YToge30pIHtcbiAgICBjb25zdCByZW1hcHBlZEVmZmVjdHMgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKGVmZmVjdHNNZXRhZGF0YSkuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICAvLyBlZmZlY3RzIHNob3VsZCByZWFjdCB0byBSRVFVRVNUIGV2ZW50c1xuXG4gICAgICBpZiAoK2FjdGlvbiA+PSAwKSB7XG4gICAgICAgIGNvbnN0IF9hY3Rpb24gPSBOdW1iZXIoYWN0aW9uKTtcblxuICAgICAgICBjb25zdCByZWFsQWN0aW9uID0gdGhpcy5hY3Rpb25zTWV0YWRhdGEuZ2V0QWN0aW9uc0J5Q29kZShfYWN0aW9uKS5yZXF1ZXN0O1xuXG4gICAgICAgIHJlbWFwcGVkRWZmZWN0c1tyZWFsQWN0aW9uXSA9IGVmZmVjdHNNZXRhZGF0YVthY3Rpb25dO1xuICAgICAgICAvLyBtYXBwaW5nIHRoZSBlZmZlY3QgZnVuY3Rpb24gc28gdGhhdCBpdCBjYW4gcmV0dXJuIGEgcmVzcG9uc2UgdHlwZVxuICAgICAgICByZW1hcHBlZEVmZmVjdHNbZWZmZWN0c01ldGFkYXRhW2FjdGlvbl1dID0gdGhpcy5hY3Rpb25zTWV0YWRhdGEuZ2V0QWN0aW9uc0J5Q29kZShfYWN0aW9uKS5yZXNwb25zZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByZW1hcHBlZEVmZmVjdHM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { getDebugger } from '@microgamma/loggator';
2
- export function Effect(onAction) {
3
- return function (target, key) {
4
- var d = getDebugger("microphi:@Effect:" + target.constructor.name);
5
- d('decorating', key, 'with type', onAction);
6
- var effects = Reflect.getMetadata('@Effect', target) || {};
7
- effects[onAction] = key;
8
- return Reflect.defineMetadata('@Effect', effects, target);
9
- };
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1pY3JvcGhpL3N0b3JlLyIsInNvdXJjZXMiOlsibGliL2VmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxRQUFnQjtJQUVyQyxPQUFPLFVBQStCLE1BQWEsRUFBRSxHQUFXO1FBRTlELElBQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxzQkFBb0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFNLENBQUMsQ0FBQztRQUVyRSxDQUFDLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFNUMsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdELE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFeEIsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnQG1pY3JvZ2FtbWEvbG9nZ2F0b3InO1xuaW1wb3J0IHsgQmFzZVN0b3JlIH0gZnJvbSAnLi9iYXNlLXN0b3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIEVmZmVjdChvbkFjdGlvbjogbnVtYmVyKSB7XG5cbiAgcmV0dXJuIDxTdG9yZSBleHRlbmRzIEJhc2VTdG9yZTxhbnk+Pih0YXJnZXQ6IFN0b3JlLCBrZXk6IHN0cmluZykgPT4ge1xuXG4gICAgY29uc3QgZCA9IGdldERlYnVnZ2VyKGBtaWNyb3BoaTpARWZmZWN0OiR7dGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWV9YCk7XG5cbiAgICBkKCdkZWNvcmF0aW5nJywga2V5LCAnd2l0aCB0eXBlJywgb25BY3Rpb24pO1xuXG4gICAgY29uc3QgZWZmZWN0cyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0BFZmZlY3QnLCB0YXJnZXQpIHx8IHt9O1xuXG4gICAgZWZmZWN0c1tvbkFjdGlvbl0gPSBrZXk7XG5cbiAgICByZXR1cm4gUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSgnQEVmZmVjdCcsIGVmZmVjdHMsIHRhcmdldCk7XG4gIH07XG59XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { delay, tap } from 'rxjs/operators';
3
- import { Injectable } from '@angular/core';
4
- import { HttpActions, HttpStatusStore } from './http-status.store';
5
- var HttpStatusInterceptor = /** @class */ (function () {
6
- function HttpStatusInterceptor(httpStatusStore) {
7
- this.httpStatusStore = httpStatusStore;
8
- }
9
- HttpStatusInterceptor.prototype.intercept = function (req, next) {
10
- var _this = this;
11
- this.httpStatusStore.dispatch(HttpActions.REQUEST);
12
- // extend server response observable with logging
13
- return next.handle(req)
14
- .pipe(delay(100), tap(
15
- // Succeeds when there is a response; ignore other events
16
- function () {
17
- _this.httpStatusStore.dispatch(HttpActions.RESPONSE);
18
- },
19
- // Operation failed; error is an HttpErrorResponse
20
- function (error) {
21
- _this.httpStatusStore.dispatch(HttpActions.ERROR, error);
22
- }));
23
- };
24
- HttpStatusInterceptor.ctorParameters = function () { return [
25
- { type: HttpStatusStore }
26
- ]; };
27
- HttpStatusInterceptor = __decorate([
28
- Injectable()
29
- ], HttpStatusInterceptor);
30
- return HttpStatusInterceptor;
31
- }());
32
- export { HttpStatusInterceptor };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdGF0dXMuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbWljcm9waGkvc3RvcmUvIiwic291cmNlcyI6WyJsaWIvaHR0cC1zdGF0dXMvaHR0cC1zdGF0dXMuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR25FO0lBQ0UsK0JBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQseUNBQVMsR0FBVCxVQUFVLEdBQXFCLEVBQUUsSUFBaUI7UUFBbEQsaUJBb0JDO1FBbEJDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuRCxpREFBaUQ7UUFDakQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNwQixJQUFJLENBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUNWLEdBQUc7UUFDRCx5REFBeUQ7UUFDekQ7WUFDRSxLQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEQsQ0FBQztRQUNELGtEQUFrRDtRQUNsRCxVQUFDLEtBQUs7WUFDSixLQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FDRixDQUNGLENBQUM7SUFDTixDQUFDOztnQkF0Qm9DLGVBQWU7O0lBRHpDLHFCQUFxQjtRQURqQyxVQUFVLEVBQUU7T0FDQSxxQkFBcUIsQ0F3QmpDO0lBQUQsNEJBQUM7Q0FBQSxBQXhCRCxJQXdCQztTQXhCWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBIdHRwQWN0aW9ucywgSHR0cFN0YXR1c1N0b3JlIH0gZnJvbSAnLi9odHRwLXN0YXR1cy5zdG9yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwU3RhdHVzSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTdGF0dXNTdG9yZTogSHR0cFN0YXR1c1N0b3JlKSB7fVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG5cbiAgICB0aGlzLmh0dHBTdGF0dXNTdG9yZS5kaXNwYXRjaChIdHRwQWN0aW9ucy5SRVFVRVNUKTtcblxuICAgIC8vIGV4dGVuZCBzZXJ2ZXIgcmVzcG9uc2Ugb2JzZXJ2YWJsZSB3aXRoIGxvZ2dpbmdcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlbGF5KDEwMCksXG4gICAgICAgIHRhcChcbiAgICAgICAgICAvLyBTdWNjZWVkcyB3aGVuIHRoZXJlIGlzIGEgcmVzcG9uc2U7IGlnbm9yZSBvdGhlciBldmVudHNcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh0dHBTdGF0dXNTdG9yZS5kaXNwYXRjaChIdHRwQWN0aW9ucy5SRVNQT05TRSk7XG5cbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIE9wZXJhdGlvbiBmYWlsZWQ7IGVycm9yIGlzIGFuIEh0dHBFcnJvclJlc3BvbnNlXG4gICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh0dHBTdGF0dXNTdG9yZS5kaXNwYXRjaChIdHRwQWN0aW9ucy5FUlJPUiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -1,66 +0,0 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { map } from 'rxjs/operators';
3
- import { Injectable } from '@angular/core';
4
- import { Store } from '../store';
5
- import { BaseStore } from '../base-store';
6
- import { Reduce } from '../reduce';
7
- import * as i0 from "@angular/core";
8
- export var HttpActions;
9
- (function (HttpActions) {
10
- HttpActions[HttpActions["REQUEST"] = 0] = "REQUEST";
11
- HttpActions[HttpActions["RESPONSE"] = 1] = "RESPONSE";
12
- HttpActions[HttpActions["ERROR"] = 2] = "ERROR";
13
- })(HttpActions || (HttpActions = {}));
14
- var HttpStatusStore = /** @class */ (function (_super) {
15
- __extends(HttpStatusStore, _super);
16
- function HttpStatusStore() {
17
- var _this = _super !== null && _super.apply(this, arguments) || this;
18
- // TODO: add explicit constructor
19
- _this.isLoading$ = _this.store$.pipe(map(function (state) {
20
- return state.isLoading;
21
- }));
22
- return _this;
23
- }
24
- HttpStatusStore.prototype.onRequest = function () {
25
- return {
26
- isLoading: true
27
- };
28
- };
29
- HttpStatusStore.prototype.onResponse = function () {
30
- return {
31
- isLoading: false
32
- };
33
- };
34
- HttpStatusStore.prototype.onError = function (state, err) {
35
- return {
36
- isLoading: false,
37
- error: err
38
- };
39
- };
40
- HttpStatusStore.ɵprov = i0.ɵɵdefineInjectable({ factory: function HttpStatusStore_Factory() { return new HttpStatusStore(); }, token: HttpStatusStore, providedIn: "root" });
41
- __decorate([
42
- Reduce(HttpActions.REQUEST)
43
- ], HttpStatusStore.prototype, "onRequest", null);
44
- __decorate([
45
- Reduce(HttpActions.RESPONSE)
46
- ], HttpStatusStore.prototype, "onResponse", null);
47
- __decorate([
48
- Reduce(HttpActions.ERROR)
49
- ], HttpStatusStore.prototype, "onError", null);
50
- HttpStatusStore = __decorate([
51
- Store({
52
- name: 'httpStatusStore',
53
- initialState: {
54
- isLoading: false,
55
- error: null
56
- },
57
- actions: HttpActions
58
- }),
59
- Injectable({
60
- providedIn: 'root'
61
- })
62
- ], HttpStatusStore);
63
- return HttpStatusStore;
64
- }(BaseStore));
65
- export { HttpStatusStore };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdGF0dXMuc3RvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbWljcm9waGkvc3RvcmUvIiwic291cmNlcyI6WyJsaWIvaHR0cC1zdGF0dXMvaHR0cC1zdGF0dXMuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQU9uQyxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3JCLG1EQUFPLENBQUE7SUFDUCxxREFBUSxDQUFBO0lBQ1IsK0NBQUssQ0FBQTtBQUNQLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQWFEO0lBQXFDLG1DQUFvQjtJQUF6RDtRQUFBLHFFQWtDQztRQWpDQyxpQ0FBaUM7UUFJMUIsZ0JBQVUsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLFVBQUMsS0FBSztZQUNSLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDOztLQXlCSDtJQXJCUyxtQ0FBUyxHQUFqQjtRQUNFLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUdPLG9DQUFVLEdBQWxCO1FBQ0UsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBR00saUNBQU8sR0FBZCxVQUFlLEtBQWdCLEVBQUUsR0FBRztRQUNsQyxPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUs7WUFDaEIsS0FBSyxFQUFFLEdBQUc7U0FDWCxDQUFDO0lBQ0osQ0FBQzs7SUFuQkQ7UUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztvREFLM0I7SUFHRDtRQURDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO3FEQUs1QjtJQUdEO1FBREMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7a0RBTXpCO0lBaENVLGVBQWU7UUFYM0IsS0FBSyxDQUFDO1lBQ0wsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixZQUFZLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxPQUFPLEVBQUUsV0FBVztTQUNyQixDQUFDO1FBQ0QsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQztPQUNXLGVBQWUsQ0FrQzNCOzBCQS9ERDtDQStEQyxBQWxDRCxDQUFxQyxTQUFTLEdBa0M3QztTQWxDWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IEJhc2VTdG9yZSB9IGZyb20gJy4uL2Jhc2Utc3RvcmUnO1xuaW1wb3J0IHsgUmVkdWNlIH0gZnJvbSAnLi4vcmVkdWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwU3RhdGUge1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2U7XG59XG5cbmV4cG9ydCBlbnVtIEh0dHBBY3Rpb25zIHtcbiAgUkVRVUVTVCxcbiAgUkVTUE9OU0UsXG4gIEVSUk9SXG59XG5cbkBTdG9yZSh7XG4gIG5hbWU6ICdodHRwU3RhdHVzU3RvcmUnLFxuICBpbml0aWFsU3RhdGU6IHtcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgIGVycm9yOiBudWxsXG4gIH0sXG4gIGFjdGlvbnM6IEh0dHBBY3Rpb25zXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSHR0cFN0YXR1c1N0b3JlIGV4dGVuZHMgQmFzZVN0b3JlPEh0dHBTdGF0ZT4ge1xuICAvLyBUT0RPOiBhZGQgZXhwbGljaXQgY29uc3RydWN0b3JcblxuXG5cbiAgcHVibGljIGlzTG9hZGluZyQgPSB0aGlzLnN0b3JlJC5waXBlKFxuICAgIG1hcCgoc3RhdGUpID0+IHtcbiAgICAgIHJldHVybiBzdGF0ZS5pc0xvYWRpbmc7XG4gICAgfSlcbiAgKTtcblxuXG4gIEBSZWR1Y2UoSHR0cEFjdGlvbnMuUkVRVUVTVClcbiAgcHJpdmF0ZSBvblJlcXVlc3QoKTogSHR0cFN0YXRlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNMb2FkaW5nOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIEBSZWR1Y2UoSHR0cEFjdGlvbnMuUkVTUE9OU0UpXG4gIHByaXZhdGUgb25SZXNwb25zZSgpOiBIdHRwU3RhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBpc0xvYWRpbmc6IGZhbHNlXG4gICAgfTtcbiAgfVxuXG4gIEBSZWR1Y2UoSHR0cEFjdGlvbnMuRVJST1IpXG4gIHB1YmxpYyBvbkVycm9yKHN0YXRlOiBIdHRwU3RhdGUsIGVycik6IEh0dHBTdGF0ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBlcnJvcjogZXJyXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -1,126 +0,0 @@
1
- import { __generator } from "tslib";
2
- var List = /** @class */ (function () {
3
- function List(entities, IDField) {
4
- var _this = this;
5
- this.IDField = IDField;
6
- this.entities = new Map();
7
- /**
8
- * maps entities position from the original array to their ids
9
- */
10
- this.ids = [];
11
- this.ids = entities.map(function (e) { return _this.getId(e); });
12
- entities
13
- .forEach(function (item, idx) {
14
- var id = item[IDField];
15
- _this.entities.set(id, item);
16
- });
17
- }
18
- Object.defineProperty(List.prototype, "size", {
19
- get: function () {
20
- if (this.ids.length !== this.entities.size) {
21
- throw new Error("Size Mismatch " + this.ids.length + " !== " + this.entities.size);
22
- }
23
- return this.entities.size;
24
- },
25
- enumerable: true,
26
- configurable: true
27
- });
28
- List.prototype.get = function (id) {
29
- return this.entities.get(id);
30
- };
31
- List.prototype.getId = function (entity) {
32
- return entity[this.IDField];
33
- };
34
- List.prototype[Symbol.iterator] = function () {
35
- var _a, _b, _i, idx, id;
36
- return __generator(this, function (_c) {
37
- switch (_c.label) {
38
- case 0:
39
- _a = [];
40
- for (_b in this.ids)
41
- _a.push(_b);
42
- _i = 0;
43
- _c.label = 1;
44
- case 1:
45
- if (!(_i < _a.length)) return [3 /*break*/, 4];
46
- idx = _a[_i];
47
- id = this.ids[idx];
48
- return [4 /*yield*/, this.entities.get(id)];
49
- case 2:
50
- _c.sent();
51
- _c.label = 3;
52
- case 3:
53
- _i++;
54
- return [3 /*break*/, 1];
55
- case 4: return [2 /*return*/];
56
- }
57
- });
58
- };
59
- List.prototype.upsert = function () {
60
- var _this = this;
61
- var entities = [];
62
- for (var _i = 0; _i < arguments.length; _i++) {
63
- entities[_i] = arguments[_i];
64
- }
65
- entities.forEach(function (e) {
66
- var id = _this.getId(e);
67
- if (!_this.entities.has(id)) {
68
- _this.ids.push(id);
69
- }
70
- _this.entities.set(id, e);
71
- });
72
- };
73
- List.prototype.prepend = function () {
74
- var _this = this;
75
- var entities = [];
76
- for (var _i = 0; _i < arguments.length; _i++) {
77
- entities[_i] = arguments[_i];
78
- }
79
- entities.reverse().forEach(function (e) {
80
- var id = _this.getId(e);
81
- if (_this.entities.has(id)) {
82
- console.warn("Entity with id '" + id + "' already exists, moving to the top of the list. Entity will be updated");
83
- _this.delete(e);
84
- }
85
- _this.ids.unshift(id);
86
- _this.entities.set(id, e);
87
- });
88
- };
89
- List.prototype.delete = function () {
90
- var _this = this;
91
- var entities = [];
92
- for (var _i = 0; _i < arguments.length; _i++) {
93
- entities[_i] = arguments[_i];
94
- }
95
- entities.forEach(function (e) {
96
- var id = _this.getId(e);
97
- var indexOfId = _this.ids.findIndex(function (_id) { return _id === id; });
98
- if (indexOfId < 0) {
99
- console.warn("Cannot find id: " + id);
100
- }
101
- else {
102
- _this.ids.splice(indexOfId, 1);
103
- _this.entities.delete(id);
104
- }
105
- });
106
- };
107
- List.prototype.append = function () {
108
- var _this = this;
109
- var entities = [];
110
- for (var _i = 0; _i < arguments.length; _i++) {
111
- entities[_i] = arguments[_i];
112
- }
113
- entities.forEach(function (e) {
114
- var id = _this.getId(e);
115
- if (_this.entities.has(id)) {
116
- console.warn("Entity with id '" + id + "' already exists, moving to the end of the list. Entity will be updated.");
117
- _this.delete(e);
118
- }
119
- _this.ids.push(id);
120
- _this.entities.set(id, e);
121
- });
122
- };
123
- return List;
124
- }());
125
- export { List };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtaWNyb3BoaS9zdG9yZS8iLCJzb3VyY2VzIjpbImxpYi9saXN0L2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBO0lBeUJFLGNBQVksUUFBc0IsRUFBVSxPQUEwQjtRQUF0RSxpQkFTQztRQVQyQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQXZCdEQsYUFBUSxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBRXREOztXQUVHO1FBQ2MsUUFBRyxHQUFVLEVBQUUsQ0FBQztRQW9CL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsS0FBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBYixDQUFhLENBQUMsQ0FBQztRQUU5QyxRQUFRO2FBQ0wsT0FBTyxDQUFDLFVBQUMsSUFBSSxFQUFFLEdBQUc7WUFDakIsSUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pCLEtBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUF6QkQsc0JBQVcsc0JBQUk7YUFBZjtZQUNFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBRTFDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQWlCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxhQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBTSxDQUFDLENBQUM7YUFDL0U7WUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzVCLENBQUM7OztPQUFBO0lBRU0sa0JBQUcsR0FBVixVQUFXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FB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ekIsSUFBeUI7WUFBekIsNkJBQXlCOztRQUNyQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQUMsQ0FBQztZQUNqQixJQUFNLEVBQUUsR0FBRyxLQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksS0FBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQW1CLEVBQUUsNkVBQTBFLENBQUMsQ0FBQztnQkFDOUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQjtZQUVELEtBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDSCxXQUFDO0FBQUQsQ0FBQyxBQW5HRCxJQW1HQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRLZXlzIH0gZnJvbSAndXRpbGl0eS10eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBMaXN0PEVudGl0eVR5cGUgZXh0ZW5kcyB7fT4gaW1wbGVtZW50cyBJdGVyYWJsZTxFbnRpdHlUeXBlPiB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVudGl0aWVzID0gbmV3IE1hcDxhbnksIEVudGl0eVR5cGU+KCk7XG5cbiAgLyoqXG4gICAqIG1hcHMgZW50aXRpZXMgcG9zaXRpb24gZnJvbSB0aGUgb3JpZ2luYWwgYXJyYXkgdG8gdGhlaXIgaWRzXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGlkczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IHNpemUoKSB7XG4gICAgaWYgKHRoaXMuaWRzLmxlbmd0aCAhPT0gdGhpcy5lbnRpdGllcy5zaXplKSB7XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2l6ZSBNaXNtYXRjaCAke3RoaXMuaWRzLmxlbmd0aH0gIT09ICR7dGhpcy5lbnRpdGllcy5zaXplfWApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmVudGl0aWVzLnNpemU7XG4gIH1cblxuICBwdWJsaWMgZ2V0KGlkKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMuZ2V0KGlkKTtcbiAgfVxuICBwcml2YXRlIGdldElkKGVudGl0eTogRW50aXR5VHlwZSkge1xuICAgIHJldHVybiBlbnRpdHlbdGhpcy5JREZpZWxkXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGVudGl0aWVzOiBFbnRpdHlUeXBlW10sIHByaXZhdGUgSURGaWVsZDogJEtleXM8RW50aXR5VHlwZT4pIHtcblxuICAgIHRoaXMuaWRzID0gZW50aXRpZXMubWFwKChlKSA9PiB0aGlzLmdldElkKGUpKTtcblxuICAgIGVudGl0aWVzXG4gICAgICAuZm9yRWFjaCgoaXRlbSwgaWR4KSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gaXRlbVtJREZpZWxkXTtcbiAgICAgICAgdGhpcy5lbnRpdGllcy5zZXQoaWQsIGl0ZW0pO1xuICAgICAgfSk7XG4gIH1cblxuICAqW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmFibGVJdGVyYXRvcjxFbnRpdHlUeXBlPiB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZvcmluXG4gICAgZm9yIChjb25zdCBpZHggaW4gdGhpcy5pZHMpIHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5pZHNbaWR4XTtcbiAgICAgIHlpZWxkIHRoaXMuZW50aXRpZXMuZ2V0KGlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBzZXJ0KC4uLmVudGl0aWVzOiBFbnRpdHlUeXBlW10pIHtcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQoZSk7XG5cbiAgICAgIGlmICghdGhpcy5lbnRpdGllcy5oYXMoaWQpKSB7XG4gICAgICAgIHRoaXMuaWRzLnB1c2goaWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVudGl0aWVzLnNldChpZCwgZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcHJlcGVuZCguLi5lbnRpdGllczogRW50aXR5VHlwZVtdKSB7XG4gICAgZW50aXRpZXMucmV2ZXJzZSgpLmZvckVhY2goKGUpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5nZXRJZChlKTtcblxuICAgICAgaWYgKHRoaXMuZW50aXRpZXMuaGFzKGlkKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYEVudGl0eSB3aXRoIGlkICcke2lkfScgYWxyZWFkeSBleGlzdHMsIG1vdmluZyB0byB0aGUgdG9wIG9mIHRoZSBsaXN0LiBFbnRpdHkgd2lsbCBiZSB1cGRhdGVkYCk7XG4gICAgICAgIHRoaXMuZGVsZXRlKGUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmlkcy51bnNoaWZ0KGlkKTtcblxuICAgICAgdGhpcy5lbnRpdGllcy5zZXQoaWQsIGUpO1xuXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKC4uLmVudGl0aWVzOiBFbnRpdHlUeXBlW10pIHtcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQoZSk7XG4gICAgICBjb25zdCBpbmRleE9mSWQgPSB0aGlzLmlkcy5maW5kSW5kZXgoKF9pZCkgPT4gX2lkID09PSBpZCk7XG5cbiAgICAgIGlmIChpbmRleE9mSWQgPCAwKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQ2Fubm90IGZpbmQgaWQ6ICR7aWR9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlkcy5zcGxpY2UoaW5kZXhPZklkLCAxKTtcbiAgICAgICAgdGhpcy5lbnRpdGllcy5kZWxldGUoaWQpO1xuICAgICAgfVxuXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXBwZW5kKC4uLmVudGl0aWVzOiBFbnRpdHlUeXBlW10pIHtcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQoZSk7XG4gICAgICBpZiAodGhpcy5lbnRpdGllcy5oYXMoaWQpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgRW50aXR5IHdpdGggaWQgJyR7aWR9JyBhbHJlYWR5IGV4aXN0cywgbW92aW5nIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuIEVudGl0eSB3aWxsIGJlIHVwZGF0ZWQuYCk7XG4gICAgICAgIHRoaXMuZGVsZXRlKGUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmlkcy5wdXNoKGlkKTtcbiAgICAgIHRoaXMuZW50aXRpZXMuc2V0KGlkLCBlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19