@adobe/data 0.5.16 → 0.5.17
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.
- package/dist/ecs/database/create-database.test.js +11 -0
- package/dist/ecs/database/create-database.test.js.map +1 -1
- package/dist/graphics/frame.d.ts +22 -1
- package/dist/graphics/frame.js +11 -14
- package/dist/graphics/frame.js.map +1 -1
- package/dist/graphics/get-web-gpu-device-and-context.d.ts +2 -1
- package/dist/graphics/get-web-gpu-device-and-context.js +20 -23
- package/dist/graphics/get-web-gpu-device-and-context.js.map +1 -1
- package/dist/graphics/graphics-context.d.ts +5 -1
- package/dist/graphics/graphics-context.js +0 -5
- package/dist/graphics/graphics-context.js.map +1 -1
- package/dist/lit/elements/service-application.d.ts +9 -0
- package/dist/lit/elements/service-application.js +55 -0
- package/dist/lit/elements/service-application.js.map +1 -0
- package/dist/lit/elements/service-context.d.ts +1 -0
- package/dist/{ecs/entity/u32.js → lit/elements/service-context.js} +3 -3
- package/dist/lit/elements/service-context.js.map +1 -0
- package/dist/lit/elements/service-element.d.ts +6 -0
- package/dist/lit/elements/service-element.js +43 -0
- package/dist/lit/elements/service-element.js.map +1 -0
- package/dist/observe/to-async-generator.js.map +1 -1
- package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js +205 -1
- package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
- package/dist/old-ecs/core-ecs/core-ecs-types.d.ts +4 -1
- package/dist/old-ecs/core-ecs/core-ecs.d.ts +2 -0
- package/dist/old-ecs/core-ecs/core-ecs.js +23 -9
- package/dist/old-ecs/core-ecs/core-ecs.js.map +1 -1
- package/dist/old-ecs/privacy/helper-functions.d.ts +43 -0
- package/dist/old-ecs/privacy/helper-functions.js +76 -0
- package/dist/old-ecs/privacy/helper-functions.js.map +1 -0
- package/dist/old-ecs/privacy/helper-functions.test.js +173 -0
- package/dist/old-ecs/privacy/helper-functions.test.js.map +1 -0
- package/dist/samples/todo/services/state-service/create-todo-database.d.ts +2 -2
- package/dist/samples/todo/services/state-service/create-todo-store.d.ts +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/ecs/entity/entity.d.ts +0 -8
- package/dist/ecs/entity/entity.js +0 -3
- package/dist/ecs/entity/entity.js.map +0 -1
- package/dist/ecs/entity/u32.d.ts +0 -8
- package/dist/ecs/entity/u32.js.map +0 -1
- package/dist/math/aabb-face/face.d.ts +0 -51
- package/dist/math/aabb-face/face.js +0 -110
- package/dist/math/aabb-face/face.js.map +0 -1
- package/dist/math/aabb-face/face.test.js +0 -94
- package/dist/math/aabb-face/face.test.js.map +0 -1
- package/dist/math/box/box.d.ts +0 -50
- package/dist/math/box/box.js +0 -23
- package/dist/math/box/box.js.map +0 -1
- package/dist/math/face/face.d.ts +0 -51
- package/dist/math/face/face.js +0 -110
- package/dist/math/face/face.js.map +0 -1
- package/dist/math/face/face.test.d.ts +0 -1
- package/dist/math/face/face.test.js +0 -94
- package/dist/math/face/face.test.js.map +0 -1
- package/dist/math/picking/face.d.ts +0 -1
- package/dist/math/picking/face.js +0 -2
- package/dist/math/picking/face.js.map +0 -1
- package/dist/math/picking/getClosestEntityToLine.d.ts +0 -4
- package/dist/math/picking/getClosestEntityToLine.js +0 -29
- package/dist/math/picking/getClosestEntityToLine.js.map +0 -1
- package/dist/math/picking/getClosestEntityToPoint.d.ts +0 -4
- package/dist/math/picking/getClosestEntityToPoint.js +0 -27
- package/dist/math/picking/getClosestEntityToPoint.js.map +0 -1
- package/dist/math/picking/getIntersectingEntities.d.ts +0 -12
- package/dist/math/picking/getIntersectingEntities.js +0 -15
- package/dist/math/picking/getIntersectingEntities.js.map +0 -1
- /package/dist/{math/aabb-face/face.test.d.ts → old-ecs/privacy/helper-functions.test.d.ts} +0 -0
|
@@ -73,7 +73,7 @@ describe("ecs-functions", () => {
|
|
|
73
73
|
// id is not base 64 encoded because the json is shorter.
|
|
74
74
|
id: [1, 2, 3, 4, 5, 6, 7, 8, 9],
|
|
75
75
|
// mass is base 64 encoded because the encoded form is shorter.
|
|
76
|
-
// This one is longer than the
|
|
76
|
+
// This one is longer than the
|
|
77
77
|
mass: "24mdJ0W5hkLbiZ0nRbl2QiQN0jRcTG5C24mdJ0W5ZkLiB37s0C1iQiQN0jRcTF5CQwu0CE/4WULbiZ0nRblWQm2zNiPoMlRC",
|
|
78
78
|
// size could be compressed efficiently by any general compression algorithm.
|
|
79
79
|
// we don't expect large data sets to use strings for components so we don't compress it.
|
|
@@ -227,5 +227,209 @@ describe("ecs-functions", () => {
|
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
|
+
test("toJSON filters components based on privacy options - strictlyNecessary only", () => {
|
|
231
|
+
const ecs = createCoreECS()
|
|
232
|
+
.withComponents({
|
|
233
|
+
userName: { type: "string", privacy: "strictlyNecessary" },
|
|
234
|
+
preferences: { type: "object", privacy: "functional", default: {} },
|
|
235
|
+
analytics: { type: "object", privacy: "performance", default: {} },
|
|
236
|
+
ads: { type: "object", privacy: "advertising", default: {} },
|
|
237
|
+
unclassified: { type: "string" }, // No privacy classification
|
|
238
|
+
})
|
|
239
|
+
.withResources({
|
|
240
|
+
appVersion: { default: "1.0.0", privacy: "strictlyNecessary" },
|
|
241
|
+
userSettings: { default: {}, privacy: "functional" },
|
|
242
|
+
});
|
|
243
|
+
const userArchetype = ecs.getArchetype("id", "userName", "preferences", "analytics");
|
|
244
|
+
ecs.createEntity(userArchetype, {
|
|
245
|
+
userName: "testUser",
|
|
246
|
+
preferences: { theme: "dark" },
|
|
247
|
+
analytics: { pageViews: 42 },
|
|
248
|
+
});
|
|
249
|
+
const data = ecs.toJSON({ privacy: {
|
|
250
|
+
strictlyNecessary: true
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
expect(data.components).toEqual({
|
|
254
|
+
id: U32Schema,
|
|
255
|
+
userName: { type: "string", privacy: "strictlyNecessary" },
|
|
256
|
+
unclassified: { type: "string" },
|
|
257
|
+
appVersion: { default: "1.0.0", privacy: "strictlyNecessary" },
|
|
258
|
+
ads: { type: "object", privacy: "advertising", default: {} },
|
|
259
|
+
analytics: { type: "object", privacy: "performance", default: {} },
|
|
260
|
+
preferences: { type: "object", privacy: "functional", default: {} },
|
|
261
|
+
userSettings: { default: {}, privacy: "functional" },
|
|
262
|
+
});
|
|
263
|
+
// Should only have table columns with strictly necessary components
|
|
264
|
+
expect(data.tables).toHaveLength(4);
|
|
265
|
+
const appVersionTable = data.tables.find(table => table.columns.appVersion);
|
|
266
|
+
expect(appVersionTable?.columns["appVersion"]).contains("1.0.0");
|
|
267
|
+
const userSettingsTable = data.tables.find(table => table.columns.userSettings);
|
|
268
|
+
expect(userSettingsTable?.columns["userSettings"]).toEqual([{}]);
|
|
269
|
+
const userTable = data.tables.find(table => table.columns.userName);
|
|
270
|
+
expect(userTable?.columns["userName"]).contains("testUser");
|
|
271
|
+
expect(userTable?.columns["preferences"]).toEqual([{}]);
|
|
272
|
+
expect(userTable?.columns["analytics"]).toEqual([{}]);
|
|
273
|
+
});
|
|
274
|
+
test("toJSON filters components based on privacy options - functional included", () => {
|
|
275
|
+
const ecs = createCoreECS()
|
|
276
|
+
.withComponents({
|
|
277
|
+
userName: { type: "string", privacy: "strictlyNecessary" },
|
|
278
|
+
preferences: { type: "object", privacy: "functional", default: {} },
|
|
279
|
+
analytics: { type: "object", privacy: "performance", default: {} },
|
|
280
|
+
});
|
|
281
|
+
const userArchetype = ecs.getArchetype("id", "userName", "preferences", "analytics");
|
|
282
|
+
ecs.createEntity(userArchetype, {
|
|
283
|
+
userName: "testUser",
|
|
284
|
+
preferences: { theme: "dark" },
|
|
285
|
+
analytics: { pageViews: 42 },
|
|
286
|
+
});
|
|
287
|
+
const data = ecs.toJSON({ privacy: {
|
|
288
|
+
strictlyNecessary: true,
|
|
289
|
+
functional: true
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
expect(data.components).toEqual({
|
|
293
|
+
id: U32Schema,
|
|
294
|
+
userName: { type: "string", privacy: "strictlyNecessary" },
|
|
295
|
+
preferences: { type: "object", privacy: "functional", default: {} },
|
|
296
|
+
analytics: { type: "object", privacy: "performance", default: {} },
|
|
297
|
+
});
|
|
298
|
+
// Should have user table with userName and preferences, but not analytics
|
|
299
|
+
const userTable = data.tables.find(table => table.columns.userName);
|
|
300
|
+
expect(userTable).toBeDefined();
|
|
301
|
+
expect(userTable?.columns).toHaveProperty("analytics");
|
|
302
|
+
expect(userTable?.columns["analytics"]).toEqual([{}]);
|
|
303
|
+
});
|
|
304
|
+
test("toJSON includes all privacy levels when all options are true", () => {
|
|
305
|
+
const ecs = createCoreECS()
|
|
306
|
+
.withComponents({
|
|
307
|
+
userName: { type: "string", privacy: "strictlyNecessary" },
|
|
308
|
+
preferences: { type: "object", privacy: "functional", default: {} },
|
|
309
|
+
analytics: { type: "object", privacy: "performance", default: {} },
|
|
310
|
+
ads: { type: "object", privacy: "advertising", default: {} },
|
|
311
|
+
});
|
|
312
|
+
const userArchetype = ecs.getArchetype("id", "userName", "preferences", "analytics", "ads");
|
|
313
|
+
ecs.createEntity(userArchetype, {
|
|
314
|
+
userName: "testUser",
|
|
315
|
+
preferences: { theme: "dark" },
|
|
316
|
+
analytics: { pageViews: 42 },
|
|
317
|
+
ads: { clicks: 100 },
|
|
318
|
+
});
|
|
319
|
+
const data = ecs.toJSON({ privacy: {
|
|
320
|
+
strictlyNecessary: true,
|
|
321
|
+
functional: true,
|
|
322
|
+
performance: true,
|
|
323
|
+
advertising: true,
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
// Should include all components
|
|
327
|
+
expect(data.tables).toHaveLength(2);
|
|
328
|
+
expect(data.tables[1].columns["userName"]).contains("testUser");
|
|
329
|
+
expect(data.tables[1].columns["preferences"]).toEqual([{ theme: "dark" }]);
|
|
330
|
+
expect(data.tables[1].columns["analytics"]).toEqual([{ pageViews: 42 }]);
|
|
331
|
+
expect(data.tables[1].columns["ads"]).toEqual([{ clicks: 100 }]);
|
|
332
|
+
});
|
|
333
|
+
test("fromJSON filters components based on privacy options", () => {
|
|
334
|
+
// Create initial ECS with all privacy levels
|
|
335
|
+
const ecs1 = createCoreECS()
|
|
336
|
+
.withComponents({
|
|
337
|
+
userName: { type: "string", privacy: "strictlyNecessary" },
|
|
338
|
+
preferences: { type: "object", privacy: "functional", default: {} },
|
|
339
|
+
analytics: { type: "object", privacy: "performance", default: {} },
|
|
340
|
+
});
|
|
341
|
+
const userArchetype = ecs1.getArchetype("id", "userName", "preferences", "analytics");
|
|
342
|
+
ecs1.createEntity(userArchetype, {
|
|
343
|
+
userName: "testUser",
|
|
344
|
+
preferences: { theme: "dark" },
|
|
345
|
+
analytics: { pageViews: 42 },
|
|
346
|
+
});
|
|
347
|
+
// Save all data
|
|
348
|
+
const fullData = ecs1.toJSON({ privacy: {
|
|
349
|
+
strictlyNecessary: true,
|
|
350
|
+
functional: true,
|
|
351
|
+
performance: true,
|
|
352
|
+
advertising: true,
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
// Load ECS data
|
|
356
|
+
const ecs2 = createCoreECS({ data: fullData, privacy: {
|
|
357
|
+
strictlyNecessary: true,
|
|
358
|
+
functional: true,
|
|
359
|
+
} });
|
|
360
|
+
// Read data
|
|
361
|
+
const readData = ecs2.toJSON({ privacy: {
|
|
362
|
+
strictlyNecessary: true,
|
|
363
|
+
functional: true,
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
expect(readData.components).toHaveProperty("userName");
|
|
367
|
+
expect(readData.components).toHaveProperty("preferences");
|
|
368
|
+
expect(readData.components).toHaveProperty("analytics");
|
|
369
|
+
expect(readData.tables).toHaveLength(2);
|
|
370
|
+
expect(readData.tables[1].columns["userName"]).contains("testUser");
|
|
371
|
+
expect(readData.tables[1].columns["preferences"]).toEqual([{ theme: "dark" }]);
|
|
372
|
+
expect(readData.tables[1].columns["analytics"]).toEqual([{}]);
|
|
373
|
+
});
|
|
374
|
+
test("privacy filtering round trip maintains data consistency", () => {
|
|
375
|
+
const ecs1 = createCoreECS()
|
|
376
|
+
.withComponents({
|
|
377
|
+
userName: { type: "string", privacy: "strictlyNecessary" },
|
|
378
|
+
preferences: { type: "object", privacy: "functional", default: {} },
|
|
379
|
+
analytics: { type: "object", privacy: "performance", default: {} },
|
|
380
|
+
})
|
|
381
|
+
.withResources({
|
|
382
|
+
appConfig: { default: { version: "1.0" }, privacy: "strictlyNecessary" },
|
|
383
|
+
userMetrics: { default: { clicks: 0 }, privacy: "performance" },
|
|
384
|
+
});
|
|
385
|
+
const userArchetype = ecs1.getArchetype("id", "userName", "preferences");
|
|
386
|
+
const entityId = ecs1.createEntity(userArchetype, {
|
|
387
|
+
userName: "testUser",
|
|
388
|
+
preferences: { theme: "dark" },
|
|
389
|
+
});
|
|
390
|
+
// Save with all privacy levels
|
|
391
|
+
const functionalData = ecs1.toJSON({ privacy: {
|
|
392
|
+
strictlyNecessary: true,
|
|
393
|
+
functional: true,
|
|
394
|
+
performance: true,
|
|
395
|
+
advertising: true,
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
// Load back with same privacy settings
|
|
399
|
+
const ecs2 = createCoreECS({ data: functionalData, privacy: {
|
|
400
|
+
strictlyNecessary: true,
|
|
401
|
+
} });
|
|
402
|
+
// Verify data integrity
|
|
403
|
+
const json = ecs2.toJSON();
|
|
404
|
+
// expect(JSON.stringify(json, null, 2)).toBe("SHOW_ME_THE_VALUE2" + entityId);
|
|
405
|
+
const restoredEntity = ecs2.getEntityValues(entityId);
|
|
406
|
+
expect(restoredEntity).toEqual({
|
|
407
|
+
id: entityId,
|
|
408
|
+
userName: "testUser",
|
|
409
|
+
preferences: {}
|
|
410
|
+
});
|
|
411
|
+
expect(ecs2.resources).not.toHaveProperty("userMetrics");
|
|
412
|
+
});
|
|
413
|
+
test("components without privacy classification are always included", () => {
|
|
414
|
+
const ecs = createCoreECS()
|
|
415
|
+
.withComponents({
|
|
416
|
+
legacyField: { type: "string" }, // No privacy classification
|
|
417
|
+
newPrivateField: { type: "string", privacy: "performance", default: "defaultValue" },
|
|
418
|
+
});
|
|
419
|
+
const archetype = ecs.getArchetype("id", "legacyField", "newPrivateField");
|
|
420
|
+
ecs.createEntity(archetype, {
|
|
421
|
+
legacyField: "always included",
|
|
422
|
+
newPrivateField: "should be filtered",
|
|
423
|
+
});
|
|
424
|
+
const data = ecs.toJSON({
|
|
425
|
+
privacy: { strictlyNecessary: true }
|
|
426
|
+
}); // Performance not included
|
|
427
|
+
expect(data.components).toHaveProperty("legacyField");
|
|
428
|
+
expect(data.components).toHaveProperty("newPrivateField");
|
|
429
|
+
// Verify table only has legacy field
|
|
430
|
+
const entityTable = data.tables.find(table => table.columns.legacyField);
|
|
431
|
+
expect(entityTable?.columns).toHaveProperty("legacyField");
|
|
432
|
+
expect(entityTable?.columns).toHaveProperty("newPrivateField");
|
|
433
|
+
});
|
|
230
434
|
});
|
|
231
435
|
//# sourceMappingURL=core-ecs-serialization.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-ecs-serialization.test.js","sourceRoot":"","sources":["../../../src/old-ecs/core-ecs/core-ecs-serialization.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-ecs-serialization.test.js","sourceRoot":"","sources":["../../../src/old-ecs/core-ecs/core-ecs-serialization.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Data } from "../../index.js";
|
|
|
2
2
|
import { FromSchema, Schema } from "../../schema/index.js";
|
|
3
3
|
import { DeepReadonly, Simplify } from "../../types/types.js";
|
|
4
4
|
import { NativeArray } from "../../cache/managed-array.js";
|
|
5
|
+
import { PrivacyOptions } from "../privacy/helper-functions.js";
|
|
5
6
|
/**
|
|
6
7
|
* An Entity represents a single object within the ECS.
|
|
7
8
|
* It is a unique positive integer identifier that can be used to access the components of the entity.
|
|
@@ -86,7 +87,9 @@ export interface CoreECSRead<C extends CoreComponents = CoreComponents, R extend
|
|
|
86
87
|
getEntityArchetype(id: Entity): CoreArchetype;
|
|
87
88
|
countEntities<T extends CoreComponents>(archetype: CoreArchetype<T>): number;
|
|
88
89
|
selectEntities<T extends CoreComponents>(archetype: CoreArchetype<T>): Entity[];
|
|
89
|
-
toJSON(
|
|
90
|
+
toJSON(options?: {
|
|
91
|
+
privacy: PrivacyOptions;
|
|
92
|
+
}): ECSJSON;
|
|
90
93
|
}
|
|
91
94
|
export interface CoreECSWrite<C extends CoreComponents = CoreComponents, R extends CoreResources = {}> {
|
|
92
95
|
createEntity(): Entity;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { MemoryAllocator } from "../../cache/memory-allocator.js";
|
|
2
2
|
import { CoreECS, CoreComponents, ECSJSON, CoreResources } from "./core-ecs-types.js";
|
|
3
|
+
import { PrivacyOptions } from "../privacy/helper-functions.js";
|
|
3
4
|
export declare const DELETE: unknown;
|
|
4
5
|
export declare function createCoreECS<C extends CoreComponents, R extends CoreResources>(options?: {
|
|
5
6
|
data?: ECSJSON;
|
|
6
7
|
allocator?: MemoryAllocator;
|
|
8
|
+
privacy?: PrivacyOptions;
|
|
7
9
|
}): CoreECS<CoreComponents, {}>;
|
|
@@ -24,6 +24,7 @@ import { createManagedArray, } from "../../cache/managed-array.js";
|
|
|
24
24
|
import { createSimpleMemoryAllocator, } from "../../cache/memory-allocator.js";
|
|
25
25
|
import { U32Schema } from "../../schema/u32.js";
|
|
26
26
|
import { isSchema } from "../../schema/schema.js";
|
|
27
|
+
import { filterTableForPrivacy, getFilteredColumn } from "../privacy/helper-functions.js";
|
|
27
28
|
// This is a sentinel value used to indicate a component should be deleted.
|
|
28
29
|
export const DELETE = "_@_DELETE_@_";
|
|
29
30
|
export function createCoreECS(options = {}) {
|
|
@@ -234,6 +235,12 @@ export function createCoreECS(options = {}) {
|
|
|
234
235
|
if (oldSchema && !equals(normalize(oldSchema), normalize(newSchema))) {
|
|
235
236
|
console.warn(`Component "${name}" schema changed from ${JSON.stringify(oldSchema)} to ${JSON.stringify(newSchema)}`);
|
|
236
237
|
}
|
|
238
|
+
// if a component explicitly sets the privacy property to any value other than strictlyNecessary,
|
|
239
|
+
// it must also provide a default value.
|
|
240
|
+
// for a component with strictlyNecessary privacy, a default value is optional, since it can never be excluded
|
|
241
|
+
if (newSchema.privacy && newSchema.privacy !== 'strictlyNecessary' && newSchema.default === undefined) {
|
|
242
|
+
throw new Error("Default value must be provided if privacy is set on a component schema");
|
|
243
|
+
}
|
|
237
244
|
componentSchemas[name] = newSchema;
|
|
238
245
|
});
|
|
239
246
|
return ecs;
|
|
@@ -241,7 +248,7 @@ export function createCoreECS(options = {}) {
|
|
|
241
248
|
const withResources = (newResources) => {
|
|
242
249
|
Object.entries(newResources).forEach(([name, valueOrSchema]) => {
|
|
243
250
|
// register the resource as a component.
|
|
244
|
-
|
|
251
|
+
const schema = isSchema(valueOrSchema) ? valueOrSchema : { default: valueOrSchema };
|
|
245
252
|
withComponents({ [name]: schema });
|
|
246
253
|
const value = schema.default;
|
|
247
254
|
const archetype = getArchetype("id", name);
|
|
@@ -415,7 +422,12 @@ export function createCoreECS(options = {}) {
|
|
|
415
422
|
// 3 = Numbers default to Float64Array instead of Float32Array
|
|
416
423
|
// 4 = bug fix for createRow not ensuring capacity
|
|
417
424
|
const SERIALIZATION_VERSION = 4;
|
|
418
|
-
|
|
425
|
+
/**
|
|
426
|
+
* Serializes the ECS to JSON
|
|
427
|
+
* @param options - The options to use
|
|
428
|
+
* @returns The JSON
|
|
429
|
+
*/
|
|
430
|
+
const toJSON = (options) => {
|
|
419
431
|
return {
|
|
420
432
|
ecs: true,
|
|
421
433
|
version: SERIALIZATION_VERSION,
|
|
@@ -430,12 +442,17 @@ export function createCoreECS(options = {}) {
|
|
|
430
442
|
rows,
|
|
431
443
|
columns: Object.fromEntries(Object.entries(columns).map(([name, column]) => {
|
|
432
444
|
const value = column.toJSON(rows, name !== "id");
|
|
433
|
-
return
|
|
445
|
+
return getFilteredColumn(name, options?.privacy, value, componentSchemas, rows);
|
|
434
446
|
})),
|
|
435
447
|
};
|
|
436
448
|
}),
|
|
437
449
|
};
|
|
438
450
|
};
|
|
451
|
+
/**
|
|
452
|
+
* Deserializes the ECS from JSON
|
|
453
|
+
* @param json - The JSON to deserialize
|
|
454
|
+
* @returns Whether the deserialization was successful
|
|
455
|
+
*/
|
|
439
456
|
const fromJSON = (json) => {
|
|
440
457
|
const { ecs, version, entities, tables } = json;
|
|
441
458
|
if (!ecs) {
|
|
@@ -450,16 +467,13 @@ export function createCoreECS(options = {}) {
|
|
|
450
467
|
Object.assign(componentSchemas, json.components);
|
|
451
468
|
for (let i = 0; i < tables.length; i++) {
|
|
452
469
|
const persistedTable = tables[i];
|
|
453
|
-
const { rows, columns } = persistedTable;
|
|
454
|
-
const
|
|
455
|
-
const archetype = getArchetype(...
|
|
470
|
+
const { rows, columns } = filterTableForPrivacy(json.components, persistedTable, options.privacy);
|
|
471
|
+
const tableComponents = Object.keys(columns);
|
|
472
|
+
const archetype = getArchetype(...tableComponents);
|
|
456
473
|
const [archetable] = getTables(archetype, {
|
|
457
474
|
mode: "write",
|
|
458
475
|
exact: true,
|
|
459
476
|
});
|
|
460
|
-
if (archetable.id !== i) {
|
|
461
|
-
throw new Error("Expected archetable to have the same id as the persisted table index");
|
|
462
|
-
}
|
|
463
477
|
archetable.rows = rows;
|
|
464
478
|
for (const [name, columnData] of Object.entries(columns)) {
|
|
465
479
|
const column = archetable.columns[name];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-ecs.js","sourceRoot":"","sources":["../../../src/old-ecs/core-ecs/core-ecs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-ecs.js","sourceRoot":"","sources":["../../../src/old-ecs/core-ecs/core-ecs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Schema } from "../../schema/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Privacy options used in Schema
|
|
4
|
+
*/
|
|
5
|
+
export type PrivacyOptions = {
|
|
6
|
+
[K in NonNullable<Schema["privacy"]>]?: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Checks if a component should be included for serialization
|
|
10
|
+
* @param schema
|
|
11
|
+
* @param privacyOptions
|
|
12
|
+
* @returns Whether the component should be included
|
|
13
|
+
*/
|
|
14
|
+
export declare const shouldIncludeComponentForSerialization: (schema: Schema, privacyOptions?: PrivacyOptions) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Filters a column for privacy by replacing its data with default values if it contains any data.
|
|
17
|
+
* @param schema - The schema of the component
|
|
18
|
+
* @param rows - The number of rows in the table
|
|
19
|
+
* @param data - The data of the column
|
|
20
|
+
* @returns The filtered column containing default values
|
|
21
|
+
*/
|
|
22
|
+
export declare const filterColumnForPrivacy: (schema: Schema, rows: any, data: any) => any;
|
|
23
|
+
/**
|
|
24
|
+
* Gets a filtered column based on privacy options
|
|
25
|
+
* @param name - The name of the component
|
|
26
|
+
* @param privacyOptions
|
|
27
|
+
* @param data - The data of the column
|
|
28
|
+
* @param componentSchemas
|
|
29
|
+
* @param rows - The number of rows in the table
|
|
30
|
+
* @returns A tuple containing the name of the component and the filtered column data
|
|
31
|
+
*/
|
|
32
|
+
export declare const getFilteredColumn: (name: string, privacyOptions: PrivacyOptions | undefined, data: any, componentSchemas: Record<string, Schema>, rows: number) => any[];
|
|
33
|
+
/**
|
|
34
|
+
* Filters a table for privacy based on the filtered components.
|
|
35
|
+
* @param filteredComponents - The components to filter
|
|
36
|
+
* @param table - The table to filter
|
|
37
|
+
* @param options - The privacy options to use
|
|
38
|
+
* @returns The filtered table
|
|
39
|
+
*/
|
|
40
|
+
export declare const filterTableForPrivacy: (filteredComponents: Record<string, Schema>, table: any, options: any) => {
|
|
41
|
+
rows: any;
|
|
42
|
+
columns: any;
|
|
43
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if a component should be included for serialization
|
|
3
|
+
* @param schema
|
|
4
|
+
* @param privacyOptions
|
|
5
|
+
* @returns Whether the component should be included
|
|
6
|
+
*/
|
|
7
|
+
export const shouldIncludeComponentForSerialization = (schema, privacyOptions) => {
|
|
8
|
+
// const schema = componentSchemas[component as keyof C];
|
|
9
|
+
// if the component has no privacy attribute, it is considered as necessary.
|
|
10
|
+
// this is to maintain backwards compatibility with existing schemas
|
|
11
|
+
if (!schema?.privacy) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
// Check the privacy attribute
|
|
15
|
+
return !schema.privacy || (privacyOptions?.[schema.privacy] ?? (schema.privacy === 'strictlyNecessary'));
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Filters a column for privacy by replacing its data with default values if it contains any data.
|
|
19
|
+
* @param schema - The schema of the component
|
|
20
|
+
* @param rows - The number of rows in the table
|
|
21
|
+
* @param data - The data of the column
|
|
22
|
+
* @returns The filtered column containing default values
|
|
23
|
+
*/
|
|
24
|
+
export const filterColumnForPrivacy = (schema, rows, data) => {
|
|
25
|
+
let value = data;
|
|
26
|
+
// If the column has no data and the filtered component has a default, use the default
|
|
27
|
+
if (value !== undefined && value !== null && (Array.isArray(value) && value.length !== 0)) {
|
|
28
|
+
// Create array filled with default values for the number of rows
|
|
29
|
+
if (rows > 0) {
|
|
30
|
+
value = new Array(rows).fill(schema.default);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
value = [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
console.warn(`Updated column for schema ${JSON.stringify(schema)} with rows: ${rows}, original data: ${JSON.stringify(data)}, resulting value: ${JSON.stringify(value)} for privacy filter`);
|
|
37
|
+
return value;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Gets a filtered column based on privacy options
|
|
41
|
+
* @param name - The name of the component
|
|
42
|
+
* @param privacyOptions
|
|
43
|
+
* @param data - The data of the column
|
|
44
|
+
* @param componentSchemas
|
|
45
|
+
* @param rows - The number of rows in the table
|
|
46
|
+
* @returns A tuple containing the name of the component and the filtered column data
|
|
47
|
+
*/
|
|
48
|
+
export const getFilteredColumn = (name, privacyOptions, data, componentSchemas, rows) => {
|
|
49
|
+
const schema = componentSchemas[name];
|
|
50
|
+
if (shouldIncludeComponentForSerialization(schema, privacyOptions)) {
|
|
51
|
+
return [name, data];
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return [name, filterColumnForPrivacy(componentSchemas[name], rows, data)];
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Filters a table for privacy based on the filtered components.
|
|
59
|
+
* @param filteredComponents - The components to filter
|
|
60
|
+
* @param table - The table to filter
|
|
61
|
+
* @param options - The privacy options to use
|
|
62
|
+
* @returns The filtered table
|
|
63
|
+
*/
|
|
64
|
+
export const filterTableForPrivacy = (filteredComponents, table, options) => {
|
|
65
|
+
// filter the tables for privacy based on the filtered components.
|
|
66
|
+
const { rows, columns } = table;
|
|
67
|
+
const filteredColumns = Object.fromEntries(Object.entries(columns)
|
|
68
|
+
.map(([name, data]) => {
|
|
69
|
+
return getFilteredColumn(name, options, data, filteredComponents, rows);
|
|
70
|
+
}));
|
|
71
|
+
return {
|
|
72
|
+
rows,
|
|
73
|
+
columns: filteredColumns,
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=helper-functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper-functions.js","sourceRoot":"","sources":["../../../src/old-ecs/privacy/helper-functions.ts"],"names":[],"mappings":"AA8BA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,MAAc,EAAE,cAA+B,EAAW,EAAE;IAC/G,yDAAyD;IACzD,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,8BAA8B;IAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,mBAAmB,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAE,IAAS,EAAE,IAAS,EAAE,EAAE;IAC3E,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,sFAAsF;IACtF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACxF,iEAAiE;QACjE,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,KAAK,GAAG,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC7L,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,cAA0C,EAAE,IAAS,EAAE,gBAAwC,EAAE,IAAY,EAAE,EAAE;IAC7J,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,sCAAsC,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;AACL,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,kBAA0C,EAAE,KAAU,EAAE,OAAY,EAAE,EAAE;IAC1G,kEAAkE;IAClE,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC;IAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CACtC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CACT,CAAC;IAEF,OAAO;QACH,IAAI;QACJ,OAAO,EAAE,eAAe;KAC3B,CAAC;AACN,CAAC,CAAA"}
|