babel-plugin-wallace 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- import type { Expression, FunctionExpression, Identifier } from "@babel/types";
1
+ import type { Expression, CallExpression, FunctionExpression, Identifier } from "@babel/types";
2
2
  import { Component } from "../models";
3
3
  import { IMPORTABLES } from "../constants";
4
- import { ComponentWatch, NodeAddress } from "./types";
4
+ import { ComponentWatch, NodeAddress, Ref } from "./types";
5
5
  /**
6
6
  * An object with all the consolidated data for writing.
7
7
  */
@@ -17,13 +17,13 @@ export declare class ComponentDefinitionData {
17
17
  lookups: {
18
18
  [key: string]: FunctionExpression;
19
19
  };
20
- collectedRefs: Array<string>;
20
+ refs: Array<Ref>;
21
21
  constructor(component: Component);
22
22
  saveDynamicElement(address: NodeAddress): number;
23
23
  saveNestedAsDynamicElement(address: NodeAddress, componentCls: Expression): number;
24
24
  addLookup(expression: Expression): number;
25
25
  getFunctionIdentifier(name: IMPORTABLES): Identifier;
26
26
  getLookupCallBackParams(): Array<Identifier>;
27
- wrapDynamicElementCall(key: number, functionName: IMPORTABLES, remainingArgs: Expression[]): void;
27
+ wrapDynamicElementCall(key: number, functionName: IMPORTABLES, remainingArgs: Expression[]): CallExpression;
28
28
  getNextmiscStashKey(): number;
29
29
  }
