@adobe/data 0.3.2 → 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 (101) 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/observe/index.d.ts +1 -0
  74. package/dist/observe/index.js +1 -0
  75. package/dist/observe/index.js.map +1 -1
  76. package/dist/observe/observe.test.js +25 -9
  77. package/dist/observe/observe.test.js.map +1 -1
  78. package/dist/observe/with-filter.d.ts +6 -0
  79. package/dist/observe/with-filter.js +15 -0
  80. package/dist/observe/with-filter.js.map +1 -0
  81. package/dist/observe/with-filter.test.d.ts +1 -0
  82. package/dist/observe/with-filter.test.js +70 -0
  83. package/dist/observe/with-filter.test.js.map +1 -0
  84. package/dist/observe/with-map copy.d.ts +5 -0
  85. package/dist/observe/with-map copy.js +14 -0
  86. package/dist/observe/with-map copy.js.map +1 -0
  87. package/dist/observe/with-map.d.ts +1 -1
  88. package/dist/observe/with-map.js +1 -4
  89. package/dist/observe/with-map.js.map +1 -1
  90. package/dist/schema/index.d.ts +1 -1
  91. package/dist/schema/index.js +1 -1
  92. package/dist/schema/index.js.map +1 -1
  93. package/dist/schema/schema.d.ts +4 -1
  94. package/dist/schema/schema.js.map +1 -1
  95. package/dist/schema/validation/index.d.ts +2 -0
  96. package/dist/schema/validation/index.js +24 -0
  97. package/dist/schema/validation/index.js.map +1 -0
  98. package/dist/tsconfig.tsbuildinfo +1 -1
  99. package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
  100. package/dist/types/types.d.ts +1 -1
  101. package/package.json +1 -1
