@base44-preview/vite-plugin 0.2.26-pr.43.e9195be → 0.2.27-pr.41.77be9cb
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/capabilities/inline-edit/controller.d.ts +3 -0
- package/dist/capabilities/inline-edit/controller.d.ts.map +1 -0
- package/dist/capabilities/inline-edit/controller.js +194 -0
- package/dist/capabilities/inline-edit/controller.js.map +1 -0
- package/dist/capabilities/inline-edit/dom-utils.d.ts +6 -0
- package/dist/capabilities/inline-edit/dom-utils.d.ts.map +1 -0
- package/dist/capabilities/inline-edit/dom-utils.js +49 -0
- package/dist/capabilities/inline-edit/dom-utils.js.map +1 -0
- package/dist/capabilities/inline-edit/index.d.ts +3 -0
- package/dist/capabilities/inline-edit/index.d.ts.map +1 -0
- package/dist/capabilities/inline-edit/index.js +2 -0
- package/dist/capabilities/inline-edit/index.js.map +1 -0
- package/dist/capabilities/inline-edit/types.d.ts +25 -0
- package/dist/capabilities/inline-edit/types.d.ts.map +1 -0
- package/dist/capabilities/inline-edit/types.js.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/core.d.ts +25 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/core.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/core.js +95 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/core.js.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/index.d.ts +4 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/index.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/index.js +4 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/index.js.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/styles.d.ts +9 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/styles.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/styles.js +26 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/styles.js.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/validation.d.ts +17 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/validation.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/validation.js +76 -0
- package/dist/injections/visual-edit-agent/capabilities/inline-editing/validation.js.map +1 -0
- package/dist/injections/visual-edit-agent/constants.d.ts +10 -0
- package/dist/injections/visual-edit-agent/constants.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/constants.js +10 -0
- package/dist/injections/visual-edit-agent/constants.js.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/click-handlers.d.ts +10 -0
- package/dist/injections/visual-edit-agent/handlers/click-handlers.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/click-handlers.js +117 -0
- package/dist/injections/visual-edit-agent/handlers/click-handlers.js.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/hover-handlers.d.ts +14 -0
- package/dist/injections/visual-edit-agent/handlers/hover-handlers.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/hover-handlers.js +64 -0
- package/dist/injections/visual-edit-agent/handlers/hover-handlers.js.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/inline-edit-handlers.d.ts +14 -0
- package/dist/injections/visual-edit-agent/handlers/inline-edit-handlers.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/inline-edit-handlers.js +114 -0
- package/dist/injections/visual-edit-agent/handlers/inline-edit-handlers.js.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/message-handlers.d.ts +26 -0
- package/dist/injections/visual-edit-agent/handlers/message-handlers.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/message-handlers.js +148 -0
- package/dist/injections/visual-edit-agent/handlers/message-handlers.js.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.d.ts +7 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.js +54 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.js.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-visual-edit-mode.d.ts +11 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-visual-edit-mode.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-visual-edit-mode.js +32 -0
- package/dist/injections/visual-edit-agent/handlers/messages/toggle-visual-edit-mode.js.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/messages/types.d.ts +105 -0
- package/dist/injections/visual-edit-agent/handlers/messages/types.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/handlers/messages/types.js +28 -0
- package/dist/injections/visual-edit-agent/handlers/messages/types.js.map +1 -0
- package/dist/injections/visual-edit-agent/index.d.ts +6 -0
- package/dist/injections/visual-edit-agent/index.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/index.js +109 -0
- package/dist/injections/visual-edit-agent/index.js.map +1 -0
- package/dist/injections/visual-edit-agent/state/agent-state.d.ts +17 -0
- package/dist/injections/visual-edit-agent/state/agent-state.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/state/agent-state.js +18 -0
- package/dist/injections/visual-edit-agent/state/agent-state.js.map +1 -0
- package/dist/injections/visual-edit-agent/ui/overlay.d.ts +26 -0
- package/dist/injections/visual-edit-agent/ui/overlay.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/ui/overlay.js +104 -0
- package/dist/injections/visual-edit-agent/ui/overlay.js.map +1 -0
- package/dist/injections/visual-edit-agent/utils/dom-utils.d.ts +14 -0
- package/dist/injections/visual-edit-agent/utils/dom-utils.d.ts.map +1 -0
- package/dist/injections/visual-edit-agent/utils/dom-utils.js +34 -0
- package/dist/injections/visual-edit-agent/utils/dom-utils.js.map +1 -0
- package/dist/injections/visual-edit-agent.d.ts +1 -1
- package/dist/injections/visual-edit-agent.d.ts.map +1 -1
- package/dist/injections/visual-edit-agent.js +1 -506
- package/dist/injections/visual-edit-agent.js.map +1 -1
- package/dist/jsx-processor.d.ts +1 -4
- package/dist/jsx-processor.d.ts.map +1 -1
- package/dist/jsx-processor.js +6 -33
- package/dist/jsx-processor.js.map +1 -1
- package/dist/jsx-utils.d.ts +0 -9
- package/dist/jsx-utils.d.ts.map +1 -1
- package/dist/jsx-utils.js +0 -86
- package/dist/jsx-utils.js.map +1 -1
- package/dist/processors/shared-utils.d.ts +0 -64
- package/dist/processors/shared-utils.d.ts.map +1 -1
- package/dist/processors/shared-utils.js +0 -468
- package/dist/processors/shared-utils.js.map +1 -1
- package/dist/processors/static-array-processor.d.ts +3 -2
- package/dist/processors/static-array-processor.d.ts.map +1 -1
- package/dist/processors/static-array-processor.js +3 -2
- package/dist/processors/static-array-processor.js.map +1 -1
- package/dist/statics/index.mjs +5 -1
- package/dist/statics/index.mjs.map +1 -1
- package/dist/visual-edit-plugin.d.ts +1 -0
- package/dist/visual-edit-plugin.d.ts.map +1 -1
- package/dist/visual-edit-plugin.js +178 -29
- package/dist/visual-edit-plugin.js.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/inline-edit/controller.ts +245 -0
- package/src/capabilities/inline-edit/dom-utils.ts +48 -0
- package/src/capabilities/inline-edit/index.ts +2 -0
- package/src/capabilities/inline-edit/types.ts +30 -0
- package/src/injections/visual-edit-agent/README.md +222 -0
- package/src/injections/visual-edit-agent/capabilities/inline-editing/core.ts +120 -0
- package/src/injections/visual-edit-agent/capabilities/inline-editing/index.ts +10 -0
- package/src/injections/visual-edit-agent/capabilities/inline-editing/styles.ts +26 -0
- package/src/injections/visual-edit-agent/capabilities/inline-editing/validation.ts +87 -0
- package/src/injections/visual-edit-agent/constants.ts +9 -0
- package/src/injections/visual-edit-agent/handlers/click-handlers.ts +146 -0
- package/src/injections/visual-edit-agent/handlers/hover-handlers.ts +78 -0
- package/src/injections/visual-edit-agent/handlers/inline-edit-handlers.ts +146 -0
- package/src/injections/visual-edit-agent/handlers/message-handlers.ts +201 -0
- package/src/injections/visual-edit-agent/handlers/messages/toggle-inline-edit-mode.ts +65 -0
- package/src/injections/visual-edit-agent/handlers/messages/toggle-visual-edit-mode.ts +40 -0
- package/src/injections/visual-edit-agent/handlers/messages/types.ts +134 -0
- package/src/injections/visual-edit-agent/index.ts +121 -0
- package/src/injections/visual-edit-agent/state/agent-state.ts +31 -0
- package/src/injections/visual-edit-agent/ui/overlay.ts +126 -0
- package/src/injections/visual-edit-agent/utils/dom-utils.ts +39 -0
- package/src/injections/visual-edit-agent.ts +1 -625
- package/src/jsx-processor.ts +14 -41
- package/src/jsx-utils.ts +0 -116
- package/src/processors/shared-utils.ts +0 -596
- package/src/processors/static-array-processor.ts +3 -6
- package/src/visual-edit-plugin.ts +215 -34
- package/dist/consts.d.ts +0 -12
- package/dist/consts.d.ts.map +0 -1
- package/dist/consts.js +0 -12
- package/dist/consts.js.map +0 -1
- package/dist/processors/collection-id-processor.d.ts +0 -20
- package/dist/processors/collection-id-processor.d.ts.map +0 -1
- package/dist/processors/collection-id-processor.js +0 -182
- package/dist/processors/collection-id-processor.js.map +0 -1
- package/dist/processors/collection-item-field-processor.d.ts +0 -33
- package/dist/processors/collection-item-field-processor.d.ts.map +0 -1
- package/dist/processors/collection-item-field-processor.js +0 -275
- package/dist/processors/collection-item-field-processor.js.map +0 -1
- package/dist/processors/collection-item-id-processor.d.ts +0 -12
- package/dist/processors/collection-item-id-processor.d.ts.map +0 -1
- package/dist/processors/collection-item-id-processor.js +0 -50
- package/dist/processors/collection-item-id-processor.js.map +0 -1
- package/dist/processors/collection-reference-field-processor.d.ts +0 -31
- package/dist/processors/collection-reference-field-processor.d.ts.map +0 -1
- package/dist/processors/collection-reference-field-processor.js +0 -174
- package/dist/processors/collection-reference-field-processor.js.map +0 -1
- package/dist/processors/collection-tracing-utils.d.ts +0 -31
- package/dist/processors/collection-tracing-utils.d.ts.map +0 -1
- package/dist/processors/collection-tracing-utils.js +0 -326
- package/dist/processors/collection-tracing-utils.js.map +0 -1
- package/dist/types.d.ts +0 -5
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/consts.ts +0 -12
- package/src/processors/collection-id-processor.ts +0 -261
- package/src/processors/collection-item-field-processor.ts +0 -410
- package/src/processors/collection-item-id-processor.ts +0 -69
- package/src/processors/collection-reference-field-processor.ts +0 -225
- package/src/processors/collection-tracing-utils.ts +0 -436
- package/src/types.ts +0 -4
- /package/dist/{types.js → capabilities/inline-edit/types.js} +0 -0
package/src/jsx-processor.ts
CHANGED
|
@@ -1,26 +1,14 @@
|
|
|
1
1
|
import type { NodePath } from "@babel/traverse";
|
|
2
2
|
import type * as t from "@babel/types";
|
|
3
|
-
import { CollectionIdProcessor } from "./processors/collection-id-processor.js";
|
|
4
|
-
import { ReferenceFieldProcessor } from "./processors/collection-reference-field-processor.js";
|
|
5
|
-
import { DataItemIdProcessor } from "./processors/collection-item-id-processor.js";
|
|
6
|
-
import { DataItemFieldProcessor } from "./processors/collection-item-field-processor.js";
|
|
7
3
|
import { StaticArrayProcessor } from "./processors/static-array-processor.js";
|
|
8
4
|
|
|
9
5
|
export class JSXProcessor {
|
|
10
|
-
private collectionIdProcessor: CollectionIdProcessor;
|
|
11
|
-
private referenceFieldProcessor: ReferenceFieldProcessor;
|
|
12
|
-
private dataItemIdProcessor: DataItemIdProcessor;
|
|
13
|
-
private dataItemFieldProcessor: DataItemFieldProcessor;
|
|
14
6
|
private staticArrayProcessor: StaticArrayProcessor;
|
|
15
7
|
|
|
16
8
|
constructor(
|
|
17
9
|
private types: typeof t,
|
|
18
10
|
private filename: string
|
|
19
11
|
) {
|
|
20
|
-
this.collectionIdProcessor = new CollectionIdProcessor(types);
|
|
21
|
-
this.referenceFieldProcessor = new ReferenceFieldProcessor(types);
|
|
22
|
-
this.dataItemIdProcessor = new DataItemIdProcessor(types);
|
|
23
|
-
this.dataItemFieldProcessor = new DataItemFieldProcessor(types);
|
|
24
12
|
this.staticArrayProcessor = new StaticArrayProcessor(types);
|
|
25
13
|
}
|
|
26
14
|
|
|
@@ -29,13 +17,8 @@ export class JSXProcessor {
|
|
|
29
17
|
|
|
30
18
|
this.addSourceLocationAttribute(path);
|
|
31
19
|
this.addDynamicContentAttribute(path);
|
|
32
|
-
|
|
33
|
-
this.collectionIdProcessor.process(path);
|
|
34
|
-
this.referenceFieldProcessor.process(path);
|
|
35
|
-
this.dataItemIdProcessor.process(path);
|
|
36
|
-
this.dataItemFieldProcessor.process(path);
|
|
20
|
+
this.addContentEditableAttribute(path);
|
|
37
21
|
this.staticArrayProcessor.process(path);
|
|
38
|
-
|
|
39
22
|
}
|
|
40
23
|
|
|
41
24
|
private addSourceLocationAttribute(
|
|
@@ -44,7 +27,7 @@ export class JSXProcessor {
|
|
|
44
27
|
const { line, column } = path.node.loc?.start || { line: 1, column: 0 };
|
|
45
28
|
const value = `${this.filename}:${line}:${column}`;
|
|
46
29
|
|
|
47
|
-
path.node.attributes.
|
|
30
|
+
path.node.attributes.push(
|
|
48
31
|
this.types.jsxAttribute(
|
|
49
32
|
this.types.jsxIdentifier("data-source-location"),
|
|
50
33
|
this.types.stringLiteral(value)
|
|
@@ -62,16 +45,7 @@ export class JSXProcessor {
|
|
|
62
45
|
parentElement.node as t.JSXElement
|
|
63
46
|
);
|
|
64
47
|
|
|
65
|
-
|
|
66
|
-
(attr) =>
|
|
67
|
-
this.types.isJSXAttribute(attr) &&
|
|
68
|
-
this.types.isJSXIdentifier(attr.name) &&
|
|
69
|
-
attr.name.name === "data-source-location"
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
path.node.attributes.splice(
|
|
73
|
-
sourceLocIdx + 1,
|
|
74
|
-
0,
|
|
48
|
+
path.node.attributes.push(
|
|
75
49
|
this.types.jsxAttribute(
|
|
76
50
|
this.types.jsxIdentifier("data-dynamic-content"),
|
|
77
51
|
this.types.stringLiteral(isDynamic ? "true" : "false")
|
|
@@ -79,6 +53,17 @@ export class JSXProcessor {
|
|
|
79
53
|
);
|
|
80
54
|
}
|
|
81
55
|
|
|
56
|
+
private addContentEditableAttribute(
|
|
57
|
+
path: NodePath<t.JSXOpeningElement>
|
|
58
|
+
): void {
|
|
59
|
+
path.node.attributes.push(
|
|
60
|
+
this.types.jsxAttribute(
|
|
61
|
+
this.types.jsxIdentifier("content-editable"),
|
|
62
|
+
this.types.stringLiteral("true")
|
|
63
|
+
)
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
82
67
|
private hasAttribute(
|
|
83
68
|
path: NodePath<t.JSXOpeningElement>,
|
|
84
69
|
name: string
|
|
@@ -152,18 +137,6 @@ export class JSXProcessor {
|
|
|
152
137
|
}
|
|
153
138
|
};
|
|
154
139
|
|
|
155
|
-
const attributes = jsxElement.openingElement?.attributes || [];
|
|
156
|
-
for (const attr of attributes) {
|
|
157
|
-
if (hasDynamicContent) break;
|
|
158
|
-
if (this.types.isJSXSpreadAttribute(attr)) {
|
|
159
|
-
hasDynamicContent = true;
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
if (this.types.isJSXAttribute(attr) && attr.value) {
|
|
163
|
-
traverseNode(attr.value as unknown as Record<string, unknown>);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
140
|
for (const child of jsxElement.children) {
|
|
168
141
|
if (hasDynamicContent) break;
|
|
169
142
|
traverseNode(child as unknown as Record<string, unknown>);
|
package/src/jsx-utils.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type * as t from "@babel/types";
|
|
2
|
-
import { ALLOWED_CUSTOM_COMPONENTS } from "./consts.js";
|
|
3
2
|
|
|
4
3
|
export class JSXUtils {
|
|
5
4
|
private static types: typeof t;
|
|
@@ -13,119 +12,4 @@ export class JSXUtils {
|
|
|
13
12
|
? `${attr.name.namespace.name}:${attr.name.name.name}`
|
|
14
13
|
: attr.name.name;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
static getElementName(node: t.JSXOpeningElement): string | null {
|
|
18
|
-
const name = node.name;
|
|
19
|
-
|
|
20
|
-
if (this.types.isJSXIdentifier(name)) {
|
|
21
|
-
return name.name;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (this.types.isJSXNamespacedName(name)) {
|
|
25
|
-
return `${name.namespace.name}:${name.name.name}`;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (this.types.isJSXMemberExpression(name)) {
|
|
29
|
-
return this.collectJSXMemberName(name);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
private static collectJSXMemberName(
|
|
36
|
-
node: t.JSXMemberExpression
|
|
37
|
-
): string {
|
|
38
|
-
const parts: string[] = [node.property.name];
|
|
39
|
-
let current: t.JSXMemberExpression["object"] = node.object;
|
|
40
|
-
|
|
41
|
-
while (this.types.isJSXMemberExpression(current)) {
|
|
42
|
-
parts.unshift(current.property.name);
|
|
43
|
-
current = current.object;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (this.types.isJSXIdentifier(current)) {
|
|
47
|
-
parts.unshift(current.name);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return parts.join(".");
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
static isCustomComponent(name: string): boolean {
|
|
54
|
-
return name.length > 0 && name.charAt(0) === name.charAt(0).toUpperCase();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
static isAllowedCustomComponent(name: string): boolean {
|
|
58
|
-
return ALLOWED_CUSTOM_COMPONENTS.includes(name);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
static isDOMElement(name: string): boolean {
|
|
62
|
-
return name.length > 0 && name.charAt(0) === name.charAt(0).toLowerCase();
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
static isDOMOrAllowed(name: string): boolean {
|
|
66
|
-
return this.isDOMElement(name) || this.isAllowedCustomComponent(name);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
static producesJSX(node: t.Expression | t.Node): boolean {
|
|
70
|
-
const types = this.types;
|
|
71
|
-
|
|
72
|
-
if (types.isJSXElement(node) || types.isJSXFragment(node)) return true;
|
|
73
|
-
|
|
74
|
-
if (types.isConditionalExpression(node)) {
|
|
75
|
-
return (
|
|
76
|
-
this.producesJSX(node.consequent) || this.producesJSX(node.alternate)
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (types.isLogicalExpression(node)) {
|
|
81
|
-
return this.producesJSX(node.left) || this.producesJSX(node.right);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (types.isCallExpression(node)) {
|
|
85
|
-
if (types.isMemberExpression(node.callee)) {
|
|
86
|
-
const prop = node.callee.property;
|
|
87
|
-
if (
|
|
88
|
-
types.isIdentifier(prop) &&
|
|
89
|
-
(prop.name === "map" || prop.name === "flatMap")
|
|
90
|
-
) {
|
|
91
|
-
const callback = node.arguments[0];
|
|
92
|
-
if (callback) return this.callbackProducesJSX(callback);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
if (types.isParenthesizedExpression(node)) {
|
|
98
|
-
return this.producesJSX(node.expression);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
private static callbackProducesJSX(
|
|
105
|
-
callback: t.Expression | t.SpreadElement | t.ArgumentPlaceholder
|
|
106
|
-
): boolean {
|
|
107
|
-
const types = this.types;
|
|
108
|
-
|
|
109
|
-
if (types.isArrowFunctionExpression(callback)) {
|
|
110
|
-
if (types.isBlockStatement(callback.body)) {
|
|
111
|
-
return this.doesBlockReturnJSX(callback.body);
|
|
112
|
-
}
|
|
113
|
-
return this.producesJSX(callback.body);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (types.isFunctionExpression(callback)) {
|
|
117
|
-
return this.doesBlockReturnJSX(callback.body);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
static doesBlockReturnJSX(block: t.BlockStatement): boolean {
|
|
124
|
-
for (const stmt of block.body) {
|
|
125
|
-
if (this.types.isReturnStatement(stmt) && stmt.argument) {
|
|
126
|
-
if (this.producesJSX(stmt.argument)) return true;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
15
|
}
|