@o3r/core 11.6.0-prerelease.3 → 11.6.0-prerelease.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/builders/app-version/index.d.ts.map +1 -1
  2. package/builders/app-version/index.js +1 -1
  3. package/builders/app-version/schema.d.ts.map +1 -1
  4. package/builders/lib-build/index.d.ts +1 -2
  5. package/builders/lib-build/index.d.ts.map +1 -1
  6. package/builders/lib-build/index.js +10 -10
  7. package/builders/lib-build/schema.d.ts +1 -2
  8. package/builders/lib-build/schema.d.ts.map +1 -1
  9. package/builders/multi-watcher/index.d.ts.map +1 -1
  10. package/builders/multi-watcher/index.js +1 -0
  11. package/builders/multi-watcher/schema.d.ts.map +1 -1
  12. package/builders/ngc/index.d.ts.map +1 -1
  13. package/builders/ngc/index.js +4 -5
  14. package/builders/ngc/schema.d.ts.map +1 -1
  15. package/builders/pattern-replacement/index.d.ts.map +1 -1
  16. package/builders/pattern-replacement/index.js +2 -3
  17. package/builders/pattern-replacement/schema.d.ts.map +1 -1
  18. package/builders/run-script/index.d.ts.map +1 -1
  19. package/builders/run-script/index.js +3 -3
  20. package/builders/utils.d.ts.map +1 -1
  21. package/core/application/build-properties.d.ts +1 -1
  22. package/core/application/build-properties.d.ts.map +1 -1
  23. package/core/application/runtime.d.ts.map +1 -1
  24. package/core/common/interface-utils.d.ts.map +1 -1
  25. package/core/interfaces/configuration.d.ts.map +1 -1
  26. package/core/interfaces/context.d.ts.map +1 -1
  27. package/core/metadata/component.decorator.d.ts.map +1 -1
  28. package/core/metadata/index.d.ts +1 -1
  29. package/core/metadata/index.d.ts.map +1 -1
  30. package/esm2022/core/application/build-properties.mjs +2 -2
  31. package/esm2022/core/application/index.mjs +1 -1
  32. package/esm2022/core/application/runtime.mjs +1 -1
  33. package/esm2022/core/common/interface-utils.mjs +1 -1
  34. package/esm2022/core/devkit/devtools.interface.mjs +1 -1
  35. package/esm2022/core/interfaces/configuration.mjs +1 -1
  36. package/esm2022/core/interfaces/context.mjs +1 -2
  37. package/esm2022/core/metadata/component.decorator.mjs +2 -2
  38. package/esm2022/core/metadata/index.mjs +2 -2
  39. package/esm2022/messages/common-message.interface.mjs +1 -1
  40. package/esm2022/messages/index.mjs +1 -1
  41. package/esm2022/messages/message.helpers.mjs +7 -5
  42. package/esm2022/public_api.mjs +2 -2
  43. package/esm2022/store/async/async-entity.adapter.mjs +3 -3
  44. package/esm2022/store/async/async.adapter.mjs +8 -7
  45. package/esm2022/store/async/async.helpers.mjs +1 -1
  46. package/esm2022/store/async/async.interfaces.mjs +1 -1
  47. package/esm2022/store/async/async.operators.mjs +5 -5
  48. package/esm2022/store/async/async.props.mjs +3 -4
  49. package/esm2022/store/async/async.serializer.mjs +2 -2
  50. package/esm2022/store/async/index.mjs +4 -4
  51. package/esm2022/store/types.mjs +1 -1
  52. package/esm2022/utils/debug/debug.helper.mjs +1 -2
  53. package/esm2022/utils/deep-fill/deep-fill.mjs +3 -4
  54. package/esm2022/utils/rendering/rendering.helpers.mjs +3 -4
  55. package/fesm2022/o3r-core.mjs +48 -51
  56. package/fesm2022/o3r-core.mjs.map +1 -1
  57. package/messages/common-message.interface.d.ts.map +1 -1
  58. package/messages/message.helpers.d.ts.map +1 -1
  59. package/package.json +21 -14
  60. package/public_api.d.ts +1 -1
  61. package/public_api.d.ts.map +1 -1
  62. package/schematics/add-modules/index.d.ts.map +1 -1
  63. package/schematics/add-modules/index.js +2 -2
  64. package/schematics/add-modules/schema.d.ts.map +1 -1
  65. package/schematics/component/container/index.d.ts.map +1 -1
  66. package/schematics/component/container/index.js +13 -11
  67. package/schematics/component/container/schema.d.ts.map +1 -1
  68. package/schematics/component/index.d.ts.map +1 -1
  69. package/schematics/component/index.js +1 -3
  70. package/schematics/component/presenter/index.d.ts.map +1 -1
  71. package/schematics/component/presenter/index.js +13 -12
  72. package/schematics/component/presenter/schema.d.ts.map +1 -1
  73. package/schematics/component/schema.d.ts.map +1 -1
  74. package/schematics/component/structures.types.d.ts +3 -3
  75. package/schematics/component/structures.types.d.ts.map +1 -1
  76. package/schematics/component/structures.types.js +2 -0
  77. package/schematics/context-to-component/index.d.ts +0 -1
  78. package/schematics/context-to-component/index.d.ts.map +1 -1
  79. package/schematics/context-to-component/index.js +1 -2
  80. package/schematics/context-to-component/schema.d.ts.map +1 -1
  81. package/schematics/convert-component/index.d.ts +0 -1
  82. package/schematics/convert-component/index.d.ts.map +1 -1
  83. package/schematics/convert-component/index.js +0 -2
  84. package/schematics/convert-component/schema.d.ts.map +1 -1
  85. package/schematics/ng-add/component-decorator/index.d.ts.map +1 -1
  86. package/schematics/ng-add/component-decorator/index.js +4 -4
  87. package/schematics/ng-add/index.d.ts.map +1 -1
  88. package/schematics/ng-add/index.js +5 -6
  89. package/schematics/ng-add/project-setup/index.d.ts.map +1 -1
  90. package/schematics/ng-add/project-setup/index.js +5 -5
  91. package/schematics/ng-add/schema.d.ts.map +1 -1
  92. package/schematics/ng-add/updates-for-v8/cms-adapters/update-builders-names.d.ts.map +1 -1
  93. package/schematics/ng-add/updates-for-v8/cms-adapters/update-builders-names.js +40 -41
  94. package/schematics/ng-add/updates-for-v8/generators/update-generators-names.d.ts.map +1 -1
  95. package/schematics/ng-add/updates-for-v8/generators/update-generators-names.js +25 -27
  96. package/schematics/ng-add/utils/linter/index.d.ts +8 -3
  97. package/schematics/ng-add/utils/linter/index.d.ts.map +1 -1
  98. package/schematics/ng-add/utils/linter/index.js +11 -5
  99. package/schematics/ng-add-create/index.d.ts +0 -2
  100. package/schematics/ng-add-create/index.d.ts.map +1 -1
  101. package/schematics/ng-add-create/index.js +9 -15
  102. package/schematics/ng-add-create/schema.d.ts.map +1 -1
  103. package/schematics/ng-update/index.d.ts.map +1 -1
  104. package/schematics/ng-update/index.js +5 -3
  105. package/schematics/ng-update/v10.0/configuration.d.ts.map +1 -1
  106. package/schematics/ng-update/v10.0/configuration.js +2 -2
  107. package/schematics/ng-update/v8.2/import-map.d.ts.map +1 -1
  108. package/schematics/page/index.d.ts.map +1 -1
  109. package/schematics/page/index.js +16 -16
  110. package/schematics/page/schema.d.ts.map +1 -1
  111. package/schematics/renovate/index.d.ts.map +1 -1
  112. package/schematics/renovate/schema.d.ts.map +1 -1
  113. package/schematics/rule-factories/additional-modules/index.d.ts.map +1 -1
  114. package/schematics/rule-factories/additional-modules/index.js +3 -3
  115. package/schematics/rule-factories/component/analytics.d.ts.map +1 -1
  116. package/schematics/rule-factories/component/common.d.ts +0 -1
  117. package/schematics/rule-factories/component/common.d.ts.map +1 -1
  118. package/schematics/rule-factories/component/common.js +18 -15
  119. package/schematics/rule-factories/component/configuration.d.ts.map +1 -1
  120. package/schematics/rule-factories/component/context.d.ts.map +1 -1
  121. package/schematics/rule-factories/component/design-token.d.ts.map +1 -1
  122. package/schematics/rule-factories/component/fixture.d.ts.map +1 -1
  123. package/schematics/rule-factories/component/localization.d.ts.map +1 -1
  124. package/schematics/rule-factories/component/rules-engine.d.ts.map +1 -1
  125. package/schematics/rule-factories/component/theming.d.ts.map +1 -1
  126. package/schematics/rule-factories/customization-environment/index.d.ts.map +1 -1
  127. package/schematics/rule-factories/customization-environment/index.js +5 -7
  128. package/schematics/rule-factories/index.d.ts +1 -1
  129. package/schematics/rule-factories/index.d.ts.map +1 -1
  130. package/schematics/rule-factories/index.js +1 -1
  131. package/schematics/rule-factories/o3r-basic-updates/index.d.ts +0 -1
  132. package/schematics/rule-factories/o3r-basic-updates/index.d.ts.map +1 -1
  133. package/schematics/rule-factories/o3r-basic-updates/index.js +7 -8
  134. package/schematics/rule-factories/otter-environment/index.d.ts +1 -2
  135. package/schematics/rule-factories/otter-environment/index.d.ts.map +1 -1
  136. package/schematics/rule-factories/otter-environment/index.js +16 -18
  137. package/schematics/rule-factories/store/index.d.ts +3 -4
  138. package/schematics/rule-factories/store/index.d.ts.map +1 -1
  139. package/schematics/rule-factories/store/index.js +7 -8
  140. package/schematics/schematics-update/index.d.ts.map +1 -1
  141. package/schematics/schematics-update/index.js +3 -3
  142. package/schematics/schematics-update/schema.d.ts.map +1 -1
  143. package/schematics/service/index.d.ts.map +1 -1
  144. package/schematics/service/index.js +3 -3
  145. package/schematics/service/schema.d.ts.map +1 -1
  146. package/schematics/shared/presets/all.preset.d.ts.map +1 -1
  147. package/schematics/shared/presets/all.preset.js +2 -3
  148. package/schematics/shared/presets/basic.preset.d.ts.map +1 -1
  149. package/schematics/shared/presets/cms.preset.d.ts +0 -1
  150. package/schematics/shared/presets/cms.preset.d.ts.map +1 -1
  151. package/schematics/shared/presets/cms.preset.js +1 -3
  152. package/schematics/shared/presets/external.preset.d.ts.map +1 -1
  153. package/schematics/shared/presets/external.preset.js +1 -1
  154. package/schematics/shared/presets/helpers.d.ts.map +1 -1
  155. package/schematics/shared/presets/helpers.js +10 -8
  156. package/schematics/shared/presets/index.d.ts +1 -1
  157. package/schematics/shared/presets/index.d.ts.map +1 -1
  158. package/schematics/shared/presets/index.js +1 -1
  159. package/schematics/shared/presets/preset.interface.d.ts +1 -1
  160. package/schematics/shared/presets/preset.interface.d.ts.map +1 -1
  161. package/schematics/show-modules/index.d.ts.map +1 -1
  162. package/schematics/show-modules/schema.d.ts.map +1 -1
  163. package/schematics/store/common/helpers.d.ts.map +1 -1
  164. package/schematics/store/common/schema.d.ts.map +1 -1
  165. package/schematics/store/entity-async/index.d.ts.map +1 -1
  166. package/schematics/store/entity-async/index.js +3 -4
  167. package/schematics/store/entity-async/schema.d.ts.map +1 -1
  168. package/schematics/store/entity-sync/index.d.ts.map +1 -1
  169. package/schematics/store/entity-sync/index.js +3 -4
  170. package/schematics/store/entity-sync/schema.d.ts.map +1 -1
  171. package/schematics/store/index.d.ts.map +1 -1
  172. package/schematics/store/index.js +10 -5
  173. package/schematics/store/schema.d.ts.map +1 -1
  174. package/schematics/store/simple-async/index.d.ts.map +1 -1
  175. package/schematics/store/simple-async/index.js +2 -3
  176. package/schematics/store/simple-async/schema.d.ts.map +1 -1
  177. package/schematics/store/simple-sync/index.d.ts.map +1 -1
  178. package/schematics/store/simple-sync/index.js +2 -4
  179. package/schematics/store/simple-sync/schema.d.ts.map +1 -1
  180. package/schematics/store-action/index.d.ts.map +1 -1
  181. package/schematics/store-action/index.js +26 -22
  182. package/schematics/store-action/schema.d.ts.map +1 -1
  183. package/store/async/async-entity.adapter.d.ts.map +1 -1
  184. package/store/async/async.adapter.d.ts.map +1 -1
  185. package/store/async/async.helpers.d.ts.map +1 -1
  186. package/store/async/async.interfaces.d.ts.map +1 -1
  187. package/store/async/async.operators.d.ts +1 -0
  188. package/store/async/async.operators.d.ts.map +1 -1
  189. package/store/async/async.props.d.ts.map +1 -1
  190. package/store/async/async.serializer.d.ts.map +1 -1
  191. package/store/async/index.d.ts +3 -3
  192. package/store/async/index.d.ts.map +1 -1
  193. package/store/types.d.ts +9 -7
  194. package/store/types.d.ts.map +1 -1
  195. package/utils/debug/debug.helper.d.ts.map +1 -1
  196. package/utils/deep-fill/deep-fill.d.ts.map +1 -1
  197. package/utils/rendering/rendering.helpers.d.ts +0 -1
  198. package/utils/rendering/rendering.helpers.d.ts.map +1 -1