@@ -0,0 +1,295 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { describe, it, expect, beforeEach } from "vitest";
23
+ import { createDatabase } from "../database/create-database.js";
24
+ import { createStore } from "../store/create-store.js";
25
+ import { F32Schema } from "../../schema/f32.js";
26
+ import { createUndoRedoActions } from "./create-undo-redo-actions.js";
27
+ import { applyOperations } from "../database/transactional-store/apply-operations.js";
28
+ import { toPromise } from "../../observe/to-promise.js";
29
+ // Test schemas
30
+ const positionSchema = {
31
+ type: "object",
32
+ properties: {
33
+ x: F32Schema,
34
+ y: F32Schema,
35
+ z: F32Schema,
36
+ },
37
+ required: ["x", "y", "z"],
38
+ additionalProperties: false,
39
+ };
40
+ const nameSchema = {
41
+ type: "string",
42
+ maxLength: 50,
43
+ };
44
+ function createTestDatabase() {
45
+ const baseStore = createStore({ position: positionSchema, name: nameSchema }, { time: { default: { delta: 0.016, elapsed: 0 } } }, {
46
+ PositionEntity: ["position"],
47
+ PositionNameEntity: ["position", "name"],
48
+ });
49
+ return createDatabase(baseStore, {
50
+ createPositionEntity(t, args) {
51
+ t.undoable = { coalesce: false };
52
+ return t.archetypes.PositionEntity.insert(args);
53
+ },
54
+ createPositionNameEntity(t, args) {
55
+ t.undoable = { coalesce: false };
56
+ return t.archetypes.PositionNameEntity.insert(args);
57
+ },
58
+ updateEntity(t, args) {
59
+ t.undoable = { coalesce: { entity: args.entity } };
60
+ t.update(args.entity, args.values);
61
+ },
62
+ deleteEntity(t, args) {
63
+ t.undoable = { coalesce: false };
64
+ t.delete(args.entity);
65
+ },
66
+ applyOperations(t, operations) {
67
+ applyOperations(t, operations);
68
+ }
69
+ });
70
+ }
71
+ describe("createUndoRedoActions", () => {
72
+ let database;
73
+ let undoRedo;
74
+ beforeEach(() => {
75
+ database = createTestDatabase();
76
+ undoRedo = createUndoRedoActions(database);
77
+ });
78
+ it("should add undoable operations to the undo stack", async () => {
79
+ // Note: Transient operations are only used for async operations in the database
80
+ // For this test, we'll verify that operations marked as undoable are added to the stack
81
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
82
+ const undoStack = await toPromise(undoRedo.undoStack);
83
+ expect(undoStack).toHaveLength(1);
84
+ expect(undoStack[0].undoable).toBeDefined();
85
+ });
86
+ it("should not add transient operations to the undo stack", async () => {
87
+ // Note: Transient operations are only used for async operations in the database
88
+ // For this test, we'll verify that operations marked as undoable are added to the stack
89
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
90
+ const undoStack = await toPromise(undoRedo.undoStack);
91
+ expect(undoStack).toHaveLength(1);
92
+ expect(undoStack[0].undoable).toBeDefined();
93
+ });
94
+ it("should accurately reflect stack index", async () => {
95
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(0);
96
+ database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
97
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(1);
98
+ database.transactions.createPositionNameEntity({ position: { x: 4, y: 5, z: 6 }, name: "test" });
99
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(2);
100
+ });
101
+ it("should undo operations correctly", async () => {
102
+ // Create an entity
103
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
104
+ // Verify entity exists
105
+ const entityData = database.read(entity);
106
+ expect(entityData).toBeDefined();
107
+ expect(entityData?.position.x).toBe(1);
108
+ // Undo the operation
109
+ undoRedo.undo();
110
+ // Verify entity is deleted
111
+ const entityDataAfterUndo = database.read(entity);
112
+ expect(entityDataAfterUndo).toBeNull();
113
+ // Verify stack index is updated
114
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(0);
115
+ });
116
+ it("should redo operations correctly", async () => {
117
+ // Create an entity
118
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
119
+ // Undo the operation
120
+ undoRedo.undo();
121
+ // Verify entity is deleted
122
+ let entityData = database.read(entity);
123
+ expect(entityData).toBeNull();
124
+ // Redo the operation
125
+ undoRedo.redo();
126
+ // Verify entity is recreated
127
+ entityData = database.read(entity);
128
+ expect(entityData).toBeDefined();
129
+ expect(entityData?.position.x).toBe(1);
130
+ expect(entityData?.position.y).toBe(2);
131
+ expect(entityData?.position.z).toBe(3);
132
+ // Verify stack index is updated
133
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(1);
134
+ });
135
+ it("should handle multiple undo/redo operations", async () => {
136
+ // Create multiple entities
137
+ const entity1 = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
138
+ const entity2 = database.transactions.createPositionNameEntity({ position: { x: 4, y: 5, z: 6 }, name: "test" });
139
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(2);
140
+ // Undo both operations
141
+ undoRedo.undo();
142
+ undoRedo.undo();
143
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(0);
144
+ expect(database.read(entity1)).toBeNull();
145
+ expect(database.read(entity2)).toBeNull();
146
+ // Redo both operations
147
+ undoRedo.redo();
148
+ undoRedo.redo();
149
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(2);
150
+ expect(database.read(entity1)).toBeDefined();
151
+ expect(database.read(entity2)).toBeDefined();
152
+ });
153
+ it("should handle update operations correctly", async () => {
154
+ // Create an entity
155
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
156
+ // Update the entity
157
+ database.transactions.updateEntity({ entity, values: { position: { x: 10, y: 20, z: 30 } } });
158
+ // Verify update
159
+ let entityData = database.read(entity);
160
+ expect(entityData?.position.x).toBe(10);
161
+ expect(entityData?.position.y).toBe(20);
162
+ expect(entityData?.position.z).toBe(30);
163
+ // Undo the update
164
+ undoRedo.undo();
165
+ // Verify original values restored
166
+ entityData = database.read(entity);
167
+ expect(entityData?.position.x).toBe(1);
168
+ expect(entityData?.position.y).toBe(2);
169
+ expect(entityData?.position.z).toBe(3);
170
+ // Redo the update
171
+ undoRedo.redo();
172
+ // Verify update reapplied
173
+ entityData = database.read(entity);
174
+ expect(entityData?.position.x).toBe(10);
175
+ expect(entityData?.position.y).toBe(20);
176
+ expect(entityData?.position.z).toBe(30);
177
+ });
178
+ it("should handle delete operations correctly", async () => {
179
+ // Create an entity
180
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
181
+ // Delete the entity
182
+ database.transactions.deleteEntity({ entity });
183
+ // Verify entity is deleted
184
+ expect(database.read(entity)).toBeNull();
185
+ // Undo the delete
186
+ undoRedo.undo();
187
+ // Verify entity is restored
188
+ const entityData = database.read(entity);
189
+ expect(entityData).toBeDefined();
190
+ expect(entityData?.position.x).toBe(1);
191
+ // Redo the delete
192
+ undoRedo.redo();
193
+ // Verify entity is deleted again
194
+ expect(database.read(entity)).toBeNull();
195
+ });
196
+ it("should truncate stack when new operation is added after undo", async () => {
197
+ // Create multiple entities
198
+ const entity1 = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
199
+ const entity2 = database.transactions.createPositionEntity({ position: { x: 4, y: 5, z: 6 } });
200
+ const entity3 = database.transactions.createPositionEntity({ position: { x: 7, y: 8, z: 9 } });
201
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(3);
202
+ // Undo one operation
203
+ undoRedo.undo();
204
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(2);
205
+ // Add a new operation - should truncate the stack
206
+ const entity4 = database.transactions.createPositionEntity({ position: { x: 10, y: 11, z: 12 } });
207
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(3);
208
+ // Verify we can't redo the truncated operation
209
+ const initialStackLength = (await toPromise(undoRedo.undoStack)).length;
210
+ undoRedo.redo();
211
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(3); // Should not change
212
+ });
213
+ it("should coalesce update operations correctly", async () => {
214
+ // Create an entity
215
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
216
+ // Perform multiple updates to the same entity
217
+ database.transactions.updateEntity({ entity, values: { position: { x: 10, y: 2, z: 3 } } });
218
+ database.transactions.updateEntity({ entity, values: { position: { x: 10, y: 20, z: 3 } } });
219
+ database.transactions.updateEntity({ entity, values: { position: { x: 10, y: 20, z: 30 } } });
220
+ // Verify final state
221
+ let entityData = database.read(entity);
222
+ expect(entityData?.position.x).toBe(10);
223
+ expect(entityData?.position.y).toBe(20);
224
+ expect(entityData?.position.z).toBe(30);
225
+ // Undo the coalesced update operation
226
+ undoRedo.undo();
227
+ // Verify original state is restored
228
+ entityData = database.read(entity);
229
+ expect(entityData?.position.x).toBe(1);
230
+ expect(entityData?.position.y).toBe(2);
231
+ expect(entityData?.position.z).toBe(3);
232
+ // Redo the coalesced update operation
233
+ undoRedo.redo();
234
+ // Verify final state is restored
235
+ entityData = database.read(entity);
236
+ expect(entityData?.position.x).toBe(10);
237
+ expect(entityData?.position.y).toBe(20);
238
+ expect(entityData?.position.z).toBe(30);
239
+ });
240
+ it("should not coalesce non-coalesceable operations", async () => {
241
+ // Create multiple entities
242
+ const entity1 = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
243
+ const entity2 = database.transactions.createPositionEntity({ position: { x: 4, y: 5, z: 6 } });
244
+ // Verify each operation is separate
245
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(2);
246
+ // Undo both operations
247
+ undoRedo.undo();
248
+ undoRedo.undo();
249
+ // Verify both entities are deleted
250
+ expect(database.read(entity1)).toBeNull();
251
+ expect(database.read(entity2)).toBeNull();
252
+ // Redo both operations
253
+ undoRedo.redo();
254
+ undoRedo.redo();
255
+ // Verify both entities are restored
256
+ expect(database.read(entity1)).toBeDefined();
257
+ expect(database.read(entity2)).toBeDefined();
258
+ });
259
+ it("should handle boundary conditions for undo/redo", async () => {
260
+ // Try to undo when stack is empty
261
+ undoRedo.undo();
262
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(0);
263
+ // Try to redo when at the end of stack
264
+ undoRedo.redo();
265
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(0);
266
+ // Create an entity
267
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
268
+ // Try to redo when at the end of stack
269
+ undoRedo.redo();
270
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(1); // Should not change
271
+ });
272
+ it("should maintain stack consistency across complex operations", async () => {
273
+ // Create entity
274
+ const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
275
+ // Update it
276
+ database.transactions.updateEntity({ entity, values: { position: { x: 10, y: 20, z: 30 } } });
277
+ // Add name
278
+ database.transactions.updateEntity({ entity, values: { name: "test" } });
279
+ // Delete it
280
+ database.transactions.deleteEntity({ entity });
281
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(3);
282
+ // Undo all operations
283
+ undoRedo.undo(); // Undo delete
284
+ undoRedo.undo(); // Undo coalesced updates
285
+ undoRedo.undo(); // Undo create
286
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(0);
287
+ expect(database.read(entity)).toBeNull();
288
+ // Redo all operations
289
+ undoRedo.redo(); // Redo create
290
+ undoRedo.redo(); // Redo coalesced updates
291
+ undoRedo.redo(); // Redo delete
292
+ expect(await toPromise(undoRedo.undoStackIndex)).toBe(3);
293
+ });
294
+ });
295
+ //# sourceMappingURL=create-undo-redo-actions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-undo-redo-actions.test.js","sourceRoot":"","sources":["../../../src/ecs/undo-redo/create-undo-redo-actions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TransactionWriteOperation } from "../database/transactional-store/transactional-store.js";
2
+ import { Store } from "../index.js";
3
+ export declare const applyOperations: (store: Store) => (operations: TransactionWriteOperation[]) => void;
@@ -0,0 +1,3 @@
1
+ export const applyOperations = (store) => (operations) => {
2
+ };
3
+ //# sourceMappingURL=do.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"do.js","sourceRoot":"","sources":["../../../src/ecs/undo-redo/do.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,UAAuC,EAAE,EAAE;AAE7F,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"equals.js","sourceRoot":"","sources":["../src/equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,CAAU,EAAE,CAAU;IAE3C,sCAAsC;IACtC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEjE,YAAY;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,EAAE,GAAG,CAAc,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAc,CAAC;QAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAQ,EAAE,CAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,CAAC;IAED,mBAAmB;IACnB,MAAM,EAAE,GAAG,CAA4B,CAAC;IACxC,MAAM,EAAE,GAAG,CAA4B,CAAC;IAExC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,CAAC;IAEjC,OAAO,UAAU,KAAK,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"equals.js","sourceRoot":"","sources":["../src/equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,CAAU,EAAE,CAAU;IAC3C,sCAAsC;IACtC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEjE,YAAY;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,EAAE,GAAG,CAAc,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAc,CAAC;QAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAQ,EAAE,CAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,CAAC;IAED,mBAAmB;IACnB,MAAM,EAAE,GAAG,CAA4B,CAAC;IACxC,MAAM,EAAE,GAAG,CAA4B,CAAC;IAExC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,CAAC;IAEjC,OAAO,UAAU,KAAK,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function registerBlobCodecs(): void;
@@ -0,0 +1,10 @@
1
+ export function registerBlobCodecs() {
2
+ // Built in support for blobs
3
+ // registerCodec<any>({
4
+ // name: "Blob",
5
+ // predicate: (data: any): data is any => data instanceof Blob,
6
+ // serialize: (data: Blob) => ({ json: data.type, binary: [data.] }),
7
+ // deserialize: ({ binary }: { json?: Data, binary: Uint8Array[] }) => new (typedArrayConstructor as any)(binary[0].buffer, binary[0].byteOffset, binary[0].byteLength / typedArrayConstructor.BYTES_PER_ELEMENT),
8
+ // });
9
+ }
10
+ //# sourceMappingURL=register-blob-codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-blob-codecs.js","sourceRoot":"","sources":["../../../src/functions/serialization/register-blob-codecs.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB;IAC9B,6BAA6B;IAC7B,uBAAuB;IACvB,oBAAoB;IACpB,mEAAmE;IACnE,0EAA0E;IAC1E,sNAAsN;IACtN,MAAM;AACV,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function registerTypedArrayCodecs(): void;
@@ -0,0 +1,13 @@
1
+ import { registerCodec } from "./codec.js";
2
+ export function registerTypedArrayCodecs() {
3
+ // Built in support for all 32-bit typed arrays and float64 arrays
4
+ for (const typedArrayConstructor of [Float32Array, Int32Array, Uint32Array, Float64Array]) {
5
+ registerCodec({
6
+ name: typedArrayConstructor.name,
7
+ predicate: (data) => data instanceof typedArrayConstructor,
8
+ serialize: (data) => ({ binary: [new Uint8Array(data.buffer, data.byteOffset, data.byteLength)] }),
9
+ deserialize: ({ binary }) => new typedArrayConstructor(binary[0].buffer, binary[0].byteOffset, binary[0].byteLength / typedArrayConstructor.BYTES_PER_ELEMENT),
10
+ });
11
+ }
12
+ }
13
+ //# sourceMappingURL=register-typed-array-codecs%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-typed-array-codecs copy.js","sourceRoot":"","sources":["../../../src/functions/serialization/register-typed-array-codecs copy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,wBAAwB;IACpC,kEAAkE;IAClE,KAAK,MAAM,qBAAqB,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;QACxF,aAAa,CAAM;YACf,IAAI,EAAE,qBAAqB,CAAC,IAAI;YAChC,SAAS,EAAE,CAAC,IAAS,EAAe,EAAE,CAAC,IAAI,YAAY,qBAAqB;YAC5E,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACvG,WAAW,EAAE,CAAC,EAAE,MAAM,EAAyC,EAAE,EAAE,CAAC,IAAK,qBAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,CAAC;SACjN,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -63,14 +63,22 @@ describe('serialize/deserialize', () => {
63
63
  const roundTrip = deserialize(payload);
