babel-plugin-wallace 0.12.2 → 0.13.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.
Files changed (42) hide show
  1. package/dist/config.d.ts +6 -5
  2. package/dist/config.js +18 -15
  3. package/dist/config.js.map +1 -1
  4. package/dist/consolidation/ComponentDefinitionData.d.ts +22 -9
  5. package/dist/consolidation/ComponentDefinitionData.js +58 -21
  6. package/dist/consolidation/ComponentDefinitionData.js.map +1 -1
  7. package/dist/consolidation/consolidateComponent.js +3 -1
  8. package/dist/consolidation/consolidateComponent.js.map +1 -1
  9. package/dist/consolidation/processNodes.d.ts +2 -2
  10. package/dist/consolidation/processNodes.js +181 -163
  11. package/dist/consolidation/processNodes.js.map +1 -1
  12. package/dist/consolidation/types.d.ts +2 -10
  13. package/dist/constants.d.ts +1 -2
  14. package/dist/constants.js +0 -1
  15. package/dist/constants.js.map +1 -1
  16. package/dist/contexts/handlers.js +17 -57
  17. package/dist/contexts/handlers.js.map +1 -1
  18. package/dist/contexts/index.d.ts +1 -2
  19. package/dist/contexts/index.js +3 -3
  20. package/dist/contexts/index.js.map +1 -1
  21. package/dist/contexts/parameters.js +1 -1
  22. package/dist/contexts/parameters.js.map +1 -1
  23. package/dist/directives.js +4 -4
  24. package/dist/directives.js.map +1 -1
  25. package/dist/errors.js +1 -1
  26. package/dist/errors.js.map +1 -1
  27. package/dist/index.js +5 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/models/component.d.ts +1 -1
  30. package/dist/models/component.js +17 -14
  31. package/dist/models/component.js.map +1 -1
  32. package/dist/models/node.d.ts +18 -14
  33. package/dist/models/node.js +38 -34
  34. package/dist/models/node.js.map +1 -1
  35. package/dist/visitors/jsx.js +2 -2
  36. package/dist/visitors/jsx.js.map +1 -1
  37. package/dist/visitors/library.d.ts +8 -2
  38. package/dist/visitors/library.js +16 -2
  39. package/dist/visitors/library.js.map +1 -1
  40. package/dist/writers/defineComponent.js +12 -14
  41. package/dist/writers/defineComponent.js.map +1 -1
  42. package/package.json +2 -2
package/dist/config.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import type { NodePath } from "@babel/core";
2
2
  import { Directive } from "./models";
3
3
  export declare enum FlagValue {
4
- useBase = "useBase",
5
- useControllers = "useControllers",
6
- useMethods = "useMethods",
7
- useParts = "useParts",
8
- useStubs = "useStubs"
4
+ allowBase = "allowBase",
5
+ allowCtrl = "allowCtrl",
6
+ allowMethods = "allowMethods",
7
+ allowParts = "allowParts",
8
+ allowRepeaterSiblings = "allowRepeaterSiblings",
9
+ allowStubs = "allowStubs"
9
10
  }
10
11
  type Flag = Record<FlagValue, boolean>;
