@adobe/data 0.3.3 → 0.4.0

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 (84) hide show
  1. package/dist/ecs/database/create-database.d.ts +1 -1
  2. package/dist/ecs/database/create-database.js +22 -23
  3. package/dist/ecs/database/create-database.js.map +1 -1
  4. package/dist/ecs/database/create-database.test.js +44 -57
  5. package/dist/ecs/database/create-database.test.js.map +1 -1
  6. package/dist/ecs/database/database-schema/create-database-schema-test.js +6 -8
  7. package/dist/ecs/database/database-schema/create-database-schema-test.js.map +1 -1
  8. package/dist/ecs/database/database-schema/create-database-schema.d.ts +2 -3
  9. package/dist/ecs/database/database-schema/create-database-schema.js.map +1 -1
  10. package/dist/ecs/database/database-schema/database-schema.d.ts +3 -3
  11. package/dist/ecs/database/database.d.ts +6 -6
  12. package/dist/ecs/database/observe-dependent-value.test.js +21 -21
  13. package/dist/ecs/database/observe-dependent-value.test.js.map +1 -1
  14. package/dist/ecs/database/observe-select-entities.performance.test.js +11 -11
  15. package/dist/ecs/database/observe-select-entities.performance.test.js.map +1 -1
  16. package/dist/ecs/database/observe-select-entities.test.js +11 -11
  17. package/dist/ecs/database/observe-select-entities.test.js.map +1 -1
  18. package/dist/ecs/database/transactional-store/apply-operations.d.ts +2 -0
  19. package/dist/ecs/database/transactional-store/apply-operations.js +20 -0
  20. package/dist/ecs/database/transactional-store/apply-operations.js.map +1 -0
  21. package/dist/ecs/database/transactional-store/apply-write-operations.d.ts +7 -0
  22. package/dist/ecs/database/transactional-store/apply-write-operations.js +20 -0
  23. package/dist/ecs/database/transactional-store/apply-write-operations.js.map +1 -0
  24. package/dist/ecs/database/transactional-store/applyWriteOperations.d.ts +7 -0
  25. package/dist/ecs/database/transactional-store/applyWriteOperations.js +20 -0
  26. package/dist/ecs/database/transactional-store/applyWriteOperations.js.map +1 -0
  27. package/dist/ecs/database/transactional-store/coalesce-transactions.d.ts +12 -0
  28. package/dist/ecs/database/transactional-store/coalesce-transactions.js +151 -0
  29. package/dist/ecs/database/transactional-store/coalesce-transactions.js.map +1 -0
  30. package/dist/ecs/database/transactional-store/coalesce-transactions.test.d.ts +1 -0
  31. package/dist/ecs/database/transactional-store/coalesce-transactions.test.js +356 -0
  32. package/dist/ecs/database/transactional-store/coalesce-transactions.test.js.map +1 -0
  33. package/dist/ecs/database/transactional-store/create-transactional-store.js +6 -1
  34. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  35. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +4 -4
  36. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  37. package/dist/ecs/database/transactional-store/transaction-options.d.ts +12 -0
  38. package/dist/ecs/database/transactional-store/transaction-options.js +23 -0
  39. package/dist/ecs/database/transactional-store/transaction-options.js.map +1 -0
  40. package/dist/ecs/database/transactional-store/transactional-store.d.ts +7 -1
  41. package/dist/ecs/database/transactional-store/undoable.d.ts +13 -0
  42. package/dist/ecs/database/transactional-store/undoable.js +23 -0
  43. package/dist/ecs/database/transactional-store/undoable.js.map +1 -0
  44. package/dist/ecs/database/transactional-store/with-undoable.d.ts +10 -0
  45. package/dist/ecs/database/transactional-store/with-undoable.js +13 -0
  46. package/dist/ecs/database/transactional-store/with-undoable.js.map +1 -0
  47. package/dist/ecs/database/undoable.d.ts +8 -0
  48. package/dist/ecs/database/undoable.js +23 -0
  49. package/dist/ecs/database/undoable.js.map +1 -0
  50. package/dist/ecs/database/with-undoable.d.ts +10 -0
  51. package/dist/ecs/database/with-undoable.js +13 -0
  52. package/dist/ecs/database/with-undoable.js.map +1 -0
  53. package/dist/ecs/undo-redo/create-undo-redo-actions.d.ts +10 -0
  54. package/dist/ecs/undo-redo/create-undo-redo-actions.js +48 -0
  55. package/dist/ecs/undo-redo/create-undo-redo-actions.js.map +1 -0
  56. package/dist/ecs/undo-redo/create-undo-redo-actions.test.d.ts +1 -0
  57. package/dist/ecs/undo-redo/create-undo-redo-actions.test.js +295 -0
  58. package/dist/ecs/undo-redo/create-undo-redo-actions.test.js.map +1 -0
  59. package/dist/ecs/undo-redo/do.d.ts +3 -0
  60. package/dist/ecs/undo-redo/do.js +3 -0
  61. package/dist/ecs/undo-redo/do.js.map +1 -0
  62. package/dist/equals.js.map +1 -1
  63. package/dist/functions/serialization/register-blob-codecs.d.ts +1 -0
  64. package/dist/functions/serialization/register-blob-codecs.js +10 -0
  65. package/dist/functions/serialization/register-blob-codecs.js.map +1 -0
  66. package/dist/functions/serialization/register-typed-array-codecs copy.d.ts +1 -0
  67. package/dist/functions/serialization/register-typed-array-codecs copy.js +13 -0
  68. package/dist/functions/serialization/register-typed-array-codecs copy.js.map +1 -0
  69. package/dist/functions/serialization/serialization.test.js +11 -3
  70. package/dist/functions/serialization/serialization.test.js.map +1 -1
  71. package/dist/functions/serialization/serialize.js +0 -1
  72. package/dist/functions/serialization/serialize.js.map +1 -1
  73. package/dist/schema/index.d.ts +1 -1
  74. package/dist/schema/index.js +1 -1
  75. package/dist/schema/index.js.map +1 -1
  76. package/dist/schema/schema.d.ts +4 -1
  77. package/dist/schema/schema.js.map +1 -1
  78. package/dist/schema/validation/index.d.ts +2 -0
  79. package/dist/schema/validation/index.js +24 -0
  80. package/dist/schema/validation/index.js.map +1 -0
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
  83. package/dist/types/types.d.ts +1 -1
  84. package/package.json +1 -1
