@adobe/data 0.2.9 → 0.2.11

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 (198) hide show
  1. package/dist/README.md +310 -0
  2. package/dist/cache/functions/bind-functions.d.ts +6 -0
  3. package/dist/cache/functions/bind-functions.js +33 -0
  4. package/dist/cache/functions/bind-functions.js.map +1 -0
  5. package/dist/cache/functions/omit.d.ts +1 -0
  6. package/dist/cache/functions/omit.js +29 -0
  7. package/dist/cache/functions/omit.js.map +1 -0
  8. package/dist/cache/functions/types.d.ts +1 -0
  9. package/dist/cache/functions/types.js +23 -0
  10. package/dist/cache/functions/types.js.map +1 -0
  11. package/dist/cache/memory-allocator.js +23 -1
  12. package/dist/cache/memory-allocator.js.map +1 -1
  13. package/dist/core/data.d.ts +22 -0
  14. package/dist/core/data.js +52 -0
  15. package/dist/core/data.js.map +1 -0
  16. package/dist/core/data.test.d.ts +1 -0
  17. package/dist/core/data.test.js +48 -0
  18. package/dist/core/data.test.js.map +1 -0
  19. package/dist/core/functions/array-equals.d.ts +1 -0
  20. package/dist/core/functions/array-equals.js +34 -0
  21. package/dist/core/functions/array-equals.js.map +1 -0
  22. package/dist/core/functions/deep-merge.d.ts +32 -0
  23. package/dist/core/functions/deep-merge.js +54 -0
  24. package/dist/core/functions/deep-merge.js.map +1 -0
  25. package/dist/core/functions/deep-merge.test.d.ts +1 -0
  26. package/dist/core/functions/deep-merge.test.js +94 -0
  27. package/dist/core/functions/deep-merge.test.js.map +1 -0
  28. package/dist/core/functions/index.d.ts +3 -0
  29. package/dist/core/functions/index.js +25 -0
  30. package/dist/core/functions/index.js.map +1 -0
  31. package/dist/core/functions/is-async-generator.d.ts +1 -0
  32. package/dist/core/functions/is-async-generator.js +25 -0
  33. package/dist/core/functions/is-async-generator.js.map +1 -0
  34. package/dist/core/functions/is-promise.d.ts +1 -0
  35. package/dist/core/functions/is-promise.js +26 -0
  36. package/dist/core/functions/is-promise.js.map +1 -0
  37. package/dist/core/functions/with-validation.d.ts +5 -0
  38. package/dist/core/functions/with-validation.js +38 -0
  39. package/dist/core/functions/with-validation.js.map +1 -0
  40. package/dist/core/functions/with-validation.test.d.ts +1 -0
  41. package/dist/core/functions/with-validation.test.js +96 -0
  42. package/dist/core/functions/with-validation.test.js.map +1 -0
  43. package/dist/core/index.d.ts +3 -0
  44. package/dist/core/index.js +25 -0
  45. package/dist/core/index.js.map +1 -0
  46. package/dist/core/schema/dynamic/dynamic-schema.d.ts +27 -0
  47. package/dist/core/schema/dynamic/dynamic-schema.js +2 -0
  48. package/dist/core/schema/dynamic/dynamic-schema.js.map +1 -0
  49. package/dist/core/schema/dynamic/enumerate-patches.d.ts +9 -0
  50. package/dist/core/schema/dynamic/enumerate-patches.js +50 -0
  51. package/dist/core/schema/dynamic/enumerate-patches.js.map +1 -0
  52. package/dist/core/schema/dynamic/enumerate-patches.test.d.ts +134 -0
  53. package/dist/core/schema/dynamic/enumerate-patches.test.js +209 -0
  54. package/dist/core/schema/dynamic/enumerate-patches.test.js.map +1 -0
  55. package/dist/core/schema/dynamic/get-dynamic-schema.d.ts +5 -0
  56. package/dist/core/schema/dynamic/get-dynamic-schema.js +26 -0
  57. package/dist/core/schema/dynamic/get-dynamic-schema.js.map +1 -0
  58. package/dist/core/schema/dynamic/get-dynamic-schema.test.d.ts +1 -0
  59. package/dist/core/schema/dynamic/get-dynamic-schema.test.js +94 -0
  60. package/dist/core/schema/dynamic/get-dynamic-schema.test.js.map +1 -0
  61. package/dist/core/schema/dynamic/index.d.ts +1 -0
  62. package/dist/core/schema/dynamic/index.js +2 -0
  63. package/dist/core/schema/dynamic/index.js.map +1 -0
  64. package/dist/core/schema/dynamic/schema-path-value-path.d.ts +5 -0
  65. package/dist/core/schema/dynamic/schema-path-value-path.js +12 -0
  66. package/dist/core/schema/dynamic/schema-path-value-path.js.map +1 -0
  67. package/dist/core/schema/dynamic-schema.d.ts +27 -0
  68. package/dist/core/schema/dynamic-schema.js +2 -0
  69. package/dist/core/schema/dynamic-schema.js.map +1 -0
  70. package/dist/core/schema/index.d.ts +4 -0
  71. package/dist/core/schema/index.js +26 -0
  72. package/dist/core/schema/index.js.map +1 -0
  73. package/dist/core/schema/schema.d.ts +122 -0
  74. package/dist/core/schema/schema.js +34 -0
  75. package/dist/core/schema/schema.js.map +1 -0
  76. package/dist/core/schema/schemas.d.ts +45 -0
  77. package/dist/core/schema/schemas.js +39 -0
  78. package/dist/core/schema/schemas.js.map +1 -0
  79. package/dist/core/schema/ui-schema.d.ts +25 -0
  80. package/dist/core/schema/ui-schema.js +2 -0
  81. package/dist/core/schema/ui-schema.js.map +1 -0
  82. package/dist/core/schema/validation/is-valid.d.ts +2 -0
  83. package/dist/core/schema/validation/is-valid.js +14 -0
  84. package/dist/core/schema/validation/is-valid.js.map +1 -0
  85. package/dist/core/schema/validation/is-valid.test.d.ts +1 -0
  86. package/dist/core/schema/validation/is-valid.test.js +40 -0
  87. package/dist/core/schema/validation/is-valid.test.js.map +1 -0
  88. package/dist/core/schema/validation/validate.d.ts +2 -0
  89. package/dist/core/schema/validation/validate.js +38 -0
  90. package/dist/core/schema/validation/validate.js.map +1 -0
  91. package/dist/core/schema/validation/validate.test.d.ts +1 -0
  92. package/dist/core/schema/validation/validate.test.js +106 -0
  93. package/dist/core/schema/validation/validate.test.js.map +1 -0
  94. package/dist/core/schema/validation/with-validation.d.ts +5 -0
  95. package/dist/core/schema/validation/with-validation.js +16 -0
  96. package/dist/core/schema/validation/with-validation.js.map +1 -0
  97. package/dist/core/schema/validation/with-validation.test.d.ts +1 -0
  98. package/dist/core/schema/validation/with-validation.test.js +96 -0
  99. package/dist/core/schema/validation/with-validation.test.js.map +1 -0
  100. package/dist/core/schema.d.ts +86 -0
  101. package/dist/core/schema.js +33 -0
  102. package/dist/core/schema.js.map +1 -0
  103. package/dist/core/schema.test.d.ts +1 -0
  104. package/dist/core/schema.test.js +16 -0
  105. package/dist/core/schema.test.js.map +1 -0
  106. package/dist/core/schemas.d.ts +45 -0
  107. package/dist/core/schemas.js +39 -0
  108. package/dist/core/schemas.js.map +1 -0
  109. package/dist/ecs/action-ecs/action-ecs.d.ts +19 -0
  110. package/dist/ecs/action-ecs/action-ecs.js +203 -0
  111. package/dist/ecs/action-ecs/action-ecs.js.map +1 -0
  112. package/dist/ecs/action-ecs/action-ecs.test.d.ts +1 -0
  113. package/dist/ecs/action-ecs/action-ecs.test.js +362 -0
  114. package/dist/ecs/action-ecs/action-ecs.test.js.map +1 -0
  115. package/dist/ecs/action-ecs/action-types.d.ts +106 -0
  116. package/dist/ecs/action-ecs/action-types.js +19 -0
  117. package/dist/ecs/action-ecs/action-types.js.map +1 -0
  118. package/dist/ecs/action-ecs/index.d.ts +2 -0
  119. package/dist/ecs/action-ecs/index.js +23 -0
  120. package/dist/ecs/action-ecs/index.js.map +1 -0
  121. package/dist/ecs/core-ecs/core-ecs-serialization.test.d.ts +1 -0
  122. package/dist/ecs/core-ecs/core-ecs-serialization.test.js +230 -0
  123. package/dist/ecs/core-ecs/core-ecs-serialization.test.js.map +1 -0
  124. package/dist/ecs/core-ecs/core-ecs-types.d.ts +141 -0
  125. package/dist/ecs/core-ecs/core-ecs-types.js +23 -0
  126. package/dist/ecs/core-ecs/core-ecs-types.js.map +1 -0
  127. package/dist/ecs/core-ecs/core-ecs.d.ts +7 -0
  128. package/dist/ecs/core-ecs/core-ecs.js +492 -0
  129. package/dist/ecs/core-ecs/core-ecs.js.map +1 -0
  130. package/dist/ecs/core-ecs/core-ecs.test.d.ts +1 -0
  131. package/dist/ecs/core-ecs/core-ecs.test.js +425 -0
  132. package/dist/ecs/core-ecs/core-ecs.test.js.map +1 -0
  133. package/dist/ecs/core-ecs/index.d.ts +1 -0
  134. package/dist/ecs/core-ecs/index.js +2 -0
  135. package/dist/ecs/core-ecs/index.js.map +1 -0
  136. package/dist/ecs/database/database-schema/create-database-schema-test.js +0 -2
  137. package/dist/ecs/database/database-schema/create-database-schema-test.js.map +1 -1
  138. package/dist/ecs/ecs/ecs-types.d.ts +132 -0
  139. package/dist/ecs/ecs/ecs-types.js +23 -0
  140. package/dist/ecs/ecs/ecs-types.js.map +1 -0
  141. package/dist/ecs/ecs/ecs-where-functions.d.ts +6 -0
  142. package/dist/ecs/ecs/ecs-where-functions.js +91 -0
  143. package/dist/ecs/ecs/ecs-where-functions.js.map +1 -0
  144. package/dist/ecs/ecs/ecs.d.ts +13 -0
  145. package/dist/ecs/ecs/ecs.js +177 -0
  146. package/dist/ecs/ecs/ecs.js.map +1 -0
  147. package/dist/ecs/ecs/ecs.test.d.ts +1 -0
  148. package/dist/ecs/ecs/ecs.test.js +399 -0
  149. package/dist/ecs/ecs/ecs.test.js.map +1 -0
  150. package/dist/ecs/ecs/index.d.ts +3 -0
  151. package/dist/ecs/ecs/index.js +3 -0
  152. package/dist/ecs/ecs/index.js.map +1 -0
  153. package/dist/ecs/entity-location-table/create-entity-location-table.js +5 -3
  154. package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  155. package/dist/ecs/store/core/create-core.js +4 -0
  156. package/dist/ecs/store/core/create-core.js.map +1 -1
  157. package/dist/ecs/transaction-ecs/index.d.ts +2 -0
  158. package/dist/ecs/transaction-ecs/index.js +24 -0
  159. package/dist/ecs/transaction-ecs/index.js.map +1 -0
  160. package/dist/ecs/transaction-ecs/transaction-ecs.d.ts +11 -0
  161. package/dist/ecs/transaction-ecs/transaction-ecs.js +184 -0
  162. package/dist/ecs/transaction-ecs/transaction-ecs.js.map +1 -0
  163. package/dist/ecs/transaction-ecs/transaction-ecs.test.d.ts +1 -0
  164. package/dist/ecs/transaction-ecs/transaction-ecs.test.js +599 -0
  165. package/dist/ecs/transaction-ecs/transaction-ecs.test.js.map +1 -0
  166. package/dist/ecs/transaction-ecs/transaction-types.d.ts +135 -0
  167. package/dist/ecs/transaction-ecs/transaction-types.js +2 -0
  168. package/dist/ecs/transaction-ecs/transaction-types.js.map +1 -0
  169. package/dist/ecs/transaction-ecs/transactions.d.ts +5 -0
  170. package/dist/ecs/transaction-ecs/transactions.js +158 -0
  171. package/dist/ecs/transaction-ecs/transactions.js.map +1 -0
  172. package/dist/internal/array-buffer-like/grow.d.ts +1 -1
  173. package/dist/internal/array-buffer-like/grow.js +1 -49
  174. package/dist/internal/array-buffer-like/grow.js.map +1 -1
  175. package/dist/internal/shared-array-buffer/create-shared-array-buffer.d.ts +1 -0
  176. package/dist/internal/shared-array-buffer/create-shared-array-buffer.js +28 -0
  177. package/dist/internal/shared-array-buffer/create-shared-array-buffer.js.map +1 -0
  178. package/dist/internal/typed-array/get-byte-size.d.ts +1 -1
  179. package/dist/package.json +129 -0
  180. package/dist/schema/schema.d.ts +1 -0
  181. package/dist/schemas/index.d.ts +1 -0
  182. package/dist/schemas/index.js +23 -0
  183. package/dist/schemas/index.js.map +1 -0
  184. package/dist/schemas/schemas.d.ts +45 -0
  185. package/dist/schemas/schemas.js +39 -0
  186. package/dist/schemas/schemas.js.map +1 -0
  187. package/dist/service/sequential-action.d.ts +18 -0
  188. package/dist/service/sequential-action.js +45 -0
  189. package/dist/service/sequential-action.js.map +1 -0
  190. package/dist/tsconfig.tsbuildinfo +1 -1
  191. package/dist/typed-buffer/create-number-buffer.js +2 -1
  192. package/dist/typed-buffer/create-number-buffer.js.map +1 -1
  193. package/dist/typed-buffer/create-struct-buffer.js +3 -2
  194. package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
  195. package/package.json +1 -1
  196. package/dist/ecs/database/database-schema/create-database-from-schema.d.ts +0 -12
  197. package/dist/ecs/database/database-schema/create-database-from-schema.js +0 -8
  198. package/dist/ecs/database/database-schema/create-database-from-schema.js.map +0 -1