@@ -23,7 +23,7 @@ class ComponentDefinitionData {
23
23
  this.watches = [];
24
24
  this.dynamicElements = {};
25
25
  this.lookups = {};
26
- this.collectedRefs = [];
26
+ this.refs = [];
27
27
  _ComponentDefinitionData_dynamicElementKey.set(this, -1);
28
28
  _ComponentDefinitionData_miscStashKey.set(this, 0);
29
29
  _ComponentDefinitionData_lookupKeys.set(this, []);
@@ -64,10 +64,7 @@ class ComponentDefinitionData {
64
64
  return [this.component.propsIdentifier, this.component.componentIdentifier];
65
65
  }
66
66
  wrapDynamicElementCall(key, functionName, remainingArgs) {
67
- this.dynamicElements[key] = (0, types_1.callExpression)(this.getFunctionIdentifier(functionName), [
68
- this.dynamicElements[key],
69
- ...remainingArgs
70
- ]);
67
+ return (this.dynamicElements[key] = (0, types_1.callExpression)(this.getFunctionIdentifier(functionName), [this.dynamicElements[key], ...remainingArgs]));
71
68
  }
72
69
  getNextmiscStashKey() {
73
70
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDefinitionData.js","sourceRoot":"","sources":["../../src/consolidation/ComponentDefinitionData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wCAMsB;AAItB,mCAAiF;AAEjF;;GAEG;AACH,MAAa,uBAAuB;IAWlC,YAAY,SAAoB;QARhC,YAAO,GAA0B,EAAE,CAAC;QACpC,oBAAe,GAAkC,EAAE,CAAC;QAEpD,YAAO,GAA0C,EAAE,CAAC;QACpD,kBAAa,GAAkB,EAAE,CAAC;QAClC,qDAA6B,CAAC,CAAC,EAAC;QAChC,gDAAwB,CAAC,EAAC;QAC1B,8CAA6B,EAAE,EAAC;QAE9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC/C,CAAC;IACD,kBAAkB,CAAC,OAAoB;;QACrC,yEAAA,CAAA,kFAAuB,EAAvB,IAAyB,IAAA,CAAA,MAAA,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,uBAAA,IAAI,kDAAmB,CAAC,GAAG,IAAA,4BAAoB,EAClE,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,OAAO,CACR,CAAC;QACF,OAAO,uBAAA,IAAI,kDAAmB,CAAC;IACjC,CAAC;IACD,0BAA0B,CAAC,OAAoB,EAAE,YAAwB;;QACvE,yEAAA,CAAA,kFAAuB,EAAvB,IAAyB,IAAA,CAAA,MAAA,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,uBAAA,IAAI,kDAAmB,CAAC,GAAG,IAAA,4BAAoB,EAClE,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,OAAO,EACP,YAAY,CACb,CAAC;QACF,OAAO,uBAAA,IAAI,kDAAmB,CAAC;IACjC,CAAC;IACD,SAAS,CAAC,UAAsB;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAA,kBAAU,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,uBAAA,IAAI,2CAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,uBAAA,IAAI,2CAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,GAAG,GAAG,uBAAA,IAAI,2CAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAA,0BAAkB,EACpC,IAAI,EACJ,IAAI,CAAC,uBAAuB,EAAE,EAC9B,IAAA,sBAAc,EAAC,CAAC,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAC,CAAC,CAC9C,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,qBAAqB,CAAC,IAAiB;QACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,uBAAuB;QACrB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IACD,sBAAsB,CACpB,GAAW,EACX,YAAyB,EACzB,aAA2B;QAE3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE;YACnF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YACzB,GAAG,aAAa;SACjB,CAAC,CAAC;IACL,CAAC;IACD,mBAAmB;;QACjB,oEAAA,CAAA,6EAAkB,EAAlB,IAAoB,IAAA,CAAA,MAAA,CAAC;QACrB,OAAO,uBAAA,IAAI,6CAAc,GAAG,CAAC,CAAC;IAChC,CAAC;CACF;AAvED,0DAuEC"}
1
+ {"version":3,"file":"ComponentDefinitionData.js","sourceRoot":"","sources":["../../src/consolidation/ComponentDefinitionData.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.consolidateComponent = consolidateComponent;
4
4
  const models_1 = require("../models");
5
- const visibility_1 = require("./visibility");
5
+ const postProcessing_1 = require("./postProcessing");
6
6
  const ComponentDefinitionData_1 = require("./ComponentDefinitionData");
7
7
  const processNodes_1 = require("./processNodes");
8
8
  const utils_1 = require("./utils");
@@ -33,7 +33,7 @@ function consolidateComponent(component) {
33
33
  const componentDefinition = new ComponentDefinitionData_1.ComponentDefinitionData(component);
34
34
  hoistTextNodes(component);
35
35
  (0, processNodes_1.processNodes)(component, componentDefinition);
36
- (0, visibility_1.processeVisibilityToggles)(componentDefinition.watches);
36
+ (0, postProcessing_1.postProcessing)(componentDefinition);
37
37
  // This must be done after all the processing, as DOM may have changed.
38
38
  componentDefinition.html = component.buildHTMLString();
39
39
  return componentDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateComponent.js","sourceRoot":"","sources":["../../src/consolidation/consolidateComponent.ts"],"names":[],"mappings":";;AA8BA,oDAQC;AAtCD,sCAAuD;AACvD,6CAAyD;AACzD,uEAAoE;AACpE,iDAA8C;AAC9C,mCAAsC;AAEtC;;;GAGG;AACH,SAAS,cAAc,CAAC,SAAoB;IAC1C,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACtC,IAAI,IAAI,YAAY,wBAAe,EAAE,CAAC;YACpC,IAAI,IAAA,mBAAW,EAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,MAAM,mBAAmB,GAAG,IAAI,iDAAuB,CAAC,SAAS,CAAC,CAAC;IACnE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1B,IAAA,2BAAY,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC7C,IAAA,sCAAyB,EAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACvD,uEAAuE;IACvE,mBAAmB,CAAC,IAAI,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IACvD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"consolidateComponent.js","sourceRoot":"","sources":["../../src/consolidation/consolidateComponent.ts"],"names":[],"mappings":";;AA8BA,oDAQC;AAtCD,sCAAuD;AACvD,qDAAkD;AAClD,uEAAoE;AACpE,iDAA8C;AAC9C,mCAAsC;AAEtC;;;GAGG;AACH,SAAS,cAAc,CAAC,SAAoB;IAC1C,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACtC,IAAI,IAAI,YAAY,wBAAe,EAAE,CAAC;YACpC,IAAI,IAAA,mBAAW,EAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,MAAM,mBAAmB,GAAG,IAAI,iDAAuB,CAAC,SAAS,CAAC,CAAC;IACnE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1B,IAAA,2BAAY,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC7C,IAAA,+BAAc,EAAC,mBAAmB,CAAC,CAAC;IACpC,uEAAuE;IACvE,mBAAmB,CAAC,IAAI,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IACvD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ComponentDefinitionData } from "./ComponentDefinitionData";
2
+ /**
3
+ * Sets the skipCount of each watch's shieldInfo.
4
+ * This indicates how many watches to skip if that element is hidden.
5
+ * Must be done after processing watches as we need to know how many watches to skip.
6
+ */
7
+ export declare function postProcessing(componentDefinition: ComponentDefinitionData): void;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postProcessing = postProcessing;
4
+ const t = require("@babel/types");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Sets the skipCount of each watch's shieldInfo.
8
+ * This indicates how many watches to skip if that element is hidden.
9
+ * Must be done after processing watches as we need to know how many watches to skip.
10
+ */
11
+ function postProcessing(componentDefinition) {
12
+ const { watches, refs } = componentDefinition;
13
+ const nestedCounts = {};
14
+ watches.forEach((watch, index) => {
15
+ nestedCounts[index] = watches
16
+ .slice(index)
17
+ .filter(w => (0, utils_1.arrayStartsWith)(watch.address, w.address)).length;
18
+ });
19
+ watches.forEach((watch, index) => {
20
+ if (watch.shieldInfo) {
21
+ watch.shieldInfo.skipCount = nestedCounts[index];
22
+ }
23
+ });
24
+ refs.forEach(ref => {
25
+ // need to find start and end, bearing in mind the ref may not have a watch.
26
+ const covered = w => ref.address == w.address || (0, utils_1.arrayStartsWith)(ref.address, w.address);
27
+ const start = watches.findIndex(covered) || 0;
28
+ const end = watches.filter(covered).length + start;
29
+ ref.callExpression.arguments.push(t.numericLiteral(start), t.numericLiteral(end));
30
+ });
31
+ }
32
+ //# sourceMappingURL=postProcessing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postProcessing.js","sourceRoot":"","sources":["../../src/consolidation/postProcessing.ts"],"names":[],"mappings":";;AASA,wCAqBC;AA9BD,kCAAkC;AAClC,oCAA2C;AAG3C;;;;GAIG;AACH,SAAgB,cAAc,CAAC,mBAA4C;IACzE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;IAC9C,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO;aAC1B,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,4EAA4E;QAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAClB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QACnD,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -64,6 +64,20 @@ function addToggleCallbackStatement(componentDefinition, node, addCallbackStatem
64
64
  ]);
65
65
  });
66
66
  }
67
+ function processRef(componentDefinition, node, name) {
68
+ const otherRefs = componentDefinition.refs.map(r => r.name);
69
+ if (otherRefs.includes(name)) {
70
+ (0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.REFS_MUST_BE_UNIQUE_WITHIN_EACH_COMPONENT);
71
+ }
72
+ // Note: we modify this call expression in post processing.
73
+ const callExpression = componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.saveRef, [
74
+ (0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component),
75
+ (0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.refs),
76
+ t.stringLiteral(name)
77
+ ]);
78
+ const ref = { name, callExpression, address: node.address };
79
+ componentDefinition.refs.push(ref);
80
+ }
67
81
  // TODO: break this up.
