@builder.io/mitosis 0.0.105 → 0.0.107-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/dist/src/constants/hooks.d.ts +7 -0
- package/dist/src/constants/hooks.js +7 -0
- package/dist/src/constants/html_tags.d.ts +1 -0
- package/dist/src/constants/html_tags.js +17 -1
- package/dist/src/generators/alpine/generate.js +6 -4
- package/dist/src/generators/angular.js +7 -7
- package/dist/src/generators/context/svelte.d.ts +6 -2
- package/dist/src/generators/context/svelte.js +31 -2
- package/dist/src/generators/helpers/context.d.ts +5 -1
- package/dist/src/generators/helpers/context.js +8 -1
- package/dist/src/generators/html.js +59 -58
- package/dist/src/generators/liquid.js +2 -2
- package/dist/src/generators/lit/generate.js +6 -4
- package/dist/src/generators/marko/generate.js +4 -3
- package/dist/src/generators/mitosis.js +4 -3
- package/dist/src/generators/qwik/component-generator.js +3 -1
- package/dist/src/generators/qwik/src-generator.js +2 -2
- package/dist/src/generators/react/blocks.js +2 -2
- package/dist/src/generators/react/generator.js +10 -1
- package/dist/src/generators/react/types.d.ts +1 -0
- package/dist/src/generators/rsc.js +1 -0
- package/dist/src/generators/solid/blocks.js +2 -2
- package/dist/src/generators/solid/index.js +2 -1
- package/dist/src/generators/stencil/generate.js +6 -4
- package/dist/src/generators/svelte/blocks.js +3 -3
- package/dist/src/generators/svelte/helpers.d.ts +3 -0
- package/dist/src/generators/svelte/helpers.js +30 -1
- package/dist/src/generators/svelte/svelte.js +40 -9
- package/dist/src/generators/template.js +2 -2
- package/dist/src/generators/vue/blocks.js +3 -3
- package/dist/src/generators/vue/vue.js +3 -1
- package/dist/src/helpers/get-state-object-string.d.ts +2 -1
- package/dist/src/helpers/get-state-object-string.js +1 -1
- package/dist/src/helpers/handle-missing-state.js +1 -1
- package/dist/src/helpers/merge-options.d.ts +8 -2
- package/dist/src/helpers/merge-options.js +14 -2
- package/dist/src/helpers/plugins/process-code/index.d.ts +8 -0
- package/dist/src/helpers/plugins/process-code/index.js +79 -0
- package/dist/src/helpers/plugins/process-code/types.d.ts +5 -0
- package/dist/src/helpers/plugins/process-code/types.js +2 -0
- package/dist/src/helpers/plugins/process-signals.d.ts +42 -0
- package/dist/src/helpers/plugins/process-signals.js +93 -0
- package/dist/src/helpers/plugins/process-target-blocks.d.ts +6 -0
- package/dist/src/helpers/plugins/process-target-blocks.js +47 -0
- package/dist/src/helpers/process-http-requests.js +1 -1
- package/dist/src/helpers/replace-identifiers.d.ts +17 -1
- package/dist/src/helpers/replace-identifiers.js +52 -7
- package/dist/src/index.d.ts +34 -23
- package/dist/src/index.js +0 -52
- package/dist/src/parsers/builder/helpers.js +1 -1
- package/dist/src/parsers/context.js +14 -1
- package/dist/src/parsers/jsx/element-parser.js +1 -3
- package/dist/src/parsers/jsx/function-parser.d.ts +0 -3
- package/dist/src/parsers/jsx/function-parser.js +41 -43
- package/dist/src/parsers/jsx/helpers.d.ts +0 -1
- package/dist/src/parsers/jsx/helpers.js +1 -17
- package/dist/src/parsers/jsx/hooks/helpers.d.ts +5 -0
- package/dist/src/parsers/jsx/hooks/helpers.js +56 -0
- package/dist/src/parsers/jsx/hooks/index.d.ts +15 -0
- package/dist/src/parsers/jsx/{hooks.js → hooks/index.js} +26 -28
- package/dist/src/parsers/jsx/hooks/use-target.d.ts +13 -0
- package/dist/src/parsers/jsx/hooks/use-target.js +92 -0
- package/dist/src/parsers/jsx/imports.d.ts +2 -0
- package/dist/src/parsers/jsx/imports.js +18 -13
- package/dist/src/parsers/jsx/index.d.ts +1 -2
- package/dist/src/parsers/jsx/index.js +4 -5
- package/dist/src/parsers/jsx/jsx.js +64 -13
- package/dist/src/parsers/jsx/state.js +33 -20
- package/dist/src/parsers/jsx/types-identification.d.ts +41 -0
- package/dist/src/parsers/jsx/types-identification.js +236 -0
- package/dist/src/parsers/jsx/types.d.ts +10 -0
- package/dist/src/parsers/svelte/helpers/post-process.d.ts +2 -1
- package/dist/src/parsers/svelte/html/actions.js +1 -0
- package/dist/src/targets.d.ts +1 -0
- package/dist/src/types/config.d.ts +8 -1
- package/dist/src/types/metadata.d.ts +3 -0
- package/dist/src/types/metadata.js +2 -0
- package/dist/src/types/mitosis-component.d.ts +26 -4
- package/dist/src/types/mitosis-context.d.ts +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -2
- package/dist/src/helpers/plugins/process-code.d.ts +0 -10
- package/dist/src/helpers/plugins/process-code.js +0 -71
- package/dist/src/parsers/jsx/hooks.d.ts +0 -14
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.componentToLit = void 0;
|
|
8
8
|
var lodash_1 = require("lodash");
|
|
9
9
|
var standalone_1 = require("prettier/standalone");
|
|
10
|
+
var html_tags_1 = require("../../constants/html_tags");
|
|
10
11
|
var dash_case_1 = require("../../helpers/dash-case");
|
|
11
12
|
var dedent_1 = require("../../helpers/dedent");
|
|
12
13
|
var fast_clone_1 = require("../../helpers/fast-clone");
|
|
@@ -18,12 +19,12 @@ var has_1 = require("../../helpers/has");
|
|
|
18
19
|
var indent_1 = require("../../helpers/indent");
|
|
19
20
|
var is_upper_case_1 = require("../../helpers/is-upper-case");
|
|
20
21
|
var map_refs_1 = require("../../helpers/map-refs");
|
|
22
|
+
var merge_options_1 = require("../../helpers/merge-options");
|
|
21
23
|
var render_imports_1 = require("../../helpers/render-imports");
|
|
22
24
|
var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
|
|
23
25
|
var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
|
|
24
26
|
var collect_css_1 = require("../../helpers/styles/collect-css");
|
|
25
27
|
var plugins_1 = require("../../modules/plugins");
|
|
26
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
27
28
|
var mitosis_node_1 = require("../../types/mitosis-node");
|
|
28
29
|
var collect_class_string_1 = require("./collect-class-string");
|
|
29
30
|
var getCustomTagName = function (name, options) {
|
|
@@ -97,7 +98,7 @@ var blockToLit = function (json, options) {
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
|
-
if (
|
|
101
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
|
|
101
102
|
return str + ' />';
|
|
102
103
|
}
|
|
103
104
|
str += '>';
|
|
@@ -110,11 +111,12 @@ var blockToLit = function (json, options) {
|
|
|
110
111
|
function processBinding(code) {
|
|
111
112
|
return (0, strip_state_and_props_refs_1.stripStateAndPropsRefs)(code, { replaceWith: 'this.' });
|
|
112
113
|
}
|
|
113
|
-
var componentToLit = function (
|
|
114
|
-
if (
|
|
114
|
+
var componentToLit = function (_options) {
|
|
115
|
+
if (_options === void 0) { _options = {}; }
|
|
115
116
|
return function (_a) {
|
|
116
117
|
var _b, _c, _d, _e;
|
|
117
118
|
var component = _a.component;
|
|
119
|
+
var options = (0, merge_options_1.initializeOptions)('lit', _options);
|
|
118
120
|
var json = (0, fast_clone_1.fastClone)(component);
|
|
119
121
|
if (options.plugins) {
|
|
120
122
|
json = (0, plugins_1.runPreJsonPlugins)(json, options.plugins);
|
|
@@ -22,6 +22,7 @@ exports.markoFormatHtml = exports.postprocessHtml = exports.preprocessHtml = exp
|
|
|
22
22
|
var hash_sum_1 = __importDefault(require("hash-sum"));
|
|
23
23
|
var lodash_1 = require("lodash");
|
|
24
24
|
var standalone_1 = require("prettier/standalone");
|
|
25
|
+
var html_tags_1 = require("../../constants/html_tags");
|
|
25
26
|
var dash_case_1 = require("../../helpers/dash-case");
|
|
26
27
|
var dedent_1 = require("../../helpers/dedent");
|
|
27
28
|
var fast_clone_1 = require("../../helpers/fast-clone");
|
|
@@ -31,13 +32,13 @@ var get_state_object_string_1 = require("../../helpers/get-state-object-string")
|
|
|
31
32
|
var has_props_1 = require("../../helpers/has-props");
|
|
32
33
|
var indent_1 = require("../../helpers/indent");
|
|
33
34
|
var map_refs_1 = require("../../helpers/map-refs");
|
|
35
|
+
var merge_options_1 = require("../../helpers/merge-options");
|
|
34
36
|
var for_1 = require("../../helpers/nodes/for");
|
|
35
37
|
var render_imports_1 = require("../../helpers/render-imports");
|
|
36
38
|
var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
|
|
37
39
|
var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
|
|
38
40
|
var collect_css_1 = require("../../helpers/styles/collect-css");
|
|
39
41
|
var plugins_1 = require("../../modules/plugins");
|
|
40
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
41
42
|
var mitosis_node_1 = require("../../types/mitosis-node");
|
|
42
43
|
// Having issues with this, so off for now
|
|
43
44
|
var USE_MARKO_PRETTIER = false;
|
|
@@ -93,7 +94,7 @@ var blockToMarko = function (json, options) {
|
|
|
93
94
|
str += " ".concat(key, "=(").concat(processBinding(options.component, code), ") ");
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
|
-
if (
|
|
97
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
|
|
97
98
|
return str + ' />';
|
|
98
99
|
}
|
|
99
100
|
str += '>';
|
|
@@ -136,7 +137,7 @@ var componentToMarko = function (userOptions) {
|
|
|
136
137
|
var _b, _c, _d;
|
|
137
138
|
var component = _a.component;
|
|
138
139
|
var json = (0, fast_clone_1.fastClone)(component);
|
|
139
|
-
var options = __assign(__assign({}, userOptions), { component: json });
|
|
140
|
+
var options = (0, merge_options_1.initializeOptions)('marko', __assign(__assign({}, userOptions), { component: json }));
|
|
140
141
|
if (options.plugins) {
|
|
141
142
|
json = (0, plugins_1.runPreJsonPlugins)(json, options.plugins);
|
|
142
143
|
}
|
|
@@ -30,6 +30,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
30
30
|
exports.componentToMitosis = exports.blockToMitosis = exports.DEFAULT_FORMAT = void 0;
|
|
31
31
|
var json5_1 = __importDefault(require("json5"));
|
|
32
32
|
var standalone_1 = require("prettier/standalone");
|
|
33
|
+
var hooks_1 = require("../constants/hooks");
|
|
34
|
+
var html_tags_1 = require("../constants/html_tags");
|
|
33
35
|
var dedent_1 = require("../helpers/dedent");
|
|
34
36
|
var fast_clone_1 = require("../helpers/fast-clone");
|
|
35
37
|
var get_components_1 = require("../helpers/get-components");
|
|
@@ -39,7 +41,6 @@ var is_root_text_node_1 = require("../helpers/is-root-text-node");
|
|
|
39
41
|
var map_refs_1 = require("../helpers/map-refs");
|
|
40
42
|
var render_imports_1 = require("../helpers/render-imports");
|
|
41
43
|
var state_1 = require("../helpers/state");
|
|
42
|
-
var jsx_1 = require("../parsers/jsx");
|
|
43
44
|
var mitosis_node_1 = require("../types/mitosis-node");
|
|
44
45
|
var react_1 = require("./react");
|
|
45
46
|
exports.DEFAULT_FORMAT = 'legacy';
|
|
@@ -98,7 +99,7 @@ var blockToMitosis = function (json, toMitosisOptions, component) {
|
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
|
-
if (
|
|
102
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
|
|
102
103
|
return str + ' />';
|
|
103
104
|
}
|
|
104
105
|
// Self close by default if no children
|
|
@@ -160,7 +161,7 @@ var componentToMitosis = function (toMitosisOptions) {
|
|
|
160
161
|
var str = (0, dedent_1.dedent)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n\n ", "\n\n ", "\n\n export default function ", "(props) {\n ", "\n ", "\n\n ", "\n\n ", "\n\n return (", "\n ", "\n ", ")\n }\n\n "], ["\n ", "\n ", "\n ", "\n\n ", "\n\n ", "\n\n export default function ", "(props) {\n ", "\n ", "\n\n ", "\n\n ", "\n\n return (", "\n ", "\n ", ")\n }\n\n "])), !needsMitosisCoreImport
|
|
161
162
|
? ''
|
|
162
163
|
: "import { ".concat(!hasState ? '' : 'useStore, ', " ").concat(!refs.length ? '' : 'useRef, ', " ").concat(mitosisComponents.join(', '), " } from '@builder.io/mitosis';"), !otherComponents.length ? '' : "import { ".concat(otherComponents.join(','), " } from '@components';"), json.types ? json.types.join('\n') : '', (0, render_imports_1.renderPreComponent)({ component: json, target: 'mitosis' }), stringifiedUseMetadata && stringifiedUseMetadata !== '{}'
|
|
163
|
-
? "".concat(
|
|
164
|
+
? "".concat(hooks_1.HOOKS.METADATA, "(").concat(stringifiedUseMetadata, ")")
|
|
164
165
|
: '', component.name, !hasState ? '' : "const state = useStore(".concat((0, get_state_object_string_1.getStateObjectStringFromComponent)(json), ");"), getRefsString(json, refs), !((_b = json.hooks.onMount) === null || _b === void 0 ? void 0 : _b.code) ? '' : "onMount(() => { ".concat(json.hooks.onMount.code, " })"), !((_c = json.hooks.onUnMount) === null || _c === void 0 ? void 0 : _c.code) ? '' : "onUnMount(() => { ".concat(json.hooks.onUnMount.code, " })"), addWrapper ? '<>' : '', json.children.map(function (item) { return (0, exports.blockToMitosis)(item, options, component); }).join('\n'), addWrapper ? '</>' : '');
|
|
165
166
|
if (options.prettier !== false) {
|
|
166
167
|
try {
|
|
@@ -28,6 +28,8 @@ var PLUGINS = [
|
|
|
28
28
|
}); },
|
|
29
29
|
(0, process_code_1.CODE_PROCESSOR_PLUGIN)(function (codeType, json) {
|
|
30
30
|
switch (codeType) {
|
|
31
|
+
case 'types':
|
|
32
|
+
return function (c) { return c; };
|
|
31
33
|
case 'bindings':
|
|
32
34
|
case 'state':
|
|
33
35
|
case 'hooks':
|
|
@@ -74,7 +76,7 @@ var componentToQwik = function (userOptions) {
|
|
|
74
76
|
var _component = _a.component, path = _a.path;
|
|
75
77
|
// Make a copy we can safely mutate, similar to babel's toolchain
|
|
76
78
|
var component = (0, fast_clone_1.fastClone)(_component);
|
|
77
|
-
var options = (0, merge_options_1.
|
|
79
|
+
var options = (0, merge_options_1.initializeOptions)('qwik', DEFAULT_OPTIONS, userOptions);
|
|
78
80
|
component = (0, plugins_1.runPreJsonPlugins)(component, options.plugins);
|
|
79
81
|
component = (0, plugins_1.runPostJsonPlugins)(component, options.plugins);
|
|
80
82
|
var isTypeScript = !!options.typescript;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.iteratorProperty = exports.lastProperty = exports.isStatement = exports.iif = exports.arrowFnValue = exports.arrowFnBlock = exports.invoke = exports.quote = exports.Imports = exports.Symbol = exports.SrcBuilder = exports.File = void 0;
|
|
4
4
|
var standalone_1 = require("prettier/standalone");
|
|
5
|
+
var html_tags_1 = require("../../constants/html_tags");
|
|
5
6
|
var builder_1 = require("../../parsers/builder");
|
|
6
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
7
7
|
var stable_serialize_1 = require("./helpers/stable-serialize");
|
|
8
8
|
var File = /** @class */ (function () {
|
|
9
9
|
function File(filename, options, qwikModule, qrlPrefix) {
|
|
@@ -390,7 +390,7 @@ var SrcBuilder = /** @class */ (function () {
|
|
|
390
390
|
}
|
|
391
391
|
};
|
|
392
392
|
SrcBuilder.prototype.isSelfClosingTag = function (symbol) {
|
|
393
|
-
return
|
|
393
|
+
return html_tags_1.SELF_CLOSING_HTML_TAGS.has(String(symbol));
|
|
394
394
|
};
|
|
395
395
|
SrcBuilder.prototype.jsxEnd = function (symbol) {
|
|
396
396
|
if (this.isJSX) {
|
|
@@ -16,13 +16,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.blockToReact = void 0;
|
|
18
18
|
var lodash_1 = require("lodash");
|
|
19
|
+
var html_tags_1 = require("../../constants/html_tags");
|
|
19
20
|
var filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
|
|
20
21
|
var is_children_1 = __importDefault(require("../../helpers/is-children"));
|
|
21
22
|
var is_root_text_node_1 = require("../../helpers/is-root-text-node");
|
|
22
23
|
var is_valid_attribute_name_1 = require("../../helpers/is-valid-attribute-name");
|
|
23
24
|
var for_1 = require("../../helpers/nodes/for");
|
|
24
25
|
var slots_1 = require("../../helpers/slots");
|
|
25
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
26
26
|
var mitosis_node_1 = require("../../types/mitosis-node");
|
|
27
27
|
var helpers_1 = require("./helpers");
|
|
28
28
|
var state_1 = require("./state");
|
|
@@ -207,7 +207,7 @@ var blockToReact = function (json, options, component, parentSlots) {
|
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
if (
|
|
210
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
|
|
211
211
|
return str + ' />';
|
|
212
212
|
}
|
|
213
213
|
// Self close by default if no children
|
|
@@ -139,7 +139,16 @@ var componentToReact = function (reactOptions) {
|
|
|
139
139
|
return function (_a) {
|
|
140
140
|
var component = _a.component, path = _a.path;
|
|
141
141
|
var json = (0, fast_clone_1.fastClone)(component);
|
|
142
|
-
var
|
|
142
|
+
var target = reactOptions.preact
|
|
143
|
+
? 'preact'
|
|
144
|
+
: reactOptions.type === 'native'
|
|
145
|
+
? 'reactNative'
|
|
146
|
+
: reactOptions.type === 'taro'
|
|
147
|
+
? 'taro'
|
|
148
|
+
: reactOptions.rsc
|
|
149
|
+
? 'rsc'
|
|
150
|
+
: 'react';
|
|
151
|
+
var options = (0, merge_options_1.initializeOptions)(target, DEFAULT_OPTIONS, reactOptions);
|
|
143
152
|
if (options.plugins) {
|
|
144
153
|
json = (0, plugins_1.runPreJsonPlugins)(json, options.plugins);
|
|
145
154
|
}
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.blockToSolid = void 0;
|
|
4
4
|
var core_1 = require("@babel/core");
|
|
5
5
|
var lodash_1 = require("lodash");
|
|
6
|
+
var html_tags_1 = require("../../constants/html_tags");
|
|
6
7
|
var babel_transform_1 = require("../../helpers/babel-transform");
|
|
7
8
|
var filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
|
|
8
9
|
var typescript_1 = require("../../helpers/typescript");
|
|
9
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
10
10
|
var mitosis_node_1 = require("../../types/mitosis-node");
|
|
11
11
|
var styles_1 = require("./helpers/styles");
|
|
12
12
|
var ATTTRIBUTE_MAPPERS = {
|
|
@@ -96,7 +96,7 @@ var blockToSolid = function (_a) {
|
|
|
96
96
|
str += " ".concat(newKey, "={").concat(useValue, "} ");
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
if (
|
|
99
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
|
|
100
100
|
return str + ' />';
|
|
101
101
|
}
|
|
102
102
|
str += '>';
|
|
@@ -130,12 +130,13 @@ var componentToSolid = function (passedOptions) {
|
|
|
130
130
|
var _b, _c, _d, _e, _f, _g, _h;
|
|
131
131
|
var component = _a.component;
|
|
132
132
|
var json = (0, fast_clone_1.fastClone)(component);
|
|
133
|
-
var options = (0, merge_options_1.
|
|
133
|
+
var options = (0, merge_options_1.initializeOptions)('solid', DEFAULT_OPTIONS, passedOptions);
|
|
134
134
|
options.plugins = __spreadArray(__spreadArray([], (options.plugins || []), true), [
|
|
135
135
|
(0, process_code_1.CODE_PROCESSOR_PLUGIN)(function (codeType) {
|
|
136
136
|
switch (codeType) {
|
|
137
137
|
case 'state':
|
|
138
138
|
case 'dynamic-jsx-elements':
|
|
139
|
+
case 'types':
|
|
139
140
|
return function (c) { return c; };
|
|
140
141
|
case 'bindings':
|
|
141
142
|
case 'hooks':
|
|
@@ -6,6 +6,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.componentToStencil = void 0;
|
|
8
8
|
var standalone_1 = require("prettier/standalone");
|
|
9
|
+
var html_tags_1 = require("../../constants/html_tags");
|
|
9
10
|
var dash_case_1 = require("../../helpers/dash-case");
|
|
10
11
|
var dedent_1 = require("../../helpers/dedent");
|
|
11
12
|
var fast_clone_1 = require("../../helpers/fast-clone");
|
|
@@ -14,13 +15,13 @@ var get_props_1 = require("../../helpers/get-props");
|
|
|
14
15
|
var get_state_object_string_1 = require("../../helpers/get-state-object-string");
|
|
15
16
|
var indent_1 = require("../../helpers/indent");
|
|
16
17
|
var map_refs_1 = require("../../helpers/map-refs");
|
|
18
|
+
var merge_options_1 = require("../../helpers/merge-options");
|
|
17
19
|
var for_1 = require("../../helpers/nodes/for");
|
|
18
20
|
var render_imports_1 = require("../../helpers/render-imports");
|
|
19
21
|
var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
|
|
20
22
|
var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
|
|
21
23
|
var collect_css_1 = require("../../helpers/styles/collect-css");
|
|
22
24
|
var plugins_1 = require("../../modules/plugins");
|
|
23
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
24
25
|
var mitosis_node_1 = require("../../types/mitosis-node");
|
|
25
26
|
var collect_class_string_1 = require("./collect-class-string");
|
|
26
27
|
var blockToStencil = function (json, options) {
|
|
@@ -73,7 +74,7 @@ var blockToStencil = function (json, options) {
|
|
|
73
74
|
str += " ".concat(key, "={").concat(processBinding(code), "} ");
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
|
-
if (
|
|
77
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
|
|
77
78
|
return str + ' />';
|
|
78
79
|
}
|
|
79
80
|
str += '>';
|
|
@@ -86,11 +87,12 @@ var blockToStencil = function (json, options) {
|
|
|
86
87
|
function processBinding(code) {
|
|
87
88
|
return (0, strip_state_and_props_refs_1.stripStateAndPropsRefs)(code, { replaceWith: 'this.' });
|
|
88
89
|
}
|
|
89
|
-
var componentToStencil = function (
|
|
90
|
-
if (
|
|
90
|
+
var componentToStencil = function (_options) {
|
|
91
|
+
if (_options === void 0) { _options = {}; }
|
|
91
92
|
return function (_a) {
|
|
92
93
|
var _b, _c, _d, _e;
|
|
93
94
|
var component = _a.component;
|
|
95
|
+
var options = (0, merge_options_1.initializeOptions)('stencil', _options);
|
|
94
96
|
var json = (0, fast_clone_1.fastClone)(component);
|
|
95
97
|
if (options.plugins) {
|
|
96
98
|
json = (0, plugins_1.runPreJsonPlugins)(json, options.plugins);
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.blockToSvelte = void 0;
|
|
7
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
8
7
|
var html_tags_1 = require("../../constants/html_tags");
|
|
8
|
+
var html_tags_2 = require("../../constants/html_tags");
|
|
9
9
|
var bindings_1 = require("../../helpers/bindings");
|
|
10
10
|
var is_children_1 = __importDefault(require("../../helpers/is-children"));
|
|
11
11
|
var is_upper_case_1 = require("../../helpers/is-upper-case");
|
|
@@ -107,7 +107,7 @@ var getTagName = function (_a) {
|
|
|
107
107
|
});
|
|
108
108
|
return SVELTE_SPECIAL_TAGS.ELEMENT;
|
|
109
109
|
}
|
|
110
|
-
var isValidHtmlTag =
|
|
110
|
+
var isValidHtmlTag = html_tags_2.VALID_HTML_TAGS.includes(json.name);
|
|
111
111
|
var isSpecialSvelteTag = json.name.startsWith('svelte:');
|
|
112
112
|
// Check if any import matches `json.name`
|
|
113
113
|
var hasMatchingImport = parentComponent.imports.some(function (_a) {
|
|
@@ -202,7 +202,7 @@ var blockToSvelte = function (_a) {
|
|
|
202
202
|
str += "</".concat(tagName, ">");
|
|
203
203
|
return str;
|
|
204
204
|
}
|
|
205
|
-
if (
|
|
205
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(tagName)) {
|
|
206
206
|
return str + ' />';
|
|
207
207
|
}
|
|
208
208
|
str += '>';
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { MitosisComponent } from '../../types/mitosis-component';
|
|
2
2
|
import { ToSvelteOptions } from './types';
|
|
3
|
+
export declare const transformReactiveValues: ({ json }: {
|
|
4
|
+
json: MitosisComponent;
|
|
5
|
+
}) => (code: string) => string;
|
|
3
6
|
export declare const stripStateAndProps: ({ options, json }: {
|
|
4
7
|
options: ToSvelteOptions;
|
|
5
8
|
json: MitosisComponent;
|
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stripStateAndProps = void 0;
|
|
3
|
+
exports.stripStateAndProps = exports.transformReactiveValues = void 0;
|
|
4
|
+
var core_1 = require("@babel/core");
|
|
5
|
+
var process_signals_1 = require("../../helpers/plugins/process-signals");
|
|
4
6
|
var slots_1 = require("../../helpers/slots");
|
|
5
7
|
var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
|
|
8
|
+
var transformReactiveValues = function (_a) {
|
|
9
|
+
var json = _a.json;
|
|
10
|
+
return (0, process_signals_1.processSignalsForCode)({
|
|
11
|
+
json: json,
|
|
12
|
+
processors: {
|
|
13
|
+
props: function (name) {
|
|
14
|
+
return {
|
|
15
|
+
from: core_1.types.memberExpression(core_1.types.identifier(name), core_1.types.identifier('value')),
|
|
16
|
+
to: core_1.types.identifier('$' + name),
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
context: function (name) {
|
|
20
|
+
return {
|
|
21
|
+
from: core_1.types.memberExpression(core_1.types.identifier(name), core_1.types.identifier('value')),
|
|
22
|
+
to: core_1.types.identifier('$' + name),
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
state: function (name) {
|
|
26
|
+
return {
|
|
27
|
+
from: core_1.types.memberExpression(core_1.types.identifier(name), core_1.types.identifier('value')),
|
|
28
|
+
to: core_1.types.identifier('$' + name),
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.transformReactiveValues = transformReactiveValues;
|
|
6
35
|
var stripStateAndProps = function (_a) {
|
|
7
36
|
var options = _a.options, json = _a.json;
|
|
8
37
|
return function (code) {
|
|
@@ -31,6 +31,7 @@ var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
|
|
|
31
31
|
var merge_options_1 = require("../../helpers/merge-options");
|
|
32
32
|
var patterns_1 = require("../../helpers/patterns");
|
|
33
33
|
var process_code_1 = require("../../helpers/plugins/process-code");
|
|
34
|
+
var process_signals_1 = require("../../helpers/plugins/process-signals");
|
|
34
35
|
var render_imports_1 = require("../../helpers/render-imports");
|
|
35
36
|
var slots_1 = require("../../helpers/slots");
|
|
36
37
|
var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
|
|
@@ -47,7 +48,12 @@ var getContextCode = function (json) {
|
|
|
47
48
|
.map(function (_a) {
|
|
48
49
|
var key = _a[0], context = _a[1];
|
|
49
50
|
var name = context.name;
|
|
50
|
-
|
|
51
|
+
var contextType = (0, context_1.getContextType)({ component: json, context: context });
|
|
52
|
+
switch (contextType) {
|
|
53
|
+
case 'reactive':
|
|
54
|
+
case 'normal':
|
|
55
|
+
return "let ".concat(key, " = getContext(").concat(name, ".key);");
|
|
56
|
+
}
|
|
51
57
|
})
|
|
52
58
|
.join('\n');
|
|
53
59
|
};
|
|
@@ -57,13 +63,22 @@ var setContextCode = function (_a) {
|
|
|
57
63
|
return Object.values(json.context.set)
|
|
58
64
|
.map(function (context) {
|
|
59
65
|
var value = context.value, name = context.name, ref = context.ref;
|
|
60
|
-
var
|
|
66
|
+
var nameIsStringLiteral = (name.startsWith("'") && name.endsWith("'")) ||
|
|
67
|
+
(name.startsWith('"') && name.endsWith('"'));
|
|
68
|
+
var key = nameIsStringLiteral ? name : "".concat(name, ".key");
|
|
61
69
|
var valueStr = value
|
|
62
70
|
? processCode((0, get_state_object_string_1.stringifyContextValue)(value))
|
|
63
71
|
: ref
|
|
64
72
|
? processCode(ref)
|
|
65
73
|
: 'undefined';
|
|
66
|
-
|
|
74
|
+
var contextType = (0, context_1.getContextType)({ component: json, context: context });
|
|
75
|
+
switch (contextType) {
|
|
76
|
+
case 'normal':
|
|
77
|
+
return "setContext(".concat(key, ", ").concat(valueStr, ");");
|
|
78
|
+
case 'reactive':
|
|
79
|
+
var storeName = "".concat(name, "ContextStoreValue");
|
|
80
|
+
return "\n const ".concat(storeName, " = writable(").concat(valueStr, ");\n setContext(").concat(key, ", ").concat(storeName, ");\n ");
|
|
81
|
+
}
|
|
67
82
|
})
|
|
68
83
|
.join('\n');
|
|
69
84
|
};
|
|
@@ -107,7 +122,7 @@ var componentToSvelte = function (userProvidedOptions) {
|
|
|
107
122
|
return function (_a) {
|
|
108
123
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
109
124
|
var component = _a.component;
|
|
110
|
-
var options = (0, merge_options_1.
|
|
125
|
+
var options = (0, merge_options_1.initializeOptions)('svelte', DEFAULT_OPTIONS, userProvidedOptions);
|
|
111
126
|
options.plugins = __spreadArray(__spreadArray([], (options.plugins || []), true), [
|
|
112
127
|
// Strip types from any JS code that ends up in the template, because Svelte does not support TS code in templates.
|
|
113
128
|
(0, process_code_1.CODE_PROCESSOR_PLUGIN)(function (codeType) {
|
|
@@ -119,23 +134,27 @@ var componentToSvelte = function (userProvidedOptions) {
|
|
|
119
134
|
case 'hooks-deps':
|
|
120
135
|
case 'state':
|
|
121
136
|
case 'dynamic-jsx-elements':
|
|
137
|
+
case 'types':
|
|
122
138
|
return function (x) { return x; };
|
|
123
139
|
}
|
|
124
140
|
}),
|
|
125
141
|
(0, process_code_1.CODE_PROCESSOR_PLUGIN)(function (codeType) {
|
|
126
142
|
switch (codeType) {
|
|
127
143
|
case 'hooks':
|
|
128
|
-
return (0, function_1.flow)((0, helpers_2.stripStateAndProps)({ json: json, options: options }), babel_transform_1.babelTransformCode);
|
|
144
|
+
return (0, function_1.flow)((0, helpers_2.stripStateAndProps)({ json: json, options: options }), (0, helpers_2.transformReactiveValues)({ json: json }), babel_transform_1.babelTransformCode);
|
|
129
145
|
case 'bindings':
|
|
130
146
|
case 'hooks-deps':
|
|
131
147
|
case 'state':
|
|
132
|
-
return (0, function_1.flow)((0, helpers_2.stripStateAndProps)({ json: json, options: options }), patterns_1.stripGetter);
|
|
133
|
-
case 'properties':
|
|
134
|
-
return (0, helpers_2.stripStateAndProps)({ json: json, options: options });
|
|
148
|
+
return (0, function_1.flow)((0, helpers_2.stripStateAndProps)({ json: json, options: options }), (0, helpers_2.transformReactiveValues)({ json: json }), patterns_1.stripGetter);
|
|
149
|
+
case 'properties': {
|
|
150
|
+
return (0, function_1.flow)((0, helpers_2.stripStateAndProps)({ json: json, options: options }), (0, helpers_2.transformReactiveValues)({ json: json }));
|
|
151
|
+
}
|
|
135
152
|
case 'dynamic-jsx-elements':
|
|
153
|
+
case 'types':
|
|
136
154
|
return function (x) { return x; };
|
|
137
155
|
}
|
|
138
156
|
}),
|
|
157
|
+
(0, process_signals_1.getSignalTypePlugin)({ target: 'svelte' }),
|
|
139
158
|
], false);
|
|
140
159
|
// Make a copy we can safely mutate, similar to babel's toolchain
|
|
141
160
|
var json = (0, fast_clone_1.fastClone)(component);
|
|
@@ -149,12 +168,21 @@ var componentToSvelte = function (userProvidedOptions) {
|
|
|
149
168
|
json = (0, plugins_1.runPostJsonPlugins)(json, options.plugins);
|
|
150
169
|
var css = (0, collect_css_1.collectCss)(json);
|
|
151
170
|
(0, strip_meta_properties_1.stripMetaProperties)(json);
|
|
171
|
+
var usesWritable = false;
|
|
152
172
|
var dataString = (0, function_1.pipe)((0, get_state_object_string_1.getStateObjectStringFromComponent)(json, {
|
|
153
173
|
data: true,
|
|
154
174
|
functions: false,
|
|
155
175
|
getters: false,
|
|
156
176
|
format: options.stateType === 'proxies' ? 'object' : 'variables',
|
|
157
177
|
keyPrefix: options.stateType === 'variables' ? 'let ' : '',
|
|
178
|
+
valueMapper: function (code, _t, _p, key) {
|
|
179
|
+
var _a;
|
|
180
|
+
if (((_a = json.state[key]) === null || _a === void 0 ? void 0 : _a.propertyType) === 'reactive') {
|
|
181
|
+
usesWritable = true;
|
|
182
|
+
return "writable(".concat(code, ")");
|
|
183
|
+
}
|
|
184
|
+
return code;
|
|
185
|
+
},
|
|
158
186
|
}), babel_transform_1.babelTransformCode);
|
|
159
187
|
var getterString = (0, function_1.pipe)((0, get_state_object_string_1.getStateObjectStringFromComponent)(json, {
|
|
160
188
|
data: false,
|
|
@@ -199,6 +227,9 @@ var componentToSvelte = function (userProvidedOptions) {
|
|
|
199
227
|
if ((0, context_1.hasSetContext)(component)) {
|
|
200
228
|
svelteImports.push('setContext');
|
|
201
229
|
}
|
|
230
|
+
if (usesWritable) {
|
|
231
|
+
svelteStoreImports.push('writable');
|
|
232
|
+
}
|
|
202
233
|
str += (0, dedent_1.dedent)(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\n ", "\n\n ", "\n </script>\n\n ", "\n\n ", "\n "], ["\n <script ", ">\n ", "\n ", "\n\n ", "\n\n ", "\n ", "\n "
|
|
203
234
|
// https://svelte.dev/repl/bd9b56891f04414982517bbd10c52c82?version=3.31.0
|
|
204
235
|
, "\n ", "\n\n ", "\n ", "\n\n ", "\n\n ", "\n ", "\n\n ", "\n\n ", "\n\n "
|
|
@@ -235,7 +266,7 @@ var componentToSvelte = function (userProvidedOptions) {
|
|
|
235
266
|
return "afterUpdate(() => { ".concat(code, " });");
|
|
236
267
|
}
|
|
237
268
|
var fnName = "onUpdateFn_".concat(index);
|
|
238
|
-
return "\n function ".concat(fnName, "() {\n ").concat(code, "\n }\n $: ").concat(fnName, "(...").concat(deps, ")\n ");
|
|
269
|
+
return "\n function ".concat(fnName, "(..._args").concat(options.typescript ? ': any[]' : '', ") {\n ").concat(code, "\n }\n $: ").concat(fnName, "(...").concat(deps, ")\n ");
|
|
239
270
|
}).join(';')) || '',
|
|
240
271
|
// make sure this is after all other state/code is initialized
|
|
241
272
|
setContextCode({ json: json, options: options }), !((_o = json.hooks.onUnMount) === null || _o === void 0 ? void 0 : _o.code) ? '' : "onDestroy(() => { ".concat(json.hooks.onUnMount.code, " });"), json.children
|
|
@@ -6,12 +6,12 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.componentToTemplate = void 0;
|
|
8
8
|
var standalone_1 = require("prettier/standalone");
|
|
9
|
+
var html_tags_1 = require("../constants/html_tags");
|
|
9
10
|
var dedent_1 = require("../helpers/dedent");
|
|
10
11
|
var fast_clone_1 = require("../helpers/fast-clone");
|
|
11
12
|
var get_state_object_string_1 = require("../helpers/get-state-object-string");
|
|
12
13
|
var collect_css_1 = require("../helpers/styles/collect-css");
|
|
13
14
|
var plugins_1 = require("../modules/plugins");
|
|
14
|
-
var jsx_1 = require("../parsers/jsx");
|
|
15
15
|
var mitosis_node_1 = require("../types/mitosis-node");
|
|
16
16
|
var mappers = {
|
|
17
17
|
Fragment: function (json, options) {
|
|
@@ -74,7 +74,7 @@ var blockToTemplate = function (json, options) {
|
|
|
74
74
|
str += " ".concat(key, "=\"${").concat(useValue, "}\" ");
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
if (
|
|
77
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
|
|
78
78
|
return str + ' />';
|
|
79
79
|
}
|
|
80
80
|
str += '>';
|
|
@@ -16,6 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.blockToVue = void 0;
|
|
18
18
|
var function_1 = require("fp-ts/lib/function");
|
|
19
|
+
var html_tags_1 = require("../../constants/html_tags");
|
|
19
20
|
var filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
|
|
20
21
|
var is_children_1 = __importDefault(require("../../helpers/is-children"));
|
|
21
22
|
var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
|
|
@@ -23,7 +24,6 @@ var nullable_1 = require("../../helpers/nullable");
|
|
|
23
24
|
var remove_surrounding_block_1 = require("../../helpers/remove-surrounding-block");
|
|
24
25
|
var replace_identifiers_1 = require("../../helpers/replace-identifiers");
|
|
25
26
|
var slots_1 = require("../../helpers/slots");
|
|
26
|
-
var jsx_1 = require("../../parsers/jsx");
|
|
27
27
|
var helpers_1 = require("./helpers");
|
|
28
28
|
var SPECIAL_PROPERTIES = {
|
|
29
29
|
V_IF: 'v-if',
|
|
@@ -295,8 +295,8 @@ var blockToVue = function (node, options, scope) {
|
|
|
295
295
|
}
|
|
296
296
|
if (SPECIAL_HTML_TAGS.includes(node.name)) {
|
|
297
297
|
// Vue doesn't allow style/script tags in templates, but does support them through dynamic components.
|
|
298
|
+
node.bindings.is = { code: "'".concat(node.name, "'"), type: 'single' };
|
|
298
299
|
node.name = 'component';
|
|
299
|
-
node.bindings.is = { code: "".concat(node.name), type: 'single' };
|
|
300
300
|
}
|
|
301
301
|
if (node.properties._text) {
|
|
302
302
|
return "".concat(node.properties._text);
|
|
@@ -310,7 +310,7 @@ var blockToVue = function (node, options, scope) {
|
|
|
310
310
|
}
|
|
311
311
|
var str = "<".concat(node.name, " ");
|
|
312
312
|
str += getBlockBindings(node);
|
|
313
|
-
if (
|
|
313
|
+
if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(node.name)) {
|
|
314
314
|
return str + ' />';
|
|
315
315
|
}
|
|
316
316
|
str += '>';
|
|
@@ -105,7 +105,7 @@ var componentToVue = function (userOptions) {
|
|
|
105
105
|
return function (_a) {
|
|
106
106
|
var _b, _c, _d, _e, _f, _g, _h;
|
|
107
107
|
var component = _a.component, path = _a.path;
|
|
108
|
-
var options = (0, merge_options_1.
|
|
108
|
+
var options = (0, merge_options_1.initializeOptions)((userOptions === null || userOptions === void 0 ? void 0 : userOptions.vueVersion) === 2 ? 'vue2' : 'vue3', BASE_OPTIONS, userOptions);
|
|
109
109
|
options.plugins.unshift((0, process_code_1.CODE_PROCESSOR_PLUGIN)(function (codeType) {
|
|
110
110
|
if (options.api === 'composition') {
|
|
111
111
|
switch (codeType) {
|
|
@@ -121,6 +121,7 @@ var componentToVue = function (userOptions) {
|
|
|
121
121
|
return (0, replace_identifiers_1.replaceStateIdentifier)(null);
|
|
122
122
|
case 'properties':
|
|
123
123
|
case 'dynamic-jsx-elements':
|
|
124
|
+
case 'types':
|
|
124
125
|
return function (c) { return c; };
|
|
125
126
|
}
|
|
126
127
|
}
|
|
@@ -135,6 +136,7 @@ var componentToVue = function (userOptions) {
|
|
|
135
136
|
case 'properties':
|
|
136
137
|
case 'dynamic-jsx-elements':
|
|
137
138
|
case 'hooks-deps':
|
|
139
|
+
case 'types':
|
|
138
140
|
return function (c) { return c; };
|
|
139
141
|
case 'state':
|
|
140
142
|
return function (c) { return (0, helpers_1.processBinding)({ code: c, options: options, json: component }); };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { MitosisComponent } from '../types/mitosis-component';
|
|
2
2
|
import { MitosisContext } from '../types/mitosis-context';
|
|
3
|
+
declare type ValueMapper = (code: string, type: 'data' | 'function' | 'getter', typeParameter?: string, key?: string) => string;
|
|
3
4
|
interface GetStateObjectStringOptions {
|
|
4
5
|
data?: boolean;
|
|
5
6
|
functions?: boolean;
|
|
6
7
|
getters?: boolean;
|
|
7
|
-
valueMapper?:
|
|
8
|
+
valueMapper?: ValueMapper;
|
|
8
9
|
format?: 'object' | 'class' | 'variables';
|
|
9
10
|
keyPrefix?: string;
|
|
10
11
|
}
|
|
@@ -52,7 +52,7 @@ var convertStateMemberToString = function (_a) {
|
|
|
52
52
|
if (data === false) {
|
|
53
53
|
return undefined;
|
|
54
54
|
}
|
|
55
|
-
return "".concat(keyPrefix, " ").concat(key).concat(keyValueDelimiter, " ").concat(valueMapper(code, 'data', typeParameter));
|
|
55
|
+
return "".concat(keyPrefix, " ").concat(key).concat(keyValueDelimiter, " ").concat(valueMapper(code, 'data', typeParameter, key));
|
|
56
56
|
}
|
|
57
57
|
default:
|
|
58
58
|
break;
|
|
@@ -6,7 +6,7 @@ function handleMissingState(json) {
|
|
|
6
6
|
var stateUsed = (0, get_state_used_1.getStateUsed)(json);
|
|
7
7
|
Array.from(stateUsed).forEach(function (property) {
|
|
8
8
|
if (!(property in json.state)) {
|
|
9
|
-
json.state[property] = { code: 'null', type: 'property' };
|
|
9
|
+
json.state[property] = { code: 'null', type: 'property', propertyType: 'normal' };
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
}
|