@cratis/scene.engine 4.18.1 → 4.19.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.
- package/dist/cjs/editing/validateValue.js +4 -4
- package/dist/cjs/editing/validateValue.js.map +1 -1
- package/dist/esm/editing/validateValue.js +4 -4
- package/dist/esm/editing/validateValue.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/editing/validateValue.ts +4 -4
- package/package.json +3 -3
package/editing/validateValue.ts
CHANGED
|
@@ -126,7 +126,7 @@ function validateObject(descriptor: PropertyDescriptor, value: unknown): string
|
|
|
126
126
|
if (descriptor.properties === undefined) return isRecord(value) || Array.isArray(value) ? undefined : 'expected a structured value';
|
|
127
127
|
if (!isRecord(value)) return 'expected a structured value';
|
|
128
128
|
|
|
129
|
-
const problem = validateFields(descriptor.properties, value, 'this object').at(0);
|
|
129
|
+
const problem = validateFields(descriptor.properties, value, 'this object', descriptor.open === true).at(0);
|
|
130
130
|
return problem ? `${problem.field} ${problem.problem}` : undefined;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -166,16 +166,16 @@ export interface ItemFieldProblem {
|
|
|
166
166
|
* @returns Every field that is unknown or has an unacceptable value.
|
|
167
167
|
*/
|
|
168
168
|
export function validateItemValues(itemDescriptor: CollectionItemDescriptor | undefined, values: Record<string, unknown>): ItemFieldProblem[] {
|
|
169
|
-
return validateFields(itemDescriptor?.properties ?? [], values, 'this collection\'s items');
|
|
169
|
+
return validateFields(itemDescriptor?.properties ?? [], values, 'this collection\'s items', itemDescriptor?.open === true);
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
function validateFields(fields: PropertyDescriptor[], values: Record<string, unknown>, owner: string): ItemFieldProblem[] {
|
|
172
|
+
function validateFields(fields: PropertyDescriptor[], values: Record<string, unknown>, owner: string, open: boolean): ItemFieldProblem[] {
|
|
173
173
|
const problems: ItemFieldProblem[] = [];
|
|
174
174
|
|
|
175
175
|
for (const [field, fieldValue] of Object.entries(values)) {
|
|
176
176
|
const fieldDescriptor = fields.find(candidate => candidate.path === field);
|
|
177
177
|
if (!fieldDescriptor) {
|
|
178
|
-
problems.push({ field, problem: `is not a field of ${owner}` });
|
|
178
|
+
if (!open) problems.push({ field, problem: `is not a field of ${owner}` });
|
|
179
179
|
continue;
|
|
180
180
|
}
|
|
181
181
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cratis/scene.engine",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.19.0",
|
|
4
4
|
"description": "The Scene runtime: walks a Scene element tree and drives whichever renderer is plugged in. Does not know React, or any other rendering platform, exists.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cratis",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"up": "yarn g:up"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@cratis/scene.model": "4.
|
|
51
|
+
"@cratis/scene.model": "4.19.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@cratis/scene.model": "4.
|
|
54
|
+
"@cratis/scene.model": "4.19.0"
|
|
55
55
|
}
|
|
56
56
|
}
|