@adobe/data 0.9.20 → 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/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
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"AAAA,uDAAuD;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAoBvD,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAW,CAAC"}
|
package/dist/schema/to-type.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TypedBuffer } from "../typed-buffer/typed-buffer.js";
|
|
2
2
|
import { DeepReadonly } from "../types/types.js";
|
|
3
3
|
import { Schema } from "./schema.js";
|
|
4
|
-
export type ToType<T, Depth extends number = 5> = T extends {
|
|
4
|
+
export type ToType<T, Depth extends number = 5> = T extends false ? void : T extends {
|
|
5
5
|
mutable: true;
|
|
6
6
|
} ? FromSchemaInternal<T> : DeepReadonly<Depth extends 0 ? any : FromSchemaInternal<T, Depth>>;
|
|
7
7
|
type FromSchemaInternal<T, Depth extends number = 5> = T extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-type.js","sourceRoot":"","sources":["../../src/schema/to-type.ts"],"names":[],"mappings":"AAAA,uDAAuD;
|
|
1
|
+
{"version":3,"file":"to-type.js","sourceRoot":"","sources":["../../src/schema/to-type.ts"],"names":[],"mappings":"AAAA,uDAAuD;AA+JvD,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrB,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;KACvB;IACD,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,KAAK;CACF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Database } from "../../ecs/index.js";
|
|
2
|
+
import { Observe } from "../../observe/index.js";
|
|
3
|
+
import { Schema } from "../../schema/index.js";
|
|
4
|
+
import type { ActionError } from "./dynamic-service.js";
|
|
5
|
+
import type { DynamicService } from "./dynamic-service.js";
|
|
6
|
+
export declare const createFromEcs: <D extends Database, const SS extends Record<string, Schema>, const AS extends Record<string, Schema | false>>(database: D, props: {
|
|
7
|
+
states: { [K in keyof SS]: {
|
|
8
|
+
schema: SS[K];
|
|
9
|
+
enabled: (db: D) => Observe<boolean>;
|
|
10
|
+
value: (db: D) => Observe<Schema.ToType<SS[K]>>;
|
|
11
|
+
}; };
|
|
12
|
+
actions: { [K in keyof AS]: {
|
|
13
|
+
schema: AS[K];
|
|
14
|
+
enabled: (db: D) => Observe<boolean>;
|
|
15
|
+
execute: Schema.ToType<AS[K]> extends void ? (db: D) => Promise<void | ActionError> : (db: D, input: Schema.ToType<AS[K]>) => Promise<void | ActionError>;
|
|
16
|
+
}; };
|
|
17
|
+
}) => DynamicService;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Observe } from "../../observe/index.js";
|
|
2
|
+
export const createFromEcs = (database, props) => {
|
|
3
|
+
// Build per-state observables combining enabled + value
|
|
4
|
+
const stateEntries = Object.entries(props.states);
|
|
5
|
+
const perStateObservables = {};
|
|
6
|
+
const stateSchemas = {};
|
|
7
|
+
for (const [key, entry] of stateEntries) {
|
|
8
|
+
stateSchemas[key] = entry.schema;
|
|
9
|
+
perStateObservables[key] = Observe.fromProperties({
|
|
10
|
+
enabled: entry.enabled(database),
|
|
11
|
+
value: entry.value(database),
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
const states = Observe.withMap(Observe.fromProperties(perStateObservables), (raw) => {
|
|
15
|
+
const result = {};
|
|
16
|
+
for (const [key, entry] of Object.entries(raw)) {
|
|
17
|
+
const { enabled, value } = entry;
|
|
18
|
+
if (enabled) {
|
|
19
|
+
result[key] = { schema: stateSchemas[key], value };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
});
|
|
24
|
+
// Build per-action enabled observables, capture execute functions
|
|
25
|
+
const actionEntries = Object.entries(props.actions);
|
|
26
|
+
const actionMeta = {};
|
|
27
|
+
const enabledObservables = {};
|
|
28
|
+
for (const [key, entry] of actionEntries) {
|
|
29
|
+
actionMeta[key] = { schema: entry.schema, execute: entry.execute };
|
|
30
|
+
enabledObservables[key] = entry.enabled(database);
|
|
31
|
+
}
|
|
32
|
+
const actions = Observe.withMap(Observe.fromProperties(enabledObservables), (enabledMap) => {
|
|
33
|
+
const result = {};
|
|
34
|
+
for (const [key, enabled] of Object.entries(enabledMap)) {
|
|
35
|
+
if (!enabled)
|
|
36
|
+
continue;
|
|
37
|
+
const { schema, execute: rawExecute } = actionMeta[key];
|
|
38
|
+
const execute = schema === false
|
|
39
|
+
? () => rawExecute(database)
|
|
40
|
+
: (input) => rawExecute(database, input);
|
|
41
|
+
result[key] = { schema, execute };
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
});
|
|
45
|
+
// Track current actions for execute dispatch
|
|
46
|
+
let currentActions = {};
|
|
47
|
+
actions((a) => { currentActions = a; });
|
|
48
|
+
const execute = async (action, input) => {
|
|
49
|
+
const entry = currentActions[action];
|
|
50
|
+
if (!entry)
|
|
51
|
+
return `Action "${action}" is not available`;
|
|
52
|
+
return entry.execute(input);
|
|
53
|
+
};
|
|
54
|
+
return { serviceName: "dynamic-service", states, actions, execute };
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=create-from-ecs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-from-ecs.js","sourceRoot":"","sources":["../../../src/service/dynamic-service/create-from-ecs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|