@allternit/ix 0.1.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/README.md +320 -0
- package/dist/adapters/json-render.d.ts +211 -0
- package/dist/adapters/json-render.d.ts.bak +211 -0
- package/dist/adapters/json-render.d.ts.map +1 -0
- package/dist/adapters/json-render.js +576 -0
- package/dist/adapters/json-render.js.bak +576 -0
- package/dist/adapters/json-render.js.map +1 -0
- package/dist/catalog/registry.d.ts +65 -0
- package/dist/catalog/registry.d.ts.bak +65 -0
- package/dist/catalog/registry.d.ts.map +1 -0
- package/dist/catalog/registry.js +388 -0
- package/dist/catalog/registry.js.bak +388 -0
- package/dist/catalog/registry.js.map +1 -0
- package/dist/collab/capsule-registry.d.ts +114 -0
- package/dist/collab/capsule-registry.d.ts.bak +114 -0
- package/dist/collab/capsule-registry.d.ts.map +1 -0
- package/dist/collab/capsule-registry.js +271 -0
- package/dist/collab/capsule-registry.js.bak +271 -0
- package/dist/collab/capsule-registry.js.map +1 -0
- package/dist/collab/index.d.ts +21 -0
- package/dist/collab/index.d.ts.bak +21 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.js +32 -0
- package/dist/collab/index.js.bak +32 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/visual-editor.d.ts +199 -0
- package/dist/collab/visual-editor.d.ts.bak +199 -0
- package/dist/collab/visual-editor.d.ts.map +1 -0
- package/dist/collab/visual-editor.js +259 -0
- package/dist/collab/visual-editor.js.bak +259 -0
- package/dist/collab/visual-editor.js.map +1 -0
- package/dist/collab/yjs-adapter.d.ts +95 -0
- package/dist/collab/yjs-adapter.d.ts.bak +95 -0
- package/dist/collab/yjs-adapter.d.ts.map +1 -0
- package/dist/collab/yjs-adapter.js +282 -0
- package/dist/collab/yjs-adapter.js.bak +282 -0
- package/dist/collab/yjs-adapter.js.map +1 -0
- package/dist/collab/yjs-client.d.ts +101 -0
- package/dist/collab/yjs-client.d.ts.bak +101 -0
- package/dist/collab/yjs-client.d.ts.map +1 -0
- package/dist/collab/yjs-client.js +193 -0
- package/dist/collab/yjs-client.js.bak +193 -0
- package/dist/collab/yjs-client.js.map +1 -0
- package/dist/collab/yjs-protocols.d.ts +128 -0
- package/dist/collab/yjs-protocols.d.ts.bak +128 -0
- package/dist/collab/yjs-protocols.d.ts.map +1 -0
- package/dist/collab/yjs-protocols.js +245 -0
- package/dist/collab/yjs-protocols.js.bak +245 -0
- package/dist/collab/yjs-protocols.js.map +1 -0
- package/dist/collab/yjs-types.d.ts +201 -0
- package/dist/collab/yjs-types.d.ts.bak +201 -0
- package/dist/collab/yjs-types.d.ts.map +1 -0
- package/dist/collab/yjs-types.js +45 -0
- package/dist/collab/yjs-types.js.bak +45 -0
- package/dist/collab/yjs-types.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.bak +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/index.js.bak +48 -0
- package/dist/index.js.map +1 -0
- package/dist/pipeline/llm-to-ix.d.ts +249 -0
- package/dist/pipeline/llm-to-ix.d.ts.bak +249 -0
- package/dist/pipeline/llm-to-ix.d.ts.map +1 -0
- package/dist/pipeline/llm-to-ix.js +992 -0
- package/dist/pipeline/llm-to-ix.js.bak +992 -0
- package/dist/pipeline/llm-to-ix.js.map +1 -0
- package/dist/react/index.d.ts +18 -0
- package/dist/react/index.d.ts.bak +18 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +18 -0
- package/dist/react/index.js.bak +18 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/renderer.d.ts +47 -0
- package/dist/react/renderer.d.ts.bak +47 -0
- package/dist/react/renderer.d.ts.map +1 -0
- package/dist/react/renderer.js +420 -0
- package/dist/react/renderer.js.bak +420 -0
- package/dist/react/renderer.js.map +1 -0
- package/dist/renderer/renderer.d.ts +55 -0
- package/dist/renderer/renderer.d.ts.bak +55 -0
- package/dist/renderer/renderer.d.ts.map +1 -0
- package/dist/renderer/renderer.js +232 -0
- package/dist/renderer/renderer.js.bak +232 -0
- package/dist/renderer/renderer.js.map +1 -0
- package/dist/runtime/capsule-runtime.d.ts +227 -0
- package/dist/runtime/capsule-runtime.d.ts.bak +227 -0
- package/dist/runtime/capsule-runtime.d.ts.map +1 -0
- package/dist/runtime/capsule-runtime.js +563 -0
- package/dist/runtime/capsule-runtime.js.bak +563 -0
- package/dist/runtime/capsule-runtime.js.map +1 -0
- package/dist/runtime/policy-gates.d.ts +116 -0
- package/dist/runtime/policy-gates.d.ts.bak +116 -0
- package/dist/runtime/policy-gates.d.ts.map +1 -0
- package/dist/runtime/policy-gates.js +317 -0
- package/dist/runtime/policy-gates.js.bak +317 -0
- package/dist/runtime/policy-gates.js.map +1 -0
- package/dist/schema/ui-ir.d.ts +26 -0
- package/dist/schema/ui-ir.d.ts.bak +26 -0
- package/dist/schema/ui-ir.d.ts.map +1 -0
- package/dist/schema/ui-ir.js +51 -0
- package/dist/schema/ui-ir.js.bak +51 -0
- package/dist/schema/ui-ir.js.map +1 -0
- package/dist/sdk/api.d.ts +101 -0
- package/dist/sdk/api.d.ts.bak +101 -0
- package/dist/sdk/api.d.ts.map +1 -0
- package/dist/sdk/api.js +177 -0
- package/dist/sdk/api.js.bak +177 -0
- package/dist/sdk/api.js.map +1 -0
- package/dist/sdk/index.d.ts +9 -0
- package/dist/sdk/index.d.ts.bak +9 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +10 -0
- package/dist/sdk/index.js.bak +10 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/react.d.ts +63 -0
- package/dist/sdk/react.d.ts.bak +63 -0
- package/dist/sdk/react.d.ts.map +1 -0
- package/dist/sdk/react.js +161 -0
- package/dist/sdk/react.js.bak +161 -0
- package/dist/sdk/react.js.map +1 -0
- package/dist/state/index.d.ts +8 -0
- package/dist/state/index.d.ts.bak +8 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +8 -0
- package/dist/state/index.js.bak +8 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/patch.d.ts +73 -0
- package/dist/state/patch.d.ts.bak +73 -0
- package/dist/state/patch.d.ts.map +1 -0
- package/dist/state/patch.js +437 -0
- package/dist/state/patch.js.bak +437 -0
- package/dist/state/patch.js.map +1 -0
- package/dist/state/store.d.ts +50 -0
- package/dist/state/store.d.ts.bak +50 -0
- package/dist/state/store.d.ts.map +1 -0
- package/dist/state/store.js +246 -0
- package/dist/state/store.js.bak +246 -0
- package/dist/state/store.js.map +1 -0
- package/dist/svelte/index.d.ts +15 -0
- package/dist/svelte/index.d.ts.bak +15 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +15 -0
- package/dist/svelte/index.js.bak +15 -0
- package/dist/svelte/index.js.map +1 -0
- package/dist/svelte/renderer.d.ts +35 -0
- package/dist/svelte/renderer.d.ts.bak +35 -0
- package/dist/svelte/renderer.d.ts.map +1 -0
- package/dist/svelte/renderer.js +317 -0
- package/dist/svelte/renderer.js.bak +317 -0
- package/dist/svelte/renderer.js.map +1 -0
- package/dist/types/index.d.ts +349 -0
- package/dist/types/index.d.ts.bak +349 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +152 -0
- package/dist/types/index.js.bak +152 -0
- package/dist/types/index.js.map +1 -0
- package/dist/vue/index.d.ts +18 -0
- package/dist/vue/index.d.ts.bak +18 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/index.js +18 -0
- package/dist/vue/index.js.bak +18 -0
- package/dist/vue/index.js.map +1 -0
- package/dist/vue/renderer.d.ts +46 -0
- package/dist/vue/renderer.d.ts.bak +46 -0
- package/dist/vue/renderer.d.ts.map +1 -0
- package/dist/vue/renderer.js +302 -0
- package/dist/vue/renderer.js.bak +302 -0
- package/dist/vue/renderer.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2R-IX (A2R Interface) Types
|
|
3
|
+
*
|
|
4
|
+
* Declarative UI Intermediate Representation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Evaluate expression
|
|
8
|
+
*/
|
|
9
|
+
export function evaluateExpression(expr, context) {
|
|
10
|
+
// String path reference
|
|
11
|
+
if (typeof expr === 'string') {
|
|
12
|
+
return getValueByPath(context, expr) ?? expr;
|
|
13
|
+
}
|
|
14
|
+
// Number literal
|
|
15
|
+
if (typeof expr === 'number') {
|
|
16
|
+
return expr;
|
|
17
|
+
}
|
|
18
|
+
// Boolean literal
|
|
19
|
+
if (typeof expr === 'boolean') {
|
|
20
|
+
return expr;
|
|
21
|
+
}
|
|
22
|
+
// Null literal
|
|
23
|
+
if (expr === null) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
// Object expressions
|
|
27
|
+
if (typeof expr === 'object') {
|
|
28
|
+
// State path reference
|
|
29
|
+
if ('$path' in expr) {
|
|
30
|
+
return getValueByPath(context, expr.$path);
|
|
31
|
+
}
|
|
32
|
+
// Expression
|
|
33
|
+
if ('$expr' in expr) {
|
|
34
|
+
// Simple expression evaluation (would use proper parser in production)
|
|
35
|
+
return evaluateSimpleExpr(expr.$expr, context);
|
|
36
|
+
}
|
|
37
|
+
// Function call
|
|
38
|
+
if ('$fn' in expr) {
|
|
39
|
+
const fn = context[expr.$fn];
|
|
40
|
+
if (typeof fn === 'function') {
|
|
41
|
+
const args = expr.$args.map((arg) => evaluateExpression(arg, context));
|
|
42
|
+
return fn(...args);
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
// Ternary
|
|
47
|
+
if ('$cond' in expr) {
|
|
48
|
+
const [condition, trueValue, falseValue] = expr.$cond;
|
|
49
|
+
return evaluateExpression(condition, context)
|
|
50
|
+
? evaluateExpression(trueValue, context)
|
|
51
|
+
: evaluateExpression(falseValue, context);
|
|
52
|
+
}
|
|
53
|
+
// Logical AND
|
|
54
|
+
if ('$and' in expr) {
|
|
55
|
+
return expr.$and.every((e) => evaluateExpression(e, context));
|
|
56
|
+
}
|
|
57
|
+
// Logical OR
|
|
58
|
+
if ('$or' in expr) {
|
|
59
|
+
return expr.$or.some((e) => evaluateExpression(e, context));
|
|
60
|
+
}
|
|
61
|
+
// Logical NOT
|
|
62
|
+
if ('$not' in expr) {
|
|
63
|
+
return !evaluateExpression(expr.$not, context);
|
|
64
|
+
}
|
|
65
|
+
// Equality
|
|
66
|
+
if ('$eq' in expr) {
|
|
67
|
+
const [a, b] = expr.$eq;
|
|
68
|
+
return evaluateExpression(a, context) === evaluateExpression(b, context);
|
|
69
|
+
}
|
|
70
|
+
// Greater than
|
|
71
|
+
if ('$gt' in expr) {
|
|
72
|
+
const [a, b] = expr.$gt;
|
|
73
|
+
return evaluateExpression(a, context) > evaluateExpression(b, context);
|
|
74
|
+
}
|
|
75
|
+
// Less than
|
|
76
|
+
if ('$lt' in expr) {
|
|
77
|
+
const [a, b] = expr.$lt;
|
|
78
|
+
return evaluateExpression(a, context) < evaluateExpression(b, context);
|
|
79
|
+
}
|
|
80
|
+
// Addition
|
|
81
|
+
if ('$add' in expr) {
|
|
82
|
+
const [a, b] = expr.$add;
|
|
83
|
+
return evaluateExpression(a, context) + evaluateExpression(b, context);
|
|
84
|
+
}
|
|
85
|
+
// Concatenation
|
|
86
|
+
if ('$concat' in expr) {
|
|
87
|
+
return expr.$concat.map((e) => String(evaluateExpression(e, context))).join('');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get value by path
|
|
94
|
+
*/
|
|
95
|
+
function getValueByPath(obj, path) {
|
|
96
|
+
return path.split('.').reduce((acc, key) => {
|
|
97
|
+
if (acc && typeof acc === 'object') {
|
|
98
|
+
return acc[key];
|
|
99
|
+
}
|
|
100
|
+
return undefined;
|
|
101
|
+
}, obj);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Evaluate simple expression
|
|
105
|
+
*/
|
|
106
|
+
function evaluateSimpleExpr(expr, context) {
|
|
107
|
+
// Replace state paths with values
|
|
108
|
+
const processed = expr.replace(/\{\{([^}]+)\}\}/g, (match, path) => {
|
|
109
|
+
const value = getValueByPath(context, path.trim());
|
|
110
|
+
return value !== undefined ? JSON.stringify(value) : match;
|
|
111
|
+
});
|
|
112
|
+
try {
|
|
113
|
+
// eslint-disable-next-line no-new-func
|
|
114
|
+
return new Function('context', `return ${processed}`)(context);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return processed;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/** Schema version */
|
|
121
|
+
export const UI_IR_VERSION = '1.0.0';
|
|
122
|
+
/**
|
|
123
|
+
* Validate UIRoot structure
|
|
124
|
+
*/
|
|
125
|
+
export function validateUIRoot(root) {
|
|
126
|
+
if (!root || typeof root !== 'object')
|
|
127
|
+
return false;
|
|
128
|
+
const r = root;
|
|
129
|
+
if (typeof r.version !== 'string')
|
|
130
|
+
return false;
|
|
131
|
+
if (!Array.isArray(r.components))
|
|
132
|
+
return false;
|
|
133
|
+
if (!r.state || typeof r.state !== 'object')
|
|
134
|
+
return false;
|
|
135
|
+
if (!Array.isArray(r.actions))
|
|
136
|
+
return false;
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create empty UI root
|
|
141
|
+
*/
|
|
142
|
+
export function createEmptyRoot() {
|
|
143
|
+
return {
|
|
144
|
+
version: UI_IR_VERSION,
|
|
145
|
+
components: [],
|
|
146
|
+
state: {
|
|
147
|
+
variables: [],
|
|
148
|
+
},
|
|
149
|
+
actions: [],
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2R-IX (A2R Interface) Types
|
|
3
|
+
*
|
|
4
|
+
* Declarative UI Intermediate Representation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Evaluate expression
|
|
8
|
+
*/
|
|
9
|
+
export function evaluateExpression(expr, context) {
|
|
10
|
+
// String path reference
|
|
11
|
+
if (typeof expr === 'string') {
|
|
12
|
+
return getValueByPath(context, expr) ?? expr;
|
|
13
|
+
}
|
|
14
|
+
// Number literal
|
|
15
|
+
if (typeof expr === 'number') {
|
|
16
|
+
return expr;
|
|
17
|
+
}
|
|
18
|
+
// Boolean literal
|
|
19
|
+
if (typeof expr === 'boolean') {
|
|
20
|
+
return expr;
|
|
21
|
+
}
|
|
22
|
+
// Null literal
|
|
23
|
+
if (expr === null) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
// Object expressions
|
|
27
|
+
if (typeof expr === 'object') {
|
|
28
|
+
// State path reference
|
|
29
|
+
if ('$path' in expr) {
|
|
30
|
+
return getValueByPath(context, expr.$path);
|
|
31
|
+
}
|
|
32
|
+
// Expression
|
|
33
|
+
if ('$expr' in expr) {
|
|
34
|
+
// Simple expression evaluation (would use proper parser in production)
|
|
35
|
+
return evaluateSimpleExpr(expr.$expr, context);
|
|
36
|
+
}
|
|
37
|
+
// Function call
|
|
38
|
+
if ('$fn' in expr) {
|
|
39
|
+
const fn = context[expr.$fn];
|
|
40
|
+
if (typeof fn === 'function') {
|
|
41
|
+
const args = expr.$args.map((arg) => evaluateExpression(arg, context));
|
|
42
|
+
return fn(...args);
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
// Ternary
|
|
47
|
+
if ('$cond' in expr) {
|
|
48
|
+
const [condition, trueValue, falseValue] = expr.$cond;
|
|
49
|
+
return evaluateExpression(condition, context)
|
|
50
|
+
? evaluateExpression(trueValue, context)
|
|
51
|
+
: evaluateExpression(falseValue, context);
|
|
52
|
+
}
|
|
53
|
+
// Logical AND
|
|
54
|
+
if ('$and' in expr) {
|
|
55
|
+
return expr.$and.every((e) => evaluateExpression(e, context));
|
|
56
|
+
}
|
|
57
|
+
// Logical OR
|
|
58
|
+
if ('$or' in expr) {
|
|
59
|
+
return expr.$or.some((e) => evaluateExpression(e, context));
|
|
60
|
+
}
|
|
61
|
+
// Logical NOT
|
|
62
|
+
if ('$not' in expr) {
|
|
63
|
+
return !evaluateExpression(expr.$not, context);
|
|
64
|
+
}
|
|
65
|
+
// Equality
|
|
66
|
+
if ('$eq' in expr) {
|
|
67
|
+
const [a, b] = expr.$eq;
|
|
68
|
+
return evaluateExpression(a, context) === evaluateExpression(b, context);
|
|
69
|
+
}
|
|
70
|
+
// Greater than
|
|
71
|
+
if ('$gt' in expr) {
|
|
72
|
+
const [a, b] = expr.$gt;
|
|
73
|
+
return evaluateExpression(a, context) > evaluateExpression(b, context);
|
|
74
|
+
}
|
|
75
|
+
// Less than
|
|
76
|
+
if ('$lt' in expr) {
|
|
77
|
+
const [a, b] = expr.$lt;
|
|
78
|
+
return evaluateExpression(a, context) < evaluateExpression(b, context);
|
|
79
|
+
}
|
|
80
|
+
// Addition
|
|
81
|
+
if ('$add' in expr) {
|
|
82
|
+
const [a, b] = expr.$add;
|
|
83
|
+
return evaluateExpression(a, context) + evaluateExpression(b, context);
|
|
84
|
+
}
|
|
85
|
+
// Concatenation
|
|
86
|
+
if ('$concat' in expr) {
|
|
87
|
+
return expr.$concat.map((e) => String(evaluateExpression(e, context))).join('');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get value by path
|
|
94
|
+
*/
|
|
95
|
+
function getValueByPath(obj, path) {
|
|
96
|
+
return path.split('.').reduce((acc, key) => {
|
|
97
|
+
if (acc && typeof acc === 'object') {
|
|
98
|
+
return acc[key];
|
|
99
|
+
}
|
|
100
|
+
return undefined;
|
|
101
|
+
}, obj);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Evaluate simple expression
|
|
105
|
+
*/
|
|
106
|
+
function evaluateSimpleExpr(expr, context) {
|
|
107
|
+
// Replace state paths with values
|
|
108
|
+
const processed = expr.replace(/\{\{([^}]+)\}\}/g, (match, path) => {
|
|
109
|
+
const value = getValueByPath(context, path.trim());
|
|
110
|
+
return value !== undefined ? JSON.stringify(value) : match;
|
|
111
|
+
});
|
|
112
|
+
try {
|
|
113
|
+
// eslint-disable-next-line no-new-func
|
|
114
|
+
return new Function('context', `return ${processed}`)(context);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return processed;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/** Schema version */
|
|
121
|
+
export const UI_IR_VERSION = '1.0.0';
|
|
122
|
+
/**
|
|
123
|
+
* Validate UIRoot structure
|
|
124
|
+
*/
|
|
125
|
+
export function validateUIRoot(root) {
|
|
126
|
+
if (!root || typeof root !== 'object')
|
|
127
|
+
return false;
|
|
128
|
+
const r = root;
|
|
129
|
+
if (typeof r.version !== 'string')
|
|
130
|
+
return false;
|
|
131
|
+
if (!Array.isArray(r.components))
|
|
132
|
+
return false;
|
|
133
|
+
if (!r.state || typeof r.state !== 'object')
|
|
134
|
+
return false;
|
|
135
|
+
if (!Array.isArray(r.actions))
|
|
136
|
+
return false;
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create empty UI root
|
|
141
|
+
*/
|
|
142
|
+
export function createEmptyRoot() {
|
|
143
|
+
return {
|
|
144
|
+
version: UI_IR_VERSION,
|
|
145
|
+
components: [],
|
|
146
|
+
state: {
|
|
147
|
+
variables: [],
|
|
148
|
+
},
|
|
149
|
+
actions: [],
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue Renderer
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import { createVueRenderer } from '@allternit/ix/vue';
|
|
7
|
+
* import { createApp, h } from 'vue';
|
|
8
|
+
*
|
|
9
|
+
* const renderer = createVueRenderer({
|
|
10
|
+
* stateStore: createStateStore(),
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* const App = renderer.render(uiDefinition);
|
|
14
|
+
* createApp(App).mount('#app');
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export { createVueRenderer, type VueRenderer, type VueRendererConfig, } from './renderer';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue Renderer
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import { createVueRenderer } from '@allternit/ix/vue';
|
|
7
|
+
* import { createApp, h } from 'vue';
|
|
8
|
+
*
|
|
9
|
+
* const renderer = createVueRenderer({
|
|
10
|
+
* stateStore: createStateStore(),
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* const App = renderer.render(uiDefinition);
|
|
14
|
+
* createApp(App).mount('#app');
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export { createVueRenderer, type VueRenderer, type VueRendererConfig, } from './renderer';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue Renderer
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import { createVueRenderer } from '@allternit/ix/vue';
|
|
7
|
+
* import { createApp, h } from 'vue';
|
|
8
|
+
*
|
|
9
|
+
* const renderer = createVueRenderer({
|
|
10
|
+
* stateStore: createStateStore(),
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* const App = renderer.render(uiDefinition);
|
|
14
|
+
* createApp(App).mount('#app');
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export { createVueRenderer, } from './renderer';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue Renderer
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import { createVueRenderer } from '@allternit/ix/vue';
|
|
7
|
+
* import { createApp, h } from 'vue';
|
|
8
|
+
*
|
|
9
|
+
* const renderer = createVueRenderer({
|
|
10
|
+
* stateStore: createStateStore(),
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* const App = renderer.render(uiDefinition);
|
|
14
|
+
* createApp(App).mount('#app');
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export { createVueRenderer, } from './renderer';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,iBAAiB,GAGlB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue Renderer for A2R-IX
|
|
3
|
+
*
|
|
4
|
+
* Renders A2R-IX UI IR to Vue 3 components.
|
|
5
|
+
*/
|
|
6
|
+
import type { UIRoot } from '../types';
|
|
7
|
+
import type { StateStore } from '../state/store';
|
|
8
|
+
import type { ComponentCatalog } from '../catalog/registry';
|
|
9
|
+
import type { DefineComponent } from 'vue';
|
|
10
|
+
export interface VueRendererConfig {
|
|
11
|
+
/** Component catalog */
|
|
12
|
+
catalog?: ComponentCatalog;
|
|
13
|
+
/** Initial state store */
|
|
14
|
+
stateStore?: StateStore;
|
|
15
|
+
/** Component mapping (type -> Vue component) */
|
|
16
|
+
components?: Record<string, DefineComponent>;
|
|
17
|
+
/** Event handler */
|
|
18
|
+
onEvent?: (name: string, payload: unknown) => void;
|
|
19
|
+
/** Error handler */
|
|
20
|
+
onError?: (error: Error, componentId?: string) => void;
|
|
21
|
+
}
|
|
22
|
+
export interface VueRenderer {
|
|
23
|
+
/** Generate component definition for Vue */
|
|
24
|
+
generateComponent(root: UIRoot): VueComponentDefinition;
|
|
25
|
+
}
|
|
26
|
+
export interface VueComponentDefinition {
|
|
27
|
+
/** Component name */
|
|
28
|
+
name: string;
|
|
29
|
+
/** Props definition */
|
|
30
|
+
props: Record<string, unknown>;
|
|
31
|
+
/** Setup function code */
|
|
32
|
+
setup: string;
|
|
33
|
+
/** Template */
|
|
34
|
+
template: string;
|
|
35
|
+
/** Styles */
|
|
36
|
+
styles?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Create Vue renderer
|
|
40
|
+
*/
|
|
41
|
+
export declare function createVueRenderer(config: VueRendererConfig): VueRenderer;
|
|
42
|
+
/**
|
|
43
|
+
* Compile A2R-IX UI to Vue component definition
|
|
44
|
+
*/
|
|
45
|
+
export declare function compileToVue(root: UIRoot, config?: VueRendererConfig): VueComponentDefinition;
|
|
46
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue Renderer for A2R-IX
|
|
3
|
+
*
|
|
4
|
+
* Renders A2R-IX UI IR to Vue 3 components.
|
|
5
|
+
*/
|
|
6
|
+
import type { UIRoot } from '../types';
|
|
7
|
+
import type { StateStore } from '../state/store';
|
|
8
|
+
import type { ComponentCatalog } from '../catalog/registry';
|
|
9
|
+
import type { DefineComponent } from 'vue';
|
|
10
|
+
export interface VueRendererConfig {
|
|
11
|
+
/** Component catalog */
|
|
12
|
+
catalog?: ComponentCatalog;
|
|
13
|
+
/** Initial state store */
|
|
14
|
+
stateStore?: StateStore;
|
|
15
|
+
/** Component mapping (type -> Vue component) */
|
|
16
|
+
components?: Record<string, DefineComponent>;
|
|
17
|
+
/** Event handler */
|
|
18
|
+
onEvent?: (name: string, payload: unknown) => void;
|
|
19
|
+
/** Error handler */
|
|
20
|
+
onError?: (error: Error, componentId?: string) => void;
|
|
21
|
+
}
|
|
22
|
+
export interface VueRenderer {
|
|
23
|
+
/** Generate component definition for Vue */
|
|
24
|
+
generateComponent(root: UIRoot): VueComponentDefinition;
|
|
25
|
+
}
|
|
26
|
+
export interface VueComponentDefinition {
|
|
27
|
+
/** Component name */
|
|
28
|
+
name: string;
|
|
29
|
+
/** Props definition */
|
|
30
|
+
props: Record<string, unknown>;
|
|
31
|
+
/** Setup function code */
|
|
32
|
+
setup: string;
|
|
33
|
+
/** Template */
|
|
34
|
+
template: string;
|
|
35
|
+
/** Styles */
|
|
36
|
+
styles?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Create Vue renderer
|
|
40
|
+
*/
|
|
41
|
+
export declare function createVueRenderer(config: VueRendererConfig): VueRenderer;
|
|
42
|
+
/**
|
|
43
|
+
* Compile A2R-IX UI to Vue component definition
|
|
44
|
+
*/
|
|
45
|
+
export declare function compileToVue(root: UIRoot, config?: VueRendererConfig): VueComponentDefinition;
|
|
46
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/vue/renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAK5D,OAAO,KAAK,EAAE,eAAe,EAAwC,MAAM,KAAK,CAAC;AAEjF,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAAC;CACzD;AAED,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA0TxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,iBAAsB,GAAG,sBAAsB,CAGjG"}
|