@adobe/data 0.9.4 → 0.9.6

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 (1056) hide show
  1. package/LICENSE +1 -1
  2. package/assembly/index.wasm.map +1 -1
  3. package/assembly-test/assembly.test.js +1 -21
  4. package/assembly-test/assembly.test.js.map +1 -1
  5. package/blob/blob-handle.js +1 -21
  6. package/blob/blob-handle.js.map +1 -1
  7. package/blob/blob-meta.js.map +1 -1
  8. package/blob/index.js +1 -21
  9. package/blob/index.js.map +1 -1
  10. package/cache/async-cache.js +1 -21
  11. package/cache/async-cache.js.map +1 -1
  12. package/cache/blob-store.js +1 -21
  13. package/cache/blob-store.js.map +1 -1
  14. package/cache/blob-store.test.js +1 -21
  15. package/cache/blob-store.test.js.map +1 -1
  16. package/cache/data-cache.js.map +1 -1
  17. package/cache/data-cache.test.js +1 -21
  18. package/cache/data-cache.test.js.map +1 -1
  19. package/cache/expiring-data-cache.js +1 -21
  20. package/cache/expiring-data-cache.js.map +1 -1
  21. package/cache/expiring-data-cache.test.js +1 -21
  22. package/cache/expiring-data-cache.test.js.map +1 -1
  23. package/cache/fallback-async-cache.js.map +1 -1
  24. package/cache/functions/async-data-function.js +1 -21
  25. package/cache/functions/async-data-function.js.map +1 -1
  26. package/cache/functions/functions.test.js +1 -21
  27. package/cache/functions/functions.test.js.map +1 -1
  28. package/cache/functions/get-cached.js +1 -21
  29. package/cache/functions/get-cached.js.map +1 -1
  30. package/cache/functions/get-cached.test.js +1 -21
  31. package/cache/functions/get-cached.test.js.map +1 -1
  32. package/cache/functions/hashing/array-buffer-to-hex.js +1 -21
  33. package/cache/functions/hashing/array-buffer-to-hex.js.map +1 -1
  34. package/cache/functions/hashing/blob-to-hash.js +1 -21
  35. package/cache/functions/hashing/blob-to-hash.js.map +1 -1
  36. package/cache/functions/hashing/buffer-to-hash.js +1 -21
  37. package/cache/functions/hashing/buffer-to-hash.js.map +1 -1
  38. package/cache/functions/hashing/hashing.test.js +1 -21
  39. package/cache/functions/hashing/hashing.test.js.map +1 -1
  40. package/cache/functions/hashing/index.js +1 -21
  41. package/cache/functions/hashing/index.js.map +1 -1
  42. package/cache/functions/hashing/json-to-hash.js +1 -21
  43. package/cache/functions/hashing/json-to-hash.js.map +1 -1
  44. package/cache/functions/hashing/string-to-hash.js +1 -21
  45. package/cache/functions/hashing/string-to-hash.js.map +1 -1
  46. package/cache/functions/index.js +1 -21
  47. package/cache/functions/index.js.map +1 -1
  48. package/cache/functions/memoize.js +1 -21
  49. package/cache/functions/memoize.js.map +1 -1
  50. package/cache/functions/prevent-parallel-execution.js.map +1 -1
  51. package/cache/get-persistent-cache.js.map +1 -1
  52. package/cache/index.js +1 -21
  53. package/cache/index.js.map +1 -1
  54. package/cache/managed-array.js.map +1 -1
  55. package/cache/managed-async-cache.browser.test.js +1 -21
  56. package/cache/managed-async-cache.browser.test.js.map +1 -1
  57. package/cache/managed-async-cache.js.map +1 -1
  58. package/cache/memory-allocator.js +1 -21
  59. package/cache/memory-allocator.js.map +1 -1
  60. package/cache/memory-async-cache.js.map +1 -1
  61. package/data.js +1 -21
  62. package/data.js.map +1 -1
  63. package/ecs/archetype/archetype.js.map +1 -1
  64. package/ecs/archetype/create-archetype.js +1 -21
  65. package/ecs/archetype/create-archetype.js.map +1 -1
  66. package/ecs/archetype/create-archetype.test.js +1 -21
  67. package/ecs/archetype/create-archetype.test.js.map +1 -1
  68. package/ecs/archetype/delete-row.js +1 -21
  69. package/ecs/archetype/delete-row.js.map +1 -1
  70. package/ecs/archetype/delete-row.test.js +1 -21
  71. package/ecs/archetype/delete-row.test.js.map +1 -1
  72. package/ecs/archetype/index.js +1 -21
  73. package/ecs/archetype/index.js.map +1 -1
  74. package/ecs/database/calculate-system-order.js +1 -21
  75. package/ecs/database/calculate-system-order.js.map +1 -1
  76. package/ecs/database/calculate-system-order.test.js +1 -21
  77. package/ecs/database/calculate-system-order.test.js.map +1 -1
  78. package/ecs/database/combine-plugins-test.d.ts +39 -0
  79. package/ecs/database/combine-plugins-test.js +3 -0
  80. package/ecs/database/combine-plugins-test.js.map +1 -0
  81. package/ecs/database/combine-plugins.d.ts +11 -8
  82. package/ecs/database/combine-plugins.js +3 -23
  83. package/ecs/database/combine-plugins.js.map +1 -1
  84. package/ecs/database/create-plugin-cryos-pattern.test.d.ts +3 -0
  85. package/ecs/database/create-plugin-cryos-pattern.test.js +83 -0
  86. package/ecs/database/create-plugin-cryos-pattern.test.js.map +1 -0
  87. package/ecs/database/create-plugin-graphics.test.d.ts +93 -0
  88. package/ecs/database/create-plugin-graphics.test.js +135 -0
  89. package/ecs/database/create-plugin-graphics.test.js.map +1 -0
  90. package/ecs/database/create-plugin-type.type-test.js +563 -0
  91. package/ecs/database/create-plugin-type.type-test.js.map +1 -0
  92. package/ecs/database/create-plugin-type.type.test.js +563 -0
  93. package/ecs/database/create-plugin-type.type.test.js.map +1 -0
  94. package/ecs/database/create-plugin.d.ts +34 -2
  95. package/ecs/database/create-plugin.js +54 -23
  96. package/ecs/database/create-plugin.js.map +1 -1
  97. package/ecs/database/create-plugin.test.js +64 -39
  98. package/ecs/database/create-plugin.test.js.map +1 -1
  99. package/ecs/database/create-plugin.type-test.js +27 -31
  100. package/ecs/database/create-plugin.type-test.js.map +1 -1
  101. package/ecs/database/database-schema/create-database-schema-test.js +1 -21
  102. package/ecs/database/database-schema/create-database-schema-test.js.map +1 -1
  103. package/ecs/database/database-schema/create-database-schema.js +1 -21
  104. package/ecs/database/database-schema/create-database-schema.js.map +1 -1
  105. package/ecs/database/database-schema/database-schema.js +1 -21
  106. package/ecs/database/database-schema/database-schema.js.map +1 -1
  107. package/ecs/database/database-schema/index.js +1 -21
  108. package/ecs/database/database-schema/index.js.map +1 -1
  109. package/ecs/database/database.d.ts +11 -6
  110. package/ecs/database/database.js +4 -21
  111. package/ecs/database/database.js.map +1 -1
  112. package/ecs/database/database.test.js +6 -27
  113. package/ecs/database/database.test.js.map +1 -1
  114. package/ecs/database/experimental-action-types.js +275 -0
  115. package/ecs/database/experimental-action-types.js.map +1 -0
  116. package/ecs/database/from-plugin.type-test.js +180 -0
  117. package/ecs/database/from-plugin.type-test.js.map +1 -0
  118. package/ecs/database/index.js +1 -21
  119. package/ecs/database/index.js.map +1 -1
  120. package/ecs/database/observe-dependent-value.js +1 -21
  121. package/ecs/database/observe-dependent-value.js.map +1 -1
  122. package/ecs/database/observe-dependent-value.test.js +1 -21
  123. package/ecs/database/observe-dependent-value.test.js.map +1 -1
  124. package/ecs/database/observe-select-entities.js +1 -21
  125. package/ecs/database/observe-select-entities.js.map +1 -1
  126. package/ecs/database/observe-select-entities.performance.test.js +1 -21
  127. package/ecs/database/observe-select-entities.performance.test.js.map +1 -1
  128. package/ecs/database/observe-select-entities.test.js +1 -21
  129. package/ecs/database/observe-select-entities.test.js.map +1 -1
  130. package/ecs/database/observed/create-observed-database.js +1 -17
  131. package/ecs/database/observed/create-observed-database.js.map +1 -1
  132. package/ecs/database/observed/create-observed-database.test.js +1 -0
  133. package/ecs/database/observed/create-observed-database.test.js.map +1 -1
  134. package/ecs/database/observed/observed-database.js +1 -17
  135. package/ecs/database/observed/observed-database.js.map +1 -1
  136. package/ecs/database/plugin-types.js +5 -0
  137. package/ecs/database/plugin-types.js.map +1 -0
  138. package/ecs/database/public/create-database-from-schema.test.js +1 -21
  139. package/ecs/database/public/create-database-from-schema.test.js.map +1 -1
  140. package/ecs/database/public/create-database-scheduler.test.js +8 -23
  141. package/ecs/database/public/create-database-scheduler.test.js.map +1 -1
  142. package/ecs/database/public/create-database.d.ts +4 -5
  143. package/ecs/database/public/create-database.js +39 -183
  144. package/ecs/database/public/create-database.js.map +1 -1
  145. package/ecs/database/public/create-database.test.js +34 -21
  146. package/ecs/database/public/create-database.test.js.map +1 -1
  147. package/ecs/database/public/create-database.type-test.js +160 -0
  148. package/ecs/database/public/create-database.type-test.js.map +1 -0
  149. package/ecs/database/public/index.js +1 -20
  150. package/ecs/database/public/index.js.map +1 -1
  151. package/ecs/database/reconciling/create-reconciling-database.js +1 -20
  152. package/ecs/database/reconciling/create-reconciling-database.js.map +1 -1
  153. package/ecs/database/reconciling/create-reconciling-database.test.js +1 -0
  154. package/ecs/database/reconciling/create-reconciling-database.test.js.map +1 -1
  155. package/ecs/database/reconciling/reconciling-database.js +1 -20
  156. package/ecs/database/reconciling/reconciling-database.js.map +1 -1
  157. package/ecs/database/reconciling/reconciling-entry.js +1 -20
  158. package/ecs/database/reconciling/reconciling-entry.js.map +1 -1
  159. package/ecs/database/transactional-store/apply-operations.js.map +1 -1
  160. package/ecs/database/transactional-store/coalesce-actions.js +1 -21
  161. package/ecs/database/transactional-store/coalesce-actions.js.map +1 -1
  162. package/ecs/database/transactional-store/coalesce-actions.test.js +1 -21
  163. package/ecs/database/transactional-store/coalesce-actions.test.js.map +1 -1
  164. package/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  165. package/ecs/database/transactional-store/create-transactional-store.test.js +1 -21
  166. package/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  167. package/ecs/database/transactional-store/index.js +1 -21
  168. package/ecs/database/transactional-store/index.js.map +1 -1
  169. package/ecs/database/transactional-store/patch-entity-values.js.map +1 -1
  170. package/ecs/database/transactional-store/transaction-options.js +1 -21
  171. package/ecs/database/transactional-store/transaction-options.js.map +1 -1
  172. package/ecs/database/transactional-store/transactional-store.js +1 -21
  173. package/ecs/database/transactional-store/transactional-store.js.map +1 -1
  174. package/ecs/database/type-inference-example.js +1 -0
  175. package/ecs/database/type-inference-example.js.map +1 -1
  176. package/ecs/database/type-investigation.test.js +54 -0
  177. package/ecs/database/type-investigation.test.js.map +1 -0
  178. package/ecs/database/undoable.js +1 -21
  179. package/ecs/database/undoable.js.map +1 -1
  180. package/ecs/entity-location-table/create-entity-location-table.js +1 -21
  181. package/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  182. package/ecs/entity-location-table/create-entity-location-table.test.js +1 -21
  183. package/ecs/entity-location-table/create-entity-location-table.test.js.map +1 -1
  184. package/ecs/entity-location-table/entity-location.js.map +1 -1
  185. package/ecs/entity-location-table/index.js +1 -21
  186. package/ecs/entity-location-table/index.js.map +1 -1
  187. package/ecs/entity.js.map +1 -1
  188. package/ecs/index.js +1 -21
  189. package/ecs/index.js.map +1 -1
  190. package/ecs/persistence-service/create-storage-persistence-service.js +1 -21
  191. package/ecs/persistence-service/create-storage-persistence-service.js.map +1 -1
  192. package/ecs/persistence-service/index.js +1 -21
  193. package/ecs/persistence-service/index.js.map +1 -1
  194. package/ecs/plugins/index.js +1 -21
  195. package/ecs/plugins/index.js.map +1 -1
  196. package/ecs/plugins/scheduler/index.js +1 -21
  197. package/ecs/plugins/scheduler/index.js.map +1 -1
  198. package/ecs/plugins/scheduler/scheduler.d.ts +1 -2
  199. package/ecs/plugins/scheduler/scheduler.js +1 -21
  200. package/ecs/plugins/scheduler/scheduler.js.map +1 -1
  201. package/ecs/resource-schemas.js +1 -21
  202. package/ecs/resource-schemas.js.map +1 -1
  203. package/ecs/store/action-functions.js +1 -21
  204. package/ecs/store/action-functions.js.map +1 -1
  205. package/ecs/store/archetype-components.js +1 -21
  206. package/ecs/store/archetype-components.js.map +1 -1
  207. package/ecs/store/components.js +1 -21
  208. package/ecs/store/components.js.map +1 -1
  209. package/ecs/store/core/core.js +1 -21
  210. package/ecs/store/core/core.js.map +1 -1
  211. package/ecs/store/core/create-core.js +1 -21
  212. package/ecs/store/core/create-core.js.map +1 -1
  213. package/ecs/store/core/create-core.test.js +22 -21
  214. package/ecs/store/core/create-core.test.js.map +1 -1
  215. package/ecs/store/core/index.js +1 -21
  216. package/ecs/store/core/index.js.map +1 -1
  217. package/ecs/store/core/select-entities.js +1 -21
  218. package/ecs/store/core/select-entities.js.map +1 -1
  219. package/ecs/store/core/select-entities.test.js +1 -21
  220. package/ecs/store/core/select-entities.test.js.map +1 -1
  221. package/ecs/store/create-store-schema-test.js +1 -21
  222. package/ecs/store/create-store-schema-test.js.map +1 -1
  223. package/ecs/store/entity-select-options.js +1 -21
  224. package/ecs/store/entity-select-options.js.map +1 -1
  225. package/ecs/store/index.js +1 -21
  226. package/ecs/store/index.js.map +1 -1
  227. package/ecs/store/public/create-store.js +1 -21
  228. package/ecs/store/public/create-store.js.map +1 -1
  229. package/ecs/store/public/create-store.test.js +1 -21
  230. package/ecs/store/public/create-store.test.js.map +1 -1
  231. package/ecs/store/resource-components.js +1 -21
  232. package/ecs/store/resource-components.js.map +1 -1
  233. package/ecs/store/store.js.map +1 -1
  234. package/ecs/store/store.test.js +1 -21
  235. package/ecs/store/store.test.js.map +1 -1
  236. package/ecs/undo-redo-service/create-undo-redo-service.js +1 -21
  237. package/ecs/undo-redo-service/create-undo-redo-service.js.map +1 -1
  238. package/ecs/undo-redo-service/create-undo-redo-service.test.js +1 -21
  239. package/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
  240. package/ecs/undo-redo-service/index.js +1 -21
  241. package/ecs/undo-redo-service/index.js.map +1 -1
  242. package/ecs/undo-redo-service/undo-redo-service.js +1 -21
  243. package/ecs/undo-redo-service/undo-redo-service.js.map +1 -1
  244. package/equals-shallow.js +1 -21
  245. package/equals-shallow.js.map +1 -1
  246. package/equals-shallow.test.js +1 -21
  247. package/equals-shallow.test.js.map +1 -1
  248. package/equals.js +1 -21
  249. package/equals.js.map +1 -1
  250. package/equals.test.js +1 -21
  251. package/equals.test.js.map +1 -1
  252. package/functions/apply-args.js +1 -21
  253. package/functions/apply-args.js.map +1 -1
  254. package/functions/blit.js +1 -21
  255. package/functions/blit.js.map +1 -1
  256. package/functions/copy-view-bytes.js +1 -21
  257. package/functions/copy-view-bytes.js.map +1 -1
  258. package/functions/index.js +1 -21
  259. package/functions/index.js.map +1 -1
  260. package/functions/merge-patch.js.map +1 -1
  261. package/functions/merge-patch.test.js +1 -21
  262. package/functions/merge-patch.test.js.map +1 -1
  263. package/functions/serialization/codec.js +1 -21
  264. package/functions/serialization/codec.js.map +1 -1
  265. package/functions/serialization/index.js +1 -21
  266. package/functions/serialization/index.js.map +1 -1
  267. package/functions/serialization/register-blob-codecs.js.map +1 -1
  268. package/functions/serialization/register-typed-array-codecs.js.map +1 -1
  269. package/functions/serialization/serialization.test.js +1 -21
  270. package/functions/serialization/serialization.test.js.map +1 -1
  271. package/functions/serialization/serialize-to-blobs.js +1 -21
  272. package/functions/serialization/serialize-to-blobs.js.map +1 -1
  273. package/functions/serialization/serialize-to-blobs.test.js +1 -21
  274. package/functions/serialization/serialize-to-blobs.test.js.map +1 -1
  275. package/functions/serialization/serialize-to-json.js +1 -21
  276. package/functions/serialization/serialize-to-json.js.map +1 -1
  277. package/functions/serialization/serialize-to-json.test.js +1 -21
  278. package/functions/serialization/serialize-to-json.test.js.map +1 -1
  279. package/functions/serialization/serialize-to-storage.js +1 -21
  280. package/functions/serialization/serialize-to-storage.js.map +1 -1
  281. package/functions/serialization/serialize-to-storage.test.js +1 -21
  282. package/functions/serialization/serialize-to-storage.test.js.map +1 -1
  283. package/functions/serialization/serialize.js +1 -21
  284. package/functions/serialization/serialize.js.map +1 -1
  285. package/index.js +1 -21
  286. package/index.js.map +1 -1
  287. package/internal/array/index.js +1 -21
  288. package/internal/array/index.js.map +1 -1
  289. package/internal/array/topological-sort.js +1 -21
  290. package/internal/array/topological-sort.js.map +1 -1
  291. package/internal/array/topological-sort.test.js +1 -21
  292. package/internal/array/topological-sort.test.js.map +1 -1
  293. package/internal/array-buffer-like/copy.js +1 -21
  294. package/internal/array-buffer-like/copy.js.map +1 -1
  295. package/internal/array-buffer-like/index.js +1 -21
  296. package/internal/array-buffer-like/index.js.map +1 -1
  297. package/internal/array-buffer-like/is-array-buffer.js +1 -21
  298. package/internal/array-buffer-like/is-array-buffer.js.map +1 -1
  299. package/internal/array-buffer-like/is-shared-array-buffer.js +1 -21
  300. package/internal/array-buffer-like/is-shared-array-buffer.js.map +1 -1
  301. package/internal/array-buffer-like/resize.js +1 -21
  302. package/internal/array-buffer-like/resize.js.map +1 -1
  303. package/internal/async-generator/is-async-generator.js +1 -21
  304. package/internal/async-generator/is-async-generator.js.map +1 -1
  305. package/internal/data-view-32/create-data-view-32.js.map +1 -1
  306. package/internal/data-view-32/index.js +1 -21
  307. package/internal/data-view-32/index.js.map +1 -1
  308. package/internal/function/debounce.js +1 -21
  309. package/internal/function/debounce.js.map +1 -1
  310. package/internal/function/debounce.test.js +1 -21
  311. package/internal/function/debounce.test.js.map +1 -1
  312. package/internal/function/memoize-factory.js +1 -21
  313. package/internal/function/memoize-factory.js.map +1 -1
  314. package/internal/object/index.js +1 -21
  315. package/internal/object/index.js.map +1 -1
  316. package/internal/object/map-entries.js +1 -21
  317. package/internal/object/map-entries.js.map +1 -1
  318. package/internal/promise/is-promise.js +1 -21
  319. package/internal/promise/is-promise.js.map +1 -1
  320. package/internal/shared-array-buffer/create-shared-array-buffer.js +1 -21
  321. package/internal/shared-array-buffer/create-shared-array-buffer.js.map +1 -1
  322. package/internal/typed-array/get-byte-size.js.map +1 -1
  323. package/internal/typed-array/index.js +1 -21
  324. package/internal/typed-array/index.js.map +1 -1
  325. package/is-data.js +1 -21
  326. package/is-data.js.map +1 -1
  327. package/lit/decorators/apply-decorator.js +1 -21
  328. package/lit/decorators/apply-decorator.js.map +1 -1
  329. package/lit/decorators/apply-service-decorators.js +1 -21
  330. package/lit/decorators/apply-service-decorators.js.map +1 -1
  331. package/lit/decorators/index.js +1 -21
  332. package/lit/decorators/index.js.map +1 -1
  333. package/lit/decorators/require-service.js +1 -21
  334. package/lit/decorators/require-service.js.map +1 -1
  335. package/lit/elements/application-element.js +1 -21
  336. package/lit/elements/application-element.js.map +1 -1
  337. package/lit/elements/application-host.js +1 -21
  338. package/lit/elements/application-host.js.map +1 -1
  339. package/lit/elements/database-element.d.ts +10 -0
  340. package/lit/elements/database-element.js +40 -0
  341. package/lit/elements/database-element.js.map +1 -0
  342. package/lit/elements/index.d.ts +1 -0
  343. package/lit/elements/index.js +2 -21
  344. package/lit/elements/index.js.map +1 -1
  345. package/lit/functions/index.js +1 -21
  346. package/lit/functions/index.js.map +1 -1
  347. package/lit/functions/iterate-self-and-ancestors.js +1 -21
  348. package/lit/functions/iterate-self-and-ancestors.js.map +1 -1
  349. package/lit/hooks/attach-decorator.js +1 -21
  350. package/lit/hooks/attach-decorator.js.map +1 -1
  351. package/lit/hooks/component/component.js +1 -21
  352. package/lit/hooks/component/component.js.map +1 -1
  353. package/lit/hooks/component/stack.js +1 -21
  354. package/lit/hooks/component/stack.js.map +1 -1
  355. package/lit/hooks/index.js +1 -21
  356. package/lit/hooks/index.js.map +1 -1
  357. package/lit/hooks/use-connected.js +1 -21
  358. package/lit/hooks/use-connected.js.map +1 -1
  359. package/lit/hooks/use-debounce.js +1 -21
  360. package/lit/hooks/use-debounce.js.map +1 -1
  361. package/lit/hooks/use-drag-observe.js +1 -21
  362. package/lit/hooks/use-drag-observe.js.map +1 -1
  363. package/lit/hooks/use-drag-transaction.js +1 -21
  364. package/lit/hooks/use-drag-transaction.js.map +1 -1
  365. package/lit/hooks/use-draggable.js +1 -21
  366. package/lit/hooks/use-draggable.js.map +1 -1
  367. package/lit/hooks/use-effect.js +1 -21
  368. package/lit/hooks/use-effect.js.map +1 -1
  369. package/lit/hooks/use-element.js +1 -21
  370. package/lit/hooks/use-element.js.map +1 -1
  371. package/lit/hooks/use-memo.js +1 -21
  372. package/lit/hooks/use-memo.js.map +1 -1
  373. package/lit/hooks/use-observable-values.js +1 -21
  374. package/lit/hooks/use-observable-values.js.map +1 -1
  375. package/lit/hooks/use-observable.js +1 -21
  376. package/lit/hooks/use-observable.js.map +1 -1
  377. package/lit/hooks/use-ref.js +1 -21
  378. package/lit/hooks/use-ref.js.map +1 -1
  379. package/lit/hooks/use-resize-observer.js +1 -21
  380. package/lit/hooks/use-resize-observer.js.map +1 -1
  381. package/lit/hooks/use-state.js +1 -21
  382. package/lit/hooks/use-state.js.map +1 -1
  383. package/lit/hooks/use-updated.js +1 -21
  384. package/lit/hooks/use-updated.js.map +1 -1
  385. package/lit/hooks/use-window-event.js +1 -21
  386. package/lit/hooks/use-window-event.js.map +1 -1
  387. package/lit/hooks/with-hooks.js +1 -21
  388. package/lit/hooks/with-hooks.js.map +1 -1
  389. package/lit/index.js +1 -21
  390. package/lit/index.js.map +1 -1
  391. package/math/aabb/center.js.map +1 -1
  392. package/math/aabb/face/aabb-face.test.js +1 -21
  393. package/math/aabb/face/aabb-face.test.js.map +1 -1
  394. package/math/aabb/face/functions.js +1 -21
  395. package/math/aabb/face/functions.js.map +1 -1
  396. package/math/aabb/face/index.js +1 -21
  397. package/math/aabb/face/index.js.map +1 -1
  398. package/math/aabb/face/public.js +1 -21
  399. package/math/aabb/face/public.js.map +1 -1
  400. package/math/aabb/face/schema.js +1 -21
  401. package/math/aabb/face/schema.js.map +1 -1
  402. package/math/aabb/index.js +1 -21
  403. package/math/aabb/index.js.map +1 -1
  404. package/math/aabb/layout.js +1 -21
  405. package/math/aabb/layout.js.map +1 -1
  406. package/math/aabb/line-intersection.js.map +1 -1
  407. package/math/aabb/line-intersection.test.js +1 -21
  408. package/math/aabb/line-intersection.test.js.map +1 -1
  409. package/math/aabb/public.js +1 -21
  410. package/math/aabb/public.js.map +1 -1
  411. package/math/aabb/schema.js +1 -21
  412. package/math/aabb/schema.js.map +1 -1
  413. package/math/aabb/unit.js.map +1 -1
  414. package/math/constants.js +1 -21
  415. package/math/constants.js.map +1 -1
  416. package/math/f32/index.js +1 -21
  417. package/math/f32/index.js.map +1 -1
  418. package/math/f32/public.js +1 -21
  419. package/math/f32/public.js.map +1 -1
  420. package/math/f32/schema.js +1 -21
  421. package/math/f32/schema.js.map +1 -1
  422. package/math/f64/index.js.map +1 -1
  423. package/math/f64/public.js +1 -21
  424. package/math/f64/public.js.map +1 -1
  425. package/math/f64/schema.js.map +1 -1
  426. package/math/i32/index.js +1 -21
  427. package/math/i32/index.js.map +1 -1
  428. package/math/i32/public.js +1 -21
  429. package/math/i32/public.js.map +1 -1
  430. package/math/i32/schema.js +1 -21
  431. package/math/i32/schema.js.map +1 -1
  432. package/math/index.js +1 -21
  433. package/math/index.js.map +1 -1
  434. package/math/line2/functions.js +1 -21
  435. package/math/line2/functions.js.map +1 -1
  436. package/math/line2/index.js +1 -21
  437. package/math/line2/index.js.map +1 -1
  438. package/math/line2/intersects.test.js +1 -21
  439. package/math/line2/intersects.test.js.map +1 -1
  440. package/math/line2/layout.js +1 -21
  441. package/math/line2/layout.js.map +1 -1
  442. package/math/line2/public.js +1 -21
  443. package/math/line2/public.js.map +1 -1
  444. package/math/line2/schema.js +1 -21
  445. package/math/line2/schema.js.map +1 -1
  446. package/math/line3/closest-point-on-line.test.js +1 -21
  447. package/math/line3/closest-point-on-line.test.js.map +1 -1
  448. package/math/line3/functions.js +1 -21
  449. package/math/line3/functions.js.map +1 -1
  450. package/math/line3/index.js +1 -21
  451. package/math/line3/index.js.map +1 -1
  452. package/math/line3/interpolate.test.js +1 -21
  453. package/math/line3/interpolate.test.js.map +1 -1
  454. package/math/line3/layout.js +1 -21
  455. package/math/line3/layout.js.map +1 -1
  456. package/math/line3/public.js +1 -21
  457. package/math/line3/public.js.map +1 -1
  458. package/math/line3/schema.js +1 -21
  459. package/math/line3/schema.js.map +1 -1
  460. package/math/line3/sub-line.test.js +1 -21
  461. package/math/line3/sub-line.test.js.map +1 -1
  462. package/math/mat4x4/functions.js +1 -21
  463. package/math/mat4x4/functions.js.map +1 -1
  464. package/math/mat4x4/index.js +1 -21
  465. package/math/mat4x4/index.js.map +1 -1
  466. package/math/mat4x4/layout.js +1 -21
  467. package/math/mat4x4/layout.js.map +1 -1
  468. package/math/mat4x4/public.js +1 -21
  469. package/math/mat4x4/public.js.map +1 -1
  470. package/math/mat4x4/schema.js +1 -21
  471. package/math/mat4x4/schema.js.map +1 -1
  472. package/math/plane/functions.js +1 -21
  473. package/math/plane/functions.js.map +1 -1
  474. package/math/plane/index.js +1 -21
  475. package/math/plane/index.js.map +1 -1
  476. package/math/plane/layout.js +1 -21
  477. package/math/plane/layout.js.map +1 -1
  478. package/math/plane/plane.test.js +1 -21
  479. package/math/plane/plane.test.js.map +1 -1
  480. package/math/plane/public.js +1 -21
  481. package/math/plane/public.js.map +1 -1
  482. package/math/plane/schema.js +1 -21
  483. package/math/plane/schema.js.map +1 -1
  484. package/math/quat/constants/functions.js +1 -21
  485. package/math/quat/constants/functions.js.map +1 -1
  486. package/math/quat/functions.js +1 -21
  487. package/math/quat/functions.js.map +1 -1
  488. package/math/quat/index.js +1 -21
  489. package/math/quat/index.js.map +1 -1
  490. package/math/quat/layout.js +1 -21
  491. package/math/quat/layout.js.map +1 -1
  492. package/math/quat/public.js +1 -21
  493. package/math/quat/public.js.map +1 -1
  494. package/math/quat/schema.js +1 -21
  495. package/math/quat/schema.js.map +1 -1
  496. package/math/u32/index.js +1 -21
  497. package/math/u32/index.js.map +1 -1
  498. package/math/u32/public.js +1 -21
  499. package/math/u32/public.js.map +1 -1
  500. package/math/u32/schema.js +1 -21
  501. package/math/u32/schema.js.map +1 -1
  502. package/math/vec2/functions.js +1 -21
  503. package/math/vec2/functions.js.map +1 -1
  504. package/math/vec2/index.js +1 -21
  505. package/math/vec2/index.js.map +1 -1
  506. package/math/vec2/layout.js +1 -21
  507. package/math/vec2/layout.js.map +1 -1
  508. package/math/vec2/public.js +1 -21
  509. package/math/vec2/public.js.map +1 -1
  510. package/math/vec2/schema.js +1 -21
  511. package/math/vec2/schema.js.map +1 -1
  512. package/math/vec3/functions.js +1 -21
  513. package/math/vec3/functions.js.map +1 -1
  514. package/math/vec3/index.js +1 -21
  515. package/math/vec3/index.js.map +1 -1
  516. package/math/vec3/layout.js +1 -21
  517. package/math/vec3/layout.js.map +1 -1
  518. package/math/vec3/public.js +1 -21
  519. package/math/vec3/public.js.map +1 -1
  520. package/math/vec3/schema.js +1 -21
  521. package/math/vec3/schema.js.map +1 -1
  522. package/math/vec4/functions.js +1 -21
  523. package/math/vec4/functions.js.map +1 -1
  524. package/math/vec4/index.js +1 -21
  525. package/math/vec4/index.js.map +1 -1
  526. package/math/vec4/layout.js +1 -21
  527. package/math/vec4/layout.js.map +1 -1
  528. package/math/vec4/public.js +1 -21
  529. package/math/vec4/public.js.map +1 -1
  530. package/math/vec4/schema.js +1 -21
  531. package/math/vec4/schema.js.map +1 -1
  532. package/mutable-clone.js +1 -21
  533. package/mutable-clone.js.map +1 -1
  534. package/mutable.js +1 -21
  535. package/mutable.js.map +1 -1
  536. package/normalize.js +1 -21
  537. package/normalize.js.map +1 -1
  538. package/normalize.test.js +1 -21
  539. package/normalize.test.js.map +1 -1
  540. package/observe/create-event.js.map +1 -1
  541. package/observe/create-persisted-state.js.map +1 -1
  542. package/observe/create-persisted-state.test.js +1 -21
  543. package/observe/create-persisted-state.test.js.map +1 -1
  544. package/observe/create-query-state.js +1 -21
  545. package/observe/create-query-state.js.map +1 -1
  546. package/observe/create-state.js.map +1 -1
  547. package/observe/from-array.js +1 -21
  548. package/observe/from-array.js.map +1 -1
  549. package/observe/from-constant.js.map +1 -1
  550. package/observe/from-element-id.js +1 -21
  551. package/observe/from-element-id.js.map +1 -1
  552. package/observe/from-element-properties-and-events.js.map +1 -1
  553. package/observe/from-element-property.js +1 -21
  554. package/observe/from-element-property.js.map +1 -1
  555. package/observe/from-promise-with-error.js.map +1 -1
  556. package/observe/from-promise.js.map +1 -1
  557. package/observe/from-properties.js.map +1 -1
  558. package/observe/index.js +1 -21
  559. package/observe/index.js.map +1 -1
  560. package/observe/observe.test.js +1 -21
  561. package/observe/observe.test.js.map +1 -1
  562. package/observe/public.js +1 -21
  563. package/observe/public.js.map +1 -1
  564. package/observe/to-async-generator.js +1 -21
  565. package/observe/to-async-generator.js.map +1 -1
  566. package/observe/to-async-generator.test.js +1 -21
  567. package/observe/to-async-generator.test.js.map +1 -1
  568. package/observe/to-promise.js.map +1 -1
  569. package/observe/to-properties.js.map +1 -1
  570. package/observe/with-async-map.js.map +1 -1
  571. package/observe/with-batch.js.map +1 -1
  572. package/observe/with-batch.test.js +1 -21
  573. package/observe/with-batch.test.js.map +1 -1
  574. package/observe/with-cache.js.map +1 -1
  575. package/observe/with-copy.js.map +1 -1
  576. package/observe/with-deduplicate-data.js.map +1 -1
  577. package/observe/with-deduplicate.js.map +1 -1
  578. package/observe/with-default.js.map +1 -1
  579. package/observe/with-filter.js.map +1 -1
  580. package/observe/with-filter.test.js +1 -21
  581. package/observe/with-filter.test.js.map +1 -1
  582. package/observe/with-lazy.js.map +1 -1
  583. package/observe/with-lazy.test.js +1 -21
  584. package/observe/with-lazy.test.js.map +1 -1
  585. package/observe/with-map-data.js +1 -21
  586. package/observe/with-map-data.js.map +1 -1
  587. package/observe/with-map.js.map +1 -1
  588. package/observe/with-optional.js.map +1 -1
  589. package/observe/with-unwrap.js.map +1 -1
  590. package/old-ecs/action-ecs/action-ecs.js +1 -21
  591. package/old-ecs/action-ecs/action-ecs.js.map +1 -1
  592. package/old-ecs/action-ecs/action-ecs.test.js +1 -21
  593. package/old-ecs/action-ecs/action-ecs.test.js.map +1 -1
  594. package/old-ecs/action-ecs/action-types.js.map +1 -1
  595. package/old-ecs/action-ecs/index.js +1 -21
  596. package/old-ecs/action-ecs/index.js.map +1 -1
  597. package/old-ecs/action-ecs/sequential-action.js +1 -21
  598. package/old-ecs/action-ecs/sequential-action.js.map +1 -1
  599. package/old-ecs/core-ecs/core-ecs-serialization.test.js +1 -21
  600. package/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
  601. package/old-ecs/core-ecs/core-ecs-types.js +1 -21
  602. package/old-ecs/core-ecs/core-ecs-types.js.map +1 -1
  603. package/old-ecs/core-ecs/core-ecs.js +1 -21
  604. package/old-ecs/core-ecs/core-ecs.js.map +1 -1
  605. package/old-ecs/core-ecs/core-ecs.test.js +1 -21
  606. package/old-ecs/core-ecs/core-ecs.test.js.map +1 -1
  607. package/old-ecs/ecs/ecs-types.js +1 -21
  608. package/old-ecs/ecs/ecs-types.js.map +1 -1
  609. package/old-ecs/ecs/ecs-where-functions.js +1 -21
  610. package/old-ecs/ecs/ecs-where-functions.js.map +1 -1
  611. package/old-ecs/ecs/ecs.js.map +1 -1
  612. package/old-ecs/ecs/ecs.test.js +1 -21
  613. package/old-ecs/ecs/ecs.test.js.map +1 -1
  614. package/old-ecs/ecs/index.js +1 -21
  615. package/old-ecs/ecs/index.js.map +1 -1
  616. package/old-ecs/entity.js.map +1 -1
  617. package/old-ecs/index.js +1 -21
  618. package/old-ecs/index.js.map +1 -1
  619. package/old-ecs/transaction-ecs/index.js +1 -21
  620. package/old-ecs/transaction-ecs/index.js.map +1 -1
  621. package/old-ecs/transaction-ecs/transaction-ecs.js.map +1 -1
  622. package/old-ecs/transaction-ecs/transaction-ecs.test.js +1 -21
  623. package/old-ecs/transaction-ecs/transaction-ecs.test.js.map +1 -1
  624. package/old-ecs/transaction-ecs/transactions.js +1 -21
  625. package/old-ecs/transaction-ecs/transactions.js.map +1 -1
  626. package/package.json +3 -3
  627. package/perftest/ecs-perf.js +1 -21
  628. package/perftest/ecs-perf.js.map +1 -1
  629. package/perftest/helper-functions.js +1 -21
  630. package/perftest/helper-functions.js.map +1 -1
  631. package/perftest/horizon-perf.js +1 -21
  632. package/perftest/horizon-perf.js.map +1 -1
  633. package/perftest/index.js +1 -21
  634. package/perftest/index.js.map +1 -1
  635. package/perftest/perf-test.js.map +1 -1
  636. package/perftest/vanilla-perf.js +1 -21
  637. package/perftest/vanilla-perf.js.map +1 -1
  638. package/samples/index.js +1 -21
  639. package/samples/index.js.map +1 -1
  640. package/samples/todo/elements/todo-list/todo-list-presentation.js.map +1 -1
  641. package/samples/todo/elements/todo-list/todo-list.css.js +1 -21
  642. package/samples/todo/elements/todo-list/todo-list.css.js.map +1 -1
  643. package/samples/todo/elements/todo-list/todo-list.js +1 -21
  644. package/samples/todo/elements/todo-list/todo-list.js.map +1 -1
  645. package/samples/todo/elements/todo-row/index.js +1 -21
  646. package/samples/todo/elements/todo-row/index.js.map +1 -1
  647. package/samples/todo/elements/todo-row/todo-row-presentation.js +1 -21
  648. package/samples/todo/elements/todo-row/todo-row-presentation.js.map +1 -1
  649. package/samples/todo/elements/todo-row/todo-row.css.js +1 -21
  650. package/samples/todo/elements/todo-row/todo-row.css.js.map +1 -1
  651. package/samples/todo/elements/todo-row/todo-row.js +1 -21
  652. package/samples/todo/elements/todo-row/todo-row.js.map +1 -1
  653. package/samples/todo/elements/todo-toolbar/index.js +1 -21
  654. package/samples/todo/elements/todo-toolbar/index.js.map +1 -1
  655. package/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js +1 -21
  656. package/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js.map +1 -1
  657. package/samples/todo/elements/todo-toolbar/todo-toolbar.css.js +1 -21
  658. package/samples/todo/elements/todo-toolbar/todo-toolbar.css.js.map +1 -1
  659. package/samples/todo/elements/todo-toolbar/todo-toolbar.js +1 -21
  660. package/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -1
  661. package/samples/todo/elements/todo-undo-redo/index.js +1 -21
  662. package/samples/todo/elements/todo-undo-redo/index.js.map +1 -1
  663. package/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js +1 -21
  664. package/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js.map +1 -1
  665. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js +1 -21
  666. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js.map +1 -1
  667. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.js +1 -21
  668. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.js.map +1 -1
  669. package/samples/todo/services/dependent-state-service/create-dependent-state-service.js +1 -21
  670. package/samples/todo/services/dependent-state-service/create-dependent-state-service.js.map +1 -1
  671. package/samples/todo/services/dependent-state-service/dependent-state/all-todos.js.map +1 -1
  672. package/samples/todo/services/dependent-state-service/dependent-state/complete-todos.js.map +1 -1
  673. package/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.js.map +1 -1
  674. package/samples/todo/services/dependent-state-service/dependent-state/index.js +1 -21
  675. package/samples/todo/services/dependent-state-service/dependent-state/index.js.map +1 -1
  676. package/samples/todo/services/main-service/create-main-service.js.map +1 -1
  677. package/samples/todo/services/state-service/create-todo-database.d.ts +1 -1
  678. package/samples/todo/services/state-service/create-todo-database.js +1 -21
  679. package/samples/todo/services/state-service/create-todo-database.js.map +1 -1
  680. package/samples/todo/services/state-service/create-todo-store.d.ts +1 -1
  681. package/samples/todo/services/state-service/create-todo-store.js +1 -21
  682. package/samples/todo/services/state-service/create-todo-store.js.map +1 -1
  683. package/samples/todo/services/state-service/transactions/create-bulk-todos.js +1 -21
  684. package/samples/todo/services/state-service/transactions/create-bulk-todos.js.map +1 -1
  685. package/samples/todo/services/state-service/transactions/create-todo.js.map +1 -1
  686. package/samples/todo/services/state-service/transactions/create-todo.test.js +1 -21
  687. package/samples/todo/services/state-service/transactions/create-todo.test.js.map +1 -1
  688. package/samples/todo/services/state-service/transactions/delete-all-todos.js.map +1 -1
  689. package/samples/todo/services/state-service/transactions/delete-todo.js +1 -21
  690. package/samples/todo/services/state-service/transactions/delete-todo.js.map +1 -1
  691. package/samples/todo/services/state-service/transactions/delete-todo.test.js +1 -21
  692. package/samples/todo/services/state-service/transactions/delete-todo.test.js.map +1 -1
  693. package/samples/todo/services/state-service/transactions/drag-todo.js +1 -21
  694. package/samples/todo/services/state-service/transactions/drag-todo.js.map +1 -1
  695. package/samples/todo/services/state-service/transactions/index.js +1 -21
  696. package/samples/todo/services/state-service/transactions/index.js.map +1 -1
  697. package/samples/todo/services/state-service/transactions/reorder-todos.js.map +1 -1
  698. package/samples/todo/services/state-service/transactions/toggle-complete.js.map +1 -1
  699. package/samples/todo/services/state-service/transactions/toggle-complete.test.js +1 -21
  700. package/samples/todo/services/state-service/transactions/toggle-complete.test.js.map +1 -1
  701. package/samples/todo/todo-element.js.map +1 -1
  702. package/samples/todo/todo-host.js +1 -21
  703. package/samples/todo/todo-host.js.map +1 -1
  704. package/samples/todo/todo-main-element.js +1 -21
  705. package/samples/todo/todo-main-element.js.map +1 -1
  706. package/samples/todo/todo-sample.js +1 -21
  707. package/samples/todo/todo-sample.js.map +1 -1
  708. package/schema/boolean/index.js +1 -21
  709. package/schema/boolean/index.js.map +1 -1
  710. package/schema/boolean/public.js +1 -21
  711. package/schema/boolean/public.js.map +1 -1
  712. package/schema/boolean/schema.js.map +1 -1
  713. package/schema/dynamic/deep-merge.js.map +1 -1
  714. package/schema/dynamic/deep-merge.test.js +1 -21
  715. package/schema/dynamic/deep-merge.test.js.map +1 -1
  716. package/schema/dynamic/enumerate-patches.js.map +1 -1
  717. package/schema/dynamic/enumerate-patches.test.js +1 -21
  718. package/schema/dynamic/enumerate-patches.test.js.map +1 -1
  719. package/schema/dynamic/get-dynamic-schema.js +1 -21
  720. package/schema/dynamic/get-dynamic-schema.js.map +1 -1
  721. package/schema/dynamic/get-dynamic-schema.test.js +1 -21
  722. package/schema/dynamic/get-dynamic-schema.test.js.map +1 -1
  723. package/schema/dynamic/index.js +1 -21
  724. package/schema/dynamic/index.js.map +1 -1
  725. package/schema/index.js +1 -21
  726. package/schema/index.js.map +1 -1
  727. package/schema/nullable.js.map +1 -1
  728. package/schema/public.js +1 -21
  729. package/schema/public.js.map +1 -1
  730. package/schema/schema.js +1 -21
  731. package/schema/schema.js.map +1 -1
  732. package/schema/time/index.js +1 -21
  733. package/schema/time/index.js.map +1 -1
  734. package/schema/time/public.js +1 -21
  735. package/schema/time/public.js.map +1 -1
  736. package/schema/time/schema.js +1 -21
  737. package/schema/time/schema.js.map +1 -1
  738. package/schema/to-type.js +1 -21
  739. package/schema/to-type.js.map +1 -1
  740. package/schema/to-vertex-buffer-layout.js +1 -21
  741. package/schema/to-vertex-buffer-layout.js.map +1 -1
  742. package/schema/to-vertex-buffer-layout.test.js +1 -21
  743. package/schema/to-vertex-buffer-layout.test.js.map +1 -1
  744. package/schema/true/index.js +1 -21
  745. package/schema/true/index.js.map +1 -1
  746. package/schema/true/public.js +1 -21
  747. package/schema/true/public.js.map +1 -1
  748. package/schema/true/schema.js.map +1 -1
  749. package/schema/tuple.js +1 -21
  750. package/schema/tuple.js.map +1 -1
  751. package/schema/validation/index.js +1 -21
  752. package/schema/validation/index.js.map +1 -1
  753. package/schema/validation/is-valid.js.map +1 -1
  754. package/schema/validation/is-valid.test.js +1 -21
  755. package/schema/validation/is-valid.test.js.map +1 -1
  756. package/schema/validation/validate.js +1 -21
  757. package/schema/validation/validate.js.map +1 -1
  758. package/schema/validation/validate.test.js +1 -21
  759. package/schema/validation/validate.test.js.map +1 -1
  760. package/schema/validation/with-validation.js.map +1 -1
  761. package/schema/validation/with-validation.test.js +1 -21
  762. package/schema/validation/with-validation.test.js.map +1 -1
  763. package/schema.test.js.map +1 -1
  764. package/service/add-observable-actions.js +1 -21
  765. package/service/add-observable-actions.js.map +1 -1
  766. package/service/disposable.js +1 -21
  767. package/service/disposable.js.map +1 -1
  768. package/service/index.js +1 -21
  769. package/service/index.js.map +1 -1
  770. package/service/is-service.js +1 -21
  771. package/service/is-service.js.map +1 -1
  772. package/service/progressive-result.js +1 -21
  773. package/service/progressive-result.js.map +1 -1
  774. package/service/service.js +1 -21
  775. package/service/service.js.map +1 -1
  776. package/table/add-row.js +1 -21
  777. package/table/add-row.js.map +1 -1
  778. package/table/copy-column-to-gpu-buffer.js +1 -21
  779. package/table/copy-column-to-gpu-buffer.js.map +1 -1
  780. package/table/create-table.js +1 -21
  781. package/table/create-table.js.map +1 -1
  782. package/table/create-table.test.js +1 -21
  783. package/table/create-table.test.js.map +1 -1
  784. package/table/delete-row.js.map +1 -1
  785. package/table/ensure-capacity.js.map +1 -1
  786. package/table/get-row-data.js.map +1 -1
  787. package/table/index.js +1 -21
  788. package/table/index.js.map +1 -1
  789. package/table/row-index.js.map +1 -1
  790. package/table/select-rows.js.map +1 -1
  791. package/table/select-rows.test.js +1 -21
  792. package/table/select-rows.test.js.map +1 -1
  793. package/table/table-compact.test.js +1 -21
  794. package/table/table-compact.test.js.map +1 -1
  795. package/table/table.js.map +1 -1
  796. package/table/update-row.js.map +1 -1
  797. package/tsconfig.tsbuildinfo +1 -1
  798. package/typed-buffer/copy-to-gpu-buffer.js +1 -21
  799. package/typed-buffer/copy-to-gpu-buffer.js.map +1 -1
  800. package/typed-buffer/create-array-buffer.js +10 -0
  801. package/typed-buffer/create-array-buffer.js.map +1 -1
  802. package/typed-buffer/create-array-buffer.test.js +51 -21
  803. package/typed-buffer/create-array-buffer.test.js.map +1 -1
  804. package/typed-buffer/create-const-buffer.copy.test.js +1 -21
  805. package/typed-buffer/create-const-buffer.copy.test.js.map +1 -1
  806. package/typed-buffer/create-const-buffer.js +3 -0
  807. package/typed-buffer/create-const-buffer.js.map +1 -1
  808. package/typed-buffer/create-const-buffer.test.js +25 -21
  809. package/typed-buffer/create-const-buffer.test.js.map +1 -1
  810. package/typed-buffer/create-number-buffer.js +5 -21
  811. package/typed-buffer/create-number-buffer.js.map +1 -1
  812. package/typed-buffer/create-number-buffer.test.js +39 -21
  813. package/typed-buffer/create-number-buffer.test.js.map +1 -1
  814. package/typed-buffer/create-struct-buffer.copy.test.js +1 -21
  815. package/typed-buffer/create-struct-buffer.copy.test.js.map +1 -1
  816. package/typed-buffer/create-struct-buffer.js +12 -21
  817. package/typed-buffer/create-struct-buffer.js.map +1 -1
  818. package/typed-buffer/create-struct-buffer.test.js +61 -21
  819. package/typed-buffer/create-struct-buffer.test.js.map +1 -1
  820. package/typed-buffer/create-typed-buffer.js.map +1 -1
  821. package/typed-buffer/create-typed-buffer.test.js +1 -21
  822. package/typed-buffer/create-typed-buffer.test.js.map +1 -1
  823. package/typed-buffer/index.js +1 -21
  824. package/typed-buffer/index.js.map +1 -1
  825. package/typed-buffer/is-typed-buffer.js +1 -21
  826. package/typed-buffer/is-typed-buffer.js.map +1 -1
  827. package/typed-buffer/is-typed-buffer.test.js +1 -21
  828. package/typed-buffer/is-typed-buffer.test.js.map +1 -1
  829. package/typed-buffer/register-typed-buffer-codecs.js +1 -21
  830. package/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
  831. package/typed-buffer/structs/assert-struct.js.map +1 -1
  832. package/typed-buffer/structs/create-read-struct.js +1 -21
  833. package/typed-buffer/structs/create-read-struct.js.map +1 -1
  834. package/typed-buffer/structs/create-read-struct.test.js +1 -21
  835. package/typed-buffer/structs/create-read-struct.test.js.map +1 -1
  836. package/typed-buffer/structs/create-write-struct.js +1 -21
  837. package/typed-buffer/structs/create-write-struct.js.map +1 -1
  838. package/typed-buffer/structs/get-field-offset.js.map +1 -1
  839. package/typed-buffer/structs/get-struct-layout.js +1 -21
  840. package/typed-buffer/structs/get-struct-layout.js.map +1 -1
  841. package/typed-buffer/structs/get-struct-layout.test.js +1 -21
  842. package/typed-buffer/structs/get-struct-layout.test.js.map +1 -1
  843. package/typed-buffer/structs/index.js +1 -21
  844. package/typed-buffer/structs/index.js.map +1 -1
  845. package/typed-buffer/structs/write-struct.test.js +1 -21
  846. package/typed-buffer/structs/write-struct.test.js.map +1 -1
  847. package/typed-buffer/typed-buffer-equals.js +1 -21
  848. package/typed-buffer/typed-buffer-equals.js.map +1 -1
  849. package/typed-buffer/typed-buffer-equals.test.js +1 -21
  850. package/typed-buffer/typed-buffer-equals.test.js.map +1 -1
  851. package/typed-buffer/typed-buffer.d.ts +2 -0
  852. package/typed-buffer/typed-buffer.js.map +1 -1
  853. package/typed-buffer/typed-buffer.test.js +1 -21
  854. package/typed-buffer/typed-buffer.test.js.map +1 -1
  855. package/types/index.js +1 -21
  856. package/types/index.js.map +1 -1
  857. package/types/replace.js.map +1 -1
  858. package/types/typed-array.js +1 -21
  859. package/types/typed-array.js.map +1 -1
  860. package/types/types.js +1 -21
  861. package/types/types.js.map +1 -1
  862. package/assembly/package.json +0 -1
  863. package/blob/package.json +0 -1
  864. package/cache/package.json +0 -1
  865. package/debug-type-test.js +0 -12
  866. package/debug-type-test.js.map +0 -1
  867. package/ecs/database/archetype-type-safety-test.d.ts +0 -21
  868. package/ecs/database/archetype-type-safety-test.js +0 -36
  869. package/ecs/database/archetype-type-safety-test.js.map +0 -1
  870. package/ecs/database/create-database-schema-test.js +0 -150
  871. package/ecs/database/create-database-schema-test.js.map +0 -1
  872. package/ecs/database/create-plugin-v2.d.ts +0 -79
  873. package/ecs/database/create-plugin-v2.js +0 -68
  874. package/ecs/database/create-plugin-v2.js.map +0 -1
  875. package/ecs/database/create-plugin-v2.test.js +0 -362
  876. package/ecs/database/create-plugin-v2.test.js.map +0 -1
  877. package/ecs/database/create-plugin.OLD.d.ts +0 -138
  878. package/ecs/database/create-plugin.OLD.js +0 -59
  879. package/ecs/database/create-plugin.OLD.js.map +0 -1
  880. package/ecs/database/database-with-systems.test.js +0 -292
  881. package/ecs/database/database-with-systems.test.js.map +0 -1
  882. package/ecs/database/database.plugin.create.test.OLD.js +0 -601
  883. package/ecs/database/database.plugin.create.test.OLD.js.map +0 -1
  884. package/ecs/database/database.plugin.create.test.js +0 -321
  885. package/ecs/database/database.plugin.create.test.js.map +0 -1
  886. package/ecs/database/database.plugin.test.js +0 -90
  887. package/ecs/database/database.plugin.test.js.map +0 -1
  888. package/ecs/database/database.test copy.d.ts +0 -1
  889. package/ecs/database/database.test copy.js +0 -199
  890. package/ecs/database/database.test copy.js.map +0 -1
  891. package/ecs/database/multi-param-inference-poc.test.d.ts +0 -1
  892. package/ecs/database/multi-param-inference-poc.test.js +0 -96
  893. package/ecs/database/multi-param-inference-poc.test.js.map +0 -1
  894. package/ecs/database/old-plugin-create-with-dependencies-array.d.ts +0 -61
  895. package/ecs/database/old-plugin-create-with-dependencies-array.js +0 -76
  896. package/ecs/database/old-plugin-create-with-dependencies-array.js.map +0 -1
  897. package/ecs/database/overload-inference-poc.test.d.ts +0 -1
  898. package/ecs/database/overload-inference-poc.test.js +0 -109
  899. package/ecs/database/overload-inference-poc.test.js.map +0 -1
  900. package/ecs/database/schedule-type-check-demo.d.ts +0 -10
  901. package/ecs/database/schedule-type-check-demo.js +0 -71
  902. package/ecs/database/schedule-type-check-demo.js.map +0 -1
  903. package/ecs/database/test-archetype-validation.d.ts +0 -9
  904. package/ecs/database/test-archetype-validation.js +0 -14
  905. package/ecs/database/test-archetype-validation.js.map +0 -1
  906. package/ecs/database/test-exactkeys.d.ts +0 -1
  907. package/ecs/database/test-exactkeys.js +0 -17
  908. package/ecs/database/test-exactkeys.js.map +0 -1
  909. package/ecs/database/transactional-store/coalesce-transactions.test.js +0 -433
  910. package/ecs/database/transactional-store/coalesce-transactions.test.js.map +0 -1
  911. package/ecs/database/type-inference-demo.d.ts +0 -75
  912. package/ecs/database/type-inference-demo.js +0 -73
  913. package/ecs/database/type-inference-demo.js.map +0 -1
  914. package/ecs/database/type-inference-poc.test.d.ts +0 -1
  915. package/ecs/database/type-inference-poc.test.js +0 -73
  916. package/ecs/database/type-inference-poc.test.js.map +0 -1
  917. package/ecs/package.json +0 -1
  918. package/ecs/plugins/scheduler/create-scheduler-plugin.d.ts +0 -8
  919. package/ecs/plugins/scheduler/create-scheduler-plugin.js +0 -54
  920. package/ecs/plugins/scheduler/create-scheduler-plugin.js.map +0 -1
  921. package/ecs/plugins/scheduler/create-scheduler-plugin.test.d.ts +0 -1
  922. package/ecs/plugins/scheduler/create-scheduler-plugin.test.js +0 -198
  923. package/ecs/plugins/scheduler/create-scheduler-plugin.test.js.map +0 -1
  924. package/ecs/plugins/scheduler/type-inference-test.d.ts +0 -1
  925. package/ecs/plugins/scheduler/type-inference-test.js +0 -2
  926. package/ecs/plugins/scheduler/type-inference-test.js.map +0 -1
  927. package/ecs/store/entity-functions.d.ts +0 -7
  928. package/ecs/store/entity-functions.js +0 -2
  929. package/ecs/store/entity-functions.js.map +0 -1
  930. package/ecs/store/functions.d.ts +0 -2
  931. package/ecs/store/functions.js +0 -2
  932. package/ecs/store/functions.js.map +0 -1
  933. package/ecs/system/system-declaration.d.ts +0 -7
  934. package/ecs/system/system-declaration.js +0 -23
  935. package/ecs/system/system-declaration.js.map +0 -1
  936. package/ecs/system/system-declarations.d.ts +0 -4
  937. package/ecs/system/system-declarations.js +0 -23
  938. package/ecs/system/system-declarations.js.map +0 -1
  939. package/ecs/system/system-factory/public/create copy.d.ts +0 -12
  940. package/ecs/system/system-factory/public/create copy.js +0 -8
  941. package/ecs/system/system-factory/public/create copy.js.map +0 -1
  942. package/ecs/system/system-factory/public/create.d.ts +0 -12
  943. package/ecs/system/system-factory/public/create.js +0 -8
  944. package/ecs/system/system-factory/public/create.js.map +0 -1
  945. package/ecs/system/system-factory/public/create.test.d.ts +0 -1
  946. package/ecs/system/system-factory/public/create.test.js +0 -42
  947. package/ecs/system/system-factory/public/create.test.js.map +0 -1
  948. package/ecs/system/system-factory/public/index.d.ts +0 -1
  949. package/ecs/system/system-factory/public/index.js +0 -2
  950. package/ecs/system/system-factory/public/index.js.map +0 -1
  951. package/ecs/system/system-factory/system-factory.d.ts +0 -17
  952. package/ecs/system/system-factory/system-factory.js +0 -23
  953. package/ecs/system/system-factory/system-factory.js.map +0 -1
  954. package/ecs/system/system-factory.d.ts +0 -9
  955. package/ecs/system/system-factory.js +0 -23
  956. package/ecs/system/system-factory.js.map +0 -1
  957. package/ecs/system/system-interface.d.ts +0 -5
  958. package/ecs/system/system-interface.js +0 -2
  959. package/ecs/system/system-interface.js.map +0 -1
  960. package/ecs/system/system.d.ts +0 -4
  961. package/ecs/system/system.js +0 -23
  962. package/ecs/system/system.js.map +0 -1
  963. package/ecs/system/systems-type.d.ts +0 -2
  964. package/ecs/system/systems-type.js +0 -2
  965. package/ecs/system/systems-type.js.map +0 -1
  966. package/ecs/system/systems.d.ts +0 -2
  967. package/ecs/system/systems.js +0 -23
  968. package/ecs/system/systems.js.map +0 -1
  969. package/ecs/system/world-schema/public/create.d.ts +0 -12
  970. package/ecs/system/world-schema/public/create.js +0 -8
  971. package/ecs/system/world-schema/public/create.js.map +0 -1
  972. package/ecs/system/world-schema/public/create.test.d.ts +0 -1
  973. package/ecs/system/world-schema/public/create.test.js +0 -42
  974. package/ecs/system/world-schema/public/create.test.js.map +0 -1
  975. package/ecs/system/world-schema/public/index.d.ts +0 -1
  976. package/ecs/system/world-schema/public/index.js +0 -2
  977. package/ecs/system/world-schema/public/index.js.map +0 -1
  978. package/ecs/system/world-schema/system-factory.d.ts +0 -17
  979. package/ecs/system/world-schema/system-factory.js +0 -23
  980. package/ecs/system/world-schema/system-factory.js.map +0 -1
  981. package/ecs/world/calculate-system-order.d.ts +0 -18
  982. package/ecs/world/calculate-system-order.js +0 -113
  983. package/ecs/world/calculate-system-order.js.map +0 -1
  984. package/ecs/world/calculate-system-order.test.d.ts +0 -1
  985. package/ecs/world/calculate-system-order.test.js +0 -168
  986. package/ecs/world/calculate-system-order.test.js.map +0 -1
  987. package/ecs/world/create-world-schema-test.d.ts +0 -1
  988. package/ecs/world/create-world-schema-test.js +0 -294
  989. package/ecs/world/create-world-schema-test.js.map +0 -1
  990. package/ecs/world/create-world-type-test.d.ts +0 -1
  991. package/ecs/world/create-world-type-test.js +0 -129
  992. package/ecs/world/create-world-type-test.js.map +0 -1
  993. package/ecs/world/create-world.d.ts +0 -19
  994. package/ecs/world/create-world.js +0 -80
  995. package/ecs/world/create-world.js.map +0 -1
  996. package/ecs/world/create-world.test.d.ts +0 -1
  997. package/ecs/world/create-world.test.js +0 -292
  998. package/ecs/world/create-world.test.js.map +0 -1
  999. package/ecs/world/public/world-schema/public/create.d.ts +0 -12
  1000. package/ecs/world/public/world-schema/public/create.js +0 -8
  1001. package/ecs/world/public/world-schema/public/create.js.map +0 -1
  1002. package/ecs/world/public/world-schema/public/create.test.d.ts +0 -1
  1003. package/ecs/world/public/world-schema/public/create.test.js +0 -42
  1004. package/ecs/world/public/world-schema/public/create.test.js.map +0 -1
  1005. package/ecs/world/public/world-schema/public/index.d.ts +0 -1
  1006. package/ecs/world/public/world-schema/public/index.js +0 -2
  1007. package/ecs/world/public/world-schema/public/index.js.map +0 -1
  1008. package/ecs/world/public/world-schema/world-schema.d.ts +0 -17
  1009. package/ecs/world/public/world-schema/world-schema.js +0 -23
  1010. package/ecs/world/public/world-schema/world-schema.js.map +0 -1
  1011. package/ecs/world/system-declaration.d.ts +0 -1
  1012. package/ecs/world/system-declaration.js +0 -23
  1013. package/ecs/world/system-declaration.js.map +0 -1
  1014. package/ecs/world/system-schedule-typing-test.d.ts +0 -1
  1015. package/ecs/world/system-schedule-typing-test.js +0 -83
  1016. package/ecs/world/system-schedule-typing-test.js.map +0 -1
  1017. package/ecs/world/world-schema/public/create.d.ts +0 -12
  1018. package/ecs/world/world-schema/public/create.js +0 -10
  1019. package/ecs/world/world-schema/public/create.js.map +0 -1
  1020. package/ecs/world/world-schema/public/create.test.d.ts +0 -1
  1021. package/ecs/world/world-schema/public/create.test.js +0 -41
  1022. package/ecs/world/world-schema/public/create.test.js.map +0 -1
  1023. package/ecs/world/world-schema/public/index.d.ts +0 -1
  1024. package/ecs/world/world-schema/public/index.js +0 -2
  1025. package/ecs/world/world-schema/public/index.js.map +0 -1
  1026. package/ecs/world/world-schema/system-factory.d.ts +0 -17
  1027. package/ecs/world/world-schema/system-factory.js +0 -23
  1028. package/ecs/world/world-schema/system-factory.js.map +0 -1
  1029. package/ecs/world/world-schema/world-schema.d.ts +0 -19
  1030. package/ecs/world/world-schema/world-schema.js +0 -23
  1031. package/ecs/world/world-schema/world-schema.js.map +0 -1
  1032. package/ecs/world/world.d.ts +0 -86
  1033. package/ecs/world/world.js +0 -81
  1034. package/ecs/world/world.js.map +0 -1
  1035. package/ecs/world/world.test.d.ts +0 -1
  1036. package/ecs/world/world.test.js +0 -176
  1037. package/ecs/world/world.test.js.map +0 -1
  1038. package/functions/package.json +0 -1
  1039. package/lit/package.json +0 -1
  1040. package/math/package.json +0 -1
  1041. package/observe/package.json +0 -1
  1042. package/old-ecs/package.json +0 -1
  1043. package/perftest/package.json +0 -1
  1044. package/samples/package.json +0 -1
  1045. package/schema/package.json +0 -1
  1046. package/service/package.json +0 -1
  1047. package/table/package.json +0 -1
  1048. package/typed-buffer/package.json +0 -1
  1049. package/types/package.json +0 -1
  1050. /package/{debug-type-test.d.ts → ecs/database/create-plugin-type.type-test.d.ts} +0 -0
  1051. /package/ecs/database/{create-database-schema-test.d.ts → create-plugin-type.type.test.d.ts} +0 -0
  1052. /package/ecs/database/{create-plugin-v2.test.d.ts → experimental-action-types.d.ts} +0 -0
  1053. /package/ecs/database/{database-with-systems.test.d.ts → from-plugin.type-test.d.ts} +0 -0
  1054. /package/ecs/database/{database.plugin.create.test.OLD.d.ts → plugin-types.d.ts} +0 -0
  1055. /package/ecs/database/{database.plugin.create.test.d.ts → public/create-database.type-test.d.ts} +0 -0
  1056. /package/ecs/database/{database.plugin.test.d.ts → type-investigation.test.d.ts} +0 -0
