@enbox/dwn-sdk-js 0.0.5 → 0.0.7

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 (363) hide show
  1. package/dist/browser.mjs +8 -8
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +1 -2
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/abstract-message.js +4 -0
  6. package/dist/esm/src/core/abstract-message.js.map +1 -1
  7. package/dist/esm/src/core/auth.js +22 -33
  8. package/dist/esm/src/core/auth.js.map +1 -1
  9. package/dist/esm/src/core/dwn-constant.js +7 -7
  10. package/dist/esm/src/core/dwn-constant.js.map +1 -1
  11. package/dist/esm/src/core/dwn-error.js +1 -0
  12. package/dist/esm/src/core/dwn-error.js.map +1 -1
  13. package/dist/esm/src/core/grant-authorization.js +37 -52
  14. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  15. package/dist/esm/src/core/message.js +85 -116
  16. package/dist/esm/src/core/message.js.map +1 -1
  17. package/dist/esm/src/core/messages-grant-authorization.js +63 -78
  18. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  19. package/dist/esm/src/core/protocol-authorization-action.js +266 -0
  20. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -0
  21. package/dist/esm/src/core/protocol-authorization-validation.js +254 -0
  22. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -0
  23. package/dist/esm/src/core/protocol-authorization.js +122 -740
  24. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  25. package/dist/esm/src/core/protocols-grant-authorization.js +24 -38
  26. package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -1
  27. package/dist/esm/src/core/record-chain.js +64 -0
  28. package/dist/esm/src/core/record-chain.js.map +1 -0
  29. package/dist/esm/src/core/records-grant-authorization.js +55 -72
  30. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  31. package/dist/esm/src/core/resumable-task-manager.js +50 -65
  32. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  33. package/dist/esm/src/core/tenant-gate.js +2 -13
  34. package/dist/esm/src/core/tenant-gate.js.map +1 -1
  35. package/dist/esm/src/dwn.js +69 -86
  36. package/dist/esm/src/dwn.js.map +1 -1
  37. package/dist/esm/src/event-stream/event-emitter-stream.js +17 -31
  38. package/dist/esm/src/event-stream/event-emitter-stream.js.map +1 -1
  39. package/dist/esm/src/handlers/messages-read.js +67 -77
  40. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  41. package/dist/esm/src/handlers/messages-subscribe.js +51 -61
  42. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  43. package/dist/esm/src/handlers/messages-sync.js +75 -85
  44. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  45. package/dist/esm/src/handlers/protocols-configure.js +135 -155
  46. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  47. package/dist/esm/src/handlers/protocols-query.js +52 -51
  48. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  49. package/dist/esm/src/handlers/records-count.js +96 -82
  50. package/dist/esm/src/handlers/records-count.js.map +1 -1
  51. package/dist/esm/src/handlers/records-delete.js +78 -88
  52. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  53. package/dist/esm/src/handlers/records-query.js +116 -101
  54. package/dist/esm/src/handlers/records-query.js.map +1 -1
  55. package/dist/esm/src/handlers/records-read.js +124 -131
  56. package/dist/esm/src/handlers/records-read.js.map +1 -1
  57. package/dist/esm/src/handlers/records-subscribe.js +150 -103
  58. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  59. package/dist/esm/src/handlers/records-write.js +250 -259
  60. package/dist/esm/src/handlers/records-write.js.map +1 -1
  61. package/dist/esm/src/interfaces/messages-read.js +24 -32
  62. package/dist/esm/src/interfaces/messages-read.js.map +1 -1
  63. package/dist/esm/src/interfaces/messages-subscribe.js +27 -41
  64. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  65. package/dist/esm/src/interfaces/messages-sync.js +26 -40
  66. package/dist/esm/src/interfaces/messages-sync.js.map +1 -1
  67. package/dist/esm/src/interfaces/protocols-configure.js +63 -63
  68. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  69. package/dist/esm/src/interfaces/protocols-query.js +55 -68
  70. package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
  71. package/dist/esm/src/interfaces/records-count.js +50 -66
  72. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  73. package/dist/esm/src/interfaces/records-delete.js +45 -55
  74. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  75. package/dist/esm/src/interfaces/records-query.js +60 -76
  76. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  77. package/dist/esm/src/interfaces/records-read.js +51 -67
  78. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  79. package/dist/esm/src/interfaces/records-subscribe.js +52 -68
  80. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  81. package/dist/esm/src/interfaces/records-write-query.js +102 -0
  82. package/dist/esm/src/interfaces/records-write-query.js.map +1 -0
  83. package/dist/esm/src/interfaces/records-write-signing.js +92 -0
  84. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -0
  85. package/dist/esm/src/interfaces/records-write.js +407 -602
  86. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  87. package/dist/esm/src/jose/algorithms/signing/ed25519.js +10 -19
  88. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
  89. package/dist/esm/src/jose/jws/general/builder.js +23 -35
  90. package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
  91. package/dist/esm/src/jose/jws/general/verifier.js +56 -69
  92. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  93. package/dist/esm/src/protocols/permission-grant.js +44 -15
  94. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  95. package/dist/esm/src/protocols/permission-request.js +29 -15
  96. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  97. package/dist/esm/src/protocols/permissions.js +216 -226
  98. package/dist/esm/src/protocols/permissions.js.map +1 -1
  99. package/dist/esm/src/smt/smt-store-level.js +42 -64
  100. package/dist/esm/src/smt/smt-store-level.js.map +1 -1
  101. package/dist/esm/src/smt/smt-store-memory.js +19 -45
  102. package/dist/esm/src/smt/smt-store-memory.js.map +1 -1
  103. package/dist/esm/src/smt/smt-utils.js +28 -45
  104. package/dist/esm/src/smt/smt-utils.js.map +1 -1
  105. package/dist/esm/src/smt/sparse-merkle-tree.js +426 -471
  106. package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -1
  107. package/dist/esm/src/state-index/state-index-level.js +115 -150
  108. package/dist/esm/src/state-index/state-index-level.js.map +1 -1
  109. package/dist/esm/src/store/blockstore-level.js +54 -156
  110. package/dist/esm/src/store/blockstore-level.js.map +1 -1
  111. package/dist/esm/src/store/blockstore-mock.js +48 -153
  112. package/dist/esm/src/store/blockstore-mock.js.map +1 -1
  113. package/dist/esm/src/store/data-store-level.js +59 -99
  114. package/dist/esm/src/store/data-store-level.js.map +1 -1
  115. package/dist/esm/src/store/index-level-compound.js +246 -0
  116. package/dist/esm/src/store/index-level-compound.js.map +1 -0
  117. package/dist/esm/src/store/index-level.js +295 -713
  118. package/dist/esm/src/store/index-level.js.map +1 -1
  119. package/dist/esm/src/store/level-wrapper.js +143 -244
  120. package/dist/esm/src/store/level-wrapper.js.map +1 -1
  121. package/dist/esm/src/store/message-store-level.js +71 -94
  122. package/dist/esm/src/store/message-store-level.js.map +1 -1
  123. package/dist/esm/src/store/resumable-task-store-level.js +62 -101
  124. package/dist/esm/src/store/resumable-task-store-level.js.map +1 -1
  125. package/dist/esm/src/store/storage-controller.js +129 -144
  126. package/dist/esm/src/store/storage-controller.js.map +1 -1
  127. package/dist/esm/src/utils/abort.js +8 -19
  128. package/dist/esm/src/utils/abort.js.map +1 -1
  129. package/dist/esm/src/utils/array.js +15 -49
  130. package/dist/esm/src/utils/array.js.map +1 -1
  131. package/dist/esm/src/utils/cid.js +29 -77
  132. package/dist/esm/src/utils/cid.js.map +1 -1
  133. package/dist/esm/src/utils/data-stream.js +37 -65
  134. package/dist/esm/src/utils/data-stream.js.map +1 -1
  135. package/dist/esm/src/utils/encryption.js +136 -162
  136. package/dist/esm/src/utils/encryption.js.map +1 -1
  137. package/dist/esm/src/utils/filter.js +1 -12
  138. package/dist/esm/src/utils/filter.js.map +1 -1
  139. package/dist/esm/src/utils/hd-key.js +45 -63
  140. package/dist/esm/src/utils/hd-key.js.map +1 -1
  141. package/dist/esm/src/utils/jws.js +9 -20
  142. package/dist/esm/src/utils/jws.js.map +1 -1
  143. package/dist/esm/src/utils/memory-cache.js +12 -23
  144. package/dist/esm/src/utils/memory-cache.js.map +1 -1
  145. package/dist/esm/src/utils/messages.js +9 -3
  146. package/dist/esm/src/utils/messages.js.map +1 -1
  147. package/dist/esm/src/utils/private-key-signer.js +9 -17
  148. package/dist/esm/src/utils/private-key-signer.js.map +1 -1
  149. package/dist/esm/src/utils/protocols.js +62 -70
  150. package/dist/esm/src/utils/protocols.js.map +1 -1
  151. package/dist/esm/src/utils/records.js +108 -140
  152. package/dist/esm/src/utils/records.js.map +1 -1
  153. package/dist/esm/src/utils/secp256k1.js +60 -96
  154. package/dist/esm/src/utils/secp256k1.js.map +1 -1
  155. package/dist/esm/src/utils/secp256r1.js +54 -71
  156. package/dist/esm/src/utils/secp256r1.js.map +1 -1
  157. package/dist/esm/src/utils/time.js +5 -18
  158. package/dist/esm/src/utils/time.js.map +1 -1
  159. package/dist/esm/src/utils/url.js +3 -3
  160. package/dist/esm/src/utils/url.js.map +1 -1
  161. package/dist/esm/tests/core/auth.spec.js +3 -12
  162. package/dist/esm/tests/core/auth.spec.js.map +1 -1
  163. package/dist/esm/tests/core/message.spec.js +50 -59
  164. package/dist/esm/tests/core/message.spec.js.map +1 -1
  165. package/dist/esm/tests/core/protocol-authorization.spec.js +9 -18
  166. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  167. package/dist/esm/tests/dwn.spec.js +45 -58
  168. package/dist/esm/tests/dwn.spec.js.map +1 -1
  169. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +24 -33
  170. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +1 -1
  171. package/dist/esm/tests/event-stream/event-stream.spec.js +46 -55
  172. package/dist/esm/tests/event-stream/event-stream.spec.js.map +1 -1
  173. package/dist/esm/tests/features/author-delegated-grant.spec.js +326 -343
  174. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  175. package/dist/esm/tests/features/owner-delegated-grant.spec.js +153 -169
  176. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  177. package/dist/esm/tests/features/owner-signature.spec.js +67 -78
  178. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  179. package/dist/esm/tests/features/permissions.spec.js +446 -181
  180. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  181. package/dist/esm/tests/features/protocol-composition.spec.js +346 -356
  182. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  183. package/dist/esm/tests/features/protocol-create-action.spec.js +42 -51
  184. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  185. package/dist/esm/tests/features/protocol-delete-action.spec.js +94 -103
  186. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  187. package/dist/esm/tests/features/protocol-update-action.spec.js +105 -114
  188. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  189. package/dist/esm/tests/features/records-prune.spec.js +175 -191
  190. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  191. package/dist/esm/tests/features/records-tags.spec.js +441 -460
  192. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  193. package/dist/esm/tests/features/resumable-tasks.spec.js +82 -91
  194. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  195. package/dist/esm/tests/handlers/messages-read.spec.js +206 -207
  196. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  197. package/dist/esm/tests/handlers/messages-subscribe.spec.js +145 -154
  198. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  199. package/dist/esm/tests/handlers/messages-sync.spec.js +174 -183
  200. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  201. package/dist/esm/tests/handlers/protocols-configure.spec.js +244 -238
  202. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  203. package/dist/esm/tests/handlers/protocols-query.spec.js +156 -169
  204. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  205. package/dist/esm/tests/handlers/records-count.spec.js +93 -102
  206. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  207. package/dist/esm/tests/handlers/records-delete.spec.js +252 -264
  208. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  209. package/dist/esm/tests/handlers/records-query.spec.js +917 -988
  210. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  211. package/dist/esm/tests/handlers/records-read.spec.js +553 -568
  212. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  213. package/dist/esm/tests/handlers/records-subscribe.spec.js +269 -278
  214. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  215. package/dist/esm/tests/handlers/records-write.spec.js +1057 -1082
  216. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  217. package/dist/esm/tests/interfaces/messages-get.spec.js +39 -48
  218. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  219. package/dist/esm/tests/interfaces/messages-subscribe.spec.js +4 -13
  220. package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
  221. package/dist/esm/tests/interfaces/protocols-configure.spec.js +212 -88
  222. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  223. package/dist/esm/tests/interfaces/protocols-query.spec.js +8 -17
  224. package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
  225. package/dist/esm/tests/interfaces/records-delete.spec.js +8 -17
  226. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
  227. package/dist/esm/tests/interfaces/records-query.spec.js +20 -29
  228. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
  229. package/dist/esm/tests/interfaces/records-read.spec.js +42 -51
  230. package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
  231. package/dist/esm/tests/interfaces/records-subscribe.spec.js +16 -25
  232. package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
  233. package/dist/esm/tests/interfaces/records-write.spec.js +152 -165
  234. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  235. package/dist/esm/tests/jose/jws/general.spec.js +36 -45
  236. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
  237. package/dist/esm/tests/protocols/permission-grant.spec.js +44 -50
  238. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
  239. package/dist/esm/tests/protocols/permission-request.spec.js +23 -32
  240. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  241. package/dist/esm/tests/protocols/permissions.spec.js +49 -55
  242. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  243. package/dist/esm/tests/scenarios/aggregator.spec.js +124 -135
  244. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  245. package/dist/esm/tests/scenarios/deleted-record.spec.js +23 -32
  246. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  247. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +52 -61
  248. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  249. package/dist/esm/tests/scenarios/nested-roles.spec.js +63 -73
  250. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  251. package/dist/esm/tests/scenarios/subscriptions.spec.js +377 -333
  252. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  253. package/dist/esm/tests/smt/smt-store-level.spec.js +76 -87
  254. package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -1
  255. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +344 -353
  256. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -1
  257. package/dist/esm/tests/state-index/state-index-level.spec.js +117 -126
  258. package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -1
  259. package/dist/esm/tests/store/blockstore-level.spec.js +44 -99
  260. package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
  261. package/dist/esm/tests/store/blockstore-mock.spec.js +40 -120
  262. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  263. package/dist/esm/tests/store/data-store-level.spec.js +86 -95
  264. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  265. package/dist/esm/tests/store/index-level.spec.js +404 -414
  266. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  267. package/dist/esm/tests/store/message-store-level.spec.js +13 -22
  268. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  269. package/dist/esm/tests/store/message-store.spec.js +229 -238
  270. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  271. package/dist/esm/tests/test-event-stream.js +3 -3
  272. package/dist/esm/tests/test-event-stream.js.map +1 -1
  273. package/dist/esm/tests/test-stores.js +16 -13
  274. package/dist/esm/tests/test-stores.js.map +1 -1
  275. package/dist/esm/tests/test-suite.js +2 -11
  276. package/dist/esm/tests/test-suite.js.map +1 -1
  277. package/dist/esm/tests/utils/cid.spec.js +24 -33
  278. package/dist/esm/tests/utils/cid.spec.js.map +1 -1
  279. package/dist/esm/tests/utils/data-stream.spec.js +48 -57
  280. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  281. package/dist/esm/tests/utils/encryption-callbacks.spec.js +45 -54
  282. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  283. package/dist/esm/tests/utils/encryption.spec.js +291 -44
  284. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  285. package/dist/esm/tests/utils/filters.spec.js +46 -55
  286. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  287. package/dist/esm/tests/utils/hd-key.spec.js +10 -19
  288. package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
  289. package/dist/esm/tests/utils/jws.spec.js +3 -12
  290. package/dist/esm/tests/utils/jws.spec.js.map +1 -1
  291. package/dist/esm/tests/utils/memory-cache.spec.js +9 -18
  292. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
  293. package/dist/esm/tests/utils/messages.spec.js +6 -15
  294. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  295. package/dist/esm/tests/utils/poller.js +22 -33
  296. package/dist/esm/tests/utils/poller.js.map +1 -1
  297. package/dist/esm/tests/utils/private-key-signer.spec.js +15 -24
  298. package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
  299. package/dist/esm/tests/utils/records.spec.js +10 -19
  300. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  301. package/dist/esm/tests/utils/secp256k1.spec.js +16 -25
  302. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
  303. package/dist/esm/tests/utils/secp256r1.spec.js +18 -27
  304. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  305. package/dist/esm/tests/utils/test-data-generator.js +414 -468
  306. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  307. package/dist/esm/tests/validation/json-schemas/definitions.spec.js +2 -11
  308. package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
  309. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +4 -13
  310. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
  311. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -17
  312. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
  313. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +3 -12
  314. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
  315. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +4 -13
  316. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  317. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +2 -11
  318. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
  319. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +2 -11
  320. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -1
  321. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +7 -16
  322. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  323. package/dist/types/src/core/protocol-authorization-action.d.ts +42 -0
  324. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -0
  325. package/dist/types/src/core/protocol-authorization-validation.d.ts +60 -0
  326. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -0
  327. package/dist/types/src/core/protocol-authorization.d.ts +10 -100
  328. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  329. package/dist/types/src/core/record-chain.d.ts +24 -0
  330. package/dist/types/src/core/record-chain.d.ts.map +1 -0
  331. package/dist/types/src/handlers/records-write.d.ts +2 -1
  332. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  333. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  334. package/dist/types/src/interfaces/records-write-query.d.ts +33 -0
  335. package/dist/types/src/interfaces/records-write-query.d.ts.map +1 -0
  336. package/dist/types/src/interfaces/records-write-signing.d.ts +35 -0
  337. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -0
  338. package/dist/types/src/interfaces/records-write.d.ts +10 -44
  339. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  340. package/dist/types/src/store/index-level-compound.d.ts +70 -0
  341. package/dist/types/src/store/index-level-compound.d.ts.map +1 -0
  342. package/dist/types/src/store/index-level.d.ts +0 -58
  343. package/dist/types/src/store/index-level.d.ts.map +1 -1
  344. package/dist/types/src/utils/protocols.d.ts +5 -0
  345. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  346. package/dist/types/src/utils/records.d.ts +3 -1
  347. package/dist/types/src/utils/records.d.ts.map +1 -1
  348. package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
  349. package/package.json +3 -3
  350. package/src/core/protocol-authorization-action.ts +377 -0
  351. package/src/core/protocol-authorization-validation.ts +391 -0
  352. package/src/core/protocol-authorization.ts +60 -849
  353. package/src/core/record-chain.ts +99 -0
  354. package/src/handlers/records-read.ts +1 -1
  355. package/src/handlers/records-write.ts +37 -21
  356. package/src/interfaces/protocols-configure.ts +33 -5
  357. package/src/interfaces/records-write-query.ts +139 -0
  358. package/src/interfaces/records-write-signing.ts +143 -0
  359. package/src/interfaces/records-write.ts +49 -221
  360. package/src/store/index-level-compound.ts +324 -0
  361. package/src/store/index-level.ts +24 -306
  362. package/src/utils/protocols.ts +8 -0
  363. package/src/utils/records.ts +9 -15
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { ArrayUtility } from '../../src/utils/array.js';
11
2
  import { Cid } from '../../src/utils/cid.js';
