@wavemaker-ai/react-codegen 1.0.0-rc.647469 → 1.0.0-rc.647502
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/command.js +6 -1
- package/command.js.map +1 -1
- package/dist/transpiler/index.d.mts +62 -0
- package/dist/transpiler/index.mjs +47857 -0
- package/dist/transpiler/index.mjs.map +1 -0
- package/dist/transpiler/wm-styles.css +1502 -0
- package/package-lock.json +1144 -254
- package/package.json +21 -3
- package/src/app.generator.js +12 -10
- package/src/app.generator.js.map +1 -1
- package/src/gen-app-override-css.js +7 -7
- package/src/gen-app-override-css.js.map +1 -1
- package/src/handlebar-helpers.js +8 -356
- package/src/handlebar-helpers.js.map +1 -1
- package/src/transpile/bind.ex.transformer.js +13 -7
- package/src/transpile/bind.ex.transformer.js.map +1 -1
- package/src/transpile/components/advanced/carousel.transformer.js +1 -2
- package/src/transpile/components/advanced/carousel.transformer.js.map +1 -1
- package/src/transpile/components/advanced/login.transformer.js +1 -2
- package/src/transpile/components/advanced/login.transformer.js.map +1 -1
- package/src/transpile/components/container/accordion-pane.transformer.js +10 -0
- package/src/transpile/components/container/accordion-pane.transformer.js.map +1 -1
- package/src/transpile/components/container/accordion.transformer.js +2 -3
- package/src/transpile/components/container/accordion.transformer.js.map +1 -1
- package/src/transpile/components/container/container.transformer.js +13 -1
- package/src/transpile/components/container/container.transformer.js.map +1 -1
- package/src/transpile/components/container/panel.transformer.js +10 -0
- package/src/transpile/components/container/panel.transformer.js.map +1 -1
- package/src/transpile/components/container/tabpane.transformer.js +10 -0
- package/src/transpile/components/container/tabpane.transformer.js.map +1 -1
- package/src/transpile/components/container/tabs.transformer.js +3 -37
- package/src/transpile/components/container/tabs.transformer.js.map +1 -1
- package/src/transpile/components/container/wizard.transformer.js +3 -4
- package/src/transpile/components/container/wizard.transformer.js.map +1 -1
- package/src/transpile/components/container/wizardstep.transformer.js +25 -0
- package/src/transpile/components/container/wizardstep.transformer.js.map +1 -1
- package/src/transpile/components/data/card/card-content.transformer.js +10 -0
- package/src/transpile/components/data/card/card-content.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form-action.transformer.js +2 -2
- package/src/transpile/components/data/form/form-action.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form-field.transformer.js +2 -3
- package/src/transpile/components/data/form/form-field.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form.transformer.js +6 -7
- package/src/transpile/components/data/form/form.transformer.js.map +1 -1
- package/src/transpile/components/data/list/list-template-transformer.js +10 -1
- package/src/transpile/components/data/list/list-template-transformer.js.map +1 -1
- package/src/transpile/components/data/list/list-transformer.js +24 -45
- package/src/transpile/components/data/list/list-transformer.js.map +1 -1
- package/src/transpile/components/data/live-filter-field.transformer.js +2 -3
- package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -1
- package/src/transpile/components/data/livefilter.transformer.js +6 -7
- package/src/transpile/components/data/livefilter.transformer.js.map +1 -1
- package/src/transpile/components/data/liveform.transformer.js +6 -7
- package/src/transpile/components/data/liveform.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-column.transformer.js +9 -9
- package/src/transpile/components/data/table/table-column.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-row.transformer.js +20 -7
- package/src/transpile/components/data/table/table-row.transformer.js.map +1 -1
- package/src/transpile/components/data/table/utils.js +3 -3
- package/src/transpile/components/data/table/utils.js.map +1 -1
- package/src/transpile/components/dialogs/dialog-actions.transformer.js +1 -2
- package/src/transpile/components/dialogs/dialog-actions.transformer.js.map +1 -1
- package/src/transpile/components/dialogs/dialog.transformer.js +1 -1
- package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -1
- package/src/transpile/components/dialogs/login-dialog.transformer.js +2 -3
- package/src/transpile/components/dialogs/login-dialog.transformer.js.map +1 -1
- package/src/transpile/components/layout/footer.transformer.js +27 -10
- package/src/transpile/components/layout/footer.transformer.js.map +1 -1
- package/src/transpile/components/layout/header.transformer.js +29 -12
- package/src/transpile/components/layout/header.transformer.js.map +1 -1
- package/src/transpile/components/layout/leftnav.transformer.js +26 -9
- package/src/transpile/components/layout/leftnav.transformer.js.map +1 -1
- package/src/transpile/components/layout/rightnav.transformer.js +27 -10
- package/src/transpile/components/layout/rightnav.transformer.js.map +1 -1
- package/src/transpile/components/layout/topnav.transformer.js +26 -13
- package/src/transpile/components/layout/topnav.transformer.js.map +1 -1
- package/src/transpile/components/nav/nav-item.transformer.js +1 -2
- package/src/transpile/components/nav/nav-item.transformer.js.map +1 -1
- package/src/transpile/components/nav/nav.transformer.js +1 -2
- package/src/transpile/components/nav/nav.transformer.js.map +1 -1
- package/src/transpile/components/nav/navbar.transformer.js +7 -8
- package/src/transpile/components/nav/navbar.transformer.js.map +1 -1
- package/src/transpile/components/navigation/popover.transformer.js +10 -0
- package/src/transpile/components/navigation/popover.transformer.js.map +1 -1
- package/src/transpile/components/page/partial-container.transformer.js +2 -36
- package/src/transpile/components/page/partial-container.transformer.js.map +1 -1
- package/src/transpile/components/partial/partial-content.transformer.js +56 -0
- package/src/transpile/components/partial/partial-content.transformer.js.map +1 -0
- package/src/transpile/components/prefab/prefab.transformer.js +11 -5
- package/src/transpile/components/prefab/prefab.transformer.js.map +1 -1
- package/src/transpile/components/utils.js +5 -5
- package/src/transpile/components/utils.js.map +1 -1
- package/src/transpile/index.js +65 -0
- package/src/transpile/index.js.map +1 -0
- package/src/transpile/property/property-parser.js +1 -0
- package/src/transpile/property/property-parser.js.map +1 -1
- package/src/transpile/serialize-variables.js +322 -0
- package/src/transpile/serialize-variables.js.map +1 -0
- package/src/transpile/style/split-css-shorthand.js +60 -0
- package/src/transpile/style/split-css-shorthand.js.map +1 -0
- package/src/transpile/transform-markup.js +283 -0
- package/src/transpile/transform-markup.js.map +1 -0
- package/src/transpile/transpile-variables.js +35 -0
- package/src/transpile/transpile-variables.js.map +1 -0
- package/src/transpile/transpile.js +67 -26
- package/src/transpile/transpile.js.map +1 -1
- package/src/transpile/transpiler.js +26 -0
- package/src/transpile/transpiler.js.map +1 -0
- package/src/transpile/variables-template-source.js +6 -0
- package/src/transpile/variables-template-source.js.map +1 -0
- package/src/transpile/variables-template.js +15 -0
- package/src/transpile/variables-template.js.map +1 -0
- package/src/transpile/widget-inline-style-processor.js +14 -44
- package/src/transpile/widget-inline-style-processor.js.map +1 -1
- package/src/utils.browser.js +853 -0
- package/src/utils.browser.js.map +1 -0
- package/src/utils.js +141 -87
- package/src/utils.js.map +1 -1
- package/src/variables/variable.transformer.js +15 -0
- package/src/variables/variable.transformer.js.map +1 -1
- package/templates/component/component.hbs +4 -17
- package/templates/component/partial.hbs +5 -14
- package/templates/project/app/client.layout.tsx +4 -4
- package/templates/project/app/components.css +1 -5
- package/templates/project/app/globals.css +1 -153
- package/templates/project/app/widgetInlineStylesOverride.css +351 -0
- package/templates/project/app/wm-globals.css +152 -0
- package/templates/project/app/wm-styles.css +4 -0
- package/templates/project/package.json +7 -4
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.quoteKeyIfHyphen = exports.quoteIfString = exports.stringifyModelParams = exports.stringify = exports.stringifyObject = exports.formatValue = exports.processMapMarker = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const utils_browser_1 = require("../utils.browser");
|
|
6
|
+
const isEvalExpression = (val) => /^[^\.]+\.eval\(/.test(val);
|
|
7
|
+
/**
|
|
8
|
+
* Processes a __MAP__ marker string and generates a .map() expression.
|
|
9
|
+
* Format: __MAP__<arrayPath>__STRUCTURE__<structure>__PARENT__<parent>__ENDMAP__
|
|
10
|
+
*/
|
|
11
|
+
const processMapMarker = (marker) => {
|
|
12
|
+
const match = marker.match(/^__MAP__(.+?)__STRUCTURE__(.+?)__PARENT__(.+?)__ENDMAP__$/);
|
|
13
|
+
if (!match)
|
|
14
|
+
return marker;
|
|
15
|
+
const [, arrayPath, structureStr, parentValue] = match;
|
|
16
|
+
const structure = JSON.parse(structureStr);
|
|
17
|
+
const arrayProp = arrayPath.split(".").pop() || "";
|
|
18
|
+
const buildMapBody = (obj, itemPath = "item") => {
|
|
19
|
+
const parts = [];
|
|
20
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
21
|
+
if (typeof value === "object" && value !== null) {
|
|
22
|
+
if (value.__isOverride) {
|
|
23
|
+
const overrideValue = value.value;
|
|
24
|
+
const originalValue = value.originalValue;
|
|
25
|
+
const isFromSameSource = originalValue && originalValue.includes("[$i]");
|
|
26
|
+
if (isFromSameSource) {
|
|
27
|
+
const regex = new RegExp(`\\.${arrayProp}\\[\\$i\\]`);
|
|
28
|
+
const m = originalValue.match(regex);
|
|
29
|
+
if (m) {
|
|
30
|
+
const splitIndex = originalValue.indexOf(m[0]) + m[0].length;
|
|
31
|
+
let itemAccessPath = originalValue.substring(splitIndex);
|
|
32
|
+
if (itemAccessPath) {
|
|
33
|
+
if (itemAccessPath.startsWith(".")) {
|
|
34
|
+
itemAccessPath = itemAccessPath.substring(1);
|
|
35
|
+
}
|
|
36
|
+
if (itemAccessPath.startsWith("[")) {
|
|
37
|
+
parts.push(`"${key}":${itemPath}${itemAccessPath}`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
parts.push(`"${key}":${itemPath}.${itemAccessPath}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
parts.push(`"${key}":${itemPath}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
parts.push(`"${key}":${(0, exports.formatValue)(overrideValue)}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if ((0, lodash_1.isString)(overrideValue) && isEvalExpression(overrideValue)) {
|
|
53
|
+
const unwrapMatch = overrideValue.match(/\.eval\(\(\)\s*=>\s*(.+)\)$/);
|
|
54
|
+
if (unwrapMatch) {
|
|
55
|
+
parts.push(`"${key}":${unwrapMatch[1]}`);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
parts.push(`"${key}":${(0, exports.formatValue)(overrideValue)}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
parts.push(`"${key}":${(0, exports.formatValue)(overrideValue)}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const nestedBody = buildMapBody(value, itemPath);
|
|
68
|
+
parts.push(`"${key}":${nestedBody}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
parts.push(`"${key}":${(0, exports.formatValue)(value)}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return `{${parts.join(",")}}`;
|
|
76
|
+
};
|
|
77
|
+
const mapBody = buildMapBody(structure);
|
|
78
|
+
const evalMatch = parentValue.match(/^(.+\.eval\(\(\)\s*=>\s*)(.+)\)$/);
|
|
79
|
+
if (evalMatch) {
|
|
80
|
+
const [, evalPrefix, evalBody] = evalMatch;
|
|
81
|
+
return `${evalPrefix}${evalBody}.${arrayProp}.map(item=>(${mapBody})))`;
|
|
82
|
+
}
|
|
83
|
+
return `${parentValue}.${arrayProp}.map(item=>(${mapBody}))`;
|
|
84
|
+
};
|
|
85
|
+
exports.processMapMarker = processMapMarker;
|
|
86
|
+
/**
|
|
87
|
+
* Formats a single value into a TypeScript/JS code string.
|
|
88
|
+
*/
|
|
89
|
+
const formatValue = (val) => {
|
|
90
|
+
if ((0, lodash_1.isString)(val)) {
|
|
91
|
+
if (val.startsWith("__MAP__")) {
|
|
92
|
+
return (0, exports.processMapMarker)(val);
|
|
93
|
+
}
|
|
94
|
+
if (isEvalExpression(val)) {
|
|
95
|
+
return val;
|
|
96
|
+
}
|
|
97
|
+
return JSON.stringify(val);
|
|
98
|
+
}
|
|
99
|
+
else if ((0, lodash_1.isNumber)(val) || val === true || val === false || val === null) {
|
|
100
|
+
return String(val);
|
|
101
|
+
}
|
|
102
|
+
else if (Array.isArray(val)) {
|
|
103
|
+
return JSON.stringify(val);
|
|
104
|
+
}
|
|
105
|
+
else if (typeof val === "object" && val !== null) {
|
|
106
|
+
return (0, exports.stringifyObject)(val);
|
|
107
|
+
}
|
|
108
|
+
return JSON.stringify(val);
|
|
109
|
+
};
|
|
110
|
+
exports.formatValue = formatValue;
|
|
111
|
+
/**
|
|
112
|
+
* Serializes a plain object into a TypeScript/JS object literal string.
|
|
113
|
+
* Handles __base__ spread markers and __MAP__ markers.
|
|
114
|
+
*/
|
|
115
|
+
const stringifyObject = (obj) => {
|
|
116
|
+
const parts = [];
|
|
117
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
118
|
+
if (typeof value === "object" && value !== null && "__base__" in value) {
|
|
119
|
+
const baseVal = value["__base__"];
|
|
120
|
+
const nestedProps = {};
|
|
121
|
+
const baseObject = value["__baseObject__"];
|
|
122
|
+
const scopeVar = value["__scope__"];
|
|
123
|
+
for (const [nestedKey, nestedVal] of Object.entries(value)) {
|
|
124
|
+
if (nestedKey !== "__base__" &&
|
|
125
|
+
nestedKey !== "__baseObject__" &&
|
|
126
|
+
nestedKey !== "__scope__") {
|
|
127
|
+
nestedProps[nestedKey] = nestedVal;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (baseObject && scopeVar && typeof baseObject === "object") {
|
|
131
|
+
const objectToLiteral = (o) => Object.entries(o)
|
|
132
|
+
.map(([k, v]) => typeof v === "object" && v !== null && !Array.isArray(v)
|
|
133
|
+
? `"${k}":{${objectToLiteral(v)}}`
|
|
134
|
+
: `"${k}":${JSON.stringify(v)}`)
|
|
135
|
+
.join(",");
|
|
136
|
+
const buildInlineEval = (obj, overrides) => {
|
|
137
|
+
const entries = [];
|
|
138
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
139
|
+
if (v === undefined || v === null)
|
|
140
|
+
continue;
|
|
141
|
+
const overrideVal = overrides[k];
|
|
142
|
+
if (overrideVal !== undefined &&
|
|
143
|
+
typeof overrideVal === "object" &&
|
|
144
|
+
overrideVal !== null &&
|
|
145
|
+
!Array.isArray(overrideVal)) {
|
|
146
|
+
const overrideEntries = Object.entries(overrideVal)
|
|
147
|
+
.map(([ok, ov]) => `"${ok}":${(0, exports.formatValue)(ov)}`)
|
|
148
|
+
.join(",");
|
|
149
|
+
entries.push(`"${k}":{${objectToLiteral(v)},...${scopeVar}.eval(() => ({${overrideEntries}}))}`);
|
|
150
|
+
}
|
|
151
|
+
else if (overrideVal !== undefined) {
|
|
152
|
+
entries.push(`"${k}":${(0, exports.formatValue)(overrideVal)}`);
|
|
153
|
+
}
|
|
154
|
+
else if (typeof v === "object" && !Array.isArray(v)) {
|
|
155
|
+
entries.push(`"${k}":{${objectToLiteral(v)}}`);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
entries.push(`"${k}":${JSON.stringify(v)}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return entries.join(",");
|
|
162
|
+
};
|
|
163
|
+
const body = buildInlineEval(baseObject, nestedProps);
|
|
164
|
+
parts.push(`"${key}":${scopeVar}.eval(() => ({${body}}))`);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
const baseFormatted = (0, exports.formatValue)(baseVal);
|
|
168
|
+
const baseSpread = (0, lodash_1.isString)(baseVal) && (baseVal.trim().startsWith("{") || baseVal.trim().startsWith("["))
|
|
169
|
+
? `JSON.parse(${baseFormatted})`
|
|
170
|
+
: baseFormatted;
|
|
171
|
+
let hasMapMarker = false;
|
|
172
|
+
for (const nVal of Object.values(nestedProps)) {
|
|
173
|
+
if ((0, lodash_1.isString)(nVal) && nVal.startsWith("__MAP__")) {
|
|
174
|
+
hasMapMarker = true;
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (hasMapMarker) {
|
|
179
|
+
const processedProps = [`...${baseSpread}`];
|
|
180
|
+
for (const [nKey, nVal] of Object.entries(nestedProps)) {
|
|
181
|
+
if ((0, lodash_1.isString)(nVal) && nVal.startsWith("__MAP__")) {
|
|
182
|
+
processedProps.push(`"${nKey}":${(0, exports.processMapMarker)(nVal)}`);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
processedProps.push(`"${nKey}":${(0, exports.formatValue)(nVal)}`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
parts.push(`"${key}":{${processedProps.join(",")}}`);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
const nestedParts = [];
|
|
192
|
+
for (const [nKey, nVal] of Object.entries(nestedProps)) {
|
|
193
|
+
nestedParts.push(`"${nKey}":${(0, exports.formatValue)(nVal)}`);
|
|
194
|
+
}
|
|
195
|
+
parts.push(`"${key}":{...${baseSpread},...{${nestedParts.join(",")}}}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
parts.push(`"${key}":${(0, exports.formatValue)(value)}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return `{${parts.join(",")}}`;
|
|
204
|
+
};
|
|
205
|
+
exports.stringifyObject = stringifyObject;
|
|
206
|
+
/**
|
|
207
|
+
* Serializes any input value into a TypeScript/JS code string.
|
|
208
|
+
* Handles eval expressions, MAP markers, objects with __base__ spread, etc.
|
|
209
|
+
*/
|
|
210
|
+
const stringify = (input) => {
|
|
211
|
+
if (input && typeof input === "object" && !Array.isArray(input)) {
|
|
212
|
+
return (0, exports.stringifyObject)(input);
|
|
213
|
+
}
|
|
214
|
+
return JSON.stringify(input).replace(/"([a-zA-Z]+\.eval\(.*?\))"/g, (x) => x.substring(1, x.length - 1).replace(/\\"/g, '"'));
|
|
215
|
+
};
|
|
216
|
+
exports.stringify = stringify;
|
|
217
|
+
/**
|
|
218
|
+
* Serializes params for ModelVariable, converting actiontask values to arrow functions.
|
|
219
|
+
*/
|
|
220
|
+
const stringifyModelParams = (input, scope) => {
|
|
221
|
+
if (input === undefined || input === null) {
|
|
222
|
+
return (0, exports.stringify)(input);
|
|
223
|
+
}
|
|
224
|
+
const hasActionTaskDeep = (val) => {
|
|
225
|
+
if (!val || typeof val !== "object")
|
|
226
|
+
return false;
|
|
227
|
+
if (Array.isArray(val))
|
|
228
|
+
return val.some(v => hasActionTaskDeep(v));
|
|
229
|
+
for (const [k, v] of Object.entries(val)) {
|
|
230
|
+
if (k === "actiontask")
|
|
231
|
+
return true;
|
|
232
|
+
if (v && typeof v === "object" && hasActionTaskDeep(v))
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
return false;
|
|
236
|
+
};
|
|
237
|
+
const ensureScopePrefix = (expr, scopeVar) => {
|
|
238
|
+
const trimmed = (expr || "").trim();
|
|
239
|
+
if (!trimmed)
|
|
240
|
+
return `${scopeVar}.Widgets`;
|
|
241
|
+
if (trimmed.startsWith(`${scopeVar}.`))
|
|
242
|
+
return trimmed;
|
|
243
|
+
return `${scopeVar}.${trimmed}`;
|
|
244
|
+
};
|
|
245
|
+
const convertObject = (obj) => {
|
|
246
|
+
const parts = [];
|
|
247
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
248
|
+
if (key === "actiontask") {
|
|
249
|
+
if (typeof value === "string") {
|
|
250
|
+
const v = value.trim();
|
|
251
|
+
if (v.startsWith("() =>") || v.startsWith("function")) {
|
|
252
|
+
parts.push(`"${key}":${v}`);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
const prefixed = ensureScopePrefix(v, scope);
|
|
256
|
+
let optionalized = (0, utils_browser_1.addOptionalChaining)(prefixed);
|
|
257
|
+
optionalized = optionalized === null || optionalized === void 0 ? void 0 : optionalized.replace(/(\?\.[a-zA-Z_$][a-zA-Z0-9_$]*)(\s*\()/g, "$1?.$2");
|
|
258
|
+
parts.push(`"${key}":() => ${optionalized}`);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
parts.push(`"${key}":${(0, exports.stringify)(value)}`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
else if (Array.isArray(value)) {
|
|
266
|
+
const items = value.map(it => {
|
|
267
|
+
if (it && typeof it === "object" && !Array.isArray(it) && hasActionTaskDeep(it)) {
|
|
268
|
+
return convertObject(it);
|
|
269
|
+
}
|
|
270
|
+
return (0, exports.stringify)(it);
|
|
271
|
+
});
|
|
272
|
+
parts.push(`"${key}":[${items.join(",")}]`);
|
|
273
|
+
}
|
|
274
|
+
else if (value && typeof value === "object") {
|
|
275
|
+
if (hasActionTaskDeep(value)) {
|
|
276
|
+
parts.push(`"${key}":${convertObject(value)}`);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
parts.push(`"${key}":${(0, exports.stringify)(value)}`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
parts.push(`"${key}":${(0, exports.stringify)(value)}`);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return `{${parts.join(",")}}`;
|
|
287
|
+
};
|
|
288
|
+
if (Array.isArray(input)) {
|
|
289
|
+
const items = input.map(it => it && typeof it === "object" && !Array.isArray(it) ? convertObject(it) : (0, exports.stringify)(it));
|
|
290
|
+
return `[${items.join(",")}]`;
|
|
291
|
+
}
|
|
292
|
+
if (typeof input === "object") {
|
|
293
|
+
return convertObject(input);
|
|
294
|
+
}
|
|
295
|
+
return (0, exports.stringify)(input);
|
|
296
|
+
};
|
|
297
|
+
exports.stringifyModelParams = stringifyModelParams;
|
|
298
|
+
/**
|
|
299
|
+
* Wraps a string value in quotes; leaves numbers, booleans, and eval expressions as-is.
|
|
300
|
+
*/
|
|
301
|
+
const quoteIfString = (arg) => {
|
|
302
|
+
if (arg === "")
|
|
303
|
+
return `"${arg}"`;
|
|
304
|
+
if (!isNaN(arg) || arg === "true" || arg === "false")
|
|
305
|
+
return arg;
|
|
306
|
+
if ((0, lodash_1.isString)(arg) && (isEvalExpression(arg) || arg.trim().startsWith("() =>")))
|
|
307
|
+
return arg;
|
|
308
|
+
if ((0, lodash_1.isString)(arg) && !isEvalExpression(arg))
|
|
309
|
+
return JSON.stringify(arg);
|
|
310
|
+
return arg;
|
|
311
|
+
};
|
|
312
|
+
exports.quoteIfString = quoteIfString;
|
|
313
|
+
/**
|
|
314
|
+
* Quotes an object key if it contains a hyphen (for valid JS object literal syntax).
|
|
315
|
+
*/
|
|
316
|
+
const quoteKeyIfHyphen = (str) => {
|
|
317
|
+
if ((0, lodash_1.isString)(str) && str.includes("-"))
|
|
318
|
+
return JSON.stringify(str);
|
|
319
|
+
return str;
|
|
320
|
+
};
|
|
321
|
+
exports.quoteKeyIfHyphen = quoteKeyIfHyphen;
|
|
322
|
+
//# sourceMappingURL=serialize-variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize-variables.js","sourceRoot":"","sources":["../../../src/transpile/serialize-variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.splitCssShorthandOnSpaces = splitCssShorthandOnSpaces;
|
|
4
|
+
/**
|
|
5
|
+
* Splits a CSS shorthand list on ASCII-whitespace at top level only — not inside
|
|
6
|
+
* `()`, and not inside quoted strings. Handles backslash escapes in strings.
|
|
7
|
+
*
|
|
8
|
+
* Covers e.g. `var(--Spacing-0, 0) 0 0 0` (comma-spacing inside `var()`).
|
|
9
|
+
*/
|
|
10
|
+
function splitCssShorthandOnSpaces(value) {
|
|
11
|
+
const s = value.trim();
|
|
12
|
+
if (!s.length)
|
|
13
|
+
return [];
|
|
14
|
+
const tokens = [];
|
|
15
|
+
let parenDepth = 0;
|
|
16
|
+
let quote = null;
|
|
17
|
+
let start = 0;
|
|
18
|
+
let i = 0;
|
|
19
|
+
while (i < s.length) {
|
|
20
|
+
const ch = s[i];
|
|
21
|
+
if (quote) {
|
|
22
|
+
if (ch === "\\" && i + 1 < s.length) {
|
|
23
|
+
i += 2;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (ch === quote)
|
|
27
|
+
quote = null;
|
|
28
|
+
i++;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (ch === "'" || ch === '"') {
|
|
32
|
+
quote = ch;
|
|
33
|
+
i++;
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (ch === "(") {
|
|
37
|
+
parenDepth++;
|
|
38
|
+
i++;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (ch === ")") {
|
|
42
|
+
parenDepth = Math.max(0, parenDepth - 1);
|
|
43
|
+
i++;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (/\s/.test(ch) && parenDepth === 0) {
|
|
47
|
+
if (i > start)
|
|
48
|
+
tokens.push(s.slice(start, i));
|
|
49
|
+
while (i < s.length && /\s/.test(s[i]))
|
|
50
|
+
i++;
|
|
51
|
+
start = i;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
i++;
|
|
55
|
+
}
|
|
56
|
+
if (i > start)
|
|
57
|
+
tokens.push(s.slice(start, i));
|
|
58
|
+
return tokens;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=split-css-shorthand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-css-shorthand.js","sourceRoot":"","sources":["../../../../src/transpile/style/split-css-shorthand.ts"],"names":[],"mappings":";;AAMA,8DAoDC;AA1DD;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,KAAa;IACrD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,GAAqB,IAAI,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpC,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,KAAK,GAAG,EAAE,CAAC;YACX,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAC;YAC5C,KAAK,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QAED,CAAC,EAAE,CAAC;IACN,CAAC;IAED,IAAI,CAAC,GAAG,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|