@@ -0,0 +1,563 @@
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 { createPlugin } from "./create-plugin.js";
23
+ /**
24
+ * Type-only tests for createPlugin type inference and constraints.
25
+ *
26
+ * These tests verify that:
27
+ * 1. Type inference works correctly for all valid plugin configurations
28
+ * 2. Invalid property usage is properly blocked by TypeScript
29
+ *
30
+ * Note: These are compile-time type checks only - they don't need to execute.
31
+ */
32
+ // ============================================================================
33
+ // VALID TYPE INFERENCE TESTS
34
+ // ============================================================================
35
+ function validTypeInferenceTests() {
36
+ // Test: Empty plugin inference
37
+ const emptyPlugin = createPlugin({});
38
+ // type CheckEmptyPlugin = Assert<Equal<typeof emptyPlugin, Database.Plugin<{}, {}, {}, {}, never, {}>>>;
39
+ // Test: Valid archetype component references
40
+ const validArchetypePlugin = createPlugin({
41
+ components: {
42
+ a: { type: "number" },
43
+ b: { type: "string" }
44
+ },
45
+ archetypes: {
46
+ A: ["a", "b"],
47
+ ABTransient: ["a", "b", "transient"],
48
+ Transient: ["transient"],
49
+ }
50
+ });
51
+ // Test: Valid transactions with components, resources, and archetypes
52
+ const validTransactionPlugin = createPlugin({
53
+ components: {
54
+ a: { type: "number" },
55
+ b: { type: "string" }
56
+ },
57
+ resources: {
58
+ c: { default: false }
59
+ },
60
+ archetypes: {
61
+ A: ["a", "b"],
62
+ ABTransient: ["a", "b", "transient"],
63
+ },
64
+ transactions: {
65
+ testChanges: (store) => {
66
+ // valid resource assignment
67
+ store.resources.c = true;
68
+ // valid archetype
69
+ store.archetypes.A.insert({ a: 1, b: "2" });
70
+ // valid update
71
+ store.update(0, { a: 2 });
72
+ }
73
+ },
74
+ });
75
+ // Test: Valid systems with transactions
76
+ const validSystemPlugin = createPlugin({
77
+ components: {
78
+ a: { type: "number" },
79
+ b: { type: "string" }
80
+ },
81
+ resources: {
82
+ c: { default: false }
83
+ },
84
+ archetypes: {
85
+ A: ["a", "b"],
86
+ },
87
+ transactions: {
88
+ testChanges: (store) => {
89
+ store.resources.c = true;
90
+ }
91
+ },
92
+ systems: {
93
+ update: {
94
+ create: (db) => () => {
95
+ db.transactions.testChanges();
96
+ }
97
+ },
98
+ render: {
99
+ create: (db) => () => { },
100
+ schedule: {
101
+ after: ["update"],
102
+ }
103
+ }
104
+ },
105
+ });
106
+ // Test: Valid base plugin with all properties
107
+ const basePlugin = createPlugin({
108
+ components: {
109
+ alpha: { type: "number" },
110
+ beta: { type: "string" }
111
+ },
112
+ resources: {
113
+ charlie: { default: false }
114
+ },
115
+ archetypes: {
116
+ Foo: ["alpha", "beta"],
117
+ FooTransient: ["alpha", "beta", "transient"],
118
+ },
119
+ transactions: {
120
+ doAlpha: (store, input) => { },
121
+ doBeta: (store) => { }
122
+ },
123
+ actions: {
124
+ doAction: (db) => {
125
+ db.transactions.doAlpha({ a: 1, b: "2" });
126
+ db.transactions.doBeta();
127
+ },
128
+ doOtherAction: (db) => {
129
+ }
130
+ },
131
+ systems: {
132
+ input: {
133
+ create: (db) => () => {
134
+ db.transactions.doAlpha({ a: 1, b: "2" });
135
+ db.transactions.doBeta();
136
+ }
137
+ },
138
+ output: {
139
+ create: (db) => () => {
140
+ db.actions.doAction();
141
+ db.actions.doOtherAction();
142
+ }
143
+ }
144
+ },
145
+ });
146
+ // Test: Valid extended plugin accessing base plugin properties
147
+ const extendedPlugin = createPlugin({
148
+ components: {
149
+ a: { type: "number" },
150
+ b: { type: "string" },
151
+ },
152
+ resources: {
153
+ c: { default: false }
154
+ },
155
+ archetypes: {
156
+ A: ["a", "b", "alpha", "beta"],
157
+ ABTransient: ["a", "b", "alpha", "beta", "transient"],
158
+ },
159
+ transactions: {
160
+ testChanges: (store) => {
161
+ // assign to resources from this plugin
162
+ store.resources.c = true;
163
+ // valid archetype
164
+ store.archetypes.A.insert({ a: 1, b: "2", alpha: 3, beta: "4" });
165
+ // valid update using base components
166
+ store.update(0, { a: 2, alpha: 3 });
167
+ }
168
+ },
169
+ systems: {
170
+ update: {
171
+ create: (db) => () => {
172
+ db.transactions.doAlpha({ a: 1, b: "2" });
173
+ db.transactions.doBeta();
174
+ db.transactions.testChanges();
175
+ },
176
+ schedule: {},
177
+ },
178
+ render: {
179
+ create: (db) => () => {
180
+ db.transactions.testChanges();
181
+ },
182
+ schedule: {},
183
+ }
184
+ },
185
+ actions: {
186
+ doExtendedAction: (db) => {
187
+ db.transactions.doAlpha({ a: 1, b: "2" });
188
+ db.transactions.doBeta();
189
+ db.transactions.testChanges();
190
+ },
191
+ doOtherExtendedAction: (db) => {
192
+ }
193
+ },
194
+ extends: basePlugin
195
+ });
196
+ }
197
+ // ============================================================================
198
+ // INVALID TYPE INFERENCE TESTS
199
+ // ============================================================================
200
+ /**
201
+ * ⚠️ CRITICAL: Why Invalid Tests Must Be Isolated
202
+ *
203
+ * Invalid type tests (those using @ts-expect-error) MUST be in separate
204
+ * plugin definitions from valid tests. This is because:
205
+ *
206
+ * 1. **Type Inference Failure Propagation**: When TypeScript encounters a type
207
+ * error in a plugin definition, it can cause the entire plugin's type
208
+ * inference to fail or degrade. This means that if you have both valid and
209
+ * invalid usage in the same plugin, the invalid errors can break the
210
+ * inference for the valid parts, making it impossible to verify that valid
211
+ * code actually works correctly.
212
+ *
213
+ * 2. **Constraint Satisfaction**: The createPlugin function uses complex
214
+ * generic constraints that depend on all properties being valid. If one
215
+ * property has an error, TypeScript may fail to satisfy the constraints
216
+ * for other properties, even if those other properties are themselves valid.
217
+ *
218
+ * 3. **Type Narrowing**: Errors in one part of a plugin can cause TypeScript
219
+ * to narrow types incorrectly or give up on inference entirely, leading to
220
+ * `any` types or overly permissive types that don't actually test what we
221
+ * want to test.
222
+ *
223
+ * 4. **Test Isolation**: By isolating invalid tests, we ensure that:
224
+ * - Each test verifies exactly one constraint
225
+ * - Valid inference tests aren't affected by invalid ones
226
+ * - We can verify that our type system actually blocks invalid usage
227
+ * rather than just allowing `any` types
228
+ *
229
+ * Therefore, each invalid test below is in its own isolated plugin definition
230
+ * that only tests the specific invalid usage pattern.
231
+ */
232
+ // Test: Invalid archetype component reference (no components defined)
233
+ function invalidArchetypeComponentReference() {
234
+ createPlugin({
235
+ archetypes: {
236
+ // @ts-expect-error - invalid archetype reference (component "bar" does not exist)
237
+ InvalidArchetype: ["bar"],
238
+ }
239
+ });
240
+ }
241
+ // Test: Invalid archetype component reference (component not in schema)
242
+ function invalidArchetypeComponentReference2() {
243
+ createPlugin({
244
+ components: {
245
+ a: { type: "number" }
246
+ },
247
+ archetypes: {
248
+ // @ts-expect-error - invalid archetype reference (component "b" does not exist)
249
+ InvalidArchetype: ["b"],
250
+ }
251
+ });
252
+ }
253
+ // Test: Invalid resource access in transaction
254
+ function invalidResourceAccessInTransaction() {
255
+ createPlugin({
256
+ resources: {
257
+ c: { default: false }
258
+ },
259
+ transactions: {
260
+ testChanges: (store) => {
261
+ // @ts-expect-error - invalid resource assignment (resource "d" does not exist)
262
+ store.resources.d = true;
263
+ }
264
+ },
265
+ });
266
+ }
267
+ // Test: Invalid archetype access in transaction
268
+ function invalidArchetypeAccessInTransaction() {
269
+ createPlugin({
270
+ components: {
271
+ a: { type: "number" }
272
+ },
273
+ archetypes: {
274
+ A: ["a"],
275
+ },
276
+ transactions: {
277
+ testChanges: (store) => {
278
+ // @ts-expect-error - invalid archetype reference (archetype "foo" does not exist)
279
+ store.archetypes.foo;
280
+ }
281
+ },
282
+ });
283
+ }
284
+ // Test: Invalid component update in transaction
285
+ function invalidComponentUpdateInTransaction() {
286
+ createPlugin({
287
+ components: {
288
+ a: { type: "number" },
289
+ b: { type: "string" }
290
+ },
291
+ transactions: {
292
+ testChanges: (store) => {
293
+ // @ts-expect-error - invalid update (component "d" does not exist)
294
+ store.update(0, { d: 10 });
295
+ }
296
+ },
297
+ });
298
+ }
299
+ // Test: Invalid system self-reference in schedule
300
+ function invalidSystemSelfReference() {
301
+ createPlugin({
302
+ systems: {
303
+ render: {
304
+ create: (db) => () => { },
305
+ schedule: {
306
+ // @ts-expect-error - render would be a self-reference (prevented by Exclude<S | SX, K>)
307
+ before: ["render"],
308
+ }
309
+ }
310
+ },
311
+ });
312
+ }
313
+ // Test: Invalid system reference in schedule
314
+ function invalidSystemReference() {
315
+ createPlugin({
316
+ systems: {
317
+ update: {
318
+ create: (db) => () => { },
319
+ },
320
+ render: {
321
+ create: (db) => () => { },
322
+ schedule: {
323
+ // @ts-expect-error - invalid system reference (system "invalid" does not exist)
324
+ during: ["invalid"],
325
+ }
326
+ }
327
+ },
328
+ });
329
+ }
330
+ // Test: Invalid transaction call in action
331
+ function invalidTransactionCallInAction() {
332
+ createPlugin({
333
+ transactions: {
334
+ validTransaction: (store) => { },
335
+ },
336
+ actions: {
337
+ doAction: (db) => {
338
+ // @ts-expect-error - invalid transaction call (transaction "doesNotExist" does not exist)
339
+ db.transactions.doesNotExist();
340
+ }
341
+ },
342
+ });
343
+ }
344
+ // Test: Invalid action call in system
345
+ function invalidActionCallInSystem() {
346
+ createPlugin({
347
+ actions: {
348
+ validAction: (db) => { },
349
+ },
350
+ systems: {
351
+ testSystem: {
352
+ create: (db) => () => {
353
+ // @ts-expect-error - invalid action call (action "doesNotExist" does not exist)
354
+ db.actions.doesNotExist();
355
+ }
356
+ }
357
+ },
358
+ });
359
+ }
360
+ // Test: Invalid resource access in system
361
+ function invalidResourceAccessInSystem() {
362
+ createPlugin({
363
+ resources: {
364
+ validResource: { default: 0 }
365
+ },
366
+ systems: {
367
+ testSystem: {
368
+ create: (db) => () => {
369
+ // @ts-expect-error - invalid resource access (resource "invalidResource" does not exist)
370
+ const value = db.resources.invalidResource;
371
+ }
372
+ }
373
+ },
374
+ });
375
+ }
376
+ // Test: Invalid archetype access in system
377
+ function invalidArchetypeAccessInSystem() {
378
+ createPlugin({
379
+ components: {
380
+ a: { type: "number" }
381
+ },
382
+ archetypes: {
383
+ A: ["a"],
384
+ },
385
+ systems: {
386
+ testSystem: {
387
+ create: (db) => () => {
388
+ // @ts-expect-error - invalid archetype access (archetype "invalid" does not exist)
389
+ db.archetypes.invalid;
390
+ }
391
+ }
392
+ },
393
+ });
394
+ }
395
+ // Test: Invalid extended plugin - invalid resource access
396
+ function invalidExtendedPluginResourceAccess() {
397
+ const basePlugin = createPlugin({
398
+ resources: {
399
+ charlie: { default: false }
400
+ },
401
+ });
402
+ createPlugin({
403
+ resources: {
404
+ c: { default: false }
405
+ },
406
+ transactions: {
407
+ testChanges: (store) => {
408
+ // @ts-expect-error - invalid resource assignment (resource "delta" does not exist in base or current)
409
+ store.resources.delta = true;
410
+ }
411
+ },
412
+ extends: basePlugin
413
+ });
414
+ }
415
+ // Test: Invalid extended plugin - invalid archetype access
416
+ function invalidExtendedPluginArchetypeAccess() {
417
+ const basePlugin = createPlugin({
418
+ components: {
419
+ alpha: { type: "number" }
420
+ },
421
+ archetypes: {
422
+ Foo: ["alpha"],
423
+ },
424
+ });
425
+ createPlugin({
426
+ components: {
427
+ a: { type: "number" }
428
+ },
429
+ transactions: {
430
+ testChanges: (store) => {
431
+ // @ts-expect-error - invalid archetype reference (archetype "foo" does not exist in base or current)
432
+ store.archetypes.foo;
433
+ }
434
+ },
435
+ extends: basePlugin
436
+ });
437
+ }
438
+ // Test: Invalid extended plugin - invalid system reference in schedule
439
+ function invalidExtendedPluginSystemReference() {
440
+ const basePlugin = createPlugin({
441
+ systems: {
442
+ input: {
443
+ create: (db) => () => { },
444
+ }
445
+ },
446
+ });
447
+ createPlugin({
448
+ systems: {
449
+ render: {
450
+ create: (db) => () => { },
451
+ schedule: {
452
+ // @ts-expect-error - invalid system reference (system "invalid" does not exist in base or current)
453
+ after: ["invalid"],
454
+ }
455
+ }
456
+ },
457
+ extends: basePlugin
458
+ });
459
+ }
460
+ // Test: Invalid extended plugin - invalid transaction call
461
+ function invalidExtendedPluginTransactionCall() {
462
+ const basePlugin = createPlugin({
463
+ transactions: {
464
+ doAlpha: (store) => { },
465
+ },
466
+ });
467
+ createPlugin({
468
+ systems: {
469
+ testSystem: {
470
+ create: (db) => () => {
471
+ // @ts-expect-error - invalid transaction call (transaction "doesNotExist" does not exist)
472
+ db.transactions.doesNotExist();
473
+ db.transactions.doAlpha();
474
+ // @ts-expect-error - invalid transaction call (transaction "doAlpha" does not takes input)
475
+ db.transactions.doAlpha({ a: 1, b: "2" });
476
+ }
477
+ }
478
+ },
479
+ extends: basePlugin
480
+ });
481
+ }
482
+ // Test: Invalid extended plugin - invalid action call
483
+ function invalidExtendedPluginActionCall() {
484
+ const basePlugin = createPlugin({
485
+ actions: {
486
+ doAction: (db) => { },
487
+ },
488
+ });
489
+ createPlugin({
490
+ systems: {
491
+ testSystem: {
492
+ create: (db) => () => {
493
+ // @ts-expect-error - invalid action call (action "doesNotExist" does not exist)
494
+ db.actions.doesNotExist();
495
+ db.actions.doAction();
496
+ // @ts-expect-error - invalid action call (action "doAction" does not take input)
497
+ db.actions.doAction({ a: 1, b: "2" });
498
+ }
499
+ }
500
+ },
501
+ extends: basePlugin
502
+ });
503
+ }
504
+ // Test: Invalid action call in action (same plugin) - actions can only call actions from extended plugin
505
+ function invalidActionCallInActionSamePlugin() {
506
+ createPlugin({
507
+ actions: {
508
+ action1: (db) => {
509
+ // @ts-expect-error - actions cannot call other actions from same plugin (only from extended plugin)
510
+ db.actions.action2();
511
+ },
512
+ action2: (db) => { },
513
+ },
514
+ });
515
+ }
516
+ // Test: Invalid component access in transaction (component doesn't exist)
517
+ function invalidComponentAccessInTransaction() {
518
+ createPlugin({
519
+ components: {
520
+ a: { type: "number" }
521
+ },
522
+ transactions: {
523
+ testChanges: (store) => {
524
+ // @ts-expect-error - invalid component access (component "b" does not exist)
525
+ const value = store.components.b;
526
+ }
527
+ },
528
+ });
529
+ }
530
+ // Test: Invalid component access in system (component doesn't exist)
531
+ function invalidComponentAccessInSystem() {
532
+ createPlugin({
533
+ components: {
534
+ a: { type: "number" }
535
+ },
536
+ systems: {
537
+ testSystem: {
538
+ create: (db) => () => {
539
+ // @ts-expect-error - invalid component access (component "b" does not exist)
540
+ const value = db.components.b;
541
+ }
542
+ }
543
+ },
544
+ });
545
+ }
546
+ // Test: Valid action call in action (from extended plugin)
547
+ function validActionCallInActionFromExtended() {
548
+ const basePlugin = createPlugin({
549
+ actions: {
550
+ baseAction: (db) => { },
551
+ },
552
+ });
553
+ createPlugin({
554
+ actions: {
555
+ extendedAction: (db) => {
556
+ // Valid - can call actions from extended plugin
557
+ db.actions.baseAction();
558
+ }
559
+ },
560
+ extends: basePlugin
561
+ });
562
+ }
563
+ //# sourceMappingURL=create-plugin-type.type.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-plugin-type.type.test.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin-type.type.test.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,41 @@ import type { ActionDeclarations, ToActionFunctions } from "../store/action-func
7
7
  import type { FromSchemas } from "../../schema/index.js";
