@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
@@ -0,0 +1,78 @@
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 { grow } from "../internal/array-buffer-like/grow.js";
23
+ import { createDataView32 } from "../internal/data-view-32/create-data-view-32.js";
24
+ import { createReadStruct } from "./structs/create-read-struct.js";
25
+ import { createWriteStruct } from "./structs/create-write-struct.js";
26
+ import { getStructLayout } from "./structs/get-struct-layout.js";
27
+ export const createStructBuffer = (args) => {
28
+ const { schema } = args;
29
+ const layout = getStructLayout(schema);
30
+ if (!layout) {
31
+ throw new Error("Schema is not a valid struct schema");
32
+ }
33
+ const { length = 16, arrayType = 'f32' } = args;
34
+ let arrayBuffer = args.arrayBuffer ?? new ArrayBuffer(length * layout.size);
35
+ const read = createReadStruct(layout);
36
+ const write = createWriteStruct(layout);
37
+ let dataView = createDataView32(arrayBuffer);
38
+ const sizeInQuads = layout.size / 4;
39
+ let typedArray = dataView[arrayType];
40
+ const buffer = {
41
+ getTypedArray() {
42
+ return typedArray;
43
+ },
44
+ get size() {
45
+ return arrayBuffer.byteLength / layout.size;
46
+ },
47
+ set size(length) {
48
+ // attempts to grow the array buffer in place, throws if it can't
49
+ arrayBuffer = grow(arrayBuffer, length * layout.size, true);
50
+ dataView = createDataView32(arrayBuffer);
51
+ typedArray = dataView[arrayType];
52
+ },
53
+ get: (index) => read(dataView, index),
54
+ set: (index, value) => write(dataView, index, value),
55
+ copyWithin: (target, start, end) => {
56
+ dataView[arrayType].copyWithin(target * sizeInQuads, start * sizeInQuads, end * sizeInQuads);
57
+ },
58
+ [Symbol.iterator]() {
59
+ let index = 0;
60
+ const length = buffer.size;
61
+ return {
62
+ next() {
63
+ if (index < length) {
64
+ const value = read(dataView, index);
65
+ index++;
66
+ return { value, done: false };
67
+ }
68
+ return { value: undefined, done: true };
69
+ },
70
+ [Symbol.iterator]() {
71
+ return this;
72
+ }
73
+ };
74
+ },
75
+ };
76
+ return buffer;
77
+ };
78
+ //# sourceMappingURL=create-struct-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-struct-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-struct-buffer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { FromSchema, Schema } from "../schema/schema.js";
2
+ import { TypedBuffer } from "./typed-buffer.js";
3
+ export declare const createTypedBuffer: <S extends Schema, T = FromSchema<S>>(args: {
4
+ schema: S;
5
+ length?: number;
6
+ maxLength?: number;
7
+ }) => TypedBuffer<FromSchema<S>>;
@@ -0,0 +1,17 @@
1
+ import { createStructBuffer } from "./create-struct-buffer.js";
2
+ import { getStructLayout } from "./structs/get-struct-layout.js";
3
+ import { createNumberBuffer } from "./create-number-buffer.js";
4
+ import { createArrayBuffer } from "./create-array-buffer.js";
5
+ export const createTypedBuffer = (args) => {
6
+ const { schema } = args;
7
+ args.maxLength ??= 10_0000_000;
8
+ if (schema.type === 'number' || schema.type === 'integer') {
9
+ return createNumberBuffer(args);
10
+ }
11
+ const structLayout = getStructLayout(schema, false);
12
+ if (structLayout) {
13
+ return createStructBuffer(args);
14
+ }
15
+ return createArrayBuffer(args);
16
+ };
17
+ //# sourceMappingURL=create-typed-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-typed-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-typed-buffer.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,IAIC,EACyB,EAAE;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,kBAAkB,CAAC,IAAI,CAA+B,CAAC;IAClE,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,iBAAiB,CAAgB,IAAI,CAAC,CAAC;AAClD,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './typed-buffer.js';
2
+ export * from './create-typed-buffer.js';
3
+ export * from './create-struct-buffer.js';
4
+ export { getStructLayout } from './structs/index.js';
5
+ export { copyToGPUBuffer } from './copy-to-gpu-buffer.js';
@@ -0,0 +1,27 @@
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
+ export * from './typed-buffer.js';
23
+ export * from './create-typed-buffer.js';
24
+ export * from './create-struct-buffer.js';
25
+ export { getStructLayout } from './structs/index.js';
26
+ export { copyToGPUBuffer } from './copy-to-gpu-buffer.js';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/typed-buffer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Schema } from "../../schema/schema.js";
2
+ /**
3
+ * Asserts that the schema is a valid struct schema.
4
+ * @param schema - The schema to assert.
5
+ * @returns The schema.
6
+ * @throws An error if the schema is not a valid struct schema.
7
+ */
8
+ export declare const assertStruct: <S extends Schema>(schema: S) => S;
@@ -0,0 +1,15 @@
1
+ import { getStructLayout } from "./get-struct-layout.js";
2
+ /**
3
+ * Asserts that the schema is a valid struct schema.
4
+ * @param schema - The schema to assert.
5
+ * @returns The schema.
6
+ * @throws An error if the schema is not a valid struct schema.
7
+ */
8
+ export const assertStruct = (schema) => {
9
+ const layout = getStructLayout(schema);
10
+ if (!layout) {
11
+ throw new Error("Invalid structure schema");
12
+ }
13
+ return schema;
14
+ };
15
+ //# sourceMappingURL=assert-struct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-struct.js","sourceRoot":"","sources":["../../../src/typed-buffer/structs/assert-struct.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAmB,MAAS,EAAK,EAAE;IAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ReadStruct } from "./read-struct.js";
2
+ import type { StructLayout } from "./struct-layout.js";
3
+ export declare const createReadStruct: <T = unknown>(key: StructLayout) => ReadStruct<T>;
@@ -0,0 +1,62 @@
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 { memoizeFactory } from "../../internal/function/memoize-factory.js";
23
+ import { getFieldOffset } from "./get-field-offset.js";
24
+ const generateStructBody = (layout, parentOffset = '', indent = ' ', usedViews = { f32: false, i32: false, u32: false }) => {
25
+ if (typeof layout === 'string') {
26
+ usedViews[layout] = true;
27
+ return [`__${layout}[${parentOffset}]`, usedViews];
28
+ }
29
+ const entries = layout.type === 'array' ?
30
+ Object.entries(layout.fields).sort((a, b) => +a[0] - +b[0]) :
31
+ Object.entries(layout.fields);
32
+ let body = '';
33
+ for (const [name, field] of entries) {
34
+ const fieldOffset = getFieldOffset(field, parentOffset);
35
+ const [value] = typeof field.type === 'string' ?
36
+ [(`__${field.type}[${fieldOffset}]`), usedViews[field.type] = true] :
37
+ generateStructBody(field.type, fieldOffset, indent + ' ', usedViews);
38
+ if (layout.type === 'array') {
39
+ body += `\n${indent}${value},`;
40
+ }
41
+ else {
42
+ body += `\n${indent}${name}: ${value},`;
43
+ }
44
+ }
45
+ return [layout.type === 'array' ?
46
+ `[${body}\n${indent.slice(4)}]` :
47
+ `{${body}\n${indent.slice(4)}}`,
48
+ usedViews
49
+ ];
50
+ };
51
+ export const createReadStruct = memoizeFactory((layout) => {
52
+ const [body, usedViews] = generateStructBody(layout);
53
+ const views = Object.entries(usedViews)
54
+ .filter(([, used]) => used)
55
+ .map(([type]) => `${type}: __${type}`)
56
+ .join(', ');
57
+ const code = `const { ${views} } = data;
58
+ index *= ${layout.size / 4};
59
+ return ${body};`;
60
+ return new Function('data', 'index', code);
61
+ });
62
+ //# sourceMappingURL=create-read-struct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-read-struct.js","sourceRoot":"","sources":["../../../src/typed-buffer/structs/create-read-struct.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
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 } from "vitest";
23
+ import { createReadStruct } from "./create-read-struct.js";
24
+ import { createDataView32 } from "../../internal/data-view-32/create-data-view-32.js";
25
+ describe("ReadStruct", () => {
26
+ it("Vec2 array root", () => {
27
+ const layout = {
28
+ "type": "array",
29
+ "size": 8,
30
+ "fields": {
31
+ "0": {
32
+ "offset": 0,
33
+ "type": "f32"
34
+ },
35
+ "1": {
36
+ "offset": 4,
37
+ "type": "f32"
38
+ }
39
+ }
40
+ };
41
+ const read = createReadStruct(layout);
42
+ const data = createDataView32(new ArrayBuffer(16));
43
+ data.f32[0] = 1.5;
44
+ data.f32[1] = 2.5;
45
+ data.f32[2] = 3.5;
46
+ data.f32[3] = 4.5;
47
+ const result = read(data, 0);
48
+ expect(result).toEqual([1.5, 2.5]);
49
+ // Test with offset
50
+ const result2 = read(data, 1);
51
+ expect(result2).toEqual([3.5, 4.5]);
52
+ });
53
+ it("Vec2 object root", () => {
54
+ const layout = {
55
+ "type": "object",
56
+ "size": 8,
57
+ "fields": {
58
+ "x": {
59
+ "offset": 0,
60
+ "type": "f32"
61
+ },
62
+ "y": {
63
+ "offset": 4,
64
+ "type": "f32"
65
+ }
66
+ }
67
+ };
68
+ const read = createReadStruct(layout);
69
+ const data = createDataView32(new ArrayBuffer(16));
70
+ data.f32[0] = 1.5;
71
+ data.f32[1] = 2.5;
72
+ data.f32[2] = 3.5;
73
+ data.f32[3] = 4.5;
74
+ const result = read(data, 0);
75
+ expect(result).toEqual({ x: 1.5, y: 2.5 });
76
+ // Test with offset
77
+ const result2 = read(data, 1);
78
+ expect(result2).toEqual({ x: 3.5, y: 4.5 });
79
+ });
80
+ it("Complex struct with nested arrays and primitives", () => {
81
+ const layout = {
82
+ type: "object",
83
+ size: 48, // Total size rounded to vec4 (16 bytes)
84
+ fields: {
85
+ position: {
86
+ offset: 0,
87
+ type: {
88
+ type: "array",
89
+ size: 16, // vec3 padded to vec4
90
+ fields: {
91
+ "0": { offset: 0, type: "f32" },
92
+ "1": { offset: 4, type: "f32" },
93
+ "2": { offset: 8, type: "f32" }
94
+ }
95
+ }
96
+ },
97
+ color: {
98
+ offset: 16, // Aligned to vec4
99
+ type: {
100
+ type: "array",
101
+ size: 16,
102
+ fields: {
103
+ "0": { offset: 0, type: "f32" },
104
+ "1": { offset: 4, type: "f32" },
105
+ "2": { offset: 8, type: "f32" },
106
+ "3": { offset: 12, type: "f32" }
107
+ }
108
+ }
109
+ },
110
+ age: {
111
+ offset: 32, // Aligned to vec4
112
+ type: "u32"
113
+ },
114
+ charge: {
115
+ offset: 36,
116
+ type: "i32"
117
+ }
118
+ }
119
+ };
120
+ const read = createReadStruct(layout);
121
+ const data = createDataView32(new ArrayBuffer(96)); // Space for 2 structs
122
+ // position
123
+ data.f32[0] = 1;
124
+ data.f32[1] = 2;
125
+ data.f32[2] = 3;
126
+ // color
127
+ data.f32[4] = 1;
128
+ data.f32[5] = 0;
129
+ data.f32[6] = 0;
130
+ data.f32[7] = 1;
131
+ // age
132
+ data.u32[8] = 42;
133
+ // charge
134
+ data.i32[9] = -5;
135
+ // Second struct for offset testing
136
+ data.f32[12] = 4;
137
+ data.f32[13] = 5;
138
+ data.f32[14] = 6;
139
+ data.f32[16] = 0;
140
+ data.f32[17] = 1;
141
+ data.f32[18] = 0;
142
+ data.f32[19] = 1;
143
+ data.u32[20] = 24;
144
+ data.i32[21] = 3;
145
+ const result = read(data, 0);
146
+ expect(result).toEqual({
147
+ position: [1, 2, 3],
148
+ color: [1, 0, 0, 1],
149
+ age: 42,
150
+ charge: -5
151
+ });
152
+ // Test with offset
153
+ const result2 = read(data, 1);
154
+ expect(result2).toEqual({
155
+ position: [4, 5, 6],
156
+ color: [0, 1, 0, 1],
157
+ age: 24,
158
+ charge: 3
159
+ });
160
+ });
161
+ it("should only destructure used view types", () => {
162
+ // f32 only
163
+ const vec2Layout = {
164
+ type: "array",
165
+ size: 8,
166
+ fields: {
167
+ "0": { offset: 0, type: "f32" },
168
+ "1": { offset: 4, type: "f32" }
169
+ }
170
+ };
171
+ const readVec2 = createReadStruct(vec2Layout);
172
+ expect(readVec2.toString()).toMatch(/const { f32: __f32 } = data/);
173
+ expect(readVec2.toString()).not.toMatch(/i32: __i32/);
174
+ expect(readVec2.toString()).not.toMatch(/u32: __u32/);
175
+ // i32 and u32 only
176
+ const mixedLayout = {
177
+ type: "object",
178
+ size: 8,
179
+ fields: {
180
+ a: { offset: 0, type: "i32" },
181
+ b: { offset: 4, type: "u32" }
182
+ }
183
+ };
184
+ const readMixed = createReadStruct(mixedLayout);
185
+ expect(readMixed.toString()).not.toMatch(/f32: __f32/);
186
+ expect(readMixed.toString()).toMatch(/const { (?=.*i32: __i32)(?=.*u32: __u32).*? } = data/);
187
+ });
188
+ });
189
+ //# sourceMappingURL=create-read-struct.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-read-struct.test.js","sourceRoot":"","sources":["../../../src/typed-buffer/structs/create-read-struct.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { StructLayout } from "./struct-layout.js";
2
+ import type { WriteStruct } from "./write-struct.js";
3
+ export declare const createWriteStruct: <T = unknown>(key: StructLayout) => WriteStruct<T>;
@@ -0,0 +1,58 @@
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 { memoizeFactory } from "../../internal/function/memoize-factory.js";
23
+ import { getFieldOffset } from "./get-field-offset.js";
24
+ const generateStructBody = (layout, parentOffset = '', valueRef = 'value', indent = ' ', usedViews = { f32: false, i32: false, u32: false }) => {
25
+ if (typeof layout === 'string') {
26
+ usedViews[layout] = true;
27
+ return [`__${layout}[${parentOffset}] = ${valueRef};`, usedViews];
28
+ }
29
+ const entries = layout.type === 'array' ?
30
+ Object.entries(layout.fields).sort((a, b) => +a[0] - +b[0]) :
31
+ Object.entries(layout.fields);
32
+ let body = '';
33
+ for (const [name, field] of entries) {
34
+ const fieldOffset = getFieldOffset(field, parentOffset);
35
+ const nextValueRef = layout.type === 'array' ? `${valueRef}[${name}]` : `${valueRef}.${name}`;
36
+ if (typeof field.type === 'string') {
37
+ usedViews[field.type] = true;
38
+ body += `\n${indent}__${field.type}[${fieldOffset}] = ${nextValueRef};`;
39
+ }
40
+ else {
41
+ const [nestedBody] = generateStructBody(field.type, fieldOffset, nextValueRef, indent + ' ', usedViews);
42
+ body += `\n${indent}${nestedBody}`;
43
+ }
44
+ }
45
+ return [body, usedViews];
46
+ };
47
+ export const createWriteStruct = memoizeFactory((layout) => {
48
+ const [body, usedViews] = generateStructBody(layout);
49
+ const views = Object.entries(usedViews)
50
+ .filter(([, used]) => used)
51
+ .map(([type]) => `${type}: __${type}`)
52
+ .join(', ');
53
+ const code = `const { ${views} } = data;
54
+ index *= ${layout.size / 4};
55
+ ${body};`;
56
+ return new Function('data', 'index', 'value', code);
57
+ });
58
+ //# sourceMappingURL=create-write-struct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-write-struct.js","sourceRoot":"","sources":["../../../src/typed-buffer/structs/create-write-struct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAKvD,MAAM,kBAAkB,GAAG,CACvB,MAAoB,EACpB,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,OAAO,EAClB,MAAM,GAAG,MAAM,EACf,YAAuB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAC1C,EAAE;IACrB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,SAAS,CAAC,MAAkB,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,CAAC,KAAK,MAAM,IAAI,YAAY,OAAO,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QAE9F,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,SAAS,CAAC,KAAK,CAAC,IAAgB,CAAC,GAAG,IAAI,CAAC;YACzC,IAAI,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,WAAW,OAAO,YAAY,GAAG,CAAC;QAC5E,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;YAC3G,IAAI,IAAI,KAAK,MAAM,GAAG,UAAU,EAAE,CAAC;QACvC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAc,MAAoB,EAAkB,EAAE;IAClG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;SACrC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhB,MAAM,IAAI,GAAG,WAAW,KAAK;WACtB,MAAM,CAAC,IAAI,GAAG,CAAC;EACxB,IAAI,GAAG,CAAC;IACN,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAmB,CAAC;AAC1E,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { StructLayout } from "./struct-layout.js";
2
+ export declare const getFieldOffset: (field: StructLayout["fields"][string], parentOffset: string) => string;
@@ -0,0 +1,14 @@
1
+ export const getFieldOffset = (field, parentOffset) => {
2
+ const fieldOffset = field.offset / 4;
3
+ if (!parentOffset) {
4
+ return `index + ${fieldOffset}`;
5
+ }
6
+ // If parentOffset is a number, add it to fieldOffset
7
+ const match = parentOffset.match(/^index \+ (\d+)$/);
8
+ if (match) {
9
+ const parentNum = parseInt(match[1]);
10
+ return `index + ${parentNum + fieldOffset}`;
11
+ }
12
+ return `${parentOffset} + ${fieldOffset}`;
13
+ };
14
+ //# sourceMappingURL=get-field-offset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-field-offset.js","sourceRoot":"","sources":["../../../src/typed-buffer/structs/get-field-offset.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAqC,EAAE,YAAoB,EAAU,EAAE;IAClG,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,WAAW,WAAW,EAAE,CAAC;IACpC,CAAC;IACD,qDAAqD;IACrD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,WAAW,SAAS,GAAG,WAAW,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,YAAY,MAAM,WAAW,EAAE,CAAC;AAC9C,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type Schema } from "../../schema/schema.js";
2
+ import type { StructLayout } from "./struct-layout.js";
3
+ export declare function getStructLayout(schema: Schema): StructLayout;
4
+ export declare function getStructLayout(schema: Schema, throwError: true): StructLayout;
5
+ export declare function getStructLayout(schema: Schema, throwError: boolean): StructLayout | null;