@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.
Files changed (49) hide show
  1. package/README.md +9 -5
  2. package/dist/kurot/document/create-asset-contract.d.ts +0 -4
  3. package/dist/kurot/document/create-asset-contract.d.ts.map +1 -1
  4. package/dist/kurot/document/create-asset-contract.js +0 -1
  5. package/dist/kurot/document/create-asset-contract.js.map +1 -1
  6. package/dist/kurot/model/UIAssetContract.d.ts +0 -4
  7. package/dist/kurot/model/UIAssetContract.d.ts.map +1 -1
  8. package/dist/kurot/model/index.d.ts +1 -0
  9. package/dist/kurot/model/index.d.ts.map +1 -1
  10. package/dist/kurot/model/index.js +1 -0
  11. package/dist/kurot/model/index.js.map +1 -1
  12. package/dist/kurot/model/synthetic-node-id.d.ts +9 -0
  13. package/dist/kurot/model/synthetic-node-id.d.ts.map +1 -0
  14. package/dist/kurot/model/synthetic-node-id.js +14 -0
  15. package/dist/kurot/model/synthetic-node-id.js.map +1 -0
  16. package/dist/kurot/serialization/xml/xml-node.d.ts +7 -2
  17. package/dist/kurot/serialization/xml/xml-node.d.ts.map +1 -1
  18. package/dist/kurot/serialization/xml/xml-node.js +141 -147
  19. package/dist/kurot/serialization/xml/xml-node.js.map +1 -1
  20. package/dist/kurot/serialization/xml/xml-values.d.ts +3 -11
  21. package/dist/kurot/serialization/xml/xml-values.d.ts.map +1 -1
  22. package/dist/kurot/serialization/xml/xml-values.js +24 -84
  23. package/dist/kurot/serialization/xml/xml-values.js.map +1 -1
  24. package/dist/kurot/serialization/xml.d.ts.map +1 -1
  25. package/dist/kurot/serialization/xml.js +85 -87
  26. package/dist/kurot/serialization/xml.js.map +1 -1
  27. package/dist/kurot/validation/validateUIAssetContract.d.ts.map +1 -1
  28. package/dist/kurot/validation/validateUIAssetContract.js +2 -7
  29. package/dist/kurot/validation/validateUIAssetContract.js.map +1 -1
  30. package/dist/kurot/validation/validateUIAssetModes.d.ts.map +1 -1
  31. package/dist/kurot/validation/validateUIAssetModes.js.map +1 -1
  32. package/dist/kurot/validation/validateUIComponentInstance.d.ts.map +1 -1
  33. package/dist/kurot/validation/validateUIComponentInstance.js +1 -7
  34. package/dist/kurot/validation/validateUIComponentInstance.js.map +1 -1
  35. package/dist/kurot/validation/validateUIDocument.d.ts.map +1 -1
  36. package/dist/kurot/validation/validateUIDocument.js +4 -17
  37. package/dist/kurot/validation/validateUIDocument.js.map +1 -1
  38. package/dist/kurot/validation/validationHelpers.d.ts.map +1 -1
  39. package/dist/kurot/validation/validationHelpers.js +1 -1
  40. package/dist/kurot/validation/validationHelpers.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/kurot/serialization/xml/xml-contract-parser.d.ts +0 -7
  43. package/dist/kurot/serialization/xml/xml-contract-parser.d.ts.map +0 -1
  44. package/dist/kurot/serialization/xml/xml-contract-parser.js +0 -200
  45. package/dist/kurot/serialization/xml/xml-contract-parser.js.map +0 -1
  46. package/dist/kurot/serialization/xml/xml-contract-serializer.d.ts +0 -6
  47. package/dist/kurot/serialization/xml/xml-contract-serializer.d.ts.map +0 -1
  48. package/dist/kurot/serialization/xml/xml-contract-serializer.js +0 -111
  49. 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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"}