babel-plugin-wallace 0.0.6 → 0.0.8

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 (44) hide show
  1. package/dist/ast-helpers.d.ts +1 -1
  2. package/dist/ast-helpers.js +2 -10
  3. package/dist/ast-helpers.js.map +1 -1
  4. package/dist/config.d.ts +2 -2
  5. package/dist/config.js +9 -9
  6. package/dist/consolidation/ComponentDefinitionData.d.ts +7 -7
  7. package/dist/consolidation/ComponentDefinitionData.js +19 -24
  8. package/dist/consolidation/ComponentDefinitionData.js.map +1 -1
  9. package/dist/consolidation/consolidateComponent.d.ts +1 -1
  10. package/dist/consolidation/consolidateComponent.js +2 -2
  11. package/dist/consolidation/consolidateComponent.js.map +1 -1
  12. package/dist/consolidation/processNodes.js +62 -36
  13. package/dist/consolidation/processNodes.js.map +1 -1
  14. package/dist/consolidation/types.d.ts +10 -4
  15. package/dist/consolidation/utils.js +0 -1
  16. package/dist/consolidation/utils.js.map +1 -1
  17. package/dist/consolidation/visibility.d.ts +1 -4
  18. package/dist/consolidation/visibility.js +10 -31
  19. package/dist/consolidation/visibility.js.map +1 -1
  20. package/dist/constants.d.ts +7 -5
  21. package/dist/constants.js +12 -10
  22. package/dist/constants.js.map +1 -1
  23. package/dist/contexts/parameters.js +7 -6
  24. package/dist/contexts/parameters.js.map +1 -1
  25. package/dist/directives.js +22 -5
  26. package/dist/directives.js.map +1 -1
  27. package/dist/errors.d.ts +3 -3
  28. package/dist/errors.js +3 -3
  29. package/dist/errors.js.map +1 -1
  30. package/dist/index.d.ts +2 -2
  31. package/dist/index.js +3 -3
  32. package/dist/models/component.js +4 -2
  33. package/dist/models/component.js.map +1 -1
  34. package/dist/models/index.d.ts +2 -2
  35. package/dist/models/node.d.ts +7 -3
  36. package/dist/models/node.js +16 -101
  37. package/dist/models/node.js.map +1 -1
  38. package/dist/utils.js +1 -1
  39. package/dist/utils.js.map +1 -1
  40. package/dist/visitors/attribute.js +8 -3
  41. package/dist/visitors/attribute.js.map +1 -1
  42. package/dist/writers/define-component.js +45 -33
  43. package/dist/writers/define-component.js.map +1 -1
  44. package/package.json +2 -2
@@ -7,4 +7,4 @@ export declare function getJSXElementName(path: NodePath<JSXElement>): string |
7
7
  /**
8
8
  * An Expression can be one of dozens of types, most of which are not usable.
9
9
  */
10
- export declare function getPlaceholderExpression(path: NodePath, expression: Expression | JSXEmptyExpression): Expression;
10
+ export declare function getPlaceholderExpression(path: NodePath, expression: Expression | JSXEmptyExpression): Expression | undefined;
@@ -31,22 +31,14 @@ function getJSXElementName(path) {
31
31
  * An Expression can be one of dozens of types, most of which are not usable.
32
32
  */
33
33
  function getPlaceholderExpression(path, expression) {
34
- // if (
35
- // // TODO: I probably need to expand this...
36
- // t.isIdentifier(expression) ||
37
- // t.isMemberExpression(expression) ||
38
- // t.isCallExpression(expression)
39
- // ) {
40
- // return expression;
41
- // } else
42
34
  if (t.isJSXEmptyExpression(expression)) {
43
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.PLACEHOLDER_MAY_NOT_BE_EMPTY);
35
+ // This is really to handle comments
36
+ return undefined;
44
37
  }
45
38
  else if (t.isObjectExpression(expression)) {
46
39
  // The code is copied, so the object would be created afresh each time.
47
40
  (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.PLACEHOLDER_MAY_NOT_BE_LITERAL_OBJECT);
48
41
  }
49
- //error(path, ERROR_MESSAGES.INVALID_PLACEHOLDER_EXPRESSION);
50
42
  return expression;
51
43
  }
