synapse-storage 3.0.2 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/api.cjs +891 -0
  2. package/dist/api.cjs.map +1 -0
  3. package/dist/api.d.cts +365 -0
  4. package/dist/api.d.ts +365 -0
  5. package/dist/api.js +860 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/core.cjs +2389 -0
  8. package/dist/core.cjs.map +1 -0
  9. package/dist/core.d.cts +397 -0
  10. package/dist/{core/storage/modules/plugin/plugin.interface.d.ts → core.d.ts} +203 -7
  11. package/dist/core.js +2356 -0
  12. package/dist/core.js.map +1 -0
  13. package/dist/dispatcher.module-CdpmkplA.d.cts +363 -0
  14. package/dist/dispatcher.module-jd8U_ZEs.d.ts +363 -0
  15. package/dist/index.cjs +4148 -0
  16. package/dist/index.cjs.map +1 -0
  17. package/dist/index.d.cts +10 -0
  18. package/dist/index.d.ts +10 -10
  19. package/dist/index.js +4092 -13
  20. package/dist/index.js.map +1 -1
  21. package/dist/react.cjs +268 -0
  22. package/dist/react.cjs.map +1 -0
  23. package/dist/react.d.cts +74 -0
  24. package/dist/react.d.ts +74 -0
  25. package/dist/react.js +239 -0
  26. package/dist/react.js.map +1 -0
  27. package/dist/reactive.cjs +643 -0
  28. package/dist/reactive.cjs.map +1 -0
  29. package/dist/reactive.d.cts +35 -0
  30. package/dist/reactive.d.ts +35 -0
  31. package/dist/reactive.js +604 -0
  32. package/dist/reactive.js.map +1 -0
  33. package/dist/{core/selector/selector.interface.d.ts → selector.interface-CA5y-kD_.d.cts} +7 -35
  34. package/dist/selector.interface-CA5y-kD_.d.ts +63 -0
  35. package/dist/storage.interface-Dl8SLUd1.d.cts +128 -0
  36. package/dist/storage.interface-Dl8SLUd1.d.ts +128 -0
  37. package/dist/utils.cjs +601 -0
  38. package/dist/utils.cjs.map +1 -0
  39. package/dist/utils.d.cts +92 -0
  40. package/dist/utils.d.ts +92 -0
  41. package/dist/utils.js +574 -0
  42. package/dist/utils.js.map +1 -0
  43. package/package.json +54 -17
  44. package/dist/_utils/chunk.util.d.ts +0 -8
  45. package/dist/_utils/chunk.util.d.ts.map +0 -1
  46. package/dist/_utils/chunk.util.js +0 -21
  47. package/dist/_utils/chunk.util.js.map +0 -1
  48. package/dist/_utils/deepMerge.util.d.ts +0 -2
  49. package/dist/_utils/deepMerge.util.d.ts.map +0 -1
  50. package/dist/_utils/deepMerge.util.js +0 -16
  51. package/dist/_utils/deepMerge.util.js.map +0 -1
  52. package/dist/_utils/flatMap.util.d.ts +0 -10
  53. package/dist/_utils/flatMap.util.d.ts.map +0 -1
  54. package/dist/_utils/flatMap.util.js +0 -23
  55. package/dist/_utils/flatMap.util.js.map +0 -1
  56. package/dist/_utils/index.d.ts +0 -4
  57. package/dist/_utils/index.d.ts.map +0 -1
  58. package/dist/_utils/index.js +0 -4
  59. package/dist/_utils/index.js.map +0 -1
  60. package/dist/api/api.module.d.ts +0 -38
  61. package/dist/api/api.module.d.ts.map +0 -1
  62. package/dist/api/api.module.js +0 -82
  63. package/dist/api/api.module.js.map +0 -1
  64. package/dist/api/components/endpoint.d.ts +0 -26
  65. package/dist/api/components/endpoint.d.ts.map +0 -1
  66. package/dist/api/components/endpoint.js +0 -253
  67. package/dist/api/components/endpoint.js.map +0 -1
  68. package/dist/api/components/query-storage.d.ts +0 -84
  69. package/dist/api/components/query-storage.d.ts.map +0 -1
  70. package/dist/api/components/query-storage.js +0 -221
  71. package/dist/api/components/query-storage.js.map +0 -1
  72. package/dist/api/example.d.ts +0 -83
  73. package/dist/api/example.d.ts.map +0 -1
  74. package/dist/api/example.js +0 -85
  75. package/dist/api/example.js.map +0 -1
  76. package/dist/api/index.d.ts +0 -4
  77. package/dist/api/index.d.ts.map +0 -1
  78. package/dist/api/index.js +0 -6
  79. package/dist/api/index.js.map +0 -1
  80. package/dist/api/types/api.interface.d.ts +0 -108
  81. package/dist/api/types/api.interface.d.ts.map +0 -1
  82. package/dist/api/types/api.interface.js +0 -19
  83. package/dist/api/types/api.interface.js.map +0 -1
  84. package/dist/api/types/endpoint.interface.d.ts +0 -116
  85. package/dist/api/types/endpoint.interface.d.ts.map +0 -1
  86. package/dist/api/types/endpoint.interface.js +0 -2
  87. package/dist/api/types/endpoint.interface.js.map +0 -1
  88. package/dist/api/types/query.interface.d.ts +0 -87
  89. package/dist/api/types/query.interface.d.ts.map +0 -1
  90. package/dist/api/types/query.interface.js +0 -2
  91. package/dist/api/types/query.interface.js.map +0 -1
  92. package/dist/api/utils/api-helpers.d.ts +0 -22
  93. package/dist/api/utils/api-helpers.d.ts.map +0 -1
  94. package/dist/api/utils/api-helpers.js +0 -44
  95. package/dist/api/utils/api-helpers.js.map +0 -1
  96. package/dist/api/utils/create-header-context.d.ts +0 -10
  97. package/dist/api/utils/create-header-context.d.ts.map +0 -1
  98. package/dist/api/utils/create-header-context.js +0 -36
  99. package/dist/api/utils/create-header-context.js.map +0 -1
  100. package/dist/api/utils/endpoint-headers.d.ts +0 -23
  101. package/dist/api/utils/endpoint-headers.d.ts.map +0 -1
  102. package/dist/api/utils/endpoint-headers.js +0 -57
  103. package/dist/api/utils/endpoint-headers.js.map +0 -1
  104. package/dist/api/utils/fetch-base-query.d.ts +0 -9
  105. package/dist/api/utils/fetch-base-query.d.ts.map +0 -1
  106. package/dist/api/utils/fetch-base-query.js +0 -181
  107. package/dist/api/utils/fetch-base-query.js.map +0 -1
  108. package/dist/api/utils/file-utils.d.ts +0 -43
  109. package/dist/api/utils/file-utils.d.ts.map +0 -1
  110. package/dist/api/utils/file-utils.js +0 -108
  111. package/dist/api/utils/file-utils.js.map +0 -1
  112. package/dist/api/utils/get-cacheable-headers.d.ts +0 -8
  113. package/dist/api/utils/get-cacheable-headers.d.ts.map +0 -1
  114. package/dist/api/utils/get-cacheable-headers.js +0 -21
  115. package/dist/api/utils/get-cacheable-headers.js.map +0 -1
  116. package/dist/core/index.d.ts +0 -3
  117. package/dist/core/index.d.ts.map +0 -1
  118. package/dist/core/index.js +0 -3
  119. package/dist/core/index.js.map +0 -1
  120. package/dist/core/selector/index.d.ts +0 -3
  121. package/dist/core/selector/index.d.ts.map +0 -1
  122. package/dist/core/selector/index.js +0 -2
  123. package/dist/core/selector/index.js.map +0 -1
  124. package/dist/core/selector/selector.interface.d.ts.map +0 -1
  125. package/dist/core/selector/selector.interface.js +0 -2
  126. package/dist/core/selector/selector.interface.js.map +0 -1
  127. package/dist/core/selector/selector.module.d.ts +0 -29
  128. package/dist/core/selector/selector.module.d.ts.map +0 -1
  129. package/dist/core/selector/selector.module.js +0 -467
  130. package/dist/core/selector/selector.module.js.map +0 -1
  131. package/dist/core/storage/adapters/base-storage.service.d.ts +0 -65
  132. package/dist/core/storage/adapters/base-storage.service.d.ts.map +0 -1
  133. package/dist/core/storage/adapters/base-storage.service.js +0 -660
  134. package/dist/core/storage/adapters/base-storage.service.js.map +0 -1
  135. package/dist/core/storage/adapters/indexed-DB.service.d.ts +0 -63
  136. package/dist/core/storage/adapters/indexed-DB.service.d.ts.map +0 -1
  137. package/dist/core/storage/adapters/indexed-DB.service.js +0 -595
  138. package/dist/core/storage/adapters/indexed-DB.service.js.map +0 -1
  139. package/dist/core/storage/adapters/indexed-DB.service.old.d.ts +0 -38
  140. package/dist/core/storage/adapters/indexed-DB.service.old.d.ts.map +0 -1
  141. package/dist/core/storage/adapters/indexed-DB.service.old.js +0 -318
  142. package/dist/core/storage/adapters/indexed-DB.service.old.js.map +0 -1
  143. package/dist/core/storage/adapters/local-storage.service.d.ts +0 -21
  144. package/dist/core/storage/adapters/local-storage.service.d.ts.map +0 -1
  145. package/dist/core/storage/adapters/local-storage.service.js +0 -99
  146. package/dist/core/storage/adapters/local-storage.service.js.map +0 -1
  147. package/dist/core/storage/adapters/memory-storage.service.d.ts +0 -22
  148. package/dist/core/storage/adapters/memory-storage.service.d.ts.map +0 -1
  149. package/dist/core/storage/adapters/memory-storage.service.js +0 -99
  150. package/dist/core/storage/adapters/memory-storage.service.js.map +0 -1
  151. package/dist/core/storage/adapters/path.utils.d.ts +0 -5
  152. package/dist/core/storage/adapters/path.utils.d.ts.map +0 -1
  153. package/dist/core/storage/adapters/path.utils.js +0 -35
  154. package/dist/core/storage/adapters/path.utils.js.map +0 -1
  155. package/dist/core/storage/index.d.ts +0 -11
  156. package/dist/core/storage/index.d.ts.map +0 -1
  157. package/dist/core/storage/index.js +0 -12
  158. package/dist/core/storage/index.js.map +0 -1
  159. package/dist/core/storage/middlewares/broadcast.middleware.d.ts +0 -9
  160. package/dist/core/storage/middlewares/broadcast.middleware.d.ts.map +0 -1
  161. package/dist/core/storage/middlewares/broadcast.middleware.js +0 -115
  162. package/dist/core/storage/middlewares/broadcast.middleware.js.map +0 -1
  163. package/dist/core/storage/middlewares/index.d.ts +0 -4
  164. package/dist/core/storage/middlewares/index.d.ts.map +0 -1
  165. package/dist/core/storage/middlewares/index.js +0 -3
  166. package/dist/core/storage/middlewares/index.js.map +0 -1
  167. package/dist/core/storage/middlewares/storage-batching.middleware.d.ts +0 -7
  168. package/dist/core/storage/middlewares/storage-batching.middleware.d.ts.map +0 -1
  169. package/dist/core/storage/middlewares/storage-batching.middleware.js +0 -36
  170. package/dist/core/storage/middlewares/storage-batching.middleware.js.map +0 -1
  171. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.d.ts +0 -7
  172. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.d.ts.map +0 -1
  173. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.js +0 -46
  174. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.js.map +0 -1
  175. package/dist/core/storage/modules/plugin/plugin.interface.d.ts.map +0 -1
  176. package/dist/core/storage/modules/plugin/plugin.interface.js +0 -2
  177. package/dist/core/storage/modules/plugin/plugin.interface.js.map +0 -1
  178. package/dist/core/storage/modules/plugin/plugin.service.d.ts +0 -25
  179. package/dist/core/storage/modules/plugin/plugin.service.d.ts.map +0 -1
  180. package/dist/core/storage/modules/plugin/plugin.service.js +0 -186
  181. package/dist/core/storage/modules/plugin/plugin.service.js.map +0 -1
  182. package/dist/core/storage/storage.interface.d.ts +0 -70
  183. package/dist/core/storage/storage.interface.d.ts.map +0 -1
  184. package/dist/core/storage/storage.interface.js +0 -10
  185. package/dist/core/storage/storage.interface.js.map +0 -1
  186. package/dist/core/storage/utils/batch.utils.d.ts +0 -33
  187. package/dist/core/storage/utils/batch.utils.d.ts.map +0 -1
  188. package/dist/core/storage/utils/batch.utils.js +0 -88
  189. package/dist/core/storage/utils/batch.utils.js.map +0 -1
  190. package/dist/core/storage/utils/broadcast.util.d.ts +0 -48
  191. package/dist/core/storage/utils/broadcast.util.d.ts.map +0 -1
  192. package/dist/core/storage/utils/broadcast.util.js +0 -162
  193. package/dist/core/storage/utils/broadcast.util.js.map +0 -1
  194. package/dist/core/storage/utils/cache.util.d.ts +0 -33
  195. package/dist/core/storage/utils/cache.util.d.ts.map +0 -1
  196. package/dist/core/storage/utils/cache.util.js +0 -47
  197. package/dist/core/storage/utils/cache.util.js.map +0 -1
  198. package/dist/core/storage/utils/middleware-module.d.ts +0 -46
  199. package/dist/core/storage/utils/middleware-module.d.ts.map +0 -1
  200. package/dist/core/storage/utils/middleware-module.js +0 -109
  201. package/dist/core/storage/utils/middleware-module.js.map +0 -1
  202. package/dist/core/storage/utils/storage-key.d.ts +0 -11
  203. package/dist/core/storage/utils/storage-key.d.ts.map +0 -1
  204. package/dist/core/storage/utils/storage-key.js +0 -21
  205. package/dist/core/storage/utils/storage-key.js.map +0 -1
  206. package/dist/core/storage/utils/storage.utils.d.ts +0 -17
  207. package/dist/core/storage/utils/storage.utils.d.ts.map +0 -1
  208. package/dist/core/storage/utils/storage.utils.js +0 -57
  209. package/dist/core/storage/utils/storage.utils.js.map +0 -1
  210. package/dist/index.d.ts.map +0 -1
  211. package/dist/react/hooks/index.d.ts +0 -3
  212. package/dist/react/hooks/index.d.ts.map +0 -1
  213. package/dist/react/hooks/index.js +0 -3
  214. package/dist/react/hooks/index.js.map +0 -1
  215. package/dist/react/hooks/useSelector.d.ts +0 -22
  216. package/dist/react/hooks/useSelector.d.ts.map +0 -1
  217. package/dist/react/hooks/useSelector.js +0 -104
  218. package/dist/react/hooks/useSelector.js.map +0 -1
  219. package/dist/react/hooks/useStorageSubscribe.d.ts +0 -12
  220. package/dist/react/hooks/useStorageSubscribe.d.ts.map +0 -1
  221. package/dist/react/hooks/useStorageSubscribe.js +0 -49
  222. package/dist/react/hooks/useStorageSubscribe.js.map +0 -1
  223. package/dist/react/index.d.ts +0 -3
  224. package/dist/react/index.d.ts.map +0 -1
  225. package/dist/react/index.js +0 -3
  226. package/dist/react/index.js.map +0 -1
  227. package/dist/react/utils/createSynapseCtx.d.ts +0 -40
  228. package/dist/react/utils/createSynapseCtx.d.ts.map +0 -1
  229. package/dist/react/utils/createSynapseCtx.js +0 -125
  230. package/dist/react/utils/createSynapseCtx.js.map +0 -1
  231. package/dist/react/utils/index.d.ts +0 -2
  232. package/dist/react/utils/index.d.ts.map +0 -1
  233. package/dist/react/utils/index.js +0 -2
  234. package/dist/react/utils/index.js.map +0 -1
  235. package/dist/reactive/dispatcher/dispatcher.module.d.ts +0 -195
  236. package/dist/reactive/dispatcher/dispatcher.module.d.ts.map +0 -1
  237. package/dist/reactive/dispatcher/dispatcher.module.js +0 -288
  238. package/dist/reactive/dispatcher/dispatcher.module.js.map +0 -1
  239. package/dist/reactive/dispatcher/index.d.ts +0 -3
  240. package/dist/reactive/dispatcher/index.d.ts.map +0 -1
  241. package/dist/reactive/dispatcher/index.js +0 -3
  242. package/dist/reactive/dispatcher/index.js.map +0 -1
  243. package/dist/reactive/dispatcher/middlewares/index.d.ts +0 -2
  244. package/dist/reactive/dispatcher/middlewares/index.d.ts.map +0 -1
  245. package/dist/reactive/dispatcher/middlewares/index.js +0 -2
  246. package/dist/reactive/dispatcher/middlewares/index.js.map +0 -1
  247. package/dist/reactive/dispatcher/middlewares/logger.middleware.d.ts +0 -31
  248. package/dist/reactive/dispatcher/middlewares/logger.middleware.d.ts.map +0 -1
  249. package/dist/reactive/dispatcher/middlewares/logger.middleware.js +0 -126
  250. package/dist/reactive/dispatcher/middlewares/logger.middleware.js.map +0 -1
  251. package/dist/reactive/effects/effects.module.d.ts +0 -150
  252. package/dist/reactive/effects/effects.module.d.ts.map +0 -1
  253. package/dist/reactive/effects/effects.module.js +0 -277
  254. package/dist/reactive/effects/effects.module.js.map +0 -1
  255. package/dist/reactive/effects/index.d.ts +0 -2
  256. package/dist/reactive/effects/index.d.ts.map +0 -1
  257. package/dist/reactive/effects/index.js +0 -2
  258. package/dist/reactive/effects/index.js.map +0 -1
  259. package/dist/reactive/effects/utils/chunkRequestConsistent.d.ts +0 -12
  260. package/dist/reactive/effects/utils/chunkRequestConsistent.d.ts.map +0 -1
  261. package/dist/reactive/effects/utils/chunkRequestConsistent.js +0 -16
  262. package/dist/reactive/effects/utils/chunkRequestConsistent.js.map +0 -1
  263. package/dist/reactive/effects/utils/chunkRequestParallel.d.ts +0 -12
  264. package/dist/reactive/effects/utils/chunkRequestParallel.d.ts.map +0 -1
  265. package/dist/reactive/effects/utils/chunkRequestParallel.js +0 -13
  266. package/dist/reactive/effects/utils/chunkRequestParallel.js.map +0 -1
  267. package/dist/reactive/effects/utils/index.d.ts +0 -3
  268. package/dist/reactive/effects/utils/index.d.ts.map +0 -1
  269. package/dist/reactive/effects/utils/index.js +0 -3
  270. package/dist/reactive/effects/utils/index.js.map +0 -1
  271. package/dist/reactive/index.d.ts +0 -3
  272. package/dist/reactive/index.d.ts.map +0 -1
  273. package/dist/reactive/index.js +0 -3
  274. package/dist/reactive/index.js.map +0 -1
  275. package/dist/utils/createSynapse.d.ts +0 -92
  276. package/dist/utils/createSynapse.d.ts.map +0 -1
  277. package/dist/utils/createSynapse.js +0 -79
  278. package/dist/utils/createSynapse.js.map +0 -1
  279. package/dist/utils/index.d.ts +0 -2
  280. package/dist/utils/index.d.ts.map +0 -1
  281. package/dist/utils/index.js +0 -2
  282. package/dist/utils/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexed-DB.service.old.d.ts","sourceRoot":"","sources":["../../../../src/core/storage/adapters/indexed-DB.service.old.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,WAAW,CAA6B;IAEhD,OAAO,CAAC,EAAE,CAA2B;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAEhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;gBAEvB,MAAM,EAAE,aAAa,GAAG;QAAE,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,EAAE,cAAc,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,OAAO;IAS7I,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,OAAO,CAAC,MAAM;YAuBA,iBAAiB;YAOjB,WAAW;cAQT,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;cAiExC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cA0DrD,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAqDjF,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;YA8DjD,eAAe;cAQb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cASxB,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAW3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAK5B,cAAc;cAQZ,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;YAK9C,KAAK;CAOpB"}
