@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.
- package/dist/src/components/ImportStatement.js +2 -2
- package/dist/src/components/ImportStatement.js.map +1 -1
- package/dist/src/components/MemberExpression.d.ts +1 -1
- package/dist/src/components/MemberExpression.d.ts.map +1 -1
- package/dist/src/components/MemberExpression.js +98 -180
- package/dist/src/components/MemberExpression.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/components/ImportStatement.tsx +1 -1
- package/src/components/MemberExpression.tsx +174 -298
- package/temp/api.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createComponent as _$createComponent,
|
|
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
|
-
}),
|
|
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","
|
|
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: (
|
|
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,
|
|
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 {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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
|
-
|
|
253
|
-
|
|
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":["
|
|
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":[]}
|