@kurot/ui-runtime 0.3.0 → 0.4.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 (65) hide show
  1. package/README.md +9 -1
  2. package/dist/kurot/runtime/assetPath.d.ts +5 -0
  3. package/dist/kurot/runtime/assetPath.d.ts.map +1 -0
  4. package/dist/kurot/runtime/assetPath.js +7 -0
  5. package/dist/kurot/runtime/assetPath.js.map +1 -0
  6. package/dist/kurot/runtime/builtins/applyButtonProperties.js +2 -15
  7. package/dist/kurot/runtime/builtins/applyButtonProperties.js.map +1 -1
  8. package/dist/kurot/runtime/builtins/applyComponentProperties.js +1 -6
  9. package/dist/kurot/runtime/builtins/applyComponentProperties.js.map +1 -1
  10. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js +1 -19
  11. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js.map +1 -1
  12. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js +2 -15
  13. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js.map +1 -1
  14. package/dist/kurot/runtime/builtins/applyGroupProperties.js +1 -14
  15. package/dist/kurot/runtime/builtins/applyGroupProperties.js.map +1 -1
  16. package/dist/kurot/runtime/builtins/applyImageProperties.js +3 -11
  17. package/dist/kurot/runtime/builtins/applyImageProperties.js.map +1 -1
  18. package/dist/kurot/runtime/builtins/applyLabelProperties.js +1 -19
  19. package/dist/kurot/runtime/builtins/applyLabelProperties.js.map +1 -1
  20. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js +2 -10
  21. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js.map +1 -1
  22. package/dist/kurot/runtime/builtins/applyRectProperties.js +1 -9
  23. package/dist/kurot/runtime/builtins/applyRectProperties.js.map +1 -1
  24. package/dist/kurot/runtime/builtins/applyTextInputProperties.js +2 -20
  25. package/dist/kurot/runtime/builtins/applyTextInputProperties.js.map +1 -1
  26. package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts.map +1 -1
  27. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js +2 -14
  28. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js.map +1 -1
  29. package/dist/kurot/runtime/builtins/valueGuards.d.ts +18 -0
  30. package/dist/kurot/runtime/builtins/valueGuards.d.ts.map +1 -0
  31. package/dist/kurot/runtime/builtins/valueGuards.js +32 -0
  32. package/dist/kurot/runtime/builtins/valueGuards.js.map +1 -0
  33. package/dist/kurot/runtime/createKurotUI.d.ts.map +1 -1
  34. package/dist/kurot/runtime/createKurotUI.js +14 -2
  35. package/dist/kurot/runtime/createKurotUI.js.map +1 -1
  36. package/dist/kurot/runtime/descriptors/createLayout.js.map +1 -1
  37. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts +1 -1
  38. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts.map +1 -1
  39. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js +3 -3
  40. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js.map +1 -1
  41. package/dist/kurot/runtime/dynamics/createDataController.d.ts.map +1 -1
  42. package/dist/kurot/runtime/dynamics/createDataController.js +30 -8
  43. package/dist/kurot/runtime/dynamics/createDataController.js.map +1 -1
  44. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts +1 -1
  45. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts.map +1 -1
  46. package/dist/kurot/runtime/dynamics/registerSemanticActions.js +6 -5
  47. package/dist/kurot/runtime/dynamics/registerSemanticActions.js.map +1 -1
  48. package/dist/kurot/runtime/materializeAppearance.d.ts.map +1 -1
  49. package/dist/kurot/runtime/materializeAppearance.js +7 -9
  50. package/dist/kurot/runtime/materializeAppearance.js.map +1 -1
  51. package/dist/kurot/runtime/materializeComponentInstance.d.ts.map +1 -1
  52. package/dist/kurot/runtime/materializeComponentInstance.js +10 -5
  53. package/dist/kurot/runtime/materializeComponentInstance.js.map +1 -1
  54. package/dist/kurot/runtime/propertyTransaction.d.ts +62 -0
  55. package/dist/kurot/runtime/propertyTransaction.d.ts.map +1 -0
  56. package/dist/kurot/runtime/propertyTransaction.js +150 -0
  57. package/dist/kurot/runtime/propertyTransaction.js.map +1 -0
  58. package/dist/kurot/runtime/states/createReusableComponentStateController.d.ts.map +1 -1
  59. package/dist/kurot/runtime/states/createReusableComponentStateController.js +27 -36
  60. package/dist/kurot/runtime/states/createReusableComponentStateController.js.map +1 -1
  61. package/dist/kurot/runtime/transitions/TransitionSetProperty.js +1 -1
  62. package/dist/kurot/runtime/transitions/TransitionSetProperty.js.map +1 -1
  63. package/dist/kurot/runtime/types.d.ts +16 -1
  64. package/dist/kurot/runtime/types.d.ts.map +1 -1
  65. package/package.json +5 -5