@@ -1,318 +0,0 @@
1
- import { StorageKey } from '../utils/storage-key';
2
- import { BaseStorage } from './base-storage.service.js';
3
- import { getValueByPath, parsePath, setValueByPath } from './path.utils.js';
4
- export class IndexedDBStorage extends BaseStorage {
5
- initPromise = null;
6
- db = null;
7
- DB_NAME;
8
- STORE_NAME;
9
- DB_VERSION;
10
- constructor(config, pluginExecutor, eventEmitter, logger) {
11
- super(config, pluginExecutor, eventEmitter, logger);
12
- const options = config.options;
13
- this.DB_NAME = options?.dbName || 'app_storage';
14
- this.STORE_NAME = options?.storeName || 'keyValueStore';
15
- this.DB_VERSION = options?.dbVersion || 1;
16
- }
17
- async initialize() {
18
- try {
19
- // Сначала инициализируем БД
20
- await this.ensureInitialized();
21
- this.initializeMiddlewares();
22
- // Затем инициализируем данные через middleware
23
- await this.initializeWithMiddlewares();
24
- return this;
25
- }
26
- catch (error) {
27
- this.logger?.error('Error initializing IndexedDB storage', { error });
28
- throw error;
29
- }
30
- }
31
- initDB() {
32
- return new Promise((resolve, reject) => {
33
- const request = indexedDB.open(this.DB_NAME, this.DB_VERSION);
34
- request.onerror = () => {
35
- this.logger?.error('Failed to open IndexedDB', { error: request.error });
36
- reject(request.error);
37
- };
38
- request.onsuccess = () => {
39
- this.db = request.result;
40
- resolve();
41
- };
42
- request.onupgradeneeded = (event) => {
43
- const db = event.target.result;
44
- if (!db.objectStoreNames.contains(this.STORE_NAME)) {
45
- db.createObjectStore(this.STORE_NAME);
46
- }
47
- };
48
- });
49
- }
50
- async ensureInitialized() {
51
- if (!this.initPromise) {
52
- this.initPromise = this.initDB();
53
- }
54
- return this.initPromise;
55
- }
56
- async transaction(mode = 'readonly') {
57
- await this.ensureInitialized();
58
- if (!this.db) {
59
- throw new Error('База данных еще не инициализирована');
60
- }
61
- return this.db.transaction(this.STORE_NAME, mode).objectStore(this.STORE_NAME);
62
- }
63
- async doGet(key) {
64
- const store = await this.transaction();
65
- // Для пустого ключа возвращаем все состояние
66
- if (key === '') {
67
- return new Promise((resolve, reject) => {
68
- const request = store.getAll();
69
- request.onerror = () => reject(request.error);
70
- request.onsuccess = () => {
71
- const allValues = request.result;
72
- const allKeys = store.getAllKeys();
73
- allKeys.onsuccess = () => {
74
- const state = allKeys.result.reduce((acc, k, index) => {
75
- if (k !== 'root') {
76
- acc[k] = allValues[index];
77
- }
78
- return acc;
79
- }, {});
80
- resolve(state);
81
- };
82
- allKeys.onerror = () => reject(allKeys.error);
83
- };
84
- });
85
- }
86
- // Проверяем, является ли ключ "сырым"
87
- if (key instanceof StorageKey && key.isUnparseable()) {
88
- return new Promise((resolve, reject) => {
89
- const request = store.get(key.valueOf());
90
- request.onerror = () => reject(request.error);
91
- request.onsuccess = () => resolve(request.result);
92
- });
93
- }
94
- // Для вложенного пути
95
- const parts = parsePath(key);
96
- if (parts.length > 1) {
97
- const rootKey = parts[0];
98
- return new Promise((resolve, reject) => {
99
- const request = store.get(rootKey);
100
- request.onerror = () => reject(request.error);
101
- request.onsuccess = () => {
102
- const rootValue = request.result;
103
- if (!rootValue) {
104
- resolve(undefined);
105
- return;
106
- }
107
- const value = getValueByPath(rootValue, parts.slice(1).join('.'));
108
- resolve(value);
109
- };
110
- });
111
- }
112
- // Для простого ключа
113
- return new Promise((resolve, reject) => {
114
- const request = store.get(parts[0]);
115
- request.onerror = () => reject(request.error);
116
- request.onsuccess = () => resolve(request.result);
117
- });
118
- }
119
- async doSet(key, value) {
120
- // Для пустого ключа устанавливаем все состояние
121
- if (key === '') {
122
- return new Promise((resolve, reject) => {
123
- const tx = this.db.transaction(this.STORE_NAME, 'readwrite');
124
- const store = tx.objectStore(this.STORE_NAME);
125
- tx.oncomplete = () => {
126
- resolve();
127
- };
128
- tx.onerror = () => {
129
- reject(tx.error);
130
- };
131
- const clearRequest = store.clear();
132
- clearRequest.onsuccess = () => {
133
- const entries = Object.entries(value);
134
- for (const [entryKey, entryValue] of entries) {
135
- store.put(entryValue, entryKey);
136
- }
137
- };
138
- clearRequest.onerror = () => {
139
- reject(clearRequest.error);
140
- };
141
- });
142
- }
143
- const store = await this.transaction('readwrite');
144
- // Для "сырого" ключа
145
- if (key instanceof StorageKey && key.isUnparseable()) {
146
- await this.putValueInStore(store, key.valueOf(), value);
147
- return;
148
- }
149
- // Для вложенного пути
150
- const parts = parsePath(key);
151
- if (parts.length > 1) {
152
- const rootKey = parts[0];
153
- return new Promise((resolve, reject) => {
154
- const request = store.get(rootKey);
155
- request.onerror = () => reject(request.error);
156
- request.onsuccess = () => {
157
- const rootValue = request.result || {};
158
- const updatedValue = setValueByPath(rootValue, parts.slice(1).join('.'), value);
159
- const putRequest = store.put(updatedValue, rootKey);
160
- putRequest.onerror = () => reject(putRequest.error);
161
- putRequest.onsuccess = () => resolve();
162
- };
163
- });
164
- }
165
- // Для простого ключа
166
- await this.putValueInStore(store, parts[0], value);
167
- }
168
- async doUpdate(updates) {
169
- // Группируем обновления
170
- const updatesByRoot = new Map();
171
- const rawUpdates = [];
172
- // Разделяем обновления на "сырые" и обычные
173
- for (const { key, value } of updates) {
174
- if (key instanceof StorageKey && key.isUnparseable()) {
175
- rawUpdates.push({ key: key.valueOf(), value });
176
- continue;
177
- }
178
- const parts = parsePath(key);
179
- const rootKey = parts[0];
180
- const path = parts.slice(1);
181
- if (!updatesByRoot.has(rootKey)) {
182
- updatesByRoot.set(rootKey, []);
183
- }
184
- updatesByRoot.get(rootKey).push({ path, value });
185
- }
186
- try {
187
- // Обрабатываем "сырые" обновления
188
- for (const { key, value } of rawUpdates) {
189
- // Создаем новую транзакцию для каждого обновления
190
- const store = await this.transaction('readwrite');
191
- await this.putValueInStore(store, key, value);
192
- }
193
- // Обрабатываем сгруппированные обновления
194
- for (const [rootKey, pathUpdates] of updatesByRoot) {
195
- const rootValue = (await this.doGet(rootKey)) || {};
196
- let updatedValue = { ...rootValue };
197
- for (const { path, value } of pathUpdates) {
198
- if (path.length === 0) {
199
- updatedValue = value;
200
- }
201
- else {
202
- updatedValue = setValueByPath(updatedValue, path.join('.'), value);
203
- }
204
- }
205
- // Создаем новую транзакцию для каждого корневого ключа
206
- const store = await this.transaction('readwrite');
207
- await this.putValueInStore(store, rootKey, updatedValue);
208
- }
209
- }
210
- catch (error) {
211
- console.error('Ошибка при обновлении:', error);
212
- throw error;
213
- }
214
- }
215
- async doDelete(key) {
216
- const store = await this.transaction('readwrite');
217
- // Для "сырого" ключа
218
- if (key instanceof StorageKey && key.isUnparseable()) {
219
- return new Promise((resolve, reject) => {
220
- const request = store.delete(key.valueOf());
221
- request.onerror = () => reject(request.error);
222
- request.onsuccess = () => resolve(true);
223
- });
224
- }
225
- const parts = parsePath(key);
226
- // Для простого ключа
227
- if (parts.length === 1) {
228
- return new Promise((resolve, reject) => {
229
- const request = store.delete(parts[0]);
230
- request.onerror = () => reject(request.error);
231
- request.onsuccess = () => resolve(true);
232
- });
233
- }
234
- // Для вложенного пути
235
- const rootKey = parts[0];
236
- return new Promise((resolve, reject) => {
237
- const getRequest = store.get(rootKey);
238
- getRequest.onerror = () => reject(getRequest.error);
239
- getRequest.onsuccess = () => {
240
- const rootValue = getRequest.result;
241
- if (!rootValue) {
242
- resolve(false);
243
- return;
244
- }
245
- const parent = getValueByPath(rootValue, parts.slice(0, -1).join('.'));
246
- const lastKey = parts[parts.length - 1];
247
- if (!parent || !(lastKey in parent)) {
248
- resolve(false);
249
- return;
250
- }
251
- if (Array.isArray(parent)) {
252
- const index = parseInt(lastKey, 10);
253
- if (!isNaN(index)) {
254
- parent.splice(index, 1);
255
- }
256
- else {
257
- // @ts-ignore
258
- delete parent[lastKey];
259
- }
260
- }
261
- else {
262
- delete parent[lastKey];
263
- }
264
- const putRequest = store.put(rootValue, rootKey);
265
- putRequest.onerror = () => reject(putRequest.error);
266
- putRequest.onsuccess = () => resolve(true);
267
- };
268
- });
269
- }
270
- async putValueInStore(store, key, value) {
271
- return new Promise((resolve, reject) => {
272
- const request = store.put(value, key.valueOf());
273
- request.onerror = () => reject(request.error);
274
- request.onsuccess = () => resolve();
275
- });
276
- }
277
- async doClear() {
278
- const store = await this.transaction('readwrite');
279
- return new Promise((resolve, reject) => {
280
- const request = store.clear();
281
- request.onsuccess = () => resolve();
282
- request.onerror = () => reject(request.error);
283
- });
284
- }
285
- async doKeys() {
286
- const store = await this.transaction();
287
- const request = store.getAllKeys();
288
- return new Promise((resolve, reject) => {
289
- request.onsuccess = () => {
290
- resolve(request.result);
291
- };
292
- request.onerror = () => reject(request.error);
293
- });
294
- }
295
- async doDestroy() {
296
- await this.close();
297
- await this.deleteDatabase();
298
- }
299
- async deleteDatabase() {
300
- return new Promise((resolve, reject) => {
301
- const request = indexedDB.deleteDatabase(this.DB_NAME);
302
- request.onsuccess = () => resolve();
303
- request.onerror = () => reject(request.error);
304
- });
305
- }
306
- async doHas(key) {
307
- const value = await this.doGet(key);
308
- return value !== undefined;
309
- }
310
- async close() {
311
- if (this.db) {
312
- this.db.close();
313
- this.db = null;
314
- this.initPromise = null;
315
- }
316
- }
317
- }
318
- //# sourceMappingURL=indexed-DB.service.old.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexed-DB.service.old.js","sourceRoot":"","sources":["../../../../src/core/storage/adapters/indexed-DB.service.old.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { IPluginExecutor } from '../modules/plugin/plugin.interface';
2
- import { IEventEmitter, ILogger, StorageConfig } from '../storage.interface';
3
- import { StorageKeyType } from '../utils/storage-key';
4
- import { BaseStorage } from './base-storage.service';
5
- export declare class LocalStorage<T extends Record<string, any>> extends BaseStorage<T> {
6
- constructor(config: StorageConfig, pluginExecutor?: IPluginExecutor, eventEmitter?: IEventEmitter, logger?: ILogger);
7
- initialize(): Promise<this>;
8
- protected doGet(key: StorageKeyType): Promise<any>;
9
- protected doSet(key: StorageKeyType, value: any): Promise<void>;
10
- protected doDelete(key: StorageKeyType): Promise<boolean>;
11
- protected doUpdate(updates: Array<{
12
- key: StorageKeyType;
13
- value: any;
14
- }>): Promise<void>;
15
- protected doClear(): Promise<void>;
16
- protected doKeys(): Promise<string[]>;
17
- protected doHas(key: StorageKeyType): Promise<boolean>;
18
- private getAllKeys;
19
- protected doDestroy(): Promise<void>;
20
- }
21
- //# sourceMappingURL=local-storage.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-storage.service.d.ts","sourceRoot":"","sources":["../../../../src/core/storage/adapters/local-storage.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAc,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;gBACjE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,OAAO;IAI7G,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAUjB,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;cAcxC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAerD,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;cA4B/C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAe5E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAIxB,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAQ3B,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D,OAAO,CAAC,UAAU;cAIF,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C"}
@@ -1,99 +0,0 @@
1
- import { StorageKey } from '../utils/storage-key';
2
- import { BaseStorage } from './base-storage.service.js';
3
- import { getValueByPath, parsePath, setValueByPath } from './path.utils.js';
4
- export class LocalStorage extends BaseStorage {
5
- constructor(config, pluginExecutor, eventEmitter, logger) {
6
- super(config, pluginExecutor, eventEmitter, logger);
7
- }
8
- async initialize() {
9
- try {
10
- await this.initializeWithMiddlewares();
11
- return this;
12
- }
13
- catch (error) {
14
- this.logger?.error('Error initializing LocalStorage', { error });
15
- throw error;
16
- }
17
- }
18
- async doGet(key) {
19
- const storageData = localStorage.getItem(this.name);
20
- if (!storageData)
21
- return undefined;
22
- const state = JSON.parse(storageData);
23
- // Добавляем проверку на "сырой" ключ
24
- if (key instanceof StorageKey && key.isUnparseable()) {
25
- return state[key.valueOf()];
26
- }
27
- return getValueByPath(state, key);
28
- }
29
- async doSet(key, value) {
30
- const storageData = localStorage.getItem(this.name);
31
- const state = storageData ? JSON.parse(storageData) : {};
32
- // Добавляем проверку на "сырой" ключ
33
- if (key instanceof StorageKey && key.isUnparseable()) {
34
- state[key.valueOf()] = value;
35
- localStorage.setItem(this.name, JSON.stringify(state));
36
- return;
37
- }
38
- const newState = setValueByPath({ ...state }, key, value);
39
- localStorage.setItem(this.name, JSON.stringify(newState));
40
- }
41
- async doDelete(key) {
42
- const storageData = localStorage.getItem(this.name);
43
- if (!storageData)
44
- return false;
45
- const state = JSON.parse(storageData);
46
- // Добавляем проверку на "сырой" ключ
47
- if (key instanceof StorageKey && key.isUnparseable()) {
48
- const rawKey = key.valueOf();
49
- if (!(rawKey in state))
50
- return false;
51
- delete state[rawKey];
52
- localStorage.setItem(this.name, JSON.stringify(state));
53
- return true;
54
- }
55
- const pathParts = parsePath(key);
56
- const parentPath = pathParts.slice(0, -1).join('.');
57
- const lastKey = pathParts[pathParts.length - 1];
58
- const parent = parentPath ? getValueByPath(state, parentPath) : state;
59
- if (!parent || !(lastKey in parent))
60
- return false;
61
- delete parent[lastKey];
62
- localStorage.setItem(this.name, JSON.stringify(state));
63
- return true;
64
- }
65
- async doUpdate(updates) {
66
- const storageData = localStorage.getItem(this.name);
67
- const state = storageData ? JSON.parse(storageData) : {};
68
- for (const { key, value } of updates) {
69
- if (key instanceof StorageKey && key.isUnparseable()) {
70
- state[key.valueOf()] = value;
71
- }
72
- else {
73
- setValueByPath(state, key, value);
74
- }
75
- }
76
- localStorage.setItem(this.name, JSON.stringify(state));
77
- }
78
- async doClear() {
79
- localStorage.removeItem(this.name);
80
- }
81
- async doKeys() {
82
- const storageData = localStorage.getItem(this.name);
83
- if (!storageData)
84
- return [];
85
- const state = JSON.parse(storageData);
86
- return this.getAllKeys(state);
87
- }
88
- async doHas(key) {
89
- const value = await this.doGet(key);
90
- return value !== undefined;
91
- }
92
- getAllKeys(obj) {
93
- return Object.keys(obj);
94
- }
95
- async doDestroy() {
96
- await this.doClear();
97
- }
98
- }
99
- //# sourceMappingURL=local-storage.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-storage.service.js","sourceRoot":"","sources":["../../../../src/core/storage/adapters/local-storage.service.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { IPluginExecutor } from '../modules/plugin/plugin.interface';
2
- import { IEventEmitter, ILogger, StorageConfig } from '../storage.interface';
3
- import { StorageKeyType } from '../utils/storage-key';
4
- import { BaseStorage } from './base-storage.service';
5
- export declare class MemoryStorage<T extends Record<string, any>> extends BaseStorage<T> {
6
- private storage;
7
- constructor(config: StorageConfig, pluginExecutor?: IPluginExecutor, eventEmitter?: IEventEmitter, logger?: ILogger);
8
- initialize(): Promise<this>;
9
- protected doGet(key: StorageKeyType): Promise<any>;
10
- protected doSet(key: StorageKeyType, value: any): Promise<void>;
11
- protected doDelete(key: StorageKeyType): Promise<boolean>;
12
- protected doUpdate(updates: Array<{
13
- key: StorageKeyType;
14
- value: any;
15
- }>): Promise<void>;
16
- protected doClear(): Promise<void>;
17
- protected doKeys(): Promise<string[]>;
18
- protected doHas(key: StorageKeyType): Promise<boolean>;
19
- protected doDestroy(): Promise<void>;
20
- private getAllKeys;
21
- }
22
- //# sourceMappingURL=memory-storage.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-storage.service.d.ts","sourceRoot":"","sources":["../../../../src/core/storage/adapters/memory-storage.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAc,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,OAAO;IAI7G,UAAU;cAWA,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;cAYxC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAcrD,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;cAyB/C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAiB5E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAIxB,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAM3B,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;cAK5C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,OAAO,CAAC,UAAU;CAGnB"}
@@ -1,99 +0,0 @@
1
- import { StorageKey } from '../utils/storage-key';
2
- import { BaseStorage } from './base-storage.service.js';
3
- import { getValueByPath, parsePath, setValueByPath } from './path.utils.js';
4
- export class MemoryStorage extends BaseStorage {
5
- storage = new Map();
6
- constructor(config, pluginExecutor, eventEmitter, logger) {
7
- super(config, pluginExecutor, eventEmitter, logger);
8
- }
9
- async initialize() {
10
- try {
11
- this.initializeMiddlewares();
12
- await this.initializeWithMiddlewares();
13
- return this;
14
- }
15
- catch (error) {
16
- this.logger?.error('Error initializing MemoryStorage', { error });
17
- throw error;
18
- }
19
- }
20
- async doGet(key) {
21
- const state = this.storage.get(this.name);
22
- if (!state)
23
- return undefined;
24
- // Добавляем проверку на "сырой" ключ
25
- if (key instanceof StorageKey && key.isUnparseable()) {
26
- return state[key.valueOf()];
27
- }
28
- return getValueByPath(state, key);
29
- }
30
- async doSet(key, value) {
31
- const state = this.storage.get(this.name) || {};
32
- // Добавляем проверку на "сырой" ключ
33
- if (key instanceof StorageKey && key.isUnparseable()) {
34
- state[key.valueOf()] = value;
35
- this.storage.set(this.name, state);
36
- return;
37
- }
38
- const newState = setValueByPath({ ...state }, key, value);
39
- this.storage.set(this.name, newState);
40
- }
41
- async doDelete(key) {
42
- const state = this.storage.get(this.name);
43
- if (!state)
44
- return false;
45
- // Добавляем проверку на "сырой" ключ
46
- if (key instanceof StorageKey && key.isUnparseable()) {
47
- const rawKey = key.valueOf();
48
- if (!(rawKey in state))
49
- return false;
50
- delete state[rawKey];
51
- this.storage.set(this.name, state);
52
- return true;
53
- }
54
- const pathParts = parsePath(key);
55
- const parentPath = pathParts.slice(0, -1).join('.');
56
- const lastKey = pathParts[pathParts.length - 1];
57
- const parent = parentPath ? getValueByPath(state, parentPath) : state;
58
- if (!parent || !(lastKey in parent))
59
- return false;
60
- delete parent[lastKey];
61
- this.storage.set(this.name, state);
62
- return true;
63
- }
64
- async doUpdate(updates) {
65
- const currentState = this.storage.get(this.name) || {};
66
- // Создаем копию текущего состояния
67
- const newState = { ...currentState };
68
- for (const { key, value } of updates) {
69
- if (key instanceof StorageKey && key.isUnparseable()) {
70
- newState[key.valueOf()] = value;
71
- }
72
- else {
73
- setValueByPath(newState, key, value);
74
- }
75
- }
76
- // Сохраняем новое состояние
77
- this.storage.set(this.name, newState);
78
- }
79
- async doClear() {
80
- this.storage.delete(this.name);
81
- }
82
- async doKeys() {
83
- const state = this.storage.get(this.name);
84
- if (!state)
85
- return [];
86
- return this.getAllKeys(state);
87
- }
88
- async doHas(key) {
89
- const value = await this.doGet(key);
90
- return value !== undefined;
91
- }
92
- async doDestroy() {
93
- this.storage.delete(this.name);
94
- }
95
- getAllKeys(obj) {
96
- return Object.keys(obj);
97
- }
98
- }
99
- //# sourceMappingURL=memory-storage.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-storage.service.js","sourceRoot":"","sources":["../../../../src/core/storage/adapters/memory-storage.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { StorageKey } from '../utils/storage-key';
2
- export declare function parsePath(path: string | StorageKey): string[];
3
- export declare function getValueByPath(obj: any, path: string | StorageKey): any;
4
- export declare function setValueByPath(obj: any, path: string | StorageKey, value: any): any;
5
- //# sourceMappingURL=path.utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/storage/adapters/path.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,CAQ7D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,OAGjE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,CAwBnF"}