@adobe/data 0.4.6 → 0.4.8

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 (336) hide show
  1. package/dist/README.md +310 -0
  2. package/dist/cache/functions/bind-functions.d.ts +6 -0
  3. package/dist/cache/functions/bind-functions.js +33 -0
  4. package/dist/cache/functions/bind-functions.js.map +1 -0
  5. package/dist/cache/functions/hashing/arrayBufferToHex.d.ts +1 -0
  6. package/dist/cache/functions/hashing/arrayBufferToHex.js +27 -0
  7. package/dist/cache/functions/hashing/arrayBufferToHex.js.map +1 -0
  8. package/dist/cache/functions/omit.d.ts +1 -0
  9. package/dist/cache/functions/omit.js +29 -0
  10. package/dist/cache/functions/omit.js.map +1 -0
  11. package/dist/cache/functions/types.d.ts +1 -0
  12. package/dist/{ecs/database/store-schema/store-schema.js → cache/functions/types.js} +1 -1
  13. package/dist/cache/functions/types.js.map +1 -0
  14. package/dist/core/data.d.ts +22 -0
  15. package/dist/core/data.js +52 -0
  16. package/dist/core/data.js.map +1 -0
  17. package/dist/{ecs/database/database-schema/create-store-schema-test.js → core/data.test.js} +26 -14
  18. package/dist/core/data.test.js.map +1 -0
  19. package/dist/core/functions/array-equals.d.ts +1 -0
  20. package/dist/core/functions/array-equals.js +34 -0
  21. package/dist/core/functions/array-equals.js.map +1 -0
  22. package/dist/core/functions/deep-merge.d.ts +32 -0
  23. package/dist/core/functions/deep-merge.js +54 -0
  24. package/dist/core/functions/deep-merge.js.map +1 -0
  25. package/dist/core/functions/deep-merge.test.js +94 -0
  26. package/dist/core/functions/deep-merge.test.js.map +1 -0
  27. package/dist/core/functions/index.d.ts +3 -0
  28. package/dist/core/functions/index.js +25 -0
  29. package/dist/core/functions/index.js.map +1 -0
  30. package/dist/core/functions/is-async-generator.d.ts +1 -0
  31. package/dist/{ecs/database/database-schema/create-store-schema.js → core/functions/is-async-generator.js} +3 -4
  32. package/dist/core/functions/is-async-generator.js.map +1 -0
  33. package/dist/core/functions/is-promise.d.ts +1 -0
  34. package/dist/core/functions/is-promise.js +26 -0
  35. package/dist/core/functions/is-promise.js.map +1 -0
  36. package/dist/core/functions/with-validation.d.ts +5 -0
  37. package/dist/core/functions/with-validation.js +38 -0
  38. package/dist/core/functions/with-validation.js.map +1 -0
  39. package/dist/core/functions/with-validation.test.js +96 -0
  40. package/dist/core/functions/with-validation.test.js.map +1 -0
  41. package/dist/core/index.d.ts +3 -0
  42. package/dist/core/index.js +25 -0
  43. package/dist/core/index.js.map +1 -0
  44. package/dist/core/schema/dynamic/dynamic-schema.d.ts +27 -0
  45. package/dist/core/schema/dynamic/dynamic-schema.js +2 -0
  46. package/dist/core/schema/dynamic/dynamic-schema.js.map +1 -0
  47. package/dist/core/schema/dynamic/enumerate-patches.d.ts +9 -0
  48. package/dist/core/schema/dynamic/enumerate-patches.js +50 -0
  49. package/dist/core/schema/dynamic/enumerate-patches.js.map +1 -0
  50. package/dist/core/schema/dynamic/enumerate-patches.test.d.ts +134 -0
  51. package/dist/core/schema/dynamic/enumerate-patches.test.js +209 -0
  52. package/dist/core/schema/dynamic/enumerate-patches.test.js.map +1 -0
  53. package/dist/core/schema/dynamic/get-dynamic-schema.d.ts +5 -0
  54. package/dist/core/schema/dynamic/get-dynamic-schema.js +26 -0
  55. package/dist/core/schema/dynamic/get-dynamic-schema.js.map +1 -0
  56. package/dist/core/schema/dynamic/get-dynamic-schema.test.d.ts +1 -0
  57. package/dist/core/schema/dynamic/get-dynamic-schema.test.js +94 -0
  58. package/dist/core/schema/dynamic/get-dynamic-schema.test.js.map +1 -0
  59. package/dist/core/schema/dynamic/index.d.ts +1 -0
  60. package/dist/core/schema/dynamic/index.js +2 -0
  61. package/dist/core/schema/dynamic/index.js.map +1 -0
  62. package/dist/core/schema/dynamic/schema-path-value-path.d.ts +5 -0
  63. package/dist/core/schema/dynamic/schema-path-value-path.js +12 -0
  64. package/dist/core/schema/dynamic/schema-path-value-path.js.map +1 -0
  65. package/dist/core/schema/dynamic-schema.d.ts +27 -0
  66. package/dist/core/schema/dynamic-schema.js +2 -0
  67. package/dist/core/schema/dynamic-schema.js.map +1 -0
  68. package/dist/core/schema/index.d.ts +4 -0
  69. package/dist/{ecs/database/store-schema/create-store-schema.js → core/schema/index.js} +5 -5
  70. package/dist/core/schema/index.js.map +1 -0
  71. package/dist/core/schema/schema.d.ts +122 -0
  72. package/dist/core/schema/schema.js +34 -0
  73. package/dist/core/schema/schema.js.map +1 -0
  74. package/dist/core/schema/schemas.d.ts +45 -0
  75. package/dist/core/schema/schemas.js +39 -0
  76. package/dist/core/schema/schemas.js.map +1 -0
  77. package/dist/core/schema/ui-schema.d.ts +25 -0
  78. package/dist/core/schema/ui-schema.js +2 -0
  79. package/dist/core/schema/ui-schema.js.map +1 -0
  80. package/dist/core/schema/validation/is-valid.d.ts +2 -0
  81. package/dist/core/schema/validation/is-valid.js +14 -0
  82. package/dist/core/schema/validation/is-valid.js.map +1 -0
  83. package/dist/core/schema/validation/is-valid.test.d.ts +1 -0
  84. package/dist/core/schema/validation/is-valid.test.js +40 -0
  85. package/dist/core/schema/validation/is-valid.test.js.map +1 -0
  86. package/dist/core/schema/validation/validate.d.ts +2 -0
  87. package/dist/core/schema/validation/validate.js +38 -0
  88. package/dist/core/schema/validation/validate.js.map +1 -0
  89. package/dist/core/schema/validation/validate.test.d.ts +1 -0
  90. package/dist/core/schema/validation/validate.test.js +106 -0
  91. package/dist/core/schema/validation/validate.test.js.map +1 -0
  92. package/dist/core/schema/validation/with-validation.d.ts +5 -0
  93. package/dist/core/schema/validation/with-validation.js +16 -0
  94. package/dist/core/schema/validation/with-validation.js.map +1 -0
  95. package/dist/core/schema/validation/with-validation.test.d.ts +1 -0
  96. package/dist/core/schema/validation/with-validation.test.js +96 -0
  97. package/dist/core/schema/validation/with-validation.test.js.map +1 -0
  98. package/dist/core/schema.d.ts +86 -0
  99. package/dist/core/schema.js +33 -0
  100. package/dist/core/schema.js.map +1 -0
  101. package/dist/core/schema.test.d.ts +1 -0
  102. package/dist/core/schema.test.js +16 -0
  103. package/dist/core/schema.test.js.map +1 -0
  104. package/dist/core/schemas.d.ts +45 -0
  105. package/dist/core/schemas.js +39 -0
  106. package/dist/core/schemas.js.map +1 -0
  107. package/dist/ecs/action-ecs/action-ecs.d.ts +19 -0
  108. package/dist/ecs/action-ecs/action-ecs.js +203 -0
  109. package/dist/ecs/action-ecs/action-ecs.js.map +1 -0
  110. package/dist/ecs/action-ecs/action-ecs.test.d.ts +1 -0
  111. package/dist/ecs/action-ecs/action-ecs.test.js +362 -0
  112. package/dist/ecs/action-ecs/action-ecs.test.js.map +1 -0
  113. package/dist/ecs/action-ecs/action-types.d.ts +106 -0
  114. package/dist/ecs/action-ecs/action-types.js +19 -0
  115. package/dist/ecs/action-ecs/action-types.js.map +1 -0
  116. package/dist/ecs/action-ecs/index.d.ts +2 -0
  117. package/dist/ecs/{database/store-schema → action-ecs}/index.js +1 -2
  118. package/dist/ecs/action-ecs/index.js.map +1 -0
  119. package/dist/ecs/component-schemas.d.ts +2 -1
  120. package/dist/ecs/core-ecs/core-ecs-serialization.test.d.ts +1 -0
  121. package/dist/ecs/core-ecs/core-ecs-serialization.test.js +230 -0
  122. package/dist/ecs/core-ecs/core-ecs-serialization.test.js.map +1 -0
  123. package/dist/ecs/core-ecs/core-ecs-types.d.ts +141 -0
  124. package/dist/ecs/core-ecs/core-ecs-types.js +23 -0
  125. package/dist/ecs/core-ecs/core-ecs-types.js.map +1 -0
  126. package/dist/ecs/core-ecs/core-ecs.d.ts +7 -0
  127. package/dist/ecs/core-ecs/core-ecs.js +492 -0
  128. package/dist/ecs/core-ecs/core-ecs.js.map +1 -0
  129. package/dist/ecs/core-ecs/core-ecs.test.d.ts +1 -0
  130. package/dist/ecs/core-ecs/core-ecs.test.js +425 -0
  131. package/dist/ecs/core-ecs/core-ecs.test.js.map +1 -0
  132. package/dist/ecs/core-ecs/index.d.ts +1 -0
  133. package/dist/ecs/core-ecs/index.js +2 -0
  134. package/dist/ecs/core-ecs/index.js.map +1 -0
  135. package/dist/ecs/database/database-schema/create-database-schema-test.js +2 -2
  136. package/dist/ecs/database/database-schema/create-database-schema-test.js.map +1 -1
  137. package/dist/ecs/database/database-schema/create-database-schema.d.ts +4 -1
  138. package/dist/ecs/database/database-schema/create-database-schema.js +2 -2
  139. package/dist/ecs/database/database-schema/create-database-schema.js.map +1 -1
  140. package/dist/ecs/database/database-schema/database-schema.d.ts +5 -2
  141. package/dist/ecs/database/database-schema/index.d.ts +2 -2
  142. package/dist/ecs/database/database-schema/index.js +2 -2
  143. package/dist/ecs/database/database-schema/index.js.map +1 -1
  144. package/dist/ecs/database/register-database-codec.d.ts +1 -0
  145. package/dist/ecs/database/register-database-codec.js +35 -0
  146. package/dist/ecs/database/register-database-codec.js.map +1 -0
  147. package/dist/ecs/database/register-database-codecs.d.ts +1 -0
  148. package/dist/ecs/database/register-database-codecs.js +35 -0
  149. package/dist/ecs/database/register-database-codecs.js.map +1 -0
  150. package/dist/ecs/database/register-store-codec.d.ts +1 -0
  151. package/dist/ecs/database/register-store-codec.js +35 -0
  152. package/dist/ecs/database/register-store-codec.js.map +1 -0
  153. package/dist/ecs/database/register-typed-buffer-codecs.d.ts +1 -0
  154. package/dist/ecs/database/register-typed-buffer-codecs.js +80 -0
  155. package/dist/ecs/database/register-typed-buffer-codecs.js.map +1 -0
  156. package/dist/ecs/database/transactional-store/apply-write-operations.d.ts +7 -0
  157. package/dist/ecs/database/transactional-store/apply-write-operations.js +20 -0
  158. package/dist/ecs/database/transactional-store/apply-write-operations.js.map +1 -0
  159. package/dist/ecs/database/transactional-store/applyWriteOperations.d.ts +7 -0
  160. package/dist/ecs/database/transactional-store/applyWriteOperations.js +20 -0
  161. package/dist/ecs/database/transactional-store/applyWriteOperations.js.map +1 -0
  162. package/dist/ecs/database/transactional-store/create-test-transaction.d.ts +1 -0
  163. package/dist/ecs/database/transactional-store/create-test-transaction.js.map +1 -1
  164. package/dist/ecs/database/transactional-store/patch.d.ts +3 -0
  165. package/dist/ecs/database/transactional-store/patch.js +7 -0
  166. package/dist/ecs/database/transactional-store/patch.js.map +1 -0
  167. package/dist/ecs/database/transactional-store/undoable.d.ts +13 -0
  168. package/dist/ecs/database/{database-schema/store-schema.js → transactional-store/undoable.js} +1 -1
  169. package/dist/ecs/database/transactional-store/undoable.js.map +1 -0
  170. package/dist/ecs/database/transactional-store/with-undoable.d.ts +10 -0
  171. package/dist/ecs/database/transactional-store/with-undoable.js +13 -0
  172. package/dist/ecs/database/transactional-store/with-undoable.js.map +1 -0
  173. package/dist/ecs/database/with-undoable.d.ts +10 -0
  174. package/dist/ecs/database/with-undoable.js +13 -0
  175. package/dist/ecs/database/with-undoable.js.map +1 -0
  176. package/dist/ecs/ecs/ecs-types.d.ts +132 -0
  177. package/dist/ecs/ecs/ecs-types.js +23 -0
  178. package/dist/ecs/ecs/ecs-types.js.map +1 -0
  179. package/dist/ecs/ecs/ecs-where-functions.d.ts +6 -0
  180. package/dist/ecs/ecs/ecs-where-functions.js +91 -0
  181. package/dist/ecs/ecs/ecs-where-functions.js.map +1 -0
  182. package/dist/ecs/ecs/ecs.d.ts +13 -0
  183. package/dist/ecs/ecs/ecs.js +177 -0
  184. package/dist/ecs/ecs/ecs.js.map +1 -0
  185. package/dist/ecs/ecs/ecs.test.d.ts +1 -0
  186. package/dist/ecs/ecs/ecs.test.js +399 -0
  187. package/dist/ecs/ecs/ecs.test.js.map +1 -0
  188. package/dist/ecs/ecs/index.d.ts +3 -0
  189. package/dist/ecs/ecs/index.js +3 -0
  190. package/dist/ecs/ecs/index.js.map +1 -0
  191. package/dist/ecs/entity-location-table/register-database-codec.d.ts +1 -0
  192. package/dist/ecs/entity-location-table/register-database-codec.js +35 -0
  193. package/dist/ecs/entity-location-table/register-database-codec.js.map +1 -0
  194. package/dist/ecs/entity-location-table/register-entity-location-table-codec.d.ts +1 -0
  195. package/dist/{functions/serialization.test.js → ecs/entity-location-table/register-entity-location-table-codec.js} +20 -22
  196. package/dist/ecs/entity-location-table/register-entity-location-table-codec.js.map +1 -0
  197. package/dist/ecs/entity-location-table/register-entity-location-table-codec.test.d.ts +1 -0
  198. package/dist/ecs/entity-location-table/register-entity-location-table-codec.test.js +70 -0
  199. package/dist/ecs/entity-location-table/register-entity-location-table-codec.test.js.map +1 -0
  200. package/dist/ecs/persistence-service/create-persistence-service.d.ts +6 -0
  201. package/dist/ecs/persistence-service/create-persistence-service.js +24 -0
  202. package/dist/ecs/persistence-service/create-persistence-service.js.map +1 -0
  203. package/dist/ecs/persistence-service/create-session-persistence-service.d.ts +8 -0
  204. package/dist/ecs/persistence-service/create-session-persistence-service.js +49 -0
  205. package/dist/ecs/persistence-service/create-session-persistence-service.js.map +1 -0
  206. package/dist/ecs/persistence-service/persistence-service copy.d.ts +5 -0
  207. package/dist/ecs/persistence-service/persistence-service copy.js +2 -0
  208. package/dist/ecs/persistence-service/persistence-service copy.js.map +1 -0
  209. package/dist/ecs/persistence-service/to-blob-refs.d.ts +2 -0
  210. package/dist/ecs/persistence-service/to-blob-refs.js +3 -0
  211. package/dist/ecs/persistence-service/to-blob-refs.js.map +1 -0
  212. package/dist/ecs/persistence-service/undo-redo-service.d.ts +11 -0
  213. package/dist/ecs/persistence-service/undo-redo-service.js +23 -0
  214. package/dist/ecs/persistence-service/undo-redo-service.js.map +1 -0
  215. package/dist/ecs/resource-schemas.d.ts +4 -3
  216. package/dist/ecs/resource-schemas.js +21 -0
  217. package/dist/ecs/resource-schemas.js.map +1 -1
  218. package/dist/ecs/store/core/core.d.ts +8 -0
  219. package/dist/ecs/store/core/create-core.js +5 -0
  220. package/dist/ecs/store/core/create-core.js.map +1 -1
  221. package/dist/ecs/store/core/create-core.test.js +109 -0
  222. package/dist/ecs/store/core/create-core.test.js.map +1 -1
  223. package/dist/ecs/store/core/register-core-codec.d.ts +1 -0
  224. package/dist/ecs/{database/store-schema/create-store-schema-test.js → store/core/register-core-codec.js} +24 -15
  225. package/dist/ecs/store/core/register-core-codec.js.map +1 -0
  226. package/dist/ecs/store/core/register-core-codec.test.d.ts +1 -0
  227. package/dist/ecs/store/core/register-core-codec.test.js +136 -0
  228. package/dist/ecs/store/core/register-core-codec.test.js.map +1 -0
  229. package/dist/ecs/store/query.d.ts +47 -0
  230. package/dist/ecs/store/query.js +2 -0
  231. package/dist/ecs/store/query.js.map +1 -0
  232. package/dist/ecs/store/register-core-codec.d.ts +1 -0
  233. package/dist/ecs/store/register-core-codec.js +38 -0
  234. package/dist/ecs/store/register-core-codec.js.map +1 -0
  235. package/dist/ecs/store/register-store-codec.d.ts +1 -0
  236. package/dist/ecs/store/register-store-codec.js +38 -0
  237. package/dist/ecs/store/register-store-codec.js.map +1 -0
  238. package/dist/ecs/store/restore-store.d.ts +12 -0
  239. package/dist/ecs/store/restore-store.js +91 -0
  240. package/dist/ecs/store/restore-store.js.map +1 -0
  241. package/dist/ecs/store/select-options.d.ts +1 -0
  242. package/dist/ecs/store/select-options.js +16 -0
  243. package/dist/ecs/store/select-options.js.map +1 -0
  244. package/dist/ecs/store/select.d.ts +44 -0
  245. package/dist/ecs/store/select.js +2 -0
  246. package/dist/ecs/store/select.js.map +1 -0
  247. package/dist/ecs/transaction-ecs/index.d.ts +2 -0
  248. package/dist/ecs/transaction-ecs/index.js +24 -0
  249. package/dist/ecs/transaction-ecs/index.js.map +1 -0
  250. package/dist/ecs/transaction-ecs/transaction-ecs.d.ts +11 -0
  251. package/dist/ecs/transaction-ecs/transaction-ecs.js +184 -0
  252. package/dist/ecs/transaction-ecs/transaction-ecs.js.map +1 -0
  253. package/dist/ecs/transaction-ecs/transaction-ecs.test.d.ts +1 -0
  254. package/dist/ecs/transaction-ecs/transaction-ecs.test.js +599 -0
  255. package/dist/ecs/transaction-ecs/transaction-ecs.test.js.map +1 -0
  256. package/dist/ecs/transaction-ecs/transaction-types.d.ts +135 -0
  257. package/dist/ecs/transaction-ecs/transaction-types.js +2 -0
  258. package/dist/ecs/transaction-ecs/transaction-types.js.map +1 -0
  259. package/dist/ecs/transaction-ecs/transactions.d.ts +5 -0
  260. package/dist/ecs/transaction-ecs/transactions.js +158 -0
  261. package/dist/ecs/transaction-ecs/transactions.js.map +1 -0
  262. package/dist/ecs/undo-redo/create-undo-redo-actions.js +21 -0
  263. package/dist/ecs/undo-redo/create-undo-redo-actions.js.map +1 -1
  264. package/dist/ecs/undo-redo/create-undo-redo-actions.test.js.map +1 -1
  265. package/dist/ecs/undo-redo/do.d.ts +3 -0
  266. package/dist/ecs/undo-redo/do.js +3 -0
  267. package/dist/ecs/undo-redo/do.js.map +1 -0
  268. package/dist/ecs/undo-redo/index.d.ts +1 -0
  269. package/dist/ecs/undo-redo/index.js +23 -0
  270. package/dist/ecs/undo-redo/index.js.map +1 -0
  271. package/dist/functions/serialization/deserialize.d.ts +1 -4
  272. package/dist/functions/serialization/deserialize.js +1 -14
  273. package/dist/functions/serialization/deserialize.js.map +1 -1
  274. package/dist/functions/serialization/register-typed-array-codecs copy.d.ts +1 -0
  275. package/dist/functions/serialization/register-typed-array-codecs copy.js +13 -0
  276. package/dist/functions/serialization/register-typed-array-codecs copy.js.map +1 -0
  277. package/dist/functions/serialization/serialize-to-blobs copy.d.ts +8 -0
  278. package/dist/functions/serialization/serialize-to-blobs copy.js +21 -0
  279. package/dist/functions/serialization/serialize-to-blobs copy.js.map +1 -0
  280. package/dist/functions/serialization/serialize-to-blobs.js.map +1 -1
  281. package/dist/observe/to-async-generator.js +0 -4
  282. package/dist/observe/to-async-generator.js.map +1 -1
  283. package/dist/observe/with-map copy.d.ts +5 -0
  284. package/dist/observe/with-map copy.js +14 -0
  285. package/dist/observe/with-map copy.js.map +1 -0
  286. package/dist/package.json +129 -0
  287. package/dist/schema/f32 copy.d.ts +6 -0
  288. package/dist/schema/f32 copy.js +6 -0
  289. package/dist/schema/f32 copy.js.map +1 -0
  290. package/dist/schemas/index.d.ts +1 -0
  291. package/dist/schemas/index.js +23 -0
  292. package/dist/schemas/index.js.map +1 -0
  293. package/dist/schemas/schemas.d.ts +45 -0
  294. package/dist/schemas/schemas.js +39 -0
  295. package/dist/schemas/schemas.js.map +1 -0
  296. package/dist/service/progressive-result.d.ts +2 -1
  297. package/dist/service/progressive-result.js.map +1 -1
  298. package/dist/service/sequential-action.d.ts +18 -0
  299. package/dist/service/sequential-action.js +45 -0
  300. package/dist/service/sequential-action.js.map +1 -0
  301. package/dist/table/ensure-capacity copy.d.ts +2 -0
  302. package/dist/table/ensure-capacity copy.js +15 -0
  303. package/dist/table/ensure-capacity copy.js.map +1 -0
  304. package/dist/table/filter-rows.d.ts +2 -0
  305. package/dist/table/filter-rows.js +15 -0
  306. package/dist/table/filter-rows.js.map +1 -0
  307. package/dist/tsconfig.tsbuildinfo +1 -1
  308. package/package.json +3 -3
  309. package/dist/ecs/database/database-schema/create-database-from-schema.d.ts +0 -12
  310. package/dist/ecs/database/database-schema/create-database-from-schema.js +0 -8
  311. package/dist/ecs/database/database-schema/create-database-from-schema.js.map +0 -1
  312. package/dist/ecs/database/database-schema/create-store-schema-test.js.map +0 -1
  313. package/dist/ecs/database/database-schema/create-store-schema.d.ts +0 -9
  314. package/dist/ecs/database/database-schema/create-store-schema.js.map +0 -1
  315. package/dist/ecs/database/database-schema/store-schema.d.ts +0 -12
  316. package/dist/ecs/database/database-schema/store-schema.js.map +0 -1
  317. package/dist/ecs/database/store-schema/create-store-schema-test.js.map +0 -1
  318. package/dist/ecs/database/store-schema/create-store-schema.d.ts +0 -9
  319. package/dist/ecs/database/store-schema/create-store-schema.js.map +0 -1
  320. package/dist/ecs/database/store-schema/index.d.ts +0 -2
  321. package/dist/ecs/database/store-schema/index.js.map +0 -1
  322. package/dist/ecs/database/store-schema/store-schema.d.ts +0 -12
  323. package/dist/ecs/database/store-schema/store-schema.js.map +0 -1
  324. package/dist/functions/serialization/serialization.d.ts +0 -23
  325. package/dist/functions/serialization/serialization.js +0 -58
  326. package/dist/functions/serialization/serialization.js.map +0 -1
  327. package/dist/functions/serialization.d.ts +0 -23
  328. package/dist/functions/serialization.js +0 -58
  329. package/dist/functions/serialization.js.map +0 -1
  330. package/dist/functions/serialization.test.js.map +0 -1
  331. package/dist/functions/serialize.d.ts +0 -17
  332. package/dist/functions/serialize.js +0 -66
  333. package/dist/functions/serialize.js.map +0 -1
  334. /package/dist/{ecs/database/database-schema/create-store-schema-test.d.ts → core/data.test.d.ts} +0 -0
  335. /package/dist/{ecs/database/store-schema/create-store-schema-test.d.ts → core/functions/deep-merge.test.d.ts} +0 -0
  336. /package/dist/{functions/serialization.test.d.ts → core/functions/with-validation.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"create-core.test.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-core.test.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function registerCoreCodec(): void;
@@ -19,18 +19,27 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.*/
22
- import { TrueSchema } from "../../../schema/true.js";
23
- import { createStoreSchema } from "./create-store-schema.js";
24
- // just a compile time test which is why we're using -test.ts extension instead of .test.ts
25
- createStoreSchema({
26
- velocity: { type: "number" },
27
- particle: TrueSchema,
28
- }, {
29
- mousePosition: { type: "number", default: 0 },
30
- fooPosition: { type: "number", default: 0 },
31
- }, {
32
- bar: ["particle", "velocity"],
33
- // @ts-expect-error
34
- foo: ["particle", "velocity2"] // should throw error because velocity2 is not a component
35
- });
36
- //# sourceMappingURL=create-store-schema-test.js.map
22
+ import { registerCodec } from "../../../functions/serialization/codec.js";
23
+ import { deserialize } from "../../../functions/serialization/deserialize.js";
24
+ import { restoreCore } from "./create-core.js";
25
+ function isCore(value) {
26
+ return value !== null && typeof value === "object" && "__brand" in value && value.__brand === "core";
27
+ }
28
+ export function registerCoreCodec() {
29
+ registerCodec({
30
+ name: "core",
31
+ predicate: isCore,
32
+ serialize: (data) => {
33
+ return data.serialize();
34
+ },
35
+ deserialize: ({ json, binary }) => {
36
+ // Deserialize the Core's data to resolve nested encoded objects
37
+ const deserializedData = deserialize({
38
+ json: json ?? "{}",
39
+ binary: binary ?? []
40
+ });
41
+ return restoreCore(deserializedData);
42
+ },
43
+ });
44
+ }
45
+ //# sourceMappingURL=register-core-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-core-codec.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/register-core-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAkB,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,SAAS,MAAM,CAAC,KAAc;IAC1B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,aAAa,CAAY;QACrB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC,IAAe,EAAE,EAAE;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,CAAC;QACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAkB,EAAE,EAAE;YAC9C,gEAAgE;YAChE,MAAM,gBAAgB,GAAG,WAAW,CAAC;gBACjC,IAAI,EAAE,IAAI,IAAI,IAAI;gBAClB,MAAM,EAAE,MAAM,IAAI,EAAE;aACvB,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,gBAAuB,CAAC,CAAC;QAChD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,136 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { createCore } from "./create-core.js";
3
+ import { getCodec } from "../../../functions/serialization/codec.js";
4
+ import { F32Schema } from "../../../schema/f32.js";
5
+ // Test schemas
6
+ const positionSchema = {
7
+ type: "object",
8
+ properties: {
9
+ x: F32Schema,
10
+ y: F32Schema,
11
+ z: F32Schema,
12
+ }
13
+ };
14
+ const healthSchema = {
15
+ type: "object",
16
+ properties: {
17
+ current: F32Schema,
18
+ max: F32Schema,
19
+ }
20
+ };
21
+ describe("Core Codec", () => {
22
+ it("should serialize and deserialize Core correctly", () => {
23
+ // Create a core with components
24
+ const core = createCore({
25
+ position: positionSchema,
26
+ health: healthSchema,
27
+ });
28
+ // Create some entities and archetypes
29
+ const positionArchetype = core.ensureArchetype(["id", "position"]);
30
+ const entity1 = positionArchetype.insert({ position: { x: 1, y: 2, z: 3 } });
31
+ const healthArchetype = core.ensureArchetype(["id", "health"]);
32
+ const entity2 = healthArchetype.insert({ health: { current: 100, max: 100 } });
33
+ const fullArchetype = core.ensureArchetype(["id", "position", "health"]);
34
+ const entity3 = fullArchetype.insert({
35
+ position: { x: 0, y: 0, z: 0 },
36
+ health: { current: 50, max: 100 }
37
+ });
38
+ // Update an entity
39
+ core.update(entity1, { position: { x: 10, y: 20, z: 30 } });
40
+ // Delete an entity
41
+ core.delete(entity2);
42
+ // Get the codec
43
+ const codec = getCodec("core");
44
+ expect(codec).not.toBeNull();
45
+ // Verify predicate works
46
+ expect(codec.predicate(core)).toBe(true);
47
+ expect(codec.predicate({})).toBe(false);
48
+ expect(codec.predicate(null)).toBe(false);
49
+ // Serialize
50
+ const serialized = codec.serialize(core);
51
+ expect(serialized.json).toBeDefined();
52
+ expect(serialized.binary).toBeDefined();
53
+ expect(serialized.binary.length).toBeGreaterThan(0);
54
+ // Deserialize
55
+ const restored = codec.deserialize(serialized);
56
+ expect(restored).toBeDefined();
57
+ // Verify the restored core has the same behavior
58
+ expect(restored.locate(entity1)).not.toBeNull(); // Updated entity
59
+ expect(restored.locate(entity2)).toBeNull(); // Deleted entity
60
+ expect(restored.locate(entity3)).not.toBeNull(); // Unchanged entity
61
+ // Verify entity data is preserved
62
+ const entity1Data = restored.read(entity1);
63
+ expect(entity1Data?.position).toEqual({ x: 10, y: 20, z: 30 });
64
+ const entity3Data = restored.read(entity3);
65
+ expect(entity3Data?.position).toEqual({ x: 0, y: 0, z: 0 });
66
+ expect(entity3Data?.health).toEqual({ current: 50, max: 100 });
67
+ // Verify we can still create new entities
68
+ const newArchetype = restored.ensureArchetype(["id", "position"]);
69
+ const newEntity = newArchetype.insert({ position: { x: 100, y: 200, z: 300 } });
70
+ expect(restored.locate(newEntity)).not.toBeNull();
71
+ expect(restored.read(newEntity)?.position).toEqual({ x: 100, y: 200, z: 300 });
72
+ });
73
+ it("should handle empty core", () => {
74
+ const core = createCore({});
75
+ const codec = getCodec("core");
76
+ const serialized = codec.serialize(core);
77
+ const restored = codec.deserialize(serialized);
78
+ // Verify we can create entities in the restored core
79
+ const archetype = restored.ensureArchetype(["id"]);
80
+ const entity = archetype.insert({});
81
+ expect(restored.locate(entity)).not.toBeNull();
82
+ expect(restored.read(entity)?.id).toBe(entity);
83
+ });
84
+ it("should preserve archetype functionality", () => {
85
+ const core = createCore({
86
+ position: positionSchema,
87
+ health: healthSchema,
88
+ });
89
+ // Create multiple archetypes
90
+ const positionArchetype = core.ensureArchetype(["id", "position"]);
91
+ const healthArchetype = core.ensureArchetype(["id", "health"]);
92
+ const fullArchetype = core.ensureArchetype(["id", "position", "health"]);
93
+ // Create entities in each archetype
94
+ const positionEntity = positionArchetype.insert({ position: { x: 1, y: 2, z: 3 } });
95
+ const healthEntity = healthArchetype.insert({ health: { current: 100, max: 100 } });
96
+ const fullEntity = fullArchetype.insert({
97
+ position: { x: 0, y: 0, z: 0 },
98
+ health: { current: 50, max: 100 }
99
+ });
100
+ const codec = getCodec("core");
101
+ const serialized = codec.serialize(core);
102
+ const restored = codec.deserialize(serialized);
103
+ // Verify archetypes work correctly after restoration
104
+ const restoredPositionArchetype = restored.ensureArchetype(["id", "position"]);
105
+ const restoredHealthArchetype = restored.ensureArchetype(["id", "health"]);
106
+ const restoredFullArchetype = restored.ensureArchetype(["id", "position", "health"]);
107
+ // Verify entities are still accessible
108
+ expect(restored.locate(positionEntity)).not.toBeNull();
109
+ expect(restored.locate(healthEntity)).not.toBeNull();
110
+ expect(restored.locate(fullEntity)).not.toBeNull();
111
+ // Verify we can create new entities in each archetype
112
+ const newPositionEntity = restoredPositionArchetype.insert({ position: { x: 10, y: 20, z: 30 } });
113
+ const newHealthEntity = restoredHealthArchetype.insert({ health: { current: 75, max: 100 } });
114
+ const newFullEntity = restoredFullArchetype.insert({
115
+ position: { x: 5, y: 5, z: 5 },
116
+ health: { current: 25, max: 100 }
117
+ });
118
+ expect(restored.locate(newPositionEntity)).not.toBeNull();
119
+ expect(restored.locate(newHealthEntity)).not.toBeNull();
120
+ expect(restored.locate(newFullEntity)).not.toBeNull();
121
+ });
122
+ it("should handle component schema preservation", () => {
123
+ const core = createCore({
124
+ position: positionSchema,
125
+ health: healthSchema,
126
+ });
127
+ const codec = getCodec("core");
128
+ const serialized = codec.serialize(core);
129
+ const restored = codec.deserialize(serialized);
130
+ // Verify component schemas are preserved
131
+ expect(restored.componentSchemas.position).toEqual(positionSchema);
132
+ expect(restored.componentSchemas.health).toEqual(healthSchema);
133
+ expect(restored.componentSchemas.id).toBeDefined();
134
+ });
135
+ });
136
+ //# sourceMappingURL=register-core-codec.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-core-codec.test.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/register-core-codec.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { CoreComponents } from "../core-components.js";
2
+ /**
3
+ * Comparison operators for declarative where clauses
4
+ */
5
+ type ComparisonOperator = "==" | "!=" | "<" | ">" | ">=" | "<=";
6
+ /**
7
+ * Represents a comparison operation in a declarative where clause
8
+ */
9
+ type ComparisonOperation<T> = {
10
+ [P in ComparisonOperator]?: T;
11
+ };
12
+ /**
13
+ * Represents a condition that can be either a direct value, comparison operation, or nested conditions
14
+ */
15
+ type WhereCondition<T> = T extends object ? {
16
+ [K in keyof T]?: WhereCondition<T[K]>;
17
+ } | ComparisonOperation<T> : T | ComparisonOperation<T>;
18
+ /**
19
+ * Declarative where clause structure that allows for JSON-based filtering
20
+ * Each key in the object represents a component field to filter on
21
+ * The value can either be a direct value (equality check), a comparison operation, or nested conditions
22
+ */
23
+ export type WhereClause<T extends CoreComponents> = {
24
+ [K in keyof T]?: WhereCondition<T[K]>;
25
+ };
26
+ type OrderClause<T extends CoreComponents> = {
27
+ [K in keyof T]?: boolean;
28
+ };
29
+ export type Select<C extends CoreComponents, T extends CoreComponents> = {
30
+ /**
31
+ * Components that the entities must have.
32
+ */
33
+ components: (keyof T)[];
34
+ /**
35
+ * Components that the entities must not have.
36
+ */
37
+ without?: (keyof C)[];
38
+ /**
39
+ * Filter the results by the given condition using a declarative where clause.
40
+ */
41
+ where?: WhereClause<T>;
42
+ /**
43
+ * Order results by the given components ascending or descending.
44
+ */
45
+ order?: OrderClause<T>;
46
+ };
47
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/ecs/store/query.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare function registerCoreCodec(): void;
@@ -0,0 +1,38 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { registerCodec } from "../../functions/serialization/codec.js";
23
+ function isStore(value) {
24
+ return value !== null && typeof value === "object" && "select" in value && "resources" in value && "archetypes" in value;
25
+ }
26
+ export function registerCoreCodec() {
27
+ registerCodec({
28
+ name: "store",
29
+ predicate: isStore,
30
+ serialize: (data) => {
31
+ throw new Error("not yet implemented");
32
+ },
33
+ deserialize: ({ json, binary }) => {
34
+ throw new Error("not implemented yet");
35
+ },
36
+ });
37
+ }
38
+ //# sourceMappingURL=register-core-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-core-codec.js","sourceRoot":"","sources":["../../../src/ecs/store/register-core-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAkB,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvF,SAAS,OAAO,CAAC,KAAc;IAC3B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC;AAC7H,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,aAAa,CAAQ;QACjB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAkB,EAAE,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function registerStoreCodec(): void;
@@ -0,0 +1,38 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { registerCodec } from "../../functions/serialization/codec.js";
23
+ function isStore(value) {
24
+ return value !== null && typeof value === "object" && "select" in value && "resources" in value && "archetypes" in value;
25
+ }
26
+ export function registerStoreCodec() {
27
+ registerCodec({
28
+ name: "store",
29
+ predicate: isStore,
30
+ serialize: (data) => {
31
+ throw new Error("not yet implemented");
32
+ },
33
+ deserialize: ({ json, binary }) => {
34
+ throw new Error("not implemented yet");
35
+ },
36
+ });
37
+ }
38
+ //# sourceMappingURL=register-store-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-store-codec.js","sourceRoot":"","sources":["../../../src/ecs/store/register-store-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAkB,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvF,SAAS,OAAO,CAAC,KAAc;IAC3B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC;AAC7H,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,aAAa,CAAQ;QACjB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAkB,EAAE,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { ComponentSchemas } from "../component-schemas.js";
2
+ import { StringKeyof } from "../../types/types.js";
3
+ import { Store } from "./store.js";
4
+ import { FromSchema } from "../../schema/schema.js";
5
+ import { ResourceSchemas } from "../resource-schemas.js";
6
+ import { ArchetypeComponents } from "./archetype-components.js";
7
+ import { SerializedData } from "../../functions/serialization/codec.js";
8
+ export declare function restoreStore<NC extends ComponentSchemas, NR extends ResourceSchemas, A extends ArchetypeComponents<StringKeyof<NC>> = {}>(data: SerializedData): Store<{
9
+ [K in StringKeyof<NC>]: FromSchema<NC[K]>;
10
+ }, {
11
+ -readonly [K in StringKeyof<NR>]: FromSchema<NR[K]>;
12
+ }, A>;
@@ -0,0 +1,91 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { createCore } from "./core/create-core.js";
23
+ import { selectEntities } from "./core/select-entities.js";
24
+ import { restoreEntityLocationTable } from "../entity-location-table/create-entity-location-table.js";
25
+ export function restoreStore(data) {
26
+ const { json, binary } = data;
27
+ const { componentSchemas: newComponentSchemas, resourceSchemas, archetypeComponentNames, archetypes: serializedArchetypes, entityLocationTable: entityLocationTableData, } = json;
28
+ const resources = {};
29
+ const componentAndResourceSchemas = { ...newComponentSchemas };
30
+ // Resources are stored in the core as components, so we need to add them to the componentSchemas
31
+ for (const name of Object.keys(resourceSchemas)) {
32
+ const resourceId = name;
33
+ componentAndResourceSchemas[resourceId] = resourceSchemas[name];
34
+ }
35
+ const core = createCore(componentAndResourceSchemas);
36
+ // Restore entity location table
37
+ const entityLocationTable = restoreEntityLocationTable({
38
+ json: entityLocationTableData,
39
+ binary: binary?.slice(0, 1) ?? [],
40
+ });
41
+ // Restore archetypes
42
+ let binaryIndex = 1;
43
+ for (const serializedArchetype of serializedArchetypes) {
44
+ const { id, components, rowCount, columns } = serializedArchetype;
45
+ // Ensure the archetype exists
46
+ const archetype = core.ensureArchetype(components);
47
+ // Restore the table data
48
+ if (binary && binary[binaryIndex]) {
49
+ // For now, we'll need to access the internal table structure
50
+ // This is a simplified approach - in a real implementation you'd need
51
+ // to properly restore the typed buffers for each column
52
+ const tableData = binary[binaryIndex];
53
+ // TODO: Implement proper table restoration
54
+ binaryIndex++;
55
+ }
56
+ }
57
+ // Each resource will be stored as the only entity in an archetype of [id, <resourceName>]
58
+ // The resource component we added above will contain the resource value
59
+ for (const [name, resourceSchema] of Object.entries(resourceSchemas)) {
60
+ const resourceId = name;
61
+ const archetype = core.ensureArchetype(["id", resourceId]);
62
+ archetype.insert({ [resourceId]: resourceSchema.default });
63
+ const row = 0;
64
+ Object.defineProperty(resources, name, {
65
+ get: () => archetype.columns[resourceId].get(row),
66
+ set: (value) => {
67
+ archetype.columns[resourceId].set(row, value);
68
+ },
69
+ enumerable: true,
70
+ });
71
+ }
72
+ const select = (include, options) => {
73
+ return selectEntities(core, include, options);
74
+ };
75
+ const archetypes = Object.fromEntries(Object.entries(archetypeComponentNames).map(([name, componentNames]) => {
76
+ const archetype = core.ensureArchetype(["id", ...componentNames]);
77
+ return [name, archetype];
78
+ }));
79
+ const store = {
80
+ ...core,
81
+ resources,
82
+ select,
83
+ archetypes,
84
+ serialize: () => {
85
+ // This will be implemented in the createStore function
86
+ throw new Error("Serialization not implemented for restored store");
87
+ },
88
+ };
89
+ return store;
90
+ }
91
+ //# sourceMappingURL=restore-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-store.js","sourceRoot":"","sources":["../../../src/ecs/store/restore-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ export {};
2
+ // export type SelectOptions<C extends object, T extends object> = {
3
+ // /**
4
+ // * Components that the entities must not have.
5
+ // */
6
+ // without?: keyof C[];
7
+ // /**
8
+ // * Filter the results by the given condition using a declarative where clause.
9
+ // */
10
+ // where?: Filter<T>;
11
+ // /**
12
+ // * Order results by the given components ascending or descending.
13
+ // */
14
+ // order?: OrderClause<T>;
15
+ // }
16
+ //# sourceMappingURL=select-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-options.js","sourceRoot":"","sources":["../../../src/ecs/store/select-options.ts"],"names":[],"mappings":";AAIA,oEAAoE;AACpE,UAAU;AACV,qDAAqD;AACrD,UAAU;AACV,2BAA2B;AAC3B,UAAU;AACV,qFAAqF;AACrF,UAAU;AACV,yBAAyB;AACzB,UAAU;AACV,wEAAwE;AACxE,UAAU;AACV,8BAA8B;AAC9B,IAAI"}