@@ -4,26 +4,26 @@ import { ReadonlyStore } from "../store/index.js";
4
4
  import { Entity } from "../entity.js";
5
5
  import { EntityReadValues } from "../store/core/index.js";
6
6
  import { Observe } from "../../observe/index.js";
7
- import { TransactionResult } from "./transactional-store/index.js";
7
+ import { Transaction, TransactionResult } from "./transactional-store/index.js";
8
8
  import { StringKeyof } from "../../types/types.js";
9
9
  import { Components } from "../store/components.js";
10
10
  import { ArchetypeComponents } from "../store/archetype-components.js";
11
11
  import { CoreComponents } from "../core-components.js";
12
12
  import { EntitySelectOptions } from "../store/entity-select-options.js";
13
- export type TransactionDeclaration<Input extends any | void = any> = (input: Input) => void | Entity;
13
+ export type TransactionDeclaration<C extends Components, R extends ResourceComponents, A extends ArchetypeComponents<StringKeyof<C>>, Input extends any | void = any> = (t: Transaction<C, R, A>, input: Input) => void | Entity;
14
14
  export type TransactionDeclarations = object;
15
15
  export type AsyncArgsProvider<T> = () => Promise<T> | AsyncGenerator<T>;
16
16
  /**
17
- * Converts from TransactionDeclarations to TransactionFunctions by removing the initial database argument.
17
+ * Converts from TransactionDeclarations to TransactionFunctions by removing the initial store argument.
18
18
  */
19
19
  export type ToTransactionFunctions<T> = {
20
- [K in keyof T]: T[K] extends () => infer R ? R extends void | Entity ? () => R : never : T[K] extends (input: infer Input) => infer R ? R extends void | Entity ? (arg: Input | AsyncArgsProvider<Input>) => R : never : never;
20
+ [K in keyof T]: T[K] extends (store: infer S) => infer R ? R extends void | Entity ? () => R : never : T[K] extends (store: infer S, input: infer Input) => infer R ? R extends void | Entity ? (arg: Input | AsyncArgsProvider<Input>) => R : never : never;
21
21
  };
22
22
  export type TransactionFunctions = {
23
23
  readonly [K: string]: (args?: any) => void | Entity;
24
24
  };
