@alloy-js/python 0.4.0-dev.2 → 0.4.0-dev.3

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,4 +1,4 @@
1
- import { createComponent as _$createComponent, memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
2
  import { computed, mapJoin, memo } from "@alloy-js/core";
3
3
  /**
4
4
  * A component that renders import statements based on the provided import records.
@@ -29,7 +29,7 @@ export function ImportStatements(props) {
29
29
  return sortedSymbols.map((symbol, idx, arr) => [_$createComponent(ImportStatement, {
30
30
  path: targetPath,
31
31
  symbols: new Set([symbol])
32
- }), _$memo(() => _$memo(() => idx < arr.length - 1)() && _$createIntrinsic("hbr", {}))]);
32
+ }), idx < arr.length - 1 && _$createIntrinsic("hbr", {})]);
33
33
  }
34
34
  } else {
35
35
  // If no symbols are specified, it's either a wildcard import or a module import
@@ -1 +1 @@
1
- {"version":3,"names":["computed","mapJoin","memo","ImportStatements","props","imports","records","sort","a","b","name","localeCompare","value","module","properties","targetPath","symbols","size","sortedSymbols","Array","from","local","joinImportsFromSameModule","_$createComponent","ImportStatement","path","Set","map","symbol","idx","arr","_$memo","length","_$createIntrinsic","importSymbols","sym","push","parts","target","nis","ImportBinding","importedSymbol","joiner","text","localName","targetName"],"sources":["../../../src/components/ImportStatement.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,OAAO,EAAEC,IAAI,QAAQ,gBAAgB;AAQxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D;EACA,MAAMC,OAAO,GAAGL,QAAQ,CAAC,MACvB,CAAC,GAAGI,KAAK,CAACE,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,CAAC,CAAC,EAAE,CAACC,CAAC,CAAC,KAAK;IACpC,OAAOD,CAAC,CAACE,IAAI,CAACC,aAAa,CAACF,CAAC,CAACC,IAAI,CAAC;EACrC,CAAC,CACH,CAAC;EAED,OAAOT,OAAO,CACZ,MAAMI,OAAO,CAACO,KAAK,EACnB,CAAC,CAACC,MAAM,EAAEC,UAAU,CAAC,KAAK;IACxB;IACA,MAAMC,UAAU,GAAGF,MAAM,CAACH,IAAI;IAE9B,IAAII,UAAU,CAACE,OAAO,IAAIF,UAAU,CAACE,OAAO,CAACC,IAAI,GAAG,CAAC,EAAE;MACrD;MACA,MAAMC,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACN,UAAU,CAACE,OAAO,CAAC,CAACT,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAC7DD,CAAC,CAACa,KAAK,CAACX,IAAI,CAACC,aAAa,CAACF,CAAC,CAACY,KAAK,CAACX,IAAI,CACzC,CAAC;MACD,IAAIN,KAAK,CAACkB,yBAAyB,EAAE;QACnC;QACA,OAAAC,iBAAA,CACGC,eAAe;UACdC,IAAI,EAAEV,UAAU;UAChBC,OAAO,EAAE,IAAIU,GAAG,CAACR,aAAa;QAAC;MAGrC,CAAC,MAAM;QACL,OAAOA,aAAa,CAACS,GAAG,CAAC,CAACC,MAAM,EAAEC,GAAG,EAAEC,GAAG,MAAAP,iBAAA,CAErCC,eAAe;UAACC,IAAI,EAAEV,UAAU;UAAEC,OAAO,EAAE,IAAIU,GAAG,CAAC,CAACE,MAAM,CAAC;QAAC,IAAAG,MAAA,OAC5DA,MAAA,OAAAF,GAAG,GAAGC,GAAG,CAACE,MAAM,GAAG,CAAC,OAAAC,iBAAA,WAAW,EAEnC,CAAC;MACJ;IACF,CAAC,MAAM;MACL;MACA,OAAAV,iBAAA,CACGC,eAAe;QAACC,IAAI,EAAEV,UAAU;QAAA,IAAEC,OAAOA,CAAA;UAAA,OAAEF,UAAU,CAACE,OAAO;QAAA;MAAA;IAElE;EACF,CACF,CAAC;AACH;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,eAAeA,CAACpB,KAA2B,EAAE;EAC3D,OAAOF,IAAI,CAAC,MAAM;IAChB,MAAM;MAAEuB,IAAI;MAAET;IAAQ,CAAC,GAAGZ,KAAK;IAC/B,MAAM8B,aAA+B,GAAG,EAAE;IAE1C,IAAIlB,OAAO,IAAIA,OAAO,CAACC,IAAI,GAAG,CAAC,EAAE;MAC/B,KAAK,MAAMkB,GAAG,IAAInB,OAAO,EAAE;QACzBkB,aAAa,CAACE,IAAI,CAACD,GAAG,CAAC;MACzB;IACF;IAEA,MAAME,KAAY,GAAG,EAAE;IAEvB,IAAI,CAACrB,OAAO,IAAIA,OAAO,CAACC,IAAI,KAAK,CAAC,EAAE;MAClCoB,KAAK,CAACD,IAAI,CAAC,UAAUX,IAAI,EAAE,CAAC;IAC9B,CAAC,MAAM;MACLS,aAAa,CAAC3B,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;QAC3B,OAAOD,CAAC,CAAC8B,MAAM,CAAC5B,IAAI,CAACC,aAAa,CAACF,CAAC,CAAC6B,MAAM,CAAC5B,IAAI,CAAC;MACnD,CAAC,CAAC;MACF2B,KAAK,CAACD,IAAI,CAAC,QAAQX,IAAI,UAAU,CAAC;MAClCY,KAAK,CAACD,IAAI,CACRnC,OAAO,CACL,MAAMiC,aAAa,EAClBK,GAAG,IAAAhB,iBAAA,CAAMiB,aAAa;QAACC,cAAc,EAAEF;MAAG,EAAI,EAC/C;QAAEG,MAAM,EAAE;MAAK,CACjB,CACF,CAAC;IACH;IACA,OAAOL,KAAK;EACd,CAAC,CAAC;AACJ;AAMA,SAASG,aAAaA,CAACpC,KAAmC,EAAE;EAC1D,MAAMuC,IAAI,GAAGzC,IAAI,CAAC,MAAM;IACtB,MAAM0C,SAAS,GAAGxC,KAAK,CAACqC,cAAc,CAACpB,KAAK,CAACX,IAAI;IACjD,MAAMmC,UAAU,GAAGzC,KAAK,CAACqC,cAAc,CAACH,MAAM,CAAC5B,IAAI;IACnD,IAAIkC,SAAS,KAAKC,UAAU,EAAE;MAC5B,OAAOA,UAAU;IACnB,CAAC,MAAM;MACL,OAAO,GAAGA,UAAU,OAAOD,SAAS,EAAE;IACxC;EACF,CAAC,CAAC;EAEF,QAAAb,MAAA,CAAUY,IAAI;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["computed","mapJoin","memo","ImportStatements","props","imports","records","sort","a","b","name","localeCompare","value","module","properties","targetPath","symbols","size","sortedSymbols","Array","from","local","joinImportsFromSameModule","_$createComponent","ImportStatement","path","Set","map","symbol","idx","arr","length","_$createIntrinsic","importSymbols","sym","push","parts","target","nis","ImportBinding","importedSymbol","joiner","text","localName","targetName","_$memo"],"sources":["../../../src/components/ImportStatement.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,7 @@ export interface MemberExpressionProps {
33
33
  */
34
34
  export declare function MemberExpression(props: MemberExpressionProps): Children;
35
35
  export declare namespace MemberExpression {
36
- var Part: (props: MemberExpressionPartProps) => void;
36
+ var Part: (_props: MemberExpressionPartProps) => void;
37
37
  }
38
38
  export interface MemberExpressionPartProps {
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MemberExpression.d.ts","sourceRoot":"","sources":["../../../src/components/MemberExpression.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,YAAY,EAGZ,MAAM,EAKP,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,QAAQ,CAcvE;yBAde,gBAAgB;sBA8RS,yBAAyB;;AArDlE,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;CAC7B;AAuCD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;CACH"}
1
+ {"version":3,"file":"MemberExpression.d.ts","sourceRoot":"","sources":["../../../src/components/MemberExpression.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKR,YAAY,EACZ,MAAM,EAEP,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AA+GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,QAAQ,CAEvE;yBAFe,gBAAgB;;;AAgBhC,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;CACH"}
@@ -1,10 +1,89 @@
1
1
  import { createIntrinsic as _$createIntrinsic, memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { childrenArray, computed, For, isComponentCreator, List, reactive, ref, Show, takeSymbols, useBinder } from "@alloy-js/core";
3
- const MEMBER_ACCESS_TYPES = {
4
- ATTRIBUTE: "attribute",
5
- SUBSCRIPTION: "subscription",
6
- CALL: "call"
7
- };
2
+ import { computed, createAccessExpression, For, List, Show } from "@alloy-js/core";
3
+ const exclusiveParts = ["args", "refkey", "symbol", "id", "key", "keys", "slice"];
4
+ const {
5
+ Expression,
6
+ Part,
7
+ registerOuterComponent
8
+ } = createAccessExpression({
9
+ createDescriptor(partProps, sym, first) {
10
+ const foundProps = exclusiveParts.filter(key => key in partProps);
11
+ if (foundProps.length > 1) {
12
+ throw new Error(`Only one of ${foundProps.join(", ")} can be used for a MemberExpression part at a time`);
13
+ }
14
+
15
+ // Validate slice syntax
16
+ if (partProps.slice) {
17
+ const {
18
+ start,
19
+ stop,
20
+ step
21
+ } = partProps.slice;
22
+ if (!start && !stop && !step) {
23
+ throw new Error("MemberExpression.Part: slice object cannot be empty");
24
+ }
25
+ }
26
+
27
+ // Validate keys array
28
+ if (partProps.keys?.length === 0) {
29
+ throw new Error("MemberExpression.Part: keys array cannot be empty");
30
+ }
31
+ if (partProps.args !== undefined) {
32
+ return {
33
+ type: "call",
34
+ name: undefined,
35
+ expression: undefined,
36
+ quoted: false,
37
+ args: partProps.args === true ? [] : partProps.args
38
+ };
39
+ } else if (partProps.key !== undefined || partProps.keys !== undefined || partProps.slice !== undefined) {
40
+ return {
41
+ type: "subscription",
42
+ name: undefined,
43
+ expression: getSubscriptionValue(partProps),
44
+ quoted: partProps.key !== undefined && typeof partProps.key === "string",
45
+ args: undefined
46
+ };
47
+ } else {
48
+ let name;
49
+ if (first && partProps.refkey) {
50
+ name = partProps.refkey;
51
+ } else if (partProps.id !== undefined) {
52
+ if (!isValidIdentifier(partProps.id)) {
53
+ throw new Error(`Invalid identifier: ${partProps.id}`);
54
+ }
55
+ name = partProps.id;
56
+ } else if (sym) {
57
+ name = sym.name;
58
+ } else {
59
+ name = "<unresolved symbol>";
60
+ }
61
+ return {
62
+ type: "attribute",
63
+ name,
64
+ expression: undefined,
65
+ quoted: false,
66
+ args: undefined
67
+ };
68
+ }
69
+ },
70
+ getBase(part) {
71
+ if (part.type !== "attribute") {
72
+ throw new Error("The first part of a MemberExpression must be an id or refkey");
73
+ }
74
+ return part.name;
75
+ },
76
+ formatPart(part, _prevPart, _inCallChain) {
77
+ if (part.type === "call") {
78
+ return formatCallOutput(part);
79
+ } else if (part.type === "attribute") {
80
+ return formatAttributeOutput(part);
81
+ } else {
82
+ return formatSubscriptionOutput(part);
83
+ }
84
+ }
85
+ });
86
+
8
87
  /**
9
88
  * Create a member expression from parts. Each part can provide one of
10
89
  * the following:
@@ -35,162 +114,22 @@ const MEMBER_ACCESS_TYPES = {
35
114
  * ```
36
115
  */
37
116
  export function MemberExpression(props) {
38
- const children = childrenArray(() => props.children);
39
- const parts = childrenToPartDescriptors(children);
40
- // any symbols emitted from the children won't be relevant to
41
- // parent scopes. TODO: emit the proper symbol if we know it?
42
- takeSymbols();
43
- if (parts.length === 0) {
44
- return [];
45
- }
46
- return computed(() => {
47
- return formatChain(parts);
48
- });
117
+ return Expression(props);
49
118
  }
50
119
 
51
120
  /**
52
- * Build part descriptors from the children of a MemberExpression.
53
- */
54
- function childrenToPartDescriptors(children) {
55
- const parts = [];
56
- for (const child of children) {
57
- if (!isComponentCreator(child, MemberExpression.Part)) {
58
- // we ignore non-parts
59
- continue;
60
- }
61
- parts.push(createPartDescriptorFromProps(child.props, child === children[0]));
62
- }
63
- return parts;
64
- }
65
- const exclusiveParts = ["args", "refkey", "symbol", "id", "key", "keys", "slice"];
66
- /**
67
- * Creates a reactive part descriptor from the given part props.
121
+ * A part of a member expression. Each part can provide one of the following
122
+ * props:
68
123
  *
69
- * @param partProps The props for the part.
70
- * @param first Whether this is the first part in the expression. Refkeys are
71
- * handled specially for the first part.
72
- */
73
- function createPartDescriptorFromProps(partProps, first) {
74
- const foundProps = exclusiveParts.filter(key => {
75
- return key in partProps;
76
- });
77
- if (foundProps.length > 1) {
78
- throw new Error(`Only one of ${foundProps.join(", ")} can be used for a MemberExpression part at a time`);
79
- }
80
-
81
- // Validate slice syntax
82
- if (partProps.slice) {
83
- const {
84
- start,
85
- stop,
86
- step
87
- } = partProps.slice;
88
- if (!start && !stop && !step) {
89
- throw new Error("MemberExpression.Part: slice object cannot be empty");
90
- }
91
- }
92
-
93
- // Validate keys array
94
- if (partProps.keys?.length === 0) {
95
- throw new Error("MemberExpression.Part: keys array cannot be empty");
96
- }
97
- const symbolSource = computed(() => {
98
- if (partProps.refkey) {
99
- return getSymbolForRefkey(partProps.refkey).value;
100
- } else if (partProps.symbol) {
101
- return partProps.symbol;
102
- } else {
103
- return undefined;
104
- }
105
- });
106
-
107
- // Return different descriptor types based on what props are provided
108
- let part;
109
- if (partProps.args !== undefined) {
110
- // CallDescriptor
111
- part = {
112
- type: computed(() => {
113
- return "call";
114
- }),
115
- args: ref(partProps.args === true ? [] : partProps.args)
116
- };
117
- } else if (partProps.key !== undefined || partProps.keys !== undefined || partProps.slice !== undefined) {
118
- // SubscriptionDescriptor
119
- part = {
120
- type: computed(() => {
121
- return "subscription";
122
- }),
123
- expression: computed(() => {
124
- return getSubscriptionValue(partProps);
125
- }),
126
- quoted: computed(() => {
127
- return partProps.key !== undefined && typeof partProps.key === "string";
128
- })
129
- };
130
- } else {
131
- // IdentifierDescriptor
132
- part = {
133
- type: computed(() => {
134
- return "attribute";
135
- }),
136
- name: computed(() => {
137
- if (first && partProps.refkey) {
138
- return partProps.refkey;
139
- } else if (partProps.id !== undefined) {
140
- if (!isValidIdentifier(partProps.id)) {
141
- throw new Error(`Invalid identifier: ${partProps.id}`);
142
- }
143
- return partProps.id;
144
- } else if (symbolSource.value) {
145
- return symbolSource.value.name;
146
- } else {
147
- return "<unresolved symbol>";
148
- }
149
- })
150
- };
151
- }
152
- return reactive(part);
153
- }
154
-
155
- /**
156
- * Convert a refkey to a symbol ref using the current binder.
157
- */
158
- function getSymbolForRefkey(refkey) {
159
- const binder = useBinder();
160
- return binder.getSymbolForRefkey(refkey);
161
- }
162
-
163
- /**
164
- * Format a chain of parts into a MemberExpression.
124
+ * * **id**: The identifier for the member expression part
125
+ * * **refkey**: A refkey for a symbol whose name becomes the identifier
126
+ * * **symbol**: a symbol whose name becomes the identifier part
127
+ * * **args**: create a method call with the given args
165
128
  */
166
- function formatChain(parts) {
167
- return computed(() => {
168
- const expression = [];
169
- for (let i = 0; i < parts.length; i++) {
170
- const part = parts[i];
171
- if (i === 0) {
172
- if (!isAttributeDescriptor(part)) {
173
- throw new Error("The first part of a MemberExpression must be an id or refkey");
174
- }
175
- expression.push(part.name);
176
- } else {
177
- if (isCallDescriptor(part)) {
178
- expression.push(formatCallOutput(part));
179
- } else if (isAttributeDescriptor(part)) {
180
- expression.push(formatAttributeOutput(part));
181
- } else if (isSubscriptionDescriptor(part)) {
182
- expression.push(formatSubscriptionOutput(part));
183
- }
184
- }
185
- }
186
- return expression;
187
- });
188
- }
129
+ MemberExpression.Part = Part;
130
+ registerOuterComponent(MemberExpression);
131
+ // --- Formatting helpers ---
189
132
 
190
- /**
191
- * Format a part of a member expression that is an array access.
192
- * This is used for parts like `foo[0]` or `foo["bar"]`.
193
- */
194
133
  function formatSubscriptionOutput(part) {
195
134
  return _$createIntrinsic("group", {
196
135
  get children() {
@@ -248,36 +187,15 @@ function formatCallOutput(part) {
248
187
  }
249
188
  });
250
189
  }
251
- /**
252
- * A part of a member expression. Each part can provide one of the following
253
- * props:
254
- *
255
- * * **id**: The identifier for the member expression part
256
- * * **refkey**: A refkey for a symbol whose name becomes the identifier
257
- * * **symbol**: a symbol whose name becomes the identifier part
258
- * * **args**: create a method call with the given args
259
- */
260
- MemberExpression.Part = function (props) {
261
- /**
262
- * This component does nothing except hold props which are retrieved by
263
- * the `MemberExpression` component.
264
- */
265
- };
190
+
191
+ // --- Utilities ---
192
+
266
193
  function isValidIdentifier(id) {
267
194
  if (typeof id === "string" && id.includes('"')) {
268
195
  return false;
269
196
  }
270
197
  return true;
271
198
  }
272
- function isCallDescriptor(part) {
273
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.CALL;
274
- }
275
- function isAttributeDescriptor(part) {
276
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.ATTRIBUTE;
277
- }
278
- function isSubscriptionDescriptor(part) {
279
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.SUBSCRIPTION;
280
- }
281
199
  function getSubscriptionValue(partProps) {
282
200
  // Handle tuple keys: obj[a, b] → (a, b)
283
201
  if (partProps.keys?.length) {
@@ -1 +1 @@
1
- {"version":3,"names":["childrenArray","computed","For","isComponentCreator","List","reactive","ref","Show","takeSymbols","useBinder","MEMBER_ACCESS_TYPES","ATTRIBUTE","SUBSCRIPTION","CALL","MemberExpression","props","children","parts","childrenToPartDescriptors","length","formatChain","child","Part","push","createPartDescriptorFromProps","exclusiveParts","partProps","first","foundProps","filter","key","Error","join","slice","start","stop","step","keys","symbolSource","refkey","getSymbolForRefkey","value","symbol","undefined","part","args","type","expression","getSubscriptionValue","quoted","name","id","isValidIdentifier","binder","i","isAttributeDescriptor","isCallDescriptor","formatCallOutput","formatAttributeOutput","isSubscriptionDescriptor","formatSubscriptionOutput","_$createIntrinsic","_$memo","_$createComponent","when","each","comma","line","arg","includes","Object"],"sources":["../../../src/components/MemberExpression.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["computed","createAccessExpression","For","List","Show","exclusiveParts","Expression","Part","registerOuterComponent","createDescriptor","partProps","sym","first","foundProps","filter","key","length","Error","join","slice","start","stop","step","keys","args","undefined","type","name","expression","quoted","getSubscriptionValue","refkey","id","isValidIdentifier","getBase","part","formatPart","_prevPart","_inCallChain","formatCallOutput","formatAttributeOutput","formatSubscriptionOutput","MemberExpression","props","_$createIntrinsic","children","_$memo","_$createComponent","when","value","each","comma","line","arg","includes","Object","parts","push"],"sources":["../../../src/components/MemberExpression.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}