babel-plugin-wallace 0.0.5 → 0.0.7
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/ast-helpers.d.ts +1 -1
- package/dist/ast-helpers.js +2 -10
- package/dist/ast-helpers.js.map +1 -1
- package/dist/{builders/consolidation.d.ts → consolidation/ComponentDefinitionData.d.ts} +8 -9
- package/dist/consolidation/ComponentDefinitionData.js +79 -0
- package/dist/consolidation/ComponentDefinitionData.js.map +1 -0
- package/dist/consolidation/consolidateComponent.d.ts +6 -0
- package/dist/consolidation/consolidateComponent.js +41 -0
- package/dist/consolidation/consolidateComponent.js.map +1 -0
- package/dist/consolidation/index.d.ts +2 -0
- package/dist/consolidation/index.js +8 -0
- package/dist/consolidation/index.js.map +1 -0
- package/dist/consolidation/processNodes.d.ts +3 -0
- package/dist/consolidation/processNodes.js +219 -0
- package/dist/consolidation/processNodes.js.map +1 -0
- package/dist/{builders → consolidation}/types.d.ts +8 -2
- package/dist/{builders → consolidation}/types.js.map +1 -1
- package/dist/consolidation/utils.d.ts +21 -0
- package/dist/consolidation/utils.js +91 -0
- package/dist/consolidation/utils.js.map +1 -0
- package/dist/consolidation/visibility.d.ts +2 -0
- package/dist/consolidation/visibility.js +22 -0
- package/dist/consolidation/visibility.js.map +1 -0
- package/dist/constants.d.ts +3 -3
- package/dist/constants.js +3 -3
- package/dist/constants.js.map +1 -1
- package/dist/contexts/handlers.js +3 -3
- package/dist/contexts/handlers.js.map +1 -1
- package/dist/directives.js +121 -5
- package/dist/directives.js.map +1 -1
- package/dist/errors.d.ts +5 -3
- package/dist/errors.js +5 -3
- package/dist/errors.js.map +1 -1
- package/dist/models/component.js +4 -2
- package/dist/models/component.js.map +1 -1
- package/dist/models/index.d.ts +2 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/node.d.ts +32 -3
- package/dist/models/node.js +43 -107
- package/dist/models/node.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +8 -1
- package/dist/utils.js.map +1 -1
- package/dist/visitors/attribute.js +6 -1
- package/dist/visitors/attribute.js.map +1 -1
- package/dist/{builders → writers}/define-component.d.ts +1 -1
- package/dist/{builders → writers}/define-component.js +31 -27
- package/dist/writers/define-component.js.map +1 -0
- package/dist/writers/index.d.ts +1 -0
- package/dist/{builders → writers}/index.js +1 -1
- package/dist/writers/index.js.map +1 -0
- package/package.json +4 -3
- package/dist/builders/consolidation.js +0 -321
- package/dist/builders/consolidation.js.map +0 -1
- package/dist/builders/define-component.js.map +0 -1
- package/dist/builders/index.d.ts +0 -2
- package/dist/builders/index.js.map +0 -1
- package/dist/builders/visibility.d.ts +0 -5
- package/dist/builders/visibility.js +0 -43
- package/dist/builders/visibility.js.map +0 -1
- /package/dist/{builders → consolidation}/types.js +0 -0
package/dist/models/node.js
CHANGED
|
@@ -10,7 +10,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
11
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
12
|
};
|
|
13
|
-
var _ExtractedNode_stubName,
|
|
13
|
+
var _ExtractedNode_stubName, _ExtractedNode_visibilityToggle, _ExtractedNode_ref, _ExtractedNode_props, _ExtractedNode_forExpression, _ExtractedNode_forVariable;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.PlainTextNode = exports.DynamicTextNode = exports.StubNode = exports.TagNode = exports.ExtractedNode = void 0;
|
|
16
16
|
const utils_1 = require("../utils");
|
|
@@ -21,9 +21,19 @@ class ExtractedNode {
|
|
|
21
21
|
this.isRepeatedNode = false;
|
|
22
22
|
this.watches = [];
|
|
23
23
|
this.eventListeners = [];
|
|
24
|
+
this.bindInstructions = [];
|
|
24
25
|
this.isNestedClass = false;
|
|
26
|
+
this.hasConditionalChildren = false;
|
|
27
|
+
/**
|
|
28
|
+
* The sets of classes that may be toggled.
|
|
29
|
+
*/
|
|
30
|
+
this.toggleTargets = [];
|
|
31
|
+
/**
|
|
32
|
+
* The triggers that cause the classes to be toggled.
|
|
33
|
+
*/
|
|
34
|
+
this.toggleTriggers = [];
|
|
25
35
|
_ExtractedNode_stubName.set(this, void 0);
|
|
26
|
-
|
|
36
|
+
_ExtractedNode_visibilityToggle.set(this, void 0);
|
|
27
37
|
_ExtractedNode_ref.set(this, void 0);
|
|
28
38
|
_ExtractedNode_props.set(this, void 0);
|
|
29
39
|
_ExtractedNode_forExpression.set(this, void 0);
|
|
@@ -41,20 +51,32 @@ class ExtractedNode {
|
|
|
41
51
|
}
|
|
42
52
|
this.eventListeners.push({ eventName, callback });
|
|
43
53
|
}
|
|
44
|
-
|
|
54
|
+
addBindInstruction(eventName, expression) {
|
|
45
55
|
if (this.isNestedClass) {
|
|
46
56
|
(0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.NO_ATTRIBUTES_ON_NESTED_CLASS);
|
|
47
57
|
}
|
|
58
|
+
this.bindInstructions.push({ eventName, expression });
|
|
59
|
+
}
|
|
60
|
+
addWatch(expression, callback) {
|
|
48
61
|
this.watches.push({
|
|
49
62
|
expression,
|
|
50
|
-
callback
|
|
63
|
+
callback,
|
|
51
64
|
});
|
|
52
65
|
}
|
|
66
|
+
addToggleTrigger(name, expression) {
|
|
67
|
+
this.toggleTriggers.push({ name, expression });
|
|
68
|
+
}
|
|
69
|
+
addToggleTarget(name, value) {
|
|
70
|
+
this.toggleTargets.push({ name, value });
|
|
71
|
+
}
|
|
72
|
+
watchAttribute(attName, expression) {
|
|
73
|
+
if (this.isNestedClass) {
|
|
74
|
+
(0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.NO_ATTRIBUTES_ON_NESTED_CLASS);
|
|
75
|
+
}
|
|
76
|
+
this.addWatch(expression, (0, utils_1.setAttributeCallback)(attName));
|
|
77
|
+
}
|
|
53
78
|
watchText(expression) {
|
|
54
|
-
this.
|
|
55
|
-
expression,
|
|
56
|
-
callback: `${constants_1.WATCH_CALLBACK_PARAMS.element}.textContent = n`,
|
|
57
|
-
});
|
|
79
|
+
this.addWatch(expression, `${constants_1.WATCH_CALLBACK_PARAMS.element}.textContent = n`);
|
|
58
80
|
}
|
|
59
81
|
setProps(expression) {
|
|
60
82
|
if (this.isRepeatedNode) {
|
|
@@ -70,14 +92,20 @@ class ExtractedNode {
|
|
|
70
92
|
getProps() {
|
|
71
93
|
return __classPrivateFieldGet(this, _ExtractedNode_props, "f");
|
|
72
94
|
}
|
|
73
|
-
|
|
74
|
-
if (__classPrivateFieldGet(this,
|
|
75
|
-
(0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.
|
|
95
|
+
setVisibilityToggle(expression, reverse, detach) {
|
|
96
|
+
if (__classPrivateFieldGet(this, _ExtractedNode_visibilityToggle, "f")) {
|
|
97
|
+
(0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.VISIBILITY_TOGGLE_DISPLAY_ALREADY_DEFINED);
|
|
98
|
+
}
|
|
99
|
+
__classPrivateFieldSet(this, _ExtractedNode_visibilityToggle, { expression, reverse, detach }, "f");
|
|
100
|
+
if (detach) {
|
|
101
|
+
if (!this.parent) {
|
|
102
|
+
(0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.CANNOT_USE_IF_ON_ROOT_ELEMENT);
|
|
103
|
+
}
|
|
104
|
+
this.parent.hasConditionalChildren = true;
|
|
76
105
|
}
|
|
77
|
-
__classPrivateFieldSet(this, _ExtractedNode_conditionalDisplay, { expression, reverse }, "f");
|
|
78
106
|
}
|
|
79
|
-
|
|
80
|
-
return __classPrivateFieldGet(this,
|
|
107
|
+
getVisibilityToggle() {
|
|
108
|
+
return __classPrivateFieldGet(this, _ExtractedNode_visibilityToggle, "f");
|
|
81
109
|
}
|
|
82
110
|
setRef(name) {
|
|
83
111
|
if (__classPrivateFieldGet(this, _ExtractedNode_ref, "f")) {
|
|
@@ -148,7 +176,7 @@ class ExtractedNode {
|
|
|
148
176
|
}
|
|
149
177
|
}
|
|
150
178
|
exports.ExtractedNode = ExtractedNode;
|
|
151
|
-
_ExtractedNode_stubName = new WeakMap(),
|
|
179
|
+
_ExtractedNode_stubName = new WeakMap(), _ExtractedNode_visibilityToggle = new WeakMap(), _ExtractedNode_ref = new WeakMap(), _ExtractedNode_props = new WeakMap(), _ExtractedNode_forExpression = new WeakMap(), _ExtractedNode_forVariable = new WeakMap();
|
|
152
180
|
class TagNode extends ExtractedNode {
|
|
153
181
|
// directives: ExtractedDirective[] = [];
|
|
154
182
|
constructor(path, address, parent, component, // TODO: fix type circular import.
|
|
@@ -211,96 +239,4 @@ class PlainTextNode extends ExtractedNode {
|
|
|
211
239
|
}
|
|
212
240
|
}
|
|
213
241
|
exports.PlainTextNode = PlainTextNode;
|
|
214
|
-
// class NodeData {
|
|
215
|
-
// constructor(path, module, component, parentNodeData, nodeTreeAddress) {
|
|
216
|
-
// this.path = path;
|
|
217
|
-
// this.module = module;
|
|
218
|
-
// this.component = component;
|
|
219
|
-
// this.parentNodeData = parentNodeData;
|
|
220
|
-
// this.nodeTreeAddress = nodeTreeAddress;
|
|
221
|
-
// this.nestedClass = undefined;
|
|
222
|
-
// this.isRepeat = false;
|
|
223
|
-
// this.props = undefined;
|
|
224
|
-
// this.shieldQuery = undefined;
|
|
225
|
-
// this.reverseShield = 0;
|
|
226
|
-
// this.buildCalls = [];
|
|
227
|
-
// this.watches = [];
|
|
228
|
-
// this.seq = 0;
|
|
229
|
-
// }
|
|
230
|
-
// isDynamic() {
|
|
231
|
-
// return (
|
|
232
|
-
// this.watches.length > 0 ||
|
|
233
|
-
// this.buildCalls.length > 0 ||
|
|
234
|
-
// this.props ||
|
|
235
|
-
// this.nestedClass ||
|
|
236
|
-
// this.shieldQuery
|
|
237
|
-
// );
|
|
238
|
-
// }
|
|
239
|
-
// /**
|
|
240
|
-
// * Creates a watch on this node.
|
|
241
|
-
// *
|
|
242
|
-
// * @param {string} watch - the field or function to watch.
|
|
243
|
-
// * @param {string} converter - the value to pass to method, or free function call if
|
|
244
|
-
// * property is not supplied.
|
|
245
|
-
// * @param {string} property - the method on the wrapper (Can even be dotted
|
|
246
|
-
// * `style.color`).
|
|
247
|
-
// */
|
|
248
|
-
// addWatch(watch, converter, property) {
|
|
249
|
-
// this.watches.push({ watch, converter, property });
|
|
250
|
-
// }
|
|
251
|
-
// /**
|
|
252
|
-
// * Creates an event listener on this node.
|
|
253
|
-
// * Slot will be expanded.
|
|
254
|
-
// *
|
|
255
|
-
// * @param {string} event
|
|
256
|
-
// * @param {string} slot
|
|
257
|
-
// */
|
|
258
|
-
// addEventListener(event, code) {
|
|
259
|
-
// this.module.requireImport(builderCalls.onEvent);
|
|
260
|
-
// const callback = `function(${eventCallbackArgs}) {${code}}`;
|
|
261
|
-
// this.addBuildCall(builderCalls.onEvent, [
|
|
262
|
-
// componentRefInBuild,
|
|
263
|
-
// `'${event.toLowerCase()}'`,
|
|
264
|
-
// callback,
|
|
265
|
-
// ]);
|
|
266
|
-
// }
|
|
267
|
-
// addBuildCall(functionName, args) {
|
|
268
|
-
// this.buildCalls.push([functionName, ...args]);
|
|
269
|
-
// }
|
|
270
|
-
// saveAs(name) {
|
|
271
|
-
// this.module.requireImport(builderCalls.saveAs);
|
|
272
|
-
// this.addBuildCall(builderCalls.saveAs, [
|
|
273
|
-
// componentRefInBuild,
|
|
274
|
-
// literal(name),
|
|
275
|
-
// ]);
|
|
276
|
-
// }
|
|
277
|
-
// requireImport(name, source, alias) {
|
|
278
|
-
// // TODO: make it use alias
|
|
279
|
-
// this.module.requireImport(name, source, alias);
|
|
280
|
-
// }
|
|
281
|
-
// repeat(data, key) {
|
|
282
|
-
// // There is no transform here. Should we allow it?
|
|
283
|
-
// const parent = this.parentNodeData;
|
|
284
|
-
// if (parent === undefined) {
|
|
285
|
-
// // TODO: throw better error, and assert parent has no other children.
|
|
286
|
-
// throw Error("For must be used under a parent.");
|
|
287
|
-
// }
|
|
288
|
-
// let getPoolCall;
|
|
289
|
-
// if (key) {
|
|
290
|
-
// const keyFn = `function(props) {return props.${key}}`;
|
|
291
|
-
// this.requireImport(builderCalls.getKeyedPool);
|
|
292
|
-
// getPoolCall = `${builderCalls.getKeyedPool}(${this.nestedClass}, ${keyFn})`;
|
|
293
|
-
// } else {
|
|
294
|
-
// this.requireImport(builderCalls.getSequentialPool);
|
|
295
|
-
// getPoolCall = `${builderCalls.getSequentialPool}(${this.nestedClass})`;
|
|
296
|
-
// }
|
|
297
|
-
// this.requireImport(builderCalls.initRepeater);
|
|
298
|
-
// parent.addBuildCall(builderCalls.initRepeater, [
|
|
299
|
-
// componentRefInBuild,
|
|
300
|
-
// getPoolCall,
|
|
301
|
-
// ]);
|
|
302
|
-
// parent.addWatch(alwaysUpdate, `w.gkItems(${data})`);
|
|
303
|
-
// this.isRepeat = true;
|
|
304
|
-
// }
|
|
305
|
-
// }
|
|
306
242
|
//# sourceMappingURL=node.js.map
|
package/dist/models/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/models/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/models/node.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Statement } from "@babel/types";
|
|
2
2
|
export declare function createElement(tagName: string): HTMLElement;
|
|
3
3
|
export declare function createTextNode(text: string): Text;
|
|
4
|
+
export declare function setAttributeCallback(attName: string): string;
|
|
4
5
|
export declare function isCapitalized(s: string): boolean;
|
|
5
6
|
export declare function escapeSingleQuotes(text: string): string;
|
|
6
7
|
export declare function escapeDoubleQuotes(text: string): string;
|
package/dist/utils.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createElement = createElement;
|
|
4
4
|
exports.createTextNode = createTextNode;
|
|
5
|
+
exports.setAttributeCallback = setAttributeCallback;
|
|
5
6
|
exports.isCapitalized = isCapitalized;
|
|
6
7
|
exports.escapeSingleQuotes = escapeSingleQuotes;
|
|
7
8
|
exports.escapeDoubleQuotes = escapeDoubleQuotes;
|
|
@@ -10,6 +11,7 @@ exports.arrayStartsWith = arrayStartsWith;
|
|
|
10
11
|
exports.codeToNode = codeToNode;
|
|
11
12
|
const jsdom_1 = require("jsdom");
|
|
12
13
|
const babel = require("@babel/core");
|
|
14
|
+
const constants_1 = require("./constants");
|
|
13
15
|
const document = new jsdom_1.JSDOM("<!DOCTYPE html>").window.document;
|
|
14
16
|
function createElement(tagName) {
|
|
15
17
|
return document.createElement(tagName);
|
|
@@ -17,6 +19,11 @@ function createElement(tagName) {
|
|
|
17
19
|
function createTextNode(text) {
|
|
18
20
|
return document.createTextNode(text);
|
|
19
21
|
}
|
|
22
|
+
function setAttributeCallback(attName) {
|
|
23
|
+
attName = attName === "class" ? "className" : attName;
|
|
24
|
+
return `${constants_1.WATCH_CALLBACK_PARAMS.element}.${attName} = ${constants_1.WATCH_CALLBACK_PARAMS.newValue}`;
|
|
25
|
+
// TODO: determine if non-standart att and use setAttribute() instead?
|
|
26
|
+
}
|
|
20
27
|
const REGEX_CAPITALIZED = new RegExp(/^[A-Z].*/);
|
|
21
28
|
function isCapitalized(s) {
|
|
22
29
|
return REGEX_CAPITALIZED.test(s);
|
|
@@ -39,7 +46,7 @@ function stripHtml(htmlString) {
|
|
|
39
46
|
.trim();
|
|
40
47
|
}
|
|
41
48
|
function arrayStartsWith(origin, test) {
|
|
42
|
-
if (
|
|
49
|
+
if (origin.length >= test.length) {
|
|
43
50
|
return false;
|
|
44
51
|
}
|
|
45
52
|
for (const [i, v] of origin.entries()) {
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAQA,sCAEC;AAED,wCAEC;AAED,oDAIC;AAID,sCAEC;AAED,gDAEC;AAED,gDAEC;AAKD,8BAOC;AAED,0CAUC;AAED,gCAMC;AAlED,iCAA8B;AAE9B,qCAAqC;AAErC,2CAAoD;AAEpD,MAAM,QAAQ,GAAG,IAAI,aAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AAE9D,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,OAAO,GAAG,iCAAqB,CAAC,OAAO,IAAI,OAAO,MAAM,iCAAqB,CAAC,QAAQ,EAAE,CAAC;IACzF,sEAAsE;AACxE,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;AAEjD,SAAgB,aAAa,CAAC,CAAS;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,UAAkB;IAC1C,OAAO,UAAU;SACd,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;SAC1B,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;SAC3B,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC;SAC5B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,eAAe,CAAC,MAAkB,EAAE,IAAgB;IAClE,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,UAAU,CAAC,IAAY;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -37,7 +37,9 @@ function extractValue(path) {
|
|
|
37
37
|
}
|
|
38
38
|
else if (t.isJSXExpressionContainer(value)) {
|
|
39
39
|
const expression = (0, ast_helpers_1.getPlaceholderExpression)(path, value.expression);
|
|
40
|
-
|
|
40
|
+
if (expression) {
|
|
41
|
+
return { type: "expression", expression: expression };
|
|
42
|
+
}
|
|
41
43
|
}
|
|
42
44
|
else if (value === null) {
|
|
43
45
|
return { type: "null" };
|
|
@@ -54,6 +56,9 @@ exports.attributeVisitors = {
|
|
|
54
56
|
}
|
|
55
57
|
const { base, qualifier } = extractName(path);
|
|
56
58
|
const extractedValue = extractValue(path);
|
|
59
|
+
if (!extractedValue) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
57
62
|
const isEventHandler = extractedValue.type === "expression" && base.startsWith("on");
|
|
58
63
|
const directiveClass = isEventHandler
|
|
59
64
|
? config_1.gleekitConfig.directives["on*"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/visitors/attribute.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAGlC,sCAA0C;AAE1C,sCAAkD;AAClD,gDAA0D;AAM1D;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAA4B;IAI/C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,IAAI,IAAY,EAAE,SAA6B,CAAC;IAChD,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3B,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,IAA4B;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;SAAM,IAAI,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAA,sCAAwB,EAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/visitors/attribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@ import type { CallExpression } from "@babel/types";
|
|
|
2
2
|
import { Component } from "../models";
|
|
3
3
|
export declare function buildDefineComponentCall(component: Component): CallExpression;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Unused. Was for classes.
|
|
6
6
|
*/
|
|
7
7
|
export declare function buildExtendComponentCall(component: Component): CallExpression;
|
|
@@ -5,7 +5,7 @@ exports.buildExtendComponentCall = buildExtendComponentCall;
|
|
|
5
5
|
const t = require("@babel/types");
|
|
6
6
|
const types_1 = require("@babel/types");
|
|
7
7
|
const utils_1 = require("../utils");
|
|
8
|
-
const consolidation_1 = require("
|
|
8
|
+
const consolidation_1 = require("../consolidation");
|
|
9
9
|
const constants_1 = require("../constants");
|
|
10
10
|
// component base to inherit from. Using 0 as false.
|
|
11
11
|
function buildComponentBaseArg(componentDefinition) {
|
|
@@ -14,13 +14,16 @@ function buildComponentBaseArg(componentDefinition) {
|
|
|
14
14
|
function buildTemplateArg(componentDefinition) {
|
|
15
15
|
return t.stringLiteral((0, utils_1.escapeSingleQuotes)((0, utils_1.stripHtml)(componentDefinition.html)));
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Creates an ObjectExpression from an object.
|
|
19
|
+
*/
|
|
20
|
+
function buildObjectExpression(object) {
|
|
18
21
|
const properties = [];
|
|
19
22
|
for (const [key, value] of Object.entries(object)) {
|
|
20
23
|
properties.push({
|
|
21
24
|
type: "ObjectProperty",
|
|
22
25
|
key: (0, types_1.identifier)(key),
|
|
23
|
-
value:
|
|
26
|
+
value: value,
|
|
24
27
|
computed: false,
|
|
25
28
|
shorthand: false,
|
|
26
29
|
});
|
|
@@ -29,31 +32,32 @@ function buildObjectExpression(object, fn) {
|
|
|
29
32
|
}
|
|
30
33
|
function buildWatchesArg(componentDefinition) {
|
|
31
34
|
const watchDeclarations = componentDefinition.watches.map((watch) => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
35
|
+
const watchArg = {
|
|
36
|
+
e: t.stringLiteral(watch.elementKey),
|
|
37
|
+
c: buildObjectExpression(watch.callbacks),
|
|
38
|
+
};
|
|
39
|
+
if (watch.shieldInfo) {
|
|
40
|
+
const visibilityToggle = {
|
|
41
|
+
q: t.stringLiteral(watch.shieldInfo.key),
|
|
42
|
+
s: t.numericLiteral(watch.shieldInfo.skipCount || 0),
|
|
43
|
+
r: t.numericLiteral(watch.shieldInfo.reverse ? 1 : 0),
|
|
44
|
+
};
|
|
45
|
+
if (watch.shieldInfo.detacher) {
|
|
46
|
+
const detacher = watch.shieldInfo.detacher;
|
|
47
|
+
visibilityToggle["d"] = buildObjectExpression({
|
|
48
|
+
i: t.numericLiteral(detacher.index),
|
|
49
|
+
s: t.numericLiteral(detacher.stashKey),
|
|
50
|
+
e: t.stringLiteral(detacher.parentKey),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
watchArg["v"] = buildObjectExpression(visibilityToggle);
|
|
42
54
|
}
|
|
43
|
-
return
|
|
44
|
-
t.stringLiteral(watch.stashRef),
|
|
45
|
-
watch.shieldInfo
|
|
46
|
-
? t.stringLiteral(watch.shieldInfo.key)
|
|
47
|
-
: t.numericLiteral(0),
|
|
48
|
-
t.numericLiteral(((_a = watch.shieldInfo) === null || _a === void 0 ? void 0 : _a.reverse) ? 1 : 0),
|
|
49
|
-
t.numericLiteral(((_b = watch.shieldInfo) === null || _b === void 0 ? void 0 : _b.count) || 0),
|
|
50
|
-
t.objectExpression(callbacks),
|
|
51
|
-
]);
|
|
55
|
+
return buildObjectExpression(watchArg);
|
|
52
56
|
});
|
|
53
57
|
return t.arrayExpression([...watchDeclarations]);
|
|
54
58
|
}
|
|
55
59
|
function buildLookupsArg(componentDefinition) {
|
|
56
|
-
return buildObjectExpression(componentDefinition.lookups
|
|
60
|
+
return buildObjectExpression(componentDefinition.lookups);
|
|
57
61
|
}
|
|
58
62
|
/**
|
|
59
63
|
*
|
|
@@ -63,9 +67,9 @@ function buildLookupsArg(componentDefinition) {
|
|
|
63
67
|
};
|
|
64
68
|
*/
|
|
65
69
|
function buildComponentBuildFunction(componentDefinition) {
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
const statements = [t.expressionStatement(
|
|
70
|
+
const dynamicElementsValueObject = buildObjectExpression(componentDefinition.dynamicElements);
|
|
71
|
+
const dynamicElementsAssignment = t.assignmentExpression("=", t.memberExpression(t.identifier("component"), t.identifier("_e")), dynamicElementsValueObject);
|
|
72
|
+
const statements = [t.expressionStatement(dynamicElementsAssignment)];
|
|
69
73
|
return t.functionExpression(null, [
|
|
70
74
|
t.identifier(constants_1.COMPONENT_BUILD_PARAMS.component),
|
|
71
75
|
t.identifier(constants_1.COMPONENT_BUILD_PARAMS.rootElement),
|
|
@@ -86,7 +90,7 @@ function buildDefineComponentCall(component) {
|
|
|
86
90
|
]);
|
|
87
91
|
}
|
|
88
92
|
/**
|
|
89
|
-
*
|
|
93
|
+
* Unused. Was for classes.
|
|
90
94
|
*/
|
|
91
95
|
function buildExtendComponentCall(component) {
|
|
92
96
|
const componentDefinition = (0, consolidation_1.consolidateComponent)(component);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-component.js","sourceRoot":"","sources":["../../src/writers/define-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { buildDefineComponentCall, buildExtendComponentCall, } from "./define-component";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildExtendComponentCall = exports.buildDefineComponentCall = void 0;
|
|
4
|
-
|
|
4
|
+
var define_component_1 = require("./define-component");
|
|
5
5
|
Object.defineProperty(exports, "buildDefineComponentCall", { enumerable: true, get: function () { return define_component_1.buildDefineComponentCall; } });
|
|
6
6
|
Object.defineProperty(exports, "buildExtendComponentCall", { enumerable: true, get: function () { return define_component_1.buildExtendComponentCall; } });
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/writers/index.ts"],"names":[],"mappings":";;;AAAA,uDAG4B;AAF1B,4HAAA,wBAAwB,OAAA;AACxB,4HAAA,wBAAwB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-wallace",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"author": "Andrew Buchan",
|
|
5
5
|
"description": "The babel plugin for wallace",
|
|
6
6
|
"license": "ISC",
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
],
|
|
11
11
|
"scripts": {
|
|
12
12
|
"test": "echo \"All tests are in packages/wallace.\"",
|
|
13
|
-
"
|
|
13
|
+
"build": "shx rm -rf dist/* && tsc",
|
|
14
|
+
"prepack": "npm run build"
|
|
14
15
|
},
|
|
15
16
|
"dependencies": {
|
|
16
17
|
"@babel/plugin-syntax-jsx": "^7.22.5",
|
|
@@ -22,5 +23,5 @@
|
|
|
22
23
|
"source-map-support": "^0.5.21",
|
|
23
24
|
"typescript": "^5.6.3"
|
|
24
25
|
},
|
|
25
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "625563b34b61857f1180da42d4b1f7bc229440c9"
|
|
26
27
|
}
|