@adobe/data 0.9.19 → 0.9.21
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/archetype/archetype.d.ts +13 -1
- package/dist/ecs/archetype/archetype.js.map +1 -1
- package/dist/ecs/archetype/create-archetype.js.map +1 -1
- package/dist/ecs/database/create-plugin.d.ts +1 -1
- package/dist/ecs/database/create-plugin.type-test.js +33 -0
- package/dist/ecs/database/create-plugin.type-test.js.map +1 -1
- package/dist/ecs/database/database.d.ts +1 -0
- package/dist/ecs/database/database.js +2 -0
- package/dist/ecs/database/database.js.map +1 -1
- package/dist/ecs/database/index.d.ts +1 -0
- package/dist/ecs/database/index.js +1 -0
- package/dist/ecs/database/index.js.map +1 -1
- package/dist/ecs/database/public/index.d.ts +1 -0
- package/dist/ecs/database/public/index.js +1 -0
- package/dist/ecs/database/public/index.js.map +1 -1
- package/dist/ecs/database/public/observe-select-deep.d.ts +26 -0
- package/dist/ecs/database/public/observe-select-deep.js +110 -0
- package/dist/ecs/database/public/observe-select-deep.js.map +1 -0
- package/dist/ecs/database/public/observe-select-deep.test.d.ts +1 -0
- package/dist/ecs/database/public/observe-select-deep.test.js +187 -0
- package/dist/ecs/database/public/observe-select-deep.test.js.map +1 -0
- package/dist/ecs/database/public/observe-select-deep.type-test.d.ts +1 -0
- package/dist/ecs/database/public/observe-select-deep.type-test.js +105 -0
- package/dist/ecs/database/public/observe-select-deep.type-test.js.map +1 -0
- package/dist/math/vec2/functions.d.ts +2 -0
- package/dist/math/vec2/functions.js +3 -0
- package/dist/math/vec2/functions.js.map +1 -1
- package/dist/schema/dynamic/enumerate-patches.test.d.ts +10 -37
- package/dist/schema/dynamic/enumerate-patches.test.js +18 -45
- package/dist/schema/dynamic/enumerate-patches.test.js.map +1 -1
- package/dist/schema/dynamic/get-dynamic-schema.test.js +23 -29
- package/dist/schema/dynamic/get-dynamic-schema.test.js.map +1 -1
- package/dist/schema/index.d.ts +2 -2
- package/dist/schema/schema.d.ts +1 -17
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/to-type.d.ts +1 -1
- package/dist/schema/to-type.js.map +1 -1
- package/dist/service/dynamic-service/create-from-ecs.d.ts +17 -0
- package/dist/service/dynamic-service/create-from-ecs.js +56 -0
- package/dist/service/dynamic-service/create-from-ecs.js.map +1 -0
- package/dist/service/dynamic-service/create-from-ecs.test.d.ts +1 -0
- package/dist/service/dynamic-service/create-from-ecs.test.js +636 -0
- package/dist/service/dynamic-service/create-from-ecs.test.js.map +1 -0
- package/dist/service/dynamic-service/dynamic-service.d.ts +28 -0
- package/dist/service/dynamic-service/dynamic-service.js +2 -0
- package/dist/service/dynamic-service/dynamic-service.js.map +1 -0
- package/dist/service/dynamic-service/index.d.ts +1 -0
- package/dist/service/dynamic-service/index.js +3 -0
- package/dist/service/dynamic-service/index.js.map +1 -0
- package/dist/service/dynamic-service/public.d.ts +2 -0
- package/dist/service/dynamic-service/public.js +3 -0
- package/dist/service/dynamic-service/public.js.map +1 -0
- package/dist/service/index.d.ts +1 -0
- package/dist/service/index.js +1 -0
- package/dist/service/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { Database } from "../database.js";
|
|
3
|
+
import { observeSelectDeep } from "./observe-select-deep.js";
|
|
4
|
+
/**
|
|
5
|
+
* Type-only tests for observeSelectDeep type inference.
|
|
6
|
+
*
|
|
7
|
+
* These tests verify that:
|
|
8
|
+
* 1. observeSelectDeep infers entity data types from included components
|
|
9
|
+
* 2. Only queried components appear in the result type
|
|
10
|
+
* 3. RequiredComponents (id) is always included
|
|
11
|
+
*
|
|
12
|
+
* Note: These are compile-time type checks only — they don't need to execute.
|
|
13
|
+
*/
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// BASIC INFERENCE FROM DATABASE
|
|
16
|
+
// ============================================================================
|
|
17
|
+
function testObserveSelectDeepBasicInference() {
|
|
18
|
+
const plugin = Database.Plugin.create({
|
|
19
|
+
components: {
|
|
20
|
+
position: { type: "number" },
|
|
21
|
+
velocity: { type: "number" },
|
|
22
|
+
name: { type: "string" },
|
|
23
|
+
},
|
|
24
|
+
archetypes: {
|
|
25
|
+
Moving: ["position", "velocity"],
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
const db = Database.create(plugin);
|
|
29
|
+
// Querying position and velocity should infer correct entity data
|
|
30
|
+
const observed = observeSelectDeep(db, ["position", "velocity"]);
|
|
31
|
+
}
|
|
32
|
+
// ============================================================================
|
|
33
|
+
// SINGLE COMPONENT QUERY
|
|
34
|
+
// ============================================================================
|
|
35
|
+
function testObserveSelectDeepSingleComponent() {
|
|
36
|
+
const plugin = Database.Plugin.create({
|
|
37
|
+
components: {
|
|
38
|
+
position: { type: "number" },
|
|
39
|
+
name: { type: "string" },
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const db = Database.create(plugin);
|
|
43
|
+
// Querying only name should produce id + name
|
|
44
|
+
const observed = observeSelectDeep(db, ["name"]);
|
|
45
|
+
}
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// INVALID COMPONENT NAMES REJECTED
|
|
48
|
+
// ============================================================================
|
|
49
|
+
function testObserveSelectDeepRejectsInvalidComponents() {
|
|
50
|
+
const plugin = Database.Plugin.create({
|
|
51
|
+
components: {
|
|
52
|
+
position: { type: "number" },
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
const db = Database.create(plugin);
|
|
56
|
+
// @ts-expect-error - "nonexistent" is not a valid component name
|
|
57
|
+
observeSelectDeep(db, ["nonexistent"]);
|
|
58
|
+
}
|
|
59
|
+
// ============================================================================
|
|
60
|
+
// WITH OPTIONS (where/order)
|
|
61
|
+
// ============================================================================
|
|
62
|
+
function testObserveSelectDeepWithOptions() {
|
|
63
|
+
const plugin = Database.Plugin.create({
|
|
64
|
+
components: {
|
|
65
|
+
position: { type: "number" },
|
|
66
|
+
velocity: { type: "number" },
|
|
67
|
+
name: { type: "string" },
|
|
68
|
+
},
|
|
69
|
+
archetypes: {
|
|
70
|
+
Moving: ["position", "velocity"],
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
const db = Database.create(plugin);
|
|
74
|
+
// Should accept where/order options scoped to included components
|
|
75
|
+
const observed = observeSelectDeep(db, ["position", "velocity"], {
|
|
76
|
+
where: { position: { ">": 0 } },
|
|
77
|
+
order: { velocity: true },
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// ============================================================================
|
|
81
|
+
// EXTENDED PLUGIN INFERENCE
|
|
82
|
+
// ============================================================================
|
|
83
|
+
function testObserveSelectDeepWithExtendedPlugin() {
|
|
84
|
+
const basePlugin = Database.Plugin.create({
|
|
85
|
+
components: {
|
|
86
|
+
position: { type: "number" },
|
|
87
|
+
},
|
|
88
|
+
archetypes: {
|
|
89
|
+
Positioned: ["position"],
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
const extendedPlugin = Database.Plugin.create({
|
|
93
|
+
extends: basePlugin,
|
|
94
|
+
components: {
|
|
95
|
+
velocity: { type: "number" },
|
|
96
|
+
},
|
|
97
|
+
archetypes: {
|
|
98
|
+
Moving: ["position", "velocity"],
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
const db = Database.create(extendedPlugin);
|
|
102
|
+
// Should work with components from both base and extended plugins
|
|
103
|
+
const observed = observeSelectDeep(db, ["position", "velocity"]);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=observe-select-deep.type-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe-select-deep.type-test.js","sourceRoot":"","sources":["../../../../src/ecs/database/public/observe-select-deep.type-test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,SAAS,mCAAmC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B;QACD,UAAU,EAAE;YACR,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;SACnC;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnC,kEAAkE;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAQrE,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,SAAS,oCAAoC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnC,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAQrD,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,SAAS,6CAA6C;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC/B;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnC,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,SAAS,gCAAgC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B;QACD,UAAU,EAAE;YACR,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;SACnC;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnC,kEAAkE;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;QAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B,CAAC,CAAC;AAQP,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,SAAS,uCAAuC;IAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACtC,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC/B;QACD,UAAU,EAAE;YACR,UAAU,EAAE,CAAC,UAAU,CAAC;SAC3B;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC/B;QACD,UAAU,EAAE;YACR,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;SACnC;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAE3C,kEAAkE;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAQrE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Vec2 } from "./index.js";
|
|
2
|
+
export declare const zero: Vec2;
|
|
2
3
|
export declare const abs: ([x, y]: Vec2) => Vec2;
|
|
3
4
|
export declare const ceil: ([x, y]: Vec2) => Vec2;
|
|
4
5
|
export declare const floor: ([x, y]: Vec2) => Vec2;
|
|
@@ -10,6 +11,7 @@ export declare const clamp: (v: Vec2, minVec: Vec2, maxVec: Vec2) => Vec2;
|
|
|
10
11
|
export declare const mix: ([x1, y1]: Vec2, [x2, y2]: Vec2, t: number) => Vec2;
|
|
11
12
|
export declare const step: ([edge1, edge2]: Vec2, [x, y]: Vec2) => Vec2;
|
|
12
13
|
export declare const smoothstep: ([e0x, e0y]: Vec2, [e1x, e1y]: Vec2, [x, y]: Vec2) => Vec2;
|
|
14
|
+
export declare const equals: ([x1, y1]: Vec2, [x2, y2]: Vec2) => boolean;
|
|
13
15
|
export declare const length: ([x, y]: Vec2) => number;
|
|
14
16
|
export declare const distance: (a: Vec2, b: Vec2) => number;
|
|
15
17
|
export declare const dot: ([x1, y1]: Vec2, [x2, y2]: Vec2) => number;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
// Constants
|
|
3
|
+
export const zero = [0, 0];
|
|
2
4
|
// Mathematical Operations
|
|
3
5
|
export const abs = ([x, y]) => [Math.abs(x), Math.abs(y)];
|
|
4
6
|
export const ceil = ([x, y]) => [Math.ceil(x), Math.ceil(y)];
|
|
@@ -21,6 +23,7 @@ export const smoothstep = ([e0x, e0y], [e1x, e1y], [x, y]) => {
|
|
|
21
23
|
const ty = Math.max(0, Math.min(1, (y - e0y) / (e1y - e0y)));
|
|
22
24
|
return [tx * tx * (3 - 2 * tx), ty * ty * (3 - 2 * ty)];
|
|
23
25
|
};
|
|
26
|
+
export const equals = ([x1, y1], [x2, y2]) => x1 === x2 && y1 === y2;
|
|
24
27
|
// Geometric Functions
|
|
25
28
|
export const length = ([x, y]) => Math.sqrt(x * x + y * y);
|
|
26
29
|
export const distance = (a, b) => length(subtract(b, a));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/math/vec2/functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/math/vec2/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,23 +3,16 @@ export declare const PersonSchema: {
|
|
|
3
3
|
readonly properties: {
|
|
4
4
|
readonly name: {
|
|
5
5
|
readonly type: "string";
|
|
6
|
-
readonly ui: {
|
|
7
|
-
readonly name: "Name";
|
|
8
|
-
readonly placeholder: "John Doe";
|
|
9
|
-
};
|
|
10
6
|
};
|
|
11
7
|
readonly age: {
|
|
12
8
|
readonly type: "number";
|
|
13
9
|
readonly default: 30;
|
|
14
10
|
readonly minimum: 0;
|
|
15
11
|
readonly maximum: 100;
|
|
16
|
-
readonly ui: {
|
|
17
|
-
readonly name: "Age";
|
|
18
|
-
};
|
|
19
12
|
readonly conditionals: readonly [{
|
|
20
|
-
readonly path: "$.properties.email
|
|
13
|
+
readonly path: "$.properties.email";
|
|
21
14
|
readonly value: {
|
|
22
|
-
readonly
|
|
15
|
+
readonly transient: true;
|
|
23
16
|
};
|
|
24
17
|
readonly match: {
|
|
25
18
|
readonly exclusiveMaximum: 18;
|
|
@@ -28,10 +21,6 @@ export declare const PersonSchema: {
|
|
|
28
21
|
};
|
|
29
22
|
readonly email: {
|
|
30
23
|
readonly type: "string";
|
|
31
|
-
readonly ui: {
|
|
32
|
-
readonly name: "Email";
|
|
33
|
-
readonly placeholder: "john.doe@example.com";
|
|
34
|
-
};
|
|
35
24
|
};
|
|
36
25
|
};
|
|
37
26
|
readonly additionalProperties: false;
|
|
@@ -41,37 +30,29 @@ export declare const PersonSchemaWithOneOf: {
|
|
|
41
30
|
readonly properties: {
|
|
42
31
|
readonly name: {
|
|
43
32
|
readonly type: "string";
|
|
44
|
-
readonly ui: {
|
|
45
|
-
readonly name: "Name";
|
|
46
|
-
readonly placeholder: "John Doe";
|
|
47
|
-
};
|
|
48
33
|
};
|
|
49
34
|
readonly species: {
|
|
50
35
|
readonly type: "string";
|
|
51
36
|
readonly oneOf: readonly [{
|
|
52
37
|
readonly const: "human";
|
|
53
38
|
readonly conditionals: readonly [{
|
|
54
|
-
readonly path: "$.properties.email
|
|
39
|
+
readonly path: "$.properties.email";
|
|
55
40
|
readonly value: {
|
|
56
|
-
readonly
|
|
41
|
+
readonly transient: false;
|
|
57
42
|
};
|
|
58
43
|
}];
|
|
59
44
|
}, {
|
|
60
45
|
readonly const: "robot";
|
|
61
46
|
readonly conditionals: readonly [{
|
|
62
|
-
readonly path: "$.properties.email
|
|
47
|
+
readonly path: "$.properties.email";
|
|
63
48
|
readonly value: {
|
|
64
|
-
readonly
|
|
49
|
+
readonly mutable: false;
|
|
65
50
|
};
|
|
66
51
|
}];
|
|
67
52
|
}];
|
|
68
53
|
};
|
|
69
54
|
readonly email: {
|
|
70
55
|
readonly type: "string";
|
|
71
|
-
readonly ui: {
|
|
72
|
-
readonly name: "Email";
|
|
73
|
-
readonly placeholder: "john.doe@example.com";
|
|
74
|
-
};
|
|
75
56
|
};
|
|
76
57
|
};
|
|
77
58
|
readonly additionalProperties: false;
|
|
@@ -81,10 +62,6 @@ export declare const PersonSchemaRootConditions: {
|
|
|
81
62
|
readonly properties: {
|
|
82
63
|
readonly name: {
|
|
83
64
|
readonly type: "string";
|
|
84
|
-
readonly ui: {
|
|
85
|
-
readonly name: "Name";
|
|
86
|
-
readonly placeholder: "John Doe";
|
|
87
|
-
};
|
|
88
65
|
};
|
|
89
66
|
readonly species: {
|
|
90
67
|
readonly type: "string";
|
|
@@ -96,16 +73,12 @@ export declare const PersonSchemaRootConditions: {
|
|
|
96
73
|
};
|
|
97
74
|
readonly email: {
|
|
98
75
|
readonly type: "string";
|
|
99
|
-
readonly ui: {
|
|
100
|
-
readonly name: "Email";
|
|
101
|
-
readonly placeholder: "john.doe@example.com";
|
|
102
|
-
};
|
|
103
76
|
};
|
|
104
77
|
};
|
|
105
78
|
readonly conditionals: readonly [{
|
|
106
|
-
readonly path: "$.properties.email
|
|
79
|
+
readonly path: "$.properties.email";
|
|
107
80
|
readonly value: {
|
|
108
|
-
readonly
|
|
81
|
+
readonly transient: true;
|
|
109
82
|
};
|
|
110
83
|
readonly match: {
|
|
111
84
|
readonly properties: {
|
|
@@ -115,9 +88,9 @@ export declare const PersonSchemaRootConditions: {
|
|
|
115
88
|
};
|
|
116
89
|
};
|
|
117
90
|
}, {
|
|
118
|
-
readonly path: "$.properties.email
|
|
91
|
+
readonly path: "$.properties.email";
|
|
119
92
|
readonly value: {
|
|
120
|
-
readonly
|
|
93
|
+
readonly transient: false;
|
|
121
94
|
};
|
|
122
95
|
readonly match: {
|
|
123
96
|
readonly properties: {
|
|
@@ -6,25 +6,18 @@ export const PersonSchema = {
|
|
|
6
6
|
properties: {
|
|
7
7
|
name: {
|
|
8
8
|
type: "string",
|
|
9
|
-
ui: {
|
|
10
|
-
name: "Name",
|
|
11
|
-
placeholder: "John Doe",
|
|
12
|
-
}
|
|
13
9
|
},
|
|
14
10
|
age: {
|
|
15
11
|
type: "number",
|
|
16
12
|
default: 30,
|
|
17
13
|
minimum: 0,
|
|
18
14
|
maximum: 100,
|
|
19
|
-
ui: {
|
|
20
|
-
name: "Age",
|
|
21
|
-
},
|
|
22
15
|
conditionals: [
|
|
23
|
-
// when the age is less than 18 then email
|
|
16
|
+
// when the age is less than 18 then email becomes transient.
|
|
24
17
|
{
|
|
25
|
-
path: "$.properties.email
|
|
18
|
+
path: "$.properties.email",
|
|
26
19
|
value: {
|
|
27
|
-
|
|
20
|
+
transient: true,
|
|
28
21
|
},
|
|
29
22
|
match: {
|
|
30
23
|
exclusiveMaximum: 18,
|
|
@@ -34,10 +27,6 @@ export const PersonSchema = {
|
|
|
34
27
|
},
|
|
35
28
|
email: {
|
|
36
29
|
type: "string",
|
|
37
|
-
ui: {
|
|
38
|
-
name: "Email",
|
|
39
|
-
placeholder: "john.doe@example.com",
|
|
40
|
-
}
|
|
41
30
|
},
|
|
42
31
|
},
|
|
43
32
|
additionalProperties: false,
|
|
@@ -47,10 +36,6 @@ export const PersonSchemaWithOneOf = {
|
|
|
47
36
|
properties: {
|
|
48
37
|
name: {
|
|
49
38
|
type: "string",
|
|
50
|
-
ui: {
|
|
51
|
-
name: "Name",
|
|
52
|
-
placeholder: "John Doe",
|
|
53
|
-
}
|
|
54
39
|
},
|
|
55
40
|
species: {
|
|
56
41
|
type: "string",
|
|
@@ -59,9 +44,9 @@ export const PersonSchemaWithOneOf = {
|
|
|
59
44
|
const: "human",
|
|
60
45
|
conditionals: [
|
|
61
46
|
{
|
|
62
|
-
path: "$.properties.email
|
|
47
|
+
path: "$.properties.email",
|
|
63
48
|
value: {
|
|
64
|
-
|
|
49
|
+
transient: false,
|
|
65
50
|
}
|
|
66
51
|
}
|
|
67
52
|
]
|
|
@@ -70,9 +55,9 @@ export const PersonSchemaWithOneOf = {
|
|
|
70
55
|
const: "robot",
|
|
71
56
|
conditionals: [
|
|
72
57
|
{
|
|
73
|
-
path: "$.properties.email
|
|
58
|
+
path: "$.properties.email",
|
|
74
59
|
value: {
|
|
75
|
-
|
|
60
|
+
mutable: false,
|
|
76
61
|
}
|
|
77
62
|
}
|
|
78
63
|
]
|
|
@@ -81,10 +66,6 @@ export const PersonSchemaWithOneOf = {
|
|
|
81
66
|
},
|
|
82
67
|
email: {
|
|
83
68
|
type: "string",
|
|
84
|
-
ui: {
|
|
85
|
-
name: "Email",
|
|
86
|
-
placeholder: "john.doe@example.com",
|
|
87
|
-
}
|
|
88
69
|
},
|
|
89
70
|
},
|
|
90
71
|
additionalProperties: false,
|
|
@@ -94,10 +75,6 @@ export const PersonSchemaRootConditions = {
|
|
|
94
75
|
properties: {
|
|
95
76
|
name: {
|
|
96
77
|
type: "string",
|
|
97
|
-
ui: {
|
|
98
|
-
name: "Name",
|
|
99
|
-
placeholder: "John Doe",
|
|
100
|
-
}
|
|
101
78
|
},
|
|
102
79
|
species: {
|
|
103
80
|
type: "string",
|
|
@@ -112,18 +89,14 @@ export const PersonSchemaRootConditions = {
|
|
|
112
89
|
},
|
|
113
90
|
email: {
|
|
114
91
|
type: "string",
|
|
115
|
-
ui: {
|
|
116
|
-
name: "Email",
|
|
117
|
-
placeholder: "john.doe@example.com",
|
|
118
|
-
}
|
|
119
92
|
},
|
|
120
93
|
},
|
|
121
94
|
conditionals: [
|
|
122
|
-
// if the name length is less than 3 then the email
|
|
95
|
+
// if the name length is less than 3 then the email becomes transient.
|
|
123
96
|
{
|
|
124
|
-
path: "$.properties.email
|
|
97
|
+
path: "$.properties.email",
|
|
125
98
|
value: {
|
|
126
|
-
|
|
99
|
+
transient: true,
|
|
127
100
|
},
|
|
128
101
|
match: {
|
|
129
102
|
properties: {
|
|
@@ -133,11 +106,11 @@ export const PersonSchemaRootConditions = {
|
|
|
133
106
|
}
|
|
134
107
|
}
|
|
135
108
|
},
|
|
136
|
-
// if the name length is greater than 3 and the species is human then the email is
|
|
109
|
+
// if the name length is greater than 3 and the species is human then the email is not transient.
|
|
137
110
|
{
|
|
138
|
-
path: "$.properties.email
|
|
111
|
+
path: "$.properties.email",
|
|
139
112
|
value: {
|
|
140
|
-
|
|
113
|
+
transient: false,
|
|
141
114
|
},
|
|
142
115
|
match: {
|
|
143
116
|
properties: {
|
|
@@ -167,7 +140,7 @@ describe('enumeratePatches', () => {
|
|
|
167
140
|
age: 10,
|
|
168
141
|
})];
|
|
169
142
|
expect(patches).toEqual([
|
|
170
|
-
{ path: ["$", "properties", "email"
|
|
143
|
+
{ path: ["$", "properties", "email"], fragment: { transient: true } },
|
|
171
144
|
]);
|
|
172
145
|
});
|
|
173
146
|
it('should match on oneOf cases for human', () => {
|
|
@@ -176,7 +149,7 @@ describe('enumeratePatches', () => {
|
|
|
176
149
|
species: "human",
|
|
177
150
|
})];
|
|
178
151
|
expect(patches).toEqual([
|
|
179
|
-
{ path: ["$", "properties", "email"
|
|
152
|
+
{ path: ["$", "properties", "email"], fragment: { transient: false } },
|
|
180
153
|
]);
|
|
181
154
|
});
|
|
182
155
|
it('should match on oneOf cases for robot', () => {
|
|
@@ -185,7 +158,7 @@ describe('enumeratePatches', () => {
|
|
|
185
158
|
species: "robot",
|
|
186
159
|
})];
|
|
187
160
|
expect(patches).toEqual([
|
|
188
|
-
{ path: ["$", "properties", "email"
|
|
161
|
+
{ path: ["$", "properties", "email"], fragment: { mutable: false } },
|
|
189
162
|
]);
|
|
190
163
|
});
|
|
191
164
|
it('should match on complex root conditions', () => {
|
|
@@ -194,7 +167,7 @@ describe('enumeratePatches', () => {
|
|
|
194
167
|
species: "human",
|
|
195
168
|
})];
|
|
196
169
|
expect(patches).toEqual([
|
|
197
|
-
{ path: ["$", "properties", "email"
|
|
170
|
+
{ path: ["$", "properties", "email"], fragment: { transient: false } },
|
|
198
171
|
]);
|
|
199
172
|
});
|
|
200
173
|
it('should match on simple root conditions', () => {
|
|
@@ -203,7 +176,7 @@ describe('enumeratePatches', () => {
|
|
|
203
176
|
species: "human",
|
|
204
177
|
})];
|
|
205
178
|
expect(patches).toEqual([
|
|
206
|
-
{ path: ["$", "properties", "email"
|
|
179
|
+
{ path: ["$", "properties", "email"], fragment: { transient: true } },
|
|
207
180
|
]);
|
|
208
181
|
});
|
|
209
182
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enumerate-patches.test.js","sourceRoot":"","sources":["../../../src/schema/dynamic/enumerate-patches.test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"enumerate-patches.test.js","sourceRoot":"","sources":["../../../src/schema/dynamic/enumerate-patches.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,9 @@ describe('getDynamicSchema', () => {
|
|
|
8
8
|
name: "John Doe",
|
|
9
9
|
age: 20,
|
|
10
10
|
});
|
|
11
|
-
// Email
|
|
12
|
-
expect(dynamicSchema.properties?.email
|
|
13
|
-
|
|
14
|
-
placeholder: "john.doe@example.com",
|
|
11
|
+
// Email schema should remain unchanged
|
|
12
|
+
expect(dynamicSchema.properties?.email).toEqual({
|
|
13
|
+
type: "string",
|
|
15
14
|
});
|
|
16
15
|
});
|
|
17
16
|
it('should modify schema when local condition is met', () => {
|
|
@@ -19,11 +18,10 @@ describe('getDynamicSchema', () => {
|
|
|
19
18
|
name: "John Doe",
|
|
20
19
|
age: 10,
|
|
21
20
|
});
|
|
22
|
-
// Email
|
|
23
|
-
expect(dynamicSchema.properties?.email
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
visible: false,
|
|
21
|
+
// Email should become transient when age < 18
|
|
22
|
+
expect(dynamicSchema.properties?.email).toEqual({
|
|
23
|
+
type: "string",
|
|
24
|
+
transient: true,
|
|
27
25
|
});
|
|
28
26
|
});
|
|
29
27
|
it('should apply oneOf conditions for human', () => {
|
|
@@ -31,11 +29,10 @@ describe('getDynamicSchema', () => {
|
|
|
31
29
|
name: "John Doe",
|
|
32
30
|
species: "human",
|
|
33
31
|
});
|
|
34
|
-
// Email
|
|
35
|
-
expect(dynamicSchema.properties?.email
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
visible: true,
|
|
32
|
+
// Email should not be transient for humans
|
|
33
|
+
expect(dynamicSchema.properties?.email).toEqual({
|
|
34
|
+
type: "string",
|
|
35
|
+
transient: false,
|
|
39
36
|
});
|
|
40
37
|
});
|
|
41
38
|
it('should apply oneOf conditions for robot', () => {
|
|
@@ -43,11 +40,10 @@ describe('getDynamicSchema', () => {
|
|
|
43
40
|
name: "John Doe",
|
|
44
41
|
species: "robot",
|
|
45
42
|
});
|
|
46
|
-
// Email
|
|
47
|
-
expect(dynamicSchema.properties?.email
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
enabled: false,
|
|
43
|
+
// Email should be immutable for robots
|
|
44
|
+
expect(dynamicSchema.properties?.email).toEqual({
|
|
45
|
+
type: "string",
|
|
46
|
+
mutable: false,
|
|
51
47
|
});
|
|
52
48
|
});
|
|
53
49
|
it('should apply complex root conditions', () => {
|
|
@@ -55,11 +51,10 @@ describe('getDynamicSchema', () => {
|
|
|
55
51
|
name: "John Doe",
|
|
56
52
|
species: "human",
|
|
57
53
|
});
|
|
58
|
-
// Email
|
|
59
|
-
expect(dynamicSchema.properties?.email
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
visible: true,
|
|
54
|
+
// Email should not be transient due to name length > 3 and species being human
|
|
55
|
+
expect(dynamicSchema.properties?.email).toEqual({
|
|
56
|
+
type: "string",
|
|
57
|
+
transient: false,
|
|
63
58
|
});
|
|
64
59
|
});
|
|
65
60
|
it('should apply simple root conditions', () => {
|
|
@@ -67,11 +62,10 @@ describe('getDynamicSchema', () => {
|
|
|
67
62
|
name: "ab",
|
|
68
63
|
species: "human",
|
|
69
64
|
});
|
|
70
|
-
// Email
|
|
71
|
-
expect(dynamicSchema.properties?.email
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
visible: false,
|
|
65
|
+
// Email should become transient due to name length <= 2
|
|
66
|
+
expect(dynamicSchema.properties?.email).toEqual({
|
|
67
|
+
type: "string",
|
|
68
|
+
transient: true,
|
|
75
69
|
});
|
|
76
70
|
});
|
|
77
71
|
it('should throw error when target node is not an object', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-dynamic-schema.test.js","sourceRoot":"","sources":["../../../src/schema/dynamic/get-dynamic-schema.test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG9G,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,EAAE;YACjD,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,
|
|
1
|
+
{"version":3,"file":"get-dynamic-schema.test.js","sourceRoot":"","sources":["../../../src/schema/dynamic/get-dynamic-schema.test.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Schema as SchemaType, Layout, Conditional,
|
|
1
|
+
import type { Schema as SchemaType, Layout, Conditional, JSONPath, JSONMergePatch } from "./schema.js";
|
|
2
2
|
export type Schema = SchemaType;
|
|
3
3
|
export * as Schema from "./public.js";
|
|
4
4
|
export type { FromSchemas } from "./from-schemas.js";
|
|
5
|
-
export type { Layout, Conditional,
|
|
5
|
+
export type { Layout, Conditional, JSONPath, JSONMergePatch };
|
|
6
6
|
export type { getDynamicSchema } from "./dynamic/index.js";
|
|
7
7
|
export * from "./validation/index.js";
|
|
8
8
|
export * from "./true/index.js";
|
package/dist/schema/schema.d.ts
CHANGED
|
@@ -11,22 +11,6 @@ export type Conditional = {
|
|
|
11
11
|
path: JSONPath;
|
|
12
12
|
value: JSONMergePatch;
|
|
13
13
|
};
|
|
14
|
-
export interface UIProperties {
|
|
15
|
-
name?: string;
|
|
16
|
-
icon?: string;
|
|
17
|
-
summary?: string;
|
|
18
|
-
premium?: boolean;
|
|
19
|
-
placeholder?: string;
|
|
20
|
-
details?: string;
|
|
21
|
-
visible?: boolean;
|
|
22
|
-
enabled?: boolean;
|
|
23
|
-
infoUrl?: string;
|
|
24
|
-
group?: string;
|
|
25
|
-
order?: number;
|
|
26
|
-
groups?: {
|
|
27
|
-
readonly [key: string]: UIProperties;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
14
|
declare const schemaTypes: {
|
|
31
15
|
readonly number: true;
|
|
32
16
|
readonly integer: true;
|
|
@@ -40,8 +24,8 @@ declare const schemaTypes: {
|
|
|
40
24
|
};
|
|
41
25
|
export interface Schema {
|
|
42
26
|
type?: keyof typeof schemaTypes;
|
|
27
|
+
description?: string;
|
|
43
28
|
conditionals?: readonly Conditional[];
|
|
44
|
-
ui?: UIProperties;
|
|
45
29
|
transient?: boolean;
|
|
46
30
|
mutable?: boolean;
|
|
47
31
|
default?: any;
|