11
12
  interface WallaceOptions {
package/dist/config.js CHANGED
@@ -17,25 +17,28 @@ const errors_1 = require("./errors");
17
17
  const directives_1 = require("./directives");
18
18
  var FlagValue;
19
19
  (function (FlagValue) {
20
- FlagValue["useBase"] = "useBase";
21
- FlagValue["useControllers"] = "useControllers";
22
- FlagValue["useMethods"] = "useMethods";
23
- FlagValue["useParts"] = "useParts";
24
- FlagValue["useStubs"] = "useStubs";
20
+ FlagValue["allowBase"] = "allowBase";
21
+ FlagValue["allowCtrl"] = "allowCtrl";
22
+ FlagValue["allowMethods"] = "allowMethods";
23
+ FlagValue["allowParts"] = "allowParts";
24
+ FlagValue["allowRepeaterSiblings"] = "allowRepeaterSiblings";
25
+ FlagValue["allowStubs"] = "allowStubs";
25
26
  })(FlagValue || (exports.FlagValue = FlagValue = {}));
26
27
  const DefaultFlagValues = {
27
- useBase: true,
28
- useControllers: true,
29
- useMethods: true,
30
- useParts: true,
31
- useStubs: true
28
+ allowBase: true,
29
+ allowCtrl: true,
30
+ allowMethods: true,
31
+ allowParts: true,
32
+ allowRepeaterSiblings: true,
33
+ allowStubs: true
32
34
  };
33
35
  const DefaultFlagOverrideValues = {
34
- useBase: false,
35
- useControllers: false,
36
- useMethods: false,
37
- useParts: false,
38
- useStubs: false
36
+ allowBase: false,
37
+ allowCtrl: false,
38
+ allowMethods: false,
39
+ allowParts: false,
40
+ allowRepeaterSiblings: false,
41
+ allowStubs: false
39
42
  };
40
43
  class WallaceConfig {
41
44
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,qCAAiD;AAEjD,6CAAiD;AAEjD,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,oCAAuB,CAAA;IACvB,0CAA6B,CAAA;IAC7B,sCAAyB,CAAA;IACzB,4DAA+C,CAAA;IAC/C,sCAAyB,CAAA;AAC3B,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AASD,MAAM,iBAAiB,GAAS;IAC9B,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,IAAI;IAC3B,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,yBAAyB,GAAS;IACtC,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IACjB,qBAAqB,EAAE,KAAK;IAC5B,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,MAAM,aAAa;IAAnB;QACE,eAAU,GAAwC,EAAE,CAAC;QAErD,gCAAmB,KAAK,EAAC;IA0C3B,CAAC;IAzCC,YAAY,CAAC,OAAuB;QAClC,IAAI,uBAAA,IAAI,6BAAQ,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,uBAAA,IAAI,yBAAW,IAAI,MAAA,CAAC;IACtB,CAAC;IACD,aAAa,CAAC,UAAmC;QAC/C,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC;YACnD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,qBAAqB,cAAc,CAAC,IAAI,8BAA8B,CACvE,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,KAAK,CAAC,wBAAwB,aAAa,SAAS,cAAc,GAAG,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;QAClD,CAAC;IACH,CAAC;IACD,UAAU,CAAC,aAA+B;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,qBAAqB,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,yBAAyB,EAAE,aAAa,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,IAAmB,EAAE,IAAe;QACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAA,cAAK,EAAC,IAAI,EAAE,uBAAc,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF;;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAEjD,qBAAa,CAAC,aAAa,CAAC,8BAAiB,CAAC,CAAC"}
@@ -1,23 +1,20 @@
1
- import type { Expression, CallExpression, FunctionExpression, Identifier } from "@babel/types";
2
- import { Component } from "../models";
1
+ import type { Expression, CallExpression, ArrowFunctionExpression, Identifier, Statement } from "@babel/types";
2
+ import { Component, ExtractedNode } from "../models";
3
3
  import { IMPORTABLES } from "../constants";
4
- import { ComponentWatch, NodeAddress, Part } from "./types";
4
+ import { NodeAddress, Part, ShieldInfo } from "./types";
5
5
  /**
6
6
  * An object with all the consolidated data for writing.
7
7
  */
8
8
  export declare class ComponentDefinitionData {
9
9
  #private;
10
10
  stash: Array<Expression>;
11
+ detachers: Array<Expression>;
11
12
  component: Component;
12
13
  html: Expression;
13
14
  watches: Array<ComponentWatch>;
14
- dynamicElements: {
15
- [key: number]: Expression;
16
- };
15
+ dynamicElements: Expression[];
17
16
  baseComponent: Expression | undefined;
18
- lookups: {
19
- [key: string]: FunctionExpression;
20
- };
17
+ lookups: Map<number, ArrowFunctionExpression>;
21
18
  refs: string[];
22
19
  parts: Array<Part>;
23
20
  constructor(component: Component);
@@ -28,4 +25,20 @@ export declare class ComponentDefinitionData {
28
25
  getLookupCallBackParams(): Array<Identifier>;
29
26
  wrapDynamicElementCall(key: number, functionName: IMPORTABLES, remainingArgs: Expression[]): CallExpression;
30
27
  stashItem(expression: Expression): number;
28
+ createDetacher(expression: Expression): string;
29
+ getDetacherId(index: number): string;
30
+ }
31
+ export declare class ComponentWatch {
32
+ #private;
33
+ shieldInfo?: ShieldInfo | undefined;
34
+ node: ExtractedNode;
35
+ componentDefinition: ComponentDefinitionData;
36
+ elementKey: number;
37
+ address: NodeAddress;
38
+ callbacks: {
39
+ [key: string | number]: ArrowFunctionExpression;
40
+ };
41
+ constructor(node: ExtractedNode, componentDefinition: ComponentDefinitionData, elementKey: number, address: NodeAddress);
42
+ add(lookupKey: string | number, statements: Statement[]): void;
43
+ consolidate(): void;
31
44
  }
@@ -4,44 +4,36 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
5
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
6
  };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
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
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _ComponentDefinitionData_dynamicElementKey, _ComponentDefinitionData_lookupKeys;
7
+ var _ComponentDefinitionData_lookupKeys, _ComponentWatch_tmpCallbacks;
14
8
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ComponentDefinitionData = void 0;
9
+ exports.ComponentWatch = exports.ComponentDefinitionData = void 0;
16
10
  const types_1 = require("@babel/types");
11
+ const constants_1 = require("../constants");
17
12
  const utils_1 = require("./utils");
13
+ const utils_2 = require("../utils");
18
14
  /**
19
15
  * An object with all the consolidated data for writing.
20
16
  */
21
17
  class ComponentDefinitionData {
22
18
  constructor(component) {
23
19
  this.stash = [];
20
+ this.detachers = [];
24
21
  this.watches = [];
25
- this.dynamicElements = {};
26
- this.lookups = {};
22
+ this.dynamicElements = [];
23
+ this.lookups = new Map();
27
24
  this.refs = [];
28
25
  this.parts = [];
29
- _ComponentDefinitionData_dynamicElementKey.set(this, -1);
30
26
  _ComponentDefinitionData_lookupKeys.set(this, []);
31
27
  this.component = component;
32
28
  this.baseComponent = component.baseComponent;
33
29
  }
34
30
  saveDynamicElement(address) {
35
- var _a;
36
- __classPrivateFieldSet(this, _ComponentDefinitionData_dynamicElementKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f"), _a++, _a), "f");
37
- this.dynamicElements[__classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f")] = (0, utils_1.buildFindElementCall)(this.component.module, address);
38
- return __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f");
31
+ this.dynamicElements.push((0, utils_1.buildFindElementCall)(this.component.module, address));
32
+ return this.dynamicElements.length - 1;
39
33
  }
40
34
  saveNestedAsDynamicElement(address, componentCls) {
41
- var _a;
42
- __classPrivateFieldSet(this, _ComponentDefinitionData_dynamicElementKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f"), _a++, _a), "f");
43
- this.dynamicElements[__classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f")] = (0, utils_1.buildNestedClassCall)(this.component.module, address, componentCls);
44
- return __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f");
35
+ this.dynamicElements.push((0, utils_1.buildNestedClassCall)(this.component.module, address, componentCls));
36
+ return this.dynamicElements.length - 1;
45
37
  }
46
38
  addLookup(expression) {
47
39
  const hashExpression = expr => {
@@ -54,7 +46,7 @@ class ComponentDefinitionData {
54
46
  __classPrivateFieldGet(this, _ComponentDefinitionData_lookupKeys, "f").push(hash);
55
47
  }
56
48
  const key = __classPrivateFieldGet(this, _ComponentDefinitionData_lookupKeys, "f").indexOf(hash);
57
- this.lookups[key] = (0, types_1.functionExpression)(null, this.getLookupCallBackParams(), (0, types_1.blockStatement)([(0, types_1.returnStatement)(expression)]));
49
+ this.lookups.set(key, (0, types_1.arrowFunctionExpression)(this.getLookupCallBackParams(), (0, types_1.blockStatement)([(0, types_1.returnStatement)(expression)])));
58
50
  return key;
59
51
  }
60
52
  getFunctionIdentifier(name) {
@@ -71,7 +63,52 @@ class ComponentDefinitionData {
71
63
  this.stash.push(expression);
72
64
  return this.stash.length - 1;
73
65
  }
66
+ createDetacher(expression) {
67
+ this.detachers.push(expression);
68
+ return this.getDetacherId(this.detachers.length - 1);
69
+ }
70
+ getDetacherId(index) {
71
+ return `detacher${index}`;
72
+ }
74
73
  }
75
74
  exports.ComponentDefinitionData = ComponentDefinitionData;
76
- _ComponentDefinitionData_dynamicElementKey = new WeakMap(), _ComponentDefinitionData_lookupKeys = new WeakMap();
75
+ _ComponentDefinitionData_lookupKeys = new WeakMap();
76
+ class ComponentWatch {
77
+ constructor(node, componentDefinition, elementKey, address) {
78
+ _ComponentWatch_tmpCallbacks.set(this, {});
79
+ this.callbacks = {};
80
+ this.node = node;
81
+ this.componentDefinition = componentDefinition;
82
+ this.elementKey = elementKey;
83
+ this.address = address;
84
+ if (this.elementKey === undefined) {
85
+ // Means we messed up shouldSaveElement vs needsWatch
86
+ throw "Internal Error: elementKey is undefined";
87
+ }
88
+ node.watches.forEach(watch => {
89
+ if (watch.expression == constants_1.SPECIAL_SYMBOLS.noLookup) {
90
+ this.add(constants_1.SPECIAL_SYMBOLS.noLookup, (0, utils_2.codeToNode)(watch.callback));
91
+ }
92
+ else {
93
+ const lookupKey = componentDefinition.addLookup(watch.expression);
94
+ this.add(lookupKey, (0, utils_2.codeToNode)(watch.callback));
95
+ }
96
+ });
97
+ componentDefinition.watches.push(this);
98
+ }
99
+ add(lookupKey, statements) {
100
+ if (!__classPrivateFieldGet(this, _ComponentWatch_tmpCallbacks, "f").hasOwnProperty(lookupKey)) {
101
+ __classPrivateFieldGet(this, _ComponentWatch_tmpCallbacks, "f")[lookupKey] = [];
102
+ }
103
+ __classPrivateFieldGet(this, _ComponentWatch_tmpCallbacks, "f")[lookupKey].push(...statements);
104
+ }
105
+ consolidate() {
106
+ for (const key in __classPrivateFieldGet(this, _ComponentWatch_tmpCallbacks, "f")) {
107
+ const args = (0, utils_1.buildWatchCallbackParams)(this.componentDefinition.component, key === constants_1.SPECIAL_SYMBOLS.noLookup);
108
+ this.callbacks[key] = (0, types_1.arrowFunctionExpression)(args, (0, types_1.blockStatement)(__classPrivateFieldGet(this, _ComponentWatch_tmpCallbacks, "f")[key]));
109
+ }
110
+ }
111
+ }
112
+ exports.ComponentWatch = ComponentWatch;
113
+ _ComponentWatch_tmpCallbacks = new WeakMap();
77
114
  //# sourceMappingURL=ComponentDefinitionData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDefinitionData.js","sourceRoot":"","sources":["../../src/consolidation/ComponentDefinitionData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentDefinitionData.js","sourceRoot":"","sources":["../../src/consolidation/ComponentDefinitionData.ts"],"names":[],"mappings":";;;;;;;;;AAOA,wCAMsB;AAEtB,4CAA4D;AAE5D,mCAKiB;AACjB,oCAAsC;AAEtC;;GAEG;AACH,MAAa,uBAAuB;IAYlC,YAAY,SAAoB;QAXhC,UAAK,GAAsB,EAAE,CAAC;QAC9B,cAAS,GAAsB,EAAE,CAAC;QAGlC,YAAO,GAA0B,EAAE,CAAC;QACpC,oBAAe,GAAiB,EAAE,CAAC;QAEnC,YAAO,GAAyC,IAAI,GAAG,EAAE,CAAC;QAC1D,SAAI,GAAa,EAAE,CAAC;QACpB,UAAK,GAAgB,EAAE,CAAC;QACxB,8CAA6B,EAAE,EAAC;QAE9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC/C,CAAC;IAED,kBAAkB,CAAC,OAAoB;QACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAA,4BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,0BAA0B,CAAC,OAAoB,EAAE,YAAwB;QACvE,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAA,4BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CACnE,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,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,CACd,GAAG,EACH,IAAA,+BAAuB,EACrB,IAAI,CAAC,uBAAuB,EAAE,EAC9B,IAAA,sBAAc,EAAC,CAAC,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAC,CAAC,CAC9C,CACF,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,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAA,sBAAc,EAChD,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,EACxC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,aAAa,CAAC,CAC9C,CAAC,CAAC;IACL,CAAC;IACD,SAAS,CAAC,UAAsB;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,CAAC,UAAsB;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,aAAa,CAAC,KAAa;QACzB,OAAO,WAAW,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AA3ED,0DA2EC;;AAED,MAAa,cAAc;IAQzB,YACE,IAAmB,EACnB,mBAA4C,EAC5C,UAAkB,EAClB,OAAoB;QANtB,uCAA8D,EAAE,EAAC;QACjE,cAAS,GAAwD,EAAE,CAAC;QAOlE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,qDAAqD;YACrD,MAAM,yCAAyC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,KAAK,CAAC,UAAU,IAAI,2BAAe,CAAC,QAAQ,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,2BAAe,CAAC,QAAQ,EAAE,IAAA,kBAAU,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAA,kBAAU,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,GAAG,CAAC,SAA0B,EAAE,UAAuB;QACrD,IAAI,CAAC,uBAAA,IAAI,oCAAc,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,uBAAA,IAAI,oCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACrC,CAAC;QACD,uBAAA,IAAI,oCAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACpD,CAAC;IACD,WAAW;QACT,KAAK,MAAM,GAAG,IAAI,uBAAA,IAAI,oCAAc,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAA,gCAAwB,EACnC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAClC,GAAG,KAAK,2BAAe,CAAC,QAAQ,CACjC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,+BAAuB,EAC3C,IAAI,EACJ,IAAA,sBAAc,EAAC,uBAAA,IAAI,oCAAc,CAAC,GAAG,CAAC,CAAC,CACxC,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAlDD,wCAkDC"}
@@ -32,7 +32,9 @@ function hoistTextNodes(component) {
32
32
  function consolidateComponent(component) {
33
33
  const componentDefinition = new ComponentDefinitionData_1.ComponentDefinitionData(component);
34
34
  hoistTextNodes(component);
35
- (0, processNodes_1.processNodes)(component, componentDefinition);
35
+ component.extractedNodes.forEach(node => {
36
+ (0, processNodes_1.processNode)(componentDefinition, node);
37
+ });
36
38
  (0, postProcessing_1.postProcessing)(componentDefinition);
37
39
  // This must be done after all the processing, as DOM may have changed.
38
40
  componentDefinition.html = component.buildHTMLString();
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"consolidateComponent.js","sourceRoot":"","sources":["../../src/consolidation/consolidateComponent.ts"],"names":[],"mappings":";;AA8BA,oDAWC;AAzCD,sCAAuD;AACvD,qDAAkD;AAClD,uEAAoE;AACpE,iDAA6C;AAC7C,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;IAE1B,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACtC,IAAA,0BAAW,EAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,IAAA,+BAAc,EAAC,mBAAmB,CAAC,CAAC;IACpC,uEAAuE;IACvE,mBAAmB,CAAC,IAAI,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IACvD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Component } from "../models";
1
+ import { ExtractedNode } from "../models";
2
2
  import { ComponentDefinitionData } from "./ComponentDefinitionData";
3
- export declare function processNodes(component: Component, componentDefinition: ComponentDefinitionData): void;
3
+ export declare function processNode(componentDefinition: ComponentDefinitionData, node: ExtractedNode): void;