@kurot/ui-document 0.6.0 → 0.6.1
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/README.md +9 -5
- package/dist/kurot/document/create-asset-contract.d.ts +0 -4
- package/dist/kurot/document/create-asset-contract.d.ts.map +1 -1
- package/dist/kurot/document/create-asset-contract.js +0 -1
- package/dist/kurot/document/create-asset-contract.js.map +1 -1
- package/dist/kurot/model/UIAssetContract.d.ts +0 -4
- package/dist/kurot/model/UIAssetContract.d.ts.map +1 -1
- package/dist/kurot/model/index.d.ts +1 -0
- package/dist/kurot/model/index.d.ts.map +1 -1
- package/dist/kurot/model/index.js +1 -0
- package/dist/kurot/model/index.js.map +1 -1
- package/dist/kurot/model/synthetic-node-id.d.ts +9 -0
- package/dist/kurot/model/synthetic-node-id.d.ts.map +1 -0
- package/dist/kurot/model/synthetic-node-id.js +14 -0
- package/dist/kurot/model/synthetic-node-id.js.map +1 -0
- package/dist/kurot/serialization/xml/xml-node.d.ts +7 -2
- package/dist/kurot/serialization/xml/xml-node.d.ts.map +1 -1
- package/dist/kurot/serialization/xml/xml-node.js +141 -147
- package/dist/kurot/serialization/xml/xml-node.js.map +1 -1
- package/dist/kurot/serialization/xml/xml-values.d.ts +3 -11
- package/dist/kurot/serialization/xml/xml-values.d.ts.map +1 -1
- package/dist/kurot/serialization/xml/xml-values.js +24 -84
- package/dist/kurot/serialization/xml/xml-values.js.map +1 -1
- package/dist/kurot/serialization/xml.d.ts.map +1 -1
- package/dist/kurot/serialization/xml.js +85 -87
- package/dist/kurot/serialization/xml.js.map +1 -1
- package/dist/kurot/validation/validateUIAssetContract.d.ts.map +1 -1
- package/dist/kurot/validation/validateUIAssetContract.js +2 -7
- package/dist/kurot/validation/validateUIAssetContract.js.map +1 -1
- package/dist/kurot/validation/validateUIAssetModes.d.ts.map +1 -1
- package/dist/kurot/validation/validateUIAssetModes.js.map +1 -1
- package/dist/kurot/validation/validateUIComponentInstance.d.ts.map +1 -1
- package/dist/kurot/validation/validateUIComponentInstance.js +1 -7
- package/dist/kurot/validation/validateUIComponentInstance.js.map +1 -1
- package/dist/kurot/validation/validateUIDocument.d.ts.map +1 -1
- package/dist/kurot/validation/validateUIDocument.js +4 -17
- package/dist/kurot/validation/validateUIDocument.js.map +1 -1
- package/dist/kurot/validation/validationHelpers.d.ts.map +1 -1
- package/dist/kurot/validation/validationHelpers.js +1 -1
- package/dist/kurot/validation/validationHelpers.js.map +1 -1
- package/package.json +1 -1
- package/dist/kurot/serialization/xml/xml-contract-parser.d.ts +0 -7
- package/dist/kurot/serialization/xml/xml-contract-parser.d.ts.map +0 -1
- package/dist/kurot/serialization/xml/xml-contract-parser.js +0 -200
- package/dist/kurot/serialization/xml/xml-contract-parser.js.map +0 -1
- package/dist/kurot/serialization/xml/xml-contract-serializer.d.ts +0 -6
- package/dist/kurot/serialization/xml/xml-contract-serializer.d.ts.map +0 -1
- package/dist/kurot/serialization/xml/xml-contract-serializer.js +0 -111
- package/dist/kurot/serialization/xml/xml-contract-serializer.js.map +0 -1
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { compareStrings } from '../../shared/strings.js';
|
|
2
|
-
import { encodeXMLValue, escapeXML, serializeComplexValue } from './xml-values.js';
|
|
3
|
-
/**
|
|
4
|
-
* Serializes the public contract of one UI asset.
|
|
5
|
-
*/
|
|
6
|
-
export function serializeContract(contract, depth) {
|
|
7
|
-
const indent = ' '.repeat(depth);
|
|
8
|
-
const lines = [`${indent}<contract>`];
|
|
9
|
-
appendDefinitions(lines, 'parameters', contract.parameters, depth + 1, (name, value, itemDepth) => {
|
|
10
|
-
const itemIndent = ' '.repeat(itemDepth);
|
|
11
|
-
const bindings = (value.bindings ?? []).map(binding => `${itemIndent} <bind target="${escapeXML(binding.targetId)}" property="${escapeXML(binding.property)}" />`);
|
|
12
|
-
return propertyDefinition('parameter', name, value, itemDepth, bindings);
|
|
13
|
-
});
|
|
14
|
-
appendDefinitions(lines, 'parts', contract.parts, depth + 1, (name, value, itemDepth) => [
|
|
15
|
-
`${' '.repeat(itemDepth)}<part name="${escapeXML(name)}" node="${escapeXML(value.nodeId)}"${optionalBoolean('required', value.required)}${optionalString('description', value.description)} />`,
|
|
16
|
-
]);
|
|
17
|
-
appendDefinitions(lines, 'slots', contract.slots, depth + 1, (name, value, itemDepth) => [
|
|
18
|
-
`${' '.repeat(itemDepth)}<slot name="${escapeXML(name)}" node="${escapeXML(value.nodeId)}" capacity="${value.capacity}"${optionalBoolean('required', value.required)}${optionalString('description', value.description)} />`,
|
|
19
|
-
]);
|
|
20
|
-
appendOverrideDefinitions(lines, 'states', 'state', contract.states, depth + 1);
|
|
21
|
-
appendOverrideDefinitions(lines, 'variants', 'variant', contract.variants, depth + 1);
|
|
22
|
-
appendDefinitions(lines, 'dataFields', contract.dataFields ?? {}, depth + 1, (name, value, itemDepth) => propertyDefinition('field', name, value, itemDepth));
|
|
23
|
-
appendDefinitions(lines, 'dataBindings', contract.dataBindings ?? {}, depth + 1, (name, value, itemDepth) => [
|
|
24
|
-
`${' '.repeat(itemDepth)}<binding name="${escapeXML(name)}" source="${escapeXML(value.source)}" target="${escapeXML(value.targetId)}" property="${escapeXML(value.property)}" />`,
|
|
25
|
-
]);
|
|
26
|
-
appendDefinitions(lines, 'actions', contract.actions ?? {}, depth + 1, (name, value, itemDepth) => [
|
|
27
|
-
`${' '.repeat(itemDepth)}<action name="${escapeXML(name)}" source="${escapeXML(value.sourceId)}" trigger="${value.trigger}"${optionalString('description', value.description)} />`,
|
|
28
|
-
]);
|
|
29
|
-
lines.push(`${indent}</contract>`);
|
|
30
|
-
return lines;
|
|
31
|
-
}
|
|
32
|
-
function propertyDefinition(tag, name, definition, depth, additionalChildren = []) {
|
|
33
|
-
const indent = ' '.repeat(depth);
|
|
34
|
-
const valueTypes = Array.isArray(definition.valueType) ? definition.valueType.join('|') : definition.valueType;
|
|
35
|
-
const attributes = [
|
|
36
|
-
`name="${escapeXML(name)}"`,
|
|
37
|
-
`type="${valueTypes}"`,
|
|
38
|
-
optionalString('format', definition.format),
|
|
39
|
-
optionalList('resources', definition.resourceTypes),
|
|
40
|
-
optionalList('tokens', definition.tokenTypes),
|
|
41
|
-
optionalNumber('minimum', definition.minimum),
|
|
42
|
-
optionalNumber('maximum', definition.maximum),
|
|
43
|
-
optionalBoolean('integer', definition.integer),
|
|
44
|
-
definition.defaultValue === undefined ? '' : ` default="${escapeXML(encodeXMLValue(definition.defaultValue) ?? '')}"`,
|
|
45
|
-
optionalBoolean('required', definition.required),
|
|
46
|
-
optionalString('description', definition.description),
|
|
47
|
-
].filter(Boolean).map(part => part.trim()).join(' ');
|
|
48
|
-
if ((!definition.enumValues || definition.enumValues.length === 0) && additionalChildren.length === 0) {
|
|
49
|
-
return [`${indent}<${tag} ${attributes} />`];
|
|
50
|
-
}
|
|
51
|
-
const lines = [`${indent}<${tag} ${attributes}>`];
|
|
52
|
-
for (const value of definition.enumValues ?? []) {
|
|
53
|
-
lines.push(`${indent} <enum value="${escapeXML(encodeXMLValue(value) ?? '')}" />`);
|
|
54
|
-
}
|
|
55
|
-
lines.push(...additionalChildren);
|
|
56
|
-
lines.push(`${indent}</${tag}>`);
|
|
57
|
-
return lines;
|
|
58
|
-
}
|
|
59
|
-
function appendOverrideDefinitions(lines, container, tag, definitions, depth) {
|
|
60
|
-
appendDefinitions(lines, container, definitions, depth, (name, definition, itemDepth) => {
|
|
61
|
-
const indent = ' '.repeat(itemDepth);
|
|
62
|
-
const result = [`${indent}<${tag} name="${escapeXML(name)}"${optionalString('description', definition.description)}>`];
|
|
63
|
-
for (const override of definition.overrides) {
|
|
64
|
-
result.push(...serializeOverride(override, itemDepth + 1));
|
|
65
|
-
}
|
|
66
|
-
result.push(`${indent}</${tag}>`);
|
|
67
|
-
return result;
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
function serializeOverride(override, depth) {
|
|
71
|
-
const indent = ' '.repeat(depth);
|
|
72
|
-
const transition = override.transition;
|
|
73
|
-
const attributes = [
|
|
74
|
-
`target="${escapeXML(override.targetId)}"`,
|
|
75
|
-
`property="${escapeXML(override.property)}"`,
|
|
76
|
-
transition === undefined ? '' : `duration="${transition.duration}"`,
|
|
77
|
-
transition?.delay === undefined ? '' : `delay="${transition.delay}"`,
|
|
78
|
-
transition?.easing === undefined ? '' : `easing="${transition.easing}"`,
|
|
79
|
-
].filter(Boolean).join(' ');
|
|
80
|
-
return serializeValue('set', attributes, override.value, depth, indent);
|
|
81
|
-
}
|
|
82
|
-
function serializeValue(tag, attributes, value, depth, indent) {
|
|
83
|
-
const encoded = encodeXMLValue(value);
|
|
84
|
-
if (encoded !== undefined)
|
|
85
|
-
return [`${indent}<${tag} ${attributes} value="${escapeXML(encoded)}" />`];
|
|
86
|
-
return [`${indent}<${tag} ${attributes}>`, ...serializeComplexValue(value, depth + 1), `${indent}</${tag}>`];
|
|
87
|
-
}
|
|
88
|
-
function appendDefinitions(lines, container, definitions, depth, serialize) {
|
|
89
|
-
const entries = Object.entries(definitions).sort(([left], [right]) => compareStrings(left, right));
|
|
90
|
-
if (entries.length === 0)
|
|
91
|
-
return;
|
|
92
|
-
const indent = ' '.repeat(depth);
|
|
93
|
-
lines.push(`${indent}<${container}>`);
|
|
94
|
-
for (const [name, value] of entries) {
|
|
95
|
-
lines.push(...serialize(name, value, depth + 1));
|
|
96
|
-
}
|
|
97
|
-
lines.push(`${indent}</${container}>`);
|
|
98
|
-
}
|
|
99
|
-
function optionalString(name, value) {
|
|
100
|
-
return value === undefined ? '' : ` ${name}="${escapeXML(value)}"`;
|
|
101
|
-
}
|
|
102
|
-
function optionalBoolean(name, value) {
|
|
103
|
-
return value === undefined ? '' : ` ${name}="${value}"`;
|
|
104
|
-
}
|
|
105
|
-
function optionalNumber(name, value) {
|
|
106
|
-
return value === undefined ? '' : ` ${name}="${value}"`;
|
|
107
|
-
}
|
|
108
|
-
function optionalList(name, value) {
|
|
109
|
-
return value === undefined ? '' : ` ${name}="${escapeXML(value.join('|'))}"`;
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=xml-contract-serializer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xml-contract-serializer.js","sourceRoot":"","sources":["../../../../src/kurot/serialization/xml/xml-contract-serializer.ts"],"names":[],"mappings":"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"}
|