@o3r/core 10.0.0-next.9 → 11.0.0-next.0

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 (497) hide show
  1. package/README.md +38 -13
  2. package/builders/app-version/index.d.ts.map +1 -1
  3. package/builders/app-version/index.js +1 -1
  4. package/builders/app-version/index.js.map +1 -1
  5. package/builders/app-version/schema.json +1 -1
  6. package/builders/lib-build/schema.json +1 -1
  7. package/builders/multi-watcher/schema.json +1 -1
  8. package/builders/ngc/schema.json +1 -1
  9. package/builders/pattern-replacement/index.d.ts.map +1 -1
  10. package/builders/pattern-replacement/index.js +5 -5
  11. package/builders/pattern-replacement/index.js.map +1 -1
  12. package/builders/pattern-replacement/schema.json +1 -1
  13. package/builders/run-script/index.d.ts +4 -0
  14. package/builders/run-script/index.d.ts.map +1 -0
  15. package/builders/run-script/index.js +34 -0
  16. package/builders/run-script/index.js.map +1 -0
  17. package/builders/run-script/schema.d.ts +6 -0
  18. package/builders/run-script/schema.d.ts.map +1 -0
  19. package/{schematics/library → builders/run-script}/schema.js.map +1 -1
  20. package/builders/run-script/schema.json +15 -0
  21. package/builders.json +5 -0
  22. package/collection.json +0 -23
  23. package/core/application/dgp.interfaces.d.ts +6 -3
  24. package/core/application/dgp.interfaces.d.ts.map +1 -1
  25. package/core/devkit/devtools.interface.d.ts +16 -2
  26. package/core/devkit/devtools.interface.d.ts.map +1 -1
  27. package/core/index.d.ts +1 -0
  28. package/core/index.d.ts.map +1 -1
  29. package/core/index.js +1 -0
  30. package/core/index.js.map +1 -1
  31. package/core/interfaces/configuration.d.ts +39 -17
  32. package/core/interfaces/configuration.d.ts.map +1 -1
  33. package/core/interfaces/index.d.ts +0 -3
  34. package/core/interfaces/index.d.ts.map +1 -1
  35. package/core/interfaces/index.js +0 -3
  36. package/core/interfaces/index.js.map +1 -1
  37. package/core/metadata/component.decorator.d.ts +0 -1
  38. package/core/metadata/component.decorator.d.ts.map +1 -1
  39. package/core/metadata/component.decorator.js +0 -1
  40. package/core/metadata/component.decorator.js.map +1 -1
  41. package/core/metadata/component.identifier.d.ts +7 -0
  42. package/core/metadata/component.identifier.d.ts.map +1 -0
  43. package/core/metadata/component.identifier.js +9 -0
  44. package/core/metadata/component.identifier.js.map +1 -0
  45. package/core/metadata/index.d.ts +1 -0
  46. package/core/metadata/index.d.ts.map +1 -1
  47. package/core/metadata/index.js +1 -0
  48. package/core/metadata/index.js.map +1 -1
  49. package/core/rules-engine/index.d.ts +2 -0
  50. package/core/rules-engine/index.d.ts.map +1 -0
  51. package/core/rules-engine/index.js +2 -0
  52. package/core/rules-engine/index.js.map +1 -0
  53. package/core/rules-engine/rules-engine.interfaces.d.ts +24 -0
  54. package/core/rules-engine/rules-engine.interfaces.d.ts.map +1 -0
  55. package/core/rules-engine/rules-engine.interfaces.js +2 -0
  56. package/core/rules-engine/rules-engine.interfaces.js.map +1 -0
  57. package/esm2022/core/application/dgp.interfaces.mjs +1 -1
  58. package/esm2022/core/devkit/devtools.interface.mjs +1 -1
  59. package/esm2022/core/index.mjs +2 -1
  60. package/esm2022/core/interfaces/configuration.mjs +1 -1
  61. package/esm2022/core/interfaces/index.mjs +1 -4
  62. package/esm2022/core/metadata/component.decorator.mjs +1 -2
  63. package/esm2022/core/metadata/component.identifier.mjs +9 -0
  64. package/esm2022/core/metadata/index.mjs +2 -1
  65. package/esm2022/core/rules-engine/index.mjs +2 -0
  66. package/esm2022/core/rules-engine/rules-engine.interfaces.mjs +2 -0
  67. package/esm2022/log/logger.mjs +1 -1
  68. package/esm2022/messages/message.helpers.mjs +1 -5
  69. package/esm2022/store/async/async-entity.adapter.mjs +1 -2
  70. package/esm2022/store/async/async.adapter.mjs +1 -1
  71. package/esm2022/store/async/async.helpers.mjs +1 -4
  72. package/esm2022/store/async/async.operators.mjs +3 -4
  73. package/esm2022/store/async/async.serializer.mjs +1 -4
  74. package/esm2022/store/index.mjs +1 -2
  75. package/esm2022/utils/debug/debug.helper.mjs +1 -3
  76. package/esm2022/utils/deep-fill/deep-fill.mjs +23 -28
  77. package/esm2022/utils/rendering/rendering.helpers.mjs +1 -2
  78. package/fesm2022/o3r-core.mjs +47 -169
  79. package/fesm2022/o3r-core.mjs.map +1 -1
  80. package/log/logger.d.ts +0 -5
  81. package/log/logger.d.ts.map +1 -1
  82. package/messages/message.helpers.d.ts +0 -3
  83. package/messages/message.helpers.d.ts.map +1 -1
  84. package/messages/message.helpers.js +0 -4
  85. package/messages/message.helpers.js.map +1 -1
  86. package/migration.json +5 -0
  87. package/package.json +46 -39
  88. package/schematics/add-modules/index.d.ts +1 -2
  89. package/schematics/add-modules/index.d.ts.map +1 -1
  90. package/schematics/add-modules/index.js +16 -9
  91. package/schematics/add-modules/index.js.map +1 -1
  92. package/schematics/add-modules/schema.d.ts +5 -1
  93. package/schematics/add-modules/schema.d.ts.map +1 -1
  94. package/schematics/add-modules/schema.json +14 -4
  95. package/schematics/component/container/index.d.ts +0 -1
  96. package/schematics/component/container/index.d.ts.map +1 -1
  97. package/schematics/component/container/index.js +1 -3
  98. package/schematics/component/container/index.js.map +1 -1
  99. package/schematics/component/container/schema.json +1 -1
  100. package/schematics/component/index.d.ts.map +1 -1
  101. package/schematics/component/index.js +5 -2
  102. package/schematics/component/index.js.map +1 -1
  103. package/schematics/component/presenter/index.d.ts +0 -1
  104. package/schematics/component/presenter/index.d.ts.map +1 -1
  105. package/schematics/component/presenter/index.js +9 -9
  106. package/schematics/component/presenter/index.js.map +1 -1
  107. package/schematics/component/presenter/schema.json +4 -3
  108. package/schematics/component/schema.json +4 -4
  109. package/schematics/component/structures.types.d.ts +3 -2
  110. package/schematics/component/structures.types.d.ts.map +1 -1
  111. package/schematics/component/structures.types.js +1 -0
  112. package/schematics/component/structures.types.js.map +1 -1
  113. package/schematics/context-to-component/index.d.ts.map +1 -1
  114. package/schematics/context-to-component/index.js +1 -1
  115. package/schematics/context-to-component/index.js.map +1 -1
  116. package/schematics/context-to-component/schema.json +1 -1
  117. package/schematics/convert-component/index.js +2 -2
  118. package/schematics/convert-component/index.js.map +1 -1
  119. package/schematics/convert-component/schema.json +1 -1
  120. package/schematics/ng-add/index.d.ts.map +1 -1
  121. package/schematics/ng-add/index.js +30 -31
  122. package/schematics/ng-add/index.js.map +1 -1
  123. package/schematics/ng-add/project-setup/index.d.ts +0 -1
  124. package/schematics/ng-add/project-setup/index.d.ts.map +1 -1
  125. package/schematics/ng-add/project-setup/index.js +16 -65
  126. package/schematics/ng-add/project-setup/index.js.map +1 -1
  127. package/schematics/ng-add/schema.d.ts +7 -46
  128. package/schematics/ng-add/schema.d.ts.map +1 -1
  129. package/schematics/ng-add/schema.json +16 -86
  130. package/schematics/ng-add/updates-for-v8/cms-adapters/update-builders-names.d.ts.map +1 -1
  131. package/schematics/ng-add/updates-for-v8/cms-adapters/update-builders-names.js +7 -3
  132. package/schematics/ng-add/updates-for-v8/cms-adapters/update-builders-names.js.map +1 -1
  133. package/schematics/ng-add/updates-for-v8/generators/update-generators-names.d.ts.map +1 -1
  134. package/schematics/ng-add/updates-for-v8/generators/update-generators-names.js +7 -2
  135. package/schematics/ng-add/updates-for-v8/generators/update-generators-names.js.map +1 -1
  136. package/schematics/ng-add-create/schema.json +1 -1
  137. package/schematics/ng-add-create/templates/schematics/ng-add/schema.json.template +2 -2
  138. package/schematics/ng-update/index.d.ts +4 -0
  139. package/schematics/ng-update/index.d.ts.map +1 -1
  140. package/schematics/ng-update/index.js +14 -1
  141. package/schematics/ng-update/index.js.map +1 -1
  142. package/schematics/ng-update/v10.0/configuration.d.ts +9 -0
  143. package/schematics/ng-update/v10.0/configuration.d.ts.map +1 -0
  144. package/schematics/ng-update/v10.0/configuration.js +23 -0
  145. package/schematics/ng-update/v10.0/configuration.js.map +1 -0
  146. package/schematics/page/index.d.ts +0 -1
  147. package/schematics/page/index.d.ts.map +1 -1
  148. package/schematics/page/index.js +6 -11
  149. package/schematics/page/index.js.map +1 -1
  150. package/schematics/page/schema.json +1 -1
  151. package/schematics/renovate/schema.json +1 -1
  152. package/schematics/renovate/templates/azure-pipelines.ugrade.yml +1 -1
  153. package/schematics/rule-factories/additional-modules/index.d.ts +0 -1
  154. package/schematics/rule-factories/additional-modules/index.d.ts.map +1 -1
  155. package/schematics/rule-factories/additional-modules/index.js +14 -18
  156. package/schematics/rule-factories/additional-modules/index.js.map +1 -1
  157. package/schematics/rule-factories/component/common.js +2 -2
  158. package/schematics/rule-factories/component/common.js.map +1 -1
  159. package/schematics/rule-factories/customization-environment/index.d.ts +0 -1
  160. package/schematics/rule-factories/customization-environment/index.d.ts.map +1 -1
  161. package/schematics/rule-factories/customization-environment/index.js +9 -30
  162. package/schematics/rule-factories/customization-environment/index.js.map +1 -1
  163. package/schematics/rule-factories/index.d.ts +0 -3
  164. package/schematics/rule-factories/index.d.ts.map +1 -1
  165. package/schematics/rule-factories/index.js +0 -3
  166. package/schematics/rule-factories/index.js.map +1 -1
  167. package/schematics/rule-factories/o3r-basic-updates/index.d.ts +1 -2
  168. package/schematics/rule-factories/o3r-basic-updates/index.d.ts.map +1 -1
  169. package/schematics/rule-factories/o3r-basic-updates/index.js +7 -4
  170. package/schematics/rule-factories/o3r-basic-updates/index.js.map +1 -1
  171. package/schematics/rule-factories/otter-environment/index.d.ts +0 -1
  172. package/schematics/rule-factories/otter-environment/index.d.ts.map +1 -1
  173. package/schematics/rule-factories/otter-environment/index.js +8 -13
  174. package/schematics/rule-factories/otter-environment/index.js.map +1 -1
  175. package/schematics/rule-factories/store/index.d.ts.map +1 -1
  176. package/schematics/rule-factories/store/index.js +30 -13
  177. package/schematics/rule-factories/store/index.js.map +1 -1
  178. package/schematics/schematics-update/schema.json +1 -1
  179. package/schematics/service/index.d.ts +0 -1
  180. package/schematics/service/index.d.ts.map +1 -1
  181. package/schematics/service/index.js +1 -2
  182. package/schematics/service/index.js.map +1 -1
  183. package/schematics/service/schema.json +1 -1
  184. package/schematics/shared/presets/all.preset.d.ts +10 -0
  185. package/schematics/shared/presets/all.preset.d.ts.map +1 -0
  186. package/schematics/shared/presets/all.preset.js +40 -0
  187. package/schematics/shared/presets/all.preset.js.map +1 -0
  188. package/schematics/shared/presets/external.preset.d.ts +10 -0
  189. package/schematics/shared/presets/external.preset.d.ts.map +1 -0
  190. package/schematics/shared/presets/external.preset.js +25 -0
  191. package/schematics/shared/presets/external.preset.js.map +1 -0
  192. package/schematics/shared/presets/helpers.js +1 -1
  193. package/schematics/shared/presets/helpers.js.map +1 -1
  194. package/schematics/shared/presets/index.d.ts +1 -0
  195. package/schematics/shared/presets/index.d.ts.map +1 -1
  196. package/schematics/shared/presets/index.js +4 -1
  197. package/schematics/shared/presets/index.js.map +1 -1
  198. package/schematics/show-modules/index.d.ts +1 -2
  199. package/schematics/show-modules/index.d.ts.map +1 -1
  200. package/schematics/show-modules/index.js +3 -5
  201. package/schematics/show-modules/index.js.map +1 -1
  202. package/schematics/show-modules/schema.json +1 -1
  203. package/schematics/store/entity-async/index.d.ts.map +1 -1
  204. package/schematics/store/entity-async/index.js +4 -0
  205. package/schematics/store/entity-async/index.js.map +1 -1
  206. package/schematics/store/entity-async/schema.json +1 -1
  207. package/schematics/store/entity-async/templates/__storeName@dasherize__.state.ts +1 -1
  208. package/schematics/store/entity-sync/index.d.ts.map +1 -1
  209. package/schematics/store/entity-sync/index.js +4 -0
  210. package/schematics/store/entity-sync/index.js.map +1 -1
  211. package/schematics/store/entity-sync/schema.json +1 -1
  212. package/schematics/store/entity-sync/templates/__storeName@dasherize__.state.ts +1 -1
  213. package/schematics/store/schema.json +1 -1
  214. package/schematics/store/simple-async/index.d.ts.map +1 -1
  215. package/schematics/store/simple-async/index.js +2 -0
  216. package/schematics/store/simple-async/index.js.map +1 -1
  217. package/schematics/store/simple-async/schema.json +1 -1
  218. package/schematics/store/simple-sync/index.d.ts.map +1 -1
  219. package/schematics/store/simple-sync/index.js +1 -0
  220. package/schematics/store/simple-sync/index.js.map +1 -1
  221. package/schematics/store/simple-sync/schema.json +1 -1
  222. package/schematics/store-action/schema.json +1 -1
  223. package/store/async/async-entity.adapter.d.ts +0 -8
  224. package/store/async/async-entity.adapter.d.ts.map +1 -1
  225. package/store/async/async-entity.adapter.js +0 -1
  226. package/store/async/async-entity.adapter.js.map +1 -1
  227. package/store/async/async.adapter.d.ts +0 -13
  228. package/store/async/async.adapter.d.ts.map +1 -1
  229. package/store/async/async.adapter.js.map +1 -1
  230. package/store/async/async.helpers.d.ts +0 -3
  231. package/store/async/async.helpers.d.ts.map +1 -1
  232. package/store/async/async.helpers.js +0 -3
  233. package/store/async/async.helpers.js.map +1 -1
  234. package/store/async/async.operators.d.ts +2 -3
  235. package/store/async/async.operators.d.ts.map +1 -1
  236. package/store/async/async.operators.js +2 -3
  237. package/store/async/async.operators.js.map +1 -1
  238. package/store/async/async.serializer.d.ts +0 -3
  239. package/store/async/async.serializer.d.ts.map +1 -1
  240. package/store/async/async.serializer.js +0 -3
  241. package/store/async/async.serializer.js.map +1 -1
  242. package/store/index.d.ts +0 -1
  243. package/store/index.d.ts.map +1 -1
  244. package/store/index.js +0 -1
  245. package/store/index.js.map +1 -1
  246. package/utils/debug/debug.helper.d.ts +0 -2
  247. package/utils/debug/debug.helper.d.ts.map +1 -1
  248. package/utils/debug/debug.helper.js +0 -2
  249. package/utils/debug/debug.helper.js.map +1 -1
  250. package/utils/deep-fill/deep-fill.d.ts +17 -12
  251. package/utils/deep-fill/deep-fill.d.ts.map +1 -1
  252. package/utils/deep-fill/deep-fill.js +22 -27
  253. package/utils/deep-fill/deep-fill.js.map +1 -1
  254. package/utils/rendering/rendering.helpers.d.ts +0 -1
  255. package/utils/rendering/rendering.helpers.d.ts.map +1 -1
  256. package/utils/rendering/rendering.helpers.js +0 -1
  257. package/utils/rendering/rendering.helpers.js.map +1 -1
  258. package/builders/package.json +0 -3
  259. package/core/interfaces/block.d.ts +0 -9
  260. package/core/interfaces/block.d.ts.map +0 -1
  261. package/core/interfaces/block.js +0 -2
  262. package/core/interfaces/block.js.map +0 -1
  263. package/core/interfaces/exposed-component.d.ts +0 -10
  264. package/core/interfaces/exposed-component.d.ts.map +0 -1
  265. package/core/interfaces/exposed-component.js +0 -2
  266. package/core/interfaces/exposed-component.js.map +0 -1
  267. package/core/interfaces/page.d.ts +0 -9
  268. package/core/interfaces/page.d.ts.map +0 -1
  269. package/core/interfaces/page.js +0 -2
  270. package/core/interfaces/page.js.map +0 -1
  271. package/esm2022/core/interfaces/block.mjs +0 -2
  272. package/esm2022/core/interfaces/exposed-component.mjs +0 -2
  273. package/esm2022/core/interfaces/page.mjs +0 -2
  274. package/esm2022/store/storage/index.mjs +0 -2
  275. package/esm2022/store/storage/store-sync.mjs +0 -111
  276. package/schematics/application/index.d.ts +0 -9
  277. package/schematics/application/index.d.ts.map +0 -1
  278. package/schematics/application/index.js +0 -68
  279. package/schematics/application/index.js.map +0 -1
  280. package/schematics/application/schema.d.ts +0 -14
  281. package/schematics/application/schema.d.ts.map +0 -1
  282. package/schematics/application/schema.js.map +0 -1
  283. package/schematics/application/schema.json +0 -38
  284. package/schematics/application/templates/package.json.template +0 -29
  285. package/schematics/library/index.d.ts +0 -9
  286. package/schematics/library/index.d.ts.map +0 -1
  287. package/schematics/library/index.js +0 -41
  288. package/schematics/library/index.js.map +0 -1
  289. package/schematics/library/rules/rules.ng.d.ts +0 -11
  290. package/schematics/library/rules/rules.ng.d.ts.map +0 -1
  291. package/schematics/library/rules/rules.ng.js +0 -113
  292. package/schematics/library/rules/rules.ng.js.map +0 -1
  293. package/schematics/library/rules/rules.nx.d.ts +0 -10
  294. package/schematics/library/rules/rules.nx.d.ts.map +0 -1
  295. package/schematics/library/rules/rules.nx.js +0 -126
  296. package/schematics/library/rules/rules.nx.js.map +0 -1
  297. package/schematics/library/rules/shared.d.ts +0 -19
  298. package/schematics/library/rules/shared.d.ts.map +0 -1
  299. package/schematics/library/rules/shared.js +0 -84
  300. package/schematics/library/rules/shared.js.map +0 -1
  301. package/schematics/library/schema.d.ts +0 -18
  302. package/schematics/library/schema.d.ts.map +0 -1
  303. package/schematics/library/schema.js +0 -3
  304. package/schematics/library/schema.json +0 -51
  305. package/schematics/library/templates/ng/.eslintrc.js.template +0 -19
  306. package/schematics/library/templates/ng/.gitignore.template +0 -2
  307. package/schematics/library/templates/ng/.npmignore.template +0 -0
  308. package/schematics/library/templates/ng/jest.config.js.template +0 -37
  309. package/schematics/library/templates/ng/testing/setup-jest.ts.template +0 -2
  310. package/schematics/library/templates/ng/tsconfig.builders.json.template +0 -22
  311. package/schematics/library/templates/ng/tsconfig.eslint.json.template +0 -8
  312. package/schematics/library/templates/ng/tsconfig.json.template +0 -12
  313. package/schematics/library/templates/ng/tsconfig.spec.json.template +0 -17
  314. package/schematics/library/templates/nx/.eslintrc.js.template +0 -19
  315. package/schematics/library/templates/nx/.gitignore.template +0 -2
  316. package/schematics/library/templates/nx/.npmignore.template +0 -0
  317. package/schematics/library/templates/nx/jest.config.js.template +0 -37
  318. package/schematics/library/templates/nx/project.json.template +0 -66
  319. package/schematics/library/templates/nx/testing/setup-jest.ts.template +0 -2
  320. package/schematics/library/templates/nx/tsconfig.eslint.json.template +0 -8
  321. package/schematics/package.json +0 -3
  322. package/schematics/rule-factories/azure-pipeline/index.d.ts +0 -14
  323. package/schematics/rule-factories/azure-pipeline/index.d.ts.map +0 -1
  324. package/schematics/rule-factories/azure-pipeline/index.js +0 -64
  325. package/schematics/rule-factories/azure-pipeline/index.js.map +0 -1
  326. package/schematics/rule-factories/azure-pipeline/templates/azure/scripts/e2e/attach-files-to-test-results.js.template +0 -147
  327. package/schematics/rule-factories/azure-pipeline/templates/azure/scripts/e2e/compute-deployment-service-url.js.template +0 -20
  328. package/schematics/rule-factories/azure-pipeline/templates/azure/scripts/e2e/gen-pckg-json-e2e.js.template +0 -15
  329. package/schematics/rule-factories/azure-pipeline/templates/azure/scripts/e2e/get-app-version.js.template +0 -36
  330. package/schematics/rule-factories/azure-pipeline/templates/azure/scripts/e2e/get-major-minor.js.template +0 -8
  331. package/schematics/rule-factories/azure-pipeline/templates/azure/templates/steps/allure.yml.template +0 -24
  332. package/schematics/rule-factories/azure-pipeline/templates/azure/templates/steps/cascading.yml.template +0 -8
  333. package/schematics/rule-factories/azure-pipeline/templates/azure/templates/steps/publish.yml.template +0 -14
  334. package/schematics/rule-factories/azure-pipeline/templates/azure/templates/steps/set-version-tag.yml.template +0 -13
  335. package/schematics/rule-factories/azure-pipeline/templates/azure/templates/steps/setup.yml.template +0 -21
  336. package/schematics/rule-factories/azure-pipeline/templates/azure/templates/steps/versioning.yml.template +0 -8
  337. package/schematics/rule-factories/azure-pipeline/templates/azure-pipelines.yml.template +0 -252
  338. package/schematics/rule-factories/module-list/index.d.ts +0 -11
  339. package/schematics/rule-factories/module-list/index.d.ts.map +0 -1
  340. package/schematics/rule-factories/module-list/index.js +0 -45
  341. package/schematics/rule-factories/module-list/index.js.map +0 -1
  342. package/schematics/rule-factories/monorepo/index.d.ts +0 -16
  343. package/schematics/rule-factories/monorepo/index.d.ts.map +0 -1
  344. package/schematics/rule-factories/monorepo/index.js +0 -65
  345. package/schematics/rule-factories/monorepo/index.js.map +0 -1
  346. package/schematics/rule-factories/renovate/index.d.ts +0 -8
  347. package/schematics/rule-factories/renovate/index.d.ts.map +0 -1
  348. package/schematics/rule-factories/renovate/index.js +0 -27
  349. package/schematics/rule-factories/renovate/index.js.map +0 -1
  350. package/schematics/rule-factories/renovate/templates/__dot__renovaterc.json.template +0 -61
  351. package/schematics/sdk/index.d.ts +0 -8
  352. package/schematics/sdk/index.d.ts.map +0 -1
  353. package/schematics/sdk/index.js +0 -62
  354. package/schematics/sdk/index.js.map +0 -1
  355. package/schematics/sdk/rules/clean-standalone.rule.d.ts +0 -7
  356. package/schematics/sdk/rules/clean-standalone.rule.d.ts.map +0 -1
  357. package/schematics/sdk/rules/clean-standalone.rule.js +0 -28
  358. package/schematics/sdk/rules/clean-standalone.rule.js.map +0 -1
  359. package/schematics/sdk/rules/rules.ng.d.ts +0 -11
  360. package/schematics/sdk/rules/rules.ng.d.ts.map +0 -1
  361. package/schematics/sdk/rules/rules.ng.js +0 -38
  362. package/schematics/sdk/rules/rules.ng.js.map +0 -1
  363. package/schematics/sdk/rules/rules.nx.d.ts +0 -11
  364. package/schematics/sdk/rules/rules.nx.d.ts.map +0 -1
  365. package/schematics/sdk/rules/rules.nx.js +0 -60
  366. package/schematics/sdk/rules/rules.nx.js.map +0 -1
  367. package/schematics/sdk/rules/update-ts-paths.rule.d.ts +0 -10
  368. package/schematics/sdk/rules/update-ts-paths.rule.d.ts.map +0 -1
  369. package/schematics/sdk/rules/update-ts-paths.rule.js +0 -41
  370. package/schematics/sdk/rules/update-ts-paths.rule.js.map +0 -1
  371. package/schematics/sdk/schema.d.ts +0 -19
  372. package/schematics/sdk/schema.d.ts.map +0 -1
  373. package/schematics/sdk/schema.js +0 -3
  374. package/schematics/sdk/schema.js.map +0 -1
  375. package/schematics/sdk/schema.json +0 -46
  376. package/schematics/sdk/templates/jest.config.js.template +0 -12
  377. package/schematics/store/common/mocks/example-module.d.ts +0 -2
  378. package/schematics/store/common/mocks/example-module.d.ts.map +0 -1
  379. package/schematics/store/common/mocks/example-module.js +0 -40
  380. package/schematics/store/common/mocks/example-module.js.map +0 -1
  381. package/schematics/store/common/mocks/index.d.ts +0 -2
  382. package/schematics/store/common/mocks/index.d.ts.map +0 -1
  383. package/schematics/store/common/mocks/index.js +0 -12
  384. package/schematics/store/common/mocks/index.js.map +0 -1
  385. package/schematics/store/entity-async/mocks/example-actions.d.ts +0 -2
  386. package/schematics/store/entity-async/mocks/example-actions.d.ts.map +0 -1
  387. package/schematics/store/entity-async/mocks/example-actions.js +0 -82
  388. package/schematics/store/entity-async/mocks/example-actions.js.map +0 -1
  389. package/schematics/store/entity-async/mocks/example-effect-spec.d.ts +0 -2
  390. package/schematics/store/entity-async/mocks/example-effect-spec.d.ts.map +0 -1
  391. package/schematics/store/entity-async/mocks/example-effect-spec.js +0 -45
  392. package/schematics/store/entity-async/mocks/example-effect-spec.js.map +0 -1
  393. package/schematics/store/entity-async/mocks/example-effect.d.ts +0 -2
  394. package/schematics/store/entity-async/mocks/example-effect.d.ts.map +0 -1
  395. package/schematics/store/entity-async/mocks/example-effect.js +0 -72
  396. package/schematics/store/entity-async/mocks/example-effect.js.map +0 -1
  397. package/schematics/store/entity-async/mocks/example-reducer-spec.d.ts +0 -2
  398. package/schematics/store/entity-async/mocks/example-reducer-spec.d.ts.map +0 -1
  399. package/schematics/store/entity-async/mocks/example-reducer-spec.js +0 -127
  400. package/schematics/store/entity-async/mocks/example-reducer-spec.js.map +0 -1
  401. package/schematics/store/entity-async/mocks/example-reducer.d.ts +0 -2
  402. package/schematics/store/entity-async/mocks/example-reducer.d.ts.map +0 -1
  403. package/schematics/store/entity-async/mocks/example-reducer.js +0 -69
  404. package/schematics/store/entity-async/mocks/example-reducer.js.map +0 -1
  405. package/schematics/store/entity-async/mocks/example-selectors-spec.d.ts +0 -2
  406. package/schematics/store/entity-async/mocks/example-selectors-spec.d.ts.map +0 -1
  407. package/schematics/store/entity-async/mocks/example-selectors-spec.js +0 -16
  408. package/schematics/store/entity-async/mocks/example-selectors-spec.js.map +0 -1
  409. package/schematics/store/entity-async/mocks/example-selectors.d.ts +0 -2
  410. package/schematics/store/entity-async/mocks/example-selectors.d.ts.map +0 -1
  411. package/schematics/store/entity-async/mocks/example-selectors.js +0 -28
  412. package/schematics/store/entity-async/mocks/example-selectors.js.map +0 -1
  413. package/schematics/store/entity-async/mocks/example-state.d.ts +0 -2
  414. package/schematics/store/entity-async/mocks/example-state.d.ts.map +0 -1
  415. package/schematics/store/entity-async/mocks/example-state.js +0 -39
  416. package/schematics/store/entity-async/mocks/example-state.js.map +0 -1
  417. package/schematics/store/entity-async/mocks/example-sync.d.ts +0 -2
  418. package/schematics/store/entity-async/mocks/example-sync.d.ts.map +0 -1
  419. package/schematics/store/entity-async/mocks/example-sync.js +0 -29
  420. package/schematics/store/entity-async/mocks/example-sync.js.map +0 -1
  421. package/schematics/store/entity-sync/mocks/example-actions.d.ts +0 -2
  422. package/schematics/store/entity-sync/mocks/example-actions.d.ts.map +0 -1
  423. package/schematics/store/entity-sync/mocks/example-actions.js +0 -56
  424. package/schematics/store/entity-sync/mocks/example-actions.js.map +0 -1
  425. package/schematics/store/entity-sync/mocks/example-reducer-spec.d.ts +0 -2
  426. package/schematics/store/entity-sync/mocks/example-reducer-spec.d.ts.map +0 -1
  427. package/schematics/store/entity-sync/mocks/example-reducer-spec.js +0 -85
  428. package/schematics/store/entity-sync/mocks/example-reducer-spec.js.map +0 -1
  429. package/schematics/store/entity-sync/mocks/example-reducer.d.ts +0 -2
  430. package/schematics/store/entity-sync/mocks/example-reducer.d.ts.map +0 -1
  431. package/schematics/store/entity-sync/mocks/example-reducer.js +0 -51
  432. package/schematics/store/entity-sync/mocks/example-reducer.js.map +0 -1
  433. package/schematics/store/entity-sync/mocks/example-selectors-spec.d.ts +0 -2
  434. package/schematics/store/entity-sync/mocks/example-selectors-spec.d.ts.map +0 -1
  435. package/schematics/store/entity-sync/mocks/example-selectors-spec.js +0 -10
  436. package/schematics/store/entity-sync/mocks/example-selectors-spec.js.map +0 -1
  437. package/schematics/store/entity-sync/mocks/example-selectors.d.ts +0 -2
  438. package/schematics/store/entity-sync/mocks/example-selectors.d.ts.map +0 -1
  439. package/schematics/store/entity-sync/mocks/example-selectors.js +0 -25
  440. package/schematics/store/entity-sync/mocks/example-selectors.js.map +0 -1
  441. package/schematics/store/entity-sync/mocks/example-state.d.ts +0 -2
  442. package/schematics/store/entity-sync/mocks/example-state.d.ts.map +0 -1
  443. package/schematics/store/entity-sync/mocks/example-state.js +0 -37
  444. package/schematics/store/entity-sync/mocks/example-state.js.map +0 -1
  445. package/schematics/store/simple-async/mocks/example-actions.d.ts +0 -2
  446. package/schematics/store/simple-async/mocks/example-actions.d.ts.map +0 -1
  447. package/schematics/store/simple-async/mocks/example-actions.js +0 -56
  448. package/schematics/store/simple-async/mocks/example-actions.js.map +0 -1
  449. package/schematics/store/simple-async/mocks/example-effect-spec.d.ts +0 -2
  450. package/schematics/store/simple-async/mocks/example-effect-spec.d.ts.map +0 -1
  451. package/schematics/store/simple-async/mocks/example-effect-spec.js +0 -45
  452. package/schematics/store/simple-async/mocks/example-effect-spec.js.map +0 -1
  453. package/schematics/store/simple-async/mocks/example-effect.d.ts +0 -2
  454. package/schematics/store/simple-async/mocks/example-effect.d.ts.map +0 -1
  455. package/schematics/store/simple-async/mocks/example-effect.js +0 -54
  456. package/schematics/store/simple-async/mocks/example-effect.js.map +0 -1
  457. package/schematics/store/simple-async/mocks/example-reducer-spec.d.ts +0 -2
  458. package/schematics/store/simple-async/mocks/example-reducer-spec.d.ts.map +0 -1
  459. package/schematics/store/simple-async/mocks/example-reducer-spec.js +0 -58
  460. package/schematics/store/simple-async/mocks/example-reducer-spec.js.map +0 -1
  461. package/schematics/store/simple-async/mocks/example-reducer.d.ts +0 -2
  462. package/schematics/store/simple-async/mocks/example-reducer.d.ts.map +0 -1
  463. package/schematics/store/simple-async/mocks/example-reducer.js +0 -46
  464. package/schematics/store/simple-async/mocks/example-reducer.js.map +0 -1
  465. package/schematics/store/simple-async/mocks/example-state.d.ts +0 -2
  466. package/schematics/store/simple-async/mocks/example-state.d.ts.map +0 -1
  467. package/schematics/store/simple-async/mocks/example-state.js +0 -39
  468. package/schematics/store/simple-async/mocks/example-state.js.map +0 -1
  469. package/schematics/store/simple-async/mocks/example-sync.d.ts +0 -2
  470. package/schematics/store/simple-async/mocks/example-sync.d.ts.map +0 -1
  471. package/schematics/store/simple-async/mocks/example-sync.js +0 -22
  472. package/schematics/store/simple-async/mocks/example-sync.js.map +0 -1
  473. package/schematics/store/simple-sync/mocks/example-actions.d.ts +0 -2
  474. package/schematics/store/simple-sync/mocks/example-actions.d.ts.map +0 -1
  475. package/schematics/store/simple-sync/mocks/example-actions.js +0 -28
  476. package/schematics/store/simple-sync/mocks/example-actions.js.map +0 -1
  477. package/schematics/store/simple-sync/mocks/example-reducer-spec.d.ts +0 -2
  478. package/schematics/store/simple-sync/mocks/example-reducer-spec.d.ts.map +0 -1
  479. package/schematics/store/simple-sync/mocks/example-reducer-spec.js +0 -38
  480. package/schematics/store/simple-sync/mocks/example-reducer-spec.js.map +0 -1
  481. package/schematics/store/simple-sync/mocks/example-reducer.d.ts +0 -2
  482. package/schematics/store/simple-sync/mocks/example-reducer.d.ts.map +0 -1
  483. package/schematics/store/simple-sync/mocks/example-reducer.js +0 -32
  484. package/schematics/store/simple-sync/mocks/example-reducer.js.map +0 -1
  485. package/schematics/store/simple-sync/mocks/example-state.d.ts +0 -2
  486. package/schematics/store/simple-sync/mocks/example-state.d.ts.map +0 -1
  487. package/schematics/store/simple-sync/mocks/example-state.js +0 -22
  488. package/schematics/store/simple-sync/mocks/example-state.js.map +0 -1
  489. package/store/storage/index.d.ts +0 -2
  490. package/store/storage/index.d.ts.map +0 -1
  491. package/store/storage/index.js +0 -2
  492. package/store/storage/index.js.map +0 -1
  493. package/store/storage/store-sync.d.ts +0 -113
  494. package/store/storage/store-sync.d.ts.map +0 -1
  495. package/store/storage/store-sync.js +0 -111
  496. package/store/storage/store-sync.js.map +0 -1
  497. /package/{schematics/application → builders/run-script}/schema.js +0 -0