12
3
  import { DataStoreLevel } from '../../src/store/data-store-level.js';
@@ -15,130 +6,130 @@ import { TestDataGenerator } from '../utils/test-data-generator.js';
15
6
  import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
16
7
  let store;
17
8
  describe('DataStoreLevel Test Suite', () => {
18
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
9
+ beforeAll(async () => {
19
10
  store = new DataStoreLevel({ blockstoreLocation: 'TEST-DATASTORE' });
20
- yield store.open();
21
- }));
22
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
23
- yield store.clear(); // clean up before each test rather than after so that a test does not depend on other tests to do the clean up
24
- }));
25
- afterAll(() => __awaiter(void 0, void 0, void 0, function* () {
26
- yield store.close();
27
- }));
11
+ await store.open();
12
+ });
13
+ beforeEach(async () => {
14
+ await store.clear(); // clean up before each test rather than after so that a test does not depend on other tests to do the clean up
15
+ });
16
+ afterAll(async () => {
17
+ await store.close();
18
+ });
28
19
  describe('put', function () {
29
- it('should return the correct size of the data stored', () => __awaiter(this, void 0, void 0, function* () {
30
- const tenant = yield TestDataGenerator.randomCborSha256Cid();
31
- const recordId = yield TestDataGenerator.randomCborSha256Cid();
20
+ it('should return the correct size of the data stored', async () => {
21
+ const tenant = await TestDataGenerator.randomCborSha256Cid();
22
+ const recordId = await TestDataGenerator.randomCborSha256Cid();
32
23
  let dataSizeInBytes = 10;
33
24
  // iterate through order of magnitude in size until hitting 10MB
34
- while (dataSizeInBytes <= 10000000) {
25
+ while (dataSizeInBytes <= 10_000_000) {
35
26
  const dataBytes = TestDataGenerator.randomBytes(dataSizeInBytes);
36
27
  const dataStream = DataStream.fromBytes(dataBytes);
37
- const dataCid = yield Cid.computeDagPbCidFromBytes(dataBytes);
38
- const { dataSize } = yield store.put(tenant, recordId, dataCid, dataStream);
28
+ const dataCid = await Cid.computeDagPbCidFromBytes(dataBytes);
29
+ const { dataSize } = await store.put(tenant, recordId, dataCid, dataStream);
39
30
  expect(dataSize).toBe(dataSizeInBytes);
40
- const result = (yield store.get(tenant, recordId, dataCid));
41
- const storedDataBytes = yield DataStream.toBytes(result.dataStream);
31
+ const result = (await store.get(tenant, recordId, dataCid));
32
+ const storedDataBytes = await DataStream.toBytes(result.dataStream);
42
33
  expect(storedDataBytes).toEqual(dataBytes);
43
34
  dataSizeInBytes *= 10;
44
35
  }
45
- }));
46
- it('should duplicate same data if written to different tenants', () => __awaiter(this, void 0, void 0, function* () {
47
- const alice = yield TestDataGenerator.randomCborSha256Cid();
48
- const bob = yield TestDataGenerator.randomCborSha256Cid();
36
+ });
37
+ it('should duplicate same data if written to different tenants', async () => {
38
+ const alice = await TestDataGenerator.randomCborSha256Cid();
39
+ const bob = await TestDataGenerator.randomCborSha256Cid();
49
40
  const dataBytes = TestDataGenerator.randomBytes(100);
50
- const dataCid = yield Cid.computeDagPbCidFromBytes(dataBytes);
41
+ const dataCid = await Cid.computeDagPbCidFromBytes(dataBytes);
51
42
  // write data to alice's DWN
52
43
  const aliceDataStream = DataStream.fromBytes(dataBytes);
53
- const aliceRecordId = yield TestDataGenerator.randomCborSha256Cid();
54
- yield store.put(alice, aliceRecordId, dataCid, aliceDataStream);
44
+ const aliceRecordId = await TestDataGenerator.randomCborSha256Cid();
45
+ await store.put(alice, aliceRecordId, dataCid, aliceDataStream);
55
46
  // write same data to bob's DWN
56
47
  const bobDataStream = DataStream.fromBytes(dataBytes);
57
- const bobRecordId = yield TestDataGenerator.randomCborSha256Cid();
58
- yield store.put(bob, bobRecordId, dataCid, bobDataStream);
48
+ const bobRecordId = await TestDataGenerator.randomCborSha256Cid();
49
+ await store.put(bob, bobRecordId, dataCid, bobDataStream);
59
50
  // verify that both alice and bob's blockstore have their own reference to data CID
60
- const blockstoreOfAliceRecord = yield store['getBlockstoreForStoringData'](alice, aliceRecordId, dataCid);
61
- const blockstoreOfBobRecord = yield store['getBlockstoreForStoringData'](bob, bobRecordId, dataCid);
62
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfAliceRecord.db.keys())).toEqual([dataCid]);
63
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfBobRecord.db.keys())).toEqual([dataCid]);
64
- }));
51
+ const blockstoreOfAliceRecord = await store['getBlockstoreForStoringData'](alice, aliceRecordId, dataCid);
52
+ const blockstoreOfBobRecord = await store['getBlockstoreForStoringData'](bob, bobRecordId, dataCid);
53
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfAliceRecord.db.keys())).toEqual([dataCid]);
54
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfBobRecord.db.keys())).toEqual([dataCid]);
55
+ });
65
56
  });
