ngrx-entity-crud 12.0.6-beta.2

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 (184) hide show
  1. package/README.md +259 -0
  2. package/bundles/ngrx-entity-crud.umd.js +1829 -0
  3. package/bundles/ngrx-entity-crud.umd.js.map +1 -0
  4. package/esm2015/lib/actions.js +88 -0
  5. package/esm2015/lib/base-crud-gql.service.js +71 -0
  6. package/esm2015/lib/base-crud.service.js +136 -0
  7. package/esm2015/lib/create_adapter.js +14 -0
  8. package/esm2015/lib/effect.js +467 -0
  9. package/esm2015/lib/entity_state.js +23 -0
  10. package/esm2015/lib/ibase-crud-service.js +2 -0
  11. package/esm2015/lib/j-ngrx-filter.js +133 -0
  12. package/esm2015/lib/models.js +17 -0
  13. package/esm2015/lib/reducer.js +353 -0
  14. package/esm2015/lib/state_selectors.js +56 -0
  15. package/esm2015/lib/utils.js +19 -0
  16. package/esm2015/ngrx-entity-crud.js +5 -0
  17. package/esm2015/public-api.js +7 -0
  18. package/fesm2015/ngrx-entity-crud.js +1367 -0
  19. package/fesm2015/ngrx-entity-crud.js.map +1 -0
  20. package/lib/actions.d.ts +5 -0
  21. package/lib/actions.d.ts.map +1 -0
  22. package/lib/base-crud-gql.service.d.ts +19 -0
  23. package/lib/base-crud-gql.service.d.ts.map +1 -0
  24. package/lib/base-crud.service.d.ts +34 -0
  25. package/lib/base-crud.service.d.ts.map +1 -0
  26. package/lib/create_adapter.d.ts +6 -0
  27. package/lib/create_adapter.d.ts.map +1 -0
  28. package/lib/effect.d.ts +132 -0
  29. package/lib/effect.d.ts.map +1 -0
  30. package/lib/entity_state.d.ts +9 -0
  31. package/lib/entity_state.d.ts.map +1 -0
  32. package/lib/ibase-crud-service.d.ts +13 -0
  33. package/lib/ibase-crud-service.d.ts.map +1 -0
  34. package/lib/j-ngrx-filter.d.ts +14 -0
  35. package/lib/j-ngrx-filter.d.ts.map +1 -0
  36. package/lib/models.d.ts +494 -0
  37. package/lib/models.d.ts.map +1 -0
  38. package/lib/reducer.d.ts +11 -0
  39. package/lib/reducer.d.ts.map +1 -0
  40. package/lib/state_selectors.d.ts +5 -0
  41. package/lib/state_selectors.d.ts.map +1 -0
  42. package/lib/utils.d.ts +8 -0
  43. package/lib/utils.d.ts.map +1 -0
  44. package/ngrx-entity-crud.d.ts +5 -0
  45. package/ngrx-entity-crud.d.ts.map +1 -0
  46. package/ngrx-entity-crud.metadata.json +1 -0
  47. package/package.json +41 -0
  48. package/public-api.d.ts +7 -0
  49. package/public-api.d.ts.map +1 -0
  50. package/schematics/auth/files/model/auth.ts +17 -0
  51. package/schematics/auth/files/store/auth-store/actions.ts +30 -0
  52. package/schematics/auth/files/store/auth-store/auth-mock.service.ts +95 -0
  53. package/schematics/auth/files/store/auth-store/auth-store.module.ts +34 -0
  54. package/schematics/auth/files/store/auth-store/auth.guard.ts +44 -0
  55. package/schematics/auth/files/store/auth-store/auth.service.ts +28 -0
  56. package/schematics/auth/files/store/auth-store/conf.ts +2 -0
  57. package/schematics/auth/files/store/auth-store/effects.ts +53 -0
  58. package/schematics/auth/files/store/auth-store/index.d.ts +13 -0
  59. package/schematics/auth/files/store/auth-store/index.ts +13 -0
  60. package/schematics/auth/files/store/auth-store/names.ts +3 -0
  61. package/schematics/auth/files/store/auth-store/reducer.ts +16 -0
  62. package/schematics/auth/files/store/auth-store/selectors.ts +51 -0
  63. package/schematics/auth/files/store/auth-store/state.ts +16 -0
  64. package/schematics/auth/files/views/login/components/logout-button/logout-button.component.ts +49 -0
  65. package/schematics/auth/files/views/login/login-main/login-main.component.html +25 -0
  66. package/schematics/auth/files/views/login/login-main/login-main.component.ts +57 -0
  67. package/schematics/auth/files/views/login/login-routing.module.ts +30 -0
  68. package/schematics/auth/files/views/login/login.module.ts +30 -0
  69. package/schematics/auth/index.d.ts +2 -0
  70. package/schematics/auth/index.js +77 -0
  71. package/schematics/auth/index.js.map +1 -0
  72. package/schematics/auth/schema.json +21 -0
  73. package/schematics/auth0/files/store/auth-store/actions.ts +21 -0
  74. package/schematics/auth0/files/store/auth-store/auth-store.module.ts +32 -0
  75. package/schematics/auth0/files/store/auth-store/auth.guard.ts +44 -0
  76. package/schematics/auth0/files/store/auth-store/authentication.service.ts +32 -0
  77. package/schematics/auth0/files/store/auth-store/conf.ts +2 -0
  78. package/schematics/auth0/files/store/auth-store/effects.ts +59 -0
  79. package/schematics/auth0/files/store/auth-store/index.d.ts +13 -0
  80. package/schematics/auth0/files/store/auth-store/index.ts +13 -0
  81. package/schematics/auth0/files/store/auth-store/login.component.ts +75 -0
  82. package/schematics/auth0/files/store/auth-store/names.ts +3 -0
  83. package/schematics/auth0/files/store/auth-store/profile.ts +12 -0
  84. package/schematics/auth0/files/store/auth-store/reducer.ts +23 -0
  85. package/schematics/auth0/files/store/auth-store/selectors.ts +24 -0
  86. package/schematics/auth0/files/store/auth-store/state.ts +11 -0
  87. package/schematics/auth0/index.d.ts +2 -0
  88. package/schematics/auth0/index.js +67 -0
  89. package/schematics/auth0/index.js.map +1 -0
  90. package/schematics/auth0/schema.json +21 -0
  91. package/schematics/collection.json +30 -0
  92. package/schematics/my-utility.d.ts +58 -0
  93. package/schematics/my-utility.js +257 -0
  94. package/schematics/my-utility.js.map +1 -0
  95. package/schematics/ng-add/files/root-store/index.d.ts +8 -0
  96. package/schematics/ng-add/files/root-store/index.ts +8 -0
  97. package/schematics/ng-add/files/root-store/root-reducer.ts +11 -0
  98. package/schematics/ng-add/files/root-store/root-store.module.ts +29 -0
  99. package/schematics/ng-add/files/root-store/router-store/actions.ts +27 -0
  100. package/schematics/ng-add/files/root-store/router-store/effects.ts +65 -0
  101. package/schematics/ng-add/files/root-store/router-store/index.d.ts +11 -0
  102. package/schematics/ng-add/files/root-store/router-store/index.ts +11 -0
  103. package/schematics/ng-add/files/root-store/router-store/pop-up-base.component.ts +83 -0
  104. package/schematics/ng-add/files/root-store/router-store/pop-up-base.module.ts +24 -0
  105. package/schematics/ng-add/files/root-store/router-store/reducer.ts +31 -0
  106. package/schematics/ng-add/files/root-store/router-store/router-store.module.ts +30 -0
  107. package/schematics/ng-add/files/root-store/router-store/selectors.ts +63 -0
  108. package/schematics/ng-add/files/root-store/router-store/state.ts +18 -0
  109. package/schematics/ng-add/files/root-store/selectors.ts +20 -0
  110. package/schematics/ng-add/files/root-store/slide-menu-store/actions.ts +11 -0
  111. package/schematics/ng-add/files/root-store/slide-menu-store/effects.ts +10 -0
  112. package/schematics/ng-add/files/root-store/slide-menu-store/index.d.ts +13 -0
  113. package/schematics/ng-add/files/root-store/slide-menu-store/index.ts +13 -0
  114. package/schematics/ng-add/files/root-store/slide-menu-store/names.ts +3 -0
  115. package/schematics/ng-add/files/root-store/slide-menu-store/operators.ts +24 -0
  116. package/schematics/ng-add/files/root-store/slide-menu-store/reducer.ts +8 -0
  117. package/schematics/ng-add/files/root-store/slide-menu-store/selectors.ts +41 -0
  118. package/schematics/ng-add/files/root-store/slide-menu-store/slide-menu-store.module.ts +27 -0
  119. package/schematics/ng-add/files/root-store/slide-menu-store/state.ts +14 -0
  120. package/schematics/ng-add/files/root-store/state.ts +5 -0
  121. package/schematics/ng-add/index.d.ts +2 -0
  122. package/schematics/ng-add/index.js +78 -0
  123. package/schematics/ng-add/index.js.map +1 -0
  124. package/schematics/ng-add/schema.json +22 -0
  125. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__-edit/__clazz@dasherize__-edit.component.html +52 -0
  126. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__-edit/__clazz@dasherize__-edit.component.ts +57 -0
  127. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__-list/__clazz@dasherize__-list.component.html +7 -0
  128. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__-list/__clazz@dasherize__-list.component.ts +50 -0
  129. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__-main/__clazz@dasherize__-main.component.html +15 -0
  130. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__-main/__clazz@dasherize__-main.component.ts +23 -0
  131. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__-routing.module.ts +36 -0
  132. package/schematics/section/files/ionic/__clazz@dasherize__/__clazz@dasherize__.module.ts +33 -0
  133. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__-edit/__clazz@dasherize__-edit.component.html +1 -0
  134. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__-edit/__clazz@dasherize__-edit.component.ts +16 -0
  135. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__-list/__clazz@dasherize__-list.component.html +1 -0
  136. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__-list/__clazz@dasherize__-list.component.ts +27 -0
  137. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__-main/__clazz@dasherize__-main.component.html +1 -0
  138. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__-main/__clazz@dasherize__-main.component.ts +18 -0
  139. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__-routing.module.ts +36 -0
  140. package/schematics/section/files/no-libs/__clazz@dasherize__/__clazz@dasherize__.module.ts +26 -0
  141. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__-edit/__clazz@dasherize__-edit.component.html +38 -0
  142. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__-edit/__clazz@dasherize__-edit.component.ts +50 -0
  143. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__-list/__clazz@dasherize__-list.component.html +30 -0
  144. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__-list/__clazz@dasherize__-list.component.ts +101 -0
  145. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__-main/__clazz@dasherize__-main.component.html +12 -0
  146. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__-main/__clazz@dasherize__-main.component.ts +21 -0
  147. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__-routing.module.ts +37 -0
  148. package/schematics/section/files/primeng/__clazz@dasherize__/__clazz@dasherize__.module.ts +49 -0
  149. package/schematics/section/files/primeng/__clazz@dasherize__/components/button-create-many-test-__clazz@dasherize__.component.ts +46 -0
  150. package/schematics/section/files/primeng/__clazz@dasherize__/components/button-delete-__clazz@dasherize__.component.ts +35 -0
  151. package/schematics/section/files/primeng/__clazz@dasherize__/components/button-edit-many-test-__clazz@dasherize__.component.ts +45 -0
  152. package/schematics/section/files/primeng/__clazz@dasherize__/components/button-new-__clazz@dasherize__.component.ts +45 -0
  153. package/schematics/section/index.d.ts +2 -0
  154. package/schematics/section/index.js +56 -0
  155. package/schematics/section/index.js.map +1 -0
  156. package/schematics/section/schema.json +39 -0
  157. package/schematics/store/files/base-model/__clazz@dasherize__.ts +8 -0
  158. package/schematics/store/files/base-store/__clazz@dasherize__-store/__clazz@dasherize__-store.module.ts +26 -0
  159. package/schematics/store/files/base-store/__clazz@dasherize__-store/__clazz@dasherize__.actions.ts +9 -0
  160. package/schematics/store/files/base-store/__clazz@dasherize__-store/__clazz@dasherize__.effects.ts +11 -0
  161. package/schematics/store/files/base-store/__clazz@dasherize__-store/__clazz@dasherize__.names.ts +3 -0
  162. package/schematics/store/files/base-store/__clazz@dasherize__-store/__clazz@dasherize__.reducer.ts +8 -0
  163. package/schematics/store/files/base-store/__clazz@dasherize__-store/__clazz@dasherize__.selectors.ts +18 -0
  164. package/schematics/store/files/base-store/__clazz@dasherize__-store/__clazz@dasherize__.state.ts +6 -0
  165. package/schematics/store/files/base-store/__clazz@dasherize__-store/index.d.ts +13 -0
  166. package/schematics/store/files/base-store/__clazz@dasherize__-store/index.ts +13 -0
  167. package/schematics/store/files/crud-graphql/__clazz@dasherize__-store/__clazz@dasherize__.criteria.ts +39 -0
  168. package/schematics/store/files/crud-graphql/__clazz@dasherize__-store/__clazz@dasherize__.graphql +34 -0
  169. package/schematics/store/files/crud-model/__clazz@dasherize__.ts +8 -0
  170. package/schematics/store/files/crud-service/__clazz@dasherize__.service.ts +11 -0
  171. package/schematics/store/files/crud-service-graphql/__clazz@dasherize__.service.ts +16 -0
  172. package/schematics/store/files/crud-store/__clazz@dasherize__-store/__clazz@dasherize__-store.module.ts +26 -0
  173. package/schematics/store/files/crud-store/__clazz@dasherize__-store/__clazz@dasherize__.actions.ts +55 -0
  174. package/schematics/store/files/crud-store/__clazz@dasherize__-store/__clazz@dasherize__.effects.ts +90 -0
  175. package/schematics/store/files/crud-store/__clazz@dasherize__-store/__clazz@dasherize__.names.ts +3 -0
  176. package/schematics/store/files/crud-store/__clazz@dasherize__-store/__clazz@dasherize__.reducer.ts +103 -0
  177. package/schematics/store/files/crud-store/__clazz@dasherize__-store/__clazz@dasherize__.selectors.ts +26 -0
  178. package/schematics/store/files/crud-store/__clazz@dasherize__-store/__clazz@dasherize__.state.ts +11 -0
  179. package/schematics/store/files/crud-store/__clazz@dasherize__-store/index.d.ts +15 -0
  180. package/schematics/store/files/crud-store/__clazz@dasherize__-store/index.ts +15 -0
  181. package/schematics/store/index.d.ts +2 -0
  182. package/schematics/store/index.js +100 -0
  183. package/schematics/store/index.js.map +1 -0
  184. package/schematics/store/schema.json +45 -0