@@ -0,0 +1,150 @@
1
+ import { applyBuiltInProperty } from './builtins/applyBuiltInProperties.js';
2
+ import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
3
+ import { resolvePropertyValue } from './resolvePropertyValue.js';
4
+ /**
5
+ * Applies updates in order and returns the captured pre-assignment backups.
6
+ * Each target property is captured exactly once through its owning layer —
7
+ * builtin properties are captured reflectively, while properties consumed by
8
+ * the component adapter are captured through `captureProperty` before the
9
+ * adapter is invoked. If any assignment fails, every captured property is
10
+ * restored in reverse order by its owning layer, and the original failure is
11
+ * rethrown with a failed restore chained onto it as `cause`.
12
+ */
13
+ export function applyPropertyUpdates(updates, context) {
14
+ const backups = [];
15
+ const captured = new Map();
16
+ try {
17
+ for (const update of updates) {
18
+ let byProperty = captured.get(update.target);
19
+ if (byProperty === undefined) {
20
+ byProperty = new Map();
21
+ captured.set(update.target, byProperty);
22
+ }
23
+ const previous = byProperty.get(update.property);
24
+ if (previous !== undefined) {
25
+ // Repeat assignment of an already-captured property: reuse its
26
+ // recorded owning layer instead of capturing again.
27
+ applyThroughOwner(update, previous, context);
28
+ continue;
29
+ }
30
+ captureAndApply(update, byProperty, backups, context);
31
+ }
32
+ }
33
+ catch (error) {
34
+ let restoreError;
35
+ try {
36
+ restorePropertyBackups(backups);
37
+ }
38
+ catch (secondary) {
39
+ restoreError = secondary;
40
+ }
41
+ if (restoreError !== undefined) {
42
+ attachCause(error, restoreError);
43
+ }
44
+ throw error;
45
+ }
46
+ return backups;
47
+ }
48
+ /**
49
+ * Restores captured values in reverse assignment order through each owning
50
+ * layer. Throws the first restore failure after attempting every remaining
51
+ * restore.
52
+ */
53
+ export function restorePropertyBackups(backups) {
54
+ let failure;
55
+ for (let index = backups.length - 1; index >= 0; index--) {
56
+ const backup = backups[index];
57
+ if (backup === undefined) {
58
+ continue;
59
+ }
60
+ try {
61
+ if (backup.adapter?.restoreProperty !== undefined) {
62
+ backup.adapter.restoreProperty(backup.target, backup.property, backup.value, backup.path);
63
+ }
64
+ else {
65
+ Reflect.set(backup.target, backup.property, backup.value);
66
+ }
67
+ }
68
+ catch (error) {
69
+ failure ??= error;
70
+ }
71
+ }
72
+ if (failure !== undefined) {
73
+ throw failure;
74
+ }
75
+ }
76
+ /**
77
+ * Chains a secondary failure onto an existing error as its `cause` when the
78
+ * error does not already carry one.
79
+ */
80
+ export function attachCause(error, cause) {
81
+ if (error instanceof Error && error.cause === undefined) {
82
+ error.cause = cause;
83
+ }
84
+ }
85
+ /**
86
+ * Captures and applies the first assignment of one property through the
87
+ * builtin-first routing, registering the backup before any assignment runs so
88
+ * that a throwing assignment still rolls back. Unregisters when the adapter
89
+ * does not consume the property and nothing was applied.
90
+ */
91
+ function captureAndApply(update, byProperty, backups, context) {
92
+ const resolved = resolvePropertyValue(update.value, update.path, context);
93
+ // Builtin properties are reflective: register the capture before assigning
94
+ // so a throwing setter still rolls back, and unregister when the builtin
95
+ // layer does not own the property.
96
+ const reflective = {
97
+ adapter: undefined,
98
+ path: update.path,
99
+ property: update.property,
100
+ target: update.target,
101
+ value: Reflect.get(update.target, update.property),
102
+ };
103
+ byProperty.set(update.property, reflective);
104
+ backups.push(reflective);
105
+ if (applyBuiltInProperty(update.target, update.property, resolved, update.path)) {
106
+ return;
107
+ }
108
+ byProperty.delete(update.property);
109
+ backups.pop();
110
+ const adapter = context.adapters[update.type];
111
+ if (adapter?.applyProperty !== undefined) {
112
+ // Adapter-owned property: capture through the adapter, register before
113
+ // applying, and unregister when the adapter does not consume it.
114
+ const owned = {
115
+ adapter,
116
+ path: update.path,
117
+ property: update.property,
118
+ target: update.target,
119
+ value: adapter.captureProperty !== undefined
120
+ ? adapter.captureProperty(update.target, update.property, update.path)
121
+ : Reflect.get(update.target, update.property),
122
+ };
123
+ byProperty.set(update.property, owned);
124
+ backups.push(owned);
125
+ if (adapter.applyProperty(update.target, update.property, resolved, update.path)) {
126
+ return;
127
+ }
128
+ byProperty.delete(update.property);
129
+ backups.pop();
130
+ }
131
+ throw unsupportedProperty(update);
132
+ }
133
+ /**
134
+ * Re-applies one update through the owning layer recorded on its backup.
135
+ */
136
+ function applyThroughOwner(update, backup, context) {
137
+ const resolved = resolvePropertyValue(update.value, update.path, context);
138
+ if (backup.adapter?.applyProperty !== undefined) {
139
+ if (!backup.adapter.applyProperty(update.target, update.property, resolved, update.path)) {
140
+ throw unsupportedProperty(update);
141
+ }
142
+ }
143
+ else if (!applyBuiltInProperty(update.target, update.property, resolved, update.path)) {
144
+ throw unsupportedProperty(update);
145
+ }
146
+ }
147
+ function unsupportedProperty(update) {
148
+ return new KurotUIRuntimeError('invalid-property', `Runtime property "${update.property}" is not supported by ${update.type}.`, update.path);
149
+ }
150
+ //# sourceMappingURL=propertyTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyTransaction.js","sourceRoot":"","sources":["../../../src/kurot/runtime/propertyTransaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createReusableComponentStateController.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAI9E,OAAO,KAAK,EACX,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AAQrB;;GAEG;AACH,wBAAgB,sCAAsC,CACrD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,sBAAsB,GAC7B,sBAAsB,CAuDxB"}
1
+ {"version":3,"file":"createReusableComponentStateController.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAY9E,OAAO,KAAK,EACX,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAgB,sCAAsC,CACrD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,sBAAsB,GAC7B,sBAAsB,CA6DxB"}
@@ -1,6 +1,6 @@
1
- import { applyRuntimeProperty } from '../applyRuntimeProperty.js';
2
1
  import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