66
57
  describe('get', function () {
67
- it('should return `undefined if unable to find the data specified`', () => __awaiter(this, void 0, void 0, function* () {
68
- const tenant = yield TestDataGenerator.randomCborSha256Cid();
69
- const recordId = yield TestDataGenerator.randomCborSha256Cid();
70
- const randomCid = yield TestDataGenerator.randomCborSha256Cid();
71
- const result = yield store.get(tenant, recordId, randomCid);
58
+ it('should return `undefined if unable to find the data specified`', async () => {
59
+ const tenant = await TestDataGenerator.randomCborSha256Cid();
60
+ const recordId = await TestDataGenerator.randomCborSha256Cid();
61
+ const randomCid = await TestDataGenerator.randomCborSha256Cid();
62
+ const result = await store.get(tenant, recordId, randomCid);
72
63
  expect(result).toBeUndefined();
73
- }));
74
- it('should return `undefined` if the dataCid is different than the dataStream`', () => __awaiter(this, void 0, void 0, function* () {
75
- const tenant = yield TestDataGenerator.randomCborSha256Cid();
76
- const recordId = yield TestDataGenerator.randomCborSha256Cid();
77
- const randomCid = yield TestDataGenerator.randomCborSha256Cid();
78
- const dataBytes = TestDataGenerator.randomBytes(10000000);
64
+ });
65
+ it('should return `undefined` if the dataCid is different than the dataStream`', async () => {
66
+ const tenant = await TestDataGenerator.randomCborSha256Cid();
67
+ const recordId = await TestDataGenerator.randomCborSha256Cid();
68
+ const randomCid = await TestDataGenerator.randomCborSha256Cid();
69
+ const dataBytes = TestDataGenerator.randomBytes(10_000_000);
79
70
  const dataStream = DataStream.fromBytes(dataBytes);
80
- yield store.put(tenant, recordId, randomCid, dataStream);
81
- const result = yield store.get(tenant, recordId, randomCid);
71
+ await store.put(tenant, recordId, randomCid, dataStream);
72
+ const result = await store.get(tenant, recordId, randomCid);
82
73
  expect(result).toBeUndefined();
83
- }));
74
+ });
84
75
  });