8
8
  import type { StringKeyof, Simplify, NoInfer } from "../../types/types.js";
9
9
  import { CombinePlugins } from "./combine-plugins.js";
10
+ import { Store } from "../store/store.js";
10
11
  type RemoveIndex<T> = Simplify<{
11
12
  [K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: T[K];
12
13
  }>;
14
+ /**
15
+ * Creates a Database.Plugin from a plugin descriptor.
16
+ *
17
+ * **IMPORTANT: Property Order Requirement**
18
+ *
19
+ * Properties MUST be defined in this exact order:
20
+ * 1. extends (optional) - Base plugin to extend
21
+ * 2. components (optional) - Component schema definitions
22
+ * 3. resources (optional) - Resource schema definitions
23
+ * 4. archetypes (optional) - Archetype definitions
24
+ * 5. transactions (optional) - Transaction declarations
25
+ * 6. actions (optional) - Action declarations
26
+ * 7. systems (optional) - System declarations
27
+ *
28
+ * Example:
29
+ * ```ts
30
+ * Database.Plugin.create({
31
+ * extends: basePlugin, // 1. extends first
32
+ * components: { ... }, // 2. components
33
+ * resources: { ... }, // 3. resources
34
+ * archetypes: { ... }, // 4. archetypes
35
+ * transactions: { ... }, // 5. transactions
36
+ * actions: { ... }, // 6. actions
37
+ * systems: { ... } // 7. systems last
38
+ * })
39
+ * ```
40
+ *
41
+ * @throws Error if properties are not in the correct order
42
+ */
13
43
  export declare function createPlugin<const XP extends Database.Plugin<{}, {}, {}, {}, never, {}>, const CS extends ComponentSchemas, const RS extends ResourceSchemas, const A extends ArchetypeComponents<StringKeyof<RemoveIndex<CS> & XP['components']>>, const TD extends TransactionDeclarations<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes']>, const AD, const S extends string = never>(plugins: {
44
+ extends?: XP;
14
45
  components?: CS;
15
46
  resources?: RS;
16
47
  archetypes?: A;
@@ -20,7 +51,9 @@ export declare function createPlugin<const XP extends Database.Plugin<{}, {}, {}
20
51
  };
