babel-plugin-wallace 0.16.0 → 0.17.1
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/consolidation/ComponentDefinitionData.d.ts +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/contexts/parameters.js +1 -0
- package/dist/contexts/parameters.js.map +1 -1
- package/dist/directives.d.ts +3 -3
- package/dist/directives.js +85 -47
- package/dist/directives.js.map +1 -1
- package/dist/errors.d.ts +9 -5
- package/dist/errors.js +23 -12
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/models/component.d.ts +9 -1
- package/dist/models/component.js +3 -0
- package/dist/models/component.js.map +1 -1
- package/dist/models/directive.d.ts +20 -11
- package/dist/models/directive.js +94 -34
- package/dist/models/directive.js.map +1 -1
- package/dist/models/index.d.ts +4 -5
- package/dist/models/index.js +7 -5
- package/dist/models/index.js.map +1 -1
- package/dist/writers/defineComponent.js +47 -1
- package/dist/writers/defineComponent.js.map +1 -1
- package/package.json +2 -2
|
@@ -19,7 +19,7 @@ export declare class ComponentDefinitionData {
|
|
|
19
19
|
html: Expression;
|
|
20
20
|
watches: Array<ComponentWatch>;
|
|
21
21
|
dynamicElements: Expression[];
|
|
22
|
-
baseComponent
|
|
22
|
+
baseComponent?: Expression;
|
|
23
23
|
lookups: Map<number, ArrowFunctionExpression>;
|
|
24
24
|
refs: string[];
|
|
25
25
|
parts: Array<Part>;
|
package/dist/constants.d.ts
CHANGED
|
@@ -12,7 +12,8 @@ export declare enum IMPORTABLES {
|
|
|
12
12
|
onEvent = "onEvent",
|
|
13
13
|
SequentialRepeater = "SequentialRepeater",
|
|
14
14
|
KeyedRepeater = "KeyedRepeater",
|
|
15
|
-
toDateString = "toDateString"
|
|
15
|
+
toDateString = "toDateString",
|
|
16
|
+
watch = "watch"
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* The names allowed in xargs.
|
package/dist/constants.js
CHANGED
|
@@ -17,6 +17,7 @@ var IMPORTABLES;
|
|
|
17
17
|
IMPORTABLES["SequentialRepeater"] = "SequentialRepeater";
|
|
18
18
|
IMPORTABLES["KeyedRepeater"] = "KeyedRepeater";
|
|
19
19
|
IMPORTABLES["toDateString"] = "toDateString";
|
|
20
|
+
IMPORTABLES["watch"] = "watch";
|
|
20
21
|
})(IMPORTABLES || (exports.IMPORTABLES = IMPORTABLES = {}));
|
|
21
22
|
/**
|
|
22
23
|
* The names allowed in xargs.
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,6 +103,7 @@ function extractFinalPropsName(path) {
|
|
|
103
103
|
}
|
|
104
104
|
return propVariableMap;
|
|
105
105
|
}
|
|
106
|
+
// TODO: this really needs to be done on a per-directive basis as it can vary.
|
|
106
107
|
function mapAndRenameXargs(path, component) {
|
|
107
108
|
const renameMapping = {};
|
|
108
109
|
renameMapping[constants_1.XARGS.event] = constants_1.XARGS.event;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/contexts/parameters.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/contexts/parameters.ts"],"names":[],"mappings":"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"}
|
package/dist/directives.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Directive, TagNode, NodeValue, Qualifier } from "./models";
|
|
1
|
+
import { Directive, TagNode, NodeValue, Qualifier, ValueMode, QualifierMode } from "./models";
|
|
2
2
|
declare class ApplyDirective extends Directive {
|
|
3
3
|
static attributeName: string;
|
|
4
|
-
static
|
|
5
|
-
static
|
|
4
|
+
static valueMode: ValueMode;
|
|
5
|
+
static qualifierMode: QualifierMode;
|
|
6
6
|
static mayAccessElement: boolean;
|
|
7
7
|
apply(node: TagNode, value: NodeValue, _qualifier: Qualifier, _base: string): void;
|
|
8
8
|
}
|
package/dist/directives.js
CHANGED
|
@@ -20,16 +20,26 @@ class ApplyDirective extends models_1.Directive {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
ApplyDirective.attributeName = "apply";
|
|
23
|
-
ApplyDirective.
|
|
24
|
-
ApplyDirective.
|
|
23
|
+
ApplyDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
24
|
+
ApplyDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
25
25
|
ApplyDirective.mayAccessElement = true;
|
|
26
|
+
class AssignDirective extends models_1.Directive {
|
|
27
|
+
apply(node, value, qualifier, _base) {
|
|
28
|
+
node.component.assignTo = value.expression || value.value;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
AssignDirective.attributeName = "assign";
|
|
32
|
+
AssignDirective.valueMode = models_1.ValueMode.EitherRequired;
|
|
33
|
+
AssignDirective.qualifierMode = models_1.QualifierMode.SetsValue;
|
|
34
|
+
AssignDirective.mustBeOnRoot = true;
|
|
26
35
|
class BindDirective extends models_1.Directive {
|
|
27
36
|
apply(node, value, qualifier, _base) {
|
|
28
37
|
node.setBindInstruction(value.expression, qualifier);
|
|
29
38
|
}
|
|
30
39
|
}
|
|
31
40
|
BindDirective.attributeName = "bind";
|
|
32
|
-
BindDirective.
|
|
41
|
+
BindDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
42
|
+
BindDirective.qualifierMode = models_1.QualifierMode.Optional;
|
|
33
43
|
class ClassDirective extends models_1.Directive {
|
|
34
44
|
apply(node, value, qualifier, base) {
|
|
35
45
|
if (qualifier) {
|
|
@@ -47,14 +57,16 @@ class ClassDirective extends models_1.Directive {
|
|
|
47
57
|
}
|
|
48
58
|
}
|
|
49
59
|
ClassDirective.attributeName = "class";
|
|
50
|
-
ClassDirective.
|
|
51
|
-
ClassDirective.
|
|
60
|
+
ClassDirective.valueMode = models_1.ValueMode.EitherRequired;
|
|
61
|
+
ClassDirective.qualifierMode = models_1.QualifierMode.Optional;
|
|
52
62
|
class CssDirective extends models_1.Directive {
|
|
53
63
|
apply(node, value, _qualifier, _base) {
|
|
54
64
|
node.addStaticAttribute("class", value.expression);
|
|
55
65
|
}
|
|
56
66
|
}
|
|
57
67
|
CssDirective.attributeName = "css";
|
|
68
|
+
CssDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
69
|
+
CssDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
58
70
|
CssDirective.mayAccessComponent = false;
|
|
59
71
|
class CtrlDirective extends models_1.Directive {
|
|
60
72
|
apply(node, value, _qualifier, _base) {
|
|
@@ -63,25 +75,11 @@ class CtrlDirective extends models_1.Directive {
|
|
|
63
75
|
}
|
|
64
76
|
}
|
|
65
77
|
CtrlDirective.attributeName = "ctrl";
|
|
78
|
+
CtrlDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
79
|
+
CtrlDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
66
80
|
CtrlDirective.allowOnNested = true;
|
|
67
81
|
CtrlDirective.allowOnRepeated = true;
|
|
68
82
|
CtrlDirective.allowOnNormalElement = false;
|
|
69
|
-
/**
|
|
70
|
-
* This is a hack to enable a Proxy of a Date to be passed to `valueAsDate`.
|
|
71
|
-
* It is not a documented directive.
|
|
72
|
-
*/
|
|
73
|
-
class ValueAsDateDirective extends models_1.Directive {
|
|
74
|
-
apply(node, value, _qualifier, _base) {
|
|
75
|
-
if (value.type === "expression") {
|
|
76
|
-
node.requiredImport(constants_1.IMPORTABLES.toDateString);
|
|
77
|
-
node.watchAttribute("value", t.callExpression(t.identifier(constants_1.IMPORTABLES.toDateString), [value.expression]));
|
|
78
|
-
}
|
|
79
|
-
else if (value.type === "string") {
|
|
80
|
-
node.addFixedAttribute("valueAsDate", value.value);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
ValueAsDateDirective.attributeName = "valueAsDate";
|
|
85
83
|
class EventDirective extends models_1.Directive {
|
|
86
84
|
apply(node, value, qualifier, _base) {
|
|
87
85
|
const eventName = qualifier || value.value;
|
|
@@ -92,35 +90,41 @@ class EventDirective extends models_1.Directive {
|
|
|
92
90
|
}
|
|
93
91
|
}
|
|
94
92
|
EventDirective.attributeName = "event";
|
|
95
|
-
EventDirective.
|
|
96
|
-
EventDirective.
|
|
97
|
-
EventDirective.requireQualifier = true;
|
|
93
|
+
EventDirective.valueMode = models_1.ValueMode.StringRequired;
|
|
94
|
+
EventDirective.qualifierMode = models_1.QualifierMode.SetsValue;
|
|
98
95
|
class FixedDirective extends models_1.Directive {
|
|
99
96
|
apply(node, value, qualifier, _base) {
|
|
100
97
|
node.addStaticAttribute(qualifier, value.expression);
|
|
101
98
|
}
|
|
102
99
|
}
|
|
103
100
|
FixedDirective.attributeName = "fixed";
|
|
104
|
-
FixedDirective.
|
|
101
|
+
FixedDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
102
|
+
FixedDirective.qualifierMode = models_1.QualifierMode.Required;
|
|
105
103
|
FixedDirective.mayAccessComponent = false;
|
|
106
104
|
class HideDirective extends models_1.Directive {
|
|
107
105
|
apply(node, value, _qualifier, _base) {
|
|
108
|
-
node.setVisibilityToggle(value.expression,
|
|
106
|
+
node.setVisibilityToggle(value.expression, true, false);
|
|
109
107
|
}
|
|
110
108
|
}
|
|
111
109
|
HideDirective.attributeName = "hide";
|
|
110
|
+
HideDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
111
|
+
HideDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
112
112
|
class HtmlDirective extends models_1.Directive {
|
|
113
113
|
apply(node, value, _qualifier, _base) {
|
|
114
114
|
node.watchAttribute("innerHTML", value.expression);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
HtmlDirective.attributeName = "html";
|
|
118
|
+
HtmlDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
119
|
+
HtmlDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
118
120
|
class IfDirective extends models_1.Directive {
|
|
119
121
|
apply(node, value, _qualifier, _base) {
|
|
120
|
-
node.setVisibilityToggle(value.expression,
|
|
122
|
+
node.setVisibilityToggle(value.expression, false, true);
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
125
|
IfDirective.attributeName = "if";
|
|
126
|
+
IfDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
127
|
+
IfDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
124
128
|
IfDirective.allowOnNested = true;
|
|
125
129
|
class KeyDirective extends models_1.Directive {
|
|
126
130
|
apply(node, value, _qualifier, _base) {
|
|
@@ -128,9 +132,11 @@ class KeyDirective extends models_1.Directive {
|
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
134
|
KeyDirective.attributeName = "key";
|
|
131
|
-
KeyDirective.
|
|
135
|
+
KeyDirective.valueMode = models_1.ValueMode.EitherRequired;
|
|
136
|
+
KeyDirective.qualifierMode = models_1.QualifierMode.SetsValue;
|
|
132
137
|
KeyDirective.allowOnRepeated = true;
|
|
133
138
|
KeyDirective.allowOnNormalElement = false;
|
|
139
|
+
// TODO: change to be on:click
|
|
134
140
|
class OnEventDirective extends models_1.Directive {
|
|
135
141
|
apply(node, value, _qualifier, base) {
|
|
136
142
|
if (value.type === "string") {
|
|
@@ -142,46 +148,49 @@ class OnEventDirective extends models_1.Directive {
|
|
|
142
148
|
}
|
|
143
149
|
}
|
|
144
150
|
OnEventDirective.attributeName = "on*";
|
|
145
|
-
OnEventDirective.
|
|
151
|
+
OnEventDirective.valueMode = models_1.ValueMode.EitherRequired;
|
|
152
|
+
OnEventDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
146
153
|
OnEventDirective.mayAccessElement = true;
|
|
147
154
|
OnEventDirective.mayAccessEvent = true;
|
|
148
155
|
class PartDirective extends models_1.Directive {
|
|
149
|
-
apply(node,
|
|
156
|
+
apply(node, value, qualifier, _base) {
|
|
150
157
|
config_1.wallaceConfig.ensureFlagIstrue(node.path, config_1.FlagValue.allowParts);
|
|
151
|
-
node.setPart(qualifier);
|
|
158
|
+
node.setPart(qualifier || value.value);
|
|
152
159
|
}
|
|
153
160
|
}
|
|
154
161
|
PartDirective.attributeName = "part";
|
|
162
|
+
PartDirective.valueMode = models_1.ValueMode.StringRequired;
|
|
163
|
+
PartDirective.qualifierMode = models_1.QualifierMode.SetsValue;
|
|
155
164
|
PartDirective.allowOnNested = true;
|
|
156
165
|
PartDirective.allowOnRepeated = true;
|
|
157
|
-
PartDirective.allowNull = true;
|
|
158
|
-
PartDirective.allowExpression = false;
|
|
159
|
-
PartDirective.requireQualifier = true;
|
|
160
166
|
class PropsDirective extends models_1.Directive {
|
|
161
167
|
apply(node, value, _qualifier, _base) {
|
|
162
168
|
node.setProps(value.expression);
|
|
163
169
|
}
|
|
164
170
|
}
|
|
165
171
|
PropsDirective.attributeName = "props";
|
|
172
|
+
PropsDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
173
|
+
PropsDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
166
174
|
PropsDirective.allowOnNested = true;
|
|
167
175
|
PropsDirective.allowOnRepeated = true;
|
|
168
176
|
PropsDirective.allowOnNormalElement = false;
|
|
169
177
|
class RefDirective extends models_1.Directive {
|
|
170
|
-
apply(node,
|
|
171
|
-
node.setRef(qualifier);
|
|
178
|
+
apply(node, value, qualifier, _base) {
|
|
179
|
+
node.setRef(qualifier || value.value);
|
|
172
180
|
}
|
|
173
181
|
}
|
|
174
182
|
RefDirective.attributeName = "ref";
|
|
183
|
+
RefDirective.valueMode = models_1.ValueMode.StringRequired;
|
|
184
|
+
RefDirective.qualifierMode = models_1.QualifierMode.SetsValue;
|
|
175
185
|
RefDirective.allowOnNested = true;
|
|
176
|
-
RefDirective.allowNull = true;
|
|
177
|
-
RefDirective.allowExpression = false;
|
|
178
|
-
RefDirective.requireQualifier = true;
|
|
179
186
|
class ShowDirective extends models_1.Directive {
|
|
180
187
|
apply(node, value, _qualifier, _base) {
|
|
181
|
-
node.setVisibilityToggle(value.expression,
|
|
188
|
+
node.setVisibilityToggle(value.expression, false, false);
|
|
182
189
|
}
|
|
183
190
|
}
|
|
184
191
|
ShowDirective.attributeName = "show";
|
|
192
|
+
ShowDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
193
|
+
ShowDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
185
194
|
class StyleDirective extends models_1.Directive {
|
|
186
195
|
apply(node, value, qualifier, base) {
|
|
187
196
|
if (qualifier) {
|
|
@@ -203,8 +212,8 @@ class StyleDirective extends models_1.Directive {
|
|
|
203
212
|
}
|
|
204
213
|
}
|
|
205
214
|
StyleDirective.attributeName = "style";
|
|
206
|
-
StyleDirective.
|
|
207
|
-
StyleDirective.
|
|
215
|
+
StyleDirective.valueMode = models_1.ValueMode.EitherRequired;
|
|
216
|
+
StyleDirective.qualifierMode = models_1.QualifierMode.Optional;
|
|
208
217
|
class ToggleDirective extends models_1.Directive {
|
|
209
218
|
apply(node, value, qualifier, _base) {
|
|
210
219
|
if (!qualifier) {
|
|
@@ -214,22 +223,49 @@ class ToggleDirective extends models_1.Directive {
|
|
|
214
223
|
}
|
|
215
224
|
}
|
|
216
225
|
ToggleDirective.attributeName = "toggle";
|
|
217
|
-
ToggleDirective.
|
|
226
|
+
ToggleDirective.valueMode = models_1.ValueMode.ExpressionRequired;
|
|
227
|
+
ToggleDirective.qualifierMode = models_1.QualifierMode.Required;
|
|
218
228
|
class UniqueDirective extends models_1.Directive {
|
|
219
229
|
apply(node, _value, _qualifier, _base) {
|
|
220
230
|
node.component.unique = true;
|
|
221
231
|
}
|
|
222
232
|
}
|
|
223
233
|
UniqueDirective.attributeName = "unique";
|
|
224
|
-
UniqueDirective.
|
|
225
|
-
UniqueDirective.
|
|
234
|
+
UniqueDirective.valueMode = models_1.ValueMode.NotAllowed;
|
|
235
|
+
UniqueDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
236
|
+
UniqueDirective.mustBeOnRoot = true;
|
|
237
|
+
/**
|
|
238
|
+
* This is a hack to enable a Proxy of a Date to be passed to `valueAsDate`.
|
|
239
|
+
* It is not a documented directive.
|
|
240
|
+
*/
|
|
241
|
+
class ValueAsDateDirective extends models_1.Directive {
|
|
242
|
+
apply(node, value, _qualifier, _base) {
|
|
243
|
+
if (value.type === "expression") {
|
|
244
|
+
node.requiredImport(constants_1.IMPORTABLES.toDateString);
|
|
245
|
+
node.watchAttribute("value", t.callExpression(t.identifier(constants_1.IMPORTABLES.toDateString), [value.expression]));
|
|
246
|
+
}
|
|
247
|
+
else if (value.type === "string") {
|
|
248
|
+
node.addFixedAttribute("valueAsDate", value.value);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
ValueAsDateDirective.attributeName = "valueAsDate";
|
|
253
|
+
class WatchDirective extends models_1.Directive {
|
|
254
|
+
apply(node, value, _qualifier, _base) {
|
|
255
|
+
node.component.watchProps = { callback: value.expression };
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
WatchDirective.attributeName = "watch";
|
|
259
|
+
WatchDirective.valueMode = models_1.ValueMode.ExpressionOptional;
|
|
260
|
+
WatchDirective.qualifierMode = models_1.QualifierMode.NotAllowed;
|
|
261
|
+
WatchDirective.mustBeOnRoot = true;
|
|
226
262
|
exports.builtinDirectives = [
|
|
227
263
|
ApplyDirective,
|
|
264
|
+
AssignDirective,
|
|
228
265
|
BindDirective,
|
|
229
266
|
ClassDirective,
|
|
230
267
|
CssDirective,
|
|
231
268
|
CtrlDirective,
|
|
232
|
-
ValueAsDateDirective,
|
|
233
269
|
EventDirective,
|
|
234
270
|
FixedDirective,
|
|
235
271
|
HideDirective,
|
|
@@ -243,6 +279,8 @@ exports.builtinDirectives = [
|
|
|
243
279
|
ShowDirective,
|
|
244
280
|
StyleDirective,
|
|
245
281
|
ToggleDirective,
|
|
246
|
-
UniqueDirective
|
|
282
|
+
UniqueDirective,
|
|
283
|
+
ValueAsDateDirective,
|
|
284
|
+
WatchDirective
|
|
247
285
|
];
|
|
248
286
|
//# sourceMappingURL=directives.js.map
|
package/dist/directives.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../src/directives.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,kCAAkC;AAClC,qCAAoD;AACpD,qCAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../src/directives.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -5,18 +5,22 @@ export declare const ERROR_MESSAGES: {
|
|
|
5
5
|
CLASS_METHOD_MUST_BE_PROPERTY_JSX: string;
|
|
6
6
|
CAPITALISED_COMPONENT_NAME: string;
|
|
7
7
|
CANNOT_USE_IF_ON_ROOT_ELEMENT: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
CANNOT_USE_DIRECTIVE_WITHOUT_QUALIFIER: (directive: string) => string;
|
|
11
|
-
CANNOT_USE_DIRECTIVE_WITH_QUALIFIER: (directive: string) => string;
|
|
8
|
+
DIRECTIVE_NOT_ALLOWED_ON_NESTED_ELEMENT: (directive: string) => string;
|
|
9
|
+
DIRECTIVE_NOT_ALLOWED_ON_REPEATED_ELEMENT: (directive: string) => string;
|
|
12
10
|
DIRECTIVE_ALREADY_DEFINED: (directive: string) => string;
|
|
11
|
+
DIRECTIVE_REQUIRES_QUALIFIER: (directive: string) => string;
|
|
12
|
+
DIRECTIVE_DISALLOWS_QUALIFIER: (directive: string) => string;
|
|
13
13
|
DIRECTIVE_MAY_NOT_ACCESS_SCOPE_VAR: (directive: string, name: string) => string;
|
|
14
|
+
DIRECTIVE_REQUIRES_QUALIFIER_OR_VALUE: (directive: string) => string;
|
|
15
|
+
DIRECTIVE_EITHER_VALUE_REQUIRED: (directive: string) => string;
|
|
16
|
+
DIRECTIVE_VALUE_REQUIRED: (type: string, directive: string) => string;
|
|
17
|
+
DIRECTIVE_NO_VALUE_ALLOWED: (directive: string) => string;
|
|
18
|
+
DIRECTIVE_MUST_BE_ON_ROOT_ELEMENT: (directive: string) => string;
|
|
14
19
|
EVENT_USED_WITHOUT_BIND: string;
|
|
15
20
|
FLAG_REQUIRED: (flag: string) => string;
|
|
16
21
|
INVALID_TAG_FORMAT: string;
|
|
17
22
|
INVALID_EVENT_NAME: (event: string) => string;
|
|
18
23
|
NESTED_COMPONENT_MUST_BE_CAPTIALIZED: string;
|
|
19
|
-
DIRECTIVE_INVALID_TYPE: (directive: string, allowed: string[], actual: string) => string;
|
|
20
24
|
PLACEHOLDER_MAY_NOT_BE_LITERAL_OBJECT: string;
|
|
21
25
|
JSX_ELEMENTS_NOT_ALLOWED_IN_EXPRESSIONS: string;
|
|
22
26
|
UNSUPPORTED_ATTRIBUTE_VALUE: string;
|
package/dist/errors.js
CHANGED
|
@@ -10,25 +10,41 @@ exports.ERROR_MESSAGES = {
|
|
|
10
10
|
FOUND_JSX_IN_INVALID_LOCATION: "Found JSX in invalid location.",
|
|
11
11
|
CLASS_METHOD_MUST_BE_PROPERTY_JSX: "Function returning JSX in a class must be assigned to property 'jsx'",
|
|
12
12
|
CAPITALISED_COMPONENT_NAME: "Component name must be capitalized.",
|
|
13
|
+
// TODO: remove
|
|
13
14
|
CANNOT_USE_IF_ON_ROOT_ELEMENT: "Cannot use `if` directive on root element.",
|
|
14
|
-
|
|
15
|
+
DIRECTIVE_NOT_ALLOWED_ON_NESTED_ELEMENT: (directive) => {
|
|
15
16
|
return `The \`${directive}\` directive may not be used on nested elements.`;
|
|
16
17
|
},
|
|
17
|
-
|
|
18
|
+
DIRECTIVE_NOT_ALLOWED_ON_REPEATED_ELEMENT: (directive) => {
|
|
18
19
|
return `The \`${directive}\` directive may not be used on repeated elements.`;
|
|
19
20
|
},
|
|
20
|
-
|
|
21
|
+
DIRECTIVE_ALREADY_DEFINED: (directive) => {
|
|
22
|
+
return `The \`${directive}\` directive has already been defined on this node.`;
|
|
23
|
+
},
|
|
24
|
+
DIRECTIVE_REQUIRES_QUALIFIER: (directive) => {
|
|
21
25
|
return `The \`${directive}\` directive must have a qualifier.`;
|
|
22
26
|
},
|
|
23
|
-
|
|
27
|
+
DIRECTIVE_DISALLOWS_QUALIFIER: (directive) => {
|
|
24
28
|
return `The \`${directive}\` directive may not have a qualifier.`;
|
|
25
29
|
},
|
|
26
|
-
DIRECTIVE_ALREADY_DEFINED: (directive) => {
|
|
27
|
-
return `The \`${directive}\` directive has already been defined on this node.`;
|
|
28
|
-
},
|
|
29
30
|
DIRECTIVE_MAY_NOT_ACCESS_SCOPE_VAR: (directive, name) => {
|
|
30
31
|
return `The \`${directive}\` directive may not access scoped variable \`${name}\`.`;
|
|
31
32
|
},
|
|
33
|
+
DIRECTIVE_REQUIRES_QUALIFIER_OR_VALUE: (directive) => {
|
|
34
|
+
return `The \`${directive}\` directive requires a qualifier or value, not both.`;
|
|
35
|
+
},
|
|
36
|
+
DIRECTIVE_EITHER_VALUE_REQUIRED: (directive) => {
|
|
37
|
+
return `The \`${directive}\` directive requires a value.`;
|
|
38
|
+
},
|
|
39
|
+
DIRECTIVE_VALUE_REQUIRED: (type, directive) => {
|
|
40
|
+
return `The \`${directive}\` directive requires a value of type \`${type}\`.`;
|
|
41
|
+
},
|
|
42
|
+
DIRECTIVE_NO_VALUE_ALLOWED: (directive) => {
|
|
43
|
+
return `The \`${directive}\` directive does not allow a value.`;
|
|
44
|
+
},
|
|
45
|
+
DIRECTIVE_MUST_BE_ON_ROOT_ELEMENT: (directive) => {
|
|
46
|
+
return `The \`${directive}\` directive may only be used on the root element.`;
|
|
47
|
+
},
|
|
32
48
|
EVENT_USED_WITHOUT_BIND: "The `event` directive must be used with the `bind` directive.",
|
|
33
49
|
FLAG_REQUIRED: (flag) => {
|
|
34
50
|
return `Flag \`${flag}\` must be set to true in the config for this feature.`;
|
|
@@ -42,11 +58,6 @@ exports.ERROR_MESSAGES = {
|
|
|
42
58
|
`,
|
|
43
59
|
INVALID_EVENT_NAME: (event) => `\`${event}\` is not a valid event. Must be lowercase without \`on\` prefix. E.g. \`event:keyup\`.`,
|
|
44
60
|
NESTED_COMPONENT_MUST_BE_CAPTIALIZED: "Nested component must be capitalized.",
|
|
45
|
-
DIRECTIVE_INVALID_TYPE: (directive, allowed, actual) => {
|
|
46
|
-
return allowed.length
|
|
47
|
-
? `The \`${directive}\` directive value must be of type ${allowed.join(" or ")}. Found: ${actual}.`
|
|
48
|
-
: `The \`${directive}\` directive value must be of type ${allowed[0]}. Found: ${actual}.`;
|
|
49
|
-
},
|
|
50
61
|
PLACEHOLDER_MAY_NOT_BE_LITERAL_OBJECT: "Literal objects in placeholders not allowed as they will become constants.",
|
|
51
62
|
JSX_ELEMENTS_NOT_ALLOWED_IN_EXPRESSIONS: "JSX elements are not allowed in expressions.",
|
|
52
63
|
UNSUPPORTED_ATTRIBUTE_VALUE: "Attribute value must be a string or expression.",
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import "source-map-support/register.js";
|
|
2
2
|
import * as constants from "./constants";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
export { wallaceConfig } from "./config";
|
|
4
|
+
export { Directive, NodeValue, QualifierMode, ValueMode } from "./models";
|
|
5
5
|
import { wallacePlugin } from "./visitors/main";
|
|
6
6
|
export default wallacePlugin;
|
|
7
|
-
|
|
8
|
-
* These exports are for custom plugin development.
|
|
9
|
-
*/
|
|
10
|
-
export { wallaceConfig, Directive, NodeValue, constants };
|
|
7
|
+
export { constants };
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.constants = exports.Directive = exports.wallaceConfig = void 0;
|
|
3
|
+
exports.constants = exports.ValueMode = exports.QualifierMode = exports.Directive = exports.wallaceConfig = void 0;
|
|
4
4
|
require("source-map-support/register.js"); // Ensures correct line numbers in stack traces.
|
|
5
5
|
const constants = require("./constants");
|
|
6
6
|
exports.constants = constants;
|
|
7
|
-
|
|
7
|
+
var config_1 = require("./config");
|
|
8
8
|
Object.defineProperty(exports, "wallaceConfig", { enumerable: true, get: function () { return config_1.wallaceConfig; } });
|
|
9
|
-
|
|
9
|
+
var models_1 = require("./models");
|
|
10
10
|
Object.defineProperty(exports, "Directive", { enumerable: true, get: function () { return models_1.Directive; } });
|
|
11
|
+
Object.defineProperty(exports, "QualifierMode", { enumerable: true, get: function () { return models_1.QualifierMode; } });
|
|
12
|
+
Object.defineProperty(exports, "ValueMode", { enumerable: true, get: function () { return models_1.ValueMode; } });
|
|
11
13
|
const main_1 = require("./visitors/main");
|
|
12
14
|
exports.default = main_1.wallacePlugin;
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0CAAwC,CAAC,gDAAgD;AAEzF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0CAAwC,CAAC,gDAAgD;AAEzF,yCAAyC;AAMhC,8BAAS;AALlB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,mCAA0E;AAAjE,mGAAA,SAAS,OAAA;AAAa,uGAAA,aAAa,OAAA;AAAE,mGAAA,SAAS,OAAA;AACvD,0CAAgD;AAEhD,kBAAe,oBAAa,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { NodePath } from "@babel/core";
|
|
2
2
|
import type { Identifier, JSXElement, JSXExpressionContainer, JSXText, Expression } from "@babel/types";
|
|
3
|
+
import { LVal } from "@babel/types";
|
|
3
4
|
import type { Scope } from "@babel/traverse";
|
|
4
5
|
import { ExtractedNode, TagNode } from "./node";
|
|
5
6
|
import { Module } from "./module";
|
|
@@ -12,7 +13,7 @@ export declare class Component {
|
|
|
12
13
|
#private;
|
|
13
14
|
module: Module;
|
|
14
15
|
scope: Scope;
|
|
15
|
-
baseComponent
|
|
16
|
+
baseComponent?: Expression;
|
|
16
17
|
rootElement: HTMLElement;
|
|
17
18
|
extractedNodes: ExtractedNode[];
|
|
18
19
|
propsIdentifier: Identifier;
|
|
@@ -22,7 +23,14 @@ export declare class Component {
|
|
|
22
23
|
};
|
|
23
24
|
htmlExpressions: Expression[];
|
|
24
25
|
unique: boolean;
|
|
26
|
+
assignTo?: LVal | string;
|
|
27
|
+
watchProps?: {
|
|
28
|
+
callback?: Expression;
|
|
29
|
+
};
|
|
25
30
|
constructor(module: Module, scope: Scope, propsIdentifier: Identifier, componentIdentifier: Identifier);
|
|
31
|
+
needsCustomSetMethod(): string | LVal | {
|
|
32
|
+
callback?: Expression;
|
|
33
|
+
};
|
|
26
34
|
processJSXElement(path: NodePath<JSXElement>, tracker: WalkTracker, tagName: string, jsxVisitors: any): void;
|
|
27
35
|
processNestedComponentTagNode(path: NodePath<JSXElement>, tracker: WalkTracker, tagName: string, isRepeat: boolean, isStub: boolean): void;
|
|
28
36
|
processJSXText(path: NodePath<JSXText>, tracker: WalkTracker): void;
|
package/dist/models/component.js
CHANGED
|
@@ -40,6 +40,9 @@ class Component {
|
|
|
40
40
|
this.propsIdentifier = propsIdentifier;
|
|
41
41
|
this.componentIdentifier = componentIdentifier;
|
|
42
42
|
}
|
|
43
|
+
needsCustomSetMethod() {
|
|
44
|
+
return this.assignTo || this.watchProps;
|
|
45
|
+
}
|
|
43
46
|
processJSXElement(path, tracker, tagName, jsxVisitors) {
|
|
44
47
|
__classPrivateFieldGet(this, _Component_instances, "m", _Component_enterLevel).call(this, tracker.childIndex);
|
|
45
48
|
const extractedNode = new node_1.TagNode(path, __classPrivateFieldGet(this, _Component_instances, "m", _Component_getCurrentAddress).call(this), tracker.initialIndex, tracker.parent, this, tagName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/models/component.ts"],"names":[],"mappings":";;;;;;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/models/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,27 +9,36 @@ export interface NodeValue {
|
|
|
9
9
|
path?: NodePath;
|
|
10
10
|
}
|
|
11
11
|
export type Qualifier = string | undefined;
|
|
12
|
+
export declare enum QualifierMode {
|
|
13
|
+
Required = 0,
|
|
14
|
+
Optional = 1,
|
|
15
|
+
SetsValue = 2,
|
|
16
|
+
NotAllowed = 3
|
|
17
|
+
}
|
|
18
|
+
export declare enum ValueMode {
|
|
19
|
+
StringRequired = 0,
|
|
20
|
+
StringOptional = 1,
|
|
21
|
+
ExpressionRequired = 2,
|
|
22
|
+
ExpressionOptional = 3,
|
|
23
|
+
EitherRequired = 4,
|
|
24
|
+
EitherOptional = 5,
|
|
25
|
+
NotAllowed = 6
|
|
26
|
+
}
|
|
12
27
|
export declare class Directive {
|
|
13
28
|
static attributeName: string;
|
|
14
29
|
static help: string;
|
|
15
|
-
static
|
|
16
|
-
static
|
|
17
|
-
static allowString: boolean;
|
|
18
|
-
static allowQualifier: boolean;
|
|
19
|
-
static requireQualifier: boolean;
|
|
30
|
+
static valueMode: ValueMode;
|
|
31
|
+
static qualifierMode: QualifierMode;
|
|
20
32
|
static allowOnNested: boolean;
|
|
21
33
|
static allowOnRepeated: boolean;
|
|
22
34
|
static allowOnNormalElement: boolean;
|
|
35
|
+
static mustBeOnRoot: boolean;
|
|
23
36
|
static mayAccessComponent: boolean;
|
|
24
37
|
static mayAccessElement: boolean;
|
|
25
38
|
static mayAccessEvent: boolean;
|
|
26
|
-
static allowedTypes: {
|
|
27
|
-
[key: string]: NodeValue["type"];
|
|
28
|
-
};
|
|
29
39
|
apply(node: TagNode, value: NodeValue, qualifier: Qualifier, base: string): void;
|
|
30
40
|
validate(node: TagNode, value: NodeValue, qualifier: Qualifier, base: string, component: Component): void;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
validateQualifier(node: TagNode, qualifier: Qualifier, constructor: typeof Directive): void;
|
|
41
|
+
validateTypeAndQualifier(node: TagNode, value: NodeValue, qualifier: Qualifier, constructor: typeof Directive): void;
|
|
42
|
+
validateLocation(node: TagNode, constructor: typeof Directive): void;
|
|
34
43
|
validateScopeVariablAccess(node: TagNode, value: NodeValue, constructor: typeof Directive, component: Component): void;
|
|
35
44
|
}
|
package/dist/models/directive.js
CHANGED
|
@@ -1,47 +1,103 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Directive = void 0;
|
|
3
|
+
exports.Directive = exports.ValueMode = exports.QualifierMode = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const errors_1 = require("../errors");
|
|
6
|
+
var QualifierMode;
|
|
7
|
+
(function (QualifierMode) {
|
|
8
|
+
QualifierMode[QualifierMode["Required"] = 0] = "Required";
|
|
9
|
+
QualifierMode[QualifierMode["Optional"] = 1] = "Optional";
|
|
10
|
+
QualifierMode[QualifierMode["SetsValue"] = 2] = "SetsValue";
|
|
11
|
+
QualifierMode[QualifierMode["NotAllowed"] = 3] = "NotAllowed";
|
|
12
|
+
})(QualifierMode || (exports.QualifierMode = QualifierMode = {}));
|
|
13
|
+
var ValueMode;
|
|
14
|
+
(function (ValueMode) {
|
|
15
|
+
ValueMode[ValueMode["StringRequired"] = 0] = "StringRequired";
|
|
16
|
+
ValueMode[ValueMode["StringOptional"] = 1] = "StringOptional";
|
|
17
|
+
ValueMode[ValueMode["ExpressionRequired"] = 2] = "ExpressionRequired";
|
|
18
|
+
ValueMode[ValueMode["ExpressionOptional"] = 3] = "ExpressionOptional";
|
|
19
|
+
ValueMode[ValueMode["EitherRequired"] = 4] = "EitherRequired";
|
|
20
|
+
ValueMode[ValueMode["EitherOptional"] = 5] = "EitherOptional";
|
|
21
|
+
ValueMode[ValueMode["NotAllowed"] = 6] = "NotAllowed";
|
|
22
|
+
})(ValueMode || (exports.ValueMode = ValueMode = {}));
|
|
23
|
+
const ValidModesForSetsValue = [
|
|
24
|
+
ValueMode.StringRequired,
|
|
25
|
+
ValueMode.StringOptional,
|
|
26
|
+
ValueMode.EitherRequired,
|
|
27
|
+
ValueMode.EitherOptional
|
|
28
|
+
];
|
|
6
29
|
class Directive {
|
|
7
|
-
apply(node, value, qualifier, base) {
|
|
30
|
+
apply(node, value, qualifier, base) {
|
|
31
|
+
throw new Error("apply not implemented on directive");
|
|
32
|
+
}
|
|
8
33
|
validate(node, value, qualifier, base, component) {
|
|
9
34
|
const constructor = this.constructor;
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.validateQualifier(node, qualifier, constructor);
|
|
35
|
+
this.validateTypeAndQualifier(node, value, qualifier, constructor);
|
|
36
|
+
this.validateLocation(node, constructor);
|
|
13
37
|
this.validateScopeVariablAccess(node, value, constructor, component);
|
|
14
38
|
}
|
|
15
|
-
|
|
16
|
-
const {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
39
|
+
validateTypeAndQualifier(node, value, qualifier, constructor) {
|
|
40
|
+
const { qualifierMode, valueMode } = constructor;
|
|
41
|
+
// Validate special case for SetsValue.
|
|
42
|
+
if (qualifierMode === QualifierMode.SetsValue && qualifier) {
|
|
43
|
+
ensureValidValueModeForSetsValue(valueMode, constructor);
|
|
44
|
+
if (value.expression || value.value) {
|
|
45
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_REQUIRES_QUALIFIER_OR_VALUE(constructor.attributeName));
|
|
46
|
+
}
|
|
47
|
+
value.value = qualifier;
|
|
24
48
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if (!allowOnRepeated && node.isRepeatedComponent) {
|
|
29
|
-
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.CANNOT_USE_DIRECTIVE_ON_REPEATED_ELEMENT(attributeName));
|
|
49
|
+
// Standard qualifer validation.
|
|
50
|
+
if (qualifierMode === QualifierMode.Required && !qualifier) {
|
|
51
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_REQUIRES_QUALIFIER(constructor.attributeName));
|
|
30
52
|
}
|
|
31
|
-
if (
|
|
32
|
-
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.
|
|
53
|
+
if (qualifierMode === QualifierMode.NotAllowed && qualifier) {
|
|
54
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_DISALLOWS_QUALIFIER(constructor.attributeName));
|
|
55
|
+
}
|
|
56
|
+
if (value.value && value.expression) {
|
|
57
|
+
throw new Error("Internal error: directive got both a value and expression");
|
|
58
|
+
}
|
|
59
|
+
// Validate value
|
|
60
|
+
switch (valueMode) {
|
|
61
|
+
case ValueMode.StringRequired:
|
|
62
|
+
if (!value.value)
|
|
63
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_VALUE_REQUIRED("string", constructor.attributeName));
|
|
64
|
+
break;
|
|
65
|
+
case ValueMode.StringOptional:
|
|
66
|
+
if (value.expression)
|
|
67
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_VALUE_REQUIRED("string", constructor.attributeName));
|
|
68
|
+
break;
|
|
69
|
+
case ValueMode.ExpressionRequired:
|
|
70
|
+
if (!value.expression)
|
|
71
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_VALUE_REQUIRED("expression", constructor.attributeName));
|
|
72
|
+
break;
|
|
73
|
+
case ValueMode.ExpressionOptional:
|
|
74
|
+
if (value.value)
|
|
75
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_VALUE_REQUIRED("expression", constructor.attributeName));
|
|
76
|
+
break;
|
|
77
|
+
case ValueMode.EitherRequired:
|
|
78
|
+
if (!(value.expression || value.value))
|
|
79
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_EITHER_VALUE_REQUIRED(constructor.attributeName));
|
|
80
|
+
break;
|
|
81
|
+
case ValueMode.EitherOptional:
|
|
82
|
+
// Do nothing
|
|
83
|
+
break;
|
|
84
|
+
case ValueMode.NotAllowed:
|
|
85
|
+
if (value.expression || value.value) {
|
|
86
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_NO_VALUE_ALLOWED(constructor.attributeName));
|
|
87
|
+
}
|
|
88
|
+
break;
|
|
33
89
|
}
|
|
34
90
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (
|
|
38
|
-
|
|
91
|
+
validateLocation(node, constructor) {
|
|
92
|
+
const { attributeName, allowOnRepeated, allowOnNested, mustBeOnRoot } = constructor;
|
|
93
|
+
if (!allowOnRepeated && node.isRepeatedComponent) {
|
|
94
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_NOT_ALLOWED_ON_REPEATED_ELEMENT(attributeName));
|
|
39
95
|
}
|
|
40
|
-
if (
|
|
41
|
-
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.
|
|
96
|
+
if (!allowOnNested && node.isNestedComponent) {
|
|
97
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_NOT_ALLOWED_ON_NESTED_ELEMENT(attributeName));
|
|
42
98
|
}
|
|
43
|
-
if (
|
|
44
|
-
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.
|
|
99
|
+
if (mustBeOnRoot && node.parent) {
|
|
100
|
+
(0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_MUST_BE_ON_ROOT_ELEMENT(attributeName));
|
|
45
101
|
}
|
|
46
102
|
}
|
|
47
103
|
/*
|
|
@@ -104,14 +160,12 @@ class Directive {
|
|
|
104
160
|
}
|
|
105
161
|
}
|
|
106
162
|
exports.Directive = Directive;
|
|
107
|
-
Directive.
|
|
108
|
-
Directive.
|
|
109
|
-
Directive.allowString = false;
|
|
110
|
-
Directive.allowQualifier = false;
|
|
111
|
-
Directive.requireQualifier = false;
|
|
163
|
+
Directive.valueMode = ValueMode.ExpressionRequired;
|
|
164
|
+
Directive.qualifierMode = QualifierMode.NotAllowed;
|
|
112
165
|
Directive.allowOnNested = false;
|
|
113
166
|
Directive.allowOnRepeated = false;
|
|
114
167
|
Directive.allowOnNormalElement = true;
|
|
168
|
+
Directive.mustBeOnRoot = false;
|
|
115
169
|
Directive.mayAccessComponent = true;
|
|
116
170
|
Directive.mayAccessElement = false;
|
|
117
171
|
Directive.mayAccessEvent = false;
|
|
@@ -135,4 +189,10 @@ function getReferencedScopedVariables(path, component) {
|
|
|
135
189
|
});
|
|
136
190
|
return Array.from(refs);
|
|
137
191
|
}
|
|
192
|
+
function ensureValidValueModeForSetsValue(valueMode, constructor) {
|
|
193
|
+
if (!ValidModesForSetsValue.includes(valueMode)) {
|
|
194
|
+
throw new Error(`Invalid directive configuration for ${constructor.attributeName}.
|
|
195
|
+
When qualifierMode is 'SetsValue' then valueMode must be one of: ${ValidModesForSetsValue}.`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
138
198
|
//# sourceMappingURL=directive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../../src/models/directive.ts"],"names":[],"mappings":";;;AAEA,4CAAqC;AAGrC,sCAAkD;AAWlD,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../../src/models/directive.ts"],"names":[],"mappings":"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"}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export { Component, VisibilityToggle, Directive, NodeValue, ExtractedNode, TagNode, DynamicTextNode, PlainTextNode, Module, Qualifier, WalkTracker };
|
|
1
|
+
export { Module } from "./module";
|
|
2
|
+
export { Directive, NodeValue, Qualifier, ValueMode, QualifierMode } from "./directive";
|
|
3
|
+
export { Component, WalkTracker } from "./component";
|
|
4
|
+
export { ExtractedNode, TagNode, DynamicTextNode, PlainTextNode, VisibilityToggle } from "./node";
|
package/dist/models/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.PlainTextNode = exports.DynamicTextNode = exports.TagNode = exports.ExtractedNode = exports.Component = exports.QualifierMode = exports.ValueMode = exports.Directive = exports.Module = void 0;
|
|
4
|
+
var module_1 = require("./module");
|
|
5
5
|
Object.defineProperty(exports, "Module", { enumerable: true, get: function () { return module_1.Module; } });
|
|
6
|
-
|
|
6
|
+
var directive_1 = require("./directive");
|
|
7
7
|
Object.defineProperty(exports, "Directive", { enumerable: true, get: function () { return directive_1.Directive; } });
|
|
8
|
-
|
|
8
|
+
Object.defineProperty(exports, "ValueMode", { enumerable: true, get: function () { return directive_1.ValueMode; } });
|
|
9
|
+
Object.defineProperty(exports, "QualifierMode", { enumerable: true, get: function () { return directive_1.QualifierMode; } });
|
|
10
|
+
var component_1 = require("./component");
|
|
9
11
|
Object.defineProperty(exports, "Component", { enumerable: true, get: function () { return component_1.Component; } });
|
|
10
|
-
|
|
12
|
+
var node_1 = require("./node");
|
|
11
13
|
Object.defineProperty(exports, "ExtractedNode", { enumerable: true, get: function () { return node_1.ExtractedNode; } });
|
|
12
14
|
Object.defineProperty(exports, "TagNode", { enumerable: true, get: function () { return node_1.TagNode; } });
|
|
13
15
|
Object.defineProperty(exports, "DynamicTextNode", { enumerable: true, get: function () { return node_1.DynamicTextNode; } });
|
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yCAAwF;AAA/E,sGAAA,SAAS,OAAA;AAAwB,sGAAA,SAAS,OAAA;AAAE,0GAAA,aAAa,OAAA;AAClE,yCAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,+BAMgB;AALd,qGAAA,aAAa,OAAA;AACb,+FAAA,OAAO,OAAA;AACP,uGAAA,eAAe,OAAA;AACf,qGAAA,aAAa,OAAA"}
|
|
@@ -40,7 +40,9 @@ function buildWatchesArg(componentDefinition) {
|
|
|
40
40
|
if (watch.shieldInfo.lookupIndex !== undefined) {
|
|
41
41
|
visibilityToggle.q = t.numericLiteral(watch.shieldInfo.lookupIndex);
|
|
42
42
|
visibilityToggle.s = t.numericLiteral(watch.shieldInfo.skipCount || 0);
|
|
43
|
-
|
|
43
|
+
}
|
|
44
|
+
if (watch.shieldInfo.reverse) {
|
|
45
|
+
visibilityToggle.r = t.numericLiteral(1);
|
|
44
46
|
}
|
|
45
47
|
if (watch.shieldInfo.detacher) {
|
|
46
48
|
const detacher = watch.shieldInfo.detacher;
|
|
@@ -103,6 +105,46 @@ function buildConstructor(componentDefinition) {
|
|
|
103
105
|
...expressions.map(expr => t.expressionStatement(expr))
|
|
104
106
|
]));
|
|
105
107
|
}
|
|
108
|
+
function assignExpression(left, right) {
|
|
109
|
+
return t.expressionStatement(t.assignmentExpression("=", left, right));
|
|
110
|
+
}
|
|
111
|
+
function buildWatchCall(module, name, watch) {
|
|
112
|
+
module.requireImport(constants_1.IMPORTABLES.watch);
|
|
113
|
+
const callback = watch.callback ||
|
|
114
|
+
t.arrowFunctionExpression([], t.callExpression(t.memberExpression(t.thisExpression(), t.identifier("update")), []));
|
|
115
|
+
return t.callExpression(t.identifier(constants_1.IMPORTABLES.watch), [
|
|
116
|
+
t.identifier(name),
|
|
117
|
+
callback
|
|
118
|
+
]);
|
|
119
|
+
}
|
|
120
|
+
function getComponentPropertyAssignment(module, name, watch) {
|
|
121
|
+
const left = t.memberExpression(t.thisExpression(), t.identifier(name));
|
|
122
|
+
const right = watch ? buildWatchCall(module, name, watch) : t.identifier(name);
|
|
123
|
+
return assignExpression(left, right);
|
|
124
|
+
}
|
|
125
|
+
// TOOD: revisit once we rename per directive.
|
|
126
|
+
function buildSetFunction(componentDefinition) {
|
|
127
|
+
const component = componentDefinition.component;
|
|
128
|
+
const { assignTo, watchProps, module } = component;
|
|
129
|
+
const statements = [
|
|
130
|
+
t.variableDeclaration("const", [
|
|
131
|
+
t.variableDeclarator(component.componentIdentifier, t.identifier("this")),
|
|
132
|
+
t.variableDeclarator(component.propsIdentifier, t.identifier("props"))
|
|
133
|
+
]),
|
|
134
|
+
getComponentPropertyAssignment(module, "props", watchProps)
|
|
135
|
+
];
|
|
136
|
+
if (assignTo) {
|
|
137
|
+
let actualValue;
|
|
138
|
+
if (typeof assignTo === "string") {
|
|
139
|
+
actualValue = t.memberExpression(component.propsIdentifier, t.identifier(assignTo));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
actualValue = assignTo;
|
|
143
|
+
}
|
|
144
|
+
statements.push(assignExpression(actualValue, t.identifier("this")));
|
|
145
|
+
}
|
|
146
|
+
return t.functionExpression(null, [t.identifier("props"), t.identifier("ctrl")], t.blockStatement(statements));
|
|
147
|
+
}
|
|
106
148
|
function buildDismountKeys(componentDefinition) {
|
|
107
149
|
return t.arrayExpression(componentDefinition.dismountKeys.map(key => t.numericLiteral(key)));
|
|
108
150
|
}
|
|
@@ -114,6 +156,10 @@ function buildDefineComponentCall(component) {
|
|
|
114
156
|
buildLookupsArg(componentDefinition),
|
|
115
157
|
buildConstructor(componentDefinition)
|
|
116
158
|
];
|
|
159
|
+
const setFunctionArg = componentDefinition.component.needsCustomSetMethod()
|
|
160
|
+
? buildSetFunction(componentDefinition)
|
|
161
|
+
: t.numericLiteral(0);
|
|
162
|
+
args.push(setFunctionArg);
|
|
117
163
|
if (config_1.wallaceConfig.flags.allowDismount) {
|
|
118
164
|
args.push(buildDismountKeys(componentDefinition));
|
|
119
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineComponent.js","sourceRoot":"","sources":["../../src/writers/defineComponent.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"defineComponent.js","sourceRoot":"","sources":["../../src/writers/defineComponent.ts"],"names":[],"mappings":";;AAqOA,4DAoBC;AAzPD,kCAAkC;AAGlC,sCAA0C;AAC1C,4CAAiE;AAQjE,wCAA4D;AAC5D,oDAAiF;AAEjF;;GAEG;AACH,SAAS,qBAAqB,CAAC,MAE9B;IACC,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,SAA0C,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,SAAS,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAA,wBAAgB,EAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,mBAA4C;IACnE,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAChE,MAAM,QAAQ,GAAG;YACf,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;YACrC,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;SAC1C,CAAC;QACF,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,gBAAgB,GAA+B,EAAE,CAAC;YACxD,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC/C,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACpE,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC7B,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC3C,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAW,CAAC,QAAQ,CAAC,EAAE;oBAC1E,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC;oBACxC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACpC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACpC,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,eAAe,CAAC,mBAA4C;IACnE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CACvB,mBAA4C;IAE5C,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,gCAAoB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,KAA2B,EAAE,IAAgB,EAAE,EAAE,CACnE,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEtF,MAAM,gBAAgB,GAAG,CAAC,KAA2B,EAAE,IAAgB,EAAE,EAAE,CACzE,CAAC,CAAC,kBAAkB,CAClB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EACnB,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CACpF,CAAC;IAEJ,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM;QAC/D,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,gCAAoB,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC,cAAc,CACd,CAAC,CAAC,gBAAgB,CAChB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,gCAAoB,CAAC,QAAQ,CAAC,CAAC,EACxE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAC1B,EACD,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CACzB,CAAC;IAEN,MAAM,uBAAuB,GAAG;QAC9B,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;QACjD,gBAAgB,CAAC,gCAAoB,CAAC,IAAI,EAAE,oBAAoB,CAAC;KAClE,CAAC;IAEF,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,uBAAuB,CAAC,IAAI,CAC1B,gBAAgB,CAAC,gCAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,uBAAuB,CAAC,IAAI,CAC1B,gBAAgB,CAAC,gCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACxE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAU;QACzB,UAAU,CAAC,gCAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QACrD,UAAU,CACR,gCAAoB,CAAC,WAAW,EAChC,CAAC,CAAC,gBAAgB,CAChB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,gCAAoB,CAAC,OAAO,CAAC,CAAC,EACvE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CACvB,CACF;QACD,UAAU,CACR,gCAAoB,CAAC,QAAQ,EAC7B,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CACpF;KACF,CAAC;IACF,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,WAAW,CAAC,IAAI,CACd,UAAU,CAAC,gCAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,sBAAa,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAClC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,gCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,mBAAmB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,WAAW,CAAC,IAAI,CACd,CAAC,CAAC,oBAAoB,CACpB,GAAG,EACH,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,gCAAoB,CAAC,QAAQ,CAAC,CAAC,EACxE,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,eAAe,CAAC,CACvD,CACF,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,CAAC,kBAAkB,CACzB,IAAI,EACJ,EAAE,EACF,CAAC,CAAC,cAAc,CAAC;QACf,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,CAAC;QACvD,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;KACxD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU,EAAE,KAAiB;IACrD,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,KAAiC;IACrF,MAAM,CAAC,aAAa,CAAC,uBAAW,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ;QACd,CAAC,CAAC,uBAAuB,CACvB,EAAE,EACF,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CACrF,CAAC;IACJ,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAW,CAAC,KAAK,CAAC,EAAE;QACvD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAClB,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAc,EACd,IAAY,EACZ,KAAiC;IAEjC,MAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,8CAA8C;AAC9C,SAAS,gBAAgB,CAAC,mBAA4C;IACpE,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC;IAChD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAEnD,MAAM,UAAU,GAAU;QACxB,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;YAC7B,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SACvE,CAAC;QACF,8BAA8B,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;KAC5D,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,WAAiB,CAAC;QACtB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,QAAQ,CAAC;QACzB,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,CAAC,kBAAkB,CACzB,IAAI,EACJ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7C,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,mBAA4C;IACrE,OAAO,CAAC,CAAC,eAAe,CACtB,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,SAAoB;IAC3D,MAAM,mBAAmB,GAAG,IAAA,oCAAoB,EAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAU;QAClB,mBAAmB,CAAC,IAAI;QACxB,eAAe,CAAC,mBAAmB,CAAC;QACpC,eAAe,CAAC,mBAAmB,CAAC;QACpC,gBAAgB,CAAC,mBAAmB,CAAC;KACtC,CAAC;IACF,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC,oBAAoB,EAAE;QACzE,CAAC,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;QACvC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1B,IAAI,sBAAa,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,mBAAmB,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAW,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-wallace",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"author": "Andrew Buchan",
|
|
5
5
|
"description": "The babel plugin for wallace",
|
|
6
6
|
"homepage": "https://wallace.js.org",
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"source-map-support": "^0.5.21",
|
|
25
25
|
"typescript": "^5.6.3"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "c114de400a01385d31891dd6475d8858e15e70e1"
|
|
28
28
|
}
|