3
2
  import { qualifyNodeId } from '../materializeNode.js';
3
+ import { applyPropertyUpdates, attachCause, restorePropertyBackups, } from '../propertyTransaction.js';
4
4
  /**
5
5
  * Creates a state controller over one fully initialized reusable instance.
6
6
  */
@@ -24,7 +24,7 @@ export function createReusableComponentStateController(contract, scope, contract
24
24
  const previousDefinition = previousState
25
25
  ? contract.states[previousState]
26
26
  : undefined;
27
- restoreProperties(backups);
27
+ restorePropertyBackups(backups);
28
28
  backups = [];
29
29
  currentState = undefined;
30
30
  try {
@@ -33,8 +33,15 @@ export function createReusableComponentStateController(contract, scope, contract
33
33
  }
34
34
  catch (error) {
35
35
  if (previousState && previousDefinition) {
36
- backups = applyStateOverrides(previousDefinition.overrides, scope, `${contractPath}.states.${previousState}`, context);
37
- currentState = previousState;
36
+ try {
37
+ backups = applyStateOverrides(previousDefinition.overrides, scope, `${contractPath}.states.${previousState}`, context);
38
+ currentState = previousState;
39
+ }
40
+ catch (recoveryError) {
41
+ // Keep the original failure observable; the instance stays stateless.
42
+ attachCause(error, recoveryError);
43
+ backups = [];
44
+ }
38
45
  }
39
46
  throw error;
40
47
  }
@@ -42,45 +49,29 @@ export function createReusableComponentStateController(contract, scope, contract
42
49
  clearState() {
43
50
  if (currentState === undefined)
44
51
  return;
45
- restoreProperties(backups);
52
+ restorePropertyBackups(backups);
46
53
  backups = [];
47
54
  currentState = undefined;
48
55
  },
49
56
  };
50
57
  }
51
58
  function applyStateOverrides(overrides, scope, path, context) {
52
- const backups = new Map();
53
- try {
54
- for (let index = 0; index < overrides.length; index++) {
55
- const override = overrides[index];
56
- const identity = qualifyNodeId(scope, override.targetId);
57
- const target = context.instances.get(identity);
58
- const type = context.types.get(identity);
59
- if (!target || !type)
60
- continue;
61
- const key = `${identity}\u0000${override.property}`;
62
- if (!backups.has(key)) {
63
- backups.set(key, {
64
- property: override.property,
65
- target,
66
- value: Reflect.get(target, override.property),
67
- });
68
- }
69
- applyRuntimeProperty(target, type, override.property, override.value, `${path}.overrides[${index}].value`, context);
70
- }
71
- }
72
- catch (error) {
73
- restoreProperties([...backups.values()]);
74
- throw error;
75
- }
76
- return [...backups.values()];
77
- }
78
- function restoreProperties(backups) {
79
- for (let index = backups.length - 1; index >= 0; index--) {
80
- const backup = backups[index];
81
- if (!backup)
59
+ const updates = [];
60
+ for (let index = 0; index < overrides.length; index++) {
61
+ const override = overrides[index];
62
+ const identity = qualifyNodeId(scope, override.targetId);
63
+ const target = context.instances.get(identity);
64
+ const type = context.types.get(identity);
65
+ if (!target || !type)
82
66
  continue;
83
- Reflect.set(backup.target, backup.property, backup.value);
67
+ updates.push({
68
+ path: `${path}.overrides[${index}].value`,
69
+ property: override.property,
70
+ target,
71
+ type,
72
+ value: override.value,
73
+ });
84
74
  }
75
+ return applyPropertyUpdates(updates, context);
85
76
  }
86
77
  //# sourceMappingURL=createReusableComponentStateController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createReusableComponentStateController.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createReusableComponentStateController.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ export class TransitionSetProperty {
52
52
  const animation = new Animation(() => {
53
53
  const elapsed = animation.currentValue * total;
54
54
  const fraction = duration === 0
55
- ? Number(elapsed >= delay)
55
+ ? elapsed >= delay ? 1 : 0
56
56
  : Math.max(0, Math.min(1, (elapsed - delay) / duration));
57
57
  const eased = ease(fraction, this._transition.easing ?? 'linear');
58
58
  Reflect.set(target, this._name, from + (to - from) * eased);
@@ -1 +1 @@
1
- {"version":3,"file":"TransitionSetProperty.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/transitions/TransitionSetProperty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransitionSetProperty.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/transitions/TransitionSetProperty.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { UIAssetRegistry, UIComponentRegistry, UIPropertyValue, UIResourceD
3
3
  /**
4
4
  * Stable runtime materialization failure categories.
5
5
  */
6
- export type KurotUIRuntimeErrorCode = 'component-construction-failed' | 'invalid-document' | 'invalid-data' | 'invalid-layout' | 'invalid-property' | 'invalid-rectangle' | 'unknown-state' | 'unsupported-appearance' | 'unsupported-children' | 'unsupported-component';
6
+ export type KurotUIRuntimeErrorCode = 'component-construction-failed' | 'invalid-adapter' | 'invalid-document' | 'invalid-data' | 'invalid-layout' | 'invalid-property' | 'invalid-rectangle' | 'unknown-state' | 'unsupported-appearance' | 'unsupported-children' | 'unsupported-component';
7
7
  /**
8
8
  * Runtime hooks for one project-defined component type.
9
9
  */
@@ -18,6 +18,21 @@ export interface KurotUIComponentAdapter {
18
18
  * Return true when the property was consumed.
19
19
  */
20
20
  readonly applyProperty?: (instance: DisplayObject, name: string, value: unknown, path: string) => boolean;
21
+ /**
22
+ * Captures a candidate adapter-owned property before a transactional update
23
+ * invokes applyProperty. The hook must be side-effect-free and accept every
24
+ * non-builtin property name routed to this adapter; its captured value is
25
+ * discarded when applyProperty returns false. Used by both data bindings and
26
+ * reusable component states. Must be provided together with restoreProperty.
27
+ */
28
+ readonly captureProperty?: (instance: DisplayObject, name: string, path: string) => unknown;
29
+ /**
30
+ * Restores a value previously captured by captureProperty, either when a
31
+ * later target in the same transaction fails or when the owning reusable
32
+ * component state is cleared or replaced. Must be provided together with
33
+ * captureProperty.
34
+ */
35
+ readonly restoreProperty?: (instance: DisplayObject, name: string, value: unknown, path: string) => void;
21
36
  /**
22
37
  * Attaches one materialized child to a project-defined container.
23
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kurot/ui-runtime",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "Runtime materialization layer for validated Kurot UI documents",
5
5
  "author": "Kelvin <kyia.x52@gmail.com>",
6
6
  "license": "MIT",
@@ -30,13 +30,13 @@
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@kurot/core": "^1.0.15",
33
- "@kurot/ui": "^1.1.7",
34
- "@kurot/ui-document": "^0.4.0"
33
+ "@kurot/ui": "^1.1.8",
34
+ "@kurot/ui-document": "^0.5.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@kurot/core": "^1.0.15",
38
- "@kurot/ui": "^1.1.7",
39
- "@kurot/ui-document": "^0.4.0",
38
+ "@kurot/ui": "^1.1.8",
39
+ "@kurot/ui-document": "^0.5.0",
40
40
  "@types/node": "^22.0.0",
41
41
  "happy-dom": "^20.8.9",
42
42
  "typescript": "^5.6.0",