25
- export interface Database<C extends Components = never, R extends ResourceComponents = never, A extends ArchetypeComponents<StringKeyof<C>> = never, T extends TransactionDeclarations = never> extends ReadonlyStore<C, R, A> {
26
- readonly transactions: ToTransactionFunctions<T>;
25
+ export interface Database<C extends Components = never, R extends ResourceComponents = never, A extends ArchetypeComponents<StringKeyof<C>> = never, T extends TransactionFunctions = never> extends ReadonlyStore<C, R, A> {
26
+ readonly transactions: T;
27
27
  readonly observe: {
28
28
  readonly components: {
29
29
  readonly [K in StringKeyof<C>]: Observe<void>;
@@ -32,21 +32,21 @@ describe('observeDependentValue', () => {
32
32
  c: { default: 30 }
33
33
  }, {});
34
34
  // Create the database
35
- const database = createDatabase(store, (store) => ({
36
- updateA: (value) => {
37
- store.resources.a = value;
35
+ const database = createDatabase(store, {
36
+ updateA: (t, value) => {
37
+ t.resources.a = value;
38
38
  },
39
- updateB: (value) => {
40
- store.resources.b = value;
39
+ updateB: (t, value) => {
40
+ t.resources.b = value;
41
41
  },
42
- updateC: (value) => {
43
- store.resources.c = value;
42
+ updateC: (t, value) => {
43
+ t.resources.c = value;
44
44
  },
45
- updateAB: (values) => {
46
- store.resources.a = values.a;
47
- store.resources.b = values.b;
45
+ updateAB: (t, values) => {
46
+ t.resources.a = values.a;
47
+ t.resources.b = values.b;
48
48
  }
49
- }));
49
+ });
50
50
  // Create a compute function that sums resources 'a' and 'b'
51
51
  const computeSum = (db) => {
52
52
  return db.resources.a + db.resources.b;
@@ -90,12 +90,12 @@ describe('observeDependentValue', () => {
90
90
  });
91
91
  it('should handle multiple observers correctly', async () => {
92
92
  const store = createStore({}, { a: { default: 1 }, b: { default: 2 }, c: { default: 3 } });
93
- const database = createDatabase(store, (store) => ({
94
- updateA: (value) => { store.resources.a = value; },
95
- updateB: (value) => { store.resources.b = value; }
96
- }));
97
- const sumObservable = observeDependentValue(database, (store) => {
98
- return store.resources.a + store.resources.b;
93
+ const database = createDatabase(store, {
94
+ updateA: (t, value) => { t.resources.a = value; },
95
+ updateB: (t, value) => { t.resources.b = value; }
96
+ });
97
+ const sumObservable = observeDependentValue(database, (t) => {
98
+ return t.resources.a + t.resources.b;
99
99
  });
100
100
  const values1 = [];
101
101
  const values2 = [];
@@ -126,10 +126,10 @@ describe('observeDependentValue', () => {
126
126
  multiplier: { default: 2 },
127
127
  offset: { default: 10 }
128
128
  });
129
- const database = createDatabase(store, (store) => ({
130
- updateCount: (value) => { store.resources.count = value; },
131
- updateMultiplier: (value) => { store.resources.multiplier = value; }
132
- }));
129
+ const database = createDatabase(store, {
130
+ updateCount: (t, value) => { t.resources.count = value; },
131
+ updateMultiplier: (t, value) => { t.resources.multiplier = value; }
132
+ });
133
133
  const complexObservable = observeDependentValue(database, (store) => {
134
134
  return (store.resources.count * store.resources.multiplier) + store.resources.offset;
135
135
  });
@@ -1 +1 @@
1
- {"version":3,"file":"observe-dependent-value.test.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-dependent-value.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe-dependent-value.test.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-dependent-value.test.ts"],"names":[],"mappings":"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"}
@@ -42,35 +42,35 @@ describe("observeSelectEntities Performance Tests", () => {
42
42
  HealthName: ["health", "name"],
43
43
  Full: ["position", "health", "name", "score", "active"]
44
44
  });
45
- return createDatabase(store, store => ({
46
- createPositionEntity(args) {
45
+ return createDatabase(store, {
46
+ createPositionEntity(store, args) {
47
47
  return store.archetypes.Position.insert(args);
48
48
  },
49
- createHealthEntity(args) {
49
+ createHealthEntity(store, args) {
50
50
  return store.archetypes.Health.insert(args);
51
51
  },
52
- createNameEntity(args) {
52
+ createNameEntity(store, args) {
53
53
  return store.archetypes.Name.insert(args);
54
54
  },
55
- createPositionHealthEntity(args) {
55
+ createPositionHealthEntity(store, args) {
56
56
  return store.archetypes.PositionHealth.insert(args);
57
57
  },
58
- createPositionNameEntity(args) {
58
+ createPositionNameEntity(store, args) {
59
59
  return store.archetypes.PositionName.insert(args);
60
60
  },
61
- createHealthNameEntity(args) {
61
+ createHealthNameEntity(store, args) {
62
62
  return store.archetypes.HealthName.insert(args);
63
63
  },
64
- createFullEntity(args) {
64
+ createFullEntity(store, args) {
65
65
  return store.archetypes.Full.insert(args);
66
66
  },
67
- updateEntity(args) {
67
+ updateEntity(store, args) {
68
68
  return store.update(args.entity, args.values);
69
69
  },
70
- deleteEntity(args) {
70
+ deleteEntity(store, args) {
71
71
  return store.delete(args.entity);
72
72
  }
73
- }));
73
+ });
74
74
  }
75
75
  beforeEach(() => {
76
76
  database = createTestDatabase();
@@ -1 +1 @@
1
- {"version":3,"file":"observe-select-entities.performance.test.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-select-entities.performance.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe-select-entities.performance.test.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-select-entities.performance.test.ts"],"names":[],"mappings":"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"}
@@ -43,35 +43,35 @@ describe("observeSelectEntities", () => {
43
43
  HealthName: ["health", "name"],
44
44
  Full: ["position", "health", "name", "score", "active"]
45
45
  });
46
- return createDatabase(store, store => ({
47
- createPositionEntity(args) {
46
+ return createDatabase(store, {
47
+ createPositionEntity(store, args) {
48
48
  return store.archetypes.Position.insert(args);
49
49
  },
50
- createHealthEntity(args) {
50
+ createHealthEntity(store, args) {
51
51
  return store.archetypes.Health.insert(args);
52
52
  },
53
- createNameEntity(args) {
53
+ createNameEntity(store, args) {
54
54
  return store.archetypes.Name.insert(args);
55
55
  },
56
- createPositionHealthEntity(args) {
56
+ createPositionHealthEntity(store, args) {
57
57
  return store.archetypes.PositionHealth.insert(args);
58
58
  },
59
- createPositionNameEntity(args) {
59
+ createPositionNameEntity(store, args) {
60
60
  return store.archetypes.PositionName.insert(args);
61
61
  },
62
- createHealthNameEntity(args) {
62
+ createHealthNameEntity(store, args) {
63
63
  return store.archetypes.HealthName.insert(args);
64
64
  },
65
- createFullEntity(args) {
65
+ createFullEntity(store, args) {
66
66
  return store.archetypes.Full.insert(args);
67
67
  },
68
- updateEntity(args) {
68
+ updateEntity(store, args) {
69
69
  return store.update(args.entity, args.values);
70
70
  },
71
- deleteEntity(args) {
71
+ deleteEntity(store, args) {
72
72
  return store.delete(args.entity);
73
73
  }
74
- }));
74
+ });
75
75
  }
76
76
  beforeEach(() => {
77
77
  database = createTestDatabase();
@@ -1 +1 @@
1
- {"version":3,"file":"observe-select-entities.test.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-select-entities.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe-select-entities.test.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-select-entities.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Transaction, TransactionWriteOperation } from "./transactional-store.js";
2
+ export declare const applyOperations: (store: Transaction<any, any, any>, operations: TransactionWriteOperation<any>[]) => void;
@@ -0,0 +1,20 @@
1
+ // Helper function to apply write operations for rollback
2
+ export const applyOperations = (store, operations) => {
3
+ for (const operation of operations) {
4
+ switch (operation.type) {
5
+ case "insert": {
6
+ const componentNames = ["id", ...Object.keys(operation.values)];
7
+ const archetype = store.ensureArchetype(componentNames);
8
+ archetype.insert(operation.values);
9
+ break;
10
+ }
11
+ case "update":
12
+ store.update(operation.entity, operation.values);
13
+ break;
14
+ case "delete":
15
+ store.delete(operation.entity);
16
+ break;
17
+ }
18
+ }
19
+ };
20
+ //# sourceMappingURL=apply-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-operations.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/apply-operations.ts"],"names":[],"mappings":"AAOA,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAAiC,EACjC,UAA4C,EAC9C,EAAE;IACA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAuB,CAAC;gBACtF,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACxD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAa,CAAC,CAAC;gBAC1C,MAAM;YACV,CAAC;YACD,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM;YACV,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM;QACd,CAAC;IACL,CAAC;AACL,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ResourceComponents } from "../../store/resource-components.js";
2
+ import { Store } from "../../store/index.js";
3
+ import { TransactionWriteOperation } from "./transactional-store.js";
4
+ import { StringKeyof } from "../../../types/types.js";
5
+ import { Components } from "../../store/components.js";
6
+ import { ArchetypeComponents } from "../../store/archetype-components.js";
7
+ export declare const applyWriteOperations: <C extends Components, R extends ResourceComponents, A extends ArchetypeComponents<StringKeyof<C>>>(store: Store<C, R, A>) => (operations: TransactionWriteOperation<C>[]) => void;
@@ -0,0 +1,20 @@
1
+ // Helper function to apply write operations for rollback
2
+ export const applyWriteOperations = (store) => (operations) => {
3
+ for (const operation of operations) {
4
+ switch (operation.type) {
5
+ case "insert": {
6
+ const componentNames = ["id", ...Object.keys(operation.values)];
7
+ const archetype = store.ensureArchetype(componentNames);
8
+ archetype.insert(operation.values);
9
+ break;
10
+ }
11
+ case "update":
12
+ store.update(operation.entity, operation.values);
13
+ break;
14
+ case "delete":
15
+ store.delete(operation.entity);
16
+ break;
17
+ }
18
+ }
19
+ };
20
+ //# sourceMappingURL=apply-write-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-write-operations.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/apply-write-operations.ts"],"names":[],"mappings":"AAOA,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,KAAqB,EACvB,EAAE,CAAC,CACD,UAA0C,EAC5C,EAAE;IACI,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAqB,CAAC;gBACpF,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACxD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAa,CAAC,CAAC;gBAC1C,MAAM;YACV,CAAC;YACD,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM;YACV,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM;QACd,CAAC;IACL,CAAC;AACL,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ResourceComponents } from "../../store/resource-components.js";
2
+ import { Store } from "../../store/index.js";
3
+ import { TransactionWriteOperation } from "./transactional-store.js";
4
+ import { StringKeyof } from "../../../types/types.js";
5
+ import { Components } from "../../store/components.js";
6
+ import { ArchetypeComponents } from "../../store/archetype-components.js";
7
+ export declare function applyWriteOperations<C extends Components, R extends ResourceComponents, A extends ArchetypeComponents<StringKeyof<C>>>(store: Store<C, R, A>, operations: TransactionWriteOperation<C>[]): void;
@@ -0,0 +1,20 @@
1
+ // Helper function to apply write operations for rollback
2
+ export function applyWriteOperations(store, operations) {
3
+ for (const operation of operations) {
4
+ switch (operation.type) {
5
+ case "insert": {
6
+ const componentNames = ["id", ...Object.keys(operation.values)];
7
+ const archetype = store.ensureArchetype(componentNames);
8
+ archetype.insert(operation.values);
9
+ break;
10
+ }
11
+ case "update":
12
+ store.update(operation.entity, operation.values);
13
+ break;
14
+ case "delete":
15
+ store.delete(operation.entity);
16
+ break;
17
+ }
18
+ }
19
+ }
20
+ //# sourceMappingURL=applyWriteOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyWriteOperations.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/applyWriteOperations.ts"],"names":[],"mappings":"AAOA,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAChC,KAAqB,EACrB,UAA0C;IAE1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAqB,CAAC;gBACpF,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACxD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAa,CAAC,CAAC;gBAC1C,MAAM;YACV,CAAC;YACD,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM;YACV,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM;QACd,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { TransactionResult } from "./transactional-store.js";
2
+ /**
3
+ * Determines if two adjacent transaction results should be coalesced.
4
+ * Transactions are coalesced when they have structurally equal coalesce values,
5
+ * and neither has coalesce: false.
6
+ */
7
+ export declare function shouldCoalesceTransactions(previous: TransactionResult<any>, current: TransactionResult<any>): boolean;
8
+ /**
9
+ * Coalesces two adjacent transaction results into a single combined transaction.
10
+ * The current transaction's operations are applied after the previous transaction's operations.
11
+ */
12
+ export declare function coalesceTransactions(previous: TransactionResult<any>, current: TransactionResult<any>): TransactionResult<any>;