@adobe/data 0.2.0 → 0.2.2

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 (1137) hide show
  1. package/dist/README.md +310 -0
  2. package/dist/assembly/index.d.ts +30 -0
  3. package/dist/assembly/index.js +18 -0
  4. package/dist/assembly/index.wasm +0 -0
  5. package/dist/assembly/index.wasm.map +1 -0
  6. package/dist/assembly-test/assembly.test.d.ts +1 -0
  7. package/dist/assembly-test/assembly.test.js +29 -0
  8. package/dist/assembly-test/assembly.test.js.map +1 -0
  9. package/dist/cache/async-cache.d.ts +15 -0
  10. package/dist/cache/async-cache.js +23 -0
  11. package/dist/cache/async-cache.js.map +1 -0
  12. package/dist/cache/blob-store.d.ts +94 -0
  13. package/dist/cache/blob-store.js +194 -0
  14. package/dist/cache/blob-store.js.map +1 -0
  15. package/dist/cache/blob-store.test.d.ts +1 -0
  16. package/dist/cache/blob-store.test.js +142 -0
  17. package/dist/cache/blob-store.test.js.map +1 -0
  18. package/dist/cache/data-cache.d.ts +38 -0
  19. package/dist/cache/data-cache.js +96 -0
  20. package/dist/cache/data-cache.js.map +1 -0
  21. package/dist/cache/data-cache.test.d.ts +1 -0
  22. package/dist/cache/data-cache.test.js +50 -0
  23. package/dist/cache/data-cache.test.js.map +1 -0
  24. package/dist/cache/expiring-data-cache.d.ts +6 -0
  25. package/dist/cache/expiring-data-cache.js +49 -0
  26. package/dist/cache/expiring-data-cache.js.map +1 -0
  27. package/dist/cache/expiring-data-cache.test.d.ts +1 -0
  28. package/dist/cache/expiring-data-cache.test.js +62 -0
  29. package/dist/cache/expiring-data-cache.test.js.map +1 -0
  30. package/dist/cache/fallback-async-cache.d.ts +7 -0
  31. package/dist/cache/fallback-async-cache.js +22 -0
  32. package/dist/cache/fallback-async-cache.js.map +1 -0
  33. package/dist/cache/functions/async-data-function.d.ts +1 -0
  34. package/dist/cache/functions/async-data-function.js +23 -0
  35. package/dist/cache/functions/async-data-function.js.map +1 -0
  36. package/dist/cache/functions/bind-functions.d.ts +6 -0
  37. package/dist/cache/functions/bind-functions.js +33 -0
  38. package/dist/cache/functions/bind-functions.js.map +1 -0
  39. package/dist/cache/functions/functions.test.d.ts +1 -0
  40. package/dist/cache/functions/functions.test.js +79 -0
  41. package/dist/cache/functions/functions.test.js.map +1 -0
  42. package/dist/cache/functions/get-cached.d.ts +11 -0
  43. package/dist/cache/functions/get-cached.js +49 -0
  44. package/dist/cache/functions/get-cached.js.map +1 -0
  45. package/dist/cache/functions/get-cached.test.d.ts +1 -0
  46. package/dist/cache/functions/get-cached.test.js +96 -0
  47. package/dist/cache/functions/get-cached.test.js.map +1 -0
  48. package/dist/cache/functions/hashing/blob-to-hash.d.ts +4 -0
  49. package/dist/cache/functions/hashing/blob-to-hash.js +44 -0
  50. package/dist/cache/functions/hashing/blob-to-hash.js.map +1 -0
  51. package/dist/cache/functions/hashing/buffer-to-hash.d.ts +4 -0
  52. package/dist/cache/functions/hashing/buffer-to-hash.js +33 -0
  53. package/dist/cache/functions/hashing/buffer-to-hash.js.map +1 -0
  54. package/dist/cache/functions/hashing/hashing.test.d.ts +1 -0
  55. package/dist/cache/functions/hashing/hashing.test.js +95 -0
  56. package/dist/cache/functions/hashing/hashing.test.js.map +1 -0
  57. package/dist/cache/functions/hashing/index.d.ts +4 -0
  58. package/dist/cache/functions/hashing/index.js +26 -0
  59. package/dist/cache/functions/hashing/index.js.map +1 -0
  60. package/dist/cache/functions/hashing/json-to-hash.d.ts +4 -0
  61. package/dist/cache/functions/hashing/json-to-hash.js +29 -0
  62. package/dist/cache/functions/hashing/json-to-hash.js.map +1 -0
  63. package/dist/cache/functions/hashing/string-to-hash.d.ts +4 -0
  64. package/dist/cache/functions/hashing/string-to-hash.js +37 -0
  65. package/dist/cache/functions/hashing/string-to-hash.js.map +1 -0
  66. package/dist/cache/functions/index.d.ts +5 -0
  67. package/dist/cache/functions/index.js +27 -0
  68. package/dist/cache/functions/index.js.map +1 -0
  69. package/dist/cache/functions/memoize.d.ts +12 -0
  70. package/dist/cache/functions/memoize.js +48 -0
  71. package/dist/cache/functions/memoize.js.map +1 -0
  72. package/dist/cache/functions/omit.d.ts +1 -0
  73. package/dist/cache/functions/omit.js +29 -0
  74. package/dist/cache/functions/omit.js.map +1 -0
  75. package/dist/cache/functions/prevent-parallel-execution.d.ts +7 -0
  76. package/dist/cache/functions/prevent-parallel-execution.js +25 -0
  77. package/dist/cache/functions/prevent-parallel-execution.js.map +1 -0
  78. package/dist/cache/functions/types.d.ts +1 -0
  79. package/dist/cache/functions/types.js +23 -0
  80. package/dist/cache/functions/types.js.map +1 -0
  81. package/dist/cache/get-persistent-cache.d.ts +12 -0
  82. package/dist/cache/get-persistent-cache.js +23 -0
  83. package/dist/cache/get-persistent-cache.js.map +1 -0
  84. package/dist/cache/index.d.ts +3 -0
  85. package/dist/cache/index.js +25 -0
  86. package/dist/cache/index.js.map +1 -0
  87. package/dist/cache/managed-array.d.ts +23 -0
  88. package/dist/cache/managed-array.js +160 -0
  89. package/dist/cache/managed-array.js.map +1 -0
  90. package/dist/cache/managed-async-cache.browser.test.d.ts +1 -0
  91. package/dist/cache/managed-async-cache.browser.test.js +50 -0
  92. package/dist/cache/managed-async-cache.browser.test.js.map +1 -0
  93. package/dist/cache/managed-async-cache.d.ts +4 -0
  94. package/dist/cache/managed-async-cache.js +45 -0
  95. package/dist/cache/managed-async-cache.js.map +1 -0
  96. package/dist/cache/memory-allocator.d.ts +23 -0
  97. package/dist/cache/memory-allocator.js +94 -0
  98. package/dist/cache/memory-allocator.js.map +1 -0
  99. package/dist/cache/memory-async-cache.d.ts +6 -0
  100. package/dist/cache/memory-async-cache.js +23 -0
  101. package/dist/cache/memory-async-cache.js.map +1 -0
  102. package/dist/core/data.d.ts +22 -0
  103. package/dist/core/data.js +52 -0
  104. package/dist/core/data.js.map +1 -0
  105. package/dist/core/data.test.d.ts +1 -0
  106. package/dist/core/data.test.js +48 -0
  107. package/dist/core/data.test.js.map +1 -0
  108. package/dist/core/functions/array-equals.d.ts +1 -0
  109. package/dist/core/functions/array-equals.js +34 -0
  110. package/dist/core/functions/array-equals.js.map +1 -0
  111. package/dist/core/functions/deep-merge.d.ts +32 -0
  112. package/dist/core/functions/deep-merge.js +54 -0
  113. package/dist/core/functions/deep-merge.js.map +1 -0
  114. package/dist/core/functions/deep-merge.test.d.ts +1 -0
  115. package/dist/core/functions/deep-merge.test.js +94 -0
  116. package/dist/core/functions/deep-merge.test.js.map +1 -0
  117. package/dist/core/functions/index.d.ts +3 -0
  118. package/dist/core/functions/index.js +25 -0
  119. package/dist/core/functions/index.js.map +1 -0
  120. package/dist/core/functions/is-async-generator.d.ts +1 -0
  121. package/dist/core/functions/is-async-generator.js +25 -0
  122. package/dist/core/functions/is-async-generator.js.map +1 -0
  123. package/dist/core/functions/is-promise.d.ts +1 -0
  124. package/dist/core/functions/is-promise.js +26 -0
  125. package/dist/core/functions/is-promise.js.map +1 -0
  126. package/dist/core/functions/with-validation.d.ts +5 -0
  127. package/dist/core/functions/with-validation.js +38 -0
  128. package/dist/core/functions/with-validation.js.map +1 -0
  129. package/dist/core/functions/with-validation.test.d.ts +1 -0
  130. package/dist/core/functions/with-validation.test.js +96 -0
  131. package/dist/core/functions/with-validation.test.js.map +1 -0
  132. package/dist/core/index.d.ts +3 -0
  133. package/dist/core/index.js +25 -0
  134. package/dist/core/index.js.map +1 -0
  135. package/dist/core/schema/dynamic/dynamic-schema.d.ts +27 -0
  136. package/dist/core/schema/dynamic/dynamic-schema.js +2 -0
  137. package/dist/core/schema/dynamic/dynamic-schema.js.map +1 -0
  138. package/dist/core/schema/dynamic/enumerate-patches.d.ts +9 -0
  139. package/dist/core/schema/dynamic/enumerate-patches.js +50 -0
  140. package/dist/core/schema/dynamic/enumerate-patches.js.map +1 -0
  141. package/dist/core/schema/dynamic/enumerate-patches.test.d.ts +134 -0
  142. package/dist/core/schema/dynamic/enumerate-patches.test.js +209 -0
  143. package/dist/core/schema/dynamic/enumerate-patches.test.js.map +1 -0
  144. package/dist/core/schema/dynamic/get-dynamic-schema.d.ts +5 -0
  145. package/dist/core/schema/dynamic/get-dynamic-schema.js +26 -0
  146. package/dist/core/schema/dynamic/get-dynamic-schema.js.map +1 -0
  147. package/dist/core/schema/dynamic/get-dynamic-schema.test.d.ts +1 -0
  148. package/dist/core/schema/dynamic/get-dynamic-schema.test.js +94 -0
  149. package/dist/core/schema/dynamic/get-dynamic-schema.test.js.map +1 -0
  150. package/dist/core/schema/dynamic/index.d.ts +1 -0
  151. package/dist/core/schema/dynamic/index.js +2 -0
  152. package/dist/core/schema/dynamic/index.js.map +1 -0
  153. package/dist/core/schema/dynamic/schema-path-value-path.d.ts +5 -0
  154. package/dist/core/schema/dynamic/schema-path-value-path.js +12 -0
  155. package/dist/core/schema/dynamic/schema-path-value-path.js.map +1 -0
  156. package/dist/core/schema/dynamic-schema.d.ts +27 -0
  157. package/dist/core/schema/dynamic-schema.js +2 -0
  158. package/dist/core/schema/dynamic-schema.js.map +1 -0
  159. package/dist/core/schema/index.d.ts +4 -0
  160. package/dist/core/schema/index.js +26 -0
  161. package/dist/core/schema/index.js.map +1 -0
  162. package/dist/core/schema/schema.d.ts +122 -0
  163. package/dist/core/schema/schema.js +34 -0
  164. package/dist/core/schema/schema.js.map +1 -0
  165. package/dist/core/schema/schemas.d.ts +45 -0
  166. package/dist/core/schema/schemas.js +39 -0
  167. package/dist/core/schema/schemas.js.map +1 -0
  168. package/dist/core/schema/ui-schema.d.ts +25 -0
  169. package/dist/core/schema/ui-schema.js +2 -0
  170. package/dist/core/schema/ui-schema.js.map +1 -0
  171. package/dist/core/schema/validation/is-valid.d.ts +2 -0
  172. package/dist/core/schema/validation/is-valid.js +14 -0
  173. package/dist/core/schema/validation/is-valid.js.map +1 -0
  174. package/dist/core/schema/validation/is-valid.test.d.ts +1 -0
  175. package/dist/core/schema/validation/is-valid.test.js +40 -0
  176. package/dist/core/schema/validation/is-valid.test.js.map +1 -0
  177. package/dist/core/schema/validation/validate.d.ts +2 -0
  178. package/dist/core/schema/validation/validate.js +38 -0
  179. package/dist/core/schema/validation/validate.js.map +1 -0
  180. package/dist/core/schema/validation/validate.test.d.ts +1 -0
  181. package/dist/core/schema/validation/validate.test.js +106 -0
  182. package/dist/core/schema/validation/validate.test.js.map +1 -0
  183. package/dist/core/schema/validation/with-validation.d.ts +5 -0
  184. package/dist/core/schema/validation/with-validation.js +16 -0
  185. package/dist/core/schema/validation/with-validation.js.map +1 -0
  186. package/dist/core/schema/validation/with-validation.test.d.ts +1 -0
  187. package/dist/core/schema/validation/with-validation.test.js +96 -0
  188. package/dist/core/schema/validation/with-validation.test.js.map +1 -0
  189. package/dist/core/schema.d.ts +86 -0
  190. package/dist/core/schema.js +33 -0
  191. package/dist/core/schema.js.map +1 -0
  192. package/dist/core/schema.test.d.ts +1 -0
  193. package/dist/core/schema.test.js +16 -0
  194. package/dist/core/schema.test.js.map +1 -0
  195. package/dist/core/schemas.d.ts +45 -0
  196. package/dist/core/schemas.js +39 -0
  197. package/dist/core/schemas.js.map +1 -0
  198. package/dist/data.d.ts +11 -0
  199. package/dist/data.js +23 -0
  200. package/dist/data.js.map +1 -0
  201. package/dist/ecs/action-ecs/action-ecs.d.ts +19 -0
  202. package/dist/ecs/action-ecs/action-ecs.js +203 -0
  203. package/dist/ecs/action-ecs/action-ecs.js.map +1 -0
  204. package/dist/ecs/action-ecs/action-ecs.test.d.ts +1 -0
  205. package/dist/ecs/action-ecs/action-ecs.test.js +362 -0
  206. package/dist/ecs/action-ecs/action-ecs.test.js.map +1 -0
  207. package/dist/ecs/action-ecs/action-types.d.ts +106 -0
  208. package/dist/ecs/action-ecs/action-types.js +19 -0
  209. package/dist/ecs/action-ecs/action-types.js.map +1 -0
  210. package/dist/ecs/action-ecs/index.d.ts +2 -0
  211. package/dist/ecs/action-ecs/index.js +23 -0
  212. package/dist/ecs/action-ecs/index.js.map +1 -0
  213. package/dist/ecs/archetype/archetype.d.ts +15 -0
  214. package/dist/ecs/archetype/archetype.js +2 -0
  215. package/dist/ecs/archetype/archetype.js.map +1 -0
  216. package/dist/ecs/archetype/create-archetype.d.ts +8 -0
  217. package/dist/ecs/archetype/create-archetype.js +21 -0
  218. package/dist/ecs/archetype/create-archetype.js.map +1 -0
  219. package/dist/ecs/archetype/create-archetype.test.d.ts +1 -0
  220. package/dist/ecs/archetype/create-archetype.test.js +101 -0
  221. package/dist/ecs/archetype/create-archetype.test.js.map +1 -0
  222. package/dist/ecs/archetype/delete-row.d.ts +8 -0
  223. package/dist/ecs/archetype/delete-row.js +34 -0
  224. package/dist/ecs/archetype/delete-row.js.map +1 -0
  225. package/dist/ecs/archetype/delete-row.test.d.ts +1 -0
  226. package/dist/ecs/archetype/delete-row.test.js +83 -0
  227. package/dist/ecs/archetype/delete-row.test.js.map +1 -0
  228. package/dist/ecs/archetype/index.d.ts +3 -0
  229. package/dist/ecs/archetype/index.js +25 -0
  230. package/dist/ecs/archetype/index.js.map +1 -0
  231. package/dist/ecs/component-schemas.d.ts +4 -0
  232. package/dist/ecs/component-schemas.js +2 -0
  233. package/dist/ecs/component-schemas.js.map +1 -0
  234. package/dist/ecs/core-components.d.ts +3 -0
  235. package/dist/ecs/core-components.js +23 -0
  236. package/dist/ecs/core-components.js.map +1 -0
  237. package/dist/ecs/core-ecs/core-ecs-serialization.test.d.ts +1 -0
  238. package/dist/ecs/core-ecs/core-ecs-serialization.test.js +230 -0
  239. package/dist/ecs/core-ecs/core-ecs-serialization.test.js.map +1 -0
  240. package/dist/ecs/core-ecs/core-ecs-types.d.ts +141 -0
  241. package/dist/ecs/core-ecs/core-ecs-types.js +23 -0
  242. package/dist/ecs/core-ecs/core-ecs-types.js.map +1 -0
  243. package/dist/ecs/core-ecs/core-ecs.d.ts +7 -0
  244. package/dist/ecs/core-ecs/core-ecs.js +492 -0
  245. package/dist/ecs/core-ecs/core-ecs.js.map +1 -0
  246. package/dist/ecs/core-ecs/core-ecs.test.d.ts +1 -0
  247. package/dist/ecs/core-ecs/core-ecs.test.js +425 -0
  248. package/dist/ecs/core-ecs/core-ecs.test.js.map +1 -0
  249. package/dist/ecs/core-ecs/index.d.ts +1 -0
  250. package/dist/ecs/core-ecs/index.js +2 -0
  251. package/dist/ecs/core-ecs/index.js.map +1 -0
  252. package/dist/ecs/database/create-database.d.ts +5 -0
  253. package/dist/ecs/database/create-database.js +145 -0
  254. package/dist/ecs/database/create-database.js.map +1 -0
  255. package/dist/ecs/database/create-database.test.d.ts +1 -0
  256. package/dist/ecs/database/create-database.test.js +578 -0
  257. package/dist/ecs/database/create-database.test.js.map +1 -0
  258. package/dist/ecs/database/database.d.ts +37 -0
  259. package/dist/ecs/database/database.js +2 -0
  260. package/dist/ecs/database/database.js.map +1 -0
  261. package/dist/ecs/database/index.d.ts +3 -0
  262. package/dist/ecs/database/index.js +25 -0
  263. package/dist/ecs/database/index.js.map +1 -0
  264. package/dist/ecs/database/observe-dependent-value.d.ts +7 -0
  265. package/dist/ecs/database/observe-dependent-value.js +61 -0
  266. package/dist/ecs/database/observe-dependent-value.js.map +1 -0
  267. package/dist/ecs/database/observe-dependent-value.test.d.ts +1 -0
  268. package/dist/ecs/database/observe-dependent-value.test.js +153 -0
  269. package/dist/ecs/database/observe-dependent-value.test.js.map +1 -0
  270. package/dist/ecs/database/transactional-store/create-transactional-store.d.ts +5 -0
  271. package/dist/ecs/database/transactional-store/create-transactional-store.js +209 -0
  272. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -0
  273. package/dist/ecs/database/transactional-store/create-transactional-store.test.d.ts +1 -0
  274. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +186 -0
  275. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -0
  276. package/dist/ecs/database/transactional-store/index.d.ts +1 -0
  277. package/dist/ecs/database/transactional-store/index.js +23 -0
  278. package/dist/ecs/database/transactional-store/index.js.map +1 -0
  279. package/dist/ecs/database/transactional-store/transactional-store.d.ts +44 -0
  280. package/dist/ecs/database/transactional-store/transactional-store.js +2 -0
  281. package/dist/ecs/database/transactional-store/transactional-store.js.map +1 -0
  282. package/dist/ecs/ecs/ecs-types.d.ts +132 -0
  283. package/dist/ecs/ecs/ecs-types.js +23 -0
  284. package/dist/ecs/ecs/ecs-types.js.map +1 -0
  285. package/dist/ecs/ecs/ecs-where-functions.d.ts +6 -0
  286. package/dist/ecs/ecs/ecs-where-functions.js +91 -0
  287. package/dist/ecs/ecs/ecs-where-functions.js.map +1 -0
  288. package/dist/ecs/ecs/ecs.d.ts +13 -0
  289. package/dist/ecs/ecs/ecs.js +177 -0
  290. package/dist/ecs/ecs/ecs.js.map +1 -0
  291. package/dist/ecs/ecs/ecs.test.d.ts +1 -0
  292. package/dist/ecs/ecs/ecs.test.js +399 -0
  293. package/dist/ecs/ecs/ecs.test.js.map +1 -0
  294. package/dist/ecs/ecs/index.d.ts +3 -0
  295. package/dist/ecs/ecs/index.js +3 -0
  296. package/dist/ecs/ecs/index.js.map +1 -0
  297. package/dist/ecs/entity-location-table/create-entity-location-table.d.ts +2 -0
  298. package/dist/ecs/entity-location-table/create-entity-location-table.js +84 -0
  299. package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -0
  300. package/dist/ecs/entity-location-table/create-entity-location-table.test.d.ts +1 -0
  301. package/dist/ecs/entity-location-table/create-entity-location-table.test.js +138 -0
  302. package/dist/ecs/entity-location-table/create-entity-location-table.test.js.map +1 -0
  303. package/dist/ecs/entity-location-table/entity-location-table.d.ts +8 -0
  304. package/dist/ecs/entity-location-table/entity-location-table.js +2 -0
  305. package/dist/ecs/entity-location-table/entity-location-table.js.map +1 -0
  306. package/dist/ecs/entity-location-table/entity-location.d.ts +20 -0
  307. package/dist/ecs/entity-location-table/entity-location.js +10 -0
  308. package/dist/ecs/entity-location-table/entity-location.js.map +1 -0
  309. package/dist/ecs/entity-location-table/index.d.ts +2 -0
  310. package/dist/ecs/entity-location-table/index.js +24 -0
  311. package/dist/ecs/entity-location-table/index.js.map +1 -0
  312. package/dist/ecs/entity.d.ts +8 -0
  313. package/dist/ecs/entity.js +3 -0
  314. package/dist/ecs/entity.js.map +1 -0
  315. package/dist/ecs/index.d.ts +3 -0
  316. package/dist/ecs/index.js +25 -0
  317. package/dist/ecs/index.js.map +1 -0
  318. package/dist/ecs/store/core/core.d.ts +37 -0
  319. package/dist/ecs/store/core/core.js +2 -0
  320. package/dist/ecs/store/core/core.js.map +1 -0
  321. package/dist/ecs/store/core/create-core.d.ts +8 -0
  322. package/dist/ecs/store/core/create-core.js +114 -0
  323. package/dist/ecs/store/core/create-core.js.map +1 -0
  324. package/dist/ecs/store/core/create-core.test.d.ts +41 -0
  325. package/dist/ecs/store/core/create-core.test.js +355 -0
  326. package/dist/ecs/store/core/create-core.test.js.map +1 -0
  327. package/dist/ecs/store/core/index.d.ts +1 -0
  328. package/dist/ecs/store/core/index.js +23 -0
  329. package/dist/ecs/store/core/index.js.map +1 -0
  330. package/dist/ecs/store/create-store.d.ts +12 -0
  331. package/dist/ecs/store/create-store.js +50 -0
  332. package/dist/ecs/store/create-store.js.map +1 -0
  333. package/dist/ecs/store/create-store.test.d.ts +1 -0
  334. package/dist/ecs/store/create-store.test.js +442 -0
  335. package/dist/ecs/store/create-store.test.js.map +1 -0
  336. package/dist/ecs/store/index.d.ts +2 -0
  337. package/dist/ecs/store/index.js +24 -0
  338. package/dist/ecs/store/index.js.map +1 -0
  339. package/dist/ecs/store/resource-components.d.ts +1 -0
  340. package/dist/ecs/store/resource-components.js +23 -0
  341. package/dist/ecs/store/resource-components.js.map +1 -0
  342. package/dist/ecs/store/store.d.ts +23 -0
  343. package/dist/ecs/store/store.js +2 -0
  344. package/dist/ecs/store/store.js.map +1 -0
  345. package/dist/ecs/transaction-ecs/index.d.ts +2 -0
  346. package/dist/ecs/transaction-ecs/index.js +24 -0
  347. package/dist/ecs/transaction-ecs/index.js.map +1 -0
  348. package/dist/ecs/transaction-ecs/transaction-ecs.d.ts +11 -0
  349. package/dist/ecs/transaction-ecs/transaction-ecs.js +184 -0
  350. package/dist/ecs/transaction-ecs/transaction-ecs.js.map +1 -0
  351. package/dist/ecs/transaction-ecs/transaction-ecs.test.d.ts +1 -0
  352. package/dist/ecs/transaction-ecs/transaction-ecs.test.js +599 -0
  353. package/dist/ecs/transaction-ecs/transaction-ecs.test.js.map +1 -0
  354. package/dist/ecs/transaction-ecs/transaction-types.d.ts +135 -0
  355. package/dist/ecs/transaction-ecs/transaction-types.js +2 -0
  356. package/dist/ecs/transaction-ecs/transaction-types.js.map +1 -0
  357. package/dist/ecs/transaction-ecs/transactions.d.ts +5 -0
  358. package/dist/ecs/transaction-ecs/transactions.js +158 -0
  359. package/dist/ecs/transaction-ecs/transactions.js.map +1 -0
  360. package/dist/equals-shallow.d.ts +1 -0
  361. package/dist/equals-shallow.js +37 -0
  362. package/dist/equals-shallow.js.map +1 -0
  363. package/dist/equals-shallow.test.d.ts +1 -0
  364. package/dist/equals-shallow.test.js +113 -0
  365. package/dist/equals-shallow.test.js.map +1 -0
  366. package/dist/equals.d.ts +11 -0
  367. package/dist/equals.js +73 -0
  368. package/dist/equals.js.map +1 -0
  369. package/dist/equals.test.d.ts +1 -0
  370. package/dist/equals.test.js +150 -0
  371. package/dist/equals.test.js.map +1 -0
  372. package/dist/index.d.ts +5 -0
  373. package/dist/index.js +25 -0
  374. package/dist/index.js.map +1 -0
  375. package/dist/internal/array-buffer-like/copy.d.ts +1 -0
  376. package/dist/internal/array-buffer-like/copy.js +469 -0
  377. package/dist/internal/array-buffer-like/copy.js.map +1 -0
  378. package/dist/internal/array-buffer-like/grow.d.ts +1 -0
  379. package/dist/internal/array-buffer-like/grow.js +53 -0
  380. package/dist/internal/array-buffer-like/grow.js.map +1 -0
  381. package/dist/internal/array-buffer-like/index.d.ts +4 -0
  382. package/dist/internal/array-buffer-like/index.js +26 -0
  383. package/dist/internal/array-buffer-like/index.js.map +1 -0
  384. package/dist/internal/array-buffer-like/is-array-buffer.d.ts +1 -0
  385. package/dist/internal/array-buffer-like/is-array-buffer.js +445 -0
  386. package/dist/internal/array-buffer-like/is-array-buffer.js.map +1 -0
  387. package/dist/internal/array-buffer-like/is-shared-array-buffer.d.ts +1 -0
  388. package/dist/internal/array-buffer-like/is-shared-array-buffer.js +445 -0
  389. package/dist/internal/array-buffer-like/is-shared-array-buffer.js.map +1 -0
  390. package/dist/internal/async-generator/is-async-generator.d.ts +1 -0
  391. package/dist/internal/async-generator/is-async-generator.js +25 -0
  392. package/dist/internal/async-generator/is-async-generator.js.map +1 -0
  393. package/dist/internal/data-view-32/create-data-view-32.d.ts +2 -0
  394. package/dist/internal/data-view-32/create-data-view-32.js +8 -0
  395. package/dist/internal/data-view-32/create-data-view-32.js.map +1 -0
  396. package/dist/internal/data-view-32/data-view-32.d.ts +5 -0
  397. package/dist/internal/data-view-32/data-view-32.js +23 -0
  398. package/dist/internal/data-view-32/data-view-32.js.map +1 -0
  399. package/dist/internal/data-view-32/index.d.ts +2 -0
  400. package/dist/internal/data-view-32/index.js +24 -0
  401. package/dist/internal/data-view-32/index.js.map +1 -0
  402. package/dist/internal/function/memoize-factory.d.ts +1 -0
  403. package/dist/internal/function/memoize-factory.js +12 -0
  404. package/dist/internal/function/memoize-factory.js.map +1 -0
  405. package/dist/internal/object/index.d.ts +1 -0
  406. package/dist/internal/object/index.js +23 -0
  407. package/dist/internal/object/index.js.map +1 -0
  408. package/dist/internal/object/map-entries.d.ts +5 -0
  409. package/dist/internal/object/map-entries.js +29 -0
  410. package/dist/internal/object/map-entries.js.map +1 -0
  411. package/dist/internal/promise/is-promise.d.ts +1 -0
  412. package/dist/internal/promise/is-promise.js +26 -0
  413. package/dist/internal/promise/is-promise.js.map +1 -0
  414. package/dist/internal/typed-array/get-byte-size.d.ts +2 -0
  415. package/dist/internal/typed-array/get-byte-size.js +28 -0
  416. package/dist/internal/typed-array/get-byte-size.js.map +1 -0
  417. package/dist/internal/typed-array/index.d.ts +3 -0
  418. package/dist/internal/typed-array/index.js +25 -0
  419. package/dist/internal/typed-array/index.js.map +1 -0
  420. package/dist/internal/typed-array/typed-array-constructer.d.ts +7 -0
  421. package/dist/internal/typed-array/typed-array-constructer.js +2 -0
  422. package/dist/internal/typed-array/typed-array-constructer.js.map +1 -0
  423. package/dist/internal/typed-array/typed-array.d.ts +1 -0
  424. package/dist/internal/typed-array/typed-array.js +23 -0
  425. package/dist/internal/typed-array/typed-array.js.map +1 -0
  426. package/dist/is-data.d.ts +11 -0
  427. package/dist/is-data.js +2 -0
  428. package/dist/is-data.js.map +1 -0
  429. package/dist/lit/decorators/apply-decorator.d.ts +1 -0
  430. package/dist/lit/decorators/apply-decorator.js +18 -0
  431. package/dist/lit/decorators/apply-decorator.js.map +1 -0
  432. package/dist/lit/decorators/apply-service-decorators.d.ts +1 -0
  433. package/dist/lit/decorators/apply-service-decorators.js +12 -0
  434. package/dist/lit/decorators/apply-service-decorators.js.map +1 -0
  435. package/dist/lit/decorators/index.d.ts +3 -0
  436. package/dist/lit/decorators/index.js +25 -0
  437. package/dist/lit/decorators/index.js.map +1 -0
  438. package/dist/lit/decorators/require-service.d.ts +1 -0
  439. package/dist/lit/decorators/require-service.js +13 -0
  440. package/dist/lit/decorators/require-service.js.map +1 -0
  441. package/dist/lit/elements/index.js +4 -0
  442. package/dist/lit/elements/index.js.map +1 -0
  443. package/dist/lit/elements/service-application.d.ts +8 -0
  444. package/dist/lit/elements/service-application.js +27 -0
  445. package/dist/lit/elements/service-application.js.map +1 -0
  446. package/dist/lit/elements/service-context.d.ts +1 -0
  447. package/dist/lit/elements/service-context.js +3 -0
  448. package/dist/lit/elements/service-context.js.map +1 -0
  449. package/dist/lit/elements/service-element.d.ts +6 -0
  450. package/dist/lit/elements/service-element.js +22 -0
  451. package/dist/lit/elements/service-element.js.map +1 -0
  452. package/dist/lit/hooks/component/component.d.ts +9 -0
  453. package/dist/lit/hooks/component/component.js +2 -0
  454. package/dist/lit/hooks/component/component.js.map +1 -0
  455. package/dist/lit/hooks/component/stack.d.ts +6 -0
  456. package/dist/lit/hooks/component/stack.js +15 -0
  457. package/dist/lit/hooks/component/stack.js.map +1 -0
  458. package/dist/lit/hooks/index.js +14 -0
  459. package/dist/lit/hooks/index.js.map +1 -0
  460. package/dist/lit/hooks/use-connected.d.ts +2 -0
  461. package/dist/lit/hooks/use-connected.js +31 -0
  462. package/dist/lit/hooks/use-connected.js.map +1 -0
  463. package/dist/lit/hooks/use-effect.d.ts +3 -0
  464. package/dist/lit/hooks/use-effect.js +13 -0
  465. package/dist/lit/hooks/use-effect.js.map +1 -0
  466. package/dist/lit/hooks/use-element.d.ts +4 -0
  467. package/dist/lit/hooks/use-element.js +8 -0
  468. package/dist/lit/hooks/use-element.js.map +1 -0
  469. package/dist/lit/hooks/use-memo.d.ts +1 -0
  470. package/dist/lit/hooks/use-memo.js +12 -0
  471. package/dist/lit/hooks/use-memo.js.map +1 -0
  472. package/dist/lit/hooks/use-observable-values.d.ts +5 -0
  473. package/dist/lit/hooks/use-observable-values.js +8 -0
  474. package/dist/lit/hooks/use-observable-values.js.map +1 -0
  475. package/dist/lit/hooks/use-observable.d.ts +2 -0
  476. package/dist/lit/hooks/use-observable.js +12 -0
  477. package/dist/lit/hooks/use-observable.js.map +1 -0
  478. package/dist/lit/hooks/use-ref.d.ts +3 -0
  479. package/dist/lit/hooks/use-ref.js +6 -0
  480. package/dist/lit/hooks/use-ref.js.map +1 -0
  481. package/dist/lit/hooks/use-resize-observer.d.ts +10 -0
  482. package/dist/lit/hooks/use-resize-observer.js +20 -0
  483. package/dist/lit/hooks/use-resize-observer.js.map +1 -0
  484. package/dist/lit/hooks/use-state.d.ts +2 -0
  485. package/dist/lit/hooks/use-state.js +14 -0
  486. package/dist/lit/hooks/use-state.js.map +1 -0
  487. package/dist/lit/hooks/use-window-event.d.ts +1 -0
  488. package/dist/lit/hooks/use-window-event.js +10 -0
  489. package/dist/lit/hooks/use-window-event.js.map +1 -0
  490. package/dist/lit/hooks/with-hooks.d.ts +2 -0
  491. package/dist/lit/hooks/with-hooks.js +15 -0
  492. package/dist/lit/hooks/with-hooks.js.map +1 -0
  493. package/dist/lit/index.js +4 -0
  494. package/dist/lit/index.js.map +1 -0
  495. package/dist/mutable-clone.d.ts +5 -0
  496. package/dist/mutable-clone.js +4 -0
  497. package/dist/mutable-clone.js.map +1 -0
  498. package/dist/normalize.d.ts +1 -0
  499. package/dist/normalize.js +34 -0
  500. package/dist/normalize.js.map +1 -0
  501. package/dist/normalize.test.d.ts +1 -0
  502. package/dist/normalize.test.js +48 -0
  503. package/dist/normalize.test.js.map +1 -0
  504. package/dist/observe/create-observable-event.d.ts +10 -0
  505. package/dist/observe/create-observable-event.js +22 -0
  506. package/dist/observe/create-observable-event.js.map +1 -0
  507. package/dist/observe/create-observable-state.d.ts +7 -0
  508. package/dist/observe/create-observable-state.js +27 -0
  509. package/dist/observe/create-observable-state.js.map +1 -0
  510. package/dist/observe/create-persisted-state.d.ts +11 -0
  511. package/dist/observe/create-persisted-state.js +31 -0
  512. package/dist/observe/create-persisted-state.js.map +1 -0
  513. package/dist/observe/create-persisted-state.test.d.ts +1 -0
  514. package/dist/observe/create-persisted-state.test.js +124 -0
  515. package/dist/observe/create-persisted-state.test.js.map +1 -0
  516. package/dist/observe/create-query-state.d.ts +16 -0
  517. package/dist/observe/create-query-state.js +49 -0
  518. package/dist/observe/create-query-state.js.map +1 -0
  519. package/dist/observe/from-array.d.ts +5 -0
  520. package/dist/observe/from-array.js +30 -0
  521. package/dist/observe/from-array.js.map +1 -0
  522. package/dist/observe/from-constant.d.ts +5 -0
  523. package/dist/observe/from-constant.js +12 -0
  524. package/dist/observe/from-constant.js.map +1 -0
  525. package/dist/observe/from-element-id.d.ts +7 -0
  526. package/dist/observe/from-element-id.js +70 -0
  527. package/dist/observe/from-element-id.js.map +1 -0
  528. package/dist/observe/from-element-properties-and-events.d.ts +2 -0
  529. package/dist/observe/from-element-properties-and-events.js +18 -0
  530. package/dist/observe/from-element-properties-and-events.js.map +1 -0
  531. package/dist/observe/from-element-property.d.ts +11 -0
  532. package/dist/observe/from-element-property.js +60 -0
  533. package/dist/observe/from-element-property.js.map +1 -0
  534. package/dist/observe/from-promise-with-error.d.ts +7 -0
  535. package/dist/observe/from-promise-with-error.js +27 -0
  536. package/dist/observe/from-promise-with-error.js.map +1 -0
  537. package/dist/observe/from-promise.d.ts +6 -0
  538. package/dist/observe/from-promise.js +22 -0
  539. package/dist/observe/from-promise.js.map +1 -0
  540. package/dist/observe/from-properties.d.ts +10 -0
  541. package/dist/observe/from-properties.js +33 -0
  542. package/dist/observe/from-properties.js.map +1 -0
  543. package/dist/observe/index.d.ts +30 -0
  544. package/dist/observe/index.js +52 -0
  545. package/dist/observe/index.js.map +1 -0
  546. package/dist/observe/observe.test.d.ts +7 -0
  547. package/dist/observe/observe.test.js +417 -0
  548. package/dist/observe/observe.test.js.map +1 -0
  549. package/dist/observe/to-promise.d.ts +8 -0
  550. package/dist/observe/to-promise.js +18 -0
  551. package/dist/observe/to-promise.js.map +1 -0
  552. package/dist/observe/to-properties.d.ts +11 -0
  553. package/dist/observe/to-properties.js +9 -0
  554. package/dist/observe/to-properties.js.map +1 -0
  555. package/dist/observe/types.d.ts +17 -0
  556. package/dist/observe/types.js +2 -0
  557. package/dist/observe/types.js.map +1 -0
  558. package/dist/observe/with-async-map.d.ts +6 -0
  559. package/dist/observe/with-async-map.js +12 -0
  560. package/dist/observe/with-async-map.js.map +1 -0
  561. package/dist/observe/with-batch.d.ts +7 -0
  562. package/dist/observe/with-batch.js +43 -0
  563. package/dist/observe/with-batch.js.map +1 -0
  564. package/dist/observe/with-batch.test.d.ts +1 -0
  565. package/dist/observe/with-batch.test.js +111 -0
  566. package/dist/observe/with-batch.test.js.map +1 -0
  567. package/dist/observe/with-cache.d.ts +6 -0
  568. package/dist/observe/with-cache.js +33 -0
  569. package/dist/observe/with-cache.js.map +1 -0
  570. package/dist/observe/with-copy.d.ts +5 -0
  571. package/dist/observe/with-copy.js +10 -0
  572. package/dist/observe/with-copy.js.map +1 -0
  573. package/dist/observe/with-deduplicate-data.d.ts +7 -0
  574. package/dist/observe/with-deduplicate-data.js +18 -0
  575. package/dist/observe/with-deduplicate-data.js.map +1 -0
  576. package/dist/observe/with-deduplicate.d.ts +6 -0
  577. package/dist/observe/with-deduplicate.js +19 -0
  578. package/dist/observe/with-deduplicate.js.map +1 -0
  579. package/dist/observe/with-default.d.ts +6 -0
  580. package/dist/observe/with-default.js +21 -0
  581. package/dist/observe/with-default.js.map +1 -0
  582. package/dist/observe/with-lazy.d.ts +7 -0
  583. package/dist/observe/with-lazy.js +15 -0
  584. package/dist/observe/with-lazy.js.map +1 -0
  585. package/dist/observe/with-lazy.test.d.ts +1 -0
  586. package/dist/observe/with-lazy.test.js +59 -0
  587. package/dist/observe/with-lazy.test.js.map +1 -0
  588. package/dist/observe/with-map-data.d.ts +7 -0
  589. package/dist/observe/with-map-data.js +32 -0
  590. package/dist/observe/with-map-data.js.map +1 -0
  591. package/dist/observe/with-map.d.ts +5 -0
  592. package/dist/observe/with-map.js +11 -0
  593. package/dist/observe/with-map.js.map +1 -0
  594. package/dist/observe/with-optional.d.ts +5 -0
  595. package/dist/observe/with-optional.js +20 -0
  596. package/dist/observe/with-optional.js.map +1 -0
  597. package/dist/observe/with-unwrap.d.ts +5 -0
  598. package/dist/observe/with-unwrap.js +26 -0
  599. package/dist/observe/with-unwrap.js.map +1 -0
  600. package/dist/old-ecs/action-ecs/action-ecs.d.ts +19 -0
  601. package/dist/old-ecs/action-ecs/action-ecs.js +203 -0
  602. package/dist/old-ecs/action-ecs/action-ecs.js.map +1 -0
  603. package/dist/old-ecs/action-ecs/action-ecs.test.d.ts +1 -0
  604. package/dist/old-ecs/action-ecs/action-ecs.test.js +363 -0
  605. package/dist/old-ecs/action-ecs/action-ecs.test.js.map +1 -0
  606. package/dist/old-ecs/action-ecs/action-types.d.ts +106 -0
  607. package/dist/old-ecs/action-ecs/action-types.js +19 -0
  608. package/dist/old-ecs/action-ecs/action-types.js.map +1 -0
  609. package/dist/old-ecs/action-ecs/index.d.ts +3 -0
  610. package/dist/old-ecs/action-ecs/index.js +24 -0
  611. package/dist/old-ecs/action-ecs/index.js.map +1 -0
  612. package/dist/old-ecs/action-ecs/sequential-action.d.ts +18 -0
  613. package/dist/old-ecs/action-ecs/sequential-action.js +45 -0
  614. package/dist/old-ecs/action-ecs/sequential-action.js.map +1 -0
  615. package/dist/old-ecs/core-ecs/core-ecs-serialization.test.d.ts +1 -0
  616. package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js +231 -0
  617. package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -0
  618. package/dist/old-ecs/core-ecs/core-ecs-types.d.ts +142 -0
  619. package/dist/old-ecs/core-ecs/core-ecs-types.js +23 -0
  620. package/dist/old-ecs/core-ecs/core-ecs-types.js.map +1 -0
  621. package/dist/old-ecs/core-ecs/core-ecs.d.ts +7 -0
  622. package/dist/old-ecs/core-ecs/core-ecs.js +492 -0
  623. package/dist/old-ecs/core-ecs/core-ecs.js.map +1 -0
  624. package/dist/old-ecs/core-ecs/core-ecs.test.d.ts +1 -0
  625. package/dist/old-ecs/core-ecs/core-ecs.test.js +426 -0
  626. package/dist/old-ecs/core-ecs/core-ecs.test.js.map +1 -0
  627. package/dist/old-ecs/core-ecs/index.d.ts +1 -0
  628. package/dist/old-ecs/core-ecs/index.js +2 -0
  629. package/dist/old-ecs/core-ecs/index.js.map +1 -0
  630. package/dist/old-ecs/ecs/ecs-types.d.ts +133 -0
  631. package/dist/old-ecs/ecs/ecs-types.js +23 -0
  632. package/dist/old-ecs/ecs/ecs-types.js.map +1 -0
  633. package/dist/old-ecs/ecs/ecs-where-functions.d.ts +6 -0
  634. package/dist/old-ecs/ecs/ecs-where-functions.js +91 -0
  635. package/dist/old-ecs/ecs/ecs-where-functions.js.map +1 -0
  636. package/dist/old-ecs/ecs/ecs.d.ts +13 -0
  637. package/dist/old-ecs/ecs/ecs.js +177 -0
  638. package/dist/old-ecs/ecs/ecs.js.map +1 -0
  639. package/dist/old-ecs/ecs/ecs.test.d.ts +1 -0
  640. package/dist/old-ecs/ecs/ecs.test.js +399 -0
  641. package/dist/old-ecs/ecs/ecs.test.js.map +1 -0
  642. package/dist/old-ecs/ecs/index.d.ts +2 -0
  643. package/dist/old-ecs/ecs/index.js +24 -0
  644. package/dist/old-ecs/ecs/index.js.map +1 -0
  645. package/dist/old-ecs/entity.d.ts +8 -0
  646. package/dist/old-ecs/entity.js +3 -0
  647. package/dist/old-ecs/entity.js.map +1 -0
  648. package/dist/old-ecs/index.d.ts +4 -0
  649. package/dist/old-ecs/index.js +26 -0
  650. package/dist/old-ecs/index.js.map +1 -0
  651. package/dist/old-ecs/transaction-ecs/index.d.ts +2 -0
  652. package/dist/old-ecs/transaction-ecs/index.js +24 -0
  653. package/dist/old-ecs/transaction-ecs/index.js.map +1 -0
  654. package/dist/old-ecs/transaction-ecs/transaction-ecs.d.ts +11 -0
  655. package/dist/old-ecs/transaction-ecs/transaction-ecs.js +184 -0
  656. package/dist/old-ecs/transaction-ecs/transaction-ecs.js.map +1 -0
  657. package/dist/old-ecs/transaction-ecs/transaction-ecs.test.d.ts +1 -0
  658. package/dist/old-ecs/transaction-ecs/transaction-ecs.test.js +599 -0
  659. package/dist/old-ecs/transaction-ecs/transaction-ecs.test.js.map +1 -0
  660. package/dist/old-ecs/transaction-ecs/transaction-types.d.ts +136 -0
  661. package/dist/old-ecs/transaction-ecs/transaction-types.js +2 -0
  662. package/dist/old-ecs/transaction-ecs/transaction-types.js.map +1 -0
  663. package/dist/old-ecs/transaction-ecs/transactions.d.ts +5 -0
  664. package/dist/old-ecs/transaction-ecs/transactions.js +158 -0
  665. package/dist/old-ecs/transaction-ecs/transactions.js.map +1 -0
  666. package/dist/package.json +129 -0
  667. package/dist/perftest/ecs-perf.d.ts +49 -0
  668. package/dist/perftest/ecs-perf.js +230 -0
  669. package/dist/perftest/ecs-perf.js.map +1 -0
  670. package/dist/perftest/helper-functions.d.ts +1 -0
  671. package/dist/perftest/helper-functions.js +31 -0
  672. package/dist/perftest/helper-functions.js.map +1 -0
  673. package/dist/perftest/horizon-perf.d.ts +22 -0
  674. package/dist/perftest/horizon-perf.js +126 -0
  675. package/dist/perftest/horizon-perf.js.map +1 -0
  676. package/dist/perftest/index.d.ts +1 -0
  677. package/dist/perftest/index.js +35 -0
  678. package/dist/perftest/index.js.map +1 -0
  679. package/dist/perftest/perf-test.d.ts +18 -0
  680. package/dist/perftest/perf-test.js +124 -0
  681. package/dist/perftest/perf-test.js.map +1 -0
  682. package/dist/perftest/vanilla-perf.d.ts +38 -0
  683. package/dist/perftest/vanilla-perf.js +128 -0
  684. package/dist/perftest/vanilla-perf.js.map +1 -0
  685. package/dist/schema/boolean.d.ts +3 -0
  686. package/dist/schema/boolean.js +4 -0
  687. package/dist/schema/boolean.js.map +1 -0
  688. package/dist/schema/dynamic/deep-merge.d.ts +23 -0
  689. package/dist/schema/dynamic/deep-merge.js +45 -0
  690. package/dist/schema/dynamic/deep-merge.js.map +1 -0
  691. package/dist/schema/dynamic/deep-merge.test.d.ts +1 -0
  692. package/dist/schema/dynamic/deep-merge.test.js +94 -0
  693. package/dist/schema/dynamic/deep-merge.test.js.map +1 -0
  694. package/dist/schema/dynamic/enumerate-patches.d.ts +9 -0
  695. package/dist/schema/dynamic/enumerate-patches.js +50 -0
  696. package/dist/schema/dynamic/enumerate-patches.js.map +1 -0
  697. package/dist/schema/dynamic/enumerate-patches.test.d.ts +134 -0
  698. package/dist/schema/dynamic/enumerate-patches.test.js +230 -0
  699. package/dist/schema/dynamic/enumerate-patches.test.js.map +1 -0
  700. package/dist/schema/dynamic/get-dynamic-schema.d.ts +5 -0
  701. package/dist/schema/dynamic/get-dynamic-schema.js +47 -0
  702. package/dist/schema/dynamic/get-dynamic-schema.js.map +1 -0
  703. package/dist/schema/dynamic/get-dynamic-schema.test.d.ts +1 -0
  704. package/dist/schema/dynamic/get-dynamic-schema.test.js +115 -0
  705. package/dist/schema/dynamic/get-dynamic-schema.test.js.map +1 -0
  706. package/dist/schema/dynamic/index.d.ts +1 -0
  707. package/dist/schema/dynamic/index.js +23 -0
  708. package/dist/schema/dynamic/index.js.map +1 -0
  709. package/dist/schema/f32.d.ts +6 -0
  710. package/dist/schema/f32.js +6 -0
  711. package/dist/schema/f32.js.map +1 -0
  712. package/dist/schema/i32.d.ts +7 -0
  713. package/dist/schema/i32.js +7 -0
  714. package/dist/schema/i32.js.map +1 -0
  715. package/dist/schema/index.d.ts +10 -0
  716. package/dist/schema/index.js +30 -0
  717. package/dist/schema/index.js.map +1 -0
  718. package/dist/schema/nullable.d.ts +6 -0
  719. package/dist/schema/nullable.js +6 -0
  720. package/dist/schema/nullable.js.map +1 -0
  721. package/dist/schema/schema.d.ts +122 -0
  722. package/dist/schema/schema.js +33 -0
  723. package/dist/schema/schema.js.map +1 -0
  724. package/dist/schema/time.d.ts +7 -0
  725. package/dist/schema/time.js +3 -0
  726. package/dist/schema/time.js.map +1 -0
  727. package/dist/schema/true.d.ts +6 -0
  728. package/dist/schema/true.js +2 -0
  729. package/dist/schema/true.js.map +1 -0
  730. package/dist/schema/tuple.d.ts +7 -0
  731. package/dist/schema/tuple.js +4 -0
  732. package/dist/schema/tuple.js.map +1 -0
  733. package/dist/schema/u32.d.ts +7 -0
  734. package/dist/schema/u32.js +7 -0
  735. package/dist/schema/u32.js.map +1 -0
  736. package/dist/schema/validation/is-valid.d.ts +2 -0
  737. package/dist/schema/validation/is-valid.js +11 -0
  738. package/dist/schema/validation/is-valid.js.map +1 -0
  739. package/dist/schema/validation/is-valid.test.d.ts +1 -0
  740. package/dist/schema/validation/is-valid.test.js +40 -0
  741. package/dist/schema/validation/is-valid.test.js.map +1 -0
  742. package/dist/schema/validation/validate.d.ts +2 -0
  743. package/dist/schema/validation/validate.js +38 -0
  744. package/dist/schema/validation/validate.js.map +1 -0
  745. package/dist/schema/validation/validate.test.d.ts +1 -0
  746. package/dist/schema/validation/validate.test.js +106 -0
  747. package/dist/schema/validation/validate.test.js.map +1 -0
  748. package/dist/schema/validation/with-validation.d.ts +5 -0
  749. package/dist/schema/validation/with-validation.js +16 -0
  750. package/dist/schema/validation/with-validation.js.map +1 -0
  751. package/dist/schema/validation/with-validation.test.d.ts +1 -0
  752. package/dist/schema/validation/with-validation.test.js +96 -0
  753. package/dist/schema/validation/with-validation.test.js.map +1 -0
  754. package/dist/schema.test.d.ts +1 -0
  755. package/dist/schema.test.js +16 -0
  756. package/dist/schema.test.js.map +1 -0
  757. package/dist/schemas/index.d.ts +1 -0
  758. package/dist/schemas/index.js +23 -0
  759. package/dist/schemas/index.js.map +1 -0
  760. package/dist/schemas/schemas.d.ts +45 -0
  761. package/dist/schemas/schemas.js +39 -0
  762. package/dist/schemas/schemas.js.map +1 -0
  763. package/dist/service/add-observable-actions.d.ts +29 -0
  764. package/dist/service/add-observable-actions.js +108 -0
  765. package/dist/service/add-observable-actions.js.map +1 -0
  766. package/dist/service/index.d.ts +4 -0
  767. package/dist/service/index.js +25 -0
  768. package/dist/service/index.js.map +1 -0
  769. package/dist/service/is-service.d.ts +2 -0
  770. package/dist/service/is-service.js +5 -0
  771. package/dist/service/is-service.js.map +1 -0
  772. package/dist/service/progressive-result.d.ts +96 -0
  773. package/dist/service/progressive-result.js +99 -0
  774. package/dist/service/progressive-result.js.map +1 -0
  775. package/dist/service/sequential-action.d.ts +18 -0
  776. package/dist/service/sequential-action.js +45 -0
  777. package/dist/service/sequential-action.js.map +1 -0
  778. package/dist/service/service.d.ts +4 -0
  779. package/dist/service/service.js +23 -0
  780. package/dist/service/service.js.map +1 -0
  781. package/dist/table/add-row.d.ts +8 -0
  782. package/dist/table/add-row.js +40 -0
  783. package/dist/table/add-row.js.map +1 -0
  784. package/dist/table/create-table.d.ts +3 -0
  785. package/dist/table/create-table.js +33 -0
  786. package/dist/table/create-table.js.map +1 -0
  787. package/dist/table/delete-row.d.ts +9 -0
  788. package/dist/table/delete-row.js +18 -0
  789. package/dist/table/delete-row.js.map +1 -0
  790. package/dist/table/ensure-capacity.d.ts +2 -0
  791. package/dist/table/ensure-capacity.js +15 -0
  792. package/dist/table/ensure-capacity.js.map +1 -0
  793. package/dist/table/get-row-data.d.ts +3 -0
  794. package/dist/table/get-row-data.js +8 -0
  795. package/dist/table/get-row-data.js.map +1 -0
  796. package/dist/table/index.d.ts +8 -0
  797. package/dist/table/index.js +30 -0
  798. package/dist/table/index.js.map +1 -0
  799. package/dist/table/row-index.d.ts +8 -0
  800. package/dist/table/row-index.js +3 -0
  801. package/dist/table/row-index.js.map +1 -0
  802. package/dist/table/table.d.ts +13 -0
  803. package/dist/table/table.js +2 -0
  804. package/dist/table/table.js.map +1 -0
  805. package/dist/table/update-row.d.ts +8 -0
  806. package/dist/table/update-row.js +12 -0
  807. package/dist/table/update-row.js.map +1 -0
  808. package/dist/tsconfig.tsbuildinfo +1 -0
  809. package/dist/typed-buffer/copy-to-gpu-buffer.d.ts +2 -0
  810. package/dist/typed-buffer/copy-to-gpu-buffer.js +16 -0
  811. package/dist/typed-buffer/copy-to-gpu-buffer.js.map +1 -0
  812. package/dist/typed-buffer/create-array-buffer.d.ts +4 -0
  813. package/dist/typed-buffer/create-array-buffer.js +29 -0
  814. package/dist/typed-buffer/create-array-buffer.js.map +1 -0
  815. package/dist/typed-buffer/create-number-buffer.d.ts +8 -0
  816. package/dist/typed-buffer/create-number-buffer.js +75 -0
  817. package/dist/typed-buffer/create-number-buffer.js.map +1 -0
  818. package/dist/typed-buffer/create-struct-buffer.d.ts +10 -0
  819. package/dist/typed-buffer/create-struct-buffer.js +78 -0
  820. package/dist/typed-buffer/create-struct-buffer.js.map +1 -0
  821. package/dist/typed-buffer/create-typed-buffer.d.ts +7 -0
  822. package/dist/typed-buffer/create-typed-buffer.js +17 -0
  823. package/dist/typed-buffer/create-typed-buffer.js.map +1 -0
  824. package/dist/typed-buffer/index.d.ts +5 -0
  825. package/dist/typed-buffer/index.js +27 -0
  826. package/dist/typed-buffer/index.js.map +1 -0
  827. package/dist/typed-buffer/structs/assert-struct.d.ts +8 -0
  828. package/dist/typed-buffer/structs/assert-struct.js +15 -0
  829. package/dist/typed-buffer/structs/assert-struct.js.map +1 -0
  830. package/dist/typed-buffer/structs/create-read-struct.d.ts +3 -0
  831. package/dist/typed-buffer/structs/create-read-struct.js +62 -0
  832. package/dist/typed-buffer/structs/create-read-struct.js.map +1 -0
  833. package/dist/typed-buffer/structs/create-read-struct.test.d.ts +1 -0
  834. package/dist/typed-buffer/structs/create-read-struct.test.js +189 -0
  835. package/dist/typed-buffer/structs/create-read-struct.test.js.map +1 -0
  836. package/dist/typed-buffer/structs/create-write-struct.d.ts +3 -0
  837. package/dist/typed-buffer/structs/create-write-struct.js +58 -0
  838. package/dist/typed-buffer/structs/create-write-struct.js.map +1 -0
  839. package/dist/typed-buffer/structs/get-field-offset.d.ts +2 -0
  840. package/dist/typed-buffer/structs/get-field-offset.js +14 -0
  841. package/dist/typed-buffer/structs/get-field-offset.js.map +1 -0
  842. package/dist/typed-buffer/structs/get-struct-layout.d.ts +5 -0
  843. package/dist/typed-buffer/structs/get-struct-layout.js +198 -0
  844. package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -0
  845. package/dist/typed-buffer/structs/get-struct-layout.test.d.ts +1 -0
  846. package/dist/typed-buffer/structs/get-struct-layout.test.js +133 -0
  847. package/dist/typed-buffer/structs/get-struct-layout.test.js.map +1 -0
  848. package/dist/typed-buffer/structs/index.d.ts +1 -0
  849. package/dist/typed-buffer/structs/index.js +23 -0
  850. package/dist/typed-buffer/structs/index.js.map +1 -0
  851. package/dist/typed-buffer/structs/read-struct.d.ts +2 -0
  852. package/dist/typed-buffer/structs/read-struct.js +2 -0
  853. package/dist/typed-buffer/structs/read-struct.js.map +1 -0
  854. package/dist/typed-buffer/structs/struct-layout.d.ts +21 -0
  855. package/dist/typed-buffer/structs/struct-layout.js +23 -0
  856. package/dist/typed-buffer/structs/struct-layout.js.map +1 -0
  857. package/dist/typed-buffer/structs/write-struct.d.ts +2 -0
  858. package/dist/typed-buffer/structs/write-struct.js +2 -0
  859. package/dist/typed-buffer/structs/write-struct.js.map +1 -0
  860. package/dist/typed-buffer/structs/write-struct.test.d.ts +1 -0
  861. package/dist/typed-buffer/structs/write-struct.test.js +181 -0
  862. package/dist/typed-buffer/structs/write-struct.test.js.map +1 -0
  863. package/dist/typed-buffer/typed-buffer.d.ts +16 -0
  864. package/dist/typed-buffer/typed-buffer.js +2 -0
  865. package/dist/typed-buffer/typed-buffer.js.map +1 -0
  866. package/dist/typed-buffer/typed-buffer.test.d.ts +1 -0
  867. package/dist/typed-buffer/typed-buffer.test.js +223 -0
  868. package/dist/typed-buffer/typed-buffer.test.js.map +1 -0
  869. package/dist/types/assert.d.ts +1 -0
  870. package/dist/types/assert.js +2 -0
  871. package/dist/types/assert.js.map +1 -0
  872. package/dist/types/equal.d.ts +1 -0
  873. package/dist/types/equal.js +2 -0
  874. package/dist/types/equal.js.map +1 -0
  875. package/dist/types/index.d.ts +3 -0
  876. package/dist/types/index.js +25 -0
  877. package/dist/types/index.js.map +1 -0
  878. package/dist/types/types.d.ts +51 -0
  879. package/dist/types/types.js +27 -0
  880. package/dist/types/types.js.map +1 -0
  881. package/package.json +7 -2
  882. package/.cursorrules +0 -28
  883. package/.eslintrc.cjs +0 -48
  884. package/.github/CONTRIBUTING.md +0 -47
  885. package/CODE_OF_CONDUCT.md +0 -79
  886. package/asconfig.json +0 -22
  887. package/assembly/index.ts +0 -85
  888. package/assembly/tsconfig.json +0 -17
  889. package/c/build_run.sh +0 -2
  890. package/c/vector_addition +0 -0
  891. package/c/vector_addition.c +0 -125
  892. package/config/license.js +0 -21
  893. package/docs/perftest.html +0 -28
  894. package/index.html +0 -10
  895. package/scripts/deploy-docs.sh +0 -41
  896. package/src/assembly-test/assembly.test.ts +0 -29
  897. package/src/cache/async-cache.ts +0 -38
  898. package/src/cache/blob-store.test.ts +0 -176
  899. package/src/cache/blob-store.ts +0 -278
  900. package/src/cache/data-cache.test.ts +0 -61
  901. package/src/cache/data-cache.ts +0 -183
  902. package/src/cache/expiring-data-cache.test.ts +0 -81
  903. package/src/cache/expiring-data-cache.ts +0 -61
  904. package/src/cache/fallback-async-cache.ts +0 -49
  905. package/src/cache/functions/async-data-function.ts +0 -25
  906. package/src/cache/functions/functions.test.ts +0 -84
  907. package/src/cache/functions/get-cached.test.ts +0 -113
  908. package/src/cache/functions/get-cached.ts +0 -55
  909. package/src/cache/functions/hashing/blob-to-hash.ts +0 -46
  910. package/src/cache/functions/hashing/buffer-to-hash.ts +0 -33
  911. package/src/cache/functions/hashing/hashing.test.ts +0 -95
  912. package/src/cache/functions/hashing/index.ts +0 -26
  913. package/src/cache/functions/hashing/json-to-hash.ts +0 -29
  914. package/src/cache/functions/hashing/string-to-hash.ts +0 -38
  915. package/src/cache/functions/index.ts +0 -27
  916. package/src/cache/functions/memoize.ts +0 -55
  917. package/src/cache/functions/prevent-parallel-execution.ts +0 -50
  918. package/src/cache/get-persistent-cache.ts +0 -62
  919. package/src/cache/index.ts +0 -31
  920. package/src/cache/managed-array.ts +0 -243
  921. package/src/cache/managed-async-cache.browser.test.ts +0 -53
  922. package/src/cache/managed-async-cache.ts +0 -78
  923. package/src/cache/memory-allocator.ts +0 -176
  924. package/src/cache/memory-async-cache.ts +0 -51
  925. package/src/data.ts +0 -38
  926. package/src/ecs/README.md +0 -21
  927. package/src/ecs/archetype/archetype.ts +0 -39
  928. package/src/ecs/archetype/create-archetype.test.ts +0 -115
  929. package/src/ecs/archetype/create-archetype.ts +0 -52
  930. package/src/ecs/archetype/delete-row.test.ts +0 -110
  931. package/src/ecs/archetype/delete-row.ts +0 -37
  932. package/src/ecs/archetype/index.ts +0 -24
  933. package/src/ecs/component-schemas.ts +0 -24
  934. package/src/ecs/core-components.ts +0 -443
  935. package/src/ecs/database/create-database.test.ts +0 -745
  936. package/src/ecs/database/create-database.ts +0 -205
  937. package/src/ecs/database/database.ts +0 -81
  938. package/src/ecs/database/index.ts +0 -24
  939. package/src/ecs/database/observe-dependent-value.test.ts +0 -198
  940. package/src/ecs/database/observe-dependent-value.ts +0 -78
  941. package/src/ecs/database/transactional-store/create-transactional-store.test.ts +0 -250
  942. package/src/ecs/database/transactional-store/create-transactional-store.ts +0 -281
  943. package/src/ecs/database/transactional-store/index.ts +0 -22
  944. package/src/ecs/database/transactional-store/transactional-store.ts +0 -80
  945. package/src/ecs/entity-location-table/create-entity-location-table.test.ts +0 -170
  946. package/src/ecs/entity-location-table/create-entity-location-table.ts +0 -96
  947. package/src/ecs/entity-location-table/entity-location-table.ts +0 -30
  948. package/src/ecs/entity-location-table/entity-location.ts +0 -34
  949. package/src/ecs/entity-location-table/index.ts +0 -23
  950. package/src/ecs/entity.ts +0 -26
  951. package/src/ecs/index.ts +0 -26
  952. package/src/ecs/store/core/core.ts +0 -71
  953. package/src/ecs/store/core/create-core.test.ts +0 -440
  954. package/src/ecs/store/core/create-core.ts +0 -168
  955. package/src/ecs/store/core/index.ts +0 -22
  956. package/src/ecs/store/create-store.test.ts +0 -562
  957. package/src/ecs/store/create-store.ts +0 -97
  958. package/src/ecs/store/index.ts +0 -23
  959. package/src/ecs/store/resource-components.ts +0 -23
  960. package/src/ecs/store/store.ts +0 -55
  961. package/src/equals-shallow.test.ts +0 -133
  962. package/src/equals-shallow.ts +0 -37
  963. package/src/equals.test.ts +0 -175
  964. package/src/equals.ts +0 -70
  965. package/src/index.ts +0 -27
  966. package/src/internal/array-buffer-like/copy.ts +0 -469
  967. package/src/internal/array-buffer-like/grow.ts +0 -53
  968. package/src/internal/array-buffer-like/index.ts +0 -25
  969. package/src/internal/array-buffer-like/is-array-buffer.ts +0 -445
  970. package/src/internal/array-buffer-like/is-shared-array-buffer.ts +0 -445
  971. package/src/internal/async-generator/is-async-generator.ts +0 -25
  972. package/src/internal/data-view-32/create-data-view-32.ts +0 -30
  973. package/src/internal/data-view-32/data-view-32.ts +0 -447
  974. package/src/internal/data-view-32/index.ts +0 -23
  975. package/src/internal/function/memoize-factory.ts +0 -12
  976. package/src/internal/object/index.ts +0 -23
  977. package/src/internal/object/map-entries.ts +0 -28
  978. package/src/internal/promise/is-promise.ts +0 -28
  979. package/src/internal/typed-array/get-byte-size.ts +0 -50
  980. package/src/internal/typed-array/index.ts +0 -24
  981. package/src/internal/typed-array/typed-array-constructer.ts +0 -32
  982. package/src/internal/typed-array/typed-array.ts +0 -25
  983. package/src/is-data.ts +0 -47
  984. package/src/lit/decorators/apply-decorator.ts +0 -24
  985. package/src/lit/decorators/apply-service-decorators.ts +0 -13
  986. package/src/lit/decorators/index.ts +0 -24
  987. package/src/lit/decorators/require-service.ts +0 -19
  988. package/src/lit/elements/service-application.ts +0 -26
  989. package/src/lit/elements/service-context.ts +0 -3
  990. package/src/lit/elements/service-element.ts +0 -18
  991. package/src/lit/hooks/component/component.ts +0 -10
  992. package/src/lit/hooks/component/stack.ts +0 -17
  993. package/src/lit/hooks/use-connected.ts +0 -39
  994. package/src/lit/hooks/use-effect.ts +0 -17
  995. package/src/lit/hooks/use-element.ts +0 -8
  996. package/src/lit/hooks/use-memo.ts +0 -14
  997. package/src/lit/hooks/use-observable-values.ts +0 -9
  998. package/src/lit/hooks/use-observable.ts +0 -13
  999. package/src/lit/hooks/use-ref.ts +0 -6
  1000. package/src/lit/hooks/use-resize-observer.ts +0 -27
  1001. package/src/lit/hooks/use-state.ts +0 -17
  1002. package/src/lit/hooks/use-window-event.ts +0 -14
  1003. package/src/lit/hooks/with-hooks.ts +0 -20
  1004. package/src/mutable-clone.ts +0 -29
  1005. package/src/normalize.test.ts +0 -48
  1006. package/src/normalize.ts +0 -37
  1007. package/src/observe/create-observable-event.ts +0 -47
  1008. package/src/observe/create-observable-state.ts +0 -51
  1009. package/src/observe/create-persisted-state.test.ts +0 -143
  1010. package/src/observe/create-persisted-state.ts +0 -60
  1011. package/src/observe/create-query-state.ts +0 -70
  1012. package/src/observe/from-array.ts +0 -41
  1013. package/src/observe/from-constant.ts +0 -35
  1014. package/src/observe/from-element-id.ts +0 -75
  1015. package/src/observe/from-element-properties-and-events.ts +0 -47
  1016. package/src/observe/from-element-property.ts +0 -68
  1017. package/src/observe/from-promise-with-error.ts +0 -51
  1018. package/src/observe/from-promise.ts +0 -49
  1019. package/src/observe/from-properties.ts +0 -67
  1020. package/src/observe/index.ts +0 -52
  1021. package/src/observe/observe.test.ts +0 -467
  1022. package/src/observe/to-promise.ts +0 -40
  1023. package/src/observe/to-properties.ts +0 -41
  1024. package/src/observe/types.ts +0 -40
  1025. package/src/observe/with-async-map.ts +0 -37
  1026. package/src/observe/with-batch.test.ts +0 -141
  1027. package/src/observe/with-batch.ts +0 -67
  1028. package/src/observe/with-cache.ts +0 -58
  1029. package/src/observe/with-copy.ts +0 -32
  1030. package/src/observe/with-deduplicate-data.ts +0 -43
  1031. package/src/observe/with-deduplicate.ts +0 -41
  1032. package/src/observe/with-default.ts +0 -48
  1033. package/src/observe/with-lazy.test.ts +0 -68
  1034. package/src/observe/with-lazy.ts +0 -38
  1035. package/src/observe/with-map-data.ts +0 -38
  1036. package/src/observe/with-map.ts +0 -36
  1037. package/src/observe/with-optional.ts +0 -47
  1038. package/src/observe/with-unwrap.ts +0 -54
  1039. package/src/old-ecs/action-ecs/action-ecs.test.ts +0 -420
  1040. package/src/old-ecs/action-ecs/action-ecs.ts +0 -274
  1041. package/src/old-ecs/action-ecs/action-types.ts +0 -178
  1042. package/src/old-ecs/action-ecs/index.ts +0 -29
  1043. package/src/old-ecs/action-ecs/sequential-action.ts +0 -60
  1044. package/src/old-ecs/core-ecs/core-ecs-serialization.test.ts +0 -244
  1045. package/src/old-ecs/core-ecs/core-ecs-types.ts +0 -183
  1046. package/src/old-ecs/core-ecs/core-ecs.test.ts +0 -474
  1047. package/src/old-ecs/core-ecs/core-ecs.ts +0 -640
  1048. package/src/old-ecs/core-ecs/index.ts +0 -30
  1049. package/src/old-ecs/ecs/ecs-types.ts +0 -189
  1050. package/src/old-ecs/ecs/ecs-where-functions.ts +0 -95
  1051. package/src/old-ecs/ecs/ecs.test.ts +0 -461
  1052. package/src/old-ecs/ecs/ecs.ts +0 -279
  1053. package/src/old-ecs/ecs/index.ts +0 -23
  1054. package/src/old-ecs/entity.ts +0 -26
  1055. package/src/old-ecs/index.ts +0 -26
  1056. package/src/old-ecs/transaction-ecs/index.ts +0 -23
  1057. package/src/old-ecs/transaction-ecs/transaction-ecs.test.ts +0 -725
  1058. package/src/old-ecs/transaction-ecs/transaction-ecs.ts +0 -283
  1059. package/src/old-ecs/transaction-ecs/transaction-types.ts +0 -248
  1060. package/src/old-ecs/transaction-ecs/transactions.ts +0 -243
  1061. package/src/perftest/ecs-perf.ts +0 -255
  1062. package/src/perftest/helper-functions.ts +0 -31
  1063. package/src/perftest/horizon-perf.ts +0 -132
  1064. package/src/perftest/index.ts +0 -37
  1065. package/src/perftest/perf-test.ts +0 -193
  1066. package/src/perftest/perf.md +0 -90
  1067. package/src/perftest/vanilla-perf.ts +0 -136
  1068. package/src/schema/boolean.ts +0 -5
  1069. package/src/schema/dynamic/deep-merge.test.ts +0 -100
  1070. package/src/schema/dynamic/deep-merge.ts +0 -67
  1071. package/src/schema/dynamic/enumerate-patches.test.ts +0 -235
  1072. package/src/schema/dynamic/enumerate-patches.ts +0 -90
  1073. package/src/schema/dynamic/get-dynamic-schema.test.ts +0 -129
  1074. package/src/schema/dynamic/get-dynamic-schema.ts +0 -48
  1075. package/src/schema/dynamic/index.ts +0 -22
  1076. package/src/schema/f32.ts +0 -30
  1077. package/src/schema/i32.ts +0 -31
  1078. package/src/schema/index.ts +0 -32
  1079. package/src/schema/nullable.ts +0 -32
  1080. package/src/schema/schema.ts +0 -229
  1081. package/src/schema/time.ts +0 -5
  1082. package/src/schema/true.ts +0 -26
  1083. package/src/schema/tuple.ts +0 -5
  1084. package/src/schema/u32.ts +0 -31
  1085. package/src/schema/validation/is-valid.test.ts +0 -43
  1086. package/src/schema/validation/is-valid.ts +0 -32
  1087. package/src/schema/validation/validate.test.ts +0 -120
  1088. package/src/schema/validation/validate.ts +0 -41
  1089. package/src/schema/validation/with-validation.test.ts +0 -112
  1090. package/src/schema/validation/with-validation.ts +0 -42
  1091. package/src/schema.test.ts +0 -55
  1092. package/src/service/add-observable-actions.ts +0 -207
  1093. package/src/service/index.ts +0 -26
  1094. package/src/service/is-service.ts +0 -7
  1095. package/src/service/progressive-result.ts +0 -141
  1096. package/src/service/service.ts +0 -27
  1097. package/src/table/add-row.ts +0 -42
  1098. package/src/table/create-table.ts +0 -36
  1099. package/src/table/delete-row.ts +0 -42
  1100. package/src/table/ensure-capacity.ts +0 -37
  1101. package/src/table/get-row-data.ts +0 -31
  1102. package/src/table/index.ts +0 -29
  1103. package/src/table/row-index.ts +0 -26
  1104. package/src/table/table.ts +0 -32
  1105. package/src/table/update-row.ts +0 -35
  1106. package/src/tsconfig.json +0 -6
  1107. package/src/typed-buffer/copy-to-gpu-buffer.ts +0 -23
  1108. package/src/typed-buffer/create-array-buffer.ts +0 -55
  1109. package/src/typed-buffer/create-number-buffer.ts +0 -90
  1110. package/src/typed-buffer/create-struct-buffer.ts +0 -93
  1111. package/src/typed-buffer/create-typed-buffer.ts +0 -49
  1112. package/src/typed-buffer/index.ts +0 -26
  1113. package/src/typed-buffer/structs/assert-struct.ts +0 -37
  1114. package/src/typed-buffer/structs/create-read-struct.test.ts +0 -202
  1115. package/src/typed-buffer/structs/create-read-struct.ts +0 -77
  1116. package/src/typed-buffer/structs/create-write-struct.ts +0 -73
  1117. package/src/typed-buffer/structs/get-field-offset.ts +0 -36
  1118. package/src/typed-buffer/structs/get-struct-layout.test.ts +0 -146
  1119. package/src/typed-buffer/structs/get-struct-layout.ts +0 -222
  1120. package/src/typed-buffer/structs/index.ts +0 -22
  1121. package/src/typed-buffer/structs/read-struct.ts +0 -25
  1122. package/src/typed-buffer/structs/struct-layout.ts +0 -465
  1123. package/src/typed-buffer/structs/write-struct.test.ts +0 -195
  1124. package/src/typed-buffer/structs/write-struct.ts +0 -25
  1125. package/src/typed-buffer/typed-buffer.test.ts +0 -253
  1126. package/src/typed-buffer/typed-buffer.ts +0 -41
  1127. package/src/types/assert.ts +0 -22
  1128. package/src/types/equal.ts +0 -24
  1129. package/src/types/index.ts +0 -25
  1130. package/src/types/types.ts +0 -166
  1131. package/tsconfig-base.json +0 -25
  1132. package/tsconfig.json +0 -8
  1133. package/typedoc.json +0 -22
  1134. package/vite.config.js +0 -16
  1135. /package/{src/lit/elements/index.ts → dist/lit/elements/index.d.ts} +0 -0
  1136. /package/{src/lit/hooks/index.ts → dist/lit/hooks/index.d.ts} +0 -0
  1137. /package/{src/lit/index.ts → dist/lit/index.d.ts} +0 -0
