babel-plugin-wallace 0.15.0 → 0.16.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.
package/dist/errors.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import type { NodePath } from "@babel/core";
2
2
  export declare const ERROR_MESSAGES: {
3
3
  BASE_COMPONENT_ALREADY_DEFINED: string;
4
- BIND_ONLY_ALLOWED_ON_INPUT: string;
5
4
  FOUND_JSX_IN_INVALID_LOCATION: string;
6
5
  CLASS_METHOD_MUST_BE_PROPERTY_JSX: string;
7
6
  CAPITALISED_COMPONENT_NAME: string;
@@ -14,10 +13,9 @@ export declare const ERROR_MESSAGES: {
14
13
  DIRECTIVE_MAY_NOT_ACCESS_SCOPE_VAR: (directive: string, name: string) => string;
15
14
  EVENT_USED_WITHOUT_BIND: string;
16
15
  FLAG_REQUIRED: (flag: string) => string;
16
+ INVALID_TAG_FORMAT: string;
17
17
  INVALID_EVENT_NAME: (event: string) => string;
18
18
  NESTED_COMPONENT_MUST_BE_CAPTIALIZED: string;
19
- INCORRECTLY_NESTED_COMPONENT: string;
20
- ARROW_FUNCTION_NOT_ASSIGNED: string;
21
19
  DIRECTIVE_INVALID_TYPE: (directive: string, allowed: string[], actual: string) => string;
22
20
  PLACEHOLDER_MAY_NOT_BE_LITERAL_OBJECT: string;
23
21
  JSX_ELEMENTS_NOT_ALLOWED_IN_EXPRESSIONS: string;
@@ -28,12 +26,10 @@ export declare const ERROR_MESSAGES: {
28
26
  NESTED_COMPONENT_WITH_CHILDREN: string;
29
27
  NESTED_COMPONENT_WITH_ATTRIBUTES: string;
30
28
  REFS_MUST_BE_UNIQUE_WITHIN_EACH_COMPONENT: string;
31
- SPECIFY_EITHER_VALUE_OR_QUALIFIER: (name: string) => string;
32
29
  PARTS_MUST_BE_UNIQUE_WITHIN_EACH_COMPONENT: string;
33
- REPEAT_ALREADY_DEFINED: string;
30
+ REPEAT_WITHOUT_PROPS: string;
34
31
  REPEAT_ONLY_ON_NESTED_CLASS: string;
35
32
  REPEAT_DIRECTIVE_WITH_SIBLINGS: string;
36
- REPEAT_DIRECTIVE_WITH_CHILDREN: string;
37
33
  TOGGLE_TARGETS_WITHOUT_TOGGLE_TRIGGERS: string;
38
34
  UNSUPPORTED_NAMESPACE: string;
39
35
  XARGS_MUST_BE_OBJECT: string;
package/dist/errors.js CHANGED
@@ -7,43 +7,45 @@ const constants_1 = require("./constants");
7
7
  const ALLOWED_XARGS = Object.values(constants_1.XARGS).map(n => `"${n}"`);
8
8
  exports.ERROR_MESSAGES = {
9
9
  BASE_COMPONENT_ALREADY_DEFINED: "Base component already defined.",
10
- BIND_ONLY_ALLOWED_ON_INPUT: "The `bind` directive may only be used on `input` tags.",
11
10
  FOUND_JSX_IN_INVALID_LOCATION: "Found JSX in invalid location.",
12
11
  CLASS_METHOD_MUST_BE_PROPERTY_JSX: "Function returning JSX in a class must be assigned to property 'jsx'",
13
12
  CAPITALISED_COMPONENT_NAME: "Component name must be capitalized.",
14
- CANNOT_USE_IF_ON_ROOT_ELEMENT: "Cannot use 'if' on root element.",
13
+ CANNOT_USE_IF_ON_ROOT_ELEMENT: "Cannot use `if` directive on root element.",
15
14
  CANNOT_USE_DIRECTIVE_ON_NESTED_ELEMENT: (directive) => {
16
- return `The "${directive}" directive may not be used on nested elements.`;
15
+ return `The \`${directive}\` directive may not be used on nested elements.`;
17
16
  },
18
17
  CANNOT_USE_DIRECTIVE_ON_REPEATED_ELEMENT: (directive) => {
19
- return `The "${directive}" directive may not be used on repeated elements.`;
18
+ return `The \`${directive}\` directive may not be used on repeated elements.`;
20
19
  },
21
20
  CANNOT_USE_DIRECTIVE_WITHOUT_QUALIFIER: (directive) => {
22
- return `The "${directive}" directive must have a qualifier.`;
21
+ return `The \`${directive}\` directive must have a qualifier.`;
23
22
  },
24
23
  CANNOT_USE_DIRECTIVE_WITH_QUALIFIER: (directive) => {
25
- return `The "${directive}" directive may not have a qualifier.`;
24
+ return `The \`${directive}\` directive may not have a qualifier.`;
26
25
  },
27
26
  DIRECTIVE_ALREADY_DEFINED: (directive) => {
28
- return `The "${directive}" directive has already been defined on this node.`;
27
+ return `The \`${directive}\` directive has already been defined on this node.`;
29
28
  },
30
29
  DIRECTIVE_MAY_NOT_ACCESS_SCOPE_VAR: (directive, name) => {
31
- return `The "${directive}" directive may not access scoped variable "${name}".`;
30
+ return `The \`${directive}\` directive may not access scoped variable \`${name}\`.`;
32
31
  },
33
32
  EVENT_USED_WITHOUT_BIND: "The `event` directive must be used with the `bind` directive.",
34
33
  FLAG_REQUIRED: (flag) => {
35
- return `Flag "${flag}" must be set to true in the config for this feature.`;
36
- },
37
- INVALID_EVENT_NAME: (event) => {
38
- return `"${event}" is not a valid event. Must be lowercase without "on" prefix. E.g. event:keyup.`;
34
+ return `Flag \`${flag}\` must be set to true in the config for this feature.`;
39
35
  },
36
+ INVALID_TAG_FORMAT: `Invalid tag format, must be one of:
37
+ <div ...> // A normal element
38
+ <Foo ...> // A nested component
39
+ <Foo.repeat ...> // A repeated component
40
+ <stub.foo ...> // A nested stub
41
+ <stub.foo.repeat ...> // A repeated stub
42
+ `,
43
+ INVALID_EVENT_NAME: (event) => `\`${event}\` is not a valid event. Must be lowercase without \`on\` prefix. E.g. \`event:keyup\`.`,
40
44
  NESTED_COMPONENT_MUST_BE_CAPTIALIZED: "Nested component must be capitalized.",
41
- INCORRECTLY_NESTED_COMPONENT: "Nest components using <Name.nest /> or <Name.repeat />.",
42
- ARROW_FUNCTION_NOT_ASSIGNED: "Component function must be assigned to a variable.",
43
45
  DIRECTIVE_INVALID_TYPE: (directive, allowed, actual) => {
44
46
  return allowed.length
45
- ? `The "${directive}" directive value must be of type ${allowed.join(" or ")}. Found: ${actual}.`
46
- : `The "${directive}" directive value must be of type ${allowed[0]}. Found: ${actual}.`;
47
+ ? `The \`${directive}\` directive value must be of type ${allowed.join(" or ")}. Found: ${actual}.`
48
+ : `The \`${directive}\` directive value must be of type ${allowed[0]}. Found: ${actual}.`;
47
49
  },
48
50
  PLACEHOLDER_MAY_NOT_BE_LITERAL_OBJECT: "Literal objects in placeholders not allowed as they will become constants.",
49
51
  JSX_ELEMENTS_NOT_ALLOWED_IN_EXPRESSIONS: "JSX elements are not allowed in expressions.",
@@ -54,12 +56,10 @@ exports.ERROR_MESSAGES = {
54
56
  NESTED_COMPONENT_WITH_CHILDREN: "Nested components may not have child nodes.",
55
57
  NESTED_COMPONENT_WITH_ATTRIBUTES: "Nested components do not allow regular attributes.",
56
58
  REFS_MUST_BE_UNIQUE_WITHIN_EACH_COMPONENT: "Refs must be unique within each component.",
57
- SPECIFY_EITHER_VALUE_OR_QUALIFIER: (name) => `Specify either value: ${name}="xyz" or qualifier: ${name}:xyz`,
58
59
  PARTS_MUST_BE_UNIQUE_WITHIN_EACH_COMPONENT: "Parts must be unique within each component.",
59
- REPEAT_ALREADY_DEFINED: "Repeat already defined on element.",
60
+ REPEAT_WITHOUT_PROPS: "Repeated component must specifiy props.",
60
61
  REPEAT_ONLY_ON_NESTED_CLASS: "Repeat only allowed on nested component elements.",
61
62
  REPEAT_DIRECTIVE_WITH_SIBLINGS: "Repeat may not have sibling elements if `allowRepeaterSiblings` flag is false.",
62
- REPEAT_DIRECTIVE_WITH_CHILDREN: "Repeat may not have child nodes.",
63
63
  TOGGLE_TARGETS_WITHOUT_TOGGLE_TRIGGERS: "Toggle targets must have toggle triggers.",
64
64
  UNSUPPORTED_NAMESPACE: "Unsupported namespace, may only use 'stub'.",
65
65
  XARGS_MUST_BE_OBJECT: "Extra args must be a destructured object.",
@@ -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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"}
@@ -24,8 +24,7 @@ export declare class Component {
24
24
  unique: boolean;
25
25
  constructor(module: Module, scope: Scope, propsIdentifier: Identifier, componentIdentifier: Identifier);
26
26
  processJSXElement(path: NodePath<JSXElement>, tracker: WalkTracker, tagName: string, jsxVisitors: any): void;
27
- processNestedOrRepeatedElement(path: NodePath<JSXElement>, tracker: WalkTracker, tagName: string, isRepeat: boolean): void;
28
- processStub(path: NodePath<JSXElement>, name: string, tracker: WalkTracker): void;
27
+ processNestedComponentTagNode(path: NodePath<JSXElement>, tracker: WalkTracker, tagName: string, isRepeat: boolean, isStub: boolean): void;
29
28
  processJSXText(path: NodePath<JSXText>, tracker: WalkTracker): void;
30
29
  processJSXExpressionInText(path: NodePath<JSXExpressionContainer>, tracker: WalkTracker): void;
31
30
  buildHTMLString(): Expression;
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.Component = void 0;
10
10
  const types_1 = require("@babel/types");
11
11
  const constants_1 = require("../constants");
12
- const errors_1 = require("../errors");
13
12
  const ast_helpers_1 = require("../ast-helpers");
14
13
  const attribute_1 = require("../visitors/attribute");
15
14
  const node_1 = require("./node");
@@ -43,7 +42,7 @@ class Component {
43
42
  }
44
43
  processJSXElement(path, tracker, tagName, jsxVisitors) {
45
44
  __classPrivateFieldGet(this, _Component_instances, "m", _Component_enterLevel).call(this, tracker.childIndex);
46
- const extractedNode = new node_1.TagNode(path, __classPrivateFieldGet(this, _Component_instances, "m", _Component_getCurrentAddress).call(this), tracker.initialIndex, tracker.parent, this, tagName, false, false);
45
+ const extractedNode = new node_1.TagNode(path, __classPrivateFieldGet(this, _Component_instances, "m", _Component_getCurrentAddress).call(this), tracker.initialIndex, tracker.parent, this, tagName);
47
46
  path.traverse(attribute_1.attributeVisitors, {
48
47
  extractedNode,
49
48
  allowAttributes: true,
@@ -56,20 +55,9 @@ class Component {
56
55
  });
57
56
  __classPrivateFieldGet(this, _Component_instances, "m", _Component_exitLevel).call(this);
58
57
  }
59
- processNestedOrRepeatedElement(path, tracker, tagName, isRepeat) {
58
+ processNestedComponentTagNode(path, tracker, tagName, isRepeat, isStub) {
60
59
  __classPrivateFieldGet(this, _Component_instances, "m", _Component_enterLevel).call(this, tracker.childIndex);
61
- const extractedNode = new node_1.TagNode(path, __classPrivateFieldGet(this, _Component_instances, "m", _Component_getCurrentAddress).call(this), tracker.initialIndex, tracker.parent, this, tagName, !isRepeat, isRepeat);
62
- path.traverse(attribute_1.attributeVisitors, {
63
- extractedNode,
64
- allowAttributes: false,
65
- component: this
66
- });
67
- __classPrivateFieldGet(this, _Component_instances, "m", _Component_addNode).call(this, extractedNode, path, tracker);
68
- __classPrivateFieldGet(this, _Component_instances, "m", _Component_exitLevel).call(this);
69
- }
70
- processStub(path, name, tracker) {
71
- __classPrivateFieldGet(this, _Component_instances, "m", _Component_enterLevel).call(this, tracker.childIndex);
72
- const extractedNode = new node_1.StubNode(path, __classPrivateFieldGet(this, _Component_instances, "m", _Component_getCurrentAddress).call(this), tracker.initialIndex, tracker.parent, this, name);
60
+ const extractedNode = new node_1.NestedComponentTagNode(path, __classPrivateFieldGet(this, _Component_instances, "m", _Component_getCurrentAddress).call(this), tracker.initialIndex, tracker.parent, this, tagName, isRepeat, isStub);
73
61
  path.traverse(attribute_1.attributeVisitors, {
74
62
  extractedNode,
75
63
  allowAttributes: false,
@@ -122,14 +110,6 @@ _Component_currentNodeAddress = new WeakMap(), _Component_instances = new WeakSe
122
110
  }, _Component_getCurrentAddress = function _Component_getCurrentAddress() {
123
111
  return __classPrivateFieldGet(this, _Component_currentNodeAddress, "f").slice();
124
112
  }, _Component_addElement = function _Component_addElement(element, path, tracker) {
125
- var _a, _b;
126
- // TODO: clean up this mess. Better way to do it.
127
- if ((_a = tracker.parent) === null || _a === void 0 ? void 0 : _a.isNestedComponent) {
128
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.NESTED_COMPONENT_WITH_CHILDREN);
129
- }
130
- if ((_b = tracker.parent) === null || _b === void 0 ? void 0 : _b.isRepeatedComponent) {
131
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.REPEAT_DIRECTIVE_WITH_CHILDREN);
132
- }
133
113
  tracker.initialIndex += 1;
134
114
  if (!element) {
135
115
  // means it is a nested or repeated node.
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/models/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/models/component.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Module } from "./module";
2
2
  import { Directive, NodeValue, Qualifier } from "./directive";
3
3
  import { Component, WalkTracker } from "./component";
4
- import { ExtractedNode, TagNode, DynamicTextNode, PlainTextNode, RepeatInstruction, VisibilityToggle } from "./node";
5
- export { Component, VisibilityToggle, Directive, NodeValue, ExtractedNode, TagNode, DynamicTextNode, PlainTextNode, RepeatInstruction, Module, Qualifier, WalkTracker };
4
+ import { ExtractedNode, TagNode, DynamicTextNode, PlainTextNode, VisibilityToggle } from "./node";
5
+ export { Component, VisibilityToggle, Directive, NodeValue, ExtractedNode, TagNode, DynamicTextNode, PlainTextNode, Module, Qualifier, WalkTracker };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAsBhC,uFAtBO,eAAM,OAsBP;AArBR,2CAA8D;AAc5D,0FAdO,qBAAS,OAcP;AAbX,2CAAqD;AAWnD,0FAXO,qBAAS,OAWP;AAVX,iCAOgB;AAOd,8FAbA,oBAAa,OAaA;AACb,wFAbA,cAAO,OAaA;AACP,gGAbA,sBAAe,OAaA;AACf,8FAbA,oBAAa,OAaA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAoBhC,uFApBO,eAAM,OAoBP;AAnBR,2CAA8D;AAa5D,0FAbO,qBAAS,OAaP;AAZX,2CAAqD;AAUnD,0FAVO,qBAAS,OAUP;AATX,iCAMgB;AAOd,8FAZA,oBAAa,OAYA;AACb,wFAZA,cAAO,OAYA;AACP,gGAZA,sBAAe,OAYA;AACf,8FAZA,oBAAa,OAYA"}
@@ -9,11 +9,6 @@ interface Watch {
9
9
  expression: Expression | SPECIAL_SYMBOLS.noLookup;
10
10
  callback: string | Expression;
11
11
  }
12
- export interface RepeatInstruction {
13
- expression: Expression;
14
- componentCls: string;
15
- repeatKey: Expression | string | undefined;
16
- }
17
12
  interface EventListener {
18
13
  eventName: string;
19
14
  callback: Expression;
@@ -48,7 +43,7 @@ export declare class ExtractedNode {
48
43
  detacherStashKey?: number;
49
44
  isNestedComponent: boolean;
50
45
  isRepeatedComponent: boolean;
51
- repeatNode?: ExtractedNode;
46
+ isStub: boolean;
52
47
  repeatKey: Expression | string | undefined;
53
48
  address: Array<number>;
54
49
  initialIndex: number;
@@ -90,21 +85,13 @@ export declare class ExtractedNode {
90
85
  getRef(): string | undefined;
91
86
  setPart(name: string): void;
92
87
  getPart(): string | undefined;
93
- setRepeatExpression(expression: Expression): void;
94
88
  setRepeatKey(expression: Expression | string): void;
95
- /**
96
- * Called on the parent of a repeat.
97
- */
98
- getRepeatInstruction(): RepeatInstruction | undefined;
99
- setStub(name: string): void;
100
- getStubName(): string | undefined;
101
89
  requiredImport(name: IMPORTABLES): void;
102
90
  }
103
91
  /**
104
- * Class for tag nodes:
92
+ * Class for standard tag nodes:
105
93
  * <img />
106
94
  * <div>...</div>
107
- * <NestedComponent />
108
95
  */
109
96
  export declare class TagNode extends ExtractedNode {
110
97
  parent: TagNode;
@@ -112,14 +99,23 @@ export declare class TagNode extends ExtractedNode {
112
99
  path: NodePath<JSXElement>;
113
100
  attributes: Attribute[];
114
101
  constructor(path: NodePath<JSXElement>, address: Array<number>, initialIndex: number, parent: TagNode, component: any, // TODO: fix type circular import.
115
- tagName: string, isNestedComponent: boolean, isRepeatedComponent: boolean);
102
+ tagName: string);
116
103
  addFixedAttribute(name: string, value?: string): void;
117
104
  addStaticAttribute(name: string, expression: Expression): void;
118
105
  getElement(): HTMLElement | Text;
119
106
  }
120
- export declare class StubNode extends TagNode {
107
+ /**
108
+ * Class for nested component tag nodes:
109
+ *
110
+ * <NestedComponent />
111
+ */
112
+ export declare class NestedComponentTagNode extends TagNode {
113
+ parent: TagNode;
114
+ address: Array<number>;
115
+ path: NodePath<JSXElement>;
116
+ attributes: Attribute[];
121
117
  constructor(path: NodePath<JSXElement>, address: Array<number>, initialIndex: number, parent: TagNode, component: any, // TODO: fix type circular import.
122
- name: string);
118
+ tagName: string, isRepeat: boolean, isStub: boolean);
123
119
  getElement(): HTMLElement | Text;
124
120
  }
125
121
  export declare class DynamicTextNode extends ExtractedNode {
@@ -10,16 +10,18 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
11
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
12
  };
13
- var _ExtractedNode_repeatExpression, _ExtractedNode_stubName, _ExtractedNode_visibilityToggle, _ExtractedNode_ref, _ExtractedNode_part, _ExtractedNode_props, _ExtractedNode_ctrl;
13
+ var _ExtractedNode_visibilityToggle, _ExtractedNode_ref, _ExtractedNode_part, _ExtractedNode_props, _ExtractedNode_ctrl;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PlainTextNode = exports.DynamicTextNode = exports.StubNode = exports.TagNode = exports.ExtractedNode = void 0;
15
+ exports.PlainTextNode = exports.DynamicTextNode = exports.NestedComponentTagNode = exports.TagNode = exports.ExtractedNode = void 0;
16
16
  const utils_1 = require("../utils");
17
17
  const errors_1 = require("../errors");
18
18
  const constants_1 = require("../constants");
19
+ const config_1 = require("../config");
19
20
  class ExtractedNode {
20
21
  constructor(path, address, initialIndex, parent) {
21
22
  this.isNestedComponent = false;
22
23
  this.isRepeatedComponent = false;
24
+ this.isStub = false;
23
25
  this.children = [];
24
26
  this.watches = [];
25
27
  this.eventListeners = [];
@@ -37,8 +39,6 @@ class ExtractedNode {
37
39
  */
38
40
  this.classToggleTriggers = [];
39
41
  // Private to prevent being set more thant once by directives.
40
- _ExtractedNode_repeatExpression.set(this, void 0);
41
- _ExtractedNode_stubName.set(this, void 0);
42
42
  _ExtractedNode_visibilityToggle.set(this, void 0);
43
43
  _ExtractedNode_ref.set(this, void 0);
44
44
  _ExtractedNode_part.set(this, void 0);
@@ -90,7 +90,7 @@ class ExtractedNode {
90
90
  __classPrivateFieldSet(this, _ExtractedNode_ctrl, expression, "f");
91
91
  }
92
92
  getCtrl() {
93
- return this.repeatNode ? this.repeatNode.getCtrl() : __classPrivateFieldGet(this, _ExtractedNode_ctrl, "f");
93
+ return __classPrivateFieldGet(this, _ExtractedNode_ctrl, "f");
94
94
  }
95
95
  setProps(expression) {
96
96
  if (__classPrivateFieldGet(this, _ExtractedNode_props, "f")) {
@@ -134,68 +134,27 @@ class ExtractedNode {
134
134
  getPart() {
135
135
  return __classPrivateFieldGet(this, _ExtractedNode_part, "f");
136
136
  }
137
- setRepeatExpression(expression) {
138
- if (__classPrivateFieldGet(this, _ExtractedNode_repeatExpression, "f")) {
139
- (0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.DIRECTIVE_ALREADY_DEFINED("items"));
140
- }
141
- this.isRepeatedComponent = true;
142
- __classPrivateFieldSet(this, _ExtractedNode_repeatExpression, expression, "f");
143
- // this.parent.repeatNode = this;
144
- }
145
137
  setRepeatKey(expression) {
146
138
  this.repeatKey = expression;
147
139
  }
148
- /**
149
- * Called on the parent of a repeat.
150
- */
151
- getRepeatInstruction() {
152
- if (this.isRepeatedComponent) {
153
- return {
154
- expression: __classPrivateFieldGet(this, _ExtractedNode_repeatExpression, "f"),
155
- componentCls: this.tagName,
156
- repeatKey: this.repeatKey
157
- };
158
- }
159
- }
160
- setStub(name) {
161
- if (__classPrivateFieldGet(this, _ExtractedNode_stubName, "f")) {
162
- (0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.STUB_ALREADY_DEFINED);
163
- }
164
- __classPrivateFieldSet(this, _ExtractedNode_stubName, name, "f");
165
- }
166
- getStubName() {
167
- return __classPrivateFieldGet(this, _ExtractedNode_stubName, "f");
168
- }
169
140
  requiredImport(name) {
170
141
  this.requiredImports.add(name);
171
142
  }
172
143
  }
173
144
  exports.ExtractedNode = ExtractedNode;
174
- _ExtractedNode_repeatExpression = new WeakMap(), _ExtractedNode_stubName = new WeakMap(), _ExtractedNode_visibilityToggle = new WeakMap(), _ExtractedNode_ref = new WeakMap(), _ExtractedNode_part = new WeakMap(), _ExtractedNode_props = new WeakMap(), _ExtractedNode_ctrl = new WeakMap();
145
+ _ExtractedNode_visibilityToggle = new WeakMap(), _ExtractedNode_ref = new WeakMap(), _ExtractedNode_part = new WeakMap(), _ExtractedNode_props = new WeakMap(), _ExtractedNode_ctrl = new WeakMap();
175
146
  /**
176
- * Class for tag nodes:
147
+ * Class for standard tag nodes:
177
148
  * <img />
178
149
  * <div>...</div>
179
- * <NestedComponent />
180
150
  */
181
151
  class TagNode extends ExtractedNode {
182
152
  constructor(path, address, initialIndex, parent, component, // TODO: fix type circular import.
183
- tagName, isNestedComponent, isRepeatedComponent) {
153
+ tagName) {
184
154
  super(path, address, initialIndex, parent);
185
155
  this.attributes = [];
186
156
  this.component = component;
187
157
  this.tagName = tagName;
188
- this.isNestedComponent = isNestedComponent;
189
- this.isRepeatedComponent = isRepeatedComponent;
190
- if (!this.parent && (this.isRepeatedComponent || this.isNestedComponent)) {
191
- (0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.NESTED_COMPONENT_NOT_ALLOWED_ON_ROOT);
192
- }
193
- if (this.isRepeatedComponent) {
194
- this.parent.hasRepeatedChildren = true;
195
- }
196
- else if (this.isNestedComponent) {
197
- this.parent.hasNestedChildren = true;
198
- }
199
158
  }
200
159
  addFixedAttribute(name, value) {
201
160
  this.attributes.push({ name, value });
@@ -205,9 +164,6 @@ class TagNode extends ExtractedNode {
205
164
  this.attributes.push({ name, value: constants_1.HTML_SPLITTER });
206
165
  }
207
166
  getElement() {
208
- if (this.isRepeatedComponent || this.isNestedComponent) {
209
- return undefined;
210
- }
211
167
  const element = (0, utils_1.createElement)(this.tagName);
212
168
  this.attributes.forEach(({ name, value }) => {
213
169
  element.setAttribute(name, value || "");
@@ -217,21 +173,37 @@ class TagNode extends ExtractedNode {
217
173
  }
218
174
  }
219
175
  exports.TagNode = TagNode;
220
- class StubNode extends TagNode {
176
+ /**
177
+ * Class for nested component tag nodes:
178
+ *
179
+ * <NestedComponent />
180
+ */
181
+ class NestedComponentTagNode extends TagNode {
221
182
  constructor(path, address, initialIndex, parent, component, // TODO: fix type circular import.
222
- name) {
223
- super(path, address, initialIndex, parent, component, name, false, false);
183
+ tagName, isRepeat, isStub) {
184
+ super(path, address, initialIndex, parent, component, tagName);
185
+ this.attributes = [];
224
186
  if (!this.parent) {
225
187
  (0, errors_1.error)(this.path, errors_1.ERROR_MESSAGES.NESTED_COMPONENT_NOT_ALLOWED_ON_ROOT);
226
188
  }
227
- this.parent.hasNestedChildren = true;
228
- this.setStub(name);
189
+ if (isStub) {
190
+ this.isStub = true;
191
+ config_1.wallaceConfig.ensureFlagIstrue(path, config_1.FlagValue.allowStubs);
192
+ }
193
+ if (isRepeat) {
194
+ this.isRepeatedComponent = true;
195
+ this.parent.hasRepeatedChildren = true;
196
+ }
197
+ else {
198
+ this.isNestedComponent = true;
199
+ this.parent.hasNestedChildren = true;
200
+ }
229
201
  }
230
202
  getElement() {
231
203
  return undefined;
232
204
  }
233
205
  }
234
- exports.StubNode = StubNode;
206
+ exports.NestedComponentTagNode = NestedComponentTagNode;
235
207
  class DynamicTextNode extends ExtractedNode {
236
208
  constructor(path, address, initialIndex, parent, expression) {
237
209
  super(path, address, initialIndex, parent);
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/models/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/models/node.ts"],"names":[],"mappings":"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"}
@@ -1,61 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.attributeVisitors = void 0;
4
- const t = require("@babel/types");
5
4
  const config_1 = require("../config");
6
5
  const constants_1 = require("../constants");
7
6
  const errors_1 = require("../errors");
8
7
  const ast_helpers_1 = require("../ast-helpers");
9
- /**
10
- * Name could be:
11
- * foo
12
- * foo:bar
13
- */
14
- function extractName(path) {
15
- const { name } = path.node;
16
- let base, qualifier;
17
- if (t.isJSXNamespacedName(name)) {
18
- base = name.namespace.name;
19
- qualifier = name.name.name;
20
- }
21
- else {
22
- base = name.name;
23
- }
24
- return { base, qualifier };
25
- }
26
- /**
27
- * Value could be:
28
- *
29
- * foo
30
- * foo="bar"
31
- * foo={bar}
32
- */
33
- function extractValue(path) {
34
- const { value } = path.node;
35
- if (t.isStringLiteral(value)) {
36
- return { type: "string", value: value.value };
37
- }
38
- else if (t.isJSXExpressionContainer(value)) {
39
- const expression = (0, ast_helpers_1.getPlaceholderExpression)(path, value.expression);
40
- if (expression) {
41
- return { type: "expression", expression: expression, path };
42
- }
43
- }
44
- else if (value === null) {
45
- return { type: "null" };
46
- }
47
- else {
48
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.JSX_ELEMENTS_NOT_ALLOWED_IN_EXPRESSIONS);
49
- }
50
- }
51
8
  exports.attributeVisitors = {
52
9
  JSXAttribute(path, { extractedNode, component, allowAttributes }) {
53
10
  if (extractedNode.path.node !== path.parentPath.parentPath.node) {
54
11
  // We exit here as otherwise we'd traverse attributes of nested JSXElements too.
55
12
  return;
56
13
  }
57
- const { base, qualifier } = extractName(path);
58
- const extractedValue = extractValue(path);
14
+ const { base, qualifier } = (0, ast_helpers_1.extractAttributeName)(path);
15
+ const extractedValue = (0, ast_helpers_1.extractAttributeValue)(path);
59
16
  if (!extractedValue) {
60
17
  return;
61
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/visitors/attribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/visitors/attribute.ts"],"names":[],"mappings":";;;AAEA,sCAA0C;AAC1C,4CAAkD;AAElD,sCAAkD;AAClD,gDAA6E;AAQhE,QAAA,iBAAiB,GAAG;IAC/B,YAAY,CACV,IAA4B,EAC5B,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAS;QAEpD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAChE,gFAAgF;YAChF,OAAO;QACT,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,kCAAoB,EAAC,IAAI,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,IAAA,mCAAqB,EAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,8BAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,cAAc;YACnC,CAAC,CAAC,sBAAa,CAAC,UAAU,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,sBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAA,cAAK,EAAC,IAAI,EAAE,uBAAc,CAAC,gCAAgC,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,QAAQ,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC5B,KAAK,YAAY;oBACf,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,QAAQ;oBACX,aAAa,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,MAAM;oBACT,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -2,39 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.jsxVisitors = void 0;
4
4
  const ast_helpers_1 = require("../ast-helpers");
5
- const config_1 = require("../config");
6
5
  const errors_1 = require("../errors");
7
- const utils_1 = require("../utils");
8
6
  // Calls itself recursively, using trackers to identify where we are.
9
7
  // Must delete visited nodes to avoid reprocessing them with recursion.
10
8
  exports.jsxVisitors = {
11
9
  JSXElement(path, { component, tracker = { childIndex: 0, initialIndex: 0, parent: undefined } }) {
12
- const tagName = (0, ast_helpers_1.getJSXElementName)(path);
13
- if (typeof tagName === "string") {
14
- if ((0, utils_1.isCapitalized)(tagName)) {
15
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.INCORRECTLY_NESTED_COMPONENT);
16
- }
17
- component.processJSXElement(path, tracker, tagName, exports.jsxVisitors);
18
- }
19
- else {
20
- const { namespace, name } = tagName;
21
- if (name === "nest" || name === "repeat") {
22
- const componentCls = namespace;
23
- if (!(0, utils_1.isCapitalized)(componentCls)) {
24
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.NESTED_COMPONENT_MUST_BE_CAPTIALIZED);
25
- }
26
- component.processNestedOrRepeatedElement(path, tracker, componentCls, name === "repeat");
10
+ const tagData = (0, ast_helpers_1.getJSXElementData)(path);
11
+ switch (tagData.type) {
12
+ case "stub":
13
+ case "nested":
27
14
  path.traverse(errorIfJSXelementsFoundUnderNested);
28
- }
29
- else if (namespace === "stub") {
30
- // TODO: ensure there is nothing inside and no other attributes.
31
- // alternatively, allow attributes to control the stub.
32
- config_1.wallaceConfig.ensureFlagIstrue(path, config_1.FlagValue.allowStubs);
33
- component.processStub(path, name, tracker);
34
- }
35
- else {
36
- (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.UNSUPPORTED_NAMESPACE);
37
- }
15
+ component.processNestedComponentTagNode(path, tracker, tagData.name, tagData.repeat, tagData.type === "stub");
16
+ break;
17
+ case "normal":
18
+ component.processJSXElement(path, tracker, tagData.name, exports.jsxVisitors);
19
+ break;
38
20
  }
39
21
  path.remove();
40
22
  },