52
44
  //# sourceMappingURL=ast-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../src/ast-helpers.ts"],"names":[],"mappings":";;AAKA,8CAoBC;AAKD,4DAoBC;AAlDD,kCAAkC;AAGlC,qCAAiD;AAEjD,SAAgB,iBAAiB,CAC/B,IAA0B;IAE1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IACzD,IAAI,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1C,OAAO,kBAAkB,CAAC,IAAI,CAAC;IACjC,CAAC;SAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;QAC/C,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,CAAC,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;QAChD,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAA,cAAK,EAAC,IAAI,EAAE,uBAAc,CAAC,2BAA2B,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC,wBAAwB,kBAAkB,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,IAAc,EACd,UAA2C;IAE3C,OAAO;IACP,+CAA+C;IAC/C,kCAAkC;IAClC,wCAAwC;IACxC,mCAAmC;IACnC,MAAM;IACN,uBAAuB;IACvB,SAAS;IACT,IAAI,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,IAAA,cAAK,EAAC,IAAI,EAAE,uBAAc,CAAC,4BAA4B,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,uEAAuE;QACvE,IAAA,cAAK,EAAC,IAAI,EAAE,uBAAc,CAAC,qCAAqC,CAAC,CAAC;IACpE,CAAC;IACD,6DAA6D;IAC7D,OAAO,UAAwB,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../src/ast-helpers.ts"],"names":[],"mappings":";;AAKA,8CAoBC;AAKD,4DAYC;AA1CD,kCAAkC;AAGlC,qCAAiD;AAEjD,SAAgB,iBAAiB,CAC/B,IAA0B;IAE1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IACzD,IAAI,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1C,OAAO,kBAAkB,CAAC,IAAI,CAAC;IACjC,CAAC;SAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;QAC/C,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,CAAC,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;QAChD,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAA,cAAK,EAAC,IAAI,EAAE,uBAAc,CAAC,2BAA2B,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC,wBAAwB,kBAAkB,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,IAAc,EACd,UAA2C;IAE3C,IAAI,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,oCAAoC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,uEAAuE;QACvE,IAAA,cAAK,EAAC,IAAI,EAAE,uBAAc,CAAC,qCAAqC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,UAAwB,CAAC;AAClC,CAAC"}
package/dist/config.d.ts CHANGED
@@ -2,7 +2,7 @@ import { Directive } from "./models";
2
2
  interface GleekitOptions {
3
3
  directives?: Array<typeof Directive>;
4
4
  }