@@ -1,745 +0,0 @@
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 { describe, it, expect, vi } from "vitest";
23
- import { createDatabase } from "./create-database.js";
24
- import { createStore } from "../store/create-store.js";
25
- import { FromSchema, Schema } from "../../schema/schema.js";
26
- import { Entity } from "../entity.js";
27
- import { F32Schema } from "../../schema/f32.js";
28
-
29
- // Test schemas
30
- const positionSchema = {
31
- type: "object",
32
- properties: {
33
- x: F32Schema,
34
- y: F32Schema,
35
- z: F32Schema,
36
- }
37
- } as const satisfies Schema;
38
- type Position = FromSchema<typeof positionSchema>;
39
-
40
- const healthSchema = {
41
- type: "object",
42
- properties: {
43
- current: F32Schema,
44
- max: F32Schema,
45
- }
46
- } as const satisfies Schema;
47
- type Health = FromSchema<typeof healthSchema>;
48
-
49
- const nameSchema = {
50
- type: "string",
51
- maxLength: 50,
52
- } as const satisfies Schema;
53
- type Name = FromSchema<typeof nameSchema>;
54
-
55
- function createTestObservableStore() {
56
- const baseStore = createStore(
57
- { position: positionSchema, health: healthSchema, name: nameSchema },
58
- { time: { delta: 0.016, elapsed: 0 } }
59
- );
60
-
61
- return createDatabase(baseStore, {
62
- createPositionEntity(db, args: { position: { x: number, y: number, z: number } }) {
63
- const archetype = db.ensureArchetype(["id", "position"]);
64
- return archetype.insert(args);
65
- },
66
- createPositionHealthEntity(db, args: { position: { x: number, y: number, z: number }, health: { current: number, max: number } }) {
67
- const archetype = db.ensureArchetype(["id", "position", "health"]);
68
- return archetype.insert(args);
69
- },
70
- createPositionNameEntity(db, args: { position: { x: number, y: number, z: number }, name: string }) {
71
- const archetype = db.ensureArchetype(["id", "position", "name"]);
72
- return archetype.insert(args);
73
- },
74
- createFullEntity(db, args: { position: { x: number, y: number, z: number }, health: { current: number, max: number }, name: string }) {
75
- const archetype = db.ensureArchetype(["id", "position", "health", "name"]);
76
- return archetype.insert(args);
77
- },
78
- createEntityAndReturn(db, args: { position: Position, name: Name }) {
79
- const archetype = db.ensureArchetype(["id", "position", "name"]);
80
- const entity = archetype.insert(args);
81
- return entity;
82
- },
83
- updateEntity(db, args: {
84
- entity: Entity,
85
- values: Partial<{
86
- position: { x: number, y: number, z: number },
87
- health: { current: number, max: number },
88
- name: string
89
- }>
90
- }) {
91
- db.update(args.entity, args.values);
92
- },
93
- deleteEntity(db, args: { entity: Entity }) {
94
- db.delete(args.entity);
95
- },
96
- updateTime(db, args: { delta: number, elapsed: number }) {
97
- db.resources.time = args;
98
- }
99
- });
100
- }
101
-
102
- describe("createDatabase", () => {
103
- it("should notify component observers when components change", () => {
104
- const store = createTestObservableStore();
105
- const positionObserver = vi.fn();
106
- const nameObserver = vi.fn();
107
-
108
- // Subscribe to component changes
109
- const unsubscribePosition = store.observe.component.position(positionObserver);
110
- const unsubscribeName = store.observe.component.name(nameObserver);
111
-
112
- // Create an entity that affects both components
113
- const testEntity = store.transactions.createFullEntity({
114
- position: { x: 1, y: 2, z: 3 },
115
- name: "Test",
116
- health: { current: 100, max: 100 }
117
- });
118
-
119
- // Both observers should be notified
120
- expect(positionObserver).toHaveBeenCalledTimes(1);
121
- expect(nameObserver).toHaveBeenCalledTimes(1);
122
-
123
- // Update only position
124
- store.transactions.updateEntity({
125
- entity: testEntity,
126
- values: { position: { x: 4, y: 5, z: 6 } }
127
- });
128
-
129
- // Only position observer should be notified
130
- expect(positionObserver).toHaveBeenCalledTimes(2);
131
- expect(nameObserver).toHaveBeenCalledTimes(1);
132
-
133
- // Unsubscribe and verify no more notifications
134
- unsubscribePosition();
135
- unsubscribeName();
136
-
137
- store.transactions.updateEntity({
138
- entity: testEntity,
139
- values: { position: { x: 7, y: 8, z: 9 }, name: "Updated" }
140
- });
141
-
142
- expect(positionObserver).toHaveBeenCalledTimes(2);
143
- expect(nameObserver).toHaveBeenCalledTimes(1);
144
- });
145
-
146
- it("should notify entity observers with correct values", () => {
147
- const store = createTestObservableStore();
148
-
149
- // Create initial entity
150
- const testEntity = store.transactions.createFullEntity({
151
- position: { x: 1, y: 2, z: 3 },
152
- name: "Test",
153
- health: { current: 100, max: 100 }
154
- });
155
-
156
- // Subscribe to entity changes
157
- const observer = vi.fn();
158
- const unsubscribe = store.observe.entity(testEntity)(observer);
159
-
160
- // Initial notification should have current values
161
- expect(observer).toHaveBeenCalledWith(expect.objectContaining({
162
- position: { x: 1, y: 2, z: 3 },
163
- name: "Test",
164
- health: { current: 100, max: 100 }
165
- }));
166
-
167
- // Update entity
168
- store.transactions.updateEntity({
169
- entity: testEntity,
170
- values: { name: "Updated", health: { current: 50, max: 100 } }
171
- });
172
-
173
- // Observer should be notified with new values
174
- expect(observer).toHaveBeenCalledWith(expect.objectContaining({
175
- position: { x: 1, y: 2, z: 3 }, // unchanged
176
- name: "Updated",
177
- health: { current: 50, max: 100 }
178
- }));
179
-
180
- // Delete entity
181
- store.transactions.deleteEntity({ entity: testEntity });
182
-
183
- // Observer should be notified with null
184
- expect(observer).toHaveBeenCalledWith(null);
185
-
186
- unsubscribe();
187
- });
188
-
189
- it("should notify transaction observers with full transaction results", () => {
190
- const store = createTestObservableStore();
191
- const transactionObserver = vi.fn();
192
-
193
- const unsubscribe = store.observe.transactions(transactionObserver);
194
-
195
- // Execute a transaction with multiple operations
196
- store.transactions.createFullEntity({
197
- position: { x: 1, y: 2, z: 3 },
198
- name: "Test",
199
- health: { current: 100, max: 100 }
200
- });
201
-
202
- // Transaction observer should be called with the full result
203
- expect(transactionObserver).toHaveBeenCalledWith(expect.objectContaining({
204
- changedEntities: expect.any(Set),
205
- changedComponents: expect.any(Set),
206
- changedArchetypes: expect.any(Set),
207
- redo: expect.any(Array),
208
- undo: expect.any(Array)
209
- }));
210
-
211
- const result = transactionObserver.mock.calls[0][0];
212
- expect(result.changedEntities.size).toBe(1);
213
- expect(result.changedComponents.has("position")).toBe(true);
214
- expect(result.changedComponents.has("name")).toBe(true);
215
-
216
- unsubscribe();
217
- });
218
-
219
- it("should notify archetype observers when entities change archetypes", () => {
220
- const store = createTestObservableStore();
221
-
222
- // Create initial entity
223
- const entity = store.transactions.createPositionEntity({
224
- position: { x: 1, y: 2, z: 3 }
225
- });
226
-
227
- const archetype = store.locate(entity)?.archetype;
228
- expect(archetype).toBeDefined();
229
-
230
- const archetypeObserver = vi.fn();
231
- const unsubscribe = store.observe.archetype(archetype!)(archetypeObserver);
232
-
233
- // No initial notification for archetype observers
234
- expect(archetypeObserver).toHaveBeenCalledTimes(0);
235
-
236
- // Update entity to add name component, potentially changing archetype
237
- store.transactions.updateEntity({
238
- entity,
239
- values: { name: "Test" }
240
- });
241
-
242
- // Archetype observer should be notified of the change
243
- expect(archetypeObserver).toHaveBeenCalledTimes(1);
244
-
245
- unsubscribe();
246
- });
247
-
248
- it("should notify resource observers with immediate and update notifications", () => {
249
- const store = createTestObservableStore();
250
-
251
- const timeObserver = vi.fn();
252
-
253
- // Subscribe to resource changes
254
- const unsubscribeTime = store.observe.resource.time(timeObserver);
255
-
256
- // Observer should be notified immediately with initial value
257
- expect(timeObserver).toHaveBeenCalledWith({ delta: 0.016, elapsed: 0 });
258
-
259
- // Update time resource
260
- store.transactions.updateTime({ delta: 0.032, elapsed: 1 });
261
-
262
- // Observer should be notified with new value
263
- expect(timeObserver).toHaveBeenCalledWith({ delta: 0.032, elapsed: 1 });
264
- });
265
-
266
- it("should support multiple observers for the same target", () => {
267
- const store = createTestObservableStore();
268
-
269
- const observer1 = vi.fn();
270
- const observer2 = vi.fn();
271
- const observer3 = vi.fn();
272
-
273
- // Subscribe multiple observers to the same component
274
- const unsubscribe1 = store.observe.component.position(observer1);
275
- const unsubscribe2 = store.observe.component.position(observer2);
276
- const unsubscribe3 = store.observe.component.position(observer3);
277
-
278
- // Create entity with position
279
- const entity = store.transactions.createPositionEntity({
280
- position: { x: 1, y: 2, z: 3 }
281
- });
282
-
283
- // All observers should be notified
284
- expect(observer1).toHaveBeenCalledTimes(1);
285
- expect(observer2).toHaveBeenCalledTimes(1);
286
- expect(observer3).toHaveBeenCalledTimes(1);
287
-
288
- // Unsubscribe one observer
289
- unsubscribe2();
290
-
291
- // Update position
292
- store.transactions.updateEntity({
293
- entity,
294
- values: { position: { x: 4, y: 5, z: 6 } }
295
- });
296
-
297
- // Only remaining observers should be notified
298
- expect(observer1).toHaveBeenCalledTimes(2);
299
- expect(observer2).toHaveBeenCalledTimes(1); // No more calls
300
- expect(observer3).toHaveBeenCalledTimes(2);
301
-
302
- unsubscribe1();
303
- unsubscribe3();
304
- });
305
-
306
- it("should handle observer cleanup correctly", () => {
307
- const store = createTestObservableStore();
308
-
309
- const observer = vi.fn();
310
- const unsubscribe = store.observe.component.position(observer);
311
-
312
- // Create entity
313
- const entity = store.transactions.createPositionEntity({
314
- position: { x: 1, y: 2, z: 3 }
315
- });
316
-
317
- expect(observer).toHaveBeenCalledTimes(1);
318
-
319
- // Unsubscribe
320
- unsubscribe();
321
-
322
- // Update entity
323
- store.transactions.updateEntity({
324
- entity,
325
- values: { position: { x: 4, y: 5, z: 6 } }
326
- });
327
-
328
- // Observer should not be called after unsubscribe
329
- expect(observer).toHaveBeenCalledTimes(1);
330
- });
331
-
332
- it("should handle observing non-existent entities", () => {
333
- const store = createTestObservableStore();
334
-
335
- const observer = vi.fn();
336
- const unsubscribe = store.observe.entity(999 as Entity)(observer);
337
-
338
- // Should be notified with null for non-existent entity
339
- expect(observer).toHaveBeenCalledWith(null);
340
-
341
- unsubscribe();
342
- });
343
-
344
- it("should handle complex transaction scenarios with multiple observers", () => {
345
- const store = createTestObservableStore();
346
-
347
- const positionObserver = vi.fn();
348
- const healthObserver = vi.fn();
349
- const transactionObserver = vi.fn();
350
- const entityObserver = vi.fn();
351
-
352
- // Subscribe to various observers
353
- const unsubscribePosition = store.observe.component.position(positionObserver);
354
- const unsubscribeHealth = store.observe.component.health(healthObserver);
355
- const unsubscribeTransaction = store.observe.transactions(transactionObserver);
356
-
357
- // Create entity
358
- const entity = store.transactions.createPositionHealthEntity({
359
- position: { x: 1, y: 2, z: 3 },
360
- health: { current: 100, max: 100 }
361
- });
362
-
363
- const unsubscribeEntity = store.observe.entity(entity)(entityObserver);
364
-
365
- // All observers should be notified
366
- expect(positionObserver).toHaveBeenCalledTimes(1);
367
- expect(healthObserver).toHaveBeenCalledTimes(1);
368
- expect(transactionObserver).toHaveBeenCalledTimes(1);
369
- expect(entityObserver).toHaveBeenCalledTimes(1);
370
-
371
- // Update multiple components
372
- store.transactions.updateEntity({
373
- entity,
374
- values: {
375
- position: { x: 4, y: 5, z: 6 },
376
- health: { current: 50, max: 100 }
377
- }
378
- });
379
-
380
- // All observers should be notified again
381
- expect(positionObserver).toHaveBeenCalledTimes(2);
382
- expect(healthObserver).toHaveBeenCalledTimes(2);
383
- expect(transactionObserver).toHaveBeenCalledTimes(2);
384
- expect(entityObserver).toHaveBeenCalledTimes(2);
385
-
386
- // Verify entity observer received correct values
387
- expect(entityObserver).toHaveBeenCalledWith(expect.objectContaining({
388
- position: { x: 4, y: 5, z: 6 },
389
- health: { current: 50, max: 100 }
390
- }));
391
-
392
- unsubscribePosition();
393
- unsubscribeHealth();
394
- unsubscribeTransaction();
395
- unsubscribeEntity();
396
- });
397
-
398
- it("should handle rapid successive changes efficiently", () => {
399
- const store = createTestObservableStore();
400
-
401
- const observer = vi.fn();
402
- const unsubscribe = store.observe.component.position(observer);
403
-
404
- // Create entity
405
- const entity = store.transactions.createPositionEntity({
406
- position: { x: 1, y: 2, z: 3 }
407
- });
408
-
409
- // Make rapid successive updates
410
- for (let i = 0; i < 5; i++) {
411
- store.transactions.updateEntity({
412
- entity,
413
- values: { position: { x: i, y: i, z: i } }
414
- });
415
- }
416
-
417
- // Observer should be called for each change
418
- expect(observer).toHaveBeenCalledTimes(6); // 1 for create + 5 for updates
419
-
420
- unsubscribe();
421
- });
422
-
423
- it("should support transaction functions that return an Entity", () => {
424
- const store = createTestObservableStore();
425
-
426
- // Execute a transaction that returns an Entity
427
- const returnedEntity = store.transactions.createEntityAndReturn({
428
- position: { x: 10, y: 20, z: 30 },
429
- name: "ReturnedEntity"
430
- });
431
-
432
- // Verify that an Entity was returned
433
- expect(returnedEntity).toBeDefined();
434
- expect(typeof returnedEntity).toBe("number");
435
-
436
- // Verify the entity exists in the store
437
- const entityValues = store.read(returnedEntity);
438
- expect(entityValues).toBeDefined();
439
- expect(entityValues?.position).toEqual({ x: 10, y: 20, z: 30 });
440
- expect(entityValues?.name).toBe("ReturnedEntity");
441
-
442
- // Verify the entity can be found in the store using select
443
- const selectedEntities = store.select(["id", "position", "name"]);
444
- expect(selectedEntities).toContain(returnedEntity);
445
- });
446
-
447
- describe("AsyncArgs Support", () => {
448
- it("should handle Promise-based async arguments", async () => {
449
- const store = createTestObservableStore();
450
- const observer = vi.fn();
451
- const unsubscribe = store.observe.component.position(observer);
452
-
453
- // Create a promise that resolves to entity data
454
- const entityDataPromise = Promise.resolve({
455
- position: { x: 100, y: 200, z: 300 },
456
- name: "AsyncEntity"
457
- });
458
-
459
- // Execute transaction with promise argument wrapped in function
460
- store.transactions.createPositionNameEntity(() => entityDataPromise);
461
-
462
- // Wait for the promise to resolve
463
- await new Promise(resolve => setTimeout(resolve, 0));
464
-
465
- // Verify the entity was created with the resolved data
466
- const entities = store.select(["id", "position", "name"]);
467
- const createdEntity = entities.find(entityId => {
468
- const values = store.read(entityId);
469
- return values?.name === "AsyncEntity";
470
- });
471
-
472
- expect(createdEntity).toBeDefined();
473
- const entityValues = store.read(createdEntity!);
474
- expect(entityValues?.position).toEqual({ x: 100, y: 200, z: 300 });
475
- expect(entityValues?.name).toBe("AsyncEntity");
476
-
477
- // Verify observer was notified
478
- expect(observer).toHaveBeenCalledTimes(1);
479
-
480
- unsubscribe();
481
- });
482
-
483
- it("should handle AsyncGenerator streaming arguments", async () => {
484
- const store = createTestObservableStore();
485
- const observer = vi.fn();
486
- const unsubscribe = store.observe.component.position(observer);
487
-
488
- // Create an async generator that yields multiple entity data
489
- async function* entityDataStream() {
490
- yield { position: { x: 1, y: 1, z: 1 }, name: "Stream1" };
491
- yield { position: { x: 2, y: 2, z: 2 }, name: "Stream2" };
492
- yield { position: { x: 3, y: 3, z: 3 }, name: "Stream3" };
493
- }
494
-
495
- // Execute transaction with async generator wrapped in function
496
- store.transactions.createPositionNameEntity(() => entityDataStream());
497
-
498
- // Wait for all entities to be processed
499
- await new Promise(resolve => setTimeout(resolve, 10));
500
-
501
- // Verify all entities were created
502
- const entities = store.select(["id", "position", "name"]);
503
- const streamEntities = entities.filter(entityId => {
504
- const values = store.read(entityId);
505
- return values?.name?.startsWith("Stream");
506
- });
507
-
508
- expect(streamEntities).toHaveLength(3);
509
-
510
- // Verify each entity has correct data
511
- const entity1 = store.read(streamEntities[0]);
512
- const entity2 = store.read(streamEntities[1]);
513
- const entity3 = store.read(streamEntities[2]);
514
-
515
- expect(entity1?.position).toEqual({ x: 1, y: 1, z: 1 });
516
- expect(entity1?.name).toBe("Stream1");
517
- expect(entity2?.position).toEqual({ x: 2, y: 2, z: 2 });
518
- expect(entity2?.name).toBe("Stream2");
519
- expect(entity3?.position).toEqual({ x: 3, y: 3, z: 3 });
520
- expect(entity3?.name).toBe("Stream3");
521
-
522
- // Verify observer was notified for each entity
523
- expect(observer).toHaveBeenCalledTimes(3);
524
-
525
- unsubscribe();
526
- });
527
-
528
- it("should handle AsyncGenerator with delays", async () => {
529
- const store = createTestObservableStore();
530
- const observer = vi.fn();
531
- const unsubscribe = store.observe.component.position(observer);
532
-
533
- // Create an async generator with delays
534
- async function* delayedEntityStream() {
535
- yield { position: { x: 10, y: 10, z: 10 }, name: "Delayed1" };
536
- await new Promise(resolve => setTimeout(resolve, 5));
537
- yield { position: { x: 20, y: 20, z: 20 }, name: "Delayed2" };
538
- await new Promise(resolve => setTimeout(resolve, 5));
539
- yield { position: { x: 30, y: 30, z: 30 }, name: "Delayed3" };
540
- }
541
-
542
- // Execute transaction with delayed async generator wrapped in function
543
- store.transactions.createPositionNameEntity(() => delayedEntityStream());
544
-
545
- // Wait for all entities to be processed
546
- await new Promise(resolve => setTimeout(resolve, 20));
547
-
548
- // Verify all entities were created
549
- const entities = store.select(["id", "position", "name"]);
550
- const delayedEntities = entities.filter(entityId => {
551
- const values = store.read(entityId);
552
- return values?.name?.startsWith("Delayed");
553
- });
554
-
555
- expect(delayedEntities).toHaveLength(3);
556
- expect(observer).toHaveBeenCalledTimes(3);
557
-
558
- unsubscribe();
559
- });
560
-
561
- it("should handle mixed sync and async arguments in the same transaction", async () => {
562
- const store = createTestObservableStore();
563
- const observer = vi.fn();
564
- const unsubscribe = store.observe.component.position(observer);
565
-
566
- // Create entities with different argument types
567
- store.transactions.createPositionNameEntity({
568
- position: { x: 1, y: 1, z: 1 },
569
- name: "SyncEntity"
570
- });
571
-
572
- store.transactions.createPositionNameEntity(
573
- () => Promise.resolve({
574
- position: { x: 2, y: 2, z: 2 },
575
- name: "PromiseEntity"
576
- })
577
- );
578
-
579
- async function* streamEntityGenerator() {
580
- yield { position: { x: 3, y: 3, z: 3 }, name: "StreamEntity" };
581
- }
582
-
583
- store.transactions.createPositionNameEntity(() => streamEntityGenerator());
584
-
585
- // Wait for async operations
586
- await new Promise(resolve => setTimeout(resolve, 10));
587
-
588
- // Verify all entities were created
589
- const entities = store.select(["id", "position", "name"]);
590
- const testEntities = entities.filter(entityId => {
591
- const values = store.read(entityId);
592
- return values?.name?.endsWith("Entity");
593
- });
594
-
595
- expect(testEntities).toHaveLength(3);
596
-
597
- const syncEntity = store.read(testEntities.find(e => store.read(e)?.name === "SyncEntity")!);
598
- const promiseEntity = store.read(testEntities.find(e => store.read(e)?.name === "PromiseEntity")!);
599
- const streamEntity = store.read(testEntities.find(e => store.read(e)?.name === "StreamEntity")!);
600
-
601
- expect(syncEntity?.position).toEqual({ x: 1, y: 1, z: 1 });
602
- expect(promiseEntity?.position).toEqual({ x: 2, y: 2, z: 2 });
603
- expect(streamEntity?.position).toEqual({ x: 3, y: 3, z: 3 });
604
-
605
- expect(observer).toHaveBeenCalledTimes(3);
606
-
607
- unsubscribe();
608
- });
609
-
610
- it("should handle AsyncGenerator that yields no values", async () => {
611
- const store = createTestObservableStore();
612
- const observer = vi.fn();
613
- const unsubscribe = store.observe.component.position(observer);
614
-
615
- // Create an empty async generator
616
- async function* emptyStream() {
617
- // Yields nothing
618
- }
619
-
620
- // Execute transaction with empty async generator wrapped in function
621
- store.transactions.createPositionNameEntity(() => emptyStream());
622
-
623
- // Wait for processing
624
- await new Promise(resolve => setTimeout(resolve, 10));
625
-
626
- // Verify no entities were created
627
- const entities = store.select(["id", "position", "name"]);
628
- expect(entities).toHaveLength(0);
629
- expect(observer).toHaveBeenCalledTimes(0);
630
-
631
- unsubscribe();
632
- });
633
-
634
- it("should handle AsyncGenerator with error handling", async () => {
635
- const store = createTestObservableStore();
636
- const observer = vi.fn();
637
- const unsubscribe = store.observe.component.position(observer);
638
-
639
- // Create an async generator that throws an error
640
- async function* errorStream() {
641
- yield { position: { x: 1, y: 1, z: 1 }, name: "BeforeError" };
642
- throw new Error("Test error");
643
- }
644
-
645
- // Execute transaction with error-throwing async generator wrapped in function
646
- store.transactions.createPositionNameEntity(() => errorStream());
647
-
648
- // Wait for processing
649
- await new Promise(resolve => setTimeout(resolve, 10));
650
-
651
- // Verify only the first entity was created before the error
652
- const entities = store.select(["id", "position", "name"]);
653
- const beforeErrorEntity = entities.find(entityId => {
654
- const values = store.read(entityId);
655
- return values?.name === "BeforeError";
656
- });
657
-
658
- expect(beforeErrorEntity).toBeDefined();
659
- expect(observer).toHaveBeenCalledTimes(1);
660
-
661
- unsubscribe();
662
- });
663
-
664
- it("should handle complex AsyncGenerator with conditional yielding", async () => {
665
- const store = createTestObservableStore();
666
- const observer = vi.fn();
667
- const unsubscribe = store.observe.component.position(observer);
668
-
669
- // Create a complex async generator with conditional logic
670
- async function* conditionalStream() {
671
- for (let i = 0; i < 5; i++) {
672
- if (i % 2 === 0) {
673
- yield {
674
- position: { x: i, y: i * 2, z: i * 3 },
675
- name: `Even${i}`
676
- };
677
- }
678
- await new Promise(resolve => setTimeout(resolve, 1));
679
- }
680
- }
681
-
682
- // Execute transaction with conditional async generator wrapped in function
683
- store.transactions.createPositionNameEntity(() => conditionalStream());
684
-
685
- // Wait for processing
686
- await new Promise(resolve => setTimeout(resolve, 20));
687
-
688
- // Verify only even-numbered entities were created
689
- const entities = store.select(["id", "position", "name"]);
690
- const evenEntities = entities.filter(entityId => {
691
- const values = store.read(entityId);
692
- return values?.name?.startsWith("Even");
693
- });
694
-
695
- expect(evenEntities).toHaveLength(3); // Even 0, 2, 4
696
-
697
- // Verify correct data for each entity
698
- const even0 = store.read(evenEntities.find(e => store.read(e)?.name === "Even0")!);
699
- const even2 = store.read(evenEntities.find(e => store.read(e)?.name === "Even2")!);
700
- const even4 = store.read(evenEntities.find(e => store.read(e)?.name === "Even4")!);
701
-
702
- expect(even0?.position).toEqual({ x: 0, y: 0, z: 0 });
703
- expect(even2?.position).toEqual({ x: 2, y: 4, z: 6 });
704
- expect(even4?.position).toEqual({ x: 4, y: 8, z: 12 });
705
-
706
- expect(observer).toHaveBeenCalledTimes(3);
707
-
708
- unsubscribe();
709
- });
710
-
711
- it("should maintain transaction integrity with async operations", async () => {
712
- const store = createTestObservableStore();
713
- const transactionObserver = vi.fn();
714
- const unsubscribe = store.observe.transactions(transactionObserver);
715
-
716
- // Create a promise that resolves to entity data
717
- const entityDataPromise = Promise.resolve({
718
- position: { x: 100, y: 200, z: 300 },
719
- name: "TransactionTest"
720
- });
721
-
722
- // Execute transaction with promise wrapped in function
723
- store.transactions.createPositionNameEntity(() => entityDataPromise);
724
-
725
- // Wait for the promise to resolve
726
- await new Promise(resolve => setTimeout(resolve, 10));
727
-
728
- // Verify transaction observer was called with proper transaction result
729
- expect(transactionObserver).toHaveBeenCalledWith(expect.objectContaining({
730
- changedEntities: expect.any(Set),
731
- changedComponents: expect.any(Set),
732
- changedArchetypes: expect.any(Set),
733
- redo: expect.any(Array),
734
- undo: expect.any(Array)
735
- }));
736
-
737
- const result = transactionObserver.mock.calls[0][0];
738
- expect(result.changedEntities.size).toBe(1);
739
- expect(result.changedComponents.has("position")).toBe(true);
740
- expect(result.changedComponents.has("name")).toBe(true);
741
-
742
- unsubscribe();
743
- });
744
- });
745
- });