85
76
  describe('delete', function () {
86
- it('should not leave anything behind when deleting the root CID', () => __awaiter(this, void 0, void 0, function* () {
87
- const tenant = yield TestDataGenerator.randomCborSha256Cid();
88
- const recordId = yield TestDataGenerator.randomCborSha256Cid();
89
- const dataBytes = TestDataGenerator.randomBytes(10000000);
77
+ it('should not leave anything behind when deleting the root CID', async () => {
78
+ const tenant = await TestDataGenerator.randomCborSha256Cid();
79
+ const recordId = await TestDataGenerator.randomCborSha256Cid();
80
+ const dataBytes = TestDataGenerator.randomBytes(10_000_000);
90
81
  const dataStream = DataStream.fromBytes(dataBytes);
91
- const dataCid = yield Cid.computeDagPbCidFromBytes(dataBytes);
92
- yield store.put(tenant, recordId, dataCid, dataStream);
93
- const keysBeforeDelete = yield ArrayUtility.fromAsyncGenerator(store.blockstore.db.keys());
82
+ const dataCid = await Cid.computeDagPbCidFromBytes(dataBytes);
83
+ await store.put(tenant, recordId, dataCid, dataStream);
84
+ const keysBeforeDelete = await ArrayUtility.fromAsyncGenerator(store.blockstore.db.keys());
94
85
  expect(keysBeforeDelete.length).toBe(40);
95
- yield store.delete(tenant, recordId, dataCid);
96
- const keysAfterDelete = yield ArrayUtility.fromAsyncGenerator(store.blockstore.db.keys());
86
+ await store.delete(tenant, recordId, dataCid);
87
+ const keysAfterDelete = await ArrayUtility.fromAsyncGenerator(store.blockstore.db.keys());
97
88
  expect(keysAfterDelete.length).toBe(0);
98
- }));
99
- it('should only delete data in the sublevel of the corresponding record', () => __awaiter(this, void 0, void 0, function* () {
100
- const alice = yield TestDataGenerator.randomCborSha256Cid();
101
- const bob = yield TestDataGenerator.randomCborSha256Cid();
89
+ });
90
+ it('should only delete data in the sublevel of the corresponding record', async () => {
91
+ const alice = await TestDataGenerator.randomCborSha256Cid();
92
+ const bob = await TestDataGenerator.randomCborSha256Cid();
102
93
  const dataBytes = TestDataGenerator.randomBytes(100);
103
- const dataCid = yield Cid.computeDagPbCidFromBytes(dataBytes);
94
+ const dataCid = await Cid.computeDagPbCidFromBytes(dataBytes);
104
95
  // alice writes a records with data
105
96
  const dataStream1 = DataStream.fromBytes(dataBytes);
106
- const recordId1 = yield TestDataGenerator.randomCborSha256Cid();
107
- yield store.put(alice, recordId1, dataCid, dataStream1);
97
+ const recordId1 = await TestDataGenerator.randomCborSha256Cid();
98
+ await store.put(alice, recordId1, dataCid, dataStream1);
108
99
  // alice writes a different record with same data again
109
100
  const dataStream2 = DataStream.fromBytes(dataBytes);
110
- const recordId2 = yield TestDataGenerator.randomCborSha256Cid();
111
- yield store.put(alice, recordId2, dataCid, dataStream2);
101
+ const recordId2 = await TestDataGenerator.randomCborSha256Cid();
102
+ await store.put(alice, recordId2, dataCid, dataStream2);
112
103
  // bob writes a records with same data
113
104
  const dataStream3 = DataStream.fromBytes(dataBytes);
114
- const recordId3 = yield TestDataGenerator.randomCborSha256Cid();
115
- yield store.put(bob, recordId3, dataCid, dataStream3);
105
+ const recordId3 = await TestDataGenerator.randomCborSha256Cid();
106
+ await store.put(bob, recordId3, dataCid, dataStream3);
116
107
  // bob writes a different record with same data again
117
108
  const dataStream4 = DataStream.fromBytes(dataBytes);
118
- const recordId4 = yield TestDataGenerator.randomCborSha256Cid();
119
- yield store.put(bob, recordId4, dataCid, dataStream4);
109
+ const recordId4 = await TestDataGenerator.randomCborSha256Cid();
110
+ await store.put(bob, recordId4, dataCid, dataStream4);
120
111
  // verify that all 4 records have reference to the same data CID
121
- const blockstoreOfRecord1 = yield store['getBlockstoreForStoringData'](alice, recordId1, dataCid);
122
- const blockstoreOfRecord2 = yield store['getBlockstoreForStoringData'](alice, recordId2, dataCid);
123
- const blockstoreOfRecord3 = yield store['getBlockstoreForStoringData'](bob, recordId3, dataCid);
124
- const blockstoreOfRecord4 = yield store['getBlockstoreForStoringData'](bob, recordId4, dataCid);
125
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord1.db.keys())).toEqual([dataCid]);
126
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord2.db.keys())).toEqual([dataCid]);
127
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord3.db.keys())).toEqual([dataCid]);
128
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord4.db.keys())).toEqual([dataCid]);
112
+ const blockstoreOfRecord1 = await store['getBlockstoreForStoringData'](alice, recordId1, dataCid);
113
+ const blockstoreOfRecord2 = await store['getBlockstoreForStoringData'](alice, recordId2, dataCid);
114
+ const blockstoreOfRecord3 = await store['getBlockstoreForStoringData'](bob, recordId3, dataCid);
115
+ const blockstoreOfRecord4 = await store['getBlockstoreForStoringData'](bob, recordId4, dataCid);
116
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord1.db.keys())).toEqual([dataCid]);
117
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord2.db.keys())).toEqual([dataCid]);
118
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord3.db.keys())).toEqual([dataCid]);
119
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord4.db.keys())).toEqual([dataCid]);
129
120
  // alice deletes one of the two records