@@ -1,8 +1,8 @@
1
1
  import { map, filter, EMPTY, from, isObservable, of, identity, BehaviorSubject, merge, observeOn, animationFrameScheduler } from 'rxjs';
2
- import { v4 } from 'uuid';
3
2
  import { tap, startWith, pairwise, switchMap, catchError, filter as filter$1, delay, finalize, mergeMap, bufferCount, concatMap, scan } from 'rxjs/operators';
3
+ import { v4 } from 'uuid';
4
4
 
5
- /* eslint-disable @typescript-eslint/naming-convention */
5
+ /* eslint-disable @typescript-eslint/naming-convention -- exception for `BuildTimeProperties` */
6
6
  /**
7
7
  * Library build time default properties
8
8
  */
@@ -19,8 +19,6 @@ const DEFAULT_BUILD_PROPERTIES = {
19
19
  USE_MOCKS: false
20
20
  };
21
21
 
22
- /* eslint-disable @typescript-eslint/ban-types */
23
-
24
22
  /**
25
23
  * Private field where Otter component information are stored
26
24
  */
@@ -30,7 +28,7 @@ const otterComponentInfoPropertyName = '__otter-info__';
30
28
  * @param info Information to define the Otter component
31
29
  * @returns the component with the information
32
30
  */
33
- // eslint-disable-next-line @typescript-eslint/naming-convention
31
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- decorator should be PascalCase
34
32
  function O3rComponent(info) {
35
33
  return (constructor) => {
36
34
  const componentName = constructor.name;
@@ -88,9 +86,11 @@ const sendOtterMessage = (dataType, content, preStringify = true) => {
88
86
  * @param predicate condition to filter the message
89
87
  * @returns content of the message
90
88
  */
91
- // eslint-disable-next-line max-len
89
+ /**
90
+ * Operator to get only Otter messages that match the predicate
91
+ * @param predicate
92
+ */
92
93
  function filterMessageContent(predicate) {
93
- /* eslint-enable no-redeclare */
94
94
  return (source$) => {
95
95
  const obs = source$.pipe(map((event) => {
96
96
  const data = event.data;
@@ -103,31 +103,6 @@ function filterMessageContent(predicate) {
103
103
  };
104
104
  }
105
105
 
106
- /**
107
- * Determine if the action is an AsyncRequest action
108
- * @param action Redux Action
109
- */
110
- function isCallAction(action) {
111
- if (!action) {
112
- return false;
113
- }
114
- return !!action.call && action.call instanceof Promise;
115
- }
116
- /**
117
- * Determine if the action is an AsyncRequest action with a Request ID
118
- * @param action Redux Action
119
- */
120
- function isIdentifiedCallAction(action) {
121
- return isCallAction(action) && typeof action.requestId !== 'undefined';
122
- }
123
- /**
124
- * Determine if the given item implements the AsyncRequest interface
125
- * @param item
126
- */
127
- function isAsyncRequest(item) {
128
- return typeof item.requestId !== 'undefined';
129
- }
130
-
131
106
  const asyncStoreItemAdapter = {
132
107
  addRequest: (item, requestId) => {
133
108
  return {
@@ -168,16 +143,17 @@ const asyncStoreItemAdapter = {
168
143
  };
169
144
  },
170
145
  clearAsyncStoreItem: (entityItem) => {
171
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
172
146
  const { isPending, isFailure, ...newResponse } = { ...entityItem, requestIds: [] };
173
147
  return newResponse;
174
148
  },
175
149
  merge: (...items) => {
176
- return items.reduce((mergedItem, item) => item ? {
177
- requestIds: [...mergedItem.requestIds, ...item.requestIds],
178
- isFailure: mergedItem.isFailure || item.isFailure,
179
- isPending: mergedItem.isPending || item.isPending
180
- } : mergedItem, asyncStoreItemAdapter.initialize({}));
150
+ return items.reduce((mergedItem, item) => item
151
+ ? {
152
+ requestIds: [...mergedItem.requestIds, ...item.requestIds],
153
+ isFailure: mergedItem.isFailure || item.isFailure,
154
+ isPending: mergedItem.isPending || item.isPending
155
+ }
156
+ : mergedItem, asyncStoreItemAdapter.initialize({}));
181
157
  },
182
158
  entityStatusAddRequest: (status, subResource, requestId) => {
183
159
  const currentSubStatus = status[subResource] || asyncStoreItemAdapter.initialize({});
@@ -255,7 +231,7 @@ function createEntityAsyncRequestAdapter(adapter) {
255
231
  return { id: entity[idProperty], changes: asyncStoreItemAdapter.resolveRequest(model, requestId) };
256
232
  }), state);
257
233
  const failRequestMany = (state, ids = [], requestId) => {
258
- if (ids.length && !ids.some((id) => state.entities[id] === undefined)) {
234
+ if (ids.length > 0 && !ids.some((id) => state.entities[id] === undefined)) {
259
235
  return adapter.updateMany(ids.map((id) => ({
260
236
  id,
261
237
  changes: asyncStoreItemAdapter.failRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]), requestId)
@@ -274,13 +250,29 @@ function createEntityAsyncRequestAdapter(adapter) {
274
250
  }
275
251
 
276
252
  /**
277
- * Returns a creator that makes sure that requestId is defined in the action's properties by generating one
278
- * if needed.
253
+ * Determine if the action is an AsyncRequest action
254
+ * @param action Redux Action
279
255
  */
280
- // eslint-disable-next-line @typescript-eslint/ban-types
281
- const asyncProps = () => {
282
- return (props) => isAsyncRequest(props) ? props : { ...props, requestId: v4() };
283
- };
256
+ function isCallAction(action) {
257
+ if (!action) {
258
+ return false;
259
+ }
260
+ return !!action.call && action.call instanceof Promise;
261
+ }
262
+ /**
263
+ * Determine if the action is an AsyncRequest action with a Request ID
264
+ * @param action Redux Action
265
+ */
266
+ function isIdentifiedCallAction(action) {
267
+ return isCallAction(action) && typeof action.requestId !== 'undefined';
268
+ }
269
+ /**
270
+ * Determine if the given item implements the AsyncRequest interface
271
+ * @param item
272
+ */
273
+ function isAsyncRequest(item) {
274
+ return typeof item.requestId !== 'undefined';
275
+ }
284
276
 
285
277
  /**
286
278
  * Determine if the given parameter is a Promise
@@ -294,7 +286,6 @@ const isPromise = (object) => object && typeof object === 'object' && typeof obj
294
286
  * @param errorHandler function that returns the action to emit in case the FromApi call fails
295
287
  * @param cancelRequestActionFactory function that returns the action to emit in case the FromApi action is 'cancelled' because a new action was received by the switchMap
296
288
  */
297
- // eslint-disable-next-line @typescript-eslint/ban-types
298
289
  function fromApiEffectSwitchMap(successHandler, errorHandler, cancelRequestActionFactory) {
299
290
  const pendingRequestIdsContext = {};
300
291
  return (source$) => source$.pipe(tap((action) => {
@@ -321,6 +312,7 @@ function fromApiEffectSwitchMap(successHandler, errorHandler, cancelRequestActio
321
312
  }));
322
313
  }
323
314
  /**
315
+ * Same as {@link fromApiEffectSwitchMap}, instead one inner subscription is kept by id.
324
316
  * @param successHandler
325
317
  * @param errorHandler
326
318
  * @param cancelRequestActionFactory
@@ -354,6 +346,14 @@ function fromApiEffectSwitchMapById(successHandler, errorHandler, cancelRequestA
354
346
  };
355
347
  }
356
348
 
349
+ /**
350
+ * Returns a creator that makes sure that requestId is defined in the action's properties by generating one
351
+ * if needed.
352
+ */
353
+ const asyncProps = () => {
354
+ return (props) => isAsyncRequest(props) ? props : { ...props, requestId: v4() };
355
+ };
356
+
357
357
  /**
358
358
  * Serializer for asynchronous store.
359
359
  * @param state State of an asynchronous store to serialize
@@ -413,13 +413,12 @@ function padNumber(val, digits = 2) {
413
413
  * @returns TRUE if bootstrap config environment is production FALSE otherwise
414
414
  */
415
415
  function isProductionEnvironment(dataset) {
416
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
417
416
  const bootstrapConfig = dataset.bootstrapconfig && JSON.parse(dataset.bootstrapconfig);
418
417
  return bootstrapConfig?.environment === 'prod';
419
418
  }
420
419
 
421
420
  const defaultConstruct = (data) => data;
422
- const isDate = (data) => data instanceof Date && !isNaN(data);
421
+ const isDate = (data) => data instanceof Date && !Number.isNaN(data);
423
422
  /**
424
423
  * Check if an object is not an array or a date
425
424
  * @param obj
@@ -446,7 +445,6 @@ function immutablePrimitive(obj, additionalMappers) {
446
445
  return new Date(obj);
447
446
  }
448
447
  else if (obj instanceof Object) {
449
- // eslint-disable-next-line no-use-before-define
450
448
  return deepFill(obj, obj, additionalMappers);
451
449
  }
452
450
  else {
@@ -466,7 +464,7 @@ function deepFill(base, source, additionalMappers) {
466
464
  return deepFill(base, base, additionalMappers);
467
465
  }
468
466
  if (!isObject(base, additionalMappers)) {
469
- return immutablePrimitive(typeof source !== 'undefined' ? source : base, additionalMappers);
467
+ return immutablePrimitive(typeof source === 'undefined' ? base : source, additionalMappers);
470
468
  }
471
469
  const newObj = { ...base };
472
470
  for (const key in base) {
@@ -493,7 +491,6 @@ function deepFill(base, source, additionalMappers) {
493
491
  * of similar components.
494
492
  * @param delayMs Delay between data emits
495
493
  * @param concurrency Amount of elements that should be emitted at once
496
- * @returns
497
494
  */
498
495
  function lazyArray(delayMs = 0, concurrency = 2) {
499
496
  let isFirstEmission = true;
@@ -1 +1 @@
1
- {"version":3,"file":"o3r-core.mjs","sources":["../../src/core/application/build-properties.ts","../../src/core/interfaces/context.ts","../../src/core/metadata/component.decorator.ts","../../src/core/metadata/component.identifier.ts","../../src/messages/message.interfaces.ts","../../src/messages/message.helpers.ts","../../src/store/async/async.helpers.ts","../../src/store/async/async.adapter.ts","../../src/store/async/async-entity.adapter.ts","../../src/store/async/async.props.ts","../../src/store/async/async.operators.ts","../../src/store/async/async.serializer.ts","../../src/store/types.ts","../../src/utils/debug/debug.helper.ts","../../src/utils/deep-fill/deep-fill.ts","../../src/utils/rendering/rendering.helpers.ts","../../src/o3r-core.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Library build time properties\n */\nexport interface BuildTimeProperties {\n /**\n * True if the application in launch in debug mode\n */\n DEBUG_MODE: boolean;\n\n /**\n * True if the webStorage option is enabled\n */\n ENABLE_WEBSTORAGE: boolean;\n\n /**\n * Name of the current environment\n */\n ENVIRONMENT: string;\n\n /**\n * Boolean that can be used to activate API calls mocks for development or mock-up purpose.\n */\n USE_MOCKS: boolean;\n\n /**\n * Maximum size of the dev tool history\n */\n DEVTOOL_HISTORY_SIZE: number | undefined;\n\n /**\n * path to bundles in published folder\n */\n LOCALIZATION_BUNDLES_OUTPUT: string;\n\n /**\n * The name of the bundle generated with the default localization components keys\n */\n DEFAULT_LOC_BUNDLE_NAME: string;\n\n /**\n * Indicates the default server prefix to be used in case no dynamic is found\n */\n APP_BASE_HREF: string | undefined;\n\n /**\n * Version of the App based on the package.json\n */\n APP_VERSION: string;\n\n /**\n * Determine if the ghosting is activated on the app\n */\n ENABLE_GHOSTING: boolean;\n}\n\n/**\n * Library build time default properties\n */\nexport const DEFAULT_BUILD_PROPERTIES: BuildTimeProperties = {\n DEBUG_MODE: true,\n APP_BASE_HREF: '.',\n APP_VERSION: '0.0.0',\n DEFAULT_LOC_BUNDLE_NAME: '',\n DEVTOOL_HISTORY_SIZE: 20,\n ENABLE_GHOSTING: false,\n ENABLE_WEBSTORAGE: true,\n ENVIRONMENT: 'dev',\n LOCALIZATION_BUNDLES_OUTPUT: 'localizations/',\n USE_MOCKS: false\n};\n","/* eslint-disable @typescript-eslint/ban-types */\n\nimport type { EventEmitter } from '@angular/core';\nimport type { FormControl } from '@angular/forms';\nimport type { Translation } from './translation';\n\n/**\n * Inputs of the component\n */\nexport interface ContextInput {\n [key: string]: any;\n}\n\n/**\n * Base outputs of the components\n */\nexport interface BaseContextOutput {\n [key: string]: any;\n}\n\n\n/**\n * Type helper to generate the interface of component outputs\n */\nexport type EventEmitterify<T extends BaseContextOutput> = { [P in keyof T]: EventEmitter<T[P]> };\n\n/**\n * Context of the component\n */\nexport type Context<T extends ContextInput = {}, U extends BaseContextOutput = {}> = {[P in keyof T]: T[P]} & {[P in keyof U]: EventEmitterify<U>[P]};\n\n/**\n * Type helper to generate the template context outputs\n */\nexport type Functionify<T extends BaseContextOutput> = { [P in keyof T]: (value: T[P]) => void };\n\n\n/**\n * Interface for a context of a child component\n */\nexport interface TemplateContext<\n N extends {},\n S extends ContextInput = Record<string, unknown>,\n F extends BaseContextOutput = Record<string, unknown>,\n W extends Translation = Translation> {\n /** Component configuration */\n config?: Partial<N>;\n /** Component inputs context */\n inputs: S & {[key: string]: any};\n /** Component outputs context */\n outputs: Functionify<F & {[key: string]: any}>;\n /** Component translation */\n translations?: Partial<W>;\n /** Parent Component Id */\n parentId?: string;\n /** Form control object to be applied to the form */\n formControl?: FormControl;\n}\n","import type {Translation} from '../interfaces';\n\n/** Type of component */\nexport type ComponentType = 'Block' | 'Page' | 'ExposedComponent' | 'Component';\n\n/**\n * Information about an Otter component to provide\n */\nexport interface OtterComponentInfoToProvide {\n /** Type of component */\n componentType: ComponentType;\n}\n\n/**\n * Information about an Otter component\n */\nexport interface OtterComponentInfo extends OtterComponentInfoToProvide {\n /** Configuration ID */\n configId?: string;\n /** Translation keys */\n translations?: Translation;\n /** Component Name */\n componentName: string;\n}\n\n/**\n * Private field where Otter component information are stored\n */\nexport const otterComponentInfoPropertyName = '__otter-info__';\n\n/**\n * Decorates an Angular component to provide Otter information\n * @param info Information to define the Otter component\n * @returns the component with the information\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function O3rComponent(info: OtterComponentInfoToProvide) {\n return <T extends new (...args: any[]) => object>(constructor: T) => {\n const componentName = constructor.name;\n constructor.prototype[otterComponentInfoPropertyName] = {...info, componentName};\n return constructor;\n };\n}\n","/**\n * Compute the name of the component with the library's name to generate unique component identifier used in metadata and different modules\n * @param componentName Name of the component to get the configuration\n * @param libraryName Name of the library the component is coming from\n */\nexport function computeItemIdentifier(componentName: string, libraryName?: string) {\n return (libraryName ? libraryName + '#' : '') + componentName;\n}\n","/** Type of a message exchanged within the Otter Framework */\nexport const otterMessageType = 'otter';\n\n/** Target of a message that should be handled by the application */\nexport const applicationMessageTarget = 'app';\n\nexport interface OtterMessageContent<DataType extends string = string> {\n /** Type of data */\n dataType: DataType;\n}\n\nexport interface OtterMessage<Content extends OtterMessageContent = OtterMessageContent, Target extends string | undefined = undefined | string> {\n /** Type of the message */\n type: typeof otterMessageType;\n\n /** Version of the message (default to the @o3r/core version ) */\n version?: string;\n\n /** Target of the message */\n to: Target;\n\n /** Message content */\n content: Content;\n}\n\n/** Type helper to retrieve the data types of a union of MessageContent */\nexport type MessageDataTypes<T extends OtterMessageContent> = T['dataType'];\n\n/** Type helper to filter the message that can be received by the application */\nexport type FilterMessageToApplication<T extends OtterMessage> = T extends { to: infer U } ? U extends (typeof applicationMessageTarget | undefined) ? T : never : never;\n\nexport type ContentMessageData<T extends OtterMessageContent> = T extends any\n ? Omit<T, 'dataType'>\n : never;\n","import { filter, map, Observable } from 'rxjs';\nimport { applicationMessageTarget, ContentMessageData, FilterMessageToApplication, OtterMessage, OtterMessageContent, otterMessageType } from './message.interfaces';\n\n/**\n * Determine if a message should be handle by the application\n * @param message Message to analyze\n */\nexport const isToAppOtterMessage = <T extends OtterMessage>(message?: T): message is FilterMessageToApplication<T & {to: 'app'}> => {\n return message?.to === applicationMessageTarget;\n};\n\n/**\n * Determine if a message is emitted by an Otter tool\n * @param message Message to analyze\n */\nexport const isOtterMessage = <T extends OtterMessageContent>(message: any): message is OtterMessage<T> => {\n return message?.type === otterMessageType;\n};\n\n/**\n * Send an Otter Message\n * @param dataType Type of the message\n * @param content content of the message\n * @param preStringify determine if the message should JSON.stringify before being send (will use the default mechanism otherwise)\n */\nexport const sendOtterMessage = <T extends OtterMessageContent>(dataType: T['dataType'], content: ContentMessageData<T>, preStringify = true) => {\n const message = {\n type: otterMessageType,\n content: {\n ...content,\n dataType\n }\n };\n return window.postMessage(preStringify ? JSON.stringify(message) : message, '*');\n};\n\n/* eslint-disable no-redeclare */\nexport function filterMessageContent<T extends Event | MessageEvent>(): (source$: Observable<T>) => Observable<OtterMessageContent<string>>;\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate: (message: any) => message is S): (source$: Observable<T>) => Observable<S>;\n/**\n * Filter the Otter message that should be handle by the application and returns it content\n * @param predicate condition to filter the message\n * @returns content of the message\n */\n// eslint-disable-next-line max-len\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate?: (message: any) => message is S): (source$: Observable<T>) => Observable<OtterMessageContent<string> | S> {\n/* eslint-enable no-redeclare */\n return (source$: Observable<T>) => {\n const obs = source$.pipe(\n map((event) => {\n const data = (event as MessageEvent).data;\n return typeof data === 'string' ? JSON.parse(data) : data;\n }),\n filter(isOtterMessage),\n filter(isToAppOtterMessage),\n map((message) => message.content)\n );\n if (predicate) {\n return obs.pipe(filter(predicate));\n }\n return obs;\n };\n}\n","import {AsyncRequest, FromApiActionPayload} from './async.interfaces';\n\n/**\n * Determine if the action is an AsyncRequest action\n * @param action Redux Action\n */\nexport function isCallAction<T = any>(action?: any): action is FromApiActionPayload<T> {\n if (!action) {\n return false;\n }\n\n return !!action.call && action.call instanceof Promise;\n}\n\n/**\n * Determine if the action is an AsyncRequest action with a Request ID\n * @param action Redux Action\n */\nexport function isIdentifiedCallAction<T = any>(action?: any): action is FromApiActionPayload<T> & AsyncRequest {\n return isCallAction(action) && typeof action.requestId !== 'undefined';\n}\n\n/**\n * Determine if the given item implements the AsyncRequest interface\n * @param item\n */\nexport function isAsyncRequest<T>(item: any): item is T & AsyncRequest {\n return typeof item.requestId !== 'undefined';\n}\n","import {AsyncStoreItem, EntityStatus} from './async.interfaces';\n\n/**\n * Adapter to help manipulate AsyncStoreItems to register new request and update the status when they fail or resolve.\n */\nexport interface AsyncStoreItemAdapter {\n /**\n * Adds a request to an AsyncStoreItem.\n * If the item had a failure and no ongoing requests, sets it's failure status back to false\n * @param item\n * @param requestId\n */\n addRequest<T extends AsyncStoreItem>(item: T, requestId: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has resolved.\n * Removes it from its requestIds array.\n * If no requestId provided, the method returns the current status of the AsyncStoreItem\n * @param item\n * @param requestId\n */\n resolveRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has failed.\n * Removes it from its requestIds array and set its failure status.\n * @param item\n * @param requestId\n */\n failRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Add AsyncStoreItem properties (with initial values) to the given entity\n * @param entityItem\n * @returns Given item improved with AsyncStoreItem properties\n */\n // eslint-disable-next-line @typescript-eslint/ban-types\n initialize<T extends object>(entityItem: T): T & AsyncStoreItem;\n\n /**\n * Extract only AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n * @returns Object containing only AsyncStoreItem properties\n */\n extractAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): AsyncStoreItem;\n\n /**\n * Clear AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n */\n clearAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Merges an AsyncStoreItem collection into one item that gives an overall status.\n * @param items\n */\n merge(...items: (AsyncStoreItem | undefined)[]): AsyncStoreItem;\n\n /**\n * Add a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusAddRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId: string): T;\n\n /**\n * Resolve a request on the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusResolveRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Fail a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusFailRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Reset the failure status of the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n */\n entityStatusResetFailure<T extends EntityStatus<T>>(status: T, subResource: keyof T): T;\n\n /**\n * Reset the failure status of the given AsyncStoreItem to false\n * @param entityItem\n * @returns AsyncStoreItem with the updated failure status\n */\n resetFailureStatus<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Set the pending status of the given AsyncStoreItem to true\n * @param entityItem\n * @returns AsyncStoreItem with the updated pending status\n */\n setLoadingStatus<T extends AsyncStoreItem>(entityItem: T): T;\n}\n\nexport const asyncStoreItemAdapter: AsyncStoreItemAdapter = {\n addRequest: (item, requestId) => {\n return {\n ...item,\n requestIds: [...item.requestIds, requestId],\n isFailure: item.requestIds.length === 0 ? false : item.isFailure,\n isPending: true\n };\n },\n\n failRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n isFailure: true,\n isPending: requestIds.length > 0,\n requestIds\n };\n },\n\n resolveRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n requestIds,\n isPending: requestIds.length > 0\n };\n },\n\n initialize: (entityItem) => {\n return {\n ...entityItem,\n requestIds: []\n };\n },\n\n extractAsyncStoreItem: (entityItem) => {\n return {\n requestIds: [...entityItem.requestIds],\n isFailure: entityItem.isFailure,\n isPending: entityItem.isPending\n };\n },\n\n clearAsyncStoreItem: <T extends AsyncStoreItem>(entityItem: T) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { isPending, isFailure, ...newResponse } : T = { ...entityItem, requestIds: [] };\n return newResponse as T;\n },\n\n merge: (...items) => {\n return items.reduce<AsyncStoreItem>((mergedItem, item) => item ? {\n requestIds: [...mergedItem.requestIds, ...item.requestIds],\n isFailure: mergedItem.isFailure || item.isFailure,\n isPending: mergedItem.isPending || item.isPending\n } : mergedItem, asyncStoreItemAdapter.initialize({}));\n },\n\n entityStatusAddRequest: (status, subResource, requestId) => {\n const currentSubStatus: AsyncStoreItem = status[subResource] || asyncStoreItemAdapter.initialize({});\n return {\n ...status,\n [subResource]: asyncStoreItemAdapter.addRequest(currentSubStatus, requestId)\n };\n },\n\n entityStatusResolveRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resolveRequest(currentSubStatus, requestId) : {requestIds: []}\n };\n },\n\n entityStatusFailRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.failRequest(currentSubStatus, requestId) : {requestIds: [], isFailure: true}\n };\n },\n\n entityStatusResetFailure: (status, subResource) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resetFailureStatus(currentSubStatus) : {requestIds: []}\n };\n },\n\n resetFailureStatus: (entityItem) => {\n return {\n ...entityItem,\n isFailure: false\n };\n },\n\n setLoadingStatus: (entityItem) => {\n return {\n ...entityItem,\n isPending: true\n };\n }\n};\n","import type {EntityAdapter, EntityState, Update} from '@ngrx/entity';\nimport {asyncStoreItemAdapter} from './async.adapter';\nimport {AsyncStoreItem, EntityWithoutAsyncStoreItem} from './async.interfaces';\n\n/** Adapter for Asynchronous Entity Store */\nexport interface EntityAsyncRequestAdapter<T extends AsyncStoreItem> extends EntityAdapter<T> {\n\n /**\n * Updates the AsyncStoreItem properties of each entity matching an id from the list of given ids, when a request has failed.\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which has failed\n */\n failRequestMany<V extends EntityState<T> & AsyncStoreItem>(state: V, ids?: (string | number)[], requestId?: string): V;\n\n /**\n * Adds AsyncStoreItem property to the global store, or the entity if it already exists, when a request is triggered.\n * @param state Actual state\n * @param id Id of the entity to update\n * @param requestId Id of the request which is triggered\n */\n addRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string): V;\n\n /**\n * Adds AsyncStoreItem properties for each entity matching the given ids, when a request is triggered\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which is triggered\n */\n addRequestMany<V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<'id', string | number>, requestId?: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem, W extends keyof T>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestMany<V extends EntityState<T>>(state: V, entities: (Partial<T> & Record<'id', string | number>)[], requestId?: string): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestMany<V extends EntityState<T>, W extends keyof T>(state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W): V;\n}\n\n/**\n * Create an Asynchronous Request Entity Adapter\n * @param adapter Entity Adapter\n */\nexport function createEntityAsyncRequestAdapter<T extends AsyncStoreItem>(adapter: EntityAdapter<T>): EntityAsyncRequestAdapter<T> {\n\n const addRequestOne: <V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string) => V = (state, id, requestId) => {\n const currentEntity = typeof id !== 'undefined' && id !== null && state.entities[id];\n if (currentEntity) {\n const changes = asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity), requestId);\n return adapter.updateOne({id, changes} as Update<T>, state);\n }\n return asyncStoreItemAdapter.addRequest(state, requestId);\n };\n\n const addRequestMany: <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string) => V =\n <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V =>\n adapter.updateMany(ids.filter((id) => !!state.entities[id]).map((id) => ({\n id,\n changes: asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n\n const resolveRequestOne: <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id' = 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W) => V =\n <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty: W = 'id' as W): V => {\n let newEntity;\n const currentEntity = state.entities[entity[idProperty]];\n if (currentEntity) {\n newEntity = asyncStoreItemAdapter.resolveRequest({...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity)}, requestId);\n } else {\n newEntity = asyncStoreItemAdapter.initialize(entity);\n state = asyncStoreItemAdapter.resolveRequest(state, requestId);\n }\n return adapter.upsertOne(newEntity as T, state);\n };\n\n const resolveRequestMany: <V extends EntityState<T>, W extends keyof T | 'id' = 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W) => V =\n <V extends EntityState<T>, W extends keyof T | 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty: W = 'id' as W): V =>\n adapter.updateMany(\n entities.filter((entity) => !!state.entities[entity[idProperty]]).map((entity) => {\n const model = {...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[entity[idProperty]]!)};\n return {id: entity[idProperty], changes: asyncStoreItemAdapter.resolveRequest(model, requestId)} as Update<T>;\n }\n ), state);\n\n const failRequestMany: <V extends EntityState<T> & AsyncStoreItem>(state: V, ids?: (string | number)[], requestId?: string) => V =\n <V extends EntityState<T> & AsyncStoreItem>(state: V, ids: (string | number)[] = [], requestId?: string): V => {\n if (ids.length && !ids.some((id) => state.entities[id] === undefined)) {\n return adapter.updateMany(ids.map((id) => ({\n id,\n changes: asyncStoreItemAdapter.failRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n }\n return asyncStoreItemAdapter.failRequest(state, requestId);\n };\n\n return {\n ...adapter,\n failRequestMany,\n addRequestOne,\n addRequestMany,\n resolveRequestOne,\n resolveRequestMany\n };\n}\n","import {AsyncRequest} from './async.interfaces';\nimport {v4} from 'uuid';\nimport {isAsyncRequest} from './async.helpers';\n\n/**\n * Returns a creator that makes sure that requestId is defined in the action's properties by generating one\n * if needed.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const asyncProps = <P extends object>(): (props: P) => P & AsyncRequest => {\n return (props: P) => isAsyncRequest(props) ? props : {...props, requestId: v4()};\n};\n","import { Action } from '@ngrx/store';\nimport { BehaviorSubject, EMPTY, from, identity, isObservable, merge, Observable, of, OperatorFunction, Subject } from 'rxjs';\nimport { catchError, delay, filter, finalize, pairwise, startWith, switchMap, tap } from 'rxjs/operators';\nimport { isIdentifiedCallAction } from './async.helpers';\nimport { AsyncRequest, ExtractFromApiActionPayloadType, FromApiActionPayload } from './async.interfaces';\n\n/**\n * Determine if the given parameter is a Promise\n * @param object\n */\nconst isPromise = <U>(object: U | Promise<U>): object is Promise<U> => object && typeof object === 'object' && typeof (object as any).then !== 'undefined';\n\n/**\n * Custom operator to use instead of SwitchMap with effects based on FromApi actions.\n * It makes sure to emit an action when the inner subscription is unsubscribed in order to keep the store up-to-date with pending information.\n * @param successHandler function that returns the action to emit in case the FromApi call is a success\n * @param errorHandler function that returns the action to emit in case the FromApi call fails\n * @param cancelRequestActionFactory function that returns the action to emit in case the FromApi action is 'cancelled' because a new action was received by the switchMap\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function fromApiEffectSwitchMap<T extends FromApiActionPayload<any>, S extends ExtractFromApiActionPayloadType<T>, U extends Action, V extends Action, W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W): OperatorFunction<T, U | V | W> {\n\n const pendingRequestIdsContext: Record<string, boolean> = {};\n\n return (source$) => source$.pipe(\n tap((action) => {\n if (isIdentifiedCallAction(action)) {\n pendingRequestIdsContext[action.requestId] = true;\n }\n }),\n startWith(undefined),\n pairwise(),\n switchMap(([previousAction, action]) => {\n if (!action) {\n return EMPTY;\n }\n const isPreviousActionStillRunning = isIdentifiedCallAction(previousAction) && pendingRequestIdsContext[previousAction.requestId];\n const cleanStack = () => {\n if (isIdentifiedCallAction(action)) {\n delete pendingRequestIdsContext[action.requestId];\n }\n };\n return from(action.call).pipe(\n tap(cleanStack),\n switchMap((result) => {\n const success = successHandler(result, action);\n return isObservable(success) ? success : (isPromise(success) ? success : of(success));\n }),\n catchError((error) => {\n cleanStack();\n return errorHandler?.(error, action) || EMPTY;\n }),\n isPreviousActionStillRunning && cancelRequestActionFactory ? startWith(cancelRequestActionFactory({requestId: previousAction.requestId}, action)) : identity\n );\n })\n );\n}\n\n/**\n * @param successHandler\n * @param errorHandler\n * @param cancelRequestActionFactory\n * @param cleanUpTimer\n */\nexport function fromApiEffectSwitchMapById<T extends FromApiActionPayload<any> & { id: string },\n S extends ExtractFromApiActionPayloadType<T>,\n U extends Action,\n V extends Action,\n W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W,\n cleanUpTimer?: number\n): OperatorFunction<T, U | V | W> {\n const innerSourcesById: Record<string, [Subject<any>, Observable<any>]> = {};\n return (source$: Observable<T>) => {\n return source$.pipe(\n filter((action: T) => {\n if (!isIdentifiedCallAction(action) || !action.id) {\n return false;\n }\n if (isIdentifiedCallAction(action) && innerSourcesById[action.id]) {\n innerSourcesById[action.id][0].next(action);\n return false;\n }\n return true;\n }),\n switchMap((action: T) => {\n const newIdSubject = new BehaviorSubject(action);\n const newId$ = newIdSubject.pipe(\n fromApiEffectSwitchMap(\n successHandler,\n errorHandler,\n cancelRequestActionFactory\n )\n );\n innerSourcesById[action.id] = [newIdSubject, newId$];\n if (cleanUpTimer !== undefined) {\n newIdSubject.pipe(\n switchMap((myAction) => from(myAction.call).pipe(\n delay(cleanUpTimer),\n finalize(() => {\n delete innerSourcesById[myAction.id];\n newIdSubject.complete();\n })\n ))\n ).subscribe();\n }\n const streams = Object.values(innerSourcesById).map(([_, obs]) => obs);\n return merge(...streams);\n })\n );\n };\n}\n","import type { EntityState } from '@ngrx/entity';\nimport { asyncStoreItemAdapter } from './async.adapter';\nimport { AsyncStoreItem, EntityStatus } from './async.interfaces';\n\n/**\n * Serializer for asynchronous store.\n * @param state State of an asynchronous store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncSerializer<T extends AsyncStoreItem>(state: T) {\n return asyncStoreItemAdapter.clearAsyncStoreItem(state);\n}\n\n/**\n * Serializer for asynchronous entity store.\n * @param state State of an asynchronous entity store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntitySerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!);\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n\n/**\n * Serializer for asynchronous entity store with status.\n * @param state State of an asynchronous entity store with status to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntityWithStatusSerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem & { status: EntityStatus<T['entities']['status']> }>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = { ...asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!), status: {} };\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n","/**\n * Object that define how to serialize a specific state\n */\nexport interface Serializer<T> {\n serialize?: (obj: T) => any;\n deserialize?: (data?: any) => T;\n reviver?: (key: string, value: any) => any;\n replacer?: (key: string, value: any) => any;\n initialState?: T;\n}\n\nexport class StateSerializer<T> implements Serializer<T> {\n public serialize?: (obj: T) => any;\n public deserialize?: (data?: any) => T;\n public replacer?: (key: string, value: any) => any;\n public initialState?: T;\n\n constructor(serializer: Serializer<T>) {\n this.serialize = serializer.serialize || this.serialize;\n this.deserialize = serializer.deserialize || this.deserialize;\n this.reviver = serializer.reviver || this.reviver;\n this.replacer = serializer.replacer || this.replacer;\n this.initialState = serializer.initialState || this.initialState;\n }\n\n public reviver = (_: string, value: any): any => value;\n}\n\nexport interface LocalStateModel {\n /**\n * Temporary ID of the model in the dictionary\n */\n tid: string;\n}\n\n/**\n * Adds an `id` to the given type\n */\nexport type Idfy<T> = T & {id: string | number};\n\n/**\n * Payload to update actions\n */\nexport interface UpdateActionPayload<T> {\n stateDetails: Partial<T>;\n}\n\n/**\n * Payload to set actions\n */\nexport interface SetActionPayload<T> {\n stateDetails: T;\n}\n\n/**\n * Payload to set state actions\n */\nexport interface SetStateActionPayload<T> {\n state: T;\n}\n/**\n * Payload to fail actions\n */\nexport interface FailActionPayload<T> {\n error?: T;\n}\n\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type keep<T, K extends keyof T> = (Partial<T> & { [p in K]: T[p] });\n\n/** Payload to update entities actions */\nexport interface UpdateEntitiesActionPayload<T, K extends keyof T> {\n entities: keep<T, K>[];\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntitiesActionPayloadWithId<T extends {id: string | number}> {\n entities: keep<T, 'id'>[];\n}\n\n/** Payload to update entities actions */\nexport interface UpdateEntityActionPayload<T, K extends keyof T> {\n entity: keep<T, K>;\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntityActionPayloadWithId<T extends {id: string | number}> {\n entity: keep<T, 'id'>;\n}\n\n/** Payload to set entities and upsert entities actions */\nexport interface SetEntitiesActionPayload<T> {\n entities: T[];\n}\n\n/** Payload to set entity and upsert entity actions */\nexport interface SetEntityActionPayload<T> {\n entity: T;\n}\n\n/** Payload to fail entities actions */\nexport interface FailEntitiesActionPayload<T> extends FailActionPayload<T> {\n ids?: (string | number)[];\n}\n\n/**\n * Payload to clear the store in case of failure\n */\nexport interface ClearOnFailurePayload {\n /** Clear store on failure */\n clearOnFailure?: boolean;\n}\n","import type { BootstrapConfig, Dataset } from '../../core/application/dgp.interfaces';\n\n/**\n * Pad number\n * @param val\n * @param digits\n */\nexport function padNumber(val: number, digits = 2): string {\n const str = `${val}`;\n return '0'.repeat(Math.max(0, digits - str.length)) + str;\n}\n\n\n/**\n * Returns TRUE if bootstrap config environment is production FALSE otherwise\n * @param dataset\n * @returns TRUE if bootstrap config environment is production FALSE otherwise\n */\nexport function isProductionEnvironment(dataset: Dataset): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const bootstrapConfig: BootstrapConfig = dataset.bootstrapconfig && JSON.parse(dataset.bootstrapconfig);\n return bootstrapConfig?.environment === 'prod';\n}\n","/** Reviver Mapper to detect and create object on deepFill */\nexport interface PrimitiveReviverMapper<T = any> {\n /** Condition to fill to be determine as */\n condition: (data: any) => boolean;\n\n /**\n * Construct the primitive type if needed\n * @param data to be constructed\n * @default {@see defaultConstruct}\n */\n construct?: (data: any) => T;\n}\n\nconst defaultConstruct = (data: any) => data;\n\nconst isDate = (data: any) => data instanceof Date && !isNaN(data as any);\n\n/**\n * Check if an object is not an array or a date\n * @param obj\n * @param additionalMappers\n */\nexport function isObject(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n return obj instanceof Object && !Array.isArray(obj) && !additionalMappers?.some((mapper) => mapper.condition(obj)) && !isDate(obj);\n}\n\n/**\n * Return a new reference of the given object\n * @param obj\n * @param additionalMappers\n */\nexport function immutablePrimitive(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n if (Array.isArray(obj)) {\n return obj.slice();\n }\n\n const matchingPrimitive = additionalMappers?.find((mapper) => mapper.condition(obj));\n const resolvedType = matchingPrimitive && ((matchingPrimitive.construct || defaultConstruct)(obj));\n if (resolvedType !== undefined) {\n return resolvedType;\n }\n if (isDate(obj)) {\n return new Date(obj);\n } else if (obj instanceof Object) {\n // eslint-disable-next-line no-use-before-define\n return deepFill(obj, obj, additionalMappers);\n } else {\n return obj;\n }\n}\n\n/**\n * Deep fill of base object using source\n * It will do a deep merge of the objects, overriding arrays\n * All properties not present in source, but present in base, will remain\n * @param base\n * @param source\n * @param additionalMappers Map of conditions of type mapper\n */\nexport function deepFill<T extends { [x: string]: any }>(base: T, source?: { [x: string]: any }, additionalMappers?: PrimitiveReviverMapper[]): T {\n if (typeof source === 'undefined') {\n return deepFill(base, base, additionalMappers);\n }\n if (!isObject(base, additionalMappers)) {\n return immutablePrimitive(typeof source !== 'undefined' ? source : base, additionalMappers);\n }\n const newObj = {...base};\n for (const key in base) {\n if (key in source && typeof base[key] === typeof source[key]) {\n const keyOfSource = source[key];\n newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key], additionalMappers) : deepFill(base[key], source[key], additionalMappers);\n } else {\n newObj[key] = immutablePrimitive(base[key], additionalMappers);\n }\n }\n\n // getting keys present in source and not present in base\n for (const key in source) {\n if (!(key in newObj)) {\n newObj[key as keyof T] = immutablePrimitive(source[key], additionalMappers);\n }\n }\n return newObj;\n}\n","import { animationFrameScheduler, from, Observable, observeOn, of } from 'rxjs';\nimport {\n bufferCount,\n concatMap,\n delay,\n mergeMap,\n scan,\n tap\n} from 'rxjs/operators';\n\n/**\n * Buffers and emits data for lazy/progressive rendering of big lists\n * That could solve issues with long-running tasks when trying to render an array\n * of similar components.\n * @param delayMs Delay between data emits\n * @param concurrency Amount of elements that should be emitted at once\n * @returns\n */\nexport function lazyArray<T>(delayMs = 0, concurrency = 2) {\n let isFirstEmission = true;\n return (source$: Observable<T[]>) => {\n return source$.pipe(\n mergeMap((items) => {\n if (!isFirstEmission) {\n return of(items);\n }\n\n const items$ = from(items);\n\n return items$.pipe(\n bufferCount(concurrency),\n concatMap((value, index) => {\n return of(value).pipe(\n observeOn(animationFrameScheduler),\n delay(index * delayMs)\n );\n }),\n scan((acc: T[], steps: T[]) => {\n return [...acc, ...steps];\n }, []),\n tap((scannedItems: T[]) => {\n const scanDidComplete = scannedItems.length === items.length;\n\n if (scanDidComplete) {\n isFirstEmission = false;\n }\n })\n );\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["filter"],"mappings":"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"}
1
+ {"version":3,"file":"o3r-core.mjs","sources":["../../src/core/application/build-properties.ts","../../src/core/metadata/component.decorator.ts","../../src/core/metadata/component.identifier.ts","../../src/messages/message.interfaces.ts","../../src/messages/message.helpers.ts","../../src/store/async/async.adapter.ts","../../src/store/async/async-entity.adapter.ts","../../src/store/async/async.helpers.ts","../../src/store/async/async.operators.ts","../../src/store/async/async.props.ts","../../src/store/async/async.serializer.ts","../../src/store/types.ts","../../src/utils/debug/debug.helper.ts","../../src/utils/deep-fill/deep-fill.ts","../../src/utils/rendering/rendering.helpers.ts","../../src/o3r-core.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention -- exception for `BuildTimeProperties` */\n\n/**\n * Library build time properties\n */\nexport interface BuildTimeProperties {\n /**\n * True if the application in launch in debug mode\n */\n DEBUG_MODE: boolean;\n\n /**\n * True if the webStorage option is enabled\n */\n ENABLE_WEBSTORAGE: boolean;\n\n /**\n * Name of the current environment\n */\n ENVIRONMENT: string;\n\n /**\n * Boolean that can be used to activate API calls mocks for development or mock-up purpose.\n */\n USE_MOCKS: boolean;\n\n /**\n * Maximum size of the dev tool history\n */\n DEVTOOL_HISTORY_SIZE: number | undefined;\n\n /**\n * path to bundles in published folder\n */\n LOCALIZATION_BUNDLES_OUTPUT: string;\n\n /**\n * The name of the bundle generated with the default localization components keys\n */\n DEFAULT_LOC_BUNDLE_NAME: string;\n\n /**\n * Indicates the default server prefix to be used in case no dynamic is found\n */\n APP_BASE_HREF: string | undefined;\n\n /**\n * Version of the App based on the package.json\n */\n APP_VERSION: string;\n\n /**\n * Determine if the ghosting is activated on the app\n */\n ENABLE_GHOSTING: boolean;\n}\n\n/**\n * Library build time default properties\n */\nexport const DEFAULT_BUILD_PROPERTIES: Readonly<BuildTimeProperties> = {\n DEBUG_MODE: true,\n APP_BASE_HREF: '.',\n APP_VERSION: '0.0.0',\n DEFAULT_LOC_BUNDLE_NAME: '',\n DEVTOOL_HISTORY_SIZE: 20,\n ENABLE_GHOSTING: false,\n ENABLE_WEBSTORAGE: true,\n ENVIRONMENT: 'dev',\n LOCALIZATION_BUNDLES_OUTPUT: 'localizations/',\n USE_MOCKS: false\n} as const;\n","import type {\n Translation,\n} from '../interfaces';\n\n/** Type of component */\nexport type ComponentType = 'Block' | 'Page' | 'ExposedComponent' | 'Component';\n\n/**\n * Information about an Otter component to provide\n */\nexport interface OtterComponentInfoToProvide {\n /** Type of component */\n componentType: ComponentType;\n}\n\n/**\n * Information about an Otter component\n */\nexport interface OtterComponentInfo extends OtterComponentInfoToProvide {\n /** Configuration ID */\n configId?: string;\n /** Translation keys */\n translations?: Translation;\n /** Component Name */\n componentName: string;\n}\n\n/**\n * Private field where Otter component information are stored\n */\nexport const otterComponentInfoPropertyName = '__otter-info__';\n\n/**\n * Decorates an Angular component to provide Otter information\n * @param info Information to define the Otter component\n * @returns the component with the information\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- decorator should be PascalCase\nexport function O3rComponent(info: OtterComponentInfoToProvide) {\n return <T extends new (...args: any[]) => object>(constructor: T) => {\n const componentName = constructor.name;\n constructor.prototype[otterComponentInfoPropertyName] = { ...info, componentName };\n return constructor;\n };\n}\n","/**\n * Compute the name of the component with the library's name to generate unique component identifier used in metadata and different modules\n * @param componentName Name of the component to get the configuration\n * @param libraryName Name of the library the component is coming from\n */\nexport function computeItemIdentifier(componentName: string, libraryName?: string) {\n return (libraryName ? libraryName + '#' : '') + componentName;\n}\n","/** Type of a message exchanged within the Otter Framework */\nexport const otterMessageType = 'otter';\n\n/** Target of a message that should be handled by the application */\nexport const applicationMessageTarget = 'app';\n\nexport interface OtterMessageContent<DataType extends string = string> {\n /** Type of data */\n dataType: DataType;\n}\n\nexport interface OtterMessage<Content extends OtterMessageContent = OtterMessageContent, Target extends string | undefined = undefined | string> {\n /** Type of the message */\n type: typeof otterMessageType;\n\n /** Version of the message (default to the @o3r/core version ) */\n version?: string;\n\n /** Target of the message */\n to: Target;\n\n /** Message content */\n content: Content;\n}\n\n/** Type helper to retrieve the data types of a union of MessageContent */\nexport type MessageDataTypes<T extends OtterMessageContent> = T['dataType'];\n\n/** Type helper to filter the message that can be received by the application */\nexport type FilterMessageToApplication<T extends OtterMessage> = T extends { to: infer U } ? U extends (typeof applicationMessageTarget | undefined) ? T : never : never;\n\nexport type ContentMessageData<T extends OtterMessageContent> = T extends any\n ? Omit<T, 'dataType'>\n : never;\n","import {\n filter,\n map,\n Observable,\n} from 'rxjs';\nimport {\n applicationMessageTarget,\n ContentMessageData,\n FilterMessageToApplication,\n OtterMessage,\n OtterMessageContent,\n otterMessageType,\n} from './message.interfaces';\n\n/**\n * Determine if a message should be handle by the application\n * @param message Message to analyze\n */\nexport const isToAppOtterMessage = <T extends OtterMessage>(message?: T): message is FilterMessageToApplication<T & { to: 'app' }> => {\n return message?.to === applicationMessageTarget;\n};\n\n/**\n * Determine if a message is emitted by an Otter tool\n * @param message Message to analyze\n */\nexport const isOtterMessage = <T extends OtterMessageContent>(message: any): message is OtterMessage<T> => {\n return message?.type === otterMessageType;\n};\n\n/**\n * Send an Otter Message\n * @param dataType Type of the message\n * @param content content of the message\n * @param preStringify determine if the message should JSON.stringify before being send (will use the default mechanism otherwise)\n */\nexport const sendOtterMessage = <T extends OtterMessageContent>(dataType: T['dataType'], content: ContentMessageData<T>, preStringify = true) => {\n const message = {\n type: otterMessageType,\n content: {\n ...content,\n dataType\n }\n };\n return window.postMessage(preStringify ? JSON.stringify(message) : message, '*');\n};\n\nexport function filterMessageContent<T extends Event | MessageEvent>(): (source$: Observable<T>) => Observable<OtterMessageContent<string>>;\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate: (message: any) => message is S): (source$: Observable<T>) => Observable<S>;\n/**\n * Filter the Otter message that should be handle by the application and returns it content\n * @param predicate condition to filter the message\n * @returns content of the message\n */\n\n/**\n * Operator to get only Otter messages that match the predicate\n * @param predicate\n */\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate?: (message: any) => message is S):\n(source$: Observable<T>) => Observable<OtterMessageContent<string> | S> {\n return (source$: Observable<T>) => {\n const obs = source$.pipe(\n map((event) => {\n const data = (event as MessageEvent).data;\n return typeof data === 'string' ? JSON.parse(data) : data;\n }),\n filter(isOtterMessage),\n filter(isToAppOtterMessage),\n map((message) => message.content)\n );\n if (predicate) {\n return obs.pipe(filter(predicate));\n }\n return obs;\n };\n}\n","import {\n AsyncStoreItem,\n EntityStatus,\n} from './async.interfaces';\n\n/**\n * Adapter to help manipulate AsyncStoreItems to register new request and update the status when they fail or resolve.\n */\nexport interface AsyncStoreItemAdapter {\n /**\n * Adds a request to an AsyncStoreItem.\n * If the item had a failure and no ongoing requests, sets it's failure status back to false\n * @param item\n * @param requestId\n */\n addRequest<T extends AsyncStoreItem>(item: T, requestId: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has resolved.\n * Removes it from its requestIds array.\n * If no requestId provided, the method returns the current status of the AsyncStoreItem\n * @param item\n * @param requestId\n */\n resolveRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has failed.\n * Removes it from its requestIds array and set its failure status.\n * @param item\n * @param requestId\n */\n failRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Add AsyncStoreItem properties (with initial values) to the given entity\n * @param entityItem\n * @returns Given item improved with AsyncStoreItem properties\n */\n initialize<T extends object>(entityItem: T): T & AsyncStoreItem;\n\n /**\n * Extract only AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n * @returns Object containing only AsyncStoreItem properties\n */\n extractAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): AsyncStoreItem;\n\n /**\n * Clear AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n */\n clearAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Merges an AsyncStoreItem collection into one item that gives an overall status.\n * @param items\n */\n merge(...items: (AsyncStoreItem | undefined)[]): AsyncStoreItem;\n\n /**\n * Add a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusAddRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId: string): T;\n\n /**\n * Resolve a request on the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusResolveRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Fail a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusFailRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Reset the failure status of the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n */\n entityStatusResetFailure<T extends EntityStatus<T>>(status: T, subResource: keyof T): T;\n\n /**\n * Reset the failure status of the given AsyncStoreItem to false\n * @param entityItem\n * @returns AsyncStoreItem with the updated failure status\n */\n resetFailureStatus<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Set the pending status of the given AsyncStoreItem to true\n * @param entityItem\n * @returns AsyncStoreItem with the updated pending status\n */\n setLoadingStatus<T extends AsyncStoreItem>(entityItem: T): T;\n}\n\nexport const asyncStoreItemAdapter: AsyncStoreItemAdapter = {\n addRequest: (item, requestId) => {\n return {\n ...item,\n requestIds: [...item.requestIds, requestId],\n isFailure: item.requestIds.length === 0 ? false : item.isFailure,\n isPending: true\n };\n },\n\n failRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n isFailure: true,\n isPending: requestIds.length > 0,\n requestIds\n };\n },\n\n resolveRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n requestIds,\n isPending: requestIds.length > 0\n };\n },\n\n initialize: (entityItem) => {\n return {\n ...entityItem,\n requestIds: []\n };\n },\n\n extractAsyncStoreItem: (entityItem) => {\n return {\n requestIds: [...entityItem.requestIds],\n isFailure: entityItem.isFailure,\n isPending: entityItem.isPending\n };\n },\n\n clearAsyncStoreItem: <T extends AsyncStoreItem>(entityItem: T) => {\n const { isPending, isFailure, ...newResponse }: T = { ...entityItem, requestIds: [] };\n return newResponse as T;\n },\n\n merge: (...items) => {\n return items.reduce<AsyncStoreItem>((mergedItem, item) => item\n ? {\n requestIds: [...mergedItem.requestIds, ...item.requestIds],\n isFailure: mergedItem.isFailure || item.isFailure,\n isPending: mergedItem.isPending || item.isPending\n }\n : mergedItem, asyncStoreItemAdapter.initialize({}));\n },\n\n entityStatusAddRequest: (status, subResource, requestId) => {\n const currentSubStatus: AsyncStoreItem = status[subResource] || asyncStoreItemAdapter.initialize({});\n return {\n ...status,\n [subResource]: asyncStoreItemAdapter.addRequest(currentSubStatus, requestId)\n };\n },\n\n entityStatusResolveRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resolveRequest(currentSubStatus, requestId) : { requestIds: [] }\n };\n },\n\n entityStatusFailRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.failRequest(currentSubStatus, requestId) : { requestIds: [], isFailure: true }\n };\n },\n\n entityStatusResetFailure: (status, subResource) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resetFailureStatus(currentSubStatus) : { requestIds: [] }\n };\n },\n\n resetFailureStatus: (entityItem) => {\n return {\n ...entityItem,\n isFailure: false\n };\n },\n\n setLoadingStatus: (entityItem) => {\n return {\n ...entityItem,\n isPending: true\n };\n }\n};\n","import type {\n EntityAdapter,\n EntityState,\n Update,\n} from '@ngrx/entity';\nimport {\n asyncStoreItemAdapter,\n} from './async.adapter';\nimport {\n AsyncStoreItem,\n EntityWithoutAsyncStoreItem,\n} from './async.interfaces';\n\n/** Adapter for Asynchronous Entity Store */\nexport interface EntityAsyncRequestAdapter<T extends AsyncStoreItem> extends EntityAdapter<T> {\n\n /**\n * Updates the AsyncStoreItem properties of each entity matching an id from the list of given ids, when a request has failed.\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which has failed\n */\n failRequestMany<V extends EntityState<T> & AsyncStoreItem>(state: V, ids?: (string | number)[], requestId?: string): V;\n\n /**\n * Adds AsyncStoreItem property to the global store, or the entity if it already exists, when a request is triggered.\n * @param state Actual state\n * @param id Id of the entity to update\n * @param requestId Id of the request which is triggered\n */\n addRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string): V;\n\n /**\n * Adds AsyncStoreItem properties for each entity matching the given ids, when a request is triggered\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which is triggered\n */\n addRequestMany<V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<'id', string | number>, requestId?: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem, W extends keyof T>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestMany<V extends EntityState<T>>(state: V, entities: (Partial<T> & Record<'id', string | number>)[], requestId?: string): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestMany<V extends EntityState<T>, W extends keyof T>(state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W): V;\n}\n\n/**\n * Create an Asynchronous Request Entity Adapter\n * @param adapter Entity Adapter\n */\nexport function createEntityAsyncRequestAdapter<T extends AsyncStoreItem>(adapter: EntityAdapter<T>): EntityAsyncRequestAdapter<T> {\n const addRequestOne: <V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string) => V = (state, id, requestId) => {\n const currentEntity = typeof id !== 'undefined' && id !== null && state.entities[id];\n if (currentEntity) {\n const changes = asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity), requestId);\n return adapter.updateOne({ id, changes } as Update<T>, state);\n }\n return asyncStoreItemAdapter.addRequest(state, requestId);\n };\n\n const addRequestMany: <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string) => V = <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V =>\n adapter.updateMany(ids.filter((id) => !!state.entities[id]).map((id) => ({\n id,\n changes: asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n\n const resolveRequestOne: <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id' = 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W) => V = <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty: W = 'id' as W): V => {\n let newEntity;\n const currentEntity = state.entities[entity[idProperty]];\n if (currentEntity) {\n newEntity = asyncStoreItemAdapter.resolveRequest({ ...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity) }, requestId);\n } else {\n newEntity = asyncStoreItemAdapter.initialize(entity);\n state = asyncStoreItemAdapter.resolveRequest(state, requestId);\n }\n return adapter.upsertOne(newEntity as T, state);\n };\n\n const resolveRequestMany: <V extends EntityState<T>, W extends keyof T | 'id' = 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W) => V = <V extends EntityState<T>, W extends keyof T | 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty: W = 'id' as W): V =>\n adapter.updateMany(\n entities.filter((entity) => !!state.entities[entity[idProperty]]).map((entity) => {\n const model = { ...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[entity[idProperty]]!) };\n return { id: entity[idProperty], changes: asyncStoreItemAdapter.resolveRequest(model, requestId) } as Update<T>;\n }\n ), state);\n\n const failRequestMany: <V extends EntityState<T> & AsyncStoreItem>\n (state: V, ids?: (string | number)[], requestId?: string) => V = <V extends EntityState<T> & AsyncStoreItem>\n (state: V, ids: (string | number)[] = [], requestId?: string): V => {\n if (ids.length > 0 && !ids.some((id) => state.entities[id] === undefined)) {\n return adapter.updateMany(ids.map((id) => ({\n id,\n changes: asyncStoreItemAdapter.failRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n }\n return asyncStoreItemAdapter.failRequest(state, requestId);\n };\n\n return {\n ...adapter,\n failRequestMany,\n addRequestOne,\n addRequestMany,\n resolveRequestOne,\n resolveRequestMany\n };\n}\n","import {\n AsyncRequest,\n FromApiActionPayload,\n} from './async.interfaces';\n\n/**\n * Determine if the action is an AsyncRequest action\n * @param action Redux Action\n */\nexport function isCallAction<T = any>(action?: any): action is FromApiActionPayload<T> {\n if (!action) {\n return false;\n }\n\n return !!action.call && action.call instanceof Promise;\n}\n\n/**\n * Determine if the action is an AsyncRequest action with a Request ID\n * @param action Redux Action\n */\nexport function isIdentifiedCallAction<T = any>(action?: any): action is FromApiActionPayload<T> & AsyncRequest {\n return isCallAction(action) && typeof action.requestId !== 'undefined';\n}\n\n/**\n * Determine if the given item implements the AsyncRequest interface\n * @param item\n */\nexport function isAsyncRequest<T>(item: any): item is T & AsyncRequest {\n return typeof item.requestId !== 'undefined';\n}\n","import {\n Action,\n} from '@ngrx/store';\nimport {\n BehaviorSubject,\n EMPTY,\n from,\n identity,\n isObservable,\n merge,\n Observable,\n of,\n OperatorFunction,\n Subject,\n} from 'rxjs';\nimport {\n catchError,\n delay,\n filter,\n finalize,\n pairwise,\n startWith,\n switchMap,\n tap,\n} from 'rxjs/operators';\nimport {\n isIdentifiedCallAction,\n} from './async.helpers';\nimport {\n AsyncRequest,\n ExtractFromApiActionPayloadType,\n FromApiActionPayload,\n} from './async.interfaces';\n\n/**\n * Determine if the given parameter is a Promise\n * @param object\n */\nconst isPromise = <U>(object: U | Promise<U>): object is Promise<U> => object && typeof object === 'object' && typeof (object as any).then !== 'undefined';\n\n/**\n * Custom operator to use instead of SwitchMap with effects based on FromApi actions.\n * It makes sure to emit an action when the inner subscription is unsubscribed in order to keep the store up-to-date with pending information.\n * @param successHandler function that returns the action to emit in case the FromApi call is a success\n * @param errorHandler function that returns the action to emit in case the FromApi call fails\n * @param cancelRequestActionFactory function that returns the action to emit in case the FromApi action is 'cancelled' because a new action was received by the switchMap\n */\nexport function fromApiEffectSwitchMap<T extends FromApiActionPayload<any>, S extends ExtractFromApiActionPayloadType<T>, U extends Action, V extends Action, W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W): OperatorFunction<T, U | V | W> {\n const pendingRequestIdsContext: Record<string, boolean> = {};\n\n return (source$) => source$.pipe(\n tap((action) => {\n if (isIdentifiedCallAction(action)) {\n pendingRequestIdsContext[action.requestId] = true;\n }\n }),\n startWith(undefined),\n pairwise(),\n switchMap(([previousAction, action]) => {\n if (!action) {\n return EMPTY;\n }\n const isPreviousActionStillRunning = isIdentifiedCallAction(previousAction) && pendingRequestIdsContext[previousAction.requestId];\n const cleanStack = () => {\n if (isIdentifiedCallAction(action)) {\n delete pendingRequestIdsContext[action.requestId];\n }\n };\n return from(action.call).pipe(\n tap(cleanStack),\n switchMap((result) => {\n const success = successHandler(result, action);\n return isObservable(success) ? success : (isPromise(success) ? success : of(success));\n }),\n catchError((error) => {\n cleanStack();\n return errorHandler?.(error, action) || EMPTY;\n }),\n isPreviousActionStillRunning && cancelRequestActionFactory ? startWith(cancelRequestActionFactory({ requestId: previousAction.requestId }, action)) : identity\n );\n })\n );\n}\n\n/**\n * Same as {@link fromApiEffectSwitchMap}, instead one inner subscription is kept by id.\n * @param successHandler\n * @param errorHandler\n * @param cancelRequestActionFactory\n * @param cleanUpTimer\n */\nexport function fromApiEffectSwitchMapById<T extends FromApiActionPayload<any> & { id: string },\n S extends ExtractFromApiActionPayloadType<T>,\n U extends Action,\n V extends Action,\n W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W,\n cleanUpTimer?: number\n): OperatorFunction<T, U | V | W> {\n const innerSourcesById: Record<string, [Subject<any>, Observable<any>]> = {};\n return (source$: Observable<T>) => {\n return source$.pipe(\n filter((action: T) => {\n if (!isIdentifiedCallAction(action) || !action.id) {\n return false;\n }\n if (isIdentifiedCallAction(action) && innerSourcesById[action.id]) {\n innerSourcesById[action.id][0].next(action);\n return false;\n }\n return true;\n }),\n switchMap((action: T) => {\n const newIdSubject = new BehaviorSubject(action);\n const newId$ = newIdSubject.pipe(\n fromApiEffectSwitchMap(\n successHandler,\n errorHandler,\n cancelRequestActionFactory\n )\n );\n innerSourcesById[action.id] = [newIdSubject, newId$];\n if (cleanUpTimer !== undefined) {\n newIdSubject.pipe(\n switchMap((myAction) => from(myAction.call).pipe(\n delay(cleanUpTimer),\n finalize(() => {\n delete innerSourcesById[myAction.id];\n newIdSubject.complete();\n })\n ))\n ).subscribe();\n }\n const streams = Object.values(innerSourcesById).map(([_, obs]) => obs);\n return merge(...streams);\n })\n );\n };\n}\n","import {\n v4,\n} from 'uuid';\nimport {\n isAsyncRequest,\n} from './async.helpers';\nimport {\n AsyncRequest,\n} from './async.interfaces';\n\n/**\n * Returns a creator that makes sure that requestId is defined in the action's properties by generating one\n * if needed.\n */\nexport const asyncProps = <P extends object>(): (props: P) => P & AsyncRequest => {\n return (props: P) => isAsyncRequest(props) ? props : { ...props, requestId: v4() };\n};\n","import type {\n EntityState,\n} from '@ngrx/entity';\nimport {\n asyncStoreItemAdapter,\n} from './async.adapter';\nimport {\n AsyncStoreItem,\n EntityStatus,\n} from './async.interfaces';\n\n/**\n * Serializer for asynchronous store.\n * @param state State of an asynchronous store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncSerializer<T extends AsyncStoreItem>(state: T) {\n return asyncStoreItemAdapter.clearAsyncStoreItem(state);\n}\n\n/**\n * Serializer for asynchronous entity store.\n * @param state State of an asynchronous entity store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntitySerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!);\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n\n/**\n * Serializer for asynchronous entity store with status.\n * @param state State of an asynchronous entity store with status to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntityWithStatusSerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem & { status: EntityStatus<T['entities']['status']> }>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = { ...asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!), status: {} };\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n","/**\n * Object that define how to serialize a specific state\n */\nexport interface Serializer<T> {\n serialize?: (obj: T) => any;\n deserialize?: (data?: any) => T;\n reviver?: (key: string, value: any) => any;\n replacer?: (key: string, value: any) => any;\n initialState?: T;\n}\n\nexport class StateSerializer<T> implements Serializer<T> {\n public serialize?: (obj: T) => any;\n public deserialize?: (data?: any) => T;\n public replacer?: (key: string, value: any) => any;\n public initialState?: T;\n\n constructor(serializer: Serializer<T>) {\n this.serialize = serializer.serialize || this.serialize;\n this.deserialize = serializer.deserialize || this.deserialize;\n this.reviver = serializer.reviver || this.reviver;\n this.replacer = serializer.replacer || this.replacer;\n this.initialState = serializer.initialState || this.initialState;\n }\n\n public reviver = (_: string, value: any): any => value;\n}\n\nexport interface LocalStateModel {\n /**\n * Temporary ID of the model in the dictionary\n */\n tid: string;\n}\n\n/**\n * Adds an `id` to the given type\n */\nexport type Idfy<T> = T & { id: string | number };\n\n/**\n * Payload to update actions\n */\nexport interface UpdateActionPayload<T> {\n stateDetails: Partial<T>;\n}\n\n/**\n * Payload to set actions\n */\nexport interface SetActionPayload<T> {\n stateDetails: T;\n}\n\n/**\n * Payload to set state actions\n */\nexport interface SetStateActionPayload<T> {\n state: T;\n}\n/**\n * Payload to fail actions\n */\nexport interface FailActionPayload<T> {\n error?: T;\n}\n\nexport type Keep<T, K extends keyof T> = Partial<T> & Pick<T, K>;\n\n/**\n * @deprecated please use {@link Keep} instead, will be removed in v13.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- deprecated\nexport type keep<T, K extends keyof T> = Keep<T, K>;\n\n/** Payload to update entities actions */\nexport interface UpdateEntitiesActionPayload<T, K extends keyof T> {\n entities: Keep<T, K>[];\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntitiesActionPayloadWithId<T extends { id: string | number }> {\n entities: Keep<T, 'id'>[];\n}\n\n/** Payload to update entities actions */\nexport interface UpdateEntityActionPayload<T, K extends keyof T> {\n entity: Keep<T, K>;\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntityActionPayloadWithId<T extends { id: string | number }> {\n entity: Keep<T, 'id'>;\n}\n\n/** Payload to set entities and upsert entities actions */\nexport interface SetEntitiesActionPayload<T> {\n entities: T[];\n}\n\n/** Payload to set entity and upsert entity actions */\nexport interface SetEntityActionPayload<T> {\n entity: T;\n}\n\n/** Payload to fail entities actions */\nexport interface FailEntitiesActionPayload<T> extends FailActionPayload<T> {\n ids?: (string | number)[];\n}\n\n/**\n * Payload to clear the store in case of failure\n */\nexport interface ClearOnFailurePayload {\n /** Clear store on failure */\n clearOnFailure?: boolean;\n}\n","import type {\n BootstrapConfig,\n Dataset,\n} from '../../core/application/dgp.interfaces';\n\n/**\n * Pad number\n * @param val\n * @param digits\n */\nexport function padNumber(val: number, digits = 2): string {\n const str = `${val}`;\n return '0'.repeat(Math.max(0, digits - str.length)) + str;\n}\n\n/**\n * Returns TRUE if bootstrap config environment is production FALSE otherwise\n * @param dataset\n * @returns TRUE if bootstrap config environment is production FALSE otherwise\n */\nexport function isProductionEnvironment(dataset: Dataset): boolean {\n const bootstrapConfig: BootstrapConfig = dataset.bootstrapconfig && JSON.parse(dataset.bootstrapconfig);\n return bootstrapConfig?.environment === 'prod';\n}\n","/** Reviver Mapper to detect and create object on deepFill */\nexport interface PrimitiveReviverMapper<T = any> {\n /** Condition to fill to be determine as */\n condition: (data: any) => boolean;\n\n /**\n * Construct the primitive type if needed\n * @param data to be constructed\n * @default {@see defaultConstruct}\n */\n construct?: (data: any) => T;\n}\n\nconst defaultConstruct = (data: any) => data;\n\nconst isDate = (data: any) => data instanceof Date && !Number.isNaN(data as any);\n\n/**\n * Check if an object is not an array or a date\n * @param obj\n * @param additionalMappers\n */\nexport function isObject(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n return obj instanceof Object && !Array.isArray(obj) && !additionalMappers?.some((mapper) => mapper.condition(obj)) && !isDate(obj);\n}\n\n/**\n * Return a new reference of the given object\n * @param obj\n * @param additionalMappers\n */\nexport function immutablePrimitive(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n if (Array.isArray(obj)) {\n return obj.slice();\n }\n\n const matchingPrimitive = additionalMappers?.find((mapper) => mapper.condition(obj));\n const resolvedType = matchingPrimitive && ((matchingPrimitive.construct || defaultConstruct)(obj));\n if (resolvedType !== undefined) {\n return resolvedType;\n }\n if (isDate(obj)) {\n return new Date(obj);\n } else if (obj instanceof Object) {\n return deepFill(obj, obj, additionalMappers);\n } else {\n return obj;\n }\n}\n\n/**\n * Deep fill of base object using source\n * It will do a deep merge of the objects, overriding arrays\n * All properties not present in source, but present in base, will remain\n * @param base\n * @param source\n * @param additionalMappers Map of conditions of type mapper\n */\nexport function deepFill<T extends { [x: string]: any }>(base: T, source?: { [x: string]: any }, additionalMappers?: PrimitiveReviverMapper[]): T {\n if (typeof source === 'undefined') {\n return deepFill(base, base, additionalMappers);\n }\n if (!isObject(base, additionalMappers)) {\n return immutablePrimitive(typeof source === 'undefined' ? base : source, additionalMappers);\n }\n const newObj = { ...base };\n for (const key in base) {\n if (key in source && typeof base[key] === typeof source[key]) {\n const keyOfSource = source[key];\n newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key], additionalMappers) : deepFill(base[key], source[key], additionalMappers);\n } else {\n newObj[key] = immutablePrimitive(base[key], additionalMappers);\n }\n }\n\n // getting keys present in source and not present in base\n for (const key in source) {\n if (!(key in newObj)) {\n newObj[key as keyof T] = immutablePrimitive(source[key], additionalMappers);\n }\n }\n return newObj;\n}\n","import {\n animationFrameScheduler,\n from,\n Observable,\n observeOn,\n of,\n} from 'rxjs';\nimport {\n bufferCount,\n concatMap,\n delay,\n mergeMap,\n scan,\n tap,\n} from 'rxjs/operators';\n\n/**\n * Buffers and emits data for lazy/progressive rendering of big lists\n * That could solve issues with long-running tasks when trying to render an array\n * of similar components.\n * @param delayMs Delay between data emits\n * @param concurrency Amount of elements that should be emitted at once\n */\nexport function lazyArray<T>(delayMs = 0, concurrency = 2) {\n let isFirstEmission = true;\n return (source$: Observable<T[]>) => {\n return source$.pipe(\n mergeMap((items) => {\n if (!isFirstEmission) {\n return of(items);\n }\n\n const items$ = from(items);\n\n return items$.pipe(\n bufferCount(concurrency),\n concatMap((value, index) => {\n return of(value).pipe(\n observeOn(animationFrameScheduler),\n delay(index * delayMs)\n );\n }),\n scan((acc: T[], steps: T[]) => {\n return [...acc, ...steps];\n }, []),\n tap((scannedItems: T[]) => {\n const scanDidComplete = scannedItems.length === items.length;\n\n if (scanDidComplete) {\n isFirstEmission = false;\n }\n })\n );\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["filter"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"common-message.interface.d.ts","sourceRoot":"","sources":["../../src/messages/common-message.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,wDAAwD;AACxD,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB,CAAC,SAAS,CAAC;CAC5E;AAED,uCAAuC;AACvC,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB,CAAC,QAAQ,CAAC;IACzE,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,yCAAyC;AACzC,MAAM,WAAW,6BAA6B,CAAC,yBAAyB,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAC9I,gEAAgE;IAChE,IAAI,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACpC;AAED,4CAA4C;AAC5C,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,oBAAoB,GACpB,6BAA6B,CAAC"}
1
+ {"version":3,"file":"common-message.interface.d.ts","sourceRoot":"","sources":["../../src/messages/common-message.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,wDAAwD;AACxD,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB,CAAC,SAAS,CAAC;CAC5E;AAED,uCAAuC;AACvC,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB,CAAC,QAAQ,CAAC;IACzE,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,yCAAyC;AACzC,MAAM,WAAW,6BAA6B,CAAC,yBAAyB,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAC9I,gEAAgE;IAChE,IAAI,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACpC;AAED,4CAA4C;AAC5C,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,oBAAoB,GACpB,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.helpers.d.ts","sourceRoot":"","sources":["../../src/messages/message.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EAA4B,kBAAkB,EAAE,0BAA0B,EAAE,YAAY,EAAE,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;AAErK;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,YAAY,YAAY,CAAC,KAAG,OAAO,IAAI,0BAA0B,CAAC,CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAA;CAAC,CAE9H,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,mBAAmB,WAAW,GAAG,KAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAErG,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,mBAAmB,YAAY,CAAC,CAAC,UAAU,CAAC,WAAW,kBAAkB,CAAC,CAAC,CAAC,iCAStH,CAAC;AAGF,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5I,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAK,GAAG,YAAY,EAAE,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"message.helpers.d.ts","sourceRoot":"","sources":["../../src/messages/message.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACX,MAAM,MAAM,CAAC;AACd,OAAO,EAEL,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,YAAY,YAAY,CAAC,KAAG,OAAO,IAAI,0BAA0B,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAEhI,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,mBAAmB,WAAW,GAAG,KAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAErG,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,mBAAmB,YAAY,CAAC,CAAC,UAAU,CAAC,WAAW,kBAAkB,CAAC,CAAC,CAAC,iCAStH,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5I,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAK,GAAG,YAAY,EAAE,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/core",
3
- "version": "11.6.0-prerelease.3",
3
+ "version": "11.6.0-prerelease.31",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,7 +25,7 @@
25
25
  "@ngrx/entity": "~18.0.0",
26
26
  "@ngrx/store": "~18.0.0",
27
27
  "@nx/angular": "~19.5.0",
28
- "@o3r/telemetry": "^11.6.0-prerelease.3",
28
+ "@o3r/telemetry": "^11.6.0-prerelease.31",
29
29
  "@schematics/angular": "~18.2.0",
30
30
  "chokidar": "^3.5.2",
31
31
  "globby": "^11.1.0",
@@ -63,33 +63,40 @@
63
63
  }
64
64
  },
65
65
  "dependencies": {
66
- "@o3r/schematics": "^11.6.0-prerelease.3",
66
+ "@o3r/schematics": "^11.6.0-prerelease.31",
67
67
  "tslib": "^2.6.2",
68
68
  "uuid": "^10.0.0"
69
69
  },
70
70
  "generatorDependencies": {
71
- "@angular-eslint/eslint-plugin": "~18.3.0",
72
71
  "@angular/material": "~18.2.0",
73
- "@ngrx/router-store": "~18.0.0",
72
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
74
73
  "@ngrx/effects": "~18.0.0",
74
+ "@ngrx/router-store": "~18.0.0",
75
75
  "@ngrx/store-devtools": "~18.0.0",
76
- "@o3r/store-sync": "^11.6.0-prerelease.3",
76
+ "@nx/eslint-plugin": "~19.5.0",
77
+ "@o3r/store-sync": "^11.6.0-prerelease.31",
78
+ "@stylistic/eslint-plugin": "~2.7.0",
77
79
  "@types/jest": "~29.5.2",
78
- "nx": "~19.5.0",
79
- "@typescript-eslint/parser": "^7.14.1",
80
- "@stylistic/eslint-plugin-ts": "~2.4.0",
80
+ "@typescript-eslint/parser": "~8.16.0",
81
+ "angular-eslint": "~18.4.0",
81
82
  "cpy-cli": "^5.0.0",
82
- "eslint": "^8.57.0",
83
- "@nx/eslint-plugin": "~19.5.0",
84
- "jsonc-eslint-parser": "~2.4.0",
83
+ "eslint": "~9.14.0",
85
84
  "eslint-import-resolver-node": "^0.3.9",
85
+ "eslint-import-resolver-typescript": "^3.6.3",
86
+ "eslint-plugin-import": "^2.31.0",
87
+ "eslint-plugin-import-newlines": "^1.4.0",
86
88
  "eslint-plugin-jest": "~28.8.0",
87
- "eslint-plugin-jsdoc": "~48.11.0",
89
+ "eslint-plugin-jsdoc": "~50.2.0",
88
90
  "eslint-plugin-prefer-arrow": "~1.2.3",
89
- "eslint-plugin-unicorn": "^54.0.0",
91
+ "eslint-plugin-unicorn": "^56.0.0",
92
+ "eslint-plugin-unused-imports": "^4.1.4",
93
+ "globals": "^15.9.0",
90
94
  "jest": "~29.7.0",
91
95
  "jest-junit": "~16.0.0",
92
96
  "jest-preset-angular": "~14.2.0",
97
+ "jsonc-eslint-parser": "~2.4.0",
98
+ "nx": "~19.5.0",
99
+ "typescript-eslint": "~8.16.0",
93
100
  "zone.js": "~0.14.2"
94
101
  },
95
102
  "engines": {
package/public_api.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './core/index';
2
+ export * from './log/index';
2
3
  export * from './messages/index';
3
4
  export * from './store/index';
4
5
  export * from './utils/index';
5
- export * from './log/index';
6
6
  //# sourceMappingURL=public_api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../src/public_api.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../src/public_api.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/add-modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAgE7D;;;GAGG;AACH,eAAO,MAAM,YAAY,iDAAwD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/add-modules/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,IAAI,EACL,MAAM,4BAA4B,CAAC;AAYpC,OAAO,KAAK,EACV,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AA4DlB;;;GAGG;AACH,eAAO,MAAM,YAAY,iDAAwD,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAddModules = void 0;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
4
  const prompt_1 = require("@angular/cli/src/utilities/prompt");
5
+ const schematics_1 = require("@angular-devkit/schematics");
6
6
  const schematics_2 = require("@o3r/schematics");
7
7
  const presets_1 = require("../shared/presets");
8
8
  /**
@@ -19,7 +19,7 @@ function ngAddModulesFn(options) {
19
19
  const presetRunner = preset ? await presets_1.presets[preset]({ forwardOptions }) : undefined;
20
20
  const externalPresetRunner = externalPresets ? await (0, presets_1.getExternalPreset)(externalPresets, tree, context)?.({ projectName: forwardOptions.projectName, forwardOptions }) : undefined;
21
21
  const mods = [...new Set([...(presetRunner?.modules || []), ...(externalPresetRunner?.modules || [])])];
22
- if (mods.length) {
22
+ if (mods.length > 0) {
23
23
  context.logger.info(`The following modules will be installed: ${mods.join(', ')}`);
24
24
  if (context.interactive && !await (0, prompt_1.askConfirmation)('Would you like to process to the setup of these modules?', true)) {
25
25
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/add-modules/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEjC,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/add-modules/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEjC,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/component/container/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8F,IAAI,EAAoD,MAAM,4BAA4B,CAAC;AA0BhM,OAAO,EAAE,4CAA4C,EAAE,MAAM,UAAU,CAAC;AAExE,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAmQ5C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,iEAAwE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/component/container/index.ts"],"names":[],"mappings":"AACA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;AA2CpC,OAAO,EACL,4CAA4C,EAC7C,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAkQ5C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,iEAAwE,CAAC"}