68
82
  function processNodes(component, componentDefinition) {
69
83
  component.extractedNodes.forEach(node => {
@@ -81,9 +95,14 @@ function processNodes(component, componentDefinition) {
81
95
  return;
82
96
  }
83
97
  const stubName = node.getStub();
84
- const stubComponentName = stubName
85
- ? t.callExpression(t.memberExpression(t.identifier(constants_1.COMPONENT_BUILD_PARAMS.component), t.identifier(constants_1.COMPONENT_METHODS.getStub)), [t.stringLiteral(stubName)])
86
- : undefined;
98
+ let stubExpression;
99
+ if (stubName) {
100
+ componentDefinition.component.module.requireImport(constants_1.IMPORTABLES.getStub);
101
+ stubExpression = t.callExpression(t.identifier(constants_1.IMPORTABLES.getStub), [
102
+ t.identifier(constants_1.COMPONENT_BUILD_PARAMS.component),
103
+ t.stringLiteral(stubName)
104
+ ]);
105
+ }
87
106
  const visibilityToggle = node.getVisibilityToggle();
88
107
  const ref = node.getRef();
89
108
  const repeatInstruction = node.getRepeatInstruction();
@@ -94,13 +113,14 @@ function processNodes(component, componentDefinition) {
94
113
  node.isNestedComponent ||
95
114
  repeatInstruction || // This is NOT the same as .isRepeatedComponent, which is on parent!
96
115
  stubName;
97
- // TODO: should ref really save the element?
116
+ // TODO: some of these should not save the element...
117
+ // restructure.
98
118
  const shouldSaveElement = createWatch || ref || node.eventListeners.length > 0 || node.hasConditionalChildren;
99
119
  ensureToggleTargetsHaveTriggers(node);
100
120
  if (shouldSaveElement) {
101
121
  const nestedComponentCls = node.isNestedComponent || node.isRepeatedComponent
102
122
  ? t.identifier(node.tagName)
103
- : stubComponentName;
123
+ : stubExpression;
104
124
  node.elementKey = nestedComponentCls
105
125
  ? componentDefinition.saveNestedAsDynamicElement(node.address, nestedComponentCls)
106
126
  : componentDefinition.saveDynamicElement(node.address);
@@ -109,7 +129,7 @@ function processNodes(component, componentDefinition) {
109
129
  }
110
130
  if (node.hasConditionalChildren) {
111
131
  node.detacherStashKey = componentDefinition.getNextmiscStashKey();
112
- componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.stashMisc, [(0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component), t.objectExpression([])]);
132
+ componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.stashMisc, [(0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.stash), t.objectExpression([])]);
113
133
  }
114
134
  if (createWatch) {
115
135
  const _callbacks = {};
@@ -175,6 +195,7 @@ function processNodes(component, componentDefinition) {
175
195
  }
176
196
  if (repeatInstruction) {
177
197
  componentDefinition.component.module.requireImport(constants_1.IMPORTABLES.SequentialRepeater);
198
+ componentDefinition.component.module.requireImport(constants_1.IMPORTABLES.stashMisc);
178
199
  const poolInstance = repeatInstruction.poolExpression ||
179
200
  (0, types_1.newExpression)((0, types_1.identifier)(constants_1.IMPORTABLES.SequentialRepeater), [
180
201
  (0, types_1.identifier)(repeatInstruction.componentCls)
@@ -182,7 +203,7 @@ function processNodes(component, componentDefinition) {
182
203
  // TODO: couple the stash index with the call to save - if possible?
183
204
  // Or make it an object and pass the key when saving.
184
205
  const miscStashKey = componentDefinition.getNextmiscStashKey();
185
- componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.stashMisc, [(0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component), poolInstance]);
206
+ componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.stashMisc, [(0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.stash), poolInstance]);
186
207
  addCallbackStatement(constants_1.SPECIAL_SYMBOLS.noLookup, [
187
208
  (0, types_1.expressionStatement)((0, types_1.callExpression)((0, types_1.memberExpression)((0, types_1.memberExpression)((0, types_1.memberExpression)(component.componentIdentifier, (0, types_1.identifier)(constants_1.SPECIAL_SYMBOLS.objectStash)), (0, types_1.numericLiteral)(miscStashKey), true), (0, types_1.identifier)(constants_1.SPECIAL_SYMBOLS.patch)), [
188
209
  (0, types_1.identifier)(constants_1.WATCH_AlWAYS_CALLBACK_ARGS.element),
@@ -196,16 +217,8 @@ function processNodes(component, componentDefinition) {
196
217
  componentWatch.callbacks[key] = (0, types_1.functionExpression)(null, args, (0, types_1.blockStatement)(_callbacks[key]));
197
218
  }
198
219
  }
199
- if (ref) {
200
- if (componentDefinition.collectedRefs.includes(ref)) {
201
- (0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.REFS_MUST_BE_UNIQUE_WITHIN_EACH_COMPONENT);
202
- }
203
- componentDefinition.collectedRefs.push(ref);
204
- componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.saveRef, [
205
- (0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component),
206
- (0, types_1.stringLiteral)(ref)
207
- ]);
208
- }
220
+ if (ref)
221
+ processRef(componentDefinition, node, ref);
209
222
  // TODO: improve this, as we are basically renaming things specifically for the
210
223
  // build function that have already been renamed, which can get confusing.
211
224
  // It also needs to rename ctrl and props explicitly as it doesn't seem to
@@ -213,9 +226,13 @@ function processNodes(component, componentDefinition) {
213
226
  const eventVariableMapping = {
214
227
  [component.componentIdentifier.name]: constants_1.COMPONENT_BUILD_PARAMS.component,
215
228
  [component.componentIdentifier.name + "." + constants_1.SPECIAL_SYMBOLS.ctrl]: `${constants_1.COMPONENT_BUILD_PARAMS.component}.${constants_1.SPECIAL_SYMBOLS.ctrl}`,
216
- [component.propsIdentifier.name]: `${constants_1.COMPONENT_BUILD_PARAMS.component}.props`,
217
- [constants_1.EVENT_CALLBACK_ARGS.element]: `${constants_1.EVENT_CALLBACK_ARGS.event}.target`
229
+ [component.propsIdentifier.name]: `${constants_1.COMPONENT_BUILD_PARAMS.component}.props`
230
+ // [EVENT_CALLBACK_ARGS.element]: `${EVENT_CALLBACK_ARGS.event}.target`
218
231
  };
232
+ if (component.xargMapping.hasOwnProperty(constants_1.XARGS.element)) {
233
+ eventVariableMapping[constants_1.EVENT_CALLBACK_ARGS.element] =
234
+ `${constants_1.EVENT_CALLBACK_ARGS.event}.target`;
235
+ }
219
236
  node.eventListeners.forEach(listener => {
220
237
  const updatedExpression = (0, utils_2.renameVariablesInExpression)(listener.callback, eventVariableMapping);
221
238
  componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.onEvent, [
@@ -1 +1 @@
1
- {"version":3,"file":"processNodes.js","sourceRoot":"","sources":["../../src/consolidation/processNodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processNodes.js","sourceRoot":"","sources":["../../src/consolidation/processNodes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FunctionExpression } from "@babel/types";
1
+ import type { CallExpression, FunctionExpression } from "@babel/types";
2
2
  export type NodeAddress = Array<number>;
3
3
  export interface Detacher {
4
4
  index: number;
@@ -19,3 +19,8 @@ export interface ComponentWatch {
19
19
  };
20
20
  address: NodeAddress;
21
21
  }
22
+ export interface Ref {
23
+ callExpression: CallExpression;
24
+ address: NodeAddress;
25
+ name: string;
26
+ }
@@ -1,16 +1,20 @@
1
1
  export declare enum COMPONENT_BUILD_PARAMS {
2
2
  component = "component",
3
- rootElement = "root"
3
+ rootElement = "root",
4
+ elements = "elements",
5
+ stash = "stash",
6
+ previous = "previous",
7
+ refs = "refs"
4
8
  }
5
9
  export declare enum COMPONENT_METHODS {
6
- render = "render",
7
- getStub = "_gs"
10
+ render = "render"
8
11
  }
9
12
  export declare const HTML_SPLITTER = "____split____";
10
13
  export declare enum IMPORTABLES {
11
14
  defineComponent = "defineComponent",
12
15
  extendComponent = "extendComponent",
13
16
  findElement = "findElement",
17
+ getStub = "getStub",
14
18
  nestComponent = "nestComponent",
15
19
  saveRef = "saveRef",
16
20
  stashMisc = "stashMisc",
@@ -24,19 +28,10 @@ export declare enum IMPORTABLES {
24
28
  export declare enum XARGS {
25
29
  controller = "ctrl",
26
30
  component = "self",
31
+ props = "props",
27
32
  event = "event",
28
33
  element = "element"
29
34
  }
30
- /**
31
- * The scope variables that might be allowed in directive expressions.
32
- * The value is not indicative of the final variable name.
33
- */
34
- export declare enum EXPRESSION_SCOPE_VARIABLES {
35
- component = "self",
36
- props = "props",
37
- element = "element",
38
- event = "event"
39
- }
40
35
  export declare enum WATCH_CALLBACK_ARGS {
41
36
  newValue = "n",
42
37
  oldValue = "o",
@@ -54,7 +49,9 @@ export declare enum EVENT_CALLBACK_ARGS {
54
49
  element = "element"
55
50
  }
56
51
  export declare enum SPECIAL_SYMBOLS {
52
+ elementStash = "_e",
57
53
  objectStash = "_s",
54
+ refs = "refs",
58
55
  noLookup = "__",
59
56
  patch = "patch",
60
57
  ctrl = "ctrl"
package/dist/constants.js CHANGED
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DOM_EVENT_HANDLERS = exports.DOM_EVENTS_LOWERCASE = exports.DOM_EVENTS = exports.SPECIAL_SYMBOLS = exports.EVENT_CALLBACK_ARGS = exports.WATCH_AlWAYS_CALLBACK_ARGS = exports.WATCH_CALLBACK_ARGS = exports.EXPRESSION_SCOPE_VARIABLES = exports.XARGS = exports.IMPORTABLES = exports.HTML_SPLITTER = exports.COMPONENT_METHODS = exports.COMPONENT_BUILD_PARAMS = void 0;
3
+ exports.DOM_EVENT_HANDLERS = exports.DOM_EVENTS_LOWERCASE = exports.DOM_EVENTS = exports.SPECIAL_SYMBOLS = exports.EVENT_CALLBACK_ARGS = exports.WATCH_AlWAYS_CALLBACK_ARGS = exports.WATCH_CALLBACK_ARGS = exports.XARGS = exports.IMPORTABLES = exports.HTML_SPLITTER = exports.COMPONENT_METHODS = exports.COMPONENT_BUILD_PARAMS = void 0;
4
4
  var COMPONENT_BUILD_PARAMS;
5
5
  (function (COMPONENT_BUILD_PARAMS) {
6
6
  COMPONENT_BUILD_PARAMS["component"] = "component";
7
7
  COMPONENT_BUILD_PARAMS["rootElement"] = "root";
8
+ COMPONENT_BUILD_PARAMS["elements"] = "elements";
9
+ COMPONENT_BUILD_PARAMS["stash"] = "stash";
10
+ COMPONENT_BUILD_PARAMS["previous"] = "previous";
11
+ COMPONENT_BUILD_PARAMS["refs"] = "refs";
8
12
  })(COMPONENT_BUILD_PARAMS || (exports.COMPONENT_BUILD_PARAMS = COMPONENT_BUILD_PARAMS = {}));
9
13
  var COMPONENT_METHODS;
10
14
  (function (COMPONENT_METHODS) {
11
15
  COMPONENT_METHODS["render"] = "render";
12
- COMPONENT_METHODS["getStub"] = "_gs";
13
16
  })(COMPONENT_METHODS || (exports.COMPONENT_METHODS = COMPONENT_METHODS = {}));
14
17
  exports.HTML_SPLITTER = "____split____";
15
18
  var IMPORTABLES;
@@ -17,6 +20,7 @@ var IMPORTABLES;
17
20
  IMPORTABLES["defineComponent"] = "defineComponent";
18
21
  IMPORTABLES["extendComponent"] = "extendComponent";
19
22
  IMPORTABLES["findElement"] = "findElement";
23
+ IMPORTABLES["getStub"] = "getStub";
20
24
  IMPORTABLES["nestComponent"] = "nestComponent";
21
25
  IMPORTABLES["saveRef"] = "saveRef";
22
26
  IMPORTABLES["stashMisc"] = "stashMisc";
@@ -31,20 +35,10 @@ var XARGS;
31
35
  (function (XARGS) {
32
36
  XARGS["controller"] = "ctrl";
33
37
  XARGS["component"] = "self";
38
+ XARGS["props"] = "props";
34
39
  XARGS["event"] = "event";
35
40
  XARGS["element"] = "element";
36
41
  })(XARGS || (exports.XARGS = XARGS = {}));
37
- /**
38
- * The scope variables that might be allowed in directive expressions.
39
- * The value is not indicative of the final variable name.
40
- */
41
- var EXPRESSION_SCOPE_VARIABLES;
42
- (function (EXPRESSION_SCOPE_VARIABLES) {
43
- EXPRESSION_SCOPE_VARIABLES["component"] = "self";
44
- EXPRESSION_SCOPE_VARIABLES["props"] = "props";
45
- EXPRESSION_SCOPE_VARIABLES["element"] = "element";
46
- EXPRESSION_SCOPE_VARIABLES["event"] = "event";
47
- })(EXPRESSION_SCOPE_VARIABLES || (exports.EXPRESSION_SCOPE_VARIABLES = EXPRESSION_SCOPE_VARIABLES = {}));
48
42
  var WATCH_CALLBACK_ARGS;
49
43
  (function (WATCH_CALLBACK_ARGS) {
50
44
  WATCH_CALLBACK_ARGS["newValue"] = "n";
@@ -66,7 +60,9 @@ var EVENT_CALLBACK_ARGS;
66
60
  })(EVENT_CALLBACK_ARGS || (exports.EVENT_CALLBACK_ARGS = EVENT_CALLBACK_ARGS = {}));
67
61
  var SPECIAL_SYMBOLS;
68
62
  (function (SPECIAL_SYMBOLS) {
63
+ SPECIAL_SYMBOLS["elementStash"] = "_e";
69
64
  SPECIAL_SYMBOLS["objectStash"] = "_s";
65
+ SPECIAL_SYMBOLS["refs"] = "refs";
70
66
  SPECIAL_SYMBOLS["noLookup"] = "__";
71
67
  SPECIAL_SYMBOLS["patch"] = "patch";
72
68
  SPECIAL_SYMBOLS["ctrl"] = "ctrl";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,8CAAoB,CAAA;IACpB,+CAAqB,CAAA;IACrB,yCAAe,CAAA;IACf,+CAAqB,CAAA;IACrB,uCAAa,CAAA;AACf,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAED,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;AACnB,CAAC,EAFW,iBAAiB,iCAAjB,iBAAiB,QAE5B;AAEY,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,kDAAmC,CAAA;IACnC,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,kCAAmB,CAAA;IACnB,8CAA+B,CAAA;IAC/B,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,wDAAyC,CAAA;AAC3C,CAAC,EAVW,WAAW,2BAAX,WAAW,QAUtB;AAED;;;GAGG;AACH,IAAY,KAMX;AAND,WAAY,KAAK;IACf,4BAAmB,CAAA;IACnB,2BAAkB,CAAA;IAClB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,4BAAmB,CAAA;AACrB,CAAC,EANW,KAAK,qBAAL,KAAK,QAMhB;AAED,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,qCAAc,CAAA;IACd,qCAAc,CAAA;IACd,0CAAuB,CAAA;IACvB,kCAAW,CAAA;IACX,sCAAe,CAAA;AACjB,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B;AAED,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,iDAAuB,CAAA;IACvB,yCAAW,CAAA;IACX,6CAAe,CAAA;AACjB,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;AACzB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,qCAAkB,CAAA;IAClB,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,kCAAe,CAAA;IACf,gCAAa,CAAA;AACf,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAEY,QAAA,UAAU,GAAG;IACxB,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,oBAAoB;IACpB,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,MAAM;IACN,QAAQ;IACR,SAAS;IACT,gBAAgB;IAChB,QAAQ;IACR,OAAO;IACP,OAAO;IACP,aAAa;IACb,MAAM;IACN,WAAW;IACX,KAAK;IACL,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,MAAM;IACN,gBAAgB;IAChB,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,oBAAoB;IACpB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,UAAU;IACV,WAAW;IACX,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,aAAa;IACb,YAAY;IACZ,aAAa;IACb,WAAW;IACX,UAAU;IACV,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,yBAAyB;IACzB,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,UAAU;IACV,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,SAAS;IACT,OAAO;CACR,CAAC;AAEW,QAAA,oBAAoB,GAAG,kBAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5D,QAAA,kBAAkB,GAAG,4BAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC"}
@@ -22,18 +22,6 @@ function expandNameToMemberExpression(name) {
22
22
  }
23
23
  return t.memberExpression(expandNameToMemberExpression(rest), t.identifier(end));
24
24
  }
25
- function checkForIllegalNamesInProps(path, propVariableMap) {
26
- const illegalNamesFound = [];
27
- for (let name in constants_1.XARGS) {
28
- const variable = constants_1.XARGS[name];
29
- if (propVariableMap.hasOwnProperty(variable)) {
30
- illegalNamesFound.push(variable);
31
- }
32
- }
33
- if (illegalNamesFound.length > 0) {
34
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.ILLEGAL_NAMES_IN_PROPS(illegalNamesFound));
35
- }
36
- }
37
25
  function checkForIllegalNamesInExtraArgs(path) {
38
26
  const extraArg = path.node.params[1];
39
27
  if (extraArg === undefined) {
@@ -114,6 +102,7 @@ function mapAndRenameXargs(path, component) {
114
102
  const renameMapping = {};
115
103
  renameMapping[constants_1.XARGS.event] = constants_1.XARGS.event;
116
104
  renameMapping[constants_1.XARGS.element] = constants_1.XARGS.element;
105
+ renameMapping[constants_1.XARGS.props] = component.propsIdentifier.name;
117
106
  renameMapping[constants_1.XARGS.component] = component.componentIdentifier.name;
118
107
  renameMapping[constants_1.XARGS.controller] =
119
108
  `${component.componentIdentifier.name}.${constants_1.SPECIAL_SYMBOLS.ctrl}`;
@@ -133,7 +122,6 @@ function processFunctionParameters(path, component) {
133
122
  return;
134
123
  }
135
124
  const propVariableMap = extractFinalPropsName(path);
136
- checkForIllegalNamesInProps(path, propVariableMap);
137
125
  checkForIllegalNamesInExtraArgs(path);
138
126
  renamePropKeysInsideFunction(path, propVariableMap, component.propsIdentifier.name);
139
127
  mapAndRenameXargs(path, component);
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/contexts/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/contexts/parameters.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,13 @@
7
7
  * changes here be sure to update that file.
8
8
  */
9
9
  import { Directive, TagNode, NodeValue, Qualifier } from "./models";
10
- declare class CssDirective extends Directive {
10
+ declare class ApplyDirective extends Directive {
11
11
  static attributeName: string;
12
- static allowAccessTo: any[];
12
+ static allowNull: boolean;
13
+ static allowString: boolean;
14
+ static allowQualifier: boolean;
15
+ static mayAccessElement: boolean;
13
16
  apply(node: TagNode, value: NodeValue, _qualifier: Qualifier, _base: string): void;
14
17
  }
15
- export declare const builtinDirectives: (typeof CssDirective)[];
18
+ export declare const builtinDirectives: (typeof ApplyDirective)[];
16
19
  export {};
@@ -21,11 +21,7 @@ ApplyDirective.attributeName = "apply";
21
21
  ApplyDirective.allowNull = true;
22
22
  ApplyDirective.allowString = false;
23
23
  ApplyDirective.allowQualifier = false;
24
- ApplyDirective.allowAccessTo = [
25
- constants_1.EXPRESSION_SCOPE_VARIABLES.component,
26
- constants_1.EXPRESSION_SCOPE_VARIABLES.props,
27
- constants_1.EXPRESSION_SCOPE_VARIABLES.element
28
- ];
24
+ ApplyDirective.mayAccessElement = true;
29
25
  class BindDirective extends models_1.Directive {
30
26
  apply(node, value, qualifier, _base) {
31
27
  const eventName = qualifier || "change";
@@ -79,7 +75,7 @@ class CssDirective extends models_1.Directive {
79
75
  }
80
76
  }
81
77
  CssDirective.attributeName = "css";
82
- CssDirective.allowAccessTo = [];
78
+ CssDirective.mayAccessComponent = false;
83
79
  class FixedDirective extends models_1.Directive {
84
80
  apply(node, value, qualifier, _base) {
85
81
  node.addStaticAttribute(qualifier, value.expression);
@@ -87,7 +83,7 @@ class FixedDirective extends models_1.Directive {
87
83
  }
88
84
  FixedDirective.attributeName = "fixed";
89
85
  FixedDirective.requireQualifier = true;
90
- FixedDirective.allowAccessTo = [];
86
+ FixedDirective.mayAccessComponent = false;
91
87
  class HideDirective extends models_1.Directive {
92
88
  apply(node, value, _qualifier, _base) {
93
89
  node.setVisibilityToggle(value.expression, false, false);
@@ -142,12 +138,8 @@ class OnEventDirective extends models_1.Directive {
142
138
  }
143
139
  OnEventDirective.attributeName = "on*";
144
140
  OnEventDirective.allowString = true;
145
- OnEventDirective.allowAccessTo = [
146
- constants_1.EXPRESSION_SCOPE_VARIABLES.component,
147
- constants_1.EXPRESSION_SCOPE_VARIABLES.props,
148
- constants_1.EXPRESSION_SCOPE_VARIABLES.element,
149
- constants_1.EXPRESSION_SCOPE_VARIABLES.event
150
- ];
141
+ OnEventDirective.mayAccessElement = true;
142
+ OnEventDirective.mayAccessEvent = true;
151
143
  OnEventDirective.help = `
152
144
  Creates an event handler:
153
145
 
@@ -1 +1 @@
1
- {"version":3,"file":"directives.js","sourceRoot":"","sources":["../src/directives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../src/directives.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -36,7 +36,6 @@ export declare const ERROR_MESSAGES: {
36
36
  REPEAT_DIRECTIVE_WITH_CHILDREN: string;
37
37
  TOGGLE_TARGETS_WITHOUT_TOGGLE_TRIGGERS: string;
38
38
  UNSUPPORTED_NAMESPACE: string;
39
- ILLEGAL_NAMES_IN_PROPS: (names: string[]) => string;
40
39
  XARGS_MUST_BE_OBJECT: string;
41
40
  ILLEGAL_XARG: (name: string) => string;
42
41
  };
package/dist/errors.js CHANGED
@@ -58,9 +58,6 @@ exports.ERROR_MESSAGES = {
58
58
  REPEAT_DIRECTIVE_WITH_CHILDREN: "Repeat may not have child nodes.",
59
59
  TOGGLE_TARGETS_WITHOUT_TOGGLE_TRIGGERS: "Toggle targets must have toggle triggers.",
60
60
  UNSUPPORTED_NAMESPACE: "Unsupported namespace, may only use 'stub'.",
61
- ILLEGAL_NAMES_IN_PROPS: (names) => `Illegal names in props: ${names
62
- .map(name => `"${name}"`)
63
- .join(", ")} - these are reserved for extra args.`,
64
61
  XARGS_MUST_BE_OBJECT: "Extra args must be a destructured object.",
65
62
  ILLEGAL_XARG: (name) => `Illegal parameter in extra args: "${name}". You are only allowed ${ALLOWED_XARGS.join(", ")}.`
66
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import type { NodePath } from "@babel/core";
2
2
  import type { Expression } from "@babel/types";
3
3
  import { TagNode } from "./node";
4
4
  import { Component } from "../models";
5
- import { EXPRESSION_SCOPE_VARIABLES } from "../constants";
6
5
  export interface NodeValue {
7
6
  type: "string" | "expression" | "null";
8
7
  value?: string;
@@ -21,7 +20,9 @@ export declare class Directive {
21
20
  static allowOnNested: boolean;
22
21
  static allowOnRepeated: boolean;
23
22
  static allowOnNormalElement: boolean;
24
- static allowAccessTo: EXPRESSION_SCOPE_VARIABLES[];
23
+ static mayAccessComponent: boolean;
24
+ static mayAccessElement: boolean;
25
+ static mayAccessEvent: boolean;
25
26
  static allowedTypes: {
26
27
  [key: string]: NodeValue["type"];
27
28
  };
@@ -46,17 +46,61 @@ class Directive {
46
46
  }
47
47
  /*
48
48
  Ensures the expression only accesses the scope variables it is allowed to.
49
+
50
+ In code like this:
51
+
52
+ const Foo = ({ age }, { ctrl, self, element, event, props }) => (
53
+ <div
54
+ onClick={doXYZ(element, event)}
55
+ class={[ctrl, self, age, props.foo, self.bar]}>
56
+ </div>
57
+ );
58
+
59
+ The component.xargMapping would be this:
60
+
61
+ {
62
+ event: 'event',
63
+ element: 'element',
64
+ _props: 'props',
65
+ _component: 'self',
66
+ '_component.ctrl': 'ctrl'
67
+ }
68
+
69
+ And logging (idPath.node.name, ">>", name) in getReferencedScopedVariables prints:
70
+
71
+ element >> element
72
+ event >> event
73
+ _component.ctrl >> ctrl
74
+ _component >> self
75
+ _props >> props
76
+ _props >> props
77
+ _component >> self
78
+
79
+ Note that `doXYZ` is excluded, as the function scope doesn't have its own binding.
80
+
81
+ The error message must mention the original variable name used.
82
+ We must also ignore variables that are not in scope.
49
83
  */
50
84
  validateScopeVariablAccess(node, value, constructor, component) {
51
85
  if (value.type !== "expression")
52
86
  return;
53
- const { attributeName, allowAccessTo } = constructor;
87
+ const { attributeName, mayAccessComponent, mayAccessElement, mayAccessEvent } = constructor;
88
+ const accesError = (name) => (0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_MAY_NOT_ACCESS_SCOPE_VAR(attributeName, name));
54
89
  const refs = getReferencedScopedVariables(value.path, component);
55
- Object.values(constants_1.EXPRESSION_SCOPE_VARIABLES).forEach(name => {
56
- if (!allowAccessTo.includes(name) && refs.includes(name)) {
57
- (0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.DIRECTIVE_MAY_NOT_ACCESS_SCOPE_VAR(attributeName, name));
58
- }
59
- });
90
+ if (!mayAccessElement && refs.includes(constants_1.XARGS.element)) {
91
+ accesError(constants_1.XARGS.element);
92
+ }
93
+ if (!mayAccessEvent && refs.includes(constants_1.XARGS.event)) {
94
+ accesError(constants_1.XARGS.event);
95
+ }
96
+ if (!mayAccessComponent) {
97
+ const componentRefs = [constants_1.XARGS.props, constants_1.XARGS.component, constants_1.XARGS.controller];
98
+ componentRefs.forEach(name => {
99
+ if (refs.includes(name)) {
100
+ accesError(name);
101
+ }
102
+ });
103
+ }
60
104
  }
61
105
  }
62
106
  exports.Directive = Directive;
@@ -68,21 +112,22 @@ Directive.requireQualifier = false;
68
112
  Directive.allowOnNested = false;
69
113
  Directive.allowOnRepeated = false;
70
114
  Directive.allowOnNormalElement = true;
71
- Directive.allowAccessTo = [
72
- constants_1.EXPRESSION_SCOPE_VARIABLES.component,
73
- constants_1.EXPRESSION_SCOPE_VARIABLES.props
74
- ];
115
+ Directive.mayAccessComponent = true;
116
+ Directive.mayAccessElement = false;
117
+ Directive.mayAccessEvent = false;
75
118
  function getReferencedScopedVariables(path, component) {
76
119
  const refs = new Set();
77
120
  path.traverse({
78
121
  Identifier(idPath) {
79
- if (idPath.isReferencedIdentifier()) {
80
- let name = idPath.node.name.split(".")[0];
81
- if (component.xargMapping[name]) {
82
- name = component.xargMapping[name];
122
+ if (idPath.isReferencedIdentifier() && idPath.scope.hasBinding(idPath.node.name)) {
123
+ // An identifier doesn't normally need to be split, as it's just the fist part,
124
+ // but we have renamed some to things like `_component.ctrl` so be mindful.
125
+ let name = idPath.node.name;
126
+ if (component.xargMapping[idPath.node.name]) {
127
+ name = component.xargMapping[idPath.node.name];
83
128
  }
84
129
  else if (name === component.propsIdentifier.name) {
85
- name = constants_1.EXPRESSION_SCOPE_VARIABLES.props;
130
+ name = constants_1.XARGS.props;
86
131
  }
87
132
  refs.add(name);
88
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"directive.js","sourceRoot":"","sources":["../../src/models/directive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directive.js","sourceRoot":"","sources":["../../src/models/directive.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -20,10 +20,14 @@ function createElement(tagName) {
20
20
  function createTextNode(text) {
21
21
  return document.createTextNode(text);
22
22
  }
23
+ function isValidPropertyName(str) {
24
+ return /^(?!\d)[\w$]+$/.test(str);
25
+ }
23
26
  function setAttributeCallback(attName) {
24
27
  attName = attName === "class" ? "className" : attName;
25
- return `${constants_1.WATCH_CALLBACK_ARGS.element}.${attName} = ${constants_1.WATCH_CALLBACK_ARGS.newValue}`;
26
- // TODO: determine if non-standart att and use setAttribute() instead?
28
+ return isValidPropertyName(attName)
29
+ ? `${constants_1.WATCH_CALLBACK_ARGS.element}.${attName} = ${constants_1.WATCH_CALLBACK_ARGS.newValue}`
30
+ : `${constants_1.WATCH_CALLBACK_ARGS.element}.setAttribute('${attName}', ${constants_1.WATCH_CALLBACK_ARGS.newValue})`;
27
31
  }
28
32
  const REGEX_CAPITALIZED = new RegExp(/^[A-Z].*/);
29
33
  function isCapitalized(s) {
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AASA,sCAEC;AAED,wCAEC;AAED,oDAIC;AAID,sCAEC;AAED,gDAEC;AAED,gDAEC;AAKD,8BAOC;AAED,0CAUC;AAED,gCAOC;AApED,iCAA8B;AAE9B,kCAAkC;AAClC,qCAAqC;AAErC,2CAAkD;AAElD,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,+BAAmB,CAAC,OAAO,IAAI,OAAO,MAAM,+BAAmB,CAAC,QAAQ,EAAE,CAAC;IACrF,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,IAAyB;IAClD,MAAM,SAAS,GACb,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AASA,sCAEC;AAED,wCAEC;AAMD,oDAKC;AAID,sCAEC;AAED,gDAEC;AAED,gDAEC;AAKD,8BAOC;AAED,0CAUC;AAED,gCAOC;AAzED,iCAA8B;AAE9B,kCAAkC;AAClC,qCAAqC;AAErC,2CAAkD;AAElD,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,SAAS,mBAAmB,CAAC,GAAG;IAC9B,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,OAAO,mBAAmB,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC,GAAG,+BAAmB,CAAC,OAAO,IAAI,OAAO,MAAM,+BAAmB,CAAC,QAAQ,EAAE;QAC/E,CAAC,CAAC,GAAG,+BAAmB,CAAC,OAAO,kBAAkB,OAAO,MAAM,+BAAmB,CAAC,QAAQ,GAAG,CAAC;AACnG,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,IAAyB;IAClD,MAAM,SAAS,GACb,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
@@ -65,18 +65,20 @@ function buildLookupsArg(componentDefinition) {
65
65
  return t.arrayExpression(values);
66
66
  }
67
67
  function buildComponentBuildFunction(componentDefinition) {
68
- // const dynamicElementsValueObject = buildObjectExpression(
69
- // componentDefinition.dynamicElements,
70
- // );
71
68
  // TODO: clean up temp code when original is an array too.
72
69
  const keys = Object.keys(componentDefinition.dynamicElements).sort();
73
70
  const values = keys.map(key => componentDefinition.dynamicElements[key]);
74
- const dynamicElementsAssignment = t.assignmentExpression("=", t.memberExpression(t.identifier("component"), t.identifier("_e")), t.arrayExpression(values));
75
- const statements = [t.expressionStatement(dynamicElementsAssignment)];
71
+ const pushToElementStash = t.callExpression(t.memberExpression(t.identifier(constants_1.COMPONENT_BUILD_PARAMS.elements), t.identifier("push")), values);
72
+ const setupPrevious = t.callExpression(t.memberExpression(t.identifier(constants_1.COMPONENT_BUILD_PARAMS.previous), t.identifier("push")), componentDefinition.watches.map(watch => t.objectExpression([])));
73
+ const statements = [pushToElementStash, setupPrevious];
76
74
  return t.functionExpression(null, [
77
75
  t.identifier(constants_1.COMPONENT_BUILD_PARAMS.component),
78
- t.identifier(constants_1.COMPONENT_BUILD_PARAMS.rootElement)
79
- ], t.blockStatement(statements));
76
+ t.identifier(constants_1.COMPONENT_BUILD_PARAMS.rootElement),
77
+ t.identifier(constants_1.COMPONENT_BUILD_PARAMS.elements),
78
+ t.identifier(constants_1.COMPONENT_BUILD_PARAMS.stash),
79
+ t.identifier(constants_1.COMPONENT_BUILD_PARAMS.previous),
80
+ t.identifier(constants_1.COMPONENT_BUILD_PARAMS.refs)
81
+ ], t.blockStatement(statements.map(statement => t.expressionStatement(statement))));
80
82
  }
81
83
  function buildDefineComponentCall(component) {
82
84
  const componentDefinition = (0, consolidation_1.consolidateComponent)(component);
@@ -1 +1 @@
1
- {"version":3,"file":"define-component.js","sourceRoot":"","sources":["../../src/writers/define-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-component.js","sourceRoot":"","sources":["../../src/writers/define-component.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babel-plugin-wallace",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "author": "Andrew Buchan",
5
5
  "description": "The babel plugin for wallace",
6
6
  "license": "ISC",
@@ -23,5 +23,5 @@
23
23
  "source-map-support": "^0.5.21",
24
24
  "typescript": "^5.6.3"
25
25
  },
26
- "gitHead": "12194040c835faf9d4f29e105dd908bacdbbb944"
26
+ "gitHead": "451efab81055751fbda64eb80252ec150460e375"
27
27
  }
@@ -1,2 +0,0 @@
1
- import { ComponentWatch } from "./types";
2
- export declare function processeVisibilityToggles(watches: Array<ComponentWatch>): void;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processeVisibilityToggles = processeVisibilityToggles;
4
- const utils_1 = require("../utils");
5
- /**
6
- * Sets the skipCount of each watch's shieldInfo.
7
- * This indicates how many watches to skip if that element is hidden.
8
- * Must be done after processing watches as we need to know how many watches to skip.
9
- */
10
- function setSkipCounts(watch, index, watches) {
11
- watch.shieldInfo.skipCount = watches
12
- .slice(index)
13
- .filter(w => (0, utils_1.arrayStartsWith)(watch.address, w.address)).length;
14
- }
15
- function processeVisibilityToggles(watches) {
16
- watches.forEach((watch, index) => {
17
- if (watch.shieldInfo) {
18
- setSkipCounts(watch, index, watches);
19
- }
20
- });
21
- }
22
- //# sourceMappingURL=visibility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/consolidation/visibility.ts"],"names":[],"mappings":";;AAkBA,8DAMC;AAxBD,oCAA2C;AAG3C;;;;GAIG;AACH,SAAS,aAAa,CACpB,KAAqB,EACrB,KAAa,EACb,OAA8B;IAE9B,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO;SACjC,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAA8B;IACtE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}