@adobe/data 0.9.5 → 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 (240) hide show
  1. package/ecs/database/create-plugin-cryos-pattern.test.d.ts +3 -0
  2. package/ecs/database/create-plugin-cryos-pattern.test.js +83 -0
  3. package/ecs/database/create-plugin-cryos-pattern.test.js.map +1 -0
  4. package/ecs/database/create-plugin-graphics.test.d.ts +93 -0
  5. package/ecs/database/create-plugin-graphics.test.js +135 -0
  6. package/ecs/database/create-plugin-graphics.test.js.map +1 -0
  7. package/ecs/database/create-plugin-type.type-test.js +563 -0
  8. package/ecs/database/create-plugin-type.type-test.js.map +1 -0
  9. package/ecs/database/create-plugin-type.type.test.js +563 -0
  10. package/ecs/database/create-plugin-type.type.test.js.map +1 -0
  11. package/ecs/database/database.d.ts +6 -1
  12. package/ecs/database/database.js.map +1 -1
  13. package/ecs/database/experimental-action-types.js +275 -0
  14. package/ecs/database/experimental-action-types.js.map +1 -0
  15. package/ecs/database/from-plugin.type-test.js +180 -0
  16. package/ecs/database/from-plugin.type-test.js.map +1 -0
  17. package/ecs/database/plugin-types.js +5 -0
  18. package/ecs/database/plugin-types.js.map +1 -0
  19. package/ecs/database/type-investigation.test.js +54 -0
  20. package/ecs/database/type-investigation.test.js.map +1 -0
  21. package/ecs/store/core/create-core.test.js +21 -0
  22. package/ecs/store/core/create-core.test.js.map +1 -1
  23. package/package.json +1 -1
  24. package/tsconfig.tsbuildinfo +1 -1
  25. package/typed-buffer/create-array-buffer.js +10 -0
  26. package/typed-buffer/create-array-buffer.js.map +1 -1
  27. package/typed-buffer/create-array-buffer.test.js +50 -0
  28. package/typed-buffer/create-array-buffer.test.js.map +1 -1
  29. package/typed-buffer/create-const-buffer.js +3 -0
  30. package/typed-buffer/create-const-buffer.js.map +1 -1
  31. package/typed-buffer/create-const-buffer.test.js +24 -0
  32. package/typed-buffer/create-const-buffer.test.js.map +1 -1
  33. package/typed-buffer/create-number-buffer.js +4 -0
  34. package/typed-buffer/create-number-buffer.js.map +1 -1
  35. package/typed-buffer/create-number-buffer.test.js +38 -0
  36. package/typed-buffer/create-number-buffer.test.js.map +1 -1
  37. package/typed-buffer/create-struct-buffer.js +11 -0
  38. package/typed-buffer/create-struct-buffer.js.map +1 -1
  39. package/typed-buffer/create-struct-buffer.test.js +60 -0
  40. package/typed-buffer/create-struct-buffer.test.js.map +1 -1
  41. package/typed-buffer/typed-buffer.d.ts +2 -0
  42. package/typed-buffer/typed-buffer.js.map +1 -1
  43. package/assembly/package.json +0 -1
  44. package/blob/package.json +0 -1
  45. package/cache/package.json +0 -1
  46. package/debug-type-test.js +0 -12
  47. package/debug-type-test.js.map +0 -1
  48. package/ecs/database/archetype-type-safety-test.d.ts +0 -21
  49. package/ecs/database/archetype-type-safety-test.js +0 -36
  50. package/ecs/database/archetype-type-safety-test.js.map +0 -1
  51. package/ecs/database/create-database-schema-test.js +0 -150
  52. package/ecs/database/create-database-schema-test.js.map +0 -1
  53. package/ecs/database/create-plugin-v2.d.ts +0 -79
  54. package/ecs/database/create-plugin-v2.js +0 -68
  55. package/ecs/database/create-plugin-v2.js.map +0 -1
  56. package/ecs/database/create-plugin-v2.test.js +0 -362
  57. package/ecs/database/create-plugin-v2.test.js.map +0 -1
  58. package/ecs/database/create-plugin.OLD.d.ts +0 -138
  59. package/ecs/database/create-plugin.OLD.js +0 -59
  60. package/ecs/database/create-plugin.OLD.js.map +0 -1
  61. package/ecs/database/database-with-systems.test.js +0 -292
  62. package/ecs/database/database-with-systems.test.js.map +0 -1
  63. package/ecs/database/database.plugin.create.test.OLD.js +0 -601
  64. package/ecs/database/database.plugin.create.test.OLD.js.map +0 -1
  65. package/ecs/database/database.plugin.create.test.js +0 -321
  66. package/ecs/database/database.plugin.create.test.js.map +0 -1
  67. package/ecs/database/database.plugin.test.d.ts +0 -1
  68. package/ecs/database/database.plugin.test.js +0 -90
  69. package/ecs/database/database.plugin.test.js.map +0 -1
  70. package/ecs/database/database.test copy.d.ts +0 -1
  71. package/ecs/database/database.test copy.js +0 -199
  72. package/ecs/database/database.test copy.js.map +0 -1
  73. package/ecs/database/multi-param-inference-poc.test.d.ts +0 -1
  74. package/ecs/database/multi-param-inference-poc.test.js +0 -96
  75. package/ecs/database/multi-param-inference-poc.test.js.map +0 -1
  76. package/ecs/database/old-plugin-create-with-dependencies-array.d.ts +0 -61
  77. package/ecs/database/old-plugin-create-with-dependencies-array.js +0 -76
  78. package/ecs/database/old-plugin-create-with-dependencies-array.js.map +0 -1
  79. package/ecs/database/overload-inference-poc.test.d.ts +0 -1
  80. package/ecs/database/overload-inference-poc.test.js +0 -109
  81. package/ecs/database/overload-inference-poc.test.js.map +0 -1
  82. package/ecs/database/schedule-type-check-demo.d.ts +0 -10
  83. package/ecs/database/schedule-type-check-demo.js +0 -71
  84. package/ecs/database/schedule-type-check-demo.js.map +0 -1
  85. package/ecs/database/test-archetype-validation.d.ts +0 -9
  86. package/ecs/database/test-archetype-validation.js +0 -14
  87. package/ecs/database/test-archetype-validation.js.map +0 -1
  88. package/ecs/database/test-exactkeys.d.ts +0 -1
  89. package/ecs/database/test-exactkeys.js +0 -17
  90. package/ecs/database/test-exactkeys.js.map +0 -1
  91. package/ecs/database/transactional-store/coalesce-transactions.test.js +0 -433
  92. package/ecs/database/transactional-store/coalesce-transactions.test.js.map +0 -1
  93. package/ecs/database/type-inference-demo.d.ts +0 -75
  94. package/ecs/database/type-inference-demo.js +0 -73
  95. package/ecs/database/type-inference-demo.js.map +0 -1
  96. package/ecs/database/type-inference-poc.test.d.ts +0 -1
  97. package/ecs/database/type-inference-poc.test.js +0 -73
  98. package/ecs/database/type-inference-poc.test.js.map +0 -1
  99. package/ecs/package.json +0 -1
  100. package/ecs/plugins/scheduler/create-scheduler-plugin.d.ts +0 -8
  101. package/ecs/plugins/scheduler/create-scheduler-plugin.js +0 -54
  102. package/ecs/plugins/scheduler/create-scheduler-plugin.js.map +0 -1
  103. package/ecs/plugins/scheduler/create-scheduler-plugin.test.d.ts +0 -1
  104. package/ecs/plugins/scheduler/create-scheduler-plugin.test.js +0 -198
  105. package/ecs/plugins/scheduler/create-scheduler-plugin.test.js.map +0 -1
  106. package/ecs/plugins/scheduler/type-inference-test.d.ts +0 -1
  107. package/ecs/plugins/scheduler/type-inference-test.js +0 -2
  108. package/ecs/plugins/scheduler/type-inference-test.js.map +0 -1
  109. package/ecs/store/entity-functions.d.ts +0 -7
  110. package/ecs/store/entity-functions.js +0 -2
  111. package/ecs/store/entity-functions.js.map +0 -1
  112. package/ecs/store/functions.d.ts +0 -2
  113. package/ecs/store/functions.js +0 -2
  114. package/ecs/store/functions.js.map +0 -1
  115. package/ecs/system/system-declaration.d.ts +0 -7
  116. package/ecs/system/system-declaration.js +0 -23
  117. package/ecs/system/system-declaration.js.map +0 -1
  118. package/ecs/system/system-declarations.d.ts +0 -4
  119. package/ecs/system/system-declarations.js +0 -23
  120. package/ecs/system/system-declarations.js.map +0 -1
  121. package/ecs/system/system-factory/public/create copy.d.ts +0 -12
  122. package/ecs/system/system-factory/public/create copy.js +0 -8
  123. package/ecs/system/system-factory/public/create copy.js.map +0 -1
  124. package/ecs/system/system-factory/public/create.d.ts +0 -12
  125. package/ecs/system/system-factory/public/create.js +0 -8
  126. package/ecs/system/system-factory/public/create.js.map +0 -1
  127. package/ecs/system/system-factory/public/create.test.d.ts +0 -1
  128. package/ecs/system/system-factory/public/create.test.js +0 -42
  129. package/ecs/system/system-factory/public/create.test.js.map +0 -1
  130. package/ecs/system/system-factory/public/index.d.ts +0 -1
  131. package/ecs/system/system-factory/public/index.js +0 -2
  132. package/ecs/system/system-factory/public/index.js.map +0 -1
  133. package/ecs/system/system-factory/system-factory.d.ts +0 -17
  134. package/ecs/system/system-factory/system-factory.js +0 -23
  135. package/ecs/system/system-factory/system-factory.js.map +0 -1
  136. package/ecs/system/system-factory.d.ts +0 -9
  137. package/ecs/system/system-factory.js +0 -23
  138. package/ecs/system/system-factory.js.map +0 -1
  139. package/ecs/system/system-interface.d.ts +0 -5
  140. package/ecs/system/system-interface.js +0 -2
  141. package/ecs/system/system-interface.js.map +0 -1
  142. package/ecs/system/system.d.ts +0 -4
  143. package/ecs/system/system.js +0 -23
  144. package/ecs/system/system.js.map +0 -1
  145. package/ecs/system/systems-type.d.ts +0 -2
  146. package/ecs/system/systems-type.js +0 -2
  147. package/ecs/system/systems-type.js.map +0 -1
  148. package/ecs/system/systems.d.ts +0 -2
  149. package/ecs/system/systems.js +0 -23
  150. package/ecs/system/systems.js.map +0 -1
  151. package/ecs/system/world-schema/public/create.d.ts +0 -12
  152. package/ecs/system/world-schema/public/create.js +0 -8
  153. package/ecs/system/world-schema/public/create.js.map +0 -1
  154. package/ecs/system/world-schema/public/create.test.d.ts +0 -1
  155. package/ecs/system/world-schema/public/create.test.js +0 -42
  156. package/ecs/system/world-schema/public/create.test.js.map +0 -1
  157. package/ecs/system/world-schema/public/index.d.ts +0 -1
  158. package/ecs/system/world-schema/public/index.js +0 -2
  159. package/ecs/system/world-schema/public/index.js.map +0 -1
  160. package/ecs/system/world-schema/system-factory.d.ts +0 -17
  161. package/ecs/system/world-schema/system-factory.js +0 -23
  162. package/ecs/system/world-schema/system-factory.js.map +0 -1
  163. package/ecs/world/calculate-system-order.d.ts +0 -18
  164. package/ecs/world/calculate-system-order.js +0 -113
  165. package/ecs/world/calculate-system-order.js.map +0 -1
  166. package/ecs/world/calculate-system-order.test.d.ts +0 -1
  167. package/ecs/world/calculate-system-order.test.js +0 -168
  168. package/ecs/world/calculate-system-order.test.js.map +0 -1
  169. package/ecs/world/create-world-schema-test.d.ts +0 -1
  170. package/ecs/world/create-world-schema-test.js +0 -294
  171. package/ecs/world/create-world-schema-test.js.map +0 -1
  172. package/ecs/world/create-world-type-test.d.ts +0 -1
  173. package/ecs/world/create-world-type-test.js +0 -129
  174. package/ecs/world/create-world-type-test.js.map +0 -1
  175. package/ecs/world/create-world.d.ts +0 -19
  176. package/ecs/world/create-world.js +0 -80
  177. package/ecs/world/create-world.js.map +0 -1
  178. package/ecs/world/create-world.test.d.ts +0 -1
  179. package/ecs/world/create-world.test.js +0 -292
  180. package/ecs/world/create-world.test.js.map +0 -1
  181. package/ecs/world/public/world-schema/public/create.d.ts +0 -12
  182. package/ecs/world/public/world-schema/public/create.js +0 -8
  183. package/ecs/world/public/world-schema/public/create.js.map +0 -1
  184. package/ecs/world/public/world-schema/public/create.test.d.ts +0 -1
  185. package/ecs/world/public/world-schema/public/create.test.js +0 -42
  186. package/ecs/world/public/world-schema/public/create.test.js.map +0 -1
  187. package/ecs/world/public/world-schema/public/index.d.ts +0 -1
  188. package/ecs/world/public/world-schema/public/index.js +0 -2
  189. package/ecs/world/public/world-schema/public/index.js.map +0 -1
  190. package/ecs/world/public/world-schema/world-schema.d.ts +0 -17
  191. package/ecs/world/public/world-schema/world-schema.js +0 -23
  192. package/ecs/world/public/world-schema/world-schema.js.map +0 -1
  193. package/ecs/world/system-declaration.d.ts +0 -1
  194. package/ecs/world/system-declaration.js +0 -23
  195. package/ecs/world/system-declaration.js.map +0 -1
  196. package/ecs/world/system-schedule-typing-test.d.ts +0 -1
  197. package/ecs/world/system-schedule-typing-test.js +0 -83
  198. package/ecs/world/system-schedule-typing-test.js.map +0 -1
  199. package/ecs/world/world-schema/public/create.d.ts +0 -12
  200. package/ecs/world/world-schema/public/create.js +0 -10
  201. package/ecs/world/world-schema/public/create.js.map +0 -1
  202. package/ecs/world/world-schema/public/create.test.d.ts +0 -1
  203. package/ecs/world/world-schema/public/create.test.js +0 -41
  204. package/ecs/world/world-schema/public/create.test.js.map +0 -1
  205. package/ecs/world/world-schema/public/index.d.ts +0 -1
  206. package/ecs/world/world-schema/public/index.js +0 -2
  207. package/ecs/world/world-schema/public/index.js.map +0 -1
  208. package/ecs/world/world-schema/system-factory.d.ts +0 -17
  209. package/ecs/world/world-schema/system-factory.js +0 -23
  210. package/ecs/world/world-schema/system-factory.js.map +0 -1
  211. package/ecs/world/world-schema/world-schema.d.ts +0 -19
  212. package/ecs/world/world-schema/world-schema.js +0 -23
  213. package/ecs/world/world-schema/world-schema.js.map +0 -1
  214. package/ecs/world/world.d.ts +0 -86
  215. package/ecs/world/world.js +0 -81
  216. package/ecs/world/world.js.map +0 -1
  217. package/ecs/world/world.test.d.ts +0 -1
  218. package/ecs/world/world.test.js +0 -176
  219. package/ecs/world/world.test.js.map +0 -1
  220. package/functions/package.json +0 -1
  221. package/lit/elements/application-element copy.d.ts +0 -9
  222. package/lit/elements/application-element copy.js +0 -62
  223. package/lit/elements/application-element copy.js.map +0 -1
  224. package/lit/package.json +0 -1
  225. package/math/package.json +0 -1
  226. package/observe/package.json +0 -1
  227. package/old-ecs/package.json +0 -1
  228. package/perftest/package.json +0 -1
  229. package/samples/package.json +0 -1
  230. package/schema/package.json +0 -1
  231. package/service/package.json +0 -1
  232. package/table/package.json +0 -1
  233. package/typed-buffer/package.json +0 -1
  234. package/types/package.json +0 -1
  235. /package/{debug-type-test.d.ts → ecs/database/create-plugin-type.type-test.d.ts} +0 -0
  236. /package/ecs/database/{create-database-schema-test.d.ts → create-plugin-type.type.test.d.ts} +0 -0
  237. /package/ecs/database/{create-plugin-v2.test.d.ts → experimental-action-types.d.ts} +0 -0
  238. /package/ecs/database/{database-with-systems.test.d.ts → from-plugin.type-test.d.ts} +0 -0
  239. /package/ecs/database/{database.plugin.create.test.OLD.d.ts → plugin-types.d.ts} +0 -0
  240. /package/ecs/database/{database.plugin.create.test.d.ts → type-investigation.test.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-plugin-v2.test.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin-v2.test.ts"],"names":[],"mappings":"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"}
@@ -1,138 +0,0 @@
1
- import type { Database } from "./database.js";
2
- import type { ComponentSchemas } from "../component-schemas.js";
3
- import type { ResourceSchemas } from "../resource-schemas.js";
4
- import type { ArchetypeComponents } from "../store/archetype-components.js";
5
- import type { ActionDeclarations, ToActionFunctions } from "../store/action-functions.js";
6
- import type { FromSchemas } from "../../schema/index.js";
7
- import type { StringKeyof } from "../../types/types.js";
8
- type SystemFunction = () => void | Promise<void>;
9
- type RemoveIndexSignature<T> = {
10
- [K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: T[K];
11
- };
12
- export type SystemDeclarations = {
13
- readonly [K in string]: {
14
- readonly create: (db: Database<any, any, any, any, any>) => SystemFunction;
15
- readonly schedule?: {
16
- readonly before?: readonly string[];
17
- readonly after?: readonly string[];
18
- };
19
- };
20
- };
21
- export type PluginSchema<CS extends ComponentSchemas = {}, RS extends ResourceSchemas = {}, A extends ArchetypeComponents<any> = {}, TD extends ActionDeclarations<any, any, any> = {}, SYS extends SystemDeclarations = {}> = {
22
- components?: CS;
23
- resources?: RS;
24
- archetypes?: A;
25
- transactions?: TD;
26
- systems?: SYS;
27
- };
28
- export declare function createPlugin<const CS1 extends ComponentSchemas, const RS1 extends ResourceSchemas, const A1 extends ArchetypeComponents<any>, const TD1 extends ActionDeclarations<any, any, any>, const SYS1 extends {
29
- readonly [K in string]: {
30
- readonly create: (db: Database<FromSchemas<CS1>, FromSchemas<RS1>, A1, ToActionFunctions<TD1>, string>) => SystemFunction;
31
- readonly schedule?: {
32
- readonly before?: readonly string[];
33
- readonly after?: readonly string[];
34
- };
35
- };
36
- }>(arg1: PluginSchema<CS1, RS1, A1, TD1, SYS1>): Database.Plugin.Intersect<[Database.Plugin<CS1, RS1, A1, TD1, StringKeyof<SYS1>>]>;
37
- export declare function createPlugin<const CS1 extends ComponentSchemas, const RS1 extends ResourceSchemas, const A1 extends ArchetypeComponents<any>, const TD1 extends ActionDeclarations<any, any, any>, const SYS1 extends {
38
- readonly [K in string]: {
39
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1>>, FromSchemas<RemoveIndexSignature<RS1>>, A1, ToActionFunctions<TD1>, string>) => SystemFunction;
40
- readonly schedule?: {
41
- readonly before?: readonly string[];
42
- readonly after?: readonly string[];
43
- };
44
- };
45
- }, const CS2 extends ComponentSchemas, const RS2 extends ResourceSchemas, const A2 extends ArchetypeComponents<any>, const TD2 extends ActionDeclarations<any, any, any>, const SYS2 extends {
46
- readonly [K in string]: {
47
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1 & CS2>>, FromSchemas<RemoveIndexSignature<RS1 & RS2>>, A1 | A2, ToActionFunctions<TD1 & TD2>, StringKeyof<SYS1 & SYS2>>) => SystemFunction;
48
- readonly schedule?: {
49
- readonly before?: readonly string[];
50
- readonly after?: readonly string[];
51
- };
52
- };
53
- }>(arg1: PluginSchema<CS1, RS1, A1, TD1, SYS1>, arg2: PluginSchema<CS2, RS2, A2, TD2, SYS2>): Database.Plugin.Intersect<[
54
- Database.Plugin<CS1, RS1, A1, TD1, StringKeyof<SYS1>>,
55
- Database.Plugin<CS2, RS2, A2, TD2, StringKeyof<SYS2>>
56
- ]>;
57
- export declare function createPlugin<const P1 extends Database.Plugin<any, any, any, any, any>, const CS2 extends ComponentSchemas, const RS2 extends ResourceSchemas, const A2 extends ArchetypeComponents<any>, const TD2 extends ActionDeclarations<any, any, any>, const SYS2 extends SystemDeclarations>(arg1: P1, arg2: PluginSchema<CS2, RS2, A2, TD2, SYS2>): Database.Plugin.Intersect<[P1, Database.Plugin<CS2, RS2, A2, TD2, StringKeyof<SYS2>>]>;
58
- export declare function createPlugin<const CS1 extends ComponentSchemas, const RS1 extends ResourceSchemas, const A1 extends ArchetypeComponents<any>, const TD1 extends ActionDeclarations<any, any, any>, const SYS1 extends {
59
- readonly [K in string]: {
60
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1>>, FromSchemas<RemoveIndexSignature<RS1>>, A1, ToActionFunctions<TD1>, string>) => SystemFunction;
61
- readonly schedule?: {
62
- readonly before?: readonly string[];
63
- readonly after?: readonly string[];
64
- };
65
- };
66
- }, const CS2 extends ComponentSchemas, const RS2 extends ResourceSchemas, const A2 extends ArchetypeComponents<any>, const TD2 extends ActionDeclarations<any, any, any>, const SYS2 extends {
67
- readonly [K in string]: {
68
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1 & CS2>>, FromSchemas<RemoveIndexSignature<RS1 & RS2>>, A1 | A2, ToActionFunctions<TD1 & TD2>, StringKeyof<SYS1 & SYS2>>) => SystemFunction;
69
- readonly schedule?: {
70
- readonly before?: readonly string[];
71
- readonly after?: readonly string[];
72
- };
73
- };
74
- }, const CS3 extends ComponentSchemas, const RS3 extends ResourceSchemas, const A3 extends ArchetypeComponents<any>, const TD3 extends ActionDeclarations<any, any, any>, const SYS3 extends {
75
- readonly [K in string]: {
76
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1 & CS2 & CS3>>, FromSchemas<RemoveIndexSignature<RS1 & RS2 & RS3>>, A1 | A2 | A3, ToActionFunctions<TD1 & TD2 & TD3>, StringKeyof<SYS1 & SYS2 & SYS3>>) => SystemFunction;
77
- readonly schedule?: {
78
- readonly before?: readonly string[];
79
- readonly after?: readonly string[];
80
- };
81
- };
82
- }>(arg1: PluginSchema<CS1, RS1, A1, TD1, SYS1>, arg2: PluginSchema<CS2, RS2, A2, TD2, SYS2>, arg3: PluginSchema<CS3, RS3, A3, TD3, SYS3>): Database.Plugin.Intersect<[
83
- Database.Plugin<CS1, RS1, A1, TD1, StringKeyof<SYS1>>,
84
- Database.Plugin<CS2, RS2, A2, TD2, StringKeyof<SYS2>>,
85
- Database.Plugin<CS3, RS3, A3, TD3, StringKeyof<SYS3>>
86
- ]>;
87
- export declare function createPlugin<const P1 extends Database.Plugin<any, any, any, any, any>, const P2 extends Database.Plugin<any, any, any, any, any>, const CS3 extends ComponentSchemas, const RS3 extends ResourceSchemas, const A3 extends ArchetypeComponents<any>, const TD3 extends ActionDeclarations<any, any, any>, const SYS3 extends SystemDeclarations>(arg1: P1, arg2: P2, arg3: PluginSchema<CS3, RS3, A3, TD3, SYS3>): Database.Plugin.Intersect<[P1, P2, Database.Plugin<CS3, RS3, A3, TD3, StringKeyof<SYS3>>]>;
88
- export declare function createPlugin<const P1 extends Database.Plugin<any, any, any, any, any>, const CS2 extends ComponentSchemas, const RS2 extends ResourceSchemas, const A2 extends ArchetypeComponents<any>, const TD2 extends ActionDeclarations<any, any, any>, const SYS2 extends SystemDeclarations, const CS3 extends ComponentSchemas, const RS3 extends ResourceSchemas, const A3 extends ArchetypeComponents<any>, const TD3 extends ActionDeclarations<any, any, any>, const SYS3 extends SystemDeclarations>(arg1: P1, arg2: PluginSchema<CS2, RS2, A2, TD2, SYS2>, arg3: PluginSchema<CS3, RS3, A3, TD3, SYS3>): Database.Plugin.Intersect<[
89
- P1,
90
- Database.Plugin<CS2, RS2, A2, TD2, StringKeyof<SYS2>>,
91
- Database.Plugin<CS3, RS3, A3, TD3, StringKeyof<SYS3>>
92
- ]>;
93
- export declare function createPlugin<const CS1 extends ComponentSchemas, const RS1 extends ResourceSchemas, const A1 extends ArchetypeComponents<any>, const TD1 extends ActionDeclarations<any, any, any>, const SYS1 extends {
94
- readonly [K in string]: {
95
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1>>, FromSchemas<RemoveIndexSignature<RS1>>, A1, ToActionFunctions<TD1>, string>) => SystemFunction;
96
- readonly schedule?: {
97
- readonly before?: readonly string[];
98
- readonly after?: readonly string[];
99
- };
100
- };
101
- }, const CS2 extends ComponentSchemas, const RS2 extends ResourceSchemas, const A2 extends ArchetypeComponents<any>, const TD2 extends ActionDeclarations<any, any, any>, const SYS2 extends {
102
- readonly [K in string]: {
103
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1 & CS2>>, FromSchemas<RemoveIndexSignature<RS1 & RS2>>, A1 | A2, ToActionFunctions<TD1 & TD2>, StringKeyof<SYS1 & SYS2>>) => SystemFunction;
104
- readonly schedule?: {
105
- readonly before?: readonly string[];
106
- readonly after?: readonly string[];
107
- };
108
- };
109
- }, const CS3 extends ComponentSchemas, const RS3 extends ResourceSchemas, const A3 extends ArchetypeComponents<any>, const TD3 extends ActionDeclarations<any, any, any>, const SYS3 extends {
110
- readonly [K in string]: {
111
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1 & CS2 & CS3>>, FromSchemas<RemoveIndexSignature<RS1 & RS2 & RS3>>, A1 | A2 | A3, ToActionFunctions<TD1 & TD2 & TD3>, StringKeyof<SYS1 & SYS2 & SYS3>>) => SystemFunction;
112
- readonly schedule?: {
113
- readonly before?: readonly string[];
114
- readonly after?: readonly string[];
115
- };
116
- };
117
- }, const CS4 extends ComponentSchemas, const RS4 extends ResourceSchemas, const A4 extends ArchetypeComponents<any>, const TD4 extends ActionDeclarations<any, any, any>, const SYS4 extends {
118
- readonly [K in string]: {
119
- readonly create: (db: Database<FromSchemas<RemoveIndexSignature<CS1 & CS2 & CS3 & CS4>>, FromSchemas<RemoveIndexSignature<RS1 & RS2 & RS3 & RS4>>, A1 | A2 | A3 | A4, ToActionFunctions<TD1 & TD2 & TD3 & TD4>, StringKeyof<SYS1 & SYS2 & SYS3 & SYS4>>) => SystemFunction;
120
- readonly schedule?: {
121
- readonly before?: readonly string[];
122
- readonly after?: readonly string[];
123
- };
124
- };
125
- }>(arg1: PluginSchema<CS1, RS1, A1, TD1, SYS1>, arg2: PluginSchema<CS2, RS2, A2, TD2, SYS2>, arg3: PluginSchema<CS3, RS3, A3, TD3, SYS3>, arg4: PluginSchema<CS4, RS4, A4, TD4, SYS4>): Database.Plugin.Intersect<[
126
- Database.Plugin<CS1, RS1, A1, TD1, StringKeyof<SYS1>>,
127
- Database.Plugin<CS2, RS2, A2, TD2, StringKeyof<SYS2>>,
128
- Database.Plugin<CS3, RS3, A3, TD3, StringKeyof<SYS3>>,
129
- Database.Plugin<CS4, RS4, A4, TD4, StringKeyof<SYS4>>
130
- ]>;
131
- export declare function createPlugin<const P1 extends Database.Plugin<any, any, any, any, any>, const P2 extends Database.Plugin<any, any, any, any, any>, const P3 extends Database.Plugin<any, any, any, any, any>, const CS4 extends ComponentSchemas, const RS4 extends ResourceSchemas, const A4 extends ArchetypeComponents<any>, const TD4 extends ActionDeclarations<any, any, any>, const SYS4 extends SystemDeclarations>(arg1: P1, arg2: P2, arg3: P3, arg4: PluginSchema<CS4, RS4, A4, TD4, SYS4>): Database.Plugin.Intersect<[P1, P2, P3, Database.Plugin<CS4, RS4, A4, TD4, StringKeyof<SYS4>>]>;
132
- export declare function createPlugin<const P1 extends Database.Plugin<any, any, any, any, any>, const P2 extends Database.Plugin<any, any, any, any, any>, const CS3 extends ComponentSchemas, const RS3 extends ResourceSchemas, const A3 extends ArchetypeComponents<any>, const TD3 extends ActionDeclarations<any, any, any>, const SYS3 extends SystemDeclarations, const CS4 extends ComponentSchemas, const RS4 extends ResourceSchemas, const A4 extends ArchetypeComponents<any>, const TD4 extends ActionDeclarations<any, any, any>, const SYS4 extends SystemDeclarations>(arg1: P1, arg2: P2, arg3: PluginSchema<CS3, RS3, A3, TD3, SYS3>, arg4: PluginSchema<CS4, RS4, A4, TD4, SYS4>): Database.Plugin.Intersect<[
133
- P1,
134
- P2,
135
- Database.Plugin<CS3, RS3, A3, TD3, StringKeyof<SYS3>>,
136
- Database.Plugin<CS4, RS4, A4, TD4, StringKeyof<SYS4>>
137
- ]>;
138
- export {};
@@ -1,59 +0,0 @@
1
- /*MIT License
2
-
3
- © Copyright 2025 Adobe. All rights reserved.
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.*/
22
- // Implementation
23
- export function createPlugin(...args) {
24
- const result = args.reduce((acc, curr) => ({
25
- components: { ...acc.components, ...curr.components },
26
- resources: { ...acc.resources, ...curr.resources },
27
- archetypes: { ...acc.archetypes, ...curr.archetypes },
28
- transactions: { ...acc.transactions, ...curr.transactions },
29
- systems: { ...acc.systems, ...curr.systems },
30
- }), {
31
- components: {},
32
- resources: {},
33
- archetypes: {},
34
- transactions: {},
35
- systems: {},
36
- });
37
- // Validate system schedule references
38
- if (result.systems) {
39
- const systemNames = new Set(Object.keys(result.systems));
40
- for (const [systemName, systemDef] of Object.entries(result.systems)) {
41
- const schedule = systemDef?.schedule;
42
- if (schedule) {
43
- const validateRefs = (refs, type) => {
44
- if (refs) {
45
- for (const ref of refs) {
46
- if (!systemNames.has(ref)) {
47
- throw new Error(`System "${systemName}" references non-existent system "${ref}" in schedule.${type}`);
48
- }
49
- }
50
- }
51
- };
52
- validateRefs(schedule.before, 'before');
53
- validateRefs(schedule.after, 'after');
54
- }
55
- }
56
- }
57
- return result;
58
- }
59
- //# sourceMappingURL=create-plugin.OLD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-plugin.OLD.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.OLD.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AA4PX,iBAAiB;AACjB,MAAM,UAAU,YAAY,CAAC,GAAG,IAAW;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QACrD,SAAS,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;QAClD,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QACrD,YAAY,EAAE,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;QAC3D,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;KAC/C,CAAC,EAAE;QACA,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;IAEH,sCAAsC;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAI,SAAiB,EAAE,QAAQ,CAAC;YAC9C,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,YAAY,GAAG,CAAC,IAA0B,EAAE,IAAwB,EAAE,EAAE;oBAC1E,IAAI,IAAI,EAAE,CAAC;wBACP,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;4BACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gCACxB,MAAM,IAAI,KAAK,CACX,WAAW,UAAU,qCAAqC,GAAG,iBAAiB,IAAI,EAAE,CACvF,CAAC;4BACN,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC;gBACF,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACxC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,292 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { Database } from "./database.js";
3
- describe("Database with systems", () => {
4
- it("should create empty database with no systems", () => {
5
- const db = Database.create();
6
- expect(db.system.functions).toEqual({});
7
- expect(db.system.order).toEqual([]);
8
- });
9
- it("should create database from plugin with systems", () => {
10
- const executionLog = [];
11
- const plugin = Database.Plugin.create({
12
- components: {
13
- position: { type: "object", default: { x: 0, y: 0, z: 0 } }
14
- }
15
- }, {
16
- systems: {
17
- updateSystem: {
18
- create: (_db) => () => {
19
- executionLog.push("update");
20
- }
21
- },
22
- renderSystem: {
23
- create: (_db) => () => {
24
- executionLog.push("render");
25
- }
26
- }
27
- }
28
- });
29
- const db = Database.create(plugin);
30
- expect(db.system.functions.updateSystem).toBeDefined();
31
- expect(db.system.functions.renderSystem).toBeDefined();
32
- expect(db.system.order).toHaveLength(1);
33
- expect(db.system.order[0]).toHaveLength(2);
34
- // Execute systems
35
- db.system.functions.updateSystem();
36
- db.system.functions.renderSystem();
37
- expect(executionLog).toEqual(["update", "render"]);
38
- });
39
- it("should respect system scheduling dependencies", () => {
40
- const executionLog = [];
41
- const plugin = Database.Plugin.create({
42
- components: {
43
- position: { type: "object", default: { x: 0, y: 0, z: 0 } }
44
- },
45
- systems: {
46
- inputSystem: {
47
- create: (_db) => () => {
48
- executionLog.push("input");
49
- }
50
- },
51
- physicsSystem: {
52
- create: (_db) => () => {
53
- executionLog.push("physics");
54
- },
55
- schedule: {
56
- after: ["inputSystem"]
57
- }
58
- },
59
- renderSystem: {
60
- create: (_db) => () => {
61
- executionLog.push("render");
62
- },
63
- schedule: {
64
- after: ["physicsSystem"]
65
- }
66
- }
67
- }
68
- });
69
- const db = Database.create(plugin);
70
- // Should have 3 tiers: input -> physics -> render
71
- expect(db.system.order).toHaveLength(3);
72
- expect(db.system.order[0]).toEqual(["inputSystem"]);
73
- expect(db.system.order[1]).toEqual(["physicsSystem"]);
74
- expect(db.system.order[2]).toEqual(["renderSystem"]);
75
- // Execute in order
76
- for (const tier of db.system.order) {
77
- for (const systemName of tier) {
78
- db.system.functions[systemName]();
79
- }
80
- }
81
- expect(executionLog).toEqual(["input", "physics", "render"]);
82
- });
83
- it("should support parallel system execution in same tier", () => {
84
- const plugin = Database.Plugin.create({
85
- components: {},
86
- archetypes: {},
87
- systems: {
88
- system1: {
89
- create: (_db) => () => { }
90
- },
91
- system2: {
92
- create: (_db) => () => { }
93
- },
94
- system3: {
95
- create: (_db) => () => { }
96
- }
97
- }
98
- });
99
- const db = Database.create(plugin);
100
- // All independent systems should be in one tier
101
- expect(db.system.order).toHaveLength(1);
102
- expect(db.system.order[0]).toHaveLength(3);
103
- });
104
- it("should support async systems", async () => {
105
- const executionLog = [];
106
- const plugin = Database.Plugin.create({
107
- components: {},
108
- archetypes: {},
109
- systems: {
110
- asyncSystem: {
111
- create: (_db) => async () => {
112
- await new Promise(resolve => setTimeout(resolve, 10));
113
- executionLog.push("async");
114
- }
115
- }
116
- }
117
- });
118
- const db = Database.create(plugin);
119
- await db.system.functions.asyncSystem();
120
- expect(executionLog).toEqual(["async"]);
121
- });
122
- it("should allow systems to access database", () => {
123
- const plugin = Database.Plugin.create({
124
- components: {
125
- position: { type: "object", default: { x: 0, y: 0, z: 0 } }
126
- },
127
- resources: {
128
- time: { default: 0 }
129
- },
130
- archetypes: {
131
- Entity: ["position"]
132
- },
133
- systems: {
134
- updateSystem: {
135
- create: (db) => () => {
136
- // System can access database
137
- const entities = db.select(["position"]);
138
- expect(Array.isArray(entities)).toBe(true);
139
- expect(db.resources.time).toBe(0);
140
- }
141
- }
142
- }
143
- });
144
- const db = Database.create(plugin);
145
- db.system.functions.updateSystem();
146
- });
147
- it("should extend database with new systems", () => {
148
- const executionLog = [];
149
- const basePlugin = Database.Plugin.create({
150
- components: {
151
- position: { type: "object", default: { x: 0, y: 0, z: 0 } }
152
- },
153
- systems: {
154
- updateSystem: {
155
- create: (_db) => () => {
156
- executionLog.push("update");
157
- }
158
- }
159
- }
160
- });
161
- const extensionPlugin = Database.Plugin.create({
162
- components: {
163
- velocity: { type: "object", default: { x: 0, y: 0, z: 0 } }
164
- },
165
- systems: {
166
- physicsSystem: {
167
- create: (_db) => () => {
168
- executionLog.push("physics");
169
- }
170
- }
171
- }
172
- });
173
- const db = Database.create(basePlugin);
174
- const extended = db.extend(extensionPlugin);
175
- expect(extended.system.functions.updateSystem).toBeDefined();
176
- expect(extended.system.functions.physicsSystem).toBeDefined();
177
- // Both systems should be available
178
- extended.system.functions.updateSystem();
179
- extended.system.functions.physicsSystem();
180
- expect(executionLog).toEqual(["update", "physics"]);
181
- });
182
- it("should maintain system order when extending", () => {
183
- const basePlugin = Database.Plugin.create({
184
- components: {},
185
- archetypes: {},
186
- systems: {
187
- system1: {
188
- create: (_db) => () => { }
189
- }
190
- }
191
- });
192
- const extensionPlugin = Database.Plugin.create({
193
- components: {},
194
- archetypes: {},
195
- systems: {
196
- system2: {
197
- create: (_db) => () => { },
198
- schedule: {
199
- after: ["system1"]
200
- }
201
- }
202
- }
203
- });
204
- const db = Database.create(basePlugin);
205
- const extended = db.extend(extensionPlugin);
206
- // system2 should be scheduled after system1
207
- expect(extended.system.order).toHaveLength(2);
208
- expect(extended.system.order[0]).toEqual(["system1"]);
209
- expect(extended.system.order[1]).toEqual(["system2"]);
210
- });
211
- it("should extend database without systems and return same instance", () => {
212
- const plugin = Database.Plugin.create({
213
- components: {
214
- position: { type: "object", default: { x: 0, y: 0, z: 0 } }
215
- }
216
- });
217
- const extensionPlugin = Database.Plugin.create({
218
- components: {
219
- velocity: { type: "object", default: { x: 0, y: 0, z: 0 } }
220
- }
221
- });
222
- const db = Database.create(plugin);
223
- const extended = db.extend(extensionPlugin);
224
- // When no systems involved, should return same instance
225
- expect(extended).toBe(db);
226
- });
227
- it("should create new database instance when extending with systems", () => {
228
- const basePlugin = Database.Plugin.create({
229
- components: {
230
- position: { type: "object", default: { x: 0, y: 0, z: 0 } }
231
- },
232
- systems: {
233
- system1: {
234
- create: (_db) => () => { }
235
- }
236
- }
237
- });
238
- const extensionPlugin = Database.Plugin.create({
239
- components: {},
240
- systems: {
241
- system2: {
242
- create: (_db) => () => { }
243
- }
244
- }
245
- });
246
- const db = Database.create(basePlugin);
247
- const extended = db.extend(extensionPlugin);
248
- // When systems are involved, should create new instance
249
- expect(extended).not.toBe(db);
250
- });
251
- it("should support plugin composition through dependencies", () => {
252
- const executionLog = [];
253
- const inputPlugin = Database.Plugin.create({
254
- components: {},
255
- systems: {
256
- inputSystem: {
257
- create: (_db) => () => {
258
- executionLog.push("input");
259
- }
260
- }
261
- }
262
- });
263
- const physicsPlugin = Database.Plugin.create(inputPlugin, {
264
- components: {
265
- velocity: { type: "object", default: { x: 0, y: 0, z: 0 } }
266
- }
267
- }, {
268
- systems: {
269
- physicsSystem: {
270
- create: (_db) => () => {
271
- executionLog.push("physics");
272
- },
273
- schedule: {
274
- after: ["inputSystem"]
275
- }
276
- }
277
- }
278
- });
279
- const db = Database.create(physicsPlugin);
280
- // Should have both systems
281
- expect(db.system.functions.inputSystem).toBeDefined();
282
- expect(db.system.functions.physicsSystem).toBeDefined();
283
- // Execute in order
284
- for (const tier of db.system.order) {
285
- for (const systemName of tier) {
286
- db.system.functions[systemName]();
287
- }
288
- }
289
- expect(executionLog).toEqual(["input", "physics"]);
290
- });
291
- });
292
- //# sourceMappingURL=database-with-systems.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-with-systems.test.js","sourceRoot":"","sources":["../../../src/ecs/database/database-with-systems.test.ts"],"names":[],"mappings":"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"}