130
- yield store.delete(alice, recordId1, dataCid);
131
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord1.db.keys())).toEqual([]);
132
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord2.db.keys())).toEqual([dataCid]);
133
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord3.db.keys())).toEqual([dataCid]);
134
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord4.db.keys())).toEqual([dataCid]);
121
+ await store.delete(alice, recordId1, dataCid);
122
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord1.db.keys())).toEqual([]);
123
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord2.db.keys())).toEqual([dataCid]);
124
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord3.db.keys())).toEqual([dataCid]);
125
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord4.db.keys())).toEqual([dataCid]);
135
126
  // alice deletes the other record
136
- yield store.delete(alice, recordId2, dataCid);
137
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord1.db.keys())).toEqual([]);
138
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord2.db.keys())).toEqual([]);
139
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord3.db.keys())).toEqual([dataCid]);
140
- expect(yield ArrayUtility.fromAsyncGenerator(blockstoreOfRecord4.db.keys())).toEqual([dataCid]);
141
- }));
127
+ await store.delete(alice, recordId2, dataCid);
128
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord1.db.keys())).toEqual([]);
129
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord2.db.keys())).toEqual([]);
130
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord3.db.keys())).toEqual([dataCid]);
131
+ expect(await ArrayUtility.fromAsyncGenerator(blockstoreOfRecord4.db.keys())).toEqual([dataCid]);
132
+ });
142
133
  });
