@alloy-js/python 0.4.0-dev.2 → 0.4.0-dev.5
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/dev/src/builtins/python.js +30 -0
- package/dist/dev/src/builtins/python.js.map +1 -0
- package/dist/dev/src/components/Atom.js +122 -0
- package/dist/dev/src/components/Atom.js.map +1 -0
- package/dist/dev/src/components/CallSignature.js +195 -0
- package/dist/dev/src/components/CallSignature.js.map +1 -0
- package/dist/dev/src/components/ClassDeclaration.js +112 -0
- package/dist/dev/src/components/ClassDeclaration.js.map +1 -0
- package/dist/dev/src/components/ClassInstantiation.js +40 -0
- package/dist/dev/src/components/ClassInstantiation.js.map +1 -0
- package/dist/dev/src/components/ClassMethodDeclaration.js +40 -0
- package/dist/dev/src/components/ClassMethodDeclaration.js.map +1 -0
- package/dist/dev/src/components/ConstructorDeclaration.js +39 -0
- package/dist/dev/src/components/ConstructorDeclaration.js.map +1 -0
- package/dist/dev/src/components/DataclassDeclaration.js +177 -0
- package/dist/dev/src/components/DataclassDeclaration.js.map +1 -0
- package/dist/dev/src/components/Declaration.js +31 -0
- package/dist/dev/src/components/Declaration.js.map +1 -0
- package/dist/dev/src/components/DunderMethodDeclaration.js +33 -0
- package/dist/dev/src/components/DunderMethodDeclaration.js.map +1 -0
- package/dist/dev/src/components/EnumDeclaration.js +259 -0
- package/dist/dev/src/components/EnumDeclaration.js.map +1 -0
- package/dist/dev/src/components/EnumMember.js +95 -0
- package/dist/dev/src/components/EnumMember.js.map +1 -0
- package/dist/dev/src/components/FunctionBase.js +130 -0
- package/dist/dev/src/components/FunctionBase.js.map +1 -0
- package/dist/dev/src/components/FunctionCallExpression.js +53 -0
- package/dist/dev/src/components/FunctionCallExpression.js.map +1 -0
- package/dist/dev/src/components/FunctionDeclaration.js +45 -0
- package/dist/dev/src/components/FunctionDeclaration.js.map +1 -0
- package/dist/dev/src/components/FutureStatement.js +31 -0
- package/dist/dev/src/components/FutureStatement.js.map +1 -0
- package/dist/dev/src/components/ImportStatement.js +167 -0
- package/dist/dev/src/components/ImportStatement.js.map +1 -0
- package/dist/dev/src/components/LexicalScope.js +26 -0
- package/dist/dev/src/components/LexicalScope.js.map +1 -0
- package/dist/dev/src/components/MemberExpression.js +290 -0
- package/dist/dev/src/components/MemberExpression.js.map +1 -0
- package/dist/dev/src/components/MemberScope.js +23 -0
- package/dist/dev/src/components/MemberScope.js.map +1 -0
- package/dist/dev/src/components/MethodBase.js +40 -0
- package/dist/dev/src/components/MethodBase.js.map +1 -0
- package/dist/dev/src/components/MethodDeclaration.js +38 -0
- package/dist/dev/src/components/MethodDeclaration.js.map +1 -0
- package/dist/dev/src/components/PropertyDeclaration.js +287 -0
- package/dist/dev/src/components/PropertyDeclaration.js.map +1 -0
- package/dist/dev/src/components/PyDoc.js +1478 -0
- package/dist/dev/src/components/PyDoc.js.map +1 -0
- package/dist/dev/src/components/PythonBlock.js +35 -0
- package/dist/dev/src/components/PythonBlock.js.map +1 -0
- package/dist/dev/src/components/Reference.js +23 -0
- package/dist/dev/src/components/Reference.js.map +1 -0
- package/dist/dev/src/components/SourceFile.js +385 -0
- package/dist/dev/src/components/SourceFile.js.map +1 -0
- package/dist/dev/src/components/StatementList.js +34 -0
- package/dist/dev/src/components/StatementList.js.map +1 -0
- package/dist/dev/src/components/StaticMethodDeclaration.js +40 -0
- package/dist/dev/src/components/StaticMethodDeclaration.js.map +1 -0
- package/dist/dev/src/components/TypeArguments.js +22 -0
- package/dist/dev/src/components/TypeArguments.js.map +1 -0
- package/dist/dev/src/components/TypeRefContext.js +33 -0
- package/dist/dev/src/components/TypeRefContext.js.map +1 -0
- package/dist/dev/src/components/TypeReference.js +67 -0
- package/dist/dev/src/components/TypeReference.js.map +1 -0
- package/dist/dev/src/components/UnionTypeExpression.js +57 -0
- package/dist/dev/src/components/UnionTypeExpression.js.map +1 -0
- package/dist/dev/src/components/VariableDeclaration.js +150 -0
- package/dist/dev/src/components/VariableDeclaration.js.map +1 -0
- package/dist/dev/src/components/index.js +32 -0
- package/dist/dev/src/components/index.js.map +1 -0
- package/dist/dev/src/context/index.js +2 -0
- package/dist/dev/src/context/index.js.map +1 -0
- package/dist/dev/src/context/type-ref-context.js +17 -0
- package/dist/dev/src/context/type-ref-context.js.map +1 -0
- package/dist/dev/src/create-module.js +64 -0
- package/dist/dev/src/create-module.js.map +1 -0
- package/dist/dev/src/index.js +8 -0
- package/dist/dev/src/index.js.map +1 -0
- package/dist/dev/src/name-conflict-resolver.js +8 -0
- package/dist/dev/src/name-conflict-resolver.js.map +1 -0
- package/dist/dev/src/name-policy.js +48 -0
- package/dist/dev/src/name-policy.js.map +1 -0
- package/dist/dev/src/parameter-descriptor.js +8 -0
- package/dist/dev/src/parameter-descriptor.js.map +1 -0
- package/dist/dev/src/symbol-creation.js +58 -0
- package/dist/dev/src/symbol-creation.js.map +1 -0
- package/dist/dev/src/symbols/factories.js +28 -0
- package/dist/dev/src/symbols/factories.js.map +1 -0
- package/dist/dev/src/symbols/index.js +8 -0
- package/dist/dev/src/symbols/index.js.map +1 -0
- package/dist/dev/src/symbols/python-lexical-scope.js +15 -0
- package/dist/dev/src/symbols/python-lexical-scope.js.map +1 -0
- package/dist/dev/src/symbols/python-member-scope.js +7 -0
- package/dist/dev/src/symbols/python-member-scope.js.map +1 -0
- package/dist/dev/src/symbols/python-module-scope.js +86 -0
- package/dist/dev/src/symbols/python-module-scope.js.map +1 -0
- package/dist/dev/src/symbols/python-output-symbol.js +73 -0
- package/dist/dev/src/symbols/python-output-symbol.js.map +1 -0
- package/dist/dev/src/symbols/reference.js +87 -0
- package/dist/dev/src/symbols/reference.js.map +1 -0
- package/dist/dev/src/symbols/scopes.js +13 -0
- package/dist/dev/src/symbols/scopes.js.map +1 -0
- package/dist/dev/src/utils.js +13 -0
- package/dist/dev/src/utils.js.map +1 -0
- package/dist/dev/test/callsignatures.test.js +482 -0
- package/dist/dev/test/callsignatures.test.js.map +1 -0
- package/dist/dev/test/class-method-declaration.test.js +85 -0
- package/dist/dev/test/class-method-declaration.test.js.map +1 -0
- package/dist/dev/test/classdeclarations.test.js +654 -0
- package/dist/dev/test/classdeclarations.test.js.map +1 -0
- package/dist/dev/test/classinstantiations.test.js +281 -0
- package/dist/dev/test/classinstantiations.test.js.map +1 -0
- package/dist/dev/test/constructordeclaration.test.js +86 -0
- package/dist/dev/test/constructordeclaration.test.js.map +1 -0
- package/dist/dev/test/dataclassdeclarations.test.js +1068 -0
- package/dist/dev/test/dataclassdeclarations.test.js.map +1 -0
- package/dist/dev/test/dundermethoddeclaration.test.js +93 -0
- package/dist/dev/test/dundermethoddeclaration.test.js.map +1 -0
- package/dist/dev/test/enums.test.js +263 -0
- package/dist/dev/test/enums.test.js.map +1 -0
- package/dist/dev/test/externals.test.js +307 -0
- package/dist/dev/test/externals.test.js.map +1 -0
- package/dist/dev/test/factories.test.js +122 -0
- package/dist/dev/test/factories.test.js.map +1 -0
- package/dist/dev/test/functioncallexpressions.test.js +257 -0
- package/dist/dev/test/functioncallexpressions.test.js.map +1 -0
- package/dist/dev/test/functiondeclaration.test.js +817 -0
- package/dist/dev/test/functiondeclaration.test.js.map +1 -0
- package/dist/dev/test/imports.test.js +372 -0
- package/dist/dev/test/imports.test.js.map +1 -0
- package/dist/dev/test/memberexpressions.test.js +1668 -0
- package/dist/dev/test/memberexpressions.test.js.map +1 -0
- package/dist/dev/test/methoddeclaration.test.js +344 -0
- package/dist/dev/test/methoddeclaration.test.js.map +1 -0
- package/dist/dev/test/namepolicies.test.js +154 -0
- package/dist/dev/test/namepolicies.test.js.map +1 -0
- package/dist/dev/test/propertydeclaration.test.js +354 -0
- package/dist/dev/test/propertydeclaration.test.js.map +1 -0
- package/dist/dev/test/pydocs.test.js +1675 -0
- package/dist/dev/test/pydocs.test.js.map +1 -0
- package/dist/dev/test/references.test.js +66 -0
- package/dist/dev/test/references.test.js.map +1 -0
- package/dist/dev/test/sourcefiles.test.js +1802 -0
- package/dist/dev/test/sourcefiles.test.js.map +1 -0
- package/dist/dev/test/staticmethoddeclaration.test.js +85 -0
- package/dist/dev/test/staticmethoddeclaration.test.js.map +1 -0
- package/dist/dev/test/type-checking-imports.test.js +617 -0
- package/dist/dev/test/type-checking-imports.test.js.map +1 -0
- package/dist/dev/test/typereference.test.js +79 -0
- package/dist/dev/test/typereference.test.js.map +1 -0
- package/dist/dev/test/uniontypeexpression.test.js +307 -0
- package/dist/dev/test/uniontypeexpression.test.js.map +1 -0
- package/dist/dev/test/utils.js +100 -0
- package/dist/dev/test/utils.js.map +1 -0
- package/dist/dev/test/values.test.js +182 -0
- package/dist/dev/test/values.test.js.map +1 -0
- package/dist/dev/test/variables.test.js +363 -0
- package/dist/dev/test/variables.test.js.map +1 -0
- package/dist/src/components/CallSignature.d.ts.map +1 -1
- package/dist/src/components/CallSignature.js +12 -3
- package/dist/src/components/CallSignature.js.map +1 -1
- package/dist/src/components/ImportStatement.d.ts +12 -0
- package/dist/src/components/ImportStatement.d.ts.map +1 -1
- package/dist/src/components/ImportStatement.js +47 -5
- 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/src/components/Reference.d.ts.map +1 -1
- package/dist/src/components/Reference.js +5 -1
- package/dist/src/components/Reference.js.map +1 -1
- package/dist/src/components/SourceFile.d.ts +1 -1
- package/dist/src/components/SourceFile.d.ts.map +1 -1
- package/dist/src/components/SourceFile.js +46 -7
- package/dist/src/components/SourceFile.js.map +1 -1
- package/dist/src/components/TypeRefContext.d.ts +26 -0
- package/dist/src/components/TypeRefContext.d.ts.map +1 -0
- package/dist/src/components/TypeRefContext.js +29 -0
- package/dist/src/components/TypeRefContext.js.map +1 -0
- package/dist/src/components/TypeReference.d.ts +5 -0
- package/dist/src/components/TypeReference.d.ts.map +1 -1
- package/dist/src/components/TypeReference.js +19 -9
- package/dist/src/components/TypeReference.js.map +1 -1
- package/dist/src/components/VariableDeclaration.d.ts.map +1 -1
- package/dist/src/components/VariableDeclaration.js +7 -2
- package/dist/src/components/VariableDeclaration.js.map +1 -1
- package/dist/src/components/index.d.ts +1 -1
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +1 -1
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/context/index.d.ts +2 -0
- package/dist/src/context/index.d.ts.map +1 -0
- package/dist/src/context/index.js +2 -0
- package/dist/src/context/index.js.map +1 -0
- package/dist/src/context/type-ref-context.d.ts +13 -0
- package/dist/src/context/type-ref-context.d.ts.map +1 -0
- package/dist/src/context/type-ref-context.js +17 -0
- package/dist/src/context/type-ref-context.js.map +1 -0
- package/dist/src/symbols/python-module-scope.d.ts +13 -1
- package/dist/src/symbols/python-module-scope.d.ts.map +1 -1
- package/dist/src/symbols/python-module-scope.js +36 -2
- package/dist/src/symbols/python-module-scope.js.map +1 -1
- package/dist/src/symbols/python-output-symbol.d.ts +11 -0
- package/dist/src/symbols/python-output-symbol.d.ts.map +1 -1
- package/dist/src/symbols/python-output-symbol.js +26 -2
- package/dist/src/symbols/python-output-symbol.js.map +1 -1
- package/dist/src/symbols/reference.d.ts +8 -1
- package/dist/src/symbols/reference.d.ts.map +1 -1
- package/dist/src/symbols/reference.js +4 -2
- package/dist/src/symbols/reference.js.map +1 -1
- package/dist/test/dataclassdeclarations.test.js +5 -2
- package/dist/test/dataclassdeclarations.test.js.map +1 -1
- package/dist/test/externals.test.js +8 -2
- package/dist/test/externals.test.js.map +1 -1
- package/dist/test/functiondeclaration.test.js +6 -3
- package/dist/test/functiondeclaration.test.js.map +1 -1
- package/dist/test/imports.test.js +3 -3
- package/dist/test/imports.test.js.map +1 -1
- package/dist/test/references.test.js +1 -1
- package/dist/test/references.test.js.map +1 -1
- package/dist/test/sourcefiles.test.js +26 -26
- package/dist/test/sourcefiles.test.js.map +1 -1
- package/dist/test/type-checking-imports.test.d.ts +2 -0
- package/dist/test/type-checking-imports.test.d.ts.map +1 -0
- package/dist/test/type-checking-imports.test.js +437 -0
- package/dist/test/type-checking-imports.test.js.map +1 -0
- package/dist/test/uniontypeexpression.test.js +4 -1
- package/dist/test/uniontypeexpression.test.js.map +1 -1
- package/dist/test/variables.test.js +4 -1
- package/dist/test/variables.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -4
- package/src/components/CallSignature.tsx +6 -2
- package/src/components/ImportStatement.tsx +52 -5
- package/src/components/MemberExpression.tsx +174 -298
- package/src/components/Reference.tsx +3 -1
- package/src/components/SourceFile.tsx +44 -8
- package/src/components/TypeRefContext.tsx +36 -0
- package/src/components/TypeReference.tsx +15 -7
- package/src/components/VariableDeclaration.tsx +5 -1
- package/src/components/index.ts +1 -1
- package/src/context/index.ts +1 -0
- package/src/context/type-ref-context.tsx +16 -0
- package/src/symbols/python-module-scope.ts +55 -2
- package/src/symbols/python-output-symbol.ts +32 -1
- package/src/symbols/reference.tsx +10 -0
- package/temp/api.json +443 -338
- package/test/dataclassdeclarations.test.tsx +8 -2
- package/test/externals.test.tsx +8 -2
- package/test/functiondeclaration.test.tsx +6 -3
- package/test/imports.test.tsx +6 -6
- package/test/references.test.tsx +1 -1
- package/test/sourcefiles.test.tsx +13 -13
- package/test/type-checking-imports.test.tsx +363 -0
- package/test/uniontypeexpression.test.tsx +4 -1
- package/test/variables.test.tsx +4 -1
- package/vitest.config.ts +8 -0
|
@@ -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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/components/Reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/components/Reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI9D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,qCAOnD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
|
|
2
2
|
import { computed, emitSymbol } from "@alloy-js/core";
|
|
3
|
+
import { isTypeRefContext } from "../context/type-ref-context.js";
|
|
3
4
|
import { ref } from "../symbols/index.js";
|
|
4
5
|
/**
|
|
5
6
|
* A Python reference to a symbol, such as a variable, function, or class.
|
|
@@ -11,7 +12,10 @@ import { ref } from "../symbols/index.js";
|
|
|
11
12
|
export function Reference({
|
|
12
13
|
refkey
|
|
13
14
|
}) {
|
|
14
|
-
const
|
|
15
|
+
const inTypeRef = isTypeRefContext();
|
|
16
|
+
const reference = ref(refkey, {
|
|
17
|
+
type: inTypeRef
|
|
18
|
+
});
|
|
15
19
|
const symbolRef = computed(() => reference()[1]);
|
|
16
20
|
emitSymbol(symbolRef);
|
|
17
21
|
return [_$memo(() => reference()[0])];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["computed","emitSymbol","ref","Reference","refkey","reference","symbolRef","_$memo"],"sources":["../../../src/components/Reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAgB,gBAAgB;AAC7D,SAASC,GAAG,QAAQ,qBAAqB;AAMzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAC;EAAEC;AAAuB,CAAC,EAAE;EACpD,MAAMC,SAAS,
|
|
1
|
+
{"version":3,"names":["computed","emitSymbol","isTypeRefContext","ref","Reference","refkey","inTypeRef","reference","type","symbolRef","_$memo"],"sources":["../../../src/components/Reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAgB,gBAAgB;AAC7D,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,GAAG,QAAQ,qBAAqB;AAMzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAC;EAAEC;AAAuB,CAAC,EAAE;EACpD,MAAMC,SAAS,GAAGJ,gBAAgB,CAAC,CAAC;EACpC,MAAMK,SAAS,GAAGJ,GAAG,CAACE,MAAM,EAAE;IAAEG,IAAI,EAAEF;EAAU,CAAC,CAAC;EAClD,MAAMG,SAAS,GAAGT,QAAQ,CAAC,MAAMO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAEhDN,UAAU,CAACQ,SAAS,CAAC;EACrB,QAAAC,MAAA,OAAUH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B","ignoreList":[]}
|
|
@@ -33,7 +33,7 @@ export interface SourceFileProps {
|
|
|
33
33
|
/**
|
|
34
34
|
* __future__ imports to render after the docstring but before regular imports.
|
|
35
35
|
*/
|
|
36
|
-
futureImports?: Children;
|
|
36
|
+
futureImports?: Children[];
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* A Python source file component that represents a Python file in the source directory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAWhB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAmDxD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,uBAAuB,CAC3B,CAAC;AAEpD,wBAAgB,aAAa,4BAE5B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAoIhD"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { memo as _$memo, createIntrinsic as _$createIntrinsic, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { childrenArray, SourceFile as CoreSourceFile, createNamedContext, createScope, isComponentCreator, List, Scope, Show, SourceDirectoryContext, useContext } from "@alloy-js/core";
|
|
2
|
+
import { childrenArray, computed, SourceFile as CoreSourceFile, createNamedContext, createScope, isComponentCreator, List, Scope, Show, SourceDirectoryContext, useContext } from "@alloy-js/core";
|
|
3
3
|
import { join } from "pathe";
|
|
4
4
|
import { PythonModuleScope } from "../symbols/index.js";
|
|
5
|
-
import { ImportStatements } from "./ImportStatement.js";
|
|
5
|
+
import { categorizeImportRecords, ImportStatements } from "./ImportStatement.js";
|
|
6
6
|
import { SimpleCommentBlock } from "./PyDoc.js";
|
|
7
|
+
import { PythonBlock } from "./PythonBlock.js";
|
|
7
8
|
import { Reference } from "./Reference.js";
|
|
8
9
|
|
|
9
10
|
// Non top-level definitions
|
|
@@ -100,6 +101,24 @@ export function SourceFile(props) {
|
|
|
100
101
|
|
|
101
102
|
// Check if there's any preamble content (header, doc, imports, etc.)
|
|
102
103
|
const hasPreamble = props.header !== undefined || props.headerComment !== undefined || props.doc !== undefined || props.futureImports !== undefined;
|
|
104
|
+
const imports = computed(() => {
|
|
105
|
+
// Quick scan for any type-only imports
|
|
106
|
+
const hasTypeImports = [...scope.importedModules.values()].some(props => props.symbols && [...props.symbols].some(s => s.local.isTypeOnly));
|
|
107
|
+
|
|
108
|
+
// Add TYPE_CHECKING before categorizing so it's naturally included
|
|
109
|
+
const typeImportSymbol = hasTypeImports ? scope.addTypeImport() : undefined;
|
|
110
|
+
|
|
111
|
+
// Single categorize - TYPE_CHECKING is already in scope.importedModules
|
|
112
|
+
const {
|
|
113
|
+
valueImports,
|
|
114
|
+
typeImports
|
|
115
|
+
} = categorizeImportRecords(scope.importedModules);
|
|
116
|
+
return {
|
|
117
|
+
valueImports,
|
|
118
|
+
typeImports,
|
|
119
|
+
typeImportSymbol
|
|
120
|
+
};
|
|
121
|
+
});
|
|
103
122
|
return _$createComponent(CoreSourceFile, {
|
|
104
123
|
get path() {
|
|
105
124
|
return props.path;
|
|
@@ -170,20 +189,40 @@ export function SourceFile(props) {
|
|
|
170
189
|
}
|
|
171
190
|
}), _$createComponent(Show, {
|
|
172
191
|
get when() {
|
|
173
|
-
return
|
|
192
|
+
return imports.value.valueImports.size > 0;
|
|
174
193
|
},
|
|
175
194
|
get children() {
|
|
176
195
|
return [_$createComponent(ImportStatements, {
|
|
177
196
|
get records() {
|
|
178
|
-
return
|
|
197
|
+
return imports.value.valueImports;
|
|
179
198
|
}
|
|
180
|
-
}), _$
|
|
181
|
-
|
|
199
|
+
}), _$createIntrinsic("hbr", {})];
|
|
200
|
+
}
|
|
201
|
+
}), _$createComponent(Show, {
|
|
202
|
+
get when() {
|
|
203
|
+
return imports.value.typeImports.size > 0;
|
|
204
|
+
},
|
|
205
|
+
get children() {
|
|
206
|
+
return [_$createIntrinsic("hbr", {}), _$createComponent(PythonBlock, {
|
|
207
|
+
get opener() {
|
|
208
|
+
return `if ${imports.value.typeImportSymbol.name}:`;
|
|
209
|
+
},
|
|
182
210
|
get children() {
|
|
183
|
-
return
|
|
211
|
+
return _$createComponent(ImportStatements, {
|
|
212
|
+
get records() {
|
|
213
|
+
return imports.value.typeImports;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
184
216
|
}
|
|
185
217
|
})];
|
|
186
218
|
}
|
|
219
|
+
}), _$createComponent(Show, {
|
|
220
|
+
get when() {
|
|
221
|
+
return hasChildren && scope.importedModules.size > 0;
|
|
222
|
+
},
|
|
223
|
+
get children() {
|
|
224
|
+
return _$createIntrinsic("hbr", {});
|
|
225
|
+
}
|
|
187
226
|
}), _$createComponent(Show, {
|
|
188
227
|
get when() {
|
|
189
228
|
return needsExtraSpacing && (hasPreamble || scope.importedModules.size > 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["childrenArray","SourceFile","CoreSourceFile","createNamedContext","createScope","isComponentCreator","List","Scope","Show","SourceDirectoryContext","useContext","join","PythonModuleScope","ImportStatements","SimpleCommentBlock","Reference","NON_DEFINITION_NAMES","Set","WRAPPER_COMPONENT_NAMES","firstChildIsDefinition","children","arr","length","first","name","component","has","props","PythonSourceFileContext","useSourceFile","directoryContext","currentDir","path","replace","scope","undefined","sfContext","module","hasChildren","needsExtraSpacing","hasPreamble","header","headerComment","doc","futureImports","_$createComponent","filetype","reference","when","_$createIntrinsic","_$memo","
|
|
1
|
+
{"version":3,"names":["childrenArray","computed","SourceFile","CoreSourceFile","createNamedContext","createScope","isComponentCreator","List","Scope","Show","SourceDirectoryContext","useContext","join","PythonModuleScope","categorizeImportRecords","ImportStatements","SimpleCommentBlock","PythonBlock","Reference","NON_DEFINITION_NAMES","Set","WRAPPER_COMPONENT_NAMES","firstChildIsDefinition","children","arr","length","first","name","component","has","props","PythonSourceFileContext","useSourceFile","directoryContext","currentDir","path","replace","scope","undefined","sfContext","module","hasChildren","needsExtraSpacing","hasPreamble","header","headerComment","doc","futureImports","imports","hasTypeImports","importedModules","values","some","symbols","s","local","isTypeOnly","typeImportSymbol","addTypeImport","valueImports","typeImports","_$createComponent","filetype","reference","when","_$createIntrinsic","_$memo","value","size","records","opener","Provider","doubleHardline"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Children } from "@alloy-js/core";
|
|
2
|
+
import { isTypeRefContext } from "../context/type-ref-context.js";
|
|
3
|
+
export { isTypeRefContext };
|
|
4
|
+
export interface TypeRefContextProps {
|
|
5
|
+
/**
|
|
6
|
+
* Children
|
|
7
|
+
*/
|
|
8
|
+
children: Children;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Set the current context of reference to be type reference.
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* References used inside the children of this component will be treated as
|
|
15
|
+
* type-only references. When a symbol is only referenced in type contexts,
|
|
16
|
+
* it will be imported inside a `if TYPE_CHECKING:` block.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <TypeRefContext>
|
|
21
|
+
* {someTypeRefkey}
|
|
22
|
+
* </TypeRefContext>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare const TypeRefContext: ({ children }: TypeRefContextProps) => Children;
|
|
26
|
+
//# sourceMappingURL=TypeRefContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeRefContext.d.ts","sourceRoot":"","sources":["../../../src/components/TypeRefContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAEjB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GAAI,cAAc,mBAAmB,aAI/D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { isTypeRefContext, TypeRefContextDef } from "../context/type-ref-context.js";
|
|
3
|
+
|
|
4
|
+
// Re-export for external use
|
|
5
|
+
export { isTypeRefContext };
|
|
6
|
+
/**
|
|
7
|
+
* Set the current context of reference to be type reference.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* References used inside the children of this component will be treated as
|
|
11
|
+
* type-only references. When a symbol is only referenced in type contexts,
|
|
12
|
+
* it will be imported inside a `if TYPE_CHECKING:` block.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <TypeRefContext>
|
|
17
|
+
* {someTypeRefkey}
|
|
18
|
+
* </TypeRefContext>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export const TypeRefContext = ({
|
|
22
|
+
children
|
|
23
|
+
}) => {
|
|
24
|
+
return _$createComponent(TypeRefContextDef.Provider, {
|
|
25
|
+
value: true,
|
|
26
|
+
children: children
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=TypeRefContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isTypeRefContext","TypeRefContextDef","TypeRefContext","children","_$createComponent","Provider","value"],"sources":["../../../src/components/TypeRefContext.tsx"],"sourcesContent":[null],"mappings":";AACA,SACEA,gBAAgB,EAChBC,iBAAiB,QACZ,gCAAgC;;AAEvC;AACA,SAASD,gBAAgB;AASzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,cAAc,GAAGA,CAAC;EAAEC;AAA8B,CAAC,KAAK;EACnE,OAAAC,iBAAA,CACGH,iBAAiB,CAACI,QAAQ;IAACC,KAAK;IAAAH,QAAA,EAAEA;EAAQ;AAE/C,CAAC","ignoreList":[]}
|
|
@@ -9,6 +9,11 @@ export interface TypeReferenceProps {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* A type reference like Foo[T, P] or int.
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component automatically wraps its content in a type reference context,
|
|
15
|
+
* so any symbols referenced via refkey will be imported as type-only
|
|
16
|
+
* (inside a `if TYPE_CHECKING:` block) unless also used as values elsewhere.
|
|
12
17
|
*/
|
|
13
18
|
export declare function TypeReference(props: TypeReferenceProps): Children;
|
|
14
19
|
//# sourceMappingURL=TypeReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeReference.d.ts","sourceRoot":"","sources":["../../../src/components/TypeReference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"TypeReference.d.ts","sourceRoot":"","sources":["../../../src/components/TypeReference.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,MAAM,gBAAgB,CAAC;AAIxD,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,YAmBtD"}
|