@@ -1,38 +1,33 @@
1
- import { utils } from '@ama-sdk/core';
2
- /**
3
- * Check if an object is a date
4
- *
5
- * @param obj
6
- */
7
- export function isDate(obj) {
8
- return obj instanceof utils.DateTime || obj instanceof utils.Date;
9
- }
1
+ const defaultConstruct = (data) => data;
2
+ const isDate = (data) => data instanceof Date && !isNaN(data);
10
3
  /**
11
4
  * Check if an object is not an array or a date
12
- *
13
5
  * @param obj
6
+ * @param additionalMappers
14
7
  */
15
- export function isObject(obj) {
16
- return obj instanceof Object && !Array.isArray(obj) && !isDate(obj);
8
+ export function isObject(obj, additionalMappers) {
9
+ return obj instanceof Object && !Array.isArray(obj) && !additionalMappers?.some((mapper) => mapper.condition(obj)) && !isDate(obj);
17
10
  }
18
11
  /**
19
12
  * Return a new reference of the given object
20
- *
21
13
  * @param obj
14
+ * @param additionalMappers
22
15
  */
23
- export function immutablePrimitive(obj) {
16
+ export function immutablePrimitive(obj, additionalMappers) {
24
17
  if (Array.isArray(obj)) {
25
18
  return obj.slice();
26
19
  }
27
- else if (obj instanceof utils.DateTime) {
28
- return new utils.DateTime(obj);
20
+ const matchingPrimitive = additionalMappers?.find((mapper) => mapper.condition(obj));
21
+ const resolvedType = matchingPrimitive && ((matchingPrimitive.construct || defaultConstruct)(obj));
22
+ if (resolvedType !== undefined) {
23
+ return resolvedType;
29
24
  }
30
- else if (obj instanceof utils.Date) {
31
- return new utils.Date(obj);
25
+ if (isDate(obj)) {
26
+ return new Date(obj);
32
27
  }
33
28
  else if (obj instanceof Object) {
34
29
  // eslint-disable-next-line no-use-before-define
35
- return deepFill(obj, obj);
30
+ return deepFill(obj, obj, additionalMappers);
36
31
  }
37
32
  else {
38
33
  return obj;
@@ -42,33 +37,33 @@ export function immutablePrimitive(obj) {
42
37
  * Deep fill of base object using source
43
38
  * It will do a deep merge of the objects, overriding arrays
44
39
  * All properties not present in source, but present in base, will remain
45
- *
46
40
  * @param base
47
41
  * @param source
42
+ * @param additionalMappers Map of conditions of type mapper
48
43
  */
49
- export function deepFill(base, source) {
44
+ export function deepFill(base, source, additionalMappers) {
50
45
  if (typeof source === 'undefined') {
51
- return deepFill(base, base);
46
+ return deepFill(base, base, additionalMappers);
52
47
  }
53
- if (!isObject(base)) {
54
- return immutablePrimitive(typeof source !== 'undefined' ? source : base);
48
+ if (!isObject(base, additionalMappers)) {
49
+ return immutablePrimitive(typeof source !== 'undefined' ? source : base, additionalMappers);
55
50
  }
56
51
  const newObj = { ...base };
57
52
  for (const key in base) {
58
53
  if (key in source && typeof base[key] === typeof source[key]) {
59
54
  const keyOfSource = source[key];
60
- newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key]) : deepFill(base[key], source[key]);
55
+ newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key], additionalMappers) : deepFill(base[key], source[key], additionalMappers);
61
56
  }
62
57
  else {
63
- newObj[key] = immutablePrimitive(base[key]);
58
+ newObj[key] = immutablePrimitive(base[key], additionalMappers);
64
59
  }
65
60
  }
66
61
  // getting keys present in source and not present in base
67
62
  for (const key in source) {
68
63
  if (!(key in newObj)) {
69
- newObj[key] = immutablePrimitive(source[key]);
64
+ newObj[key] = immutablePrimitive(source[key], additionalMappers);
70
65
  }
71
66
  }
72
67
  return newObj;
73
68
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1maWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2RlZXAtZmlsbC9kZWVwLWZpbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVwQzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxHQUFRO0lBQzdCLE9BQU8sR0FBRyxZQUFZLEtBQUssQ0FBQyxRQUFRLElBQUksR0FBRyxZQUFZLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDcEUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVE7SUFDL0IsT0FBTyxHQUFHLFlBQVksTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFRO0lBQ3pDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUNwQjtTQUFNLElBQUksR0FBRyxZQUFZLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDeEMsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDaEM7U0FBTSxJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ3BDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO1NBQU0sSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFFO1FBQ2hDLGdEQUFnRDtRQUNoRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDM0I7U0FBTTtRQUNMLE9BQU8sR0FBRyxDQUFDO0tBQ1o7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQWlDLElBQU8sRUFBRSxNQUE2QjtJQUM3RixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUNqQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0I7SUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ25CLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzFFO0lBQ0QsTUFBTSxNQUFNLEdBQUcsRUFBQyxHQUFHLElBQUksRUFBQyxDQUFDO0lBQ3pCLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLElBQUksR0FBRyxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sV0FBVyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDckg7YUFBTTtZQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3QztLQUNGO0lBRUQseURBQXlEO0lBQ3pELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRTtZQUNwQixNQUFNLENBQUMsR0FBYyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7S0FDRjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3V0aWxzfSBmcm9tICdAYW1hLXNkay9jb3JlJztcblxuLyoqXG4gKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYSBkYXRlXG4gKlxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKG9iajogYW55KSB7XG4gIHJldHVybiBvYmogaW5zdGFuY2VvZiB1dGlscy5EYXRlVGltZSB8fCBvYmogaW5zdGFuY2VvZiB1dGlscy5EYXRlO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBub3QgYW4gYXJyYXkgb3IgYSBkYXRlXG4gKlxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3Qob2JqOiBhbnkpIHtcbiAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE9iamVjdCAmJiAhQXJyYXkuaXNBcnJheShvYmopICYmICFpc0RhdGUob2JqKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBuZXcgcmVmZXJlbmNlIG9mIHRoZSBnaXZlbiBvYmplY3RcbiAqXG4gKiBAcGFyYW0gb2JqXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbW11dGFibGVQcmltaXRpdmUob2JqOiBhbnkpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmouc2xpY2UoKTtcbiAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiB1dGlscy5EYXRlVGltZSkge1xuICAgIHJldHVybiBuZXcgdXRpbHMuRGF0ZVRpbWUob2JqKTtcbiAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiB1dGlscy5EYXRlKSB7XG4gICAgcmV0dXJuIG5ldyB1dGlscy5EYXRlKG9iaik7XG4gIH0gZWxzZSBpZiAob2JqIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gICAgcmV0dXJuIGRlZXBGaWxsKG9iaiwgb2JqKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG59XG5cbi8qKlxuICogRGVlcCBmaWxsIG9mIGJhc2Ugb2JqZWN0IHVzaW5nIHNvdXJjZVxuICogSXQgd2lsbCBkbyBhIGRlZXAgbWVyZ2Ugb2YgdGhlIG9iamVjdHMsIG92ZXJyaWRpbmcgYXJyYXlzXG4gKiBBbGwgcHJvcGVydGllcyBub3QgcHJlc2VudCBpbiBzb3VyY2UsIGJ1dCBwcmVzZW50IGluIGJhc2UsIHdpbGwgcmVtYWluXG4gKlxuICogQHBhcmFtIGJhc2VcbiAqIEBwYXJhbSBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBGaWxsPFQgZXh0ZW5kcyB7IFt4OiBzdHJpbmddOiBhbnkgfT4oYmFzZTogVCwgc291cmNlPzogeyBbeDogc3RyaW5nXTogYW55IH0pOiBUIHtcbiAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGRlZXBGaWxsKGJhc2UsIGJhc2UpO1xuICB9XG4gIGlmICghaXNPYmplY3QoYmFzZSkpIHtcbiAgICByZXR1cm4gaW1tdXRhYmxlUHJpbWl0aXZlKHR5cGVvZiBzb3VyY2UgIT09ICd1bmRlZmluZWQnID8gc291cmNlIDogYmFzZSk7XG4gIH1cbiAgY29uc3QgbmV3T2JqID0gey4uLmJhc2V9O1xuICBmb3IgKGNvbnN0IGtleSBpbiBiYXNlKSB7XG4gICAgaWYgKGtleSBpbiBzb3VyY2UgJiYgdHlwZW9mIGJhc2Vba2V5XSA9PT0gdHlwZW9mIHNvdXJjZVtrZXldKSB7XG4gICAgICBjb25zdCBrZXlPZlNvdXJjZSA9IHNvdXJjZVtrZXldO1xuICAgICAgbmV3T2JqW2tleV0gPSB0eXBlb2Yga2V5T2ZTb3VyY2UgPT09ICd1bmRlZmluZWQnID8gaW1tdXRhYmxlUHJpbWl0aXZlKGJhc2Vba2V5XSkgOiBkZWVwRmlsbChiYXNlW2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T2JqW2tleV0gPSBpbW11dGFibGVQcmltaXRpdmUoYmFzZVtrZXldKTtcbiAgICB9XG4gIH1cblxuICAvLyBnZXR0aW5nIGtleXMgcHJlc2VudCBpbiBzb3VyY2UgYW5kIG5vdCBwcmVzZW50IGluIGJhc2VcbiAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgaWYgKCEoa2V5IGluIG5ld09iaikpIHtcbiAgICAgIG5ld09ialtrZXkgYXMga2V5b2YgVF0gPSBpbW11dGFibGVQcmltaXRpdmUoc291cmNlW2tleV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3T2JqO1xufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1maWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2RlZXAtZmlsbC9kZWVwLWZpbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0FBRTdDLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQVcsQ0FBQyxDQUFDO0FBRTFFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVEsRUFBRSxpQkFBNEM7SUFDN0UsT0FBTyxHQUFHLFlBQVksTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JJLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVEsRUFBRSxpQkFBNEM7SUFDdkYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3BCO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRixNQUFNLFlBQVksR0FBRyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxJQUFJLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDOUIsT0FBTyxZQUFZLENBQUM7S0FDckI7SUFDRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDdEI7U0FBTSxJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7UUFDaEMsZ0RBQWdEO1FBQ2hELE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztLQUM5QztTQUFNO1FBQ0wsT0FBTyxHQUFHLENBQUM7S0FDWjtBQUNILENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBaUMsSUFBTyxFQUFFLE1BQTZCLEVBQUUsaUJBQTRDO0lBQzNJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQ2pDLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztLQUNoRDtJQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLEVBQUU7UUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7S0FDN0Y7SUFDRCxNQUFNLE1BQU0sR0FBRyxFQUFDLEdBQUcsSUFBSSxFQUFDLENBQUM7SUFDekIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDdEIsSUFBSSxHQUFHLElBQUksTUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztTQUMzSjthQUFNO1lBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQ2hFO0tBQ0Y7SUFFRCx5REFBeUQ7SUFDekQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7UUFDeEIsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFjLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztTQUM3RTtLQUNGO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBSZXZpdmVyIE1hcHBlciB0byBkZXRlY3QgYW5kIGNyZWF0ZSBvYmplY3Qgb24gZGVlcEZpbGwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJpbWl0aXZlUmV2aXZlck1hcHBlcjxUID0gYW55PiB7XG4gIC8qKiBDb25kaXRpb24gdG8gZmlsbCB0byBiZSBkZXRlcm1pbmUgYXMgICovXG4gIGNvbmRpdGlvbjogKGRhdGE6IGFueSkgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uc3RydWN0IHRoZSBwcmltaXRpdmUgdHlwZSBpZiBuZWVkZWRcbiAgICogQHBhcmFtIGRhdGEgdG8gYmUgY29uc3RydWN0ZWRcbiAgICogQGRlZmF1bHQge0BzZWUgZGVmYXVsdENvbnN0cnVjdH1cbiAgICovXG4gIGNvbnN0cnVjdD86IChkYXRhOiBhbnkpID0+IFQ7XG59XG5cbmNvbnN0IGRlZmF1bHRDb25zdHJ1Y3QgPSAoZGF0YTogYW55KSA9PiBkYXRhO1xuXG5jb25zdCBpc0RhdGUgPSAoZGF0YTogYW55KSA9PiBkYXRhIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0YSBhcyBhbnkpO1xuXG4vKipcbiAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBub3QgYW4gYXJyYXkgb3IgYSBkYXRlXG4gKiBAcGFyYW0gb2JqXG4gKiBAcGFyYW0gYWRkaXRpb25hbE1hcHBlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KG9iajogYW55LCBhZGRpdGlvbmFsTWFwcGVycz86IFByaW1pdGl2ZVJldml2ZXJNYXBwZXJbXSkge1xuICByZXR1cm4gb2JqIGluc3RhbmNlb2YgT2JqZWN0ICYmICFBcnJheS5pc0FycmF5KG9iaikgJiYgIWFkZGl0aW9uYWxNYXBwZXJzPy5zb21lKChtYXBwZXIpID0+IG1hcHBlci5jb25kaXRpb24ob2JqKSkgJiYgIWlzRGF0ZShvYmopO1xufVxuXG4vKipcbiAqIFJldHVybiBhIG5ldyByZWZlcmVuY2Ugb2YgdGhlIGdpdmVuIG9iamVjdFxuICogQHBhcmFtIG9ialxuICogQHBhcmFtIGFkZGl0aW9uYWxNYXBwZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbW11dGFibGVQcmltaXRpdmUob2JqOiBhbnksIGFkZGl0aW9uYWxNYXBwZXJzPzogUHJpbWl0aXZlUmV2aXZlck1hcHBlcltdKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLnNsaWNlKCk7XG4gIH1cblxuICBjb25zdCBtYXRjaGluZ1ByaW1pdGl2ZSA9IGFkZGl0aW9uYWxNYXBwZXJzPy5maW5kKChtYXBwZXIpID0+IG1hcHBlci5jb25kaXRpb24ob2JqKSk7XG4gIGNvbnN0IHJlc29sdmVkVHlwZSA9IG1hdGNoaW5nUHJpbWl0aXZlICYmICgobWF0Y2hpbmdQcmltaXRpdmUuY29uc3RydWN0IHx8IGRlZmF1bHRDb25zdHJ1Y3QpKG9iaikpO1xuICBpZiAocmVzb2x2ZWRUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcmVzb2x2ZWRUeXBlO1xuICB9XG4gIGlmIChpc0RhdGUob2JqKSkge1xuICAgIHJldHVybiBuZXcgRGF0ZShvYmopO1xuICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICAgIHJldHVybiBkZWVwRmlsbChvYmosIG9iaiwgYWRkaXRpb25hbE1hcHBlcnMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBvYmo7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWVwIGZpbGwgb2YgYmFzZSBvYmplY3QgdXNpbmcgc291cmNlXG4gKiBJdCB3aWxsIGRvIGEgZGVlcCBtZXJnZSBvZiB0aGUgb2JqZWN0cywgb3ZlcnJpZGluZyBhcnJheXNcbiAqIEFsbCBwcm9wZXJ0aWVzIG5vdCBwcmVzZW50IGluIHNvdXJjZSwgYnV0IHByZXNlbnQgaW4gYmFzZSwgd2lsbCByZW1haW5cbiAqIEBwYXJhbSBiYXNlXG4gKiBAcGFyYW0gc291cmNlXG4gKiBAcGFyYW0gYWRkaXRpb25hbE1hcHBlcnMgTWFwIG9mIGNvbmRpdGlvbnMgb2YgdHlwZSBtYXBwZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBGaWxsPFQgZXh0ZW5kcyB7IFt4OiBzdHJpbmddOiBhbnkgfT4oYmFzZTogVCwgc291cmNlPzogeyBbeDogc3RyaW5nXTogYW55IH0sIGFkZGl0aW9uYWxNYXBwZXJzPzogUHJpbWl0aXZlUmV2aXZlck1hcHBlcltdKTogVCB7XG4gIGlmICh0eXBlb2Ygc291cmNlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBkZWVwRmlsbChiYXNlLCBiYXNlLCBhZGRpdGlvbmFsTWFwcGVycyk7XG4gIH1cbiAgaWYgKCFpc09iamVjdChiYXNlLCBhZGRpdGlvbmFsTWFwcGVycykpIHtcbiAgICByZXR1cm4gaW1tdXRhYmxlUHJpbWl0aXZlKHR5cGVvZiBzb3VyY2UgIT09ICd1bmRlZmluZWQnID8gc291cmNlIDogYmFzZSwgYWRkaXRpb25hbE1hcHBlcnMpO1xuICB9XG4gIGNvbnN0IG5ld09iaiA9IHsuLi5iYXNlfTtcbiAgZm9yIChjb25zdCBrZXkgaW4gYmFzZSkge1xuICAgIGlmIChrZXkgaW4gc291cmNlICYmIHR5cGVvZiBiYXNlW2tleV0gPT09IHR5cGVvZiBzb3VyY2Vba2V5XSkge1xuICAgICAgY29uc3Qga2V5T2ZTb3VyY2UgPSBzb3VyY2Vba2V5XTtcbiAgICAgIG5ld09ialtrZXldID0gdHlwZW9mIGtleU9mU291cmNlID09PSAndW5kZWZpbmVkJyA/IGltbXV0YWJsZVByaW1pdGl2ZShiYXNlW2tleV0sIGFkZGl0aW9uYWxNYXBwZXJzKSA6IGRlZXBGaWxsKGJhc2Vba2V5XSwgc291cmNlW2tleV0sIGFkZGl0aW9uYWxNYXBwZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T2JqW2tleV0gPSBpbW11dGFibGVQcmltaXRpdmUoYmFzZVtrZXldLCBhZGRpdGlvbmFsTWFwcGVycyk7XG4gICAgfVxuICB9XG5cbiAgLy8gZ2V0dGluZyBrZXlzIHByZXNlbnQgaW4gc291cmNlIGFuZCBub3QgcHJlc2VudCBpbiBiYXNlXG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuICAgIGlmICghKGtleSBpbiBuZXdPYmopKSB7XG4gICAgICBuZXdPYmpba2V5IGFzIGtleW9mIFRdID0gaW1tdXRhYmxlUHJpbWl0aXZlKHNvdXJjZVtrZXldLCBhZGRpdGlvbmFsTWFwcGVycyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXdPYmo7XG59XG4iXX0=
@@ -4,7 +4,6 @@ import { bufferCount, concatMap, delay, mergeMap, scan, tap } from 'rxjs/operato
4
4
  * Buffers and emits data for lazy/progressive rendering of big lists
5
5
  * That could solve issues with long-running tasks when trying to render an array
6
6
  * of similar components.
7
- *
8
7
  * @param delayMs Delay between data emits
9
8
  * @param concurrency Amount of elements that should be emitted at once
10
9
  * @returns
@@ -30,4 +29,4 @@ export function lazyArray(delayMs = 0, concurrency = 2) {
30
29
  }));
31
30
  };
32
31
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcmVuZGVyaW5nL3JlbmRlcmluZy5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQWMsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixHQUFHLEVBQ0osTUFBTSxnQkFBZ0IsQ0FBQztBQUV4Qjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxXQUFXLEdBQUcsQ0FBQztJQUN2RCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDM0IsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtRQUNsQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xCO1lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTNCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUN4QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3pCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDbkIsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEVBQ2xDLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQ3ZCLENBQUM7WUFDSixDQUFDLENBQUMsRUFDRixJQUFJLENBQUMsQ0FBQyxHQUFRLEVBQUUsS0FBVSxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDTixHQUFHLENBQUMsQ0FBQyxZQUFpQixFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFFN0QsSUFBSSxlQUFlLEVBQUU7b0JBQ25CLGVBQWUsR0FBRyxLQUFLLENBQUM7aUJBQ3pCO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsIGZyb20sIE9ic2VydmFibGUsIG9ic2VydmVPbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGJ1ZmZlckNvdW50LFxuICBjb25jYXRNYXAsXG4gIGRlbGF5LFxuICBtZXJnZU1hcCxcbiAgc2NhbixcbiAgdGFwXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBCdWZmZXJzIGFuZCBlbWl0cyBkYXRhIGZvciBsYXp5L3Byb2dyZXNzaXZlIHJlbmRlcmluZyBvZiBiaWcgbGlzdHNcbiAqIFRoYXQgY291bGQgc29sdmUgaXNzdWVzIHdpdGggbG9uZy1ydW5uaW5nIHRhc2tzIHdoZW4gdHJ5aW5nIHRvIHJlbmRlciBhbiBhcnJheVxuICogb2Ygc2ltaWxhciBjb21wb25lbnRzLlxuICpcbiAqIEBwYXJhbSBkZWxheU1zIERlbGF5IGJldHdlZW4gZGF0YSBlbWl0c1xuICogQHBhcmFtIGNvbmN1cnJlbmN5IEFtb3VudCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSBlbWl0dGVkIGF0IG9uY2VcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsYXp5QXJyYXk8VD4oZGVsYXlNcyA9IDAsIGNvbmN1cnJlbmN5ID0gMikge1xuICBsZXQgaXNGaXJzdEVtaXNzaW9uID0gdHJ1ZTtcbiAgcmV0dXJuIChzb3VyY2UkOiBPYnNlcnZhYmxlPFRbXT4pID0+IHtcbiAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGl0ZW1zKSA9PiB7XG4gICAgICAgIGlmICghaXNGaXJzdEVtaXNzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW1zJCA9IGZyb20oaXRlbXMpO1xuXG4gICAgICAgIHJldHVybiBpdGVtcyQucGlwZShcbiAgICAgICAgICBidWZmZXJDb3VudChjb25jdXJyZW5jeSksXG4gICAgICAgICAgY29uY2F0TWFwKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBvZih2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgb2JzZXJ2ZU9uKGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyKSxcbiAgICAgICAgICAgICAgZGVsYXkoaW5kZXggKiBkZWxheU1zKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzY2FuKChhY2M6IFRbXSwgc3RlcHM6IFRbXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIC4uLnN0ZXBzXTtcbiAgICAgICAgICB9LCBbXSksXG4gICAgICAgICAgdGFwKChzY2FubmVkSXRlbXM6IFRbXSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2NhbkRpZENvbXBsZXRlID0gc2Nhbm5lZEl0ZW1zLmxlbmd0aCA9PT0gaXRlbXMubGVuZ3RoO1xuXG4gICAgICAgICAgICBpZiAoc2NhbkRpZENvbXBsZXRlKSB7XG4gICAgICAgICAgICAgIGlzRmlyc3RFbWlzc2lvbiA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH07XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcmVuZGVyaW5nL3JlbmRlcmluZy5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQWMsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixHQUFHLEVBQ0osTUFBTSxnQkFBZ0IsQ0FBQztBQUV4Qjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDO0lBQ3ZELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQztJQUMzQixPQUFPLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDcEIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbEI7WUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFM0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixXQUFXLENBQUMsV0FBVyxDQUFDLEVBQ3hCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsdUJBQXVCLENBQUMsRUFDbEMsS0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FDdkIsQ0FBQztZQUNKLENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxLQUFVLEVBQUUsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUNOLEdBQUcsQ0FBQyxDQUFDLFlBQWlCLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUU3RCxJQUFJLGVBQWUsRUFBRTtvQkFDbkIsZUFBZSxHQUFHLEtBQUssQ0FBQztpQkFDekI7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRpb25GcmFtZVNjaGVkdWxlciwgZnJvbSwgT2JzZXJ2YWJsZSwgb2JzZXJ2ZU9uLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgYnVmZmVyQ291bnQsXG4gIGNvbmNhdE1hcCxcbiAgZGVsYXksXG4gIG1lcmdlTWFwLFxuICBzY2FuLFxuICB0YXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEJ1ZmZlcnMgYW5kIGVtaXRzIGRhdGEgZm9yIGxhenkvcHJvZ3Jlc3NpdmUgcmVuZGVyaW5nIG9mIGJpZyBsaXN0c1xuICogVGhhdCBjb3VsZCBzb2x2ZSBpc3N1ZXMgd2l0aCBsb25nLXJ1bm5pbmcgdGFza3Mgd2hlbiB0cnlpbmcgdG8gcmVuZGVyIGFuIGFycmF5XG4gKiBvZiBzaW1pbGFyIGNvbXBvbmVudHMuXG4gKiBAcGFyYW0gZGVsYXlNcyBEZWxheSBiZXR3ZWVuIGRhdGEgZW1pdHNcbiAqIEBwYXJhbSBjb25jdXJyZW5jeSBBbW91bnQgb2YgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgZW1pdHRlZCBhdCBvbmNlXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbGF6eUFycmF5PFQ+KGRlbGF5TXMgPSAwLCBjb25jdXJyZW5jeSA9IDIpIHtcbiAgbGV0IGlzRmlyc3RFbWlzc2lvbiA9IHRydWU7XG4gIHJldHVybiAoc291cmNlJDogT2JzZXJ2YWJsZTxUW10+KSA9PiB7XG4gICAgcmV0dXJuIHNvdXJjZSQucGlwZShcbiAgICAgIG1lcmdlTWFwKChpdGVtcykgPT4ge1xuICAgICAgICBpZiAoIWlzRmlyc3RFbWlzc2lvbikge1xuICAgICAgICAgIHJldHVybiBvZihpdGVtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtcyQgPSBmcm9tKGl0ZW1zKTtcblxuICAgICAgICByZXR1cm4gaXRlbXMkLnBpcGUoXG4gICAgICAgICAgYnVmZmVyQ291bnQoY29uY3VycmVuY3kpLFxuICAgICAgICAgIGNvbmNhdE1hcCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gb2YodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgIG9ic2VydmVPbihhbmltYXRpb25GcmFtZVNjaGVkdWxlciksXG4gICAgICAgICAgICAgIGRlbGF5KGluZGV4ICogZGVsYXlNcylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgc2NhbigoYWNjOiBUW10sIHN0ZXBzOiBUW10pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbLi4uYWNjLCAuLi5zdGVwc107XG4gICAgICAgICAgfSwgW10pLFxuICAgICAgICAgIHRhcCgoc2Nhbm5lZEl0ZW1zOiBUW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjYW5EaWRDb21wbGV0ZSA9IHNjYW5uZWRJdGVtcy5sZW5ndGggPT09IGl0ZW1zLmxlbmd0aDtcblxuICAgICAgICAgICAgaWYgKHNjYW5EaWRDb21wbGV0ZSkge1xuICAgICAgICAgICAgICBpc0ZpcnN0RW1pc3Npb24gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9O1xufVxuIl19
@@ -1,9 +1,6 @@
1
- import { map, filter, EMPTY, from, isObservable, of, identity, BehaviorSubject, merge, observeOn, animationFrameScheduler } from 'rxjs';
1
+ import { map, filter, EMPTY, isObservable, of, from, identity, BehaviorSubject, merge, animationFrameScheduler, observeOn } from 'rxjs';
2
2
  import { v4 } from 'uuid';
3
- import { tap, startWith, pairwise, switchMap, catchError, filter as filter$1, delay, finalize, mergeMap, bufferCount, concatMap, scan } from 'rxjs/operators';
4
- import { createAction, props, INIT, UPDATE } from '@ngrx/store';
5
- import { localStorageSync } from 'ngrx-store-localstorage';
6
- import { utils } from '@ama-sdk/core';
3
+ import { tap, startWith, pairwise, switchMap, catchError, filter as filter$1, delay, finalize, bufferCount, concatMap, scan, mergeMap } from 'rxjs/operators';
7
4
 
8
5
  /* eslint-disable @typescript-eslint/naming-convention */
9
6
  /**
@@ -30,7 +27,6 @@ const DEFAULT_BUILD_PROPERTIES = {
30
27
  const otterComponentInfoPropertyName = '__otter-info__';
31
28
  /**
32
29
  * Decorates an Angular component to provide Otter information
33
- *
34
30
  * @param info Information to define the Otter component
35
31
  * @returns the component with the information
36
32
  */
@@ -43,6 +39,15 @@ function O3rComponent(info) {
43
39
  };
44
40
  }
45
41
 
42
+ /**
43
+ * Compute the name of the component with the library's name to generate unique component identifier used in metadata and different modules
44
+ * @param componentName Name of the component to get the configuration
45
+ * @param libraryName Name of the library the component is coming from
46
+ */
47
+ function computeItemIdentifier(componentName, libraryName) {
48
+ return (libraryName ? libraryName + '#' : '') + componentName;
49
+ }
50
+
46
51
  /** Type of a message exchanged within the Otter Framework */
47
52
  const otterMessageType = 'otter';
48
53
  /** Target of a message that should be handled by the application */
@@ -50,7 +55,6 @@ const applicationMessageTarget = 'app';
50
55
 
51
56
  /**
52
57
  * Determine if a message should be handle by the application
53
- *
54
58
  * @param message Message to analyze
55
59
  */
56
60
  const isToAppOtterMessage = (message) => {
@@ -58,7 +62,6 @@ const isToAppOtterMessage = (message) => {
58
62
  };
59
63
  /**
60
64
  * Determine if a message is emitted by an Otter tool
61
- *
62
65
  * @param message Message to analyze
63
66
  */
64
67
  const isOtterMessage = (message) => {
@@ -66,7 +69,6 @@ const isOtterMessage = (message) => {
66
69
  };
67
70
  /**
68
71
  * Send an Otter Message
69
- *
70
72
  * @param dataType Type of the message
71
73
  * @param content content of the message
72
74
  * @param preStringify determine if the message should JSON.stringify before being send (will use the default mechanism otherwise)
@@ -83,7 +85,6 @@ const sendOtterMessage = (dataType, content, preStringify = true) => {
83
85
  };
84
86
  /**
85
87
  * Filter the Otter message that should be handle by the application and returns it content
86
- *
87
88
  * @param predicate condition to filter the message
88
89
  * @returns content of the message
89
90
  */
@@ -104,7 +105,6 @@ function filterMessageContent(predicate) {
104
105
 
105
106
  /**
106
107
  * Determine if the action is an AsyncRequest action
107
- *
108
108
  * @param action Redux Action
109
109
  */
110
110
  function isCallAction(action) {
@@ -115,7 +115,6 @@ function isCallAction(action) {
115
115
  }
116
116
  /**
117
117
  * Determine if the action is an AsyncRequest action with a Request ID
118
- *
119
118
  * @param action Redux Action
120
119
  */
121
120
  function isIdentifiedCallAction(action) {
@@ -123,7 +122,6 @@ function isIdentifiedCallAction(action) {
123
122
  }
124
123
  /**
125
124
  * Determine if the given item implements the AsyncRequest interface
126
- *
127
125
  * @param item
128
126
  */
129
127
  function isAsyncRequest(item) {
@@ -225,7 +223,6 @@ const asyncStoreItemAdapter = {
225
223
 
226
224
  /**
227
225
  * Create an Asynchronous Request Entity Adapter
228
- *
229
226
  * @param adapter Entity Adapter
230
227
  */
231
228
  function createEntityAsyncRequestAdapter(adapter) {
@@ -288,7 +285,6 @@ const asyncProps = () => {
288
285
  /**
289
286
  * Custom operator to use instead of SwitchMap with effects based on FromApi actions.
290
287
  * 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.
291
- *
292
288
  * @param successHandler function that returns the action to emit in case the FromApi call is a success
293
289
  * @param errorHandler function that returns the action to emit in case the FromApi call fails
294
290
  * @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
@@ -311,8 +307,8 @@ function fromApiEffectSwitchMap(successHandler, errorHandler, cancelRequestActio
311
307
  }
312
308
  };
313
309
  return from(action.call).pipe(tap(cleanStack), switchMap((result) => {
314
- const success = successHandler(result, action);
315
- return isObservable(success) ? success : of(success);
310
+ const sucessPromise = Promise.resolve(successHandler(result, action));
311
+ return from(sucessPromise).pipe(switchMap((success) => isObservable(success) ? success : of(success)));
316
312
  }), catchError((error) => {
317
313
  cleanStack();
318
314
  return errorHandler?.(error, action) || EMPTY;
@@ -355,7 +351,6 @@ function fromApiEffectSwitchMapById(successHandler, errorHandler, cancelRequestA
355
351
 
356
352
  /**
357
353
  * Serializer for asynchronous store.
358
- *
359
354
  * @param state State of an asynchronous store to serialize
360
355
  * @returns a plain json object to pass to json.stringify
361
356
  */
@@ -364,7 +359,6 @@ function asyncSerializer(state) {
364
359
  }
365
360
  /**
366
361
  * Serializer for asynchronous entity store.
367
- *
368
362
  * @param state State of an asynchronous entity store to serialize
369
363
  * @returns a plain json object to pass to json.stringify
370
364
  */
@@ -377,7 +371,6 @@ function asyncEntitySerializer(state) {
377
371
  }
378
372
  /**
379
373
  * Serializer for asynchronous entity store with status.
380
- *
381
374
  * @param state State of an asynchronous entity store with status to serialize
382
375
  * @returns a plain json object to pass to json.stringify
383
376
  */
@@ -389,9 +382,19 @@ function asyncEntityWithStatusSerializer(state) {
389
382
  return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };
390
383
  }
391
384
 
385
+ class StateSerializer {
386
+ constructor(serializer) {
387
+ this.reviver = (_, value) => value;
388
+ this.serialize = serializer.serialize || this.serialize;
389
+ this.deserialize = serializer.deserialize || this.deserialize;
390
+ this.reviver = serializer.reviver || this.reviver;
391
+ this.replacer = serializer.replacer || this.replacer;
392
+ this.initialState = serializer.initialState || this.initialState;
393
+ }
394
+ }
395
+
392
396
  /**
393
397
  * Pad number
394
- *
395
398
  * @param val
396
399
  * @param digits
397
400
  */
@@ -401,7 +404,6 @@ function padNumber(val, digits = 2) {
401
404
  }
402
405
  /**
403
406
  * Returns TRUE if bootstrap config environment is production FALSE otherwise
404
- *
405
407
  * @param dataset
406
408
  * @returns TRUE if bootstrap config environment is production FALSE otherwise
407
409
  */
@@ -411,40 +413,36 @@ function isProductionEnvironment(dataset) {
411
413
  return bootstrapConfig?.environment === 'prod';
412
414
  }
413
415
 
414
- /**
415
- * Check if an object is a date
416
- *
417
- * @param obj
418
- */
419
- function isDate(obj) {
420
- return obj instanceof utils.DateTime || obj instanceof utils.Date;
421
- }
416
+ const defaultConstruct = (data) => data;
417
+ const isDate = (data) => data instanceof Date && !isNaN(data);
422
418
  /**
423
419
  * Check if an object is not an array or a date
424
- *
425
420
  * @param obj
421
+ * @param additionalMappers
426
422
  */
427
- function isObject(obj) {
428
- return obj instanceof Object && !Array.isArray(obj) && !isDate(obj);
423
+ function isObject(obj, additionalMappers) {
424
+ return obj instanceof Object && !Array.isArray(obj) && !additionalMappers?.some((mapper) => mapper.condition(obj)) && !isDate(obj);
429
425
  }
430
426
  /**
431
427
  * Return a new reference of the given object
432
- *
433
428
  * @param obj
429
+ * @param additionalMappers
434
430
  */
435
- function immutablePrimitive(obj) {
431
+ function immutablePrimitive(obj, additionalMappers) {
436
432
  if (Array.isArray(obj)) {
437
433
  return obj.slice();
438
434
  }
439
- else if (obj instanceof utils.DateTime) {
440
- return new utils.DateTime(obj);
435
+ const matchingPrimitive = additionalMappers?.find((mapper) => mapper.condition(obj));
436
+ const resolvedType = matchingPrimitive && ((matchingPrimitive.construct || defaultConstruct)(obj));
437
+ if (resolvedType !== undefined) {
438
+ return resolvedType;
441
439
  }
442
- else if (obj instanceof utils.Date) {
443
- return new utils.Date(obj);
440
+ if (isDate(obj)) {
441
+ return new Date(obj);
444
442
  }
445
443
  else if (obj instanceof Object) {
446
444
  // eslint-disable-next-line no-use-before-define
447
- return deepFill(obj, obj);
445
+ return deepFill(obj, obj, additionalMappers);
448
446
  }
449
447
  else {
450
448
  return obj;
@@ -454,31 +452,31 @@ function immutablePrimitive(obj) {
454
452
  * Deep fill of base object using source
455
453
  * It will do a deep merge of the objects, overriding arrays
456
454
  * All properties not present in source, but present in base, will remain
457
- *
458
455
  * @param base
459
456
  * @param source
457
+ * @param additionalMappers Map of conditions of type mapper
460
458
  */
461
- function deepFill(base, source) {
459
+ function deepFill(base, source, additionalMappers) {
462
460
  if (typeof source === 'undefined') {
463
- return deepFill(base, base);
461
+ return deepFill(base, base, additionalMappers);
464
462
  }
465
- if (!isObject(base)) {
466
- return immutablePrimitive(typeof source !== 'undefined' ? source : base);
463
+ if (!isObject(base, additionalMappers)) {
464
+ return immutablePrimitive(typeof source !== 'undefined' ? source : base, additionalMappers);
467
465
  }
468
466
  const newObj = { ...base };
469
467
  for (const key in base) {
470
468
  if (key in source && typeof base[key] === typeof source[key]) {
471
469
  const keyOfSource = source[key];
472
- newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key]) : deepFill(base[key], source[key]);
470
+ newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key], additionalMappers) : deepFill(base[key], source[key], additionalMappers);
473
471
  }
474
472
  else {
475
- newObj[key] = immutablePrimitive(base[key]);
473
+ newObj[key] = immutablePrimitive(base[key], additionalMappers);
476
474
  }
477
475
  }
478
476
  // getting keys present in source and not present in base
479
477
  for (const key in source) {
480
478
  if (!(key in newObj)) {
481
- newObj[key] = immutablePrimitive(source[key]);
479
+ newObj[key] = immutablePrimitive(source[key], additionalMappers);
482
480
  }
483
481
  }
484
482
  return newObj;
@@ -488,7 +486,6 @@ function deepFill(base, source) {
488
486
  * Buffers and emits data for lazy/progressive rendering of big lists
489
487
  * That could solve issues with long-running tasks when trying to render an array
490
488
  * of similar components.
491
- *
492
489
  * @param delayMs Delay between data emits
493
490
  * @param concurrency Amount of elements that should be emitted at once
494
491
  * @returns
@@ -515,128 +512,9 @@ function lazyArray(delayMs = 0, concurrency = 2) {
515
512
  };
516
513
  }
517
514
 
518
- /**
519
- * Defines if an object is a Serializer
520
- *
521
- * @deprecated will be removed in v10, use the one exported by @o3r/store-sync instead
522
- * @param obj Object to test
523
- * @returns True if the object is a Serializer
524
- */
525
- const isSerializer = (obj) => !!(obj.serialize || obj.deserialize || obj.reviver || obj.replacer || obj.initialState);
526
- /**
527
- * Action to rehydrate the store
528
- *
529
- * @deprecated will be removed in v10, use the `rehydrateAction` exported by @o3r/store-sync instead
530
- */
531
- const rehydrate = createAction('[CapacitorRehydrater] rehydrate', props());
532
- /**
533
- * Defines if the storage is a non-async storage
534
- *
535
- * @deprecated will be removed in v10, use the one exported by @o3r/store-sync instead
536
- * @param options The storage config
537
- * @returns in case the storage used is a non-async storage
538
- */
539
- const isLocalStorageConfig = (options) => !options.storage || options.storage instanceof Storage;
540
- class StorageSync {
541
- constructor(options) {
542
- this.alreadyHydratedStoreSlices = new Set();
543
- this.hasHydrated = false;
544
- /**
545
- * Handle state manipulation in case of store storage sync
546
- * Merge strategy is a full merge at init; When a new `store slice` is registered, its initial state is merged with its corresponding storage content
547
- * Pass it as mergeReducer callback when calling localStorageSync function from 'ngrx-store-localstorage', in the app
548
- *
549
- * @deprecated will be removed in v10, use the one exported by @o3r/store-sync instead
550
- * @param state actual state
551
- * @param rehydratedState state from storage
552
- * @param action Triggered action
553
- */
554
- this.mergeReducer = (state, rehydratedState, action) => {
555
- if (rehydratedState) {
556
- if (action.type === INIT) {
557
- state = deepFill(state, rehydratedState);
558
- }
559
- if (action.type === UPDATE && Array.isArray(action.features)) {
560
- const notHandledFeatures = action.features.filter((featName) => !this.alreadyHydratedStoreSlices.has(featName));
561
- notHandledFeatures.filter((featName) => !!rehydratedState[featName]).forEach((fName) => {
562
- state[fName] = state[fName] ? deepFill(state[fName], rehydratedState[fName]) : rehydratedState[fName];
563
- this.alreadyHydratedStoreSlices.add(fName);
564
- });
565
- }
566
- }
567
- return state;
568
- };
569
- this.options = {
570
- keys: [],
571
- ...options,
572
- mergeReducer: typeof options?.mergeReducer !== 'function' ? this.mergeReducer : options.mergeReducer
573
- };
574
- }
575
- /**
576
- * Returns a meta reducer that handles storage sync
577
- *
578
- * @deprecated will be removed in v10, use the one exported by @o3r/store-sync instead
579
- */
580
- localStorageSync() {
581
- return (reducer) => {
582
- if (isLocalStorageConfig(this.options)) {
583
- return localStorageSync(this.options)(reducer);
584
- }
585
- const base = localStorageSync({
586
- ...this.options,
587
- rehydrate: false,
588
- storage: this.options.storage,
589
- syncCondition: () => this.hasHydrated
590
- })(reducer);
591
- return (state, action) => {
592
- let hydratedState = state;
593
- if (action.type === rehydrate.type) {
594
- const hasAlreadyHydrated = this.hasHydrated;
595
- this.hasHydrated = true;
596
- const initialStates = this.options.keys.reduce((acc, key) => {
597
- const storeName = Object.keys(key)[0];
598
- const storeSynchronizer = key[storeName];
599
- if (isSerializer(storeSynchronizer)) {
600
- acc[storeName] = storeSynchronizer.initialState;
601
- }
602
- return acc;
603
- }, {});
604
- let overrides = {};
605
- if (!hasAlreadyHydrated) {
606
- overrides = Object.entries(action.payload).reduce((acc, [storeName, value]) => {
607
- if (!initialStates[storeName] || initialStates[storeName] === state[storeName]) {
608
- acc[storeName] = value;
609
- }
610
- else if (initialStates[storeName] !== state[storeName]) {
611
- (this.options.logger || console).error(`Unable to rehydrate store "${storeName}", it has been modified before being hydrated`);
612
- }
613
- return acc;
614
- }, {});
615
- }
616
- if (Object.keys(overrides).length) {
617
- hydratedState = { ...state, ...overrides };
618
- }
619
- }
620
- return base(hydratedState, action);
621
- };
622
- };
623
- }
624
- }
625
-
626
- class StateSerializer {
627
- constructor(serializer) {
628
- this.reviver = (_, value) => value;
629
- this.serialize = serializer.serialize || this.serialize;
630
- this.deserialize = serializer.deserialize || this.deserialize;
631
- this.reviver = serializer.reviver || this.reviver;
632
- this.replacer = serializer.replacer || this.replacer;
633
- this.initialState = serializer.initialState || this.initialState;
634
- }
635
- }
636
-
637
515
  /**
638
516
  * Generated bundle index. Do not edit.
639
517
  */
640
518
 
641
- export { DEFAULT_BUILD_PROPERTIES, O3rComponent, StateSerializer, StorageSync, applicationMessageTarget, asyncEntitySerializer, asyncEntityWithStatusSerializer, asyncProps, asyncSerializer, asyncStoreItemAdapter, createEntityAsyncRequestAdapter, deepFill, filterMessageContent, fromApiEffectSwitchMap, fromApiEffectSwitchMapById, immutablePrimitive, isAsyncRequest, isCallAction, isDate, isIdentifiedCallAction, isLocalStorageConfig, isObject, isOtterMessage, isProductionEnvironment, isSerializer, isToAppOtterMessage, lazyArray, otterComponentInfoPropertyName, otterMessageType, padNumber, rehydrate, sendOtterMessage };
519
+ export { DEFAULT_BUILD_PROPERTIES, O3rComponent, StateSerializer, applicationMessageTarget, asyncEntitySerializer, asyncEntityWithStatusSerializer, asyncProps, asyncSerializer, asyncStoreItemAdapter, computeItemIdentifier, createEntityAsyncRequestAdapter, deepFill, filterMessageContent, fromApiEffectSwitchMap, fromApiEffectSwitchMapById, immutablePrimitive, isAsyncRequest, isCallAction, isIdentifiedCallAction, isObject, isOtterMessage, isProductionEnvironment, isToAppOtterMessage, lazyArray, otterComponentInfoPropertyName, otterMessageType, padNumber, sendOtterMessage };
642
520
  //# sourceMappingURL=o3r-core.mjs.map