21
52
  systems?: {
22
53
  readonly [K in S]: {
23
- readonly create: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, string, ToActionFunctions<RemoveIndex<AD> & XP['actions']>>) => SystemFunction | void;
54
+ readonly create: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, string, ToActionFunctions<RemoveIndex<AD> & XP['actions']>> & {
55
+ readonly store: Store<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes']>;
56
+ }) => SystemFunction | void;
24
57
  readonly schedule?: {
25
58
  readonly before?: readonly NoInfer<Exclude<S | StringKeyof<XP['systems']>, K>>[];
26
59
  readonly after?: readonly NoInfer<Exclude<S | StringKeyof<XP['systems']>, K>>[];
@@ -28,7 +61,6 @@ export declare function createPlugin<const XP extends Database.Plugin<{}, {}, {}
28
61
  };
29
62
  };
30
63
  };
31
- extends?: XP;
32
64
  }): CombinePlugins<[
33
65
  XP,
34
66
  Database.Plugin<RemoveIndex<CS>, RemoveIndex<RS>, RemoveIndex<A>, RemoveIndex<TD>, S, AD & ActionDeclarations<FromSchemas<RemoveIndex<CS>>, FromSchemas<RemoveIndex<RS>>, RemoveIndex<A>, ToTransactionFunctions<RemoveIndex<TD>>, S>>