@builder.io/mitosis 0.0.56-97 → 0.0.56
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/dist/src/__tests__/data/blocks/content-slot-jsx.raw.jsx +4 -1
- package/dist/src/__tests__/data/blocks/form.raw.jsx +5 -5
- package/dist/src/__tests__/data/blocks/onUpdateWithDeps.raw.d.ts +5 -1
- package/dist/src/__tests__/data/blocks/onUpdateWithDeps.raw.jsx +3 -3
- package/dist/src/__tests__/data/default-props/default-props.raw.d.ts +7 -0
- package/dist/src/__tests__/data/default-props/default-props.raw.jsx +23 -0
- package/dist/src/__tests__/data/jsx-json.spec.d.ts +2 -0
- package/dist/src/__tests__/data/jsx-json.spec.js +10226 -0
- package/dist/src/__tests__/data/types/component-with-default-values-types.raw.d.ts +5 -0
- package/dist/src/__tests__/data/types/component-with-default-values-types.raw.jsx +9 -0
- package/dist/src/__tests__/shared.d.ts +7 -2
- package/dist/src/__tests__/shared.js +69 -9
- package/dist/src/constants/hooks.d.ts +1 -0
- package/dist/src/constants/hooks.js +1 -0
- package/dist/src/constants/method-literal-prefix.d.ts +0 -1
- package/dist/src/constants/method-literal-prefix.js +0 -3
- package/dist/src/generators/angular.d.ts +2 -2
- package/dist/src/generators/angular.js +12 -5
- package/dist/src/generators/builder.d.ts +4 -11
- package/dist/src/generators/builder.js +3 -2
- package/dist/src/generators/context/svelte.d.ts +3 -0
- package/dist/src/generators/context/svelte.js +3 -0
- package/dist/src/generators/helpers/functions.d.ts +2 -0
- package/dist/src/generators/helpers/functions.js +28 -0
- package/dist/src/generators/html.d.ts +3 -3
- package/dist/src/generators/html.js +9 -7
- package/dist/src/generators/liquid.d.ts +2 -2
- package/dist/src/generators/liquid.js +4 -4
- package/dist/src/generators/lit/generate.d.ts +2 -2
- package/dist/src/generators/lit/generate.js +14 -6
- package/dist/src/generators/marko/generate.d.ts +2 -2
- package/dist/src/generators/marko/generate.js +10 -8
- package/dist/src/generators/mitosis.d.ts +3 -4
- package/dist/src/generators/mitosis.js +3 -2
- package/dist/src/generators/qwik/component-generator.d.ts +2 -2
- package/dist/src/generators/qwik/component-generator.js +49 -55
- package/dist/src/generators/qwik/component.d.ts +0 -1
- package/dist/src/generators/qwik/component.js +22 -19
- package/dist/src/generators/qwik/directives.d.ts +1 -0
- package/dist/src/generators/qwik/directives.js +11 -14
- package/dist/src/generators/qwik/jsx.d.ts +1 -1
- package/dist/src/generators/qwik/jsx.js +9 -5
- package/dist/src/generators/qwik/src-generator.js +9 -3
- package/dist/src/generators/qwik/stable-serialize.d.ts +6 -0
- package/dist/src/generators/qwik/stable-serialize.js +51 -0
- package/dist/src/generators/react/generator.d.ts +6 -0
- package/dist/src/generators/{react.js → react/generator.js} +63 -156
- package/dist/src/generators/react/helpers.d.ts +2 -0
- package/dist/src/generators/react/helpers.js +14 -0
- package/dist/src/generators/react/index.d.ts +2 -0
- package/dist/src/generators/react/index.js +18 -0
- package/dist/src/generators/react/state.d.ts +9 -0
- package/dist/src/generators/react/state.js +107 -0
- package/dist/src/generators/react/types.d.ts +10 -0
- package/dist/src/generators/react/types.js +2 -0
- package/dist/src/generators/react-native.d.ts +2 -2
- package/dist/src/generators/solid/index.d.ts +3 -0
- package/dist/src/generators/{solid.js → solid/index.js} +80 -40
- package/dist/src/generators/solid/state.d.ts +19 -0
- package/dist/src/generators/solid/state.js +144 -0
- package/dist/src/generators/solid/types.d.ts +6 -0
- package/dist/src/generators/solid/types.js +2 -0
- package/dist/src/generators/stencil/generate.d.ts +2 -2
- package/dist/src/generators/stencil/generate.js +5 -2
- package/dist/src/generators/svelte.d.ts +6 -7
- package/dist/src/generators/svelte.js +47 -40
- package/dist/src/generators/swift-ui.d.ts +3 -5
- package/dist/src/generators/swift-ui.js +3 -2
- package/dist/src/generators/template.d.ts +2 -2
- package/dist/src/generators/template.js +3 -2
- package/dist/src/generators/vue.d.ts +5 -3
- package/dist/src/generators/vue.js +262 -107
- package/dist/src/helpers/babel-transform.d.ts +3 -1
- package/dist/src/helpers/babel-transform.js +52 -56
- package/dist/src/helpers/get-bindings.js +3 -5
- package/dist/src/helpers/get-custom-imports.js +7 -1
- package/dist/src/helpers/get-state-object-string.js +24 -21
- package/dist/src/helpers/getters-to-functions.js +1 -11
- package/dist/src/helpers/map-refs.js +25 -25
- package/dist/src/helpers/nodes/for.d.ts +4 -0
- package/dist/src/helpers/nodes/for.js +13 -0
- package/dist/src/helpers/nullable.d.ts +2 -0
- package/dist/src/helpers/nullable.js +7 -0
- package/dist/src/helpers/parse-reactive-script.js +66 -78
- package/dist/src/helpers/patterns.d.ts +2 -0
- package/dist/src/helpers/patterns.js +5 -1
- package/dist/src/helpers/render-imports.js +3 -3
- package/dist/src/helpers/replace-identifiers.d.ts +5 -0
- package/dist/src/helpers/{replace-idenifiers.js → replace-identifiers.js} +2 -1
- package/dist/src/helpers/slots.d.ts +2 -0
- package/dist/src/helpers/slots.js +15 -1
- package/dist/src/helpers/state.d.ts +0 -2
- package/dist/src/helpers/state.js +1 -10
- package/dist/src/helpers/strip-state-and-props-refs.d.ts +1 -1
- package/dist/src/helpers/strip-state-and-props-refs.js +43 -31
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -1
- package/dist/src/parsers/angular.js +2 -2
- package/dist/src/parsers/builder.d.ts +4 -2
- package/dist/src/parsers/builder.js +61 -43
- package/dist/src/parsers/constants/outdated-prefixes.d.ts +10 -0
- package/dist/src/parsers/constants/outdated-prefixes.js +13 -0
- package/dist/src/parsers/context.js +2 -2
- package/dist/src/parsers/helpers/state.d.ts +3 -0
- package/dist/src/parsers/helpers/state.js +30 -0
- package/dist/src/parsers/jsx/component-types.d.ts +1 -1
- package/dist/src/parsers/jsx/component-types.js +15 -2
- package/dist/src/parsers/jsx/context.js +1 -1
- package/dist/src/parsers/jsx/element-parser.d.ts +6 -0
- package/dist/src/parsers/jsx/element-parser.js +243 -0
- package/dist/src/parsers/jsx/exports.d.ts +3 -0
- package/dist/src/parsers/jsx/exports.js +78 -0
- package/dist/src/parsers/jsx/function-parser.d.ts +7 -0
- package/dist/src/parsers/jsx/function-parser.js +291 -0
- package/dist/src/parsers/jsx/helpers.d.ts +2 -0
- package/dist/src/parsers/jsx/helpers.js +30 -1
- package/dist/src/parsers/jsx/imports.d.ts +7 -0
- package/dist/src/parsers/jsx/imports.js +65 -0
- package/dist/src/parsers/jsx/index.d.ts +1 -1
- package/dist/src/parsers/jsx/index.js +1 -2
- package/dist/src/parsers/jsx/jsx.js +29 -501
- package/dist/src/parsers/jsx/state.d.ts +2 -3
- package/dist/src/parsers/jsx/state.js +15 -22
- package/dist/src/plugins/compile-away-builder-components.js +6 -0
- package/dist/src/symbols/symbol-processor.js +3 -0
- package/dist/src/targets.d.ts +21 -28
- package/dist/src/targets.js +2 -2
- package/dist/src/types/config.d.ts +11 -1
- package/dist/src/types/mitosis-component.d.ts +13 -6
- package/dist/src/types/mitosis-component.js +11 -0
- package/dist/src/types/mitosis-context.d.ts +2 -2
- package/dist/src/types/mitosis-node.d.ts +14 -5
- package/dist/src/types/mitosis-node.js +3 -0
- package/dist/src/types/transpiler.d.ts +6 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +13 -9
- package/dist/src/__tests__/angular.test.d.ts +0 -1
- package/dist/src/__tests__/angular.test.js +0 -10
- package/dist/src/__tests__/builder.test.d.ts +0 -1
- package/dist/src/__tests__/builder.test.js +0 -235
- package/dist/src/__tests__/context.test.d.ts +0 -1
- package/dist/src/__tests__/context.test.js +0 -35
- package/dist/src/__tests__/hash-code.test.d.ts +0 -1
- package/dist/src/__tests__/hash-code.test.js +0 -11
- package/dist/src/__tests__/html.test.d.ts +0 -1
- package/dist/src/__tests__/html.test.js +0 -7
- package/dist/src/__tests__/liquid.test.d.ts +0 -1
- package/dist/src/__tests__/liquid.test.js +0 -7
- package/dist/src/__tests__/lit.test.d.ts +0 -1
- package/dist/src/__tests__/lit.test.js +0 -7
- package/dist/src/__tests__/marko.test.d.ts +0 -1
- package/dist/src/__tests__/marko.test.js +0 -14
- package/dist/src/__tests__/parse-jsx.test.d.ts +0 -1
- package/dist/src/__tests__/parse-jsx.test.js +0 -37
- package/dist/src/__tests__/qwik/convert-method-to-function.test.d.ts +0 -1
- package/dist/src/__tests__/qwik/convert-method-to-function.test.js +0 -37
- package/dist/src/__tests__/qwik/src-generator.test.d.ts +0 -1
- package/dist/src/__tests__/qwik/src-generator.test.js +0 -65
- package/dist/src/__tests__/qwik.directive.test.d.ts +0 -1
- package/dist/src/__tests__/qwik.directive.test.js +0 -108
- package/dist/src/__tests__/qwik.test.d.ts +0 -1
- package/dist/src/__tests__/qwik.test.js +0 -465
- package/dist/src/__tests__/react-native.test.d.ts +0 -1
- package/dist/src/__tests__/react-native.test.js +0 -7
- package/dist/src/__tests__/react.test.d.ts +0 -1
- package/dist/src/__tests__/react.test.js +0 -20
- package/dist/src/__tests__/solid.test.d.ts +0 -1
- package/dist/src/__tests__/solid.test.js +0 -10
- package/dist/src/__tests__/stencil.test.d.ts +0 -1
- package/dist/src/__tests__/stencil.test.js +0 -7
- package/dist/src/__tests__/styles.test.d.ts +0 -1
- package/dist/src/__tests__/styles.test.js +0 -23
- package/dist/src/__tests__/svelte.test.d.ts +0 -1
- package/dist/src/__tests__/svelte.test.js +0 -7
- package/dist/src/__tests__/vue.test.d.ts +0 -1
- package/dist/src/__tests__/vue.test.js +0 -7
- package/dist/src/__tests__/webcomponent.test.d.ts +0 -1
- package/dist/src/__tests__/webcomponent.test.js +0 -15
- package/dist/src/constants/function-literal-prefix.d.ts +0 -1
- package/dist/src/constants/function-literal-prefix.js +0 -4
- package/dist/src/generators/react.d.ts +0 -14
- package/dist/src/generators/solid.d.ts +0 -5
- package/dist/src/helpers/babel-transform.test.d.ts +0 -1
- package/dist/src/helpers/babel-transform.test.js +0 -7
- package/dist/src/helpers/generic-format.test.d.ts +0 -1
- package/dist/src/helpers/generic-format.test.js +0 -8
- package/dist/src/helpers/remove-surrounding-block.test.d.ts +0 -1
- package/dist/src/helpers/remove-surrounding-block.test.js +0 -9
- package/dist/src/helpers/render-imports.test.d.ts +0 -1
- package/dist/src/helpers/render-imports.test.js +0 -33
- package/dist/src/helpers/replace-idenifiers.d.ts +0 -1
- package/dist/src/helpers/styles/collect-css.test.d.ts +0 -1
- package/dist/src/helpers/styles/collect-css.test.js +0 -18
- package/dist/test/qwik/Accordion/high.jsx +0 -0
- package/dist/test/qwik/Accordion/low.jsx +0 -240
- package/dist/test/qwik/Accordion/med.jsx +0 -4
- package/dist/test/qwik/For/high.jsx +0 -0
- package/dist/test/qwik/For/low.jsx +0 -52
- package/dist/test/qwik/For/med.jsx +0 -4
- package/dist/test/qwik/Image/high.js +0 -9
- package/dist/test/qwik/Image/low.js +0 -0
- package/dist/test/qwik/Image/med.js +0 -155
- package/dist/test/qwik/Image.slow/high.js +0 -9
- package/dist/test/qwik/Image.slow/low.js +0 -0
- package/dist/test/qwik/Image.slow/med.js +0 -155
- package/dist/test/qwik/bindings/high.cjs +0 -0
- package/dist/test/qwik/bindings/low.cjs +0 -45
- package/dist/test/qwik/bindings/med.cjs +0 -3
- package/dist/test/qwik/button/high.js +0 -3
- package/dist/test/qwik/button/low.js +0 -25
- package/dist/test/qwik/button/med.js +0 -31
- package/dist/test/qwik/component/bindings/high.jsx +0 -0
- package/dist/test/qwik/component/bindings/low.jsx +0 -104
- package/dist/test/qwik/component/bindings/med.jsx +0 -7
- package/dist/test/qwik/component/component/inputs/high.cjsx +0 -9
- package/dist/test/qwik/component/component/inputs/low.cjsx +0 -0
- package/dist/test/qwik/component/component/inputs/med.cjsx +0 -68
- package/dist/test/qwik/for-loop.bindings/high.cjs +0 -0
- package/dist/test/qwik/for-loop.bindings/low.cjs +0 -56
- package/dist/test/qwik/for-loop.bindings/med.cjs +0 -5
- package/dist/test/qwik/hello_world/stylesheet/high.jsx +0 -0
- package/dist/test/qwik/hello_world/stylesheet/low.jsx +0 -26
- package/dist/test/qwik/hello_world/stylesheet/med.jsx +0 -4
- package/dist/test/qwik/mount/high.cjs +0 -0
- package/dist/test/qwik/mount/low.cjs +0 -47
- package/dist/test/qwik/mount/med.cjs +0 -3
- package/dist/test/qwik/page-with-symbol/high.js +0 -0
- package/dist/test/qwik/page-with-symbol/low.js +0 -33
- package/dist/test/qwik/page-with-symbol/med.js +0 -4
- package/dist/test/qwik/show-hide/high.jsx +0 -9
- package/dist/test/qwik/show-hide/low.jsx +0 -0
- package/dist/test/qwik/show-hide/med.jsx +0 -181
- package/dist/test/qwik/svg/high.js +0 -0
- package/dist/test/qwik/svg/low.js +0 -30
- package/dist/test/qwik/svg/med.js +0 -4
- package/dist/test/qwik/todo/Todo.cjs/high.cjs +0 -19
- package/dist/test/qwik/todo/Todo.cjs/low.cjs +0 -0
- package/dist/test/qwik/todo/Todo.cjs/med.cjs +0 -51
- package/dist/test/qwik/todo/Todo.js/high.js +0 -19
- package/dist/test/qwik/todo/Todo.js/low.js +0 -0
- package/dist/test/qwik/todo/Todo.js/med.js +0 -47
- package/dist/test/qwik/todo/Todo.tsx/high.tsx +0 -19
- package/dist/test/qwik/todo/Todo.tsx/low.tsx +0 -0
- package/dist/test/qwik/todo/Todo.tsx/med.tsx +0 -43
- package/dist/test/qwik/todos/Todo.tsx/high.tsx +0 -7
- package/dist/test/qwik/todos/Todo.tsx/low.tsx +0 -32
- package/dist/test/qwik/todos/Todo.tsx/med.tsx +0 -4
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -61,11 +61,10 @@ var babel_transform_1 = require("../helpers/babel-transform");
|
|
|
61
61
|
var function_1 = require("fp-ts/lib/function");
|
|
62
62
|
var context_1 = require("./helpers/context");
|
|
63
63
|
var html_tags_1 = require("../constants/html_tags");
|
|
64
|
-
var lodash_1 = require("lodash");
|
|
65
|
-
var function_literal_prefix_1 = require("../constants/function-literal-prefix");
|
|
66
|
-
var method_literal_prefix_1 = require("../constants/method-literal-prefix");
|
|
67
|
-
var patterns_1 = require("../helpers/patterns");
|
|
68
64
|
var is_upper_case_1 = require("../helpers/is-upper-case");
|
|
65
|
+
var json5_1 = __importDefault(require("json5"));
|
|
66
|
+
var functions_1 = require("./helpers/functions");
|
|
67
|
+
var for_1 = require("../helpers/nodes/for");
|
|
69
68
|
var mappers = {
|
|
70
69
|
Fragment: function (_a) {
|
|
71
70
|
var _b;
|
|
@@ -92,7 +91,8 @@ var mappers = {
|
|
|
92
91
|
delete firstChild.properties.key;
|
|
93
92
|
delete firstChild.bindings.key;
|
|
94
93
|
}
|
|
95
|
-
|
|
94
|
+
var args = (0, for_1.getForArguments)(json, { excludeCollectionName: true }).join(', ');
|
|
95
|
+
return "\n{#each ".concat(stripStateAndProps((_c = json.bindings.each) === null || _c === void 0 ? void 0 : _c.code, options), " as ").concat(args, " ").concat(keyValue ? "(".concat(keyValue, ")") : '', "}\n").concat(json.children.map(function (item) { return (0, exports.blockToSvelte)({ json: item, options: options, parentComponent: parentComponent }); }).join('\n'), "\n{/each}\n");
|
|
96
96
|
},
|
|
97
97
|
Show: function (_a) {
|
|
98
98
|
var _b;
|
|
@@ -158,7 +158,11 @@ var blockToSvelte = function (_a) {
|
|
|
158
158
|
var _b, _c, _d, _e, _f;
|
|
159
159
|
var json = _a.json, options = _a.options, parentComponent = _a.parentComponent;
|
|
160
160
|
if (mappers[json.name]) {
|
|
161
|
-
return mappers[json.name]({
|
|
161
|
+
return mappers[json.name]({
|
|
162
|
+
json: json,
|
|
163
|
+
options: options,
|
|
164
|
+
parentComponent: parentComponent,
|
|
165
|
+
});
|
|
162
166
|
}
|
|
163
167
|
var tagName = getTagName({ json: json, parentComponent: parentComponent });
|
|
164
168
|
if ((0, is_children_1.default)(json)) {
|
|
@@ -199,7 +203,13 @@ var blockToSvelte = function (_a) {
|
|
|
199
203
|
if (key.startsWith('on')) {
|
|
200
204
|
var event_1 = key.replace('on', '').toLowerCase();
|
|
201
205
|
// TODO: handle quotes in event handler values
|
|
202
|
-
|
|
206
|
+
var valueWithoutBlock = (0, remove_surrounding_block_1.removeSurroundingBlock)(useValue);
|
|
207
|
+
if (valueWithoutBlock === key) {
|
|
208
|
+
str += " on:".concat(event_1, "={").concat(valueWithoutBlock, "} ");
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
str += " on:".concat(event_1, "=\"{").concat(cusArgs.join(','), " => {").concat(valueWithoutBlock, "}}\" ");
|
|
212
|
+
}
|
|
203
213
|
}
|
|
204
214
|
else if (key === 'ref') {
|
|
205
215
|
str += " bind:this={".concat(useValue, "} ");
|
|
@@ -223,7 +233,7 @@ var blockToSvelte = function (_a) {
|
|
|
223
233
|
if (json.children) {
|
|
224
234
|
str += json.children
|
|
225
235
|
.map(function (item) { return (0, exports.blockToSvelte)({ json: item, options: options, parentComponent: parentComponent }); })
|
|
226
|
-
.join('
|
|
236
|
+
.join('');
|
|
227
237
|
}
|
|
228
238
|
str += "</".concat(tagName, ">");
|
|
229
239
|
return str;
|
|
@@ -266,33 +276,13 @@ var useBindValue = function (json, options) {
|
|
|
266
276
|
var stripThisRefs = function (str) {
|
|
267
277
|
return str.replace(/this\.([a-zA-Z_\$0-9]+)/g, '$1');
|
|
268
278
|
};
|
|
269
|
-
var FUNCTION_HACK_PLUGIN = function () { return ({
|
|
270
|
-
json: {
|
|
271
|
-
pre: function (json) {
|
|
272
|
-
var _a;
|
|
273
|
-
for (var key in json.state) {
|
|
274
|
-
var value = (_a = json.state[key]) === null || _a === void 0 ? void 0 : _a.code;
|
|
275
|
-
if (typeof value === 'string' && value.startsWith(method_literal_prefix_1.methodLiteralPrefix)) {
|
|
276
|
-
var strippedValue = value.replace(method_literal_prefix_1.methodLiteralPrefix, '');
|
|
277
|
-
if (!Boolean(strippedValue.match(patterns_1.GETTER))) {
|
|
278
|
-
var newValue = "".concat(function_literal_prefix_1.functionLiteralPrefix, " function ").concat(strippedValue);
|
|
279
|
-
json.state[key] = {
|
|
280
|
-
code: newValue,
|
|
281
|
-
type: 'function',
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
},
|
|
287
|
-
},
|
|
288
|
-
}); };
|
|
289
279
|
var componentToSvelte = function (_a) {
|
|
290
280
|
if (_a === void 0) { _a = {}; }
|
|
291
281
|
var _b = _a.plugins, plugins = _b === void 0 ? [] : _b, userProvidedOptions = __rest(_a, ["plugins"]);
|
|
292
282
|
return function (_a) {
|
|
293
|
-
var _b, _c, _d, _e, _f, _g, _h;
|
|
283
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
294
284
|
var component = _a.component;
|
|
295
|
-
var options = __assign({ stateType: 'variables', prettier: true, plugins: __spreadArray([FUNCTION_HACK_PLUGIN], plugins, true) }, userProvidedOptions);
|
|
285
|
+
var options = __assign({ stateType: 'variables', prettier: true, plugins: __spreadArray([functions_1.FUNCTION_HACK_PLUGIN], plugins, true) }, userProvidedOptions);
|
|
296
286
|
// Make a copy we can safely mutate, similar to babel's toolchain
|
|
297
287
|
var json = (0, fast_clone_1.fastClone)(component);
|
|
298
288
|
if (options.plugins) {
|
|
@@ -321,7 +311,7 @@ var componentToSvelte = function (_a) {
|
|
|
321
311
|
format: 'variables',
|
|
322
312
|
keyPrefix: '$: ',
|
|
323
313
|
valueMapper: function (code) {
|
|
324
|
-
return (0, function_1.pipe)(
|
|
314
|
+
return (0, function_1.pipe)(code.replace(/^get ([a-zA-Z_\$0-9]+)/, '$1 = ').replace(/\)/, ') => '), function (str) { return stripStateAndProps(str, options); }, stripThisRefs);
|
|
325
315
|
},
|
|
326
316
|
}), babel_transform_1.babelTransformCode);
|
|
327
317
|
var functionsString = (0, function_1.pipe)((0, get_state_object_string_1.getStateObjectStringFromComponent)(json, {
|
|
@@ -329,7 +319,6 @@ var componentToSvelte = function (_a) {
|
|
|
329
319
|
getters: false,
|
|
330
320
|
functions: true,
|
|
331
321
|
format: 'variables',
|
|
332
|
-
keyPrefix: 'const ',
|
|
333
322
|
valueMapper: function (code) { return (0, function_1.pipe)(stripStateAndProps(code, options), stripThisRefs); },
|
|
334
323
|
}), babel_transform_1.babelTransformCode);
|
|
335
324
|
var hasData = dataString.length > 4;
|
|
@@ -338,30 +327,48 @@ var componentToSvelte = function (_a) {
|
|
|
338
327
|
return (0, function_1.pipe)(stripStateAndProps(hookCode, options), babel_transform_1.babelTransformCode);
|
|
339
328
|
};
|
|
340
329
|
var str = '';
|
|
341
|
-
|
|
342
|
-
|
|
330
|
+
var tsLangAttribute = options.typescript ? "lang='ts'" : '';
|
|
331
|
+
if (options.typescript && ((_b = json.types) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
332
|
+
str += (0, dedent_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n <script context='module' ", ">\n ", "\n </script>\n \n\n \n\n "], ["\n <script context='module' ", ">\n ", "\n </script>\n \\n\n \\n\n "])), tsLangAttribute, json.types ? json.types.join('\n\n') + '\n' : '');
|
|
343
333
|
}
|
|
344
|
-
|
|
334
|
+
// prepare svelte imports
|
|
335
|
+
var svelteImports = [];
|
|
336
|
+
if ((_d = (_c = json.hooks.onMount) === null || _c === void 0 ? void 0 : _c.code) === null || _d === void 0 ? void 0 : _d.length) {
|
|
337
|
+
svelteImports.push('onMount');
|
|
338
|
+
}
|
|
339
|
+
if ((_e = json.hooks.onUpdate) === null || _e === void 0 ? void 0 : _e.length) {
|
|
340
|
+
svelteImports.push('afterUpdate');
|
|
341
|
+
}
|
|
342
|
+
if ((_g = (_f = json.hooks.onUnMount) === null || _f === void 0 ? void 0 : _f.code) === null || _g === void 0 ? void 0 : _g.length) {
|
|
343
|
+
svelteImports.push('onDestroy');
|
|
344
|
+
}
|
|
345
|
+
if ((0, context_1.hasContext)(component)) {
|
|
346
|
+
svelteImports.push('getContext', 'setContext');
|
|
347
|
+
}
|
|
348
|
+
str += (0, dedent_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n <script ", ">\n ", "\n ", "\n\n ", "\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n </script>\n\n ", "\n\n ", "\n "], ["\n <script ", ">\n ", "\n ", "\n\n ", "\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n </script>\n\n ", "\n\n ", "\n "])), tsLangAttribute, !svelteImports.length ? '' : "import { ".concat(svelteImports.sort().join(', '), " } from 'svelte'"), (0, render_imports_1.renderPreComponent)({ component: json, target: 'svelte' }), !hasData || options.stateType === 'variables' ? '' : "import onChange from 'on-change'", props
|
|
345
349
|
.map(function (name) {
|
|
346
350
|
if (name === 'children') {
|
|
347
351
|
return '';
|
|
348
352
|
}
|
|
349
353
|
var propDeclaration = "export let ".concat(name);
|
|
350
|
-
if (json.propsTypeRef && json.propsTypeRef !== 'any') {
|
|
354
|
+
if (options.typescript && json.propsTypeRef && json.propsTypeRef !== 'any') {
|
|
351
355
|
propDeclaration += ": ".concat(json.propsTypeRef.split(' |')[0], "['").concat(name, "']");
|
|
352
356
|
}
|
|
357
|
+
if (json.defaultProps && json.defaultProps.hasOwnProperty(name)) {
|
|
358
|
+
propDeclaration += "=".concat(json5_1.default.stringify(json.defaultProps[name]));
|
|
359
|
+
}
|
|
353
360
|
propDeclaration += ';';
|
|
354
361
|
return propDeclaration;
|
|
355
362
|
})
|
|
356
363
|
.join('\n'), (0, helpers_1.hasStyle)(json)
|
|
357
364
|
? "\n function mitosis_styling (node, vars) {\n Object.entries(vars).forEach(([ p, v ]) => { node.style[p] = v })\n }\n "
|
|
358
|
-
: '', getContextCode(json), setContextCode(json), functionsString.length < 4 ? '' : functionsString, getterString.length < 4 ? '' : getterString, options.stateType === 'proxies'
|
|
365
|
+
: '', getContextCode(json), setContextCode(json), functionsString.length < 4 ? '' : functionsString, getterString.length < 4 ? '' : getterString, refs.map(function (ref) { return "let ".concat((0, strip_state_and_props_refs_1.stripStateAndPropsRefs)(ref)); }).join('\n'), options.stateType === 'proxies'
|
|
359
366
|
? dataString.length < 4
|
|
360
367
|
? ''
|
|
361
368
|
: "let state = onChange(".concat(dataString, ", () => state = state)")
|
|
362
|
-
: dataString, !((
|
|
369
|
+
: dataString, !((_h = json.hooks.onMount) === null || _h === void 0 ? void 0 : _h.code)
|
|
363
370
|
? ''
|
|
364
|
-
: "onMount(() => { ".concat(transformHookCode(json.hooks.onMount.code), " });"), !((
|
|
371
|
+
: "onMount(() => { ".concat(transformHookCode(json.hooks.onMount.code), " });"), !((_j = json.hooks.onUpdate) === null || _j === void 0 ? void 0 : _j.length)
|
|
365
372
|
? ''
|
|
366
373
|
: json.hooks.onUpdate
|
|
367
374
|
.map(function (_a, index) {
|
|
@@ -375,7 +382,7 @@ var componentToSvelte = function (_a) {
|
|
|
375
382
|
return "afterUpdate(() => { ".concat(hookCode, " })");
|
|
376
383
|
}
|
|
377
384
|
})
|
|
378
|
-
.join(';'), !((
|
|
385
|
+
.join(';'), !((_k = json.hooks.onUnMount) === null || _k === void 0 ? void 0 : _k.code)
|
|
379
386
|
? ''
|
|
380
387
|
: "onDestroy(() => { ".concat(transformHookCode(json.hooks.onUnMount.code), " });"), json.children
|
|
381
388
|
.map(function (item) {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare type ToSwiftOptions =
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
export declare const componentToSwift: (options?: ToSwiftOptions) => Transpiler;
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../types/transpiler';
|
|
2
|
+
export declare type ToSwiftOptions = BaseTranspilerOptions;
|
|
3
|
+
export declare const componentToSwift: TranspilerGenerator<ToSwiftOptions>;
|
|
@@ -18,6 +18,7 @@ var get_state_object_string_1 = require("../helpers/get-state-object-string");
|
|
|
18
18
|
var get_styles_1 = require("../helpers/get-styles");
|
|
19
19
|
var is_children_1 = __importDefault(require("../helpers/is-children"));
|
|
20
20
|
var is_mitosis_node_1 = require("../helpers/is-mitosis-node");
|
|
21
|
+
var mitosis_node_1 = require("../types/mitosis-node");
|
|
21
22
|
var state_1 = require("../helpers/state");
|
|
22
23
|
var scrolls = function (json) {
|
|
23
24
|
var _a;
|
|
@@ -91,8 +92,8 @@ var blockToSwift = function (json, options) {
|
|
|
91
92
|
delete json.properties.placeholder;
|
|
92
93
|
json.properties._ = placeholder || '';
|
|
93
94
|
}
|
|
94
|
-
if (
|
|
95
|
-
str += "ForEach(".concat(processBinding((_a = json.bindings.each) === null || _a === void 0 ? void 0 : _a.code, options), ", id: \\.self) { ").concat(json.
|
|
95
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
96
|
+
str += "ForEach(".concat(processBinding((_a = json.bindings.each) === null || _a === void 0 ? void 0 : _a.code, options), ", id: \\.self) { ").concat(json.scope.forName, " in ").concat(children
|
|
96
97
|
.map(function (item) { return blockToSwift(item, options); })
|
|
97
98
|
.join('\n'), " }");
|
|
98
99
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseTranspilerOptions,
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../types/transpiler';
|
|
2
2
|
export interface ToTemplateOptions extends BaseTranspilerOptions {
|
|
3
3
|
}
|
|
4
|
-
export declare const componentToTemplate:
|
|
4
|
+
export declare const componentToTemplate: TranspilerGenerator<ToTemplateOptions>;
|
|
@@ -12,6 +12,7 @@ var standalone_1 = require("prettier/standalone");
|
|
|
12
12
|
var collect_css_1 = require("../helpers/styles/collect-css");
|
|
13
13
|
var fast_clone_1 = require("../helpers/fast-clone");
|
|
14
14
|
var jsx_1 = require("../parsers/jsx");
|
|
15
|
+
var mitosis_node_1 = require("../types/mitosis-node");
|
|
15
16
|
var plugins_1 = require("../modules/plugins");
|
|
16
17
|
var dedent_1 = __importDefault(require("dedent"));
|
|
17
18
|
var get_state_object_string_1 = require("../helpers/get-state-object-string");
|
|
@@ -34,8 +35,8 @@ var blockToTemplate = function (json, options) {
|
|
|
34
35
|
return "${".concat((_a = json.bindings._text) === null || _a === void 0 ? void 0 : _a.code, "}");
|
|
35
36
|
}
|
|
36
37
|
var str = '';
|
|
37
|
-
if (
|
|
38
|
-
str += "${".concat((_b = json.bindings.each) === null || _b === void 0 ? void 0 : _b.code, "?.map(").concat(json.
|
|
38
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
39
|
+
str += "${".concat((_b = json.bindings.each) === null || _b === void 0 ? void 0 : _b.code, "?.map(").concat(json.scope.forName, " => `");
|
|
39
40
|
if (json.children) {
|
|
40
41
|
str += json.children.map(function (item) { return blockToTemplate(item, options); }).join('\n');
|
|
41
42
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { MitosisNode } from '../types/mitosis-node';
|
|
2
|
-
import { BaseTranspilerOptions
|
|
2
|
+
import { BaseTranspilerOptions } from '../types/transpiler';
|
|
3
3
|
import { OmitObj } from '../helpers/typescript';
|
|
4
4
|
export declare type VueVersion = 2 | 3;
|
|
5
|
+
export declare type Api = 'options' | 'composition';
|
|
5
6
|
interface VueVersionOpt {
|
|
6
7
|
vueVersion: VueVersion;
|
|
7
8
|
}
|
|
@@ -9,6 +10,7 @@ export interface ToVueOptions extends BaseTranspilerOptions, VueVersionOpt {
|
|
|
9
10
|
cssNamespace?: () => string;
|
|
10
11
|
namePrefix?: (path: string) => string;
|
|
11
12
|
asyncComponentImports?: boolean;
|
|
13
|
+
api?: Api;
|
|
12
14
|
}
|
|
13
15
|
declare type BlockRenderer = (json: MitosisNode, options: ToVueOptions, scope?: Scope) => string;
|
|
14
16
|
interface Scope {
|
|
@@ -16,6 +18,6 @@ interface Scope {
|
|
|
16
18
|
}
|
|
17
19
|
export declare const blockToVue: BlockRenderer;
|
|
18
20
|
declare type VueOptsWithoutVersion = OmitObj<ToVueOptions, VueVersionOpt>;
|
|
19
|
-
export declare const componentToVue2: (vueOptions?: VueOptsWithoutVersion) => Transpiler
|
|
20
|
-
export declare const componentToVue3: (vueOptions?: VueOptsWithoutVersion) => Transpiler
|
|
21
|
+
export declare const componentToVue2: (vueOptions?: VueOptsWithoutVersion) => import("../types/transpiler").Transpiler<string>;
|
|
22
|
+
export declare const componentToVue3: (vueOptions?: VueOptsWithoutVersion) => import("../types/transpiler").Transpiler<string>;
|
|
21
23
|
export {};
|