@@ -0,0 +1,184 @@
1
+ import { createECS } from "../ecs/ecs.js";
2
+ import { createECSTransaction } from "./transactions.js";
3
+ import { arrayEquals } from "../../core/functions/array-equals.js";
4
+ // we want to cache this a well on each array.
5
+ function isASubsetOfB(a, b) {
6
+ if (a !== b) {
7
+ const bSet = new Set(b);
8
+ for (const value of a) {
9
+ if (!bSet.has(value)) {
10
+ return false;
11
+ }
12
+ }
13
+ }
14
+ return true;
15
+ }
16
+ /**
17
+ * Creates a new TransactionECS.
18
+ * Transactional ECS instances do not allow direct write access.
19
+ * Instead you use transactions to make changes to the ECS.
20
+ * They also provide observability for changes to the ECS.
21
+ */
22
+ export function createTransactionECS(ecs = createECS()) {
23
+ const { components, archetypes, resources, ...rest } = ecs;
24
+ const withComponents = (newComponents) => {
25
+ ecs.withComponents(newComponents);
26
+ return tecs;
27
+ };
28
+ const withArchetypes = (newArchetypes) => {
29
+ ecs.withArchetypes(newArchetypes);
30
+ return tecs;
31
+ };
32
+ const withResources = (newResources) => {
33
+ ecs.withResources(newResources);
34
+ return tecs;
35
+ };
36
+ const transactionObservers = new Set();
37
+ const notifyTransactions = (transaction, changed) => {
38
+ // notify all transaction observers.
39
+ for (const observer of transactionObservers) {
40
+ observer(transaction);
41
+ }
42
+ // notify all observers of the entities and components that changed.
43
+ const observers = new Set();
44
+ const addObservers = (map, key) => {
45
+ const set = map.get(key);
46
+ if (set) {
47
+ for (const observer of set) {
48
+ observers.add(observer);
49
+ }
50
+ }
51
+ };
52
+ for (const entity of changed.entities) {
53
+ addObservers(entityObservers, entity);
54
+ }
55
+ for (const name of changed.components) {
56
+ addObservers(componentObservers, name);
57
+ }
58
+ for (const archetype of changed.archetypes) {
59
+ for (const observedArchetype of archetypeObservers.keys()) {
60
+ const isSubset = isASubsetOfB(observedArchetype.components, archetype.components);
61
+ if (isSubset) {
62
+ addObservers(archetypeObservers, observedArchetype);
63
+ }
64
+ }
65
+ }
66
+ for (const observer of observers) {
67
+ observer();
68
+ }
69
+ };
70
+ const transactions = (callback) => {
71
+ transactionObservers.add(callback);
72
+ return () => transactionObservers.delete(callback);
73
+ };
74
+ const createTransaction = (options) => {
75
+ return createECSTransaction(tecs, ecs, { undoable: true, createdTime: Date.now(), createdBy: "", ...options }, notifyTransactions);
76
+ };
77
+ const addToMapSet = (key, map, value) => {
78
+ let set = map.get(key);
79
+ if (set) {
80
+ set.add(value);
81
+ }
82
+ else {
83
+ map.set(key, (set = new Set([value])));
84
+ }
85
+ return () => {
86
+ set.delete(value);
87
+ };
88
+ };
89
+ const entityObservers = new Map();
90
+ const observeEntityChanges = (entity) => (callback) => {
91
+ return addToMapSet(entity, entityObservers, callback);
92
+ };
93
+ function observeEntityValues(id, archetype) {
94
+ return (callback) => {
95
+ const notify = () => {
96
+ callback(ecs.getEntityValues(id, archetype));
97
+ };
98
+ // callback immediately to get the current value.
99
+ notify();
100
+ // callback again whenever the entity changes.
101
+ const entityChanges = observeEntityChanges(id);
102
+ return entityChanges(notify);
103
+ };
104
+ }
105
+ const componentObservers = new Map();
106
+ const resourceObservables = new Map();
107
+ const observeResource = (key) => {
108
+ // Return cached observable if it exists
109
+ const cached = resourceObservables.get(key);
110
+ if (cached) {
111
+ return cached;
112
+ }
113
+ // Create new observable
114
+ const observable = (callback) => {
115
+ const notify = () => {
116
+ callback(resources[key]);
117
+ };
118
+ // callback immediately to get the current value.
119
+ notify();
120
+ // callback again whenever the resource changes.
121
+ const resourceChanges = observeComponent(key);
122
+ return resourceChanges(notify);
123
+ };
124
+ // Cache the observable
125
+ resourceObservables.set(key, observable);
126
+ return observable;
127
+ };
128
+ const observeComponent = (component) => (callback) => {
129
+ return addToMapSet(component, componentObservers, callback);
130
+ };
131
+ const archetypeObservers = new Map();
132
+ const observeArchetypeChanges = (archetype) => (callback) => {
133
+ return addToMapSet(archetype, archetypeObservers, callback);
134
+ };
135
+ const observeArchetypeEntities = (archetype, options) => {
136
+ return (callback) => {
137
+ let lastValue;
138
+ const notify = () => {
139
+ const newValue = ecs.selectEntities(archetype, options);
140
+ if (!lastValue || !arrayEquals(lastValue, newValue)) {
141
+ lastValue = newValue;
142
+ callback(newValue);
143
+ }
144
+ };
145
+ notify();
146
+ return observeArchetypeChanges(archetype)(notify);
147
+ };
148
+ };
149
+ const createResourceObserver = () => {
150
+ const handler = {
151
+ get(target, prop) {
152
+ if (typeof prop === 'string' && prop in resources) {
153
+ return observeResource(prop);
154
+ }
155
+ return target[prop];
156
+ },
157
+ apply(target, thisArg, args) {
158
+ return target.apply(thisArg, args);
159
+ }
160
+ };
161
+ return new Proxy(observeResource, handler);
162
+ };
163
+ const tecs = {
164
+ ...rest,
165
+ withComponents,
166
+ withArchetypes,
167
+ withResources,
168
+ createTransaction,
169
+ observe: {
170
+ transactions,
171
+ resource: createResourceObserver(),
172
+ entityValues: observeEntityValues,
173
+ entityChanges: observeEntityChanges,
174
+ componentChanges: observeComponent,
175
+ archetypeChanges: observeArchetypeChanges,
176
+ archetypeEntities: observeArchetypeEntities,
177
+ },
178
+ components,
179
+ archetypes,
180
+ resources,
181
+ };
182
+ return tecs;
183
+ }
184
+ //# sourceMappingURL=transaction-ecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-ecs.js","sourceRoot":"","sources":["../../../src/ecs/transaction-ecs/transaction-ecs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};