@@ -0,0 +1,1829 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ngrx/entity'), require('@ngrx/store'), require('rxjs/operators'), require('@angular/core'), require('@ngrx/effects'), require('rxjs'), require('@angular/common/http')) :
3
+ typeof define === 'function' && define.amd ? define('ngrx-entity-crud', ['exports', '@ngrx/entity', '@ngrx/store', 'rxjs/operators', '@angular/core', '@ngrx/effects', 'rxjs', '@angular/common/http'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['ngrx-entity-crud'] = {}, global.entity, global.store, global.rxjs.operators, global.ng.core, global.effects, global.rxjs, global.ng.common.http));
5
+ }(this, (function (exports, entity, store, operators, i0, effects, rxjs, i1) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () {
17
+ return e[k];
18
+ }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n['default'] = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
+
30
+ exports.CrudEnum = void 0;
31
+ (function (CrudEnum) {
32
+ CrudEnum["SEARCH"] = "Search";
33
+ CrudEnum["DELETE"] = "Delete";
34
+ CrudEnum["CREATE"] = "Create";
35
+ CrudEnum["EDIT"] = "Edit";
36
+ CrudEnum["SELECT"] = "Select";
37
+ CrudEnum["RESET"] = "Reset";
38
+ })(exports.CrudEnum || (exports.CrudEnum = {}));
39
+ exports.ActionEnum = void 0;
40
+ (function (ActionEnum) {
41
+ ActionEnum["RESPONSE"] = "Response";
42
+ ActionEnum["REQUEST"] = "Request";
43
+ ActionEnum["FAILURE"] = "Failure";
44
+ ActionEnum["SUCCESS"] = "Success";
45
+ })(exports.ActionEnum || (exports.ActionEnum = {}));
46
+
47
+ function getInitialEntityCrudState() {
48
+ return {
49
+ ids: [],
50
+ entities: {},
51
+ isLoading: false,
52
+ isLoaded: false,
53
+ error: null,
54
+ filters: {},
55
+ lastCriteria: null,
56
+ entitiesSelected: {},
57
+ idsSelected: [],
58
+ itemSelected: null,
59
+ idSelected: null,
60
+ responses: []
61
+ };
62
+ }
63
+ function createInitialCrudStateFactory() {
64
+ function getInitialCrudState(additionalState) {
65
+ if (additionalState === void 0) { additionalState = {}; }
66
+ return Object.assign(getInitialEntityCrudState(), additionalState);
67
+ }
68
+ return { getInitialCrudState: getInitialCrudState };
69
+ }
70
+
71
+ var isEmpty = function (obj) {
72
+ return obj === null || undefined
73
+ ? true
74
+ : (function () {
75
+ for (var prop in obj) {
76
+ if (Object.prototype.hasOwnProperty.call(obj, prop)) {
77
+ return false;
78
+ }
79
+ }
80
+ return true;
81
+ })();
82
+ };
83
+ function jNgrxFilter(items, filters) {
84
+ return new JNgrxFilter().jNgrxFilter(items, filters);
85
+ }
86
+ var JNgrxFilter = /** @class */ (function () {
87
+ function JNgrxFilter() {
88
+ this.filterConstraints = {
89
+ startsWith: function (value, filter) {
90
+ if (filter === undefined || filter === null || filter.trim() === '') {
91
+ return true;
92
+ }
93
+ if (value === undefined || value === null) {
94
+ return false;
95
+ }
96
+ var filterValue = filter.toLowerCase();
97
+ return value.toString().toLowerCase().slice(0, filterValue.length) === filterValue;
98
+ },
99
+ contains: function (value, filter) {
100
+ if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
101
+ return true;
102
+ }
103
+ if (value === undefined || value === null) {
104
+ return false;
105
+ }
106
+ return value.toString().toLowerCase().indexOf(filter.toLowerCase()) !== -1;
107
+ },
108
+ endsWith: function (value, filter) {
109
+ if (filter === undefined || filter === null || filter.trim() === '') {
110
+ return true;
111
+ }
112
+ if (value === undefined || value === null) {
113
+ return false;
114
+ }
115
+ var filterValue = filter.toString().toLowerCase();
116
+ return value.toString().toLowerCase().indexOf(filterValue, value.toString().length - filterValue.length) !== -1;
117
+ },
118
+ equals: function (value, filter) {
119
+ if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
120
+ return true;
121
+ }
122
+ if (value === undefined || value === null) {
123
+ return false;
124
+ }
125
+ return value.toString().toLowerCase() === filter.toString().toLowerCase();
126
+ },
127
+ notEquals: function (value, filter) {
128
+ if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
129
+ return false;
130
+ }
131
+ if (value === undefined || value === null) {
132
+ return true;
133
+ }
134
+ return value.toString().toLowerCase() !== filter.toString().toLowerCase();
135
+ },
136
+ in: function (value, filters) {
137
+ if (filters === undefined || filters === null || filters.length === 0) {
138
+ return true;
139
+ }
140
+ if (value === undefined || value === null) {
141
+ return false;
142
+ }
143
+ filters.forEach(function (filter) {
144
+ if (filter === value) {
145
+ return true;
146
+ }
147
+ });
148
+ return false;
149
+ }
150
+ };
151
+ this.isFunction = function (obj) { return !!(obj && obj.constructor && obj.call && obj.apply); };
152
+ }
153
+ JNgrxFilter.prototype.jNgrxFilter = function (items, filters) {
154
+ var _this = this;
155
+ if (isEmpty(filters)) {
156
+ return items;
157
+ }
158
+ var filteredValue = [];
159
+ items.forEach(function (item) {
160
+ var localMatch = false;
161
+ // tslint:disable-next-line:forin
162
+ for (var filterField in filters) {
163
+ var filterValue = filters[filterField].value;
164
+ var filterMatchMode = filters[filterField].matchMode || 'startsWith';
165
+ var filterConstraint = _this.filterConstraints[filterMatchMode];
166
+ var renderFunction = filters[filterField].renderFunction;
167
+ var dataFieldValue = _this.isFunction(renderFunction) ? renderFunction(_this.resolveFieldData(item, filterField)) : _this.resolveFieldData(item, filterField);
168
+ if (filterConstraint(dataFieldValue, filterValue)) {
169
+ localMatch = true;
170
+ break;
171
+ }
172
+ }
173
+ if (localMatch) {
174
+ filteredValue.push(item);
175
+ }
176
+ });
177
+ return filteredValue;
178
+ };
179
+ JNgrxFilter.prototype.resolveFieldData = function (data, field) {
180
+ if (data && field) {
181
+ if (this.isFunction(field)) {
182
+ return field(data);
183
+ }
184
+ else if (field.indexOf('.') === -1) {
185
+ return data[field];
186
+ }
187
+ else {
188
+ var fields = field.split('.');
189
+ var value = data;
190
+ for (var i = 0, len = fields.length; i < len; ++i) {
191
+ if (value == null) {
192
+ return null;
193
+ }
194
+ value = value[fields[i]];
195
+ }
196
+ return value;
197
+ }
198
+ }
199
+ else {
200
+ return null;
201
+ }
202
+ };
203
+ return JNgrxFilter;
204
+ }());
205
+
206
+ function createCrudSelectorsFactory(adapter) {
207
+ function getCrudSelectors(selectState) {
208
+ var getError = function (state) { return state.error; };
209
+ var getIsLoading = function (state) { return state.isLoading; };
210
+ var getIsLoaded = function (state) { return state.isLoaded; };
211
+ var getFilters = function (state) { return state.filters; };
212
+ var getLastCriteria = function (state) { return state.lastCriteria; };
213
+ var getItemSelected = function (state) { return state.itemSelected; };
214
+ var getIdSelected = function (state) { return state.idSelected; };
215
+ // const getItemsSelected = (state: CrudState<T>): T[] => state.itemsSelected;
216
+ var getEntitiesSelected = function (state) { return state.entitiesSelected; };
217
+ var getIdsSelected = function (state) { return state.idsSelected; };
218
+ var getRespones = function (state) { return state.responses; };
219
+ var selectError = store.createSelector(selectState, getError);
220
+ var selectIsLoading = store.createSelector(selectState, getIsLoading);
221
+ var selectIsLoaded = store.createSelector(selectState, getIsLoaded);
222
+ var selectFilters = store.createSelector(selectState, getFilters);
223
+ var selectLastCriteria = store.createSelector(selectState, getLastCriteria);
224
+ var selectItemSelected = store.createSelector(selectState, getItemSelected);
225
+ var selectEntitiesSelected = store.createSelector(selectState, getEntitiesSelected);
226
+ var selectItemsSelected = store.createSelector(selectEntitiesSelected, function (entities) { return Object.values(entities); });
227
+ var selectIdSelected = store.createSelector(selectState, getIdSelected);
228
+ var selectIdsSelected = store.createSelector(selectState, getIdsSelected);
229
+ var selectResponses = store.createSelector(selectState, getRespones);
230
+ var _a = adapter.getSelectors(selectState), selectAll = _a.selectAll, selectEntities = _a.selectEntities, selectIds = _a.selectIds, selectTotal = _a.selectTotal;
231
+ var selectItemsSelectedOrigin = store.createSelector(selectIdsSelected, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });
232
+ var selectItemSelectedOrigin = store.createSelector(selectIdSelected, selectEntities, function (id, entities) { return entities[id]; });
233
+ var selectFilteredItems = store.createSelector([selectAll, selectFilters], function (allTasks, filters) {
234
+ return jNgrxFilter(allTasks, filters);
235
+ });
236
+ return {
237
+ selectError: selectError,
238
+ selectIsLoading: selectIsLoading,
239
+ selectIsLoaded: selectIsLoaded,
240
+ selectFilters: selectFilters,
241
+ selectFilteredItems: selectFilteredItems,
242
+ selectAll: selectAll,
243
+ selectEntities: selectEntities,
244
+ selectIds: selectIds,
245
+ selectTotal: selectTotal,
246
+ selectLastCriteria: selectLastCriteria,
247
+ selectIdSelected: selectIdSelected,
248
+ selectItemSelected: selectItemSelected,
249
+ selectItemSelectedOrigin: selectItemSelectedOrigin,
250
+ selectIdsSelected: selectIdsSelected,
251
+ selectItemsSelected: selectItemsSelected,
252
+ selectEntitiesSelected: selectEntitiesSelected,
253
+ selectItemsSelectedOrigin: selectItemsSelectedOrigin,
254
+ selectResponses: selectResponses,
255
+ };
256
+ }
257
+ return { getCrudSelectors: getCrudSelectors };
258
+ }
259
+
260
+ function createCrudActionsFactory() {
261
+ function createCrudActions(name) {
262
+ // tslint:disable:variable-name
263
+ /**
264
+ * mode:
265
+ * comportamento predefinito, il dato attualmente presente viene cancellato e ripopolato al result della chiamata
266
+ * REFRESH => il dato viene sostituito al result della chiamata.
267
+ */
268
+ var Response = store.createAction("[" + name + "] " + exports.ActionEnum.RESPONSE, store.props());
269
+ var ResetResponses = store.createAction("[" + name + "] " + exports.CrudEnum.RESET + " " + exports.ActionEnum.RESPONSE);
270
+ var SearchRequest = store.createAction("[" + name + "] " + exports.CrudEnum.SEARCH + " " + exports.ActionEnum.REQUEST, store.props());
271
+ var SearchFailure = store.createAction("[" + name + "] " + exports.CrudEnum.SEARCH + " " + exports.ActionEnum.FAILURE, store.props());
272
+ var SearchSuccess = store.createAction("[" + name + "] " + exports.CrudEnum.SEARCH + " " + exports.ActionEnum.SUCCESS, store.props());
273
+ var DeleteRequest = store.createAction("[" + name + "] " + exports.CrudEnum.DELETE + " " + exports.ActionEnum.REQUEST, store.props());
274
+ var DeleteFailure = store.createAction("[" + name + "] " + exports.CrudEnum.DELETE + " " + exports.ActionEnum.FAILURE, store.props());
275
+ var DeleteSuccess = store.createAction("[" + name + "] " + exports.CrudEnum.DELETE + " " + exports.ActionEnum.SUCCESS, store.props());
276
+ var DeleteManyRequest = store.createAction("[" + name + "] " + exports.CrudEnum.DELETE + " many " + exports.ActionEnum.REQUEST, store.props());
277
+ var DeleteManyFailure = store.createAction("[" + name + "] " + exports.CrudEnum.DELETE + " many " + exports.ActionEnum.FAILURE, store.props());
278
+ var DeleteManySuccess = store.createAction("[" + name + "] " + exports.CrudEnum.DELETE + " many " + exports.ActionEnum.SUCCESS, store.props());
279
+ var CreateRequest = store.createAction("[" + name + "] " + exports.CrudEnum.CREATE + " " + exports.ActionEnum.REQUEST, store.props());
280
+ var CreateFailure = store.createAction("[" + name + "] " + exports.CrudEnum.CREATE + " " + exports.ActionEnum.FAILURE, store.props());
281
+ var CreateSuccess = store.createAction("[" + name + "] " + exports.CrudEnum.CREATE + " " + exports.ActionEnum.SUCCESS, store.props());
282
+ var CreateManyRequest = store.createAction("[" + name + "] " + exports.CrudEnum.CREATE + " many " + exports.ActionEnum.REQUEST, store.props());
283
+ var CreateManyFailure = store.createAction("[" + name + "] " + exports.CrudEnum.CREATE + " many " + exports.ActionEnum.FAILURE, store.props());
284
+ var CreateManySuccess = store.createAction("[" + name + "] " + exports.CrudEnum.CREATE + " many " + exports.ActionEnum.SUCCESS, store.props());
285
+ var SelectRequest = store.createAction("[" + name + "] " + exports.CrudEnum.SELECT + " " + exports.ActionEnum.REQUEST, store.props());
286
+ var SelectFailure = store.createAction("[" + name + "] " + exports.CrudEnum.SELECT + " " + exports.ActionEnum.FAILURE, store.props());
287
+ var SelectSuccess = store.createAction("[" + name + "] " + exports.CrudEnum.SELECT + " " + exports.ActionEnum.SUCCESS, store.props());
288
+ var EditRequest = store.createAction("[" + name + "] " + exports.CrudEnum.EDIT + " " + exports.ActionEnum.REQUEST, store.props());
289
+ var EditFailure = store.createAction("[" + name + "] " + exports.CrudEnum.EDIT + " " + exports.ActionEnum.FAILURE, store.props());
290
+ var EditSuccess = store.createAction("[" + name + "] " + exports.CrudEnum.EDIT + " " + exports.ActionEnum.SUCCESS, store.props());
291
+ var EditManyRequest = store.createAction("[" + name + "] " + exports.CrudEnum.EDIT + " many " + exports.ActionEnum.REQUEST, store.props());
292
+ var EditManyFailure = store.createAction("[" + name + "] " + exports.CrudEnum.EDIT + " many " + exports.ActionEnum.FAILURE, store.props());
293
+ var EditManySuccess = store.createAction("[" + name + "] " + exports.CrudEnum.EDIT + " many " + exports.ActionEnum.SUCCESS, store.props());
294
+ var Reset = store.createAction("[" + name + "] " + exports.CrudEnum.RESET);
295
+ var Filters = store.createAction("[" + name + "] Filters", store.props());
296
+ var SelectItems = store.createAction("[" + name + "] SelectItems", store.props());
297
+ var AddManySelected = store.createAction("[" + name + "] AddManySelected", store.props());
298
+ var RemoveManySelected = store.createAction("[" + name + "] RemoveManySelected", store.props());
299
+ var RemoveAllSelected = store.createAction("[" + name + "] RemoveAllSelected");
300
+ var SelectItem = store.createAction("[" + name + "] SelectItem", store.props());
301
+ var Edit = store.createAction("[" + name + "] " + exports.CrudEnum.EDIT + " ", store.props());
302
+ var Create = store.createAction("[" + name + "] " + exports.CrudEnum.CREATE, store.props());
303
+ var Delete = store.createAction("[" + name + "] " + exports.CrudEnum.DELETE + " ", store.props());
304
+ return {
305
+ Response: Response,
306
+ ResetResponses: ResetResponses,
307
+ SearchRequest: SearchRequest,
308
+ SearchFailure: SearchFailure,
309
+ SearchSuccess: SearchSuccess,
310
+ DeleteRequest: DeleteRequest,
311
+ DeleteFailure: DeleteFailure,
312
+ DeleteSuccess: DeleteSuccess,
313
+ DeleteManyRequest: DeleteManyRequest,
314
+ DeleteManyFailure: DeleteManyFailure,
315
+ DeleteManySuccess: DeleteManySuccess,
316
+ CreateRequest: CreateRequest,
317
+ CreateFailure: CreateFailure,
318
+ CreateSuccess: CreateSuccess,
319
+ CreateManyRequest: CreateManyRequest,
320
+ CreateManyFailure: CreateManyFailure,
321
+ CreateManySuccess: CreateManySuccess,
322
+ SelectRequest: SelectRequest,
323
+ SelectFailure: SelectFailure,
324
+ SelectSuccess: SelectSuccess,
325
+ EditRequest: EditRequest,
326
+ EditFailure: EditFailure,
327
+ EditSuccess: EditSuccess,
328
+ EditManyRequest: EditManyRequest,
329
+ EditManyFailure: EditManyFailure,
330
+ EditManySuccess: EditManySuccess,
331
+ Reset: Reset,
332
+ Filters: Filters,
333
+ SelectItems: SelectItems,
334
+ RemoveManySelected: RemoveManySelected,
335
+ AddManySelected: AddManySelected,
336
+ RemoveAllSelected: RemoveAllSelected,
337
+ SelectItem: SelectItem,
338
+ Edit: Edit,
339
+ Create: Create,
340
+ Delete: Delete,
341
+ };
342
+ }
343
+ return { createCrudActions: createCrudActions };
344
+ }
345
+
346
+ /*! *****************************************************************************
347
+ Copyright (c) Microsoft Corporation.
348
+
349
+ Permission to use, copy, modify, and/or distribute this software for any
350
+ purpose with or without fee is hereby granted.
351
+
352
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
353
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
354
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
355
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
356
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
357
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
358
+ PERFORMANCE OF THIS SOFTWARE.
359
+ ***************************************************************************** */
360
+ /* global Reflect, Promise */
361
+ var extendStatics = function (d, b) {
362
+ extendStatics = Object.setPrototypeOf ||
363
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
364
+ function (d, b) { for (var p in b)
365
+ if (Object.prototype.hasOwnProperty.call(b, p))
366
+ d[p] = b[p]; };
367
+ return extendStatics(d, b);
368
+ };
369
+ function __extends(d, b) {
370
+ if (typeof b !== "function" && b !== null)
371
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
372
+ extendStatics(d, b);
373
+ function __() { this.constructor = d; }
374
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
375
+ }
376
+ var __assign = function () {
377
+ __assign = Object.assign || function __assign(t) {
378
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
379
+ s = arguments[i];
380
+ for (var p in s)
381
+ if (Object.prototype.hasOwnProperty.call(s, p))
382
+ t[p] = s[p];
383
+ }
384
+ return t;
385
+ };
386
+ return __assign.apply(this, arguments);
387
+ };
388
+ function __rest(s, e) {
389
+ var t = {};
390
+ for (var p in s)
391
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
392
+ t[p] = s[p];
393
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
394
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
395
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
396
+ t[p[i]] = s[p[i]];
397
+ }
398
+ return t;
399
+ }
400
+ function __decorate(decorators, target, key, desc) {
401
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
402
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
403
+ r = Reflect.decorate(decorators, target, key, desc);
404
+ else
405
+ for (var i = decorators.length - 1; i >= 0; i--)
406
+ if (d = decorators[i])
407
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
408
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
409
+ }
410
+ function __param(paramIndex, decorator) {
411
+ return function (target, key) { decorator(target, key, paramIndex); };
412
+ }
413
+ function __metadata(metadataKey, metadataValue) {
414
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
415
+ return Reflect.metadata(metadataKey, metadataValue);
416
+ }
417
+ function __awaiter(thisArg, _arguments, P, generator) {
418
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
419
+ return new (P || (P = Promise))(function (resolve, reject) {
420
+ function fulfilled(value) { try {
421
+ step(generator.next(value));
422
+ }
423
+ catch (e) {
424
+ reject(e);
425
+ } }
426
+ function rejected(value) { try {
427
+ step(generator["throw"](value));
428
+ }
429
+ catch (e) {
430
+ reject(e);
431
+ } }
432
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
433
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
434
+ });
435
+ }
436
+ function __generator(thisArg, body) {
437
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
438
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
439
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
440
+ function verb(n) { return function (v) { return step([n, v]); }; }
441
+ function step(op) {
442
+ if (f)
443
+ throw new TypeError("Generator is already executing.");
444
+ while (_)
445
+ try {
446
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
447
+ return t;
448
+ if (y = 0, t)
449
+ op = [op[0] & 2, t.value];
450
+ switch (op[0]) {
451
+ case 0:
452
+ case 1:
453
+ t = op;
454
+ break;
455
+ case 4:
456
+ _.label++;
457
+ return { value: op[1], done: false };
458
+ case 5:
459
+ _.label++;
460
+ y = op[1];
461
+ op = [0];
462
+ continue;
463
+ case 7:
464
+ op = _.ops.pop();
465
+ _.trys.pop();
466
+ continue;
467
+ default:
468
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
469
+ _ = 0;
470
+ continue;
471
+ }
472
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
473
+ _.label = op[1];
474
+ break;
475
+ }
476
+ if (op[0] === 6 && _.label < t[1]) {
477
+ _.label = t[1];
478
+ t = op;
479
+ break;
480
+ }
481
+ if (t && _.label < t[2]) {
482
+ _.label = t[2];
483
+ _.ops.push(op);
484
+ break;
485
+ }
486
+ if (t[2])
487
+ _.ops.pop();
488
+ _.trys.pop();
489
+ continue;
490
+ }
491
+ op = body.call(thisArg, _);
492
+ }
493
+ catch (e) {
494
+ op = [6, e];
495
+ y = 0;
496
+ }
497
+ finally {
498
+ f = t = 0;
499
+ }
500
+ if (op[0] & 5)
501
+ throw op[1];
502
+ return { value: op[0] ? op[1] : void 0, done: true };
503
+ }
504
+ }
505
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
506
+ if (k2 === undefined)
507
+ k2 = k;
508
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
509
+ }) : (function (o, m, k, k2) {
510
+ if (k2 === undefined)
511
+ k2 = k;
512
+ o[k2] = m[k];
513
+ });
514
+ function __exportStar(m, o) {
515
+ for (var p in m)
516
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
517
+ __createBinding(o, m, p);
518
+ }
519
+ function __values(o) {
520
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
521
+ if (m)
522
+ return m.call(o);
523
+ if (o && typeof o.length === "number")
524
+ return {
525
+ next: function () {
526
+ if (o && i >= o.length)
527
+ o = void 0;
528
+ return { value: o && o[i++], done: !o };
529
+ }
530
+ };
531
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
532
+ }
533
+ function __read(o, n) {
534
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
535
+ if (!m)
536
+ return o;
537
+ var i = m.call(o), r, ar = [], e;
538
+ try {
539
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
540
+ ar.push(r.value);
541
+ }
542
+ catch (error) {
543
+ e = { error: error };
544
+ }
545
+ finally {
546
+ try {
547
+ if (r && !r.done && (m = i["return"]))
548
+ m.call(i);
549
+ }
550
+ finally {
551
+ if (e)
552
+ throw e.error;
553
+ }
554
+ }
555
+ return ar;
556
+ }
557
+ /** @deprecated */
558
+ function __spread() {
559
+ for (var ar = [], i = 0; i < arguments.length; i++)
560
+ ar = ar.concat(__read(arguments[i]));
561
+ return ar;
562
+ }
563
+ /** @deprecated */
564
+ function __spreadArrays() {
565
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
566
+ s += arguments[i].length;
567
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
568
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
569
+ r[k] = a[j];
570
+ return r;
571
+ }
572
+ function __spreadArray(to, from, pack) {
573
+ if (pack || arguments.length === 2)
574
+ for (var i = 0, l = from.length, ar; i < l; i++) {
575
+ if (ar || !(i in from)) {
576
+ if (!ar)
577
+ ar = Array.prototype.slice.call(from, 0, i);
578
+ ar[i] = from[i];
579
+ }
580
+ }
581
+ return to.concat(ar || from);
582
+ }
583
+ function __await(v) {
584
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
585
+ }
586
+ function __asyncGenerator(thisArg, _arguments, generator) {
587
+ if (!Symbol.asyncIterator)
588
+ throw new TypeError("Symbol.asyncIterator is not defined.");
589
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
590
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
591
+ function verb(n) { if (g[n])
592
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
593
+ function resume(n, v) { try {
594
+ step(g[n](v));
595
+ }
596
+ catch (e) {
597
+ settle(q[0][3], e);
598
+ } }
599
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
600
+ function fulfill(value) { resume("next", value); }
601
+ function reject(value) { resume("throw", value); }
602
+ function settle(f, v) { if (f(v), q.shift(), q.length)
603
+ resume(q[0][0], q[0][1]); }
604
+ }
605
+ function __asyncDelegator(o) {
606
+ var i, p;
607
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
608
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
609
+ }
610
+ function __asyncValues(o) {
611
+ if (!Symbol.asyncIterator)
612
+ throw new TypeError("Symbol.asyncIterator is not defined.");
613
+ var m = o[Symbol.asyncIterator], i;
614
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
615
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
616
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
617
+ }
618
+ function __makeTemplateObject(cooked, raw) {
619
+ if (Object.defineProperty) {
620
+ Object.defineProperty(cooked, "raw", { value: raw });
621
+ }
622
+ else {
623
+ cooked.raw = raw;
624
+ }
625
+ return cooked;
626
+ }
627
+ ;
628
+ var __setModuleDefault = Object.create ? (function (o, v) {
629
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
630
+ }) : function (o, v) {
631
+ o["default"] = v;
632
+ };
633
+ function __importStar(mod) {
634
+ if (mod && mod.__esModule)
635
+ return mod;
636
+ var result = {};
637
+ if (mod != null)
638
+ for (var k in mod)
639
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
640
+ __createBinding(result, mod, k);
641
+ __setModuleDefault(result, mod);
642
+ return result;
643
+ }
644
+ function __importDefault(mod) {
645
+ return (mod && mod.__esModule) ? mod : { default: mod };
646
+ }
647
+ function __classPrivateFieldGet(receiver, state, kind, f) {
648
+ if (kind === "a" && !f)
649
+ throw new TypeError("Private accessor was defined without a getter");
650
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
651
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
652
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
653
+ }
654
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
655
+ if (kind === "m")
656
+ throw new TypeError("Private method is not writable");
657
+ if (kind === "a" && !f)
658
+ throw new TypeError("Private accessor was defined without a setter");
659
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
660
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
661
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
662
+ }
663
+
664
+ var ofFailure = function () {
665
+ return function (input$) { return input$.pipe(operators.filter(function (value) { return value.type.endsWith(exports.ActionEnum.FAILURE); })); };
666
+ };
667
+ function selectIdValue(entity, selectId) {
668
+ var key = selectId(entity);
669
+ if (i0.isDevMode() && key === undefined) {
670
+ console.warn('@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.', 'You should probably provide your own `selectId` implementation.', 'The entity that was passed:', entity, 'The `selectId` implementation:', selectId.toString());
671
+ }
672
+ return key;
673
+ }
674
+ var toDictionary = function (items, adapter) { return items.reduce(function (prev, curr) {
675
+ var key = selectIdValue(curr, adapter.selectId);
676
+ prev[key] = curr;
677
+ return prev;
678
+ }, {}); };
679
+
680
+ function evalData(fn, def) {
681
+ if (def === void 0) { def = null; }
682
+ try {
683
+ return fn();
684
+ }
685
+ catch (e) {
686
+ return def;
687
+ }
688
+ }
689
+ function createCrudOns(adapter, initialState, actions) {
690
+ var searchRequestOn = store.on(actions.SearchRequest, function (state, criteria) {
691
+ if (!criteria.path && !criteria.mode && !criteria.queryParams) {
692
+ throw new Error('It is not possible a search without payload, use :\'{criteria:{}}\'');
693
+ }
694
+ var itemSelected = initialState.itemSelected, idSelected = initialState.idSelected, entitiesSelected = initialState.entitiesSelected, idsSelected = initialState.idsSelected;
695
+ if (criteria.mode === 'REFRESH' || criteria.mode === 'upsertMany') {
696
+ return Object.assign({}, state, {
697
+ isLoading: true,
698
+ error: initialState.error,
699
+ lastCriteria: criteria,
700
+ itemSelected: itemSelected,
701
+ idSelected: idSelected,
702
+ entitiesSelected: entitiesSelected,
703
+ idsSelected: idsSelected
704
+ });
705
+ }
706
+ return adapter.removeAll(Object.assign({}, state, {
707
+ isLoading: true,
708
+ error: initialState.error,
709
+ lastCriteria: criteria,
710
+ itemSelected: itemSelected,
711
+ idSelected: idSelected,
712
+ entitiesSelected: entitiesSelected,
713
+ idsSelected: idsSelected
714
+ }));
715
+ });
716
+ var deleteRequestOn = store.on(actions.DeleteRequest, function (state, request) {
717
+ return Object.assign({}, state, { isLoading: true, error: initialState.error });
718
+ });
719
+ var deleteManyRequestOn = store.on(actions.DeleteManyRequest, function (state, request) {
720
+ return Object.assign({}, state, { isLoading: true, error: initialState.error });
721
+ });
722
+ var editRequestOn = store.on(actions.EditRequest, function (state, request) {
723
+ return Object.assign({}, state, { isLoading: true, error: initialState.error });
724
+ });
725
+ var editManyRequestOn = store.on(actions.EditManyRequest, function (state, request) {
726
+ return Object.assign({}, state, { isLoading: true, error: initialState.error });
727
+ });
728
+ var createRequestOn = store.on(actions.CreateRequest, function (state, request) {
729
+ return Object.assign({}, state, { isLoading: true, error: initialState.error });
730
+ });
731
+ var createManyRequestOn = store.on(actions.CreateManyRequest, function (state, request) {
732
+ return Object.assign({}, state, { isLoading: true, error: initialState.error });
733
+ });
734
+ var selectRequestOn = store.on(actions.SelectRequest, function (state, request) {
735
+ return Object.assign({}, state, { isLoading: true, error: initialState.error });
736
+ });
737
+ var searchSuccessOn = store.on(actions.SearchSuccess, function (state, _a) {
738
+ var type = _a.type, items = _a.items, request = _a.request;
739
+ var mode = evalData(function () { return request.mode; }, null) || 'setAll';
740
+ var method;
741
+ switch (mode) {
742
+ case 'REFRESH': {
743
+ // console.log('REFRESH');
744
+ method = adapter.setAll;
745
+ break;
746
+ }
747
+ case 'upsertMany': {
748
+ // console.log('upsertMany');
749
+ method = adapter.upsertMany;
750
+ break;
751
+ }
752
+ case 'setAll': {
753
+ // console.log('setAll');
754
+ method = adapter.setAll;
755
+ break;
756
+ }
757
+ default: {
758
+ // console.log('default');
759
+ method = adapter.setAll;
760
+ break;
761
+ }
762
+ }
763
+ return method(items, Object.assign({}, state, {
764
+ isLoaded: true,
765
+ isLoading: false,
766
+ error: null
767
+ }));
768
+ });
769
+ var deleteSuccessOn = store.on(actions.DeleteSuccess, function (state, _a) {
770
+ var type = _a.type, id = _a.id;
771
+ // tolgo dallo store.idsSelected l'elemento cancellato
772
+ var idsSelected = state.idsSelected.filter(function (idA) { return idA === id; });
773
+ var entitiesSelected = idsSelected.reduce(function (prev, curr) {
774
+ prev[curr] = state.entitiesSelected[curr];
775
+ return prev;
776
+ }, {});
777
+ // se ho cancellato l'id seezionato, lo tolgo dallo store.
778
+ var idSelected = !!state.idSelected && state.idSelected === id ? null : state.idSelected;
779
+ var itemSelected = !idSelected ? null : state.itemSelected;
780
+ return adapter.removeOne(id, Object.assign({}, state, {
781
+ isLoaded: true,
782
+ isLoading: false,
783
+ error: null,
784
+ idSelected: idSelected,
785
+ idsSelected: idsSelected,
786
+ itemSelected: itemSelected,
787
+ entitiesSelected: entitiesSelected
788
+ }));
789
+ });
790
+ var deleteManySuccessOn = store.on(actions.DeleteManySuccess, function (state, _a) {
791
+ var type = _a.type, ids = _a.ids;
792
+ // tolgo dallo store.idsSelected gli elementi che sono stati cancellati.
793
+ var idsSelected = state.idsSelected.filter(function (id) { return !(id in ids); });
794
+ var entitiesSelected = idsSelected.reduce(function (prev, curr) {
795
+ prev[curr] = state.entitiesSelected[curr];
796
+ return prev;
797
+ }, {});
798
+ // se ho cancellato l'id seezionato, lo tolgo dallo store.
799
+ var idSelected = !!state.idSelected && state.idSelected in ids ? null : state.idSelected;
800
+ var itemSelected = !idSelected ? null : state.itemSelected;
801
+ return adapter.removeMany(ids, Object.assign({}, state, {
802
+ isLoaded: true,
803
+ isLoading: false,
804
+ error: null,
805
+ idSelected: idSelected,
806
+ idsSelected: idsSelected,
807
+ itemSelected: itemSelected,
808
+ entitiesSelected: entitiesSelected
809
+ }));
810
+ });
811
+ var deleteOn = store.on(actions.Delete, function (state, _a) {
812
+ var type = _a.type, id = _a.id;
813
+ // tolgo dallo store.idsSelected l'elemento cancellato
814
+ var idsSelected = state.idsSelected.filter(function (idA) { return idA === id; });
815
+ // se ho cancellato l'id seezionato, lo tolgo dallo store.
816
+ var idSelected = !!state.idSelected && state.idSelected === id ? null : state.idSelected;
817
+ return adapter.removeOne(id, Object.assign({}, state, {
818
+ isLoaded: true,
819
+ isLoading: false,
820
+ error: null,
821
+ idSelected: idSelected,
822
+ idsSelected: idsSelected
823
+ }));
824
+ });
825
+ var responseOn = store.on(actions.Response, function (state, response) {
826
+ var responses = __spreadArray(__spreadArray([], __read(state.responses)), [response]);
827
+ return Object.assign(Object.assign({}, state), { responses: responses });
828
+ });
829
+ var resetResponsesOn = store.on(actions.ResetResponses, function (state) {
830
+ var responses = [];
831
+ return Object.assign(Object.assign({}, state), { responses: responses });
832
+ });
833
+ var createSuccessOn = store.on(actions.CreateSuccess, function (state, _a) {
834
+ var type = _a.type, item = _a.item;
835
+ return adapter.addOne(item, Object.assign({}, state, {
836
+ isLoaded: true,
837
+ isLoading: false,
838
+ error: null
839
+ }));
840
+ });
841
+ var createManySuccessOn = store.on(actions.CreateManySuccess, function (state, _a) {
842
+ var type = _a.type, items = _a.items;
843
+ return adapter.addMany(items, Object.assign({}, state, {
844
+ isLoaded: true,
845
+ isLoading: false,
846
+ error: null
847
+ }));
848
+ });
849
+ var createOn = store.on(actions.Create, function (state, _a) {
850
+ var type = _a.type, item = _a.item;
851
+ return adapter.addOne(item, Object.assign({}, state, {
852
+ isLoaded: true,
853
+ isLoading: false,
854
+ error: null
855
+ }));
856
+ });
857
+ var editSuccessOn = store.on(actions.EditSuccess, function (state, _a) {
858
+ var item = _a.item, type = _a.type;
859
+ return adapter.upsertOne(item, Object.assign({}, state, {
860
+ isLoaded: true,
861
+ isLoading: false,
862
+ error: null
863
+ }));
864
+ });
865
+ var editManySuccessOn = store.on(actions.EditManySuccess, function (state, _a) {
866
+ var items = _a.items, type = _a.type;
867
+ return adapter.upsertMany(items, Object.assign({}, state, {
868
+ isLoaded: true,
869
+ isLoading: false,
870
+ error: null
871
+ }));
872
+ });
873
+ var editOn = store.on(actions.Edit, function (state, _a) {
874
+ var item = _a.item, type = _a.type;
875
+ return adapter.upsertOne(item, Object.assign({}, state, {
876
+ isLoaded: true,
877
+ isLoading: false,
878
+ error: null
879
+ }));
880
+ });
881
+ var filtersOn = store.on(actions.Filters, function (state, _a) {
882
+ var type = _a.type, filters = _a.filters;
883
+ return Object.assign({}, state, { filters: filters });
884
+ });
885
+ var removeAllSelectedOn = store.on(actions.RemoveAllSelected, function (state, _a) {
886
+ var type = _a.type;
887
+ var result = Object.assign(Object.assign({}, state), { idsSelected: [],
888
+ // itemsSelected: [], //todo: @deprecated da cancellare questo tipo di assegnazione.
889
+ entitiesSelected: {} });
890
+ return result;
891
+ });
892
+ var addManySelectedOn = store.on(actions.AddManySelected, function (state, _a) {
893
+ var type = _a.type, items = _a.items;
894
+ var entitiesCurr = toDictionary(items, adapter);
895
+ var entitiesSelected = Object.assign(Object.assign({}, state.entitiesSelected), entitiesCurr);
896
+ var idsSelected = Object.keys(entitiesSelected);
897
+ var result = Object.assign(Object.assign({}, state), { idsSelected: idsSelected,
898
+ // itemsSelected: items, //todo: @deprecated da cancellare questo tipo di assegnazione.
899
+ entitiesSelected: entitiesSelected });
900
+ return result;
901
+ });
902
+ var removeManySelectedOn = store.on(actions.RemoveManySelected, function (state, _a) {
903
+ var type = _a.type, ids = _a.ids;
904
+ var idsAsString = ids.map(function (x) { return x + ''; });
905
+ var idsSelected = Object.keys(state.entitiesSelected).filter(function (id) { return !idsAsString.includes(id + ''); });
906
+ var entitiesSelected = idsSelected.reduce(function (prec, curr) {
907
+ var _a;
908
+ return (Object.assign(Object.assign({}, prec), (_a = {}, _a[curr] = state.entitiesSelected[curr], _a)));
909
+ }, {});
910
+ // const itemsSelected = Object.values(entitiesSelected);
911
+ var result = Object.assign(Object.assign({}, state), { idsSelected: idsSelected,
912
+ // itemsSelected, //todo: @deprecated da cancellare questo tipo di assegnazione.
913
+ entitiesSelected: entitiesSelected });
914
+ return result;
915
+ });
916
+ var selectItemsOn = store.on(actions.SelectItems, function (state, _a) {
917
+ var type = _a.type, items = _a.items;
918
+ var entitiesSelected = toDictionary(items, adapter);
919
+ var idsSelected = Object.keys(entitiesSelected);
920
+ var result = Object.assign(Object.assign({}, state), { idsSelected: idsSelected,
921
+ // itemsSelected: items,
922
+ entitiesSelected: entitiesSelected });
923
+ return result;
924
+ });
925
+ var selectItemOn = store.on(actions.SelectItem, function (state, _a) {
926
+ var type = _a.type, item = _a.item;
927
+ var idSelected = selectIdValue(item, adapter.selectId);
928
+ var result = Object.assign(Object.assign({}, state), { idSelected: idSelected, itemSelected: item });
929
+ return result;
930
+ });
931
+ var selectSuccessOn = store.on(actions.SelectSuccess, function (state, _a) {
932
+ var type = _a.type, item = _a.item;
933
+ var idSelected = selectIdValue(item, adapter.selectId);
934
+ var result = Object.assign(Object.assign({}, state), { idSelected: idSelected, itemSelected: item, isLoaded: true, isLoading: false, error: null });
935
+ return result;
936
+ });
937
+ var searchFailureOn = store.on(actions.SearchFailure, function (state, _a) {
938
+ var type = _a.type, error = _a.error;
939
+ return Object.assign({}, state, {
940
+ isLoaded: false,
941
+ isLoading: false,
942
+ error: error
943
+ });
944
+ });
945
+ var deleteFailureOn = store.on(actions.DeleteFailure, function (state, _a) {
946
+ var type = _a.type, error = _a.error;
947
+ return Object.assign({}, state, {
948
+ isLoaded: false,
949
+ isLoading: false,
950
+ error: error
951
+ });
952
+ });
953
+ var deleteManyFailureOn = store.on(actions.DeleteManyFailure, function (state, _a) {
954
+ var type = _a.type, error = _a.error;
955
+ return Object.assign({}, state, {
956
+ isLoaded: false,
957
+ isLoading: false,
958
+ error: error
959
+ });
960
+ });
961
+ var createFailureOn = store.on(actions.CreateFailure, function (state, _a) {
962
+ var type = _a.type, error = _a.error;
963
+ return Object.assign({}, state, {
964
+ isLoaded: false,
965
+ isLoading: false,
966
+ error: error
967
+ });
968
+ });
969
+ var createManyFailureOn = store.on(actions.CreateManyFailure, function (state, _a) {
970
+ var type = _a.type, error = _a.error;
971
+ return Object.assign({}, state, {
972
+ isLoaded: false,
973
+ isLoading: false,
974
+ error: error
975
+ });
976
+ });
977
+ var editFailureOn = store.on(actions.EditFailure, function (state, _a) {
978
+ var error = _a.error, type = _a.type;
979
+ return Object.assign({}, state, {
980
+ isLoaded: false,
981
+ isLoading: false,
982
+ error: error
983
+ });
984
+ });
985
+ var editManyFailureOn = store.on(actions.EditManyFailure, function (state, _a) {
986
+ var error = _a.error, type = _a.type;
987
+ return Object.assign({}, state, {
988
+ isLoaded: false,
989
+ isLoading: false,
990
+ error: error
991
+ });
992
+ });
993
+ var selectFailureOn = store.on(actions.SelectFailure, function (state, _a) {
994
+ var error = _a.error, type = _a.type;
995
+ return Object.assign({}, state, {
996
+ isLoaded: false,
997
+ isLoading: false,
998
+ error: error
999
+ });
1000
+ });
1001
+ var resetOn = store.on(actions.Reset, function (state) { return (Object.assign(Object.assign({}, state), initialState)); });
1002
+ return {
1003
+ responseOn: responseOn,
1004
+ resetResponsesOn: resetResponsesOn,
1005
+ searchRequestOn: searchRequestOn,
1006
+ deleteRequestOn: deleteRequestOn,
1007
+ deleteManyRequestOn: deleteManyRequestOn,
1008
+ editRequestOn: editRequestOn,
1009
+ editManyRequestOn: editManyRequestOn,
1010
+ createRequestOn: createRequestOn,
1011
+ createManyRequestOn: createManyRequestOn,
1012
+ selectRequestOn: selectRequestOn,
1013
+ searchSuccessOn: searchSuccessOn,
1014
+ deleteSuccessOn: deleteSuccessOn,
1015
+ deleteManySuccessOn: deleteManySuccessOn,
1016
+ createSuccessOn: createSuccessOn,
1017
+ createManySuccessOn: createManySuccessOn,
1018
+ selectSuccessOn: selectSuccessOn,
1019
+ editSuccessOn: editSuccessOn,
1020
+ editManySuccessOn: editManySuccessOn,
1021
+ searchFailureOn: searchFailureOn,
1022
+ deleteFailureOn: deleteFailureOn,
1023
+ deleteManyFailureOn: deleteManyFailureOn,
1024
+ createFailureOn: createFailureOn,
1025
+ createManyFailureOn: createManyFailureOn,
1026
+ selectFailureOn: selectFailureOn,
1027
+ editFailureOn: editFailureOn,
1028
+ editManyFailureOn: editManyFailureOn,
1029
+ resetOn: resetOn,
1030
+ filtersOn: filtersOn,
1031
+ selectItemsOn: selectItemsOn,
1032
+ removeAllSelectedOn: removeAllSelectedOn,
1033
+ addManySelectedOn: addManySelectedOn,
1034
+ removeManySelectedOn: removeManySelectedOn,
1035
+ selectItemOn: selectItemOn,
1036
+ editOn: editOn,
1037
+ createOn: createOn,
1038
+ deleteOn: deleteOn
1039
+ };
1040
+ }
1041
+ function createCrudReducerFactory(adapter) {
1042
+ function createCrudReducer(initialState, actions) {
1043
+ var ons = [];
1044
+ for (var _i = 2; _i < arguments.length; _i++) {
1045
+ ons[_i - 2] = arguments[_i];
1046
+ }
1047
+ var _a = createCrudOns(adapter, initialState, actions), responseOn = _a.responseOn, resetResponsesOn = _a.resetResponsesOn, searchRequestOn = _a.searchRequestOn, deleteRequestOn = _a.deleteRequestOn, deleteManyRequestOn = _a.deleteManyRequestOn, editRequestOn = _a.editRequestOn, editManyRequestOn = _a.editManyRequestOn, createRequestOn = _a.createRequestOn, createManyRequestOn = _a.createManyRequestOn, selectRequestOn = _a.selectRequestOn, searchSuccessOn = _a.searchSuccessOn, deleteSuccessOn = _a.deleteSuccessOn, deleteManySuccessOn = _a.deleteManySuccessOn, createSuccessOn = _a.createSuccessOn, createManySuccessOn = _a.createManySuccessOn, selectSuccessOn = _a.selectSuccessOn, editSuccessOn = _a.editSuccessOn, editManySuccessOn = _a.editManySuccessOn, searchFailureOn = _a.searchFailureOn, deleteFailureOn = _a.deleteFailureOn, deleteManyFailureOn = _a.deleteManyFailureOn, createFailureOn = _a.createFailureOn, createManyFailureOn = _a.createManyFailureOn, selectFailureOn = _a.selectFailureOn, editFailureOn = _a.editFailureOn, editManyFailureOn = _a.editManyFailureOn, resetOn = _a.resetOn, filtersOn = _a.filtersOn, selectItemsOn = _a.selectItemsOn, removeAllSelectedOn = _a.removeAllSelectedOn, addManySelectedOn = _a.addManySelectedOn, removeManySelectedOn = _a.removeManySelectedOn, selectItemOn = _a.selectItemOn, editOn = _a.editOn, createOn = _a.createOn, deleteOn = _a.deleteOn;
1048
+ var totalOns = __spreadArray(__spreadArray([], __read(ons)), [
1049
+ responseOn,
1050
+ resetResponsesOn,
1051
+ searchRequestOn,
1052
+ deleteRequestOn,
1053
+ deleteManyRequestOn,
1054
+ editRequestOn,
1055
+ editManyRequestOn,
1056
+ createRequestOn,
1057
+ createManyRequestOn,
1058
+ selectRequestOn,
1059
+ searchSuccessOn,
1060
+ deleteSuccessOn,
1061
+ deleteManySuccessOn,
1062
+ createSuccessOn,
1063
+ createManySuccessOn,
1064
+ selectSuccessOn,
1065
+ editSuccessOn,
1066
+ editManySuccessOn,
1067
+ searchFailureOn,
1068
+ deleteFailureOn,
1069
+ deleteManyFailureOn,
1070
+ createFailureOn,
1071
+ createManyFailureOn,
1072
+ selectFailureOn,
1073
+ editFailureOn,
1074
+ editManyFailureOn,
1075
+ resetOn,
1076
+ filtersOn,
1077
+ selectItemsOn,
1078
+ removeAllSelectedOn,
1079
+ addManySelectedOn,
1080
+ removeManySelectedOn,
1081
+ selectItemOn,
1082
+ editOn,
1083
+ createOn,
1084
+ deleteOn
1085
+ ]);
1086
+ return store.createReducer.apply(void 0, __spreadArray([initialState], __read(totalOns)));
1087
+ }
1088
+ return {
1089
+ createCrudReducer: createCrudReducer
1090
+ };
1091
+ }
1092
+
1093
+ function createCrudEntityAdapter(options) {
1094
+ var adapter = entity.createEntityAdapter(options);
1095
+ var stateFactory = createInitialCrudStateFactory();
1096
+ var selectorsFactory = createCrudSelectorsFactory(adapter);
1097
+ var actionsFactory = createCrudActionsFactory();
1098
+ var reducerFactory = createCrudReducerFactory(adapter);
1099
+ return Object.assign({}, adapter, stateFactory, selectorsFactory, actionsFactory, reducerFactory);
1100
+ }
1101
+
1102
+ var searchCall = function (service) {
1103
+ return function (input$) { return input$.pipe(operators.switchMap(function (payload) { return service.search(payload).pipe(operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1104
+ };
1105
+ var searchResponse = function (actions, optEffect) {
1106
+ return function (input$) { return input$.pipe(operators.switchMap(function (_a) {
1107
+ var response = _a.response, payload = _a.payload;
1108
+ var result = [];
1109
+ if (response.hasError) {
1110
+ result.push(actions.SearchFailure({ error: response.message }));
1111
+ if (payload.onFault) {
1112
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1113
+ }
1114
+ }
1115
+ else {
1116
+ result.push(actions.SearchSuccess({ items: response.data, request: payload }));
1117
+ result.push(actions.Filters({ filters: {} }));
1118
+ if (payload.onResult) {
1119
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1120
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1121
+ }
1122
+ }
1123
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1124
+ result.push(actions.Response({
1125
+ actionType: payload.type,
1126
+ request: payload,
1127
+ response: response
1128
+ }));
1129
+ }
1130
+ return result;
1131
+ })); };
1132
+ };
1133
+ var searchCatchError = function (actions) {
1134
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1135
+ var response = [];
1136
+ response.push(actions.SearchFailure({ error: error }));
1137
+ response.push(actions.Response({
1138
+ actionType: 'Failure',
1139
+ request: null,
1140
+ response: { hasError: true, message: error.message, data: null }
1141
+ }));
1142
+ return rxjs.from(response);
1143
+ })); };
1144
+ };
1145
+ var searchRequest = function (actions, service, optEffect) {
1146
+ return function (input$) { return input$.pipe(effects.ofType(actions.SearchRequest), searchCall(service), searchResponse(actions, optEffect), searchCatchError(actions), operators.repeat()); };
1147
+ };
1148
+ /**
1149
+ * @deprecated use:
1150
+ *
1151
+ * actions$.pipe(
1152
+ * searchRequest(actions, service, clazz, optEffect)
1153
+ * );
1154
+ *
1155
+ * or:
1156
+ *
1157
+ * actions$.pipe(
1158
+ * ofType(actions.SearchRequest),
1159
+ * searchCall(service),
1160
+ * searchResponse(actions, optEffect),
1161
+ * searchCatchError(actions),
1162
+ * repeat()
1163
+ * );
1164
+ *
1165
+ */
1166
+ var searchRequestEffect = function (actions$, actions, service, optEffect) { return actions$.pipe(searchRequest(actions, service, optEffect)); };
1167
+ var deleteCall = function (service) {
1168
+ return function (input$) { return input$.pipe(operators.concatMap(function (payload) { return service.delete(payload).pipe(operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1169
+ };
1170
+ var deleteResponse = function (actions, clazz, optEffect) {
1171
+ return function (input$) { return input$.pipe(operators.concatMap(function (_a) {
1172
+ var response = _a.response, payload = _a.payload;
1173
+ var result = [];
1174
+ if (response.hasError) {
1175
+ result.push(actions.DeleteFailure({ error: response.message }));
1176
+ if (payload.onFault) {
1177
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1178
+ }
1179
+ }
1180
+ else {
1181
+ if (!clazz.selectId) {
1182
+ throw Error('the selectId method is not present in the managed entity.');
1183
+ }
1184
+ var id = clazz.selectId(payload.mutationParams);
1185
+ result.push(actions.DeleteSuccess({ id: id }));
1186
+ if (payload.onResult) {
1187
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1188
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1189
+ }
1190
+ }
1191
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1192
+ result.push(actions.Response({
1193
+ actionType: payload.type,
1194
+ request: payload,
1195
+ response: response
1196
+ }));
1197
+ }
1198
+ return result;
1199
+ })); };
1200
+ };
1201
+ var deleteCatchError = function (actions) {
1202
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1203
+ var response = [];
1204
+ response.push(actions.EditFailure({ error: error }));
1205
+ response.push(actions.Response({
1206
+ actionType: 'Failure',
1207
+ request: null,
1208
+ response: { hasError: true, message: error.message, data: null }
1209
+ }));
1210
+ return rxjs.from(response);
1211
+ })); };
1212
+ };
1213
+ var deleteRequest = function (actions, service, clazz, optEffect) {
1214
+ return function (input$) { return input$.pipe(effects.ofType(actions.DeleteRequest), deleteCall(service), deleteResponse(actions, clazz, optEffect), deleteCatchError(actions), operators.repeat()); };
1215
+ };
1216
+ /**
1217
+ * @deprecated use:
1218
+ *
1219
+ * actions$.pipe(
1220
+ * deleteRequest(actions, service, clazz, optEffect)
1221
+ * );
1222
+ *
1223
+ * or:
1224
+ *
1225
+ * actions$.pipe(
1226
+ * ofType(actions.DeleteRequest),
1227
+ * deleteCall(service),
1228
+ * deleteResponse(actions, clazz, optEffect),
1229
+ * deleteCatchError(actions),
1230
+ * repeat()
1231
+ * );
1232
+ *
1233
+ */
1234
+ var deleteRequestEffect = function (actions$, actions, service, clazz, optEffect) { return actions$.pipe(deleteRequest(actions, service, clazz, optEffect)); };
1235
+ var deleteManyCall = function (service) {
1236
+ return function (input$) { return input$.pipe(operators.concatMap(function (payload) { return service.deleteMany((payload)).pipe(operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1237
+ };
1238
+ var deleteManyResponse = function (actions, clazz, optEffect) {
1239
+ return function (input$) { return input$.pipe(operators.concatMap(function (_a) {
1240
+ var response = _a.response, payload = _a.payload;
1241
+ var result = [];
1242
+ if (response.hasError) {
1243
+ result.push(actions.DeleteManyFailure({ error: response.message }));
1244
+ if (payload.onFault) {
1245
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1246
+ }
1247
+ }
1248
+ else {
1249
+ if (!clazz.selectId) {
1250
+ throw Error('the selectId method is not present in the managed entity.');
1251
+ }
1252
+ var ids = payload.mutationParams.map(function (id) { return clazz.selectId(id); });
1253
+ result.push(actions.DeleteManySuccess({ ids: ids }));
1254
+ if (payload.onResult) {
1255
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1256
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1257
+ }
1258
+ }
1259
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1260
+ result.push(actions.Response({
1261
+ actionType: payload.type,
1262
+ request: payload,
1263
+ response: response
1264
+ }));
1265
+ }
1266
+ return result;
1267
+ })); };
1268
+ };
1269
+ var deleteManyCatchError = function (actions) {
1270
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1271
+ var response = [];
1272
+ response.push(actions.DeleteManyFailure({ error: error }));
1273
+ response.push(actions.Response({
1274
+ actionType: 'Failure',
1275
+ request: null,
1276
+ response: { hasError: true, message: error.message, data: null }
1277
+ }));
1278
+ return rxjs.from(response);
1279
+ })); };
1280
+ };
1281
+ var deleteManyRequest = function (actions, service, clazz, optEffect) {
1282
+ return function (input$) { return input$.pipe(effects.ofType(actions.DeleteManyRequest), deleteManyCall(service), deleteManyResponse(actions, clazz, optEffect), deleteManyCatchError(actions), operators.repeat()); };
1283
+ };
1284
+ var createCall = function (service) {
1285
+ return function (input$) { return input$.pipe(operators.concatMap(function (payload) { return service.create(payload).pipe(operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1286
+ };
1287
+ var createResponse = function (actions, optEffect) {
1288
+ return function (input$) { return input$.pipe(operators.concatMap(function (_a) {
1289
+ var response = _a.response, payload = _a.payload;
1290
+ var result = [];
1291
+ if (response.hasError) {
1292
+ result.push(actions.CreateFailure({ error: response.message }));
1293
+ if (payload.onFault) {
1294
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1295
+ }
1296
+ }
1297
+ else {
1298
+ var item = response.data;
1299
+ result.push(actions.CreateSuccess({ item: item }));
1300
+ if (payload.onResult) {
1301
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1302
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1303
+ }
1304
+ }
1305
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1306
+ result.push(actions.Response({
1307
+ actionType: payload.type,
1308
+ request: payload,
1309
+ response: response
1310
+ }));
1311
+ }
1312
+ return result;
1313
+ })); };
1314
+ };
1315
+ var createCatchError = function (actions) {
1316
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1317
+ var response = [];
1318
+ response.push(actions.CreateFailure({ error: error }));
1319
+ response.push(actions.Response({
1320
+ actionType: 'Failure',
1321
+ request: null,
1322
+ response: { hasError: true, message: error.message, data: null }
1323
+ }));
1324
+ return rxjs.from(response);
1325
+ })); };
1326
+ };
1327
+ var createRequest = function (actions, service, optEffect) {
1328
+ return function (input$) { return input$.pipe(effects.ofType(actions.CreateRequest), createCall(service), createResponse(actions, optEffect), createCatchError(actions), operators.repeat()); };
1329
+ };
1330
+ /**
1331
+ * @deprecated use:
1332
+ *
1333
+ * actions$.pipe(
1334
+ * createRequest(actions, service, optEffect)
1335
+ * );
1336
+ *
1337
+ * or:
1338
+ *
1339
+ * actions$.pipe(
1340
+ * ofType(actions.DeleteRequest),
1341
+ * createCall(service),
1342
+ * createResponse(actions, optEffect),
1343
+ * createCatchError(actions),
1344
+ * repeat()
1345
+ * );
1346
+ *
1347
+ */
1348
+ var createRequestEffect = function (actions$, actions, service, optEffect) { return actions$.pipe(createRequest(actions, service, optEffect)); };
1349
+ var createManyCall = function (service) {
1350
+ return function (input$) { return input$.pipe(operators.concatMap(function (payload) { return service.createMany(payload).pipe(operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1351
+ };
1352
+ var createManyResponse = function (actions, optEffect) {
1353
+ return function (input$) { return input$.pipe(operators.concatMap(function (_a) {
1354
+ var response = _a.response, payload = _a.payload;
1355
+ var result = [];
1356
+ if (response.hasError) {
1357
+ result.push(actions.CreateManyFailure({ error: response.message }));
1358
+ if (payload.onFault) {
1359
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1360
+ }
1361
+ }
1362
+ else {
1363
+ var items = response.data;
1364
+ result.push(actions.CreateManySuccess({ items: items }));
1365
+ if (payload.onResult) {
1366
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1367
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1368
+ }
1369
+ }
1370
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1371
+ result.push(actions.Response({
1372
+ actionType: payload.type,
1373
+ request: payload,
1374
+ response: response
1375
+ }));
1376
+ }
1377
+ return result;
1378
+ })); };
1379
+ };
1380
+ var createManyCatchError = function (actions) {
1381
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1382
+ var response = [];
1383
+ response.push(actions.EditManyFailure({ error: error }));
1384
+ response.push(actions.Response({
1385
+ actionType: 'Failure',
1386
+ request: null,
1387
+ response: { hasError: true, message: error.message, data: null }
1388
+ }));
1389
+ return rxjs.from(response);
1390
+ })); };
1391
+ };
1392
+ var createManyRequest = function (actions, service, optEffect) {
1393
+ return function (input$) { return input$.pipe(effects.ofType(actions.CreateManyRequest), createManyCall(service), createManyResponse(actions, optEffect), createManyCatchError(actions), operators.repeat()); };
1394
+ };
1395
+ var editCall = function (service) {
1396
+ return function (input$) { return input$.pipe(operators.concatMap(function (payload) { return service.update(payload).pipe(operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1397
+ };
1398
+ var editResponse = function (actions, optEffect) {
1399
+ return function (input$) { return input$.pipe(operators.concatMap(function (_a) {
1400
+ var response = _a.response, payload = _a.payload;
1401
+ var result = [];
1402
+ if (response.hasError) {
1403
+ result.push(actions.EditFailure({ error: response.message }));
1404
+ if (payload.onFault) {
1405
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1406
+ }
1407
+ }
1408
+ else {
1409
+ var item = response.data;
1410
+ result.push(actions.EditSuccess({ item: item }));
1411
+ if (payload.onResult) {
1412
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1413
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1414
+ }
1415
+ }
1416
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1417
+ result.push(actions.Response({
1418
+ actionType: payload.type,
1419
+ request: payload,
1420
+ response: response
1421
+ }));
1422
+ }
1423
+ return result;
1424
+ })); };
1425
+ };
1426
+ var editCatchError = function (actions) {
1427
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1428
+ var response = [];
1429
+ response.push(actions.EditFailure({ error: error }));
1430
+ response.push(actions.Response({
1431
+ actionType: 'Failure',
1432
+ request: null,
1433
+ response: { hasError: true, message: error.message, data: null }
1434
+ }));
1435
+ return rxjs.from(response);
1436
+ })); };
1437
+ };
1438
+ var editRequest = function (actions, service, optEffect) {
1439
+ return function (input$) { return input$.pipe(effects.ofType(actions.EditRequest), editCall(service), editResponse(actions, optEffect), editCatchError(actions), operators.repeat()); };
1440
+ };
1441
+ /**
1442
+ * @deprecated use:
1443
+ *
1444
+ * actions$.pipe(
1445
+ * editRequest(actions, service, optEffect)
1446
+ * );
1447
+ *
1448
+ * or:
1449
+ *
1450
+ * actions$.pipe(
1451
+ * ofType(actions.EditRequest),
1452
+ * editCall(service),
1453
+ * editResponse(actions, optEffect),
1454
+ * editCatchError(actions),
1455
+ * repeat()
1456
+ * );
1457
+ *
1458
+ */
1459
+ var editRequestEffect = function (actions$, actions, service, optEffect) { return actions$.pipe(editRequest(actions, service, optEffect)); };
1460
+ var editManyCall = function (service) {
1461
+ return function (input$) { return input$.pipe(operators.concatMap(function (payload) { return service.updateMany(payload).pipe(operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1462
+ };
1463
+ var editManyResponse = function (actions, optEffect) {
1464
+ return function (input$) { return input$.pipe(operators.concatMap(function (_a) {
1465
+ var response = _a.response, payload = _a.payload;
1466
+ var result = [];
1467
+ if (response.hasError) {
1468
+ result.push(actions.EditManyFailure({ error: response.message }));
1469
+ if (payload.onFault) {
1470
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1471
+ }
1472
+ }
1473
+ else {
1474
+ var items = response.data;
1475
+ result.push(actions.EditManySuccess({ items: items }));
1476
+ if (payload.onResult) {
1477
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1478
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1479
+ }
1480
+ }
1481
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1482
+ result.push(actions.Response({
1483
+ actionType: payload.type,
1484
+ request: payload,
1485
+ response: response
1486
+ }));
1487
+ }
1488
+ return result;
1489
+ })); };
1490
+ };
1491
+ var editManyCatchError = function (actions) {
1492
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1493
+ var response = [];
1494
+ response.push(actions.EditManyFailure({ error: error }));
1495
+ response.push(actions.Response({
1496
+ actionType: 'Failure',
1497
+ request: null,
1498
+ response: { hasError: true, message: error.message, data: null }
1499
+ }));
1500
+ return rxjs.from(response);
1501
+ })); };
1502
+ };
1503
+ var editManyRequest = function (actions, service, optEffect) {
1504
+ return function (input$) { return input$.pipe(effects.ofType(actions.EditManyRequest), editManyCall(service), editManyResponse(actions, optEffect), editManyCatchError(actions), operators.repeat()); };
1505
+ };
1506
+ var selectCall = function (service) {
1507
+ return function (input$) { return input$.pipe(operators.concatMap(function (payload) { return service.select(payload).pipe(
1508
+ // @ts-ignore
1509
+ operators.map(function (response) { return ({ response: response, payload: payload }); })); })); };
1510
+ };
1511
+ var selectResponse = function (actions, optEffect) {
1512
+ return function (input$) { return input$.pipe(operators.concatMap(function (_a) {
1513
+ var response = _a.response, payload = _a.payload;
1514
+ var result = [];
1515
+ if (response.hasError) {
1516
+ result.push(actions.SelectFailure({ error: response.message }));
1517
+ if (payload.onFault) {
1518
+ result.push.apply(result, __spreadArray([], __read(payload.onFault)));
1519
+ }
1520
+ }
1521
+ else {
1522
+ var item = response.data;
1523
+ result.push(actions.SelectSuccess({ item: item }));
1524
+ if (payload.onResult) {
1525
+ var onResults = payload.onResult.map(function (a) { return a.newAction ? a.newAction(response, payload) : a; });
1526
+ result.push.apply(result, __spreadArray([], __read(onResults)));
1527
+ }
1528
+ }
1529
+ if ((optEffect || {}).dispatchResponse || payload.dispatchResponse) {
1530
+ result.push(actions.Response({
1531
+ actionType: payload.type,
1532
+ request: payload,
1533
+ response: response
1534
+ }));
1535
+ }
1536
+ return result;
1537
+ })); };
1538
+ };
1539
+ var selectCatchError = function (actions) {
1540
+ return function (input$) { return input$.pipe(operators.catchError(function (error, caught) {
1541
+ var response = [];
1542
+ response.push(actions.EditFailure({ error: error }));
1543
+ response.push(actions.Response({
1544
+ actionType: 'Failure',
1545
+ request: null,
1546
+ response: { hasError: true, message: error.message, data: null }
1547
+ }));
1548
+ return rxjs.from(response);
1549
+ })); };
1550
+ };
1551
+ var selectRequest = function (actions, service, optEffect) {
1552
+ return function (input$) { return input$.pipe(effects.ofType(actions.SelectRequest), selectCall(service), selectResponse(actions, optEffect), selectCatchError(actions), operators.repeat()); };
1553
+ };
1554
+ /**
1555
+ * @deprecated use:
1556
+ *
1557
+ * actions$.pipe(
1558
+ * selectRequest(actions, service, clazz, optEffect)
1559
+ * );
1560
+ *
1561
+ * or:
1562
+ *
1563
+ * actions$.pipe(
1564
+ * ofType(actions.SelectRequest),
1565
+ * selectCall(service),
1566
+ * selectResponse(actions, optEffect),
1567
+ * selectCatchError(actions),
1568
+ * repeat()
1569
+ * );
1570
+ *
1571
+ */
1572
+ var selectRequestEffect = function (actions$, actions, service, optEffect) { return actions$.pipe(selectRequest(actions, service, optEffect)); };
1573
+
1574
+ var BaseCrudService = /** @class */ (function () {
1575
+ function BaseCrudService(http) {
1576
+ var _this = this;
1577
+ this.http = http;
1578
+ this.service = '';
1579
+ this.id = 'id';
1580
+ this.debug = false;
1581
+ this.httpOptions = function () {
1582
+ return {
1583
+ headers: new i1.HttpHeaders({ 'Content-Type': 'application/json' })
1584
+ };
1585
+ };
1586
+ this.searchMap = function (res) { return res; };
1587
+ this.getId = function (value) { return value[_this.id]; };
1588
+ }
1589
+ BaseCrudService.prototype.debugMode = function () {
1590
+ this.debug = true;
1591
+ };
1592
+ BaseCrudService.prototype.create = function (opt) {
1593
+ if (typeof (console) !== 'undefined' && this.debug) {
1594
+ console.log('%c BaseCrudService.create()', 'color: #777777');
1595
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
1596
+ }
1597
+ var path = !!opt && !!opt.path ? opt.path : null;
1598
+ return this.http.post("" + this.getUrl(path), opt.mutationParams, this.httpOptions());
1599
+ };
1600
+ BaseCrudService.prototype.createMany = function (opt) {
1601
+ var _this = this;
1602
+ this.checkOptRequest(opt);
1603
+ var result = opt.mutationParams.map(function (mutationParams) {
1604
+ var optB = Object.assign(Object.assign({}, opt), { mutationParams: mutationParams });
1605
+ return _this.create(optB).pipe(operators.map(function (value) { return (Object.assign(Object.assign({}, value), { data: [value.data] })); }) // trasformo la singola risposta da {data:T} in {data:T[]}
1606
+ );
1607
+ });
1608
+ return rxjs.of.apply(void 0, __spreadArray([], __read(result))).pipe(operators.mergeMap(function (value) { return value; }));
1609
+ };
1610
+ /**
1611
+ * metodo introdotto per la verifica di OptRequest
1612
+ * nella nuova versione è stato sostituito opt.item e opt.items con opt.mutationParams
1613
+ * in modo da renderlo compatibile come nomenclatura a graphql
1614
+ * @param opt
1615
+ */
1616
+ BaseCrudService.prototype.checkOptRequest = function (opt) {
1617
+ if (opt && opt.hasOwnProperty('item') && !!opt.item) {
1618
+ throw new Error('Error, in new versions of the library the "items" or "item" attribute have been replaced by "mutationParams". all project attributes must be renamed.');
1619
+ }
1620
+ if (opt && opt.hasOwnProperty('items') && !!opt.items) {
1621
+ throw new Error('Error, in new versions of the library the "items" or "item" attribute have been replaced by "mutationParams". all project attributes must be renamed.');
1622
+ }
1623
+ return true;
1624
+ };
1625
+ BaseCrudService.prototype.search = function (value) {
1626
+ if (typeof (console) !== 'undefined' && this.debug) {
1627
+ console.log('BaseCrudService.search()');
1628
+ console.log('Extended from: ' + this.constructor.name);
1629
+ }
1630
+ var url = value && value.hasOwnProperty('path') && !!value.path ? value.path.join('/') : '';
1631
+ var httpOptions = this.httpOptions();
1632
+ if (value && value.hasOwnProperty('queryParams') && !!value.queryParams) {
1633
+ httpOptions = (Object.assign(Object.assign({}, httpOptions), { params: value.queryParams }));
1634
+ }
1635
+ return this.http.get(this.getUrl() + url, httpOptions).pipe(operators.map(this.searchMap));
1636
+ };
1637
+ BaseCrudService.prototype.select = function (opt) {
1638
+ if (typeof (console) !== 'undefined' && this.debug) {
1639
+ console.log('%c BaseCrudService.select()', 'color: #777777');
1640
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
1641
+ }
1642
+ var id = this.getId(opt.queryParams);
1643
+ var path = !!opt && !!opt.path ? opt.path : null;
1644
+ return this
1645
+ .http
1646
+ .get(this.getUrl(path) + "/" + id, this.httpOptions());
1647
+ };
1648
+ BaseCrudService.prototype.update = function (opt) {
1649
+ this.checkOptRequest(opt);
1650
+ if (typeof (console) !== 'undefined' && this.debug) {
1651
+ console.log('%c BaseCrudService.update()', 'color: #777777');
1652
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
1653
+ }
1654
+ var id = this.getId(opt.mutationParams);
1655
+ var path = !!opt && !!opt.path ? opt.path : null;
1656
+ return this.http.put(this.getUrl(path) + "/" + id, opt.mutationParams, this.httpOptions());
1657
+ };
1658
+ BaseCrudService.prototype.updateMany = function (opt) {
1659
+ var _this = this;
1660
+ this.checkOptRequest(opt);
1661
+ var result = opt.mutationParams.map(function (mutationParams) {
1662
+ var optB = Object.assign(Object.assign({}, opt), { mutationParams: mutationParams });
1663
+ return _this.update(optB).pipe(operators.map(function (value) { return (Object.assign(Object.assign({}, value), { data: [value.data] })); }) // trasformo la singola risposta da {data:T} in {data:T[]}
1664
+ );
1665
+ });
1666
+ return rxjs.of.apply(void 0, __spreadArray([], __read(result))).pipe(operators.mergeMap(function (value) { return value; }));
1667
+ };
1668
+ BaseCrudService.prototype.delete = function (opt) {
1669
+ this.checkOptRequest(opt);
1670
+ if (typeof (console) !== 'undefined' && this.debug) {
1671
+ console.log('%c BaseCrudService.delete()', 'color: #777777');
1672
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
1673
+ }
1674
+ var id = this.getId(opt.mutationParams);
1675
+ var path = !!opt && !!opt.path ? opt.path : null;
1676
+ return this.http.delete(this.getUrl(path) + "/" + id, this.httpOptions());
1677
+ };
1678
+ BaseCrudService.prototype.deleteMany = function (opt) {
1679
+ var _this = this;
1680
+ this.checkOptRequest(opt);
1681
+ var result = opt.mutationParams.map(function (mutationParams) {
1682
+ var optB = Object.assign(Object.assign({}, opt), { mutationParams: mutationParams });
1683
+ return _this.delete(optB);
1684
+ });
1685
+ return rxjs.of.apply(void 0, __spreadArray([], __read(result))).pipe(operators.mergeMap(function (value) { return value; }));
1686
+ };
1687
+ BaseCrudService.prototype.getUrl = function (path) {
1688
+ var result = !!path ? this.service + "/" + path.join('/') : this.service;
1689
+ if (typeof (console) !== 'undefined' && this.debug) {
1690
+ console.log('%c BaseCrudService.getUrl(path?:string[]): string', 'color: #777777');
1691
+ console.log('%c path: ' + path, 'color: #777777');
1692
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
1693
+ console.log('%c result: ' + result, 'color: #777777');
1694
+ }
1695
+ return result;
1696
+ };
1697
+ return BaseCrudService;
1698
+ }());
1699
+ BaseCrudService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function BaseCrudService_Factory() { return new BaseCrudService(i0__namespace.ɵɵinject(i1__namespace.HttpClient)); }, token: BaseCrudService, providedIn: "root" });
1700
+ BaseCrudService.decorators = [
1701
+ { type: i0.Injectable, args: [{
1702
+ providedIn: 'root'
1703
+ },] }
1704
+ ];
1705
+ BaseCrudService.ctorParameters = function () { return [
1706
+ { type: i1.HttpClient }
1707
+ ]; };
1708
+
1709
+ var BaseCrudGqlService = /** @class */ (function () {
1710
+ function BaseCrudGqlService() {
1711
+ }
1712
+ BaseCrudGqlService.prototype.search = function (value) {
1713
+ return this.query(value);
1714
+ };
1715
+ BaseCrudGqlService.prototype.select = function (opt) {
1716
+ return this.mutate(opt);
1717
+ };
1718
+ BaseCrudGqlService.prototype.create = function (opt) {
1719
+ return this.mutate(opt);
1720
+ };
1721
+ BaseCrudGqlService.prototype.createMany = function (opt) {
1722
+ return this.mutate(opt);
1723
+ };
1724
+ BaseCrudGqlService.prototype.update = function (opt) {
1725
+ return this.mutate(opt);
1726
+ };
1727
+ BaseCrudGqlService.prototype.updateMany = function (opt) {
1728
+ return this.mutate(opt);
1729
+ };
1730
+ BaseCrudGqlService.prototype.delete = function (opt) {
1731
+ return this.mutate(opt);
1732
+ };
1733
+ BaseCrudGqlService.prototype.deleteMany = function (opt) {
1734
+ return this.mutate(opt);
1735
+ };
1736
+ //todo tolgo tipizzazione MutationOptions mutateMany(opt: OptRequest<MutationOptions>): Observable<Response<string[]>> {
1737
+ BaseCrudGqlService.prototype.mutateMany = function (opt) {
1738
+ return this.apollo.mutate(opt.mutationParams).pipe(operators.map(function (response) {
1739
+ debugger;
1740
+ return ({
1741
+ message: '',
1742
+ hasError: false,
1743
+ data: response.data.allCoins
1744
+ });
1745
+ }));
1746
+ };
1747
+ //todo tolgo tipizzazione MutationOptions mutate(opt: OptRequest<MutationOptions>): Observable<Response<string[]>> {
1748
+ BaseCrudGqlService.prototype.mutate = function (opt) {
1749
+ return this.apollo.mutate(opt.mutationParams).pipe(operators.map(function (response) {
1750
+ debugger;
1751
+ return ({
1752
+ message: '',
1753
+ hasError: false,
1754
+ data: response.data.allCoins
1755
+ });
1756
+ }));
1757
+ };
1758
+ //todo tolgo tipizzazione QueryOptions query(value?: ICriteria<QueryOptions>): Observable<Response<T[]>> {
1759
+ BaseCrudGqlService.prototype.query = function (value) {
1760
+ console.log('CoinService.search()');
1761
+ return this.apollo
1762
+ .query(value.queryParams).pipe(operators.map(function (response) {
1763
+ debugger;
1764
+ return ({
1765
+ message: '',
1766
+ hasError: false,
1767
+ data: response.data.allCoins
1768
+ });
1769
+ }));
1770
+ };
1771
+ return BaseCrudGqlService;
1772
+ }());
1773
+ BaseCrudGqlService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function BaseCrudGqlService_Factory() { return new BaseCrudGqlService(); }, token: BaseCrudGqlService, providedIn: "root" });
1774
+ BaseCrudGqlService.decorators = [
1775
+ { type: i0.Injectable, args: [{
1776
+ providedIn: 'root'
1777
+ },] }
1778
+ ];
1779
+
1780
+ /**
1781
+ * Generated bundle index. Do not edit.
1782
+ */
1783
+
1784
+ exports.BaseCrudGqlService = BaseCrudGqlService;
1785
+ exports.BaseCrudService = BaseCrudService;
1786
+ exports.createCall = createCall;
1787
+ exports.createCatchError = createCatchError;
1788
+ exports.createCrudEntityAdapter = createCrudEntityAdapter;
1789
+ exports.createCrudOns = createCrudOns;
1790
+ exports.createManyCall = createManyCall;
1791
+ exports.createManyCatchError = createManyCatchError;
1792
+ exports.createManyRequest = createManyRequest;
1793
+ exports.createManyResponse = createManyResponse;
1794
+ exports.createRequest = createRequest;
1795
+ exports.createRequestEffect = createRequestEffect;
1796
+ exports.createResponse = createResponse;
1797
+ exports.deleteCall = deleteCall;
1798
+ exports.deleteCatchError = deleteCatchError;
1799
+ exports.deleteManyCall = deleteManyCall;
1800
+ exports.deleteManyCatchError = deleteManyCatchError;
1801
+ exports.deleteManyRequest = deleteManyRequest;
1802
+ exports.deleteManyResponse = deleteManyResponse;
1803
+ exports.deleteRequest = deleteRequest;
1804
+ exports.deleteRequestEffect = deleteRequestEffect;
1805
+ exports.deleteResponse = deleteResponse;
1806
+ exports.editCall = editCall;
1807
+ exports.editCatchError = editCatchError;
1808
+ exports.editManyCall = editManyCall;
1809
+ exports.editManyCatchError = editManyCatchError;
1810
+ exports.editManyRequest = editManyRequest;
1811
+ exports.editManyResponse = editManyResponse;
1812
+ exports.editRequest = editRequest;
1813
+ exports.editRequestEffect = editRequestEffect;
1814
+ exports.editResponse = editResponse;
1815
+ exports.searchCall = searchCall;
1816
+ exports.searchCatchError = searchCatchError;
1817
+ exports.searchRequest = searchRequest;
1818
+ exports.searchRequestEffect = searchRequestEffect;
1819
+ exports.searchResponse = searchResponse;
1820
+ exports.selectCall = selectCall;
1821
+ exports.selectCatchError = selectCatchError;
1822
+ exports.selectRequest = selectRequest;
1823
+ exports.selectRequestEffect = selectRequestEffect;
1824
+ exports.selectResponse = selectResponse;
1825
+
1826
+ Object.defineProperty(exports, '__esModule', { value: true });
1827
+
1828
+ })));
1829
+ //# sourceMappingURL=ngrx-entity-crud.umd.js.map