5
- declare class GleekitConfig {
5
+ declare class WallaceConfig {
6
6
  #private;
7
7
  directives: {
8
8
  [key: string]: typeof Directive;
@@ -10,5 +10,5 @@ declare class GleekitConfig {
10
10
  applyOptions(options: GleekitOptions): void;
11
11
  addDirectives(directives: Array<typeof Directive>): void;
12
12
  }
13
- export declare const gleekitConfig: GleekitConfig;
13
+ export declare const wallaceConfig: WallaceConfig;
14
14
  export {};
package/dist/config.js CHANGED
@@ -10,23 +10,23 @@ 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 _GleekitConfig_loaded;
13
+ var _WallaceConfig_loaded;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.gleekitConfig = void 0;
15
+ exports.wallaceConfig = void 0;
16
16
  const directives_1 = require("./directives");
17
- class GleekitConfig {
17
+ class WallaceConfig {
18
18
  constructor() {
19
19
  this.directives = {};
20
- _GleekitConfig_loaded.set(this, false);
20
+ _WallaceConfig_loaded.set(this, false);
21
21
  }
22
22
  applyOptions(options) {
23
- if (__classPrivateFieldGet(this, _GleekitConfig_loaded, "f")) {
23
+ if (__classPrivateFieldGet(this, _WallaceConfig_loaded, "f")) {
24
24
  return;
25
25
  }
26
26
  if (options.directives) {
27
27
  this.addDirectives(options.directives);
28
28
  }
29
- __classPrivateFieldSet(this, _GleekitConfig_loaded, true, "f");
29
+ __classPrivateFieldSet(this, _WallaceConfig_loaded, true, "f");
30
30
  }
31
31
  addDirectives(directives) {
32
32
  for (const directiveClass of directives) {
@@ -41,7 +41,7 @@ class GleekitConfig {
41
41
  }
42
42
  }
43
43
  }
44
- _GleekitConfig_loaded = new WeakMap();
45
- exports.gleekitConfig = new GleekitConfig();
46
- exports.gleekitConfig.addDirectives(directives_1.builtinDirectives);
44
+ _WallaceConfig_loaded = new WeakMap();
45
+ exports.wallaceConfig = new WallaceConfig();
46
+ exports.wallaceConfig.addDirectives(directives_1.builtinDirectives);
47
47
  //# sourceMappingURL=config.js.map
@@ -10,8 +10,8 @@ export declare class ComponentDefinitionData {
10
10
  component: Component;
11
11
  html: string;
12
12
  watches: Array<ComponentWatch>;
13
- stash: {
14
- [key: string]: CallExpression;
13
+ dynamicElements: {
14
+ [key: number]: CallExpression;
15
15
  };
16
16
  baseComponent: Expression | undefined;
17
17
  lookups: {
@@ -19,11 +19,11 @@ export declare class ComponentDefinitionData {
19
19
  };
20
20
  collectedRefs: Array<string>;
21
21
  constructor(component: Component);
22
- saveElementToStash(address: NodeAddress): string;
23
- saveNestedClassToStash(address: NodeAddress, componentCls: Expression): string;
24
- addLookup(expression: Expression): string;
22
+ saveDynamicElement(address: NodeAddress): number;
23
+ saveNestedAsDynamicElement(address: NodeAddress, componentCls: Expression): number;
24
+ addLookup(expression: Expression): number;
25
25
  getFunctionIdentifier(name: IMPORTABLES): Identifier;
26
26
  getLookupCallBackParams(): Array<Identifier>;
27
- wrapStashCall(key: string, functionName: IMPORTABLES, remainingArgs: Expression[]): void;
28
- getNextMiscObjectKey(): number;
27
+ wrapDynamicElementCall(key: number, functionName: IMPORTABLES, remainingArgs: Expression[]): void;
28
+ getNextmiscStashKey(): number;
29
29
  }
@@ -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 _ComponentDefinitionData_stashKey, _ComponentDefinitionData_miscObjectKey, _ComponentDefinitionData_lookupKeys;
13
+ var _ComponentDefinitionData_dynamicElementKey, _ComponentDefinitionData_miscStashKey, _ComponentDefinitionData_lookupKeys;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ComponentDefinitionData = void 0;
16
16
  const types_1 = require("@babel/types");
@@ -21,28 +21,26 @@ const utils_1 = require("./utils");
21
21
  class ComponentDefinitionData {
22
22
  constructor(component) {
23
23
  this.watches = [];
24
- this.stash = {};
24
+ this.dynamicElements = {};
25
25
  this.lookups = {};
26
26
  this.collectedRefs = [];
27
- _ComponentDefinitionData_stashKey.set(this, 0);
28
- _ComponentDefinitionData_miscObjectKey.set(this, 0);
27
+ _ComponentDefinitionData_dynamicElementKey.set(this, -1);
28
+ _ComponentDefinitionData_miscStashKey.set(this, 0);
29
29
  _ComponentDefinitionData_lookupKeys.set(this, []);
30
30
  this.component = component;
31
31
  this.baseComponent = component.baseComponent;
32
32
  }
33
- saveElementToStash(address) {
33
+ saveDynamicElement(address) {
34
34
  var _a;
35
- __classPrivateFieldSet(this, _ComponentDefinitionData_stashKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_stashKey, "f"), _a++, _a), "f");
36
- const key = String(__classPrivateFieldGet(this, _ComponentDefinitionData_stashKey, "f"));
37
- this.stash[key] = (0, utils_1.buildFindElementCall)(this.component.module, address);
38
- return key;
35
+ __classPrivateFieldSet(this, _ComponentDefinitionData_dynamicElementKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f"), _a++, _a), "f");
36
+ this.dynamicElements[__classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f")] = (0, utils_1.buildFindElementCall)(this.component.module, address);
37
+ return __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f");
39
38
  }
40
- saveNestedClassToStash(address, componentCls) {
39
+ saveNestedAsDynamicElement(address, componentCls) {
41
40
  var _a;
42
- __classPrivateFieldSet(this, _ComponentDefinitionData_stashKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_stashKey, "f"), _a++, _a), "f");
43
- const key = String(__classPrivateFieldGet(this, _ComponentDefinitionData_stashKey, "f"));
44
- this.stash[key] = (0, utils_1.buildNestedClassCall)(this.component.module, address, componentCls);
45
- return key;
41
+ __classPrivateFieldSet(this, _ComponentDefinitionData_dynamicElementKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f"), _a++, _a), "f");
42
+ this.dynamicElements[__classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f")] = (0, utils_1.buildNestedClassCall)(this.component.module, address, componentCls);
43
+ return __classPrivateFieldGet(this, _ComponentDefinitionData_dynamicElementKey, "f");
46
44
  }
47
45
  addLookup(expression) {
48
46
  const hashExpression = (expr) => {
@@ -54,7 +52,7 @@ class ComponentDefinitionData {
54
52
  if (__classPrivateFieldGet(this, _ComponentDefinitionData_lookupKeys, "f").indexOf(hash) === -1) {
55
53
  __classPrivateFieldGet(this, _ComponentDefinitionData_lookupKeys, "f").push(hash);
56
54
  }
57
- const key = String(__classPrivateFieldGet(this, _ComponentDefinitionData_lookupKeys, "f").indexOf(hash));
55
+ const key = __classPrivateFieldGet(this, _ComponentDefinitionData_lookupKeys, "f").indexOf(hash);
58
56
  this.lookups[key] = (0, types_1.functionExpression)(null, this.getLookupCallBackParams(), (0, types_1.blockStatement)([(0, types_1.returnStatement)(expression)]));
59
57
  return key;
60
58
  }
@@ -65,18 +63,15 @@ class ComponentDefinitionData {
65
63
  getLookupCallBackParams() {
66
64
  return [this.component.propsIdentifier, this.component.componentIdentifier];
67
65
  }
68
- wrapStashCall(key, functionName, remainingArgs) {
69
- this.stash[key] = (0, types_1.callExpression)(this.getFunctionIdentifier(functionName), [
70
- this.stash[key],
71
- ...remainingArgs,
72
- ]);
66
+ wrapDynamicElementCall(key, functionName, remainingArgs) {
67
+ this.dynamicElements[key] = (0, types_1.callExpression)(this.getFunctionIdentifier(functionName), [this.dynamicElements[key], ...remainingArgs]);
73
68
  }
74
- getNextMiscObjectKey() {
69
+ getNextmiscStashKey() {
75
70
  var _a;
76
- __classPrivateFieldSet(this, _ComponentDefinitionData_miscObjectKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_miscObjectKey, "f"), _a++, _a), "f");
77
- return __classPrivateFieldGet(this, _ComponentDefinitionData_miscObjectKey, "f") - 1;
71
+ __classPrivateFieldSet(this, _ComponentDefinitionData_miscStashKey, (_a = __classPrivateFieldGet(this, _ComponentDefinitionData_miscStashKey, "f"), _a++, _a), "f");
72
+ return __classPrivateFieldGet(this, _ComponentDefinitionData_miscStashKey, "f") - 1;
78
73
  }
79
74
  }
80
75
  exports.ComponentDefinitionData = ComponentDefinitionData;
81
- _ComponentDefinitionData_stashKey = new WeakMap(), _ComponentDefinitionData_miscObjectKey = new WeakMap(), _ComponentDefinitionData_lookupKeys = new WeakMap();
76
+ _ComponentDefinitionData_dynamicElementKey = new WeakMap(), _ComponentDefinitionData_miscStashKey = new WeakMap(), _ComponentDefinitionData_lookupKeys = new WeakMap();
82
77
  //# 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":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Component } from "../models";
2
2
  import { ComponentDefinitionData } from "./ComponentDefinitionData";
3
3
  /**
4
- * Deals with shielding, setting ref keys and such.
4
+ * Deals with visibility toggles, setting ref keys and such.
5
5
  */
6
6
  export declare function consolidateComponent(component: Component): ComponentDefinitionData;
@@ -27,13 +27,13 @@ function hoistTextNodes(component) {
27
27
  });
28
28
  }
29
29
  /**
30
- * Deals with shielding, setting ref keys and such.
30
+ * Deals with visibility toggles, setting ref keys and such.
31
31
  */
32
32
  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.processShields)(componentDefinition.watches);
36
+ (0, visibility_1.processeVisibilityToggles)(componentDefinition.watches);
37
37
  // This must be done after all the processing, as DOM may have changed.
38
38
  componentDefinition.html = component.rootElement.outerHTML;
39
39
  return componentDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateComponent.js","sourceRoot":"","sources":["../../src/consolidation/consolidateComponent.ts"],"names":[],"mappings":";;AA8BA,oDAUC;AAxCD,sCAAuD;AACvD,6CAA8C;AAC9C,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,CAAC,IAAI,EAAE,EAAE;QACxC,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,CAAC,IAAI,EAAE,EAAE;QAC7B,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,CAClC,SAAoB;IAEpB,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,2BAAc,EAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,uEAAuE;IACvE,mBAAmB,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;IAC3D,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"consolidateComponent.js","sourceRoot":"","sources":["../../src/consolidation/consolidateComponent.ts"],"names":[],"mappings":";;AA8BA,oDAUC;AAxCD,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,CAAC,IAAI,EAAE,EAAE;QACxC,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,CAAC,IAAI,EAAE,EAAE;QAC7B,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,CAClC,SAAoB;IAEpB,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,WAAW,CAAC,SAAS,CAAC;IAC3D,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -14,7 +14,7 @@ function addBindInstruction(node) {
14
14
  const attribute = inputType === "checkbox" ? "checked" : "value";
15
15
  node.bindInstructions.forEach(({ eventName, expression }) => {
16
16
  node.watchAttribute(attribute, expression);
17
- const callback = t.assignmentExpression("=", expression, t.memberExpression(t.identifier(constants_1.EVENT_CALLBACK_VARIABLES.element), t.identifier(attribute)));
17
+ const callback = t.assignmentExpression("=", expression, t.memberExpression(t.identifier(constants_1.EXTRA_PARAMETERS.element), t.identifier(attribute)));
18
18
  node.addEventListener(eventName, callback);
19
19
  });
20
20
  }
@@ -22,14 +22,6 @@ function addBindInstruction(node) {
22
22
  (0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.BIND_ONLY_ALLOWED_ON_INPUT);
23
23
  }
24
24
  }
25
- function addShieldInfo(componentDefinition, componentWatch, shieldInfo) {
26
- const shieldLookupKey = componentDefinition.addLookup(shieldInfo.expression);
27
- componentWatch.shieldInfo = {
28
- count: 0,
29
- key: shieldLookupKey,
30
- reverse: shieldInfo.reverse,
31
- };
32
- }
33
25
  function ensureToggleTargetsHaveTriggers(node) {
34
26
  node.toggleTargets.forEach((target) => {
35
27
  const match = node.toggleTriggers.find((trigger) => trigger.name == target.name);
@@ -86,28 +78,39 @@ function processNodes(component, componentDefinition) {
86
78
  const stubComponentName = stubName
87
79
  ? t.memberExpression(t.identifier(constants_1.COMPONENT_BUILD_PARAMS.component), t.identifier(stubName))
88
80
  : undefined;
89
- const shieldInfo = node.getShieldInfo();
81
+ const visibilityToggle = node.getVisibilityToggle();
90
82
  const ref = node.getRef();
91
83
  const repeatInstruction = node.getRepeatInstruction();
92
84
  const createWatch = node.watches.length > 0 ||
93
85
  node.bindInstructions.length > 0 ||
94
86
  node.toggleTriggers.length > 0 ||
95
- shieldInfo ||
87
+ visibilityToggle ||
96
88
  node.isNestedClass ||
97
89
  stubName ||
98
90
  repeatInstruction;
99
- const shouldStash = createWatch || ref || node.eventListeners.length > 0;
91
+ // TODO: should ref really save the element?
92
+ const shouldSaveElement = createWatch ||
93
+ ref ||
94
+ node.eventListeners.length > 0 ||
95
+ node.hasConditionalChildren;
100
96
  ensureToggleTargetsHaveTriggers(node);
101
- if (shouldStash) {
97
+ if (shouldSaveElement) {
102
98
  const nestedComponentCls = node.isNestedClass
103
99
  ? t.identifier(node.tagName)
104
100
  : stubComponentName;
105
- const stashRef = nestedComponentCls
106
- ? componentDefinition.saveNestedClassToStash(node.address, nestedComponentCls)
107
- : componentDefinition.saveElementToStash(node.address);
101
+ node.elementKey = nestedComponentCls
102
+ ? componentDefinition.saveNestedAsDynamicElement(node.address, nestedComponentCls)
103
+ : componentDefinition.saveDynamicElement(node.address);
108
104
  if (node.bindInstructions.length) {
109
105
  addBindInstruction(node);
110
106
  }
107
+ if (node.hasConditionalChildren) {
108
+ node.detacherStashKey = componentDefinition.getNextmiscStashKey();
109
+ componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.stashMisc, [
110
+ (0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component),
111
+ t.objectExpression([]),
112
+ ]);
113
+ }
111
114
  if (createWatch) {
112
115
  const _callbacks = {};
113
116
  const addCallbackStatement = (key, statements) => {
@@ -117,7 +120,7 @@ function processNodes(component, componentDefinition) {
117
120
  _callbacks[key].push(...statements);
118
121
  };
119
122
  const componentWatch = {
120
- stashRef,
123
+ elementKey: node.elementKey,
121
124
  callbacks: {},
122
125
  address: node.address,
123
126
  };
@@ -128,7 +131,10 @@ function processNodes(component, componentDefinition) {
128
131
  });
129
132
  if (node.isNestedClass) {
130
133
  const props = node.getProps();
131
- const args = props ? [props] : [];
134
+ const ctrlArg = (0, types_1.memberExpression)(component.componentIdentifier, (0, types_1.identifier)(constants_1.SPECIAL_SYMBOLS.ctrl));
135
+ const args = props
136
+ ? [props, ctrlArg]
137
+ : [(0, types_1.identifier)("undefined"), ctrlArg];
132
138
  addCallbackStatement(constants_1.SPECIAL_SYMBOLS.alwaysUpdate, [
133
139
  (0, types_1.expressionStatement)((0, types_1.callExpression)((0, types_1.memberExpression)((0, types_1.identifier)(constants_1.WATCH_CALLBACK_PARAMS.element), (0, types_1.identifier)("render")), args)),
134
140
  ]);
@@ -139,25 +145,45 @@ function processNodes(component, componentDefinition) {
139
145
  // Need to be careful with WATCH_CALLBACK_PARAMS
140
146
  if (stubName) {
141
147
  addCallbackStatement(constants_1.SPECIAL_SYMBOLS.alwaysUpdate, [
142
- (0, types_1.expressionStatement)((0, types_1.callExpression)((0, types_1.memberExpression)((0, types_1.identifier)(constants_1.WATCH_CALLBACK_PARAMS.element), (0, types_1.identifier)("render")), [component.propsIdentifier])),
148
+ (0, types_1.expressionStatement)((0, types_1.callExpression)((0, types_1.memberExpression)((0, types_1.identifier)(constants_1.WATCH_CALLBACK_PARAMS.element), (0, types_1.identifier)("render")), [
149
+ component.propsIdentifier,
150
+ (0, types_1.memberExpression)(component.componentIdentifier, (0, types_1.identifier)(constants_1.SPECIAL_SYMBOLS.ctrl)),
151
+ ])),
143
152
  ]);
144
153
  }
145
- if (shieldInfo) {
146
- addShieldInfo(componentDefinition, componentWatch, shieldInfo);
154
+ if (visibilityToggle) {
155
+ const shieldLookupKey = componentDefinition.addLookup(visibilityToggle.expression);
156
+ componentWatch.shieldInfo = {
157
+ skipCount: 0, // gets set later once we've processed all the nodes.
158
+ key: shieldLookupKey,
159
+ reverse: visibilityToggle.reverse,
160
+ };
161
+ if (visibilityToggle.detach) {
162
+ if (node.parent.detacherStashKey === undefined) {
163
+ throw new Error("Parent node was not given a stash key");
164
+ }
165
+ componentWatch.shieldInfo.detacher = {
166
+ index: node.address[node.address.length - 1],
167
+ stashKey: node.parent.detacherStashKey,
168
+ parentKey: node.parent.elementKey,
169
+ };
170
+ }
147
171
  }
148
172
  if (repeatInstruction) {
149
- const miscObjectKey = componentDefinition.getNextMiscObjectKey();
150
- componentDefinition.component.module.requireImport(constants_1.IMPORTABLES.getSequentialPool);
173
+ componentDefinition.component.module.requireImport(constants_1.IMPORTABLES.getSequentialRepeater);
151
174
  const poolInstance = repeatInstruction.poolExpression ||
152
- (0, types_1.callExpression)((0, types_1.identifier)(constants_1.IMPORTABLES.getSequentialPool), [
175
+ (0, types_1.callExpression)((0, types_1.identifier)(constants_1.IMPORTABLES.getSequentialRepeater), [
153
176
  (0, types_1.identifier)(repeatInstruction.componentCls),
154
177
  ]);
155
- componentDefinition.wrapStashCall(stashRef, constants_1.IMPORTABLES.saveMiscObject, [(0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component), poolInstance]);
178
+ // TODO: couple the stash index with the call to save - if possible?
179
+ // Or make it an object and pass the key when saving.
180
+ const miscStashKey = componentDefinition.getNextmiscStashKey();
181
+ componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.stashMisc, [(0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component), poolInstance]);
156
182
  addCallbackStatement(constants_1.SPECIAL_SYMBOLS.alwaysUpdate, [
157
- (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)(miscObjectKey), true), (0, types_1.identifier)(constants_1.SPECIAL_SYMBOLS.patch)), [
183
+ (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)), [
158
184
  (0, types_1.identifier)(constants_1.WATCH_CALLBACK_PARAMS.element),
159
185
  repeatInstruction.expression,
160
- component.componentIdentifier,
186
+ (0, types_1.memberExpression)(component.componentIdentifier, (0, types_1.identifier)(constants_1.SPECIAL_SYMBOLS.ctrl)),
161
187
  ])),
162
188
  ]);
163
189
  }
@@ -177,23 +203,23 @@ function processNodes(component, componentDefinition) {
177
203
  (0, errors_1.error)(node.path, errors_1.ERROR_MESSAGES.REFS_MUST_BE_UNIQUE_WITHIN_EACH_COMPONENT);
178
204
  }
179
205
  componentDefinition.collectedRefs.push(ref);
180
- componentDefinition.wrapStashCall(stashRef, constants_1.IMPORTABLES.saveRef, [
181
- (0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component),
182
- (0, types_1.stringLiteral)(ref),
183
- ]);
206
+ componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.saveRef, [(0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component), (0, types_1.stringLiteral)(ref)]);
184
207
  }
185
- // Note that some things will already have been renamed, but here we are renaming
186
- // specifically inside the buildComponent scope.
208
+ // TODO: improve this, as we are basically renaming things specifically for the
209
+ // build function that have already been renamed, which can get confusing.
210
+ // It also needs to rename ctrl and props explicitly as it doesn't seem to
211
+ // rename component when it's a member expression.
187
212
  const eventVariableMapping = {
188
213
  [component.componentIdentifier.name]: constants_1.COMPONENT_BUILD_PARAMS.component,
214
+ [component.componentIdentifier.name + "." + constants_1.SPECIAL_SYMBOLS.ctrl]: `${constants_1.COMPONENT_BUILD_PARAMS.component}.${constants_1.SPECIAL_SYMBOLS.ctrl}`,
189
215
  [component.propsIdentifier.name]: `${constants_1.COMPONENT_BUILD_PARAMS.component}.props`,
190
- [constants_1.EVENT_CALLBACK_VARIABLES.element]: `${constants_1.EVENT_CALLBACK_VARIABLES.event}.target`,
216
+ [constants_1.EXTRA_PARAMETERS.element]: `${constants_1.EXTRA_PARAMETERS.event}.target`,
191
217
  };
192
218
  node.eventListeners.forEach((listener) => {
193
219
  const updatedExpression = (0, utils_2.renameVariablesInExpression)(listener.callback, eventVariableMapping);
194
- componentDefinition.wrapStashCall(stashRef, constants_1.IMPORTABLES.onEvent, [
220
+ componentDefinition.wrapDynamicElementCall(node.elementKey, constants_1.IMPORTABLES.onEvent, [
195
221
  (0, types_1.stringLiteral)(listener.eventName),
196
- (0, types_1.functionExpression)(null, [(0, types_1.identifier)(constants_1.EVENT_CALLBACK_VARIABLES.event)], (0, types_1.blockStatement)([(0, types_1.expressionStatement)(updatedExpression)])),
222
+ (0, types_1.functionExpression)(null, [(0, types_1.identifier)(constants_1.EXTRA_PARAMETERS.event)], (0, types_1.blockStatement)([(0, types_1.expressionStatement)(updatedExpression)])),
197
223
  ]);
198
224
  });
199
225
  }
@@ -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,15 +1,21 @@
1
1
  import type { FunctionExpression } from "@babel/types";
2
2
  export type NodeAddress = Array<number>;
3
+ export interface Detacher {
4
+ index: number;
5
+ stashKey: number;
6
+ parentKey: number;
7
+ }
3
8
  export interface ShieldInfo {
4
- key: string;
9
+ key: number;
5
10
  reverse: boolean;
6
- count: number;
11
+ skipCount: number;
12
+ detacher?: Detacher;
7
13
  }
8
14
  export interface ComponentWatch {
9
- stashRef: string;
15
+ elementKey: number;
10
16
  shieldInfo?: ShieldInfo | undefined;
11
17
  callbacks: {
12
- [key: string]: FunctionExpression;
18
+ [key: string | number]: FunctionExpression;
13
19
  };
14
20
  address: NodeAddress;
15
21
  }
@@ -32,7 +32,6 @@ function buildNestedClassCall(module, address, componentCls) {
32
32
  (0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.rootElement),
33
33
  buildAddressArray(address),
34
34
  componentCls,
35
- (0, types_1.identifier)(constants_1.COMPONENT_BUILD_PARAMS.component),
36
35
  ]);
37
36
  }
38
37
  function removeKeys(obj, keys) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/consolidation/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/consolidation/utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,2 @@
1
1
  import { ComponentWatch } from "./types";
2
- /**
3
- * Must be done after processing watches as we need to know how many watches to skip.
4
- */
5
- export declare function processShields(watches: Array<ComponentWatch>): void;
2
+ export declare function processeVisibilityToggles(watches: Array<ComponentWatch>): void;
@@ -1,42 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processShields = processShields;
3
+ exports.processeVisibilityToggles = processeVisibilityToggles;
4
4
  const utils_1 = require("../utils");
5
- /*
6
- * Given an array of addresses such as:
7
- *
8
- * [
9
- * [0],
10
- * [0, 1],
11
- * [0, 2],
12
- * [1],
13
- * ]
14
- *
15
- * It returns an array with the count of nested items, like so:
16
- *
17
- * [2, 0, 0, 0]
18
- */
19
- function calculateShieldCounts(addresses) {
20
- const processedAddresses = [];
21
- addresses.forEach((path) => {
22
- processedAddresses.forEach((processed) => {
23
- if ((0, utils_1.arrayStartsWith)(processed.path, path)) {
24
- processed.count++;
25
- }
26
- });
27
- processedAddresses.push({ path: path, count: 0 });
28
- });
29
- return processedAddresses.map((i) => i.count);
30
- }
31
5
  /**
6
+ * Sets the skipCount of each watch's shieldInfo.
7
+ * This indicates how many watches to skip if that element is hidden.
32
8
  * Must be done after processing watches as we need to know how many watches to skip.
33
9
  */
34
- function processShields(watches) {
35
- const addresses = watches.map((watch) => watch.address.slice(1));
36
- const shieldCounts = calculateShieldCounts(addresses);
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) {
37
16
  watches.forEach((watch, index) => {
38
17
  if (watch.shieldInfo) {
39
- watch.shieldInfo.count = shieldCounts[index];
18
+ setSkipCounts(watch, index, watches);
40
19
  }
41
20
  });
42
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/consolidation/visibility.ts"],"names":[],"mappings":";;AAiCA,wCAQC;AAzCD,oCAA2C;AAG3C;;;;;;;;;;;;;GAaG;AACH,SAAS,qBAAqB,CAAC,SAA6B;IAC1D,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACvC,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1C,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,OAA8B;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
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,EAAE,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACrE,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"}