64
64
  expect(equals(roundTrip, original)).toBe(true);
65
65
  });
66
+ // round tripping will not work with array-buffer because values are undefined originally and null on round trip
67
+ // it('round-trips typed-buffers with strings', () => {
68
+ // const original = createTypedBuffer({ type: "string" });
69
+ // original.set(0, "Hello");
70
+ // original.set(1, "World");
71
+ // original.capacity = 4;
72
+ // const payload = serialize(original);
73
+ // const roundTrip = deserialize<typeof original>(payload);
74
+ // });
66
75
  it('round-trips tables', () => {
67
76
  const table = createTable({
68
77
  id: { type: "integer" },
69
- name: { type: "string" },
70
78
  age: { type: "integer" },
71
79
  });
72
- addRow(table, { id: 1, name: "John", age: 30 });
73
- addRow(table, { id: 2, name: "Jane", age: 25 });
80
+ addRow(table, { id: 1, age: 30 });
81
+ addRow(table, { id: 2, age: 25 });
74
82
  const payload = serialize(table);
75
83
  const roundTrip = deserialize(payload);
76
84
  expect(equals(roundTrip, table)).toBe(true);
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["../../../src/functions/serialization/serialization.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["../../../src/functions/serialization/serialization.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ export function serialize(data) {
5
5
  const codec = findCodec(value);
6
6
  if (codec) {
7
7
  const { json, binary } = codec.serialize(value);
8
- console.log("serialize", { json, binary });
9
8
  const binaryIndex = allBinaries.length;
10
9
  if (binary) {
11
10
  allBinaries.push(...binary);
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/functions/serialization/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAErD,MAAM,UAAU,SAAS,CAAI,IAAO;IAChC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACT,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAyB,CAAC;QAC7G,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/functions/serialization/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAErD,MAAM,UAAU,SAAS,CAAI,IAAO;IAChC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACT,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAyB,CAAC;QAC7G,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC"}
@@ -22,6 +22,7 @@ export * from "./with-copy.js";
22
22
  export * from "./with-deduplicate-data.js";
23
23
  export * from "./with-deduplicate.js";
24
24
  export * from "./with-default.js";
25
+ export * from "./with-filter.js";
25
26
  export * from "./with-async-map.js";
26
27
  export * from "./with-map.js";
27
28
  export * from "./with-map-data.js";
@@ -43,6 +43,7 @@ export * from "./with-copy.js";
43
43
  export * from "./with-deduplicate-data.js";
44
44
  export * from "./with-deduplicate.js";
45
45
  export * from "./with-default.js";
46
+ export * from "./with-filter.js";
46
47
  export * from "./with-async-map.js";
47
48
  export * from "./with-map.js";
48
49
  export * from "./with-map-data.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -21,7 +21,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.*/
22
22
  import { assert } from "riteway/vitest";
23
23
  import { describe, test } from "vitest";
24
- import { createObservableState, fromConstant, fromArray, fromProperties, fromPromise, fromPromiseWithError, withCache, withDeduplicate, withDefault, withMap, withOptional, } from "./index.js";
24
+ import { createObservableState, fromConstant, fromArray, fromProperties, fromPromise, fromPromiseWithError, withCache, withDeduplicate, withDefault, withFilter, withMap, withOptional, } from "./index.js";
25
25
  import { toProperties } from "./to-properties.js";
26
26
  import { withAsyncMap } from "./with-async-map.js";
27
27
  function createTestObservable(sync, async) {
@@ -320,26 +320,42 @@ describe("observable", () => {
320
320
  output: [2, [2, 4, 6]],
321
321
  });
322
322
  });
323
- test("withMap filters undefined values", async () => {
323
+ test("withMap passes through undefined values", async () => {
324
324
  await testObservableFilter({
325
- given: "an Observable withMap that filters out undefined values",
325
+ given: "an Observable withMap that passes through undefined values",
326
326
  filter: (observable) => withMap(observable, (value) => value > 0 ? value * 2 : undefined),
327
327
  input: [1, [-1, 2, -3, 4]],
328
- output: [2, [4, 8]],
328
+ output: [2, [undefined, 4, undefined, 8]],
329
329
  });
330
330
  });
331
- test("withMap filters all values", async () => {
331
+ test("withMap passes through all undefined values", async () => {
332
332
  await testObservableFilter({
333
- given: "an Observable withMap that filters out all values",
333
+ given: "an Observable withMap that passes through all undefined values",
334
334
  filter: (observable) => withMap(observable, (value) => undefined),
335
335
  input: [1, [2, 3, 4]],
336
+ output: [undefined, [undefined, undefined, undefined]],
337
+ });
338
+ });
339
+ test("withFilter filters undefined values", async () => {
340
+ await testObservableFilter({
341
+ given: "an Observable withFilter that filters out undefined values",
342
+ filter: (observable) => withFilter(observable, (value) => value > 0 ? value * 2 : undefined),
343
+ input: [1, [-1, 2, -3, 4]],
344
+ output: [2, [4, 8]],
345
+ });
346
+ });
347
+ test("withFilter filters all values", async () => {
348
+ await testObservableFilter({
349
+ given: "an Observable withFilter that filters out all values",
350
+ filter: (observable) => withFilter(observable, (value) => undefined),
351
+ input: [1, [2, 3, 4]],
336
352
  output: [undefined, []],
337
353
  });
338
354
  });
339
- test("withMap filters based on condition", async () => {
355
+ test("withFilter filters based on condition", async () => {
340
356
  await testObservableFilter({
341
- given: "an Observable withMap that filters based on condition",
342
- filter: (observable) => withMap(observable, (value) => value % 2 === 0 ? value : undefined),
357
+ given: "an Observable withFilter that filters based on condition",
358
+ filter: (observable) => withFilter(observable, (value) => value % 2 === 0 ? value : undefined),
343
359
  input: [1, [2, 3, 4, 5, 6]],
344
360
  output: [undefined, [2, 4, 6]],
345
361
  });
@@ -1 +1 @@
1
- {"version":3,"file":"observe.test.js","sourceRoot":"","sources":["../../src/observe/observe.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe.test.js","sourceRoot":"","sources":["../../src/observe/observe.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Observe } from "./types.js";
2
+ /**
3
+ * Creates a new Observe function that converts the original observe functions notify values into a new value at each notification,
4
+ * optionally returning undefined to filter out the value.
5
+ */
6
+ export declare function withFilter<T, U>(observable: Observe<T>, filter: (value: T) => U | undefined): Observe<U>;