143
134
  });
144
135
  //# sourceMappingURL=data-store-level.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-level.spec.js","sourceRoot":"","sources":["../../../../tests/store/data-store-level.spec.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEjF,IAAI,KAAqB,CAAC;AAE1B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,SAAS,CAAC,GAAS,EAAE;QACnB,KAAK,GAAG,IAAI,cAAc,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAA,CAAC,CAAC;IAEH,UAAU,CAAC,GAAS,EAAE;QACpB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,+GAA+G;IACtI,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAS,EAAE;QAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE;QACd,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;YACjE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAE/D,IAAI,eAAe,GAAG,EAAE,CAAC;YAEzB,gEAAgE;YAChE,OAAO,eAAe,IAAI,QAAU,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBAE9D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAE5E,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAEvC,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAE,CAAC;gBAC7D,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEpE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAE3C,eAAe,IAAI,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;YAC1E,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAE1D,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAE9D,4BAA4B;YAC5B,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YACpE,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAEhE,+BAA+B;YAC/B,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAClE,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAE1D,mFAAmF;YACnF,MAAM,uBAAuB,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC1G,MAAM,qBAAqB,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACpG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YACtG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;QACtG,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE;QACd,EAAE,CAAC,gEAAgE,EAAE,GAAS,EAAE;YAC9E,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAE/D,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,GAAS,EAAE;YAC1F,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAE/D,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAEhE,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,QAAU,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAEnD,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE;QACjB,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAE/D,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,QAAU,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAE9D,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAEvD,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEzC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE9C,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1F,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAS,EAAE;YACnF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAE1D,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAE9D,mCAAmC;YACnC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAChE,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAExD,uDAAuD;YACvD,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAChE,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAExD,sCAAsC;YACtC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAChE,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAEtD,qDAAqD;YACrD,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YAChE,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAEtD,gEAAgE;YAChE,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClG,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClG,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAChG,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAChG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAClG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAClG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAClG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAElG,uCAAuC;YACvC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAG,CAAC,CAAC;YAC1F,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAClG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAClG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAElG,iCAAiC;YACjC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAG,CAAC,CAAC;YAC1F,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAG,CAAC,CAAC;YAC1F,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAClG,MAAM,CAAC,MAAM,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;QACpG,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"data-store-level.spec.js","sourceRoot":"","sources":["../../../../tests/store/data-store-level.spec.ts"],"names":[],"mappings":"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"}