@alloy-js/python 0.2.0-dev.2 → 0.2.0-dev.4
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/builtins/python.d.ts +3 -0
- package/dist/src/builtins/python.d.ts.map +1 -1
- package/dist/src/builtins/python.js +6 -0
- package/dist/src/builtins/python.js.map +1 -1
- package/dist/src/components/CallSignature.d.ts +4 -15
- package/dist/src/components/CallSignature.d.ts.map +1 -1
- package/dist/src/components/CallSignature.js +13 -67
- package/dist/src/components/CallSignature.js.map +1 -1
- package/dist/src/components/ClassMethodDeclaration.d.ts +22 -0
- package/dist/src/components/ClassMethodDeclaration.d.ts.map +1 -0
- package/dist/src/components/ClassMethodDeclaration.js +32 -0
- package/dist/src/components/ClassMethodDeclaration.js.map +1 -0
- package/dist/src/components/ConstructorDeclaration.d.ts +21 -0
- package/dist/src/components/ConstructorDeclaration.d.ts.map +1 -0
- package/dist/src/components/ConstructorDeclaration.js +35 -0
- package/dist/src/components/ConstructorDeclaration.js.map +1 -0
- package/dist/src/components/DunderMethodDeclaration.d.ts +21 -0
- package/dist/src/components/DunderMethodDeclaration.d.ts.map +1 -0
- package/dist/src/components/DunderMethodDeclaration.js +29 -0
- package/dist/src/components/DunderMethodDeclaration.js.map +1 -0
- package/dist/src/components/EnumDeclaration.d.ts +11 -32
- package/dist/src/components/EnumDeclaration.d.ts.map +1 -1
- package/dist/src/components/EnumDeclaration.js +10 -48
- package/dist/src/components/EnumDeclaration.js.map +1 -1
- package/dist/src/components/EnumMember.js +3 -3
- package/dist/src/components/EnumMember.js.map +1 -1
- package/dist/src/components/FunctionBase.d.ts +48 -0
- package/dist/src/components/FunctionBase.d.ts.map +1 -0
- package/dist/src/components/FunctionBase.js +91 -0
- package/dist/src/components/FunctionBase.js.map +1 -0
- package/dist/src/components/FunctionDeclaration.d.ts +11 -31
- package/dist/src/components/FunctionDeclaration.d.ts.map +1 -1
- package/dist/src/components/FunctionDeclaration.js +22 -79
- package/dist/src/components/FunctionDeclaration.js.map +1 -1
- package/dist/src/components/MemberExpression.d.ts.map +1 -1
- package/dist/src/components/MemberExpression.js +12 -13
- package/dist/src/components/MemberExpression.js.map +1 -1
- package/dist/src/components/MethodBase.d.ts +29 -0
- package/dist/src/components/MethodBase.d.ts.map +1 -0
- package/dist/src/components/MethodBase.js +32 -0
- package/dist/src/components/MethodBase.js.map +1 -0
- package/dist/src/components/MethodDeclaration.d.ts +22 -0
- package/dist/src/components/MethodDeclaration.d.ts.map +1 -0
- package/dist/src/components/MethodDeclaration.js +34 -0
- package/dist/src/components/MethodDeclaration.js.map +1 -0
- package/dist/src/components/PropertyDeclaration.d.ts +71 -0
- package/dist/src/components/PropertyDeclaration.d.ts.map +1 -0
- package/dist/src/components/PropertyDeclaration.js +227 -0
- package/dist/src/components/PropertyDeclaration.js.map +1 -0
- package/dist/src/components/PyDoc.d.ts +107 -42
- package/dist/src/components/PyDoc.d.ts.map +1 -1
- package/dist/src/components/PyDoc.js +845 -181
- package/dist/src/components/PyDoc.js.map +1 -1
- package/dist/src/components/SourceFile.d.ts +24 -0
- package/dist/src/components/SourceFile.d.ts.map +1 -1
- package/dist/src/components/SourceFile.js +28 -1
- package/dist/src/components/SourceFile.js.map +1 -1
- package/dist/src/components/StaticMethodDeclaration.d.ts +22 -0
- package/dist/src/components/StaticMethodDeclaration.d.ts.map +1 -0
- package/dist/src/components/StaticMethodDeclaration.js +32 -0
- package/dist/src/components/StaticMethodDeclaration.js.map +1 -0
- package/dist/src/components/TypeArguments.d.ts +9 -0
- package/dist/src/components/TypeArguments.d.ts.map +1 -0
- package/dist/src/components/TypeArguments.js +18 -0
- package/dist/src/components/TypeArguments.js.map +1 -0
- package/dist/src/components/TypeReference.d.ts +14 -0
- package/dist/src/components/TypeReference.d.ts.map +1 -0
- package/dist/src/components/TypeReference.js +29 -0
- package/dist/src/components/TypeReference.js.map +1 -0
- package/dist/src/components/UnionTypeExpression.d.ts +1 -2
- package/dist/src/components/UnionTypeExpression.d.ts.map +1 -1
- package/dist/src/components/UnionTypeExpression.js +3 -11
- package/dist/src/components/UnionTypeExpression.js.map +1 -1
- package/dist/src/components/VariableDeclaration.d.ts.map +1 -1
- package/dist/src/components/VariableDeclaration.js +3 -3
- package/dist/src/components/VariableDeclaration.js.map +1 -1
- package/dist/src/components/index.d.ts +10 -0
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +9 -0
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/parameter-descriptor.d.ts +1 -4
- package/dist/src/parameter-descriptor.d.ts.map +1 -1
- package/dist/src/parameter-descriptor.js +7 -1
- package/dist/src/parameter-descriptor.js.map +1 -1
- package/dist/src/symbol-creation.d.ts +4 -0
- package/dist/src/symbol-creation.d.ts.map +1 -1
- package/dist/src/symbol-creation.js +12 -0
- package/dist/src/symbol-creation.js.map +1 -1
- package/dist/src/symbols/factories.d.ts +15 -0
- package/dist/src/symbols/factories.d.ts.map +1 -0
- package/dist/src/symbols/factories.js +28 -0
- package/dist/src/symbols/factories.js.map +1 -0
- package/dist/src/symbols/index.d.ts +1 -0
- package/dist/src/symbols/index.d.ts.map +1 -1
- package/dist/src/symbols/index.js +1 -0
- package/dist/src/symbols/index.js.map +1 -1
- package/dist/src/symbols/reference.d.ts +1 -1
- package/dist/src/symbols/reference.d.ts.map +1 -1
- package/dist/src/symbols/reference.js +1 -1
- package/dist/src/symbols/reference.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/test/callsignatures.test.js +42 -64
- package/dist/test/callsignatures.test.js.map +1 -1
- package/dist/test/class-method-declaration.test.d.ts +2 -0
- package/dist/test/class-method-declaration.test.d.ts.map +1 -0
- package/dist/test/class-method-declaration.test.js +61 -0
- package/dist/test/class-method-declaration.test.js.map +1 -0
- package/dist/test/classdeclarations.test.js +6 -8
- package/dist/test/classdeclarations.test.js.map +1 -1
- package/dist/test/constructordeclaration.test.d.ts +2 -0
- package/dist/test/constructordeclaration.test.d.ts.map +1 -0
- package/dist/test/constructordeclaration.test.js +58 -0
- package/dist/test/constructordeclaration.test.js.map +1 -0
- package/dist/test/dundermethoddeclaration.test.d.ts +2 -0
- package/dist/test/dundermethoddeclaration.test.d.ts.map +1 -0
- package/dist/test/dundermethoddeclaration.test.js +65 -0
- package/dist/test/dundermethoddeclaration.test.js.map +1 -0
- package/dist/test/enums.test.js +14 -16
- package/dist/test/enums.test.js.map +1 -1
- package/dist/test/externals.test.js +2 -4
- package/dist/test/externals.test.js.map +1 -1
- package/dist/test/factories.test.d.ts +2 -0
- package/dist/test/factories.test.d.ts.map +1 -0
- package/dist/test/factories.test.js +78 -0
- package/dist/test/factories.test.js.map +1 -0
- package/dist/test/functiondeclaration.test.js +213 -59
- package/dist/test/functiondeclaration.test.js.map +1 -1
- package/dist/test/memberexpressions.test.js +1 -1
- package/dist/test/memberexpressions.test.js.map +1 -1
- package/dist/test/methoddeclaration.test.d.ts +2 -0
- package/dist/test/methoddeclaration.test.d.ts.map +1 -0
- package/dist/test/methoddeclaration.test.js +239 -0
- package/dist/test/methoddeclaration.test.js.map +1 -0
- package/dist/test/namepolicies.test.js +1 -2
- package/dist/test/namepolicies.test.js.map +1 -1
- package/dist/test/propertydeclaration.test.d.ts +2 -0
- package/dist/test/propertydeclaration.test.d.ts.map +1 -0
- package/dist/test/propertydeclaration.test.js +229 -0
- package/dist/test/propertydeclaration.test.js.map +1 -0
- package/dist/test/pydocs.test.js +926 -126
- package/dist/test/pydocs.test.js.map +1 -1
- package/dist/test/references.test.js +1 -5
- package/dist/test/references.test.js.map +1 -1
- package/dist/test/sourcefiles.test.js +90 -1
- package/dist/test/sourcefiles.test.js.map +1 -1
- package/dist/test/staticmethoddeclaration.test.d.ts +2 -0
- package/dist/test/staticmethoddeclaration.test.d.ts.map +1 -0
- package/dist/test/staticmethoddeclaration.test.js +61 -0
- package/dist/test/staticmethoddeclaration.test.js.map +1 -0
- package/dist/test/typereference.test.d.ts +2 -0
- package/dist/test/typereference.test.d.ts.map +1 -0
- package/dist/test/typereference.test.js +51 -0
- package/dist/test/typereference.test.js.map +1 -0
- package/dist/test/uniontypeexpression.test.js +152 -15
- package/dist/test/uniontypeexpression.test.js.map +1 -1
- package/dist/test/variables.test.js +28 -19
- package/dist/test/variables.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/builtins/python.ts +7 -0
- package/src/components/CallSignature.tsx +17 -69
- package/src/components/ClassMethodDeclaration.tsx +34 -0
- package/src/components/ConstructorDeclaration.tsx +37 -0
- package/src/components/DunderMethodDeclaration.tsx +30 -0
- package/src/components/EnumDeclaration.tsx +16 -44
- package/src/components/EnumMember.tsx +3 -3
- package/src/components/FunctionBase.tsx +88 -0
- package/src/components/FunctionDeclaration.tsx +18 -82
- package/src/components/MemberExpression.tsx +6 -19
- package/src/components/MethodBase.tsx +53 -0
- package/src/components/MethodDeclaration.tsx +27 -0
- package/src/components/PropertyDeclaration.tsx +264 -0
- package/src/components/PyDoc.tsx +795 -195
- package/src/components/SourceFile.tsx +29 -0
- package/src/components/StaticMethodDeclaration.tsx +34 -0
- package/src/components/TypeArguments.tsx +24 -0
- package/src/components/TypeReference.tsx +33 -0
- package/src/components/UnionTypeExpression.tsx +4 -15
- package/src/components/VariableDeclaration.tsx +1 -3
- package/src/components/index.ts +10 -0
- package/src/parameter-descriptor.ts +6 -5
- package/src/symbol-creation.ts +17 -0
- package/src/symbols/factories.ts +39 -0
- package/src/symbols/index.ts +1 -0
- package/src/symbols/reference.tsx +3 -5
- package/src/utils.ts +0 -2
- package/temp/api.json +5281 -2273
- package/test/callsignatures.test.tsx +102 -74
- package/test/class-method-declaration.test.tsx +53 -0
- package/test/classdeclarations.test.tsx +7 -9
- package/test/constructordeclaration.test.tsx +48 -0
- package/test/dundermethoddeclaration.test.tsx +53 -0
- package/test/enums.test.tsx +14 -16
- package/test/externals.test.tsx +5 -7
- package/test/factories.test.tsx +72 -0
- package/test/functiondeclaration.test.tsx +196 -44
- package/test/memberexpressions.test.tsx +7 -2
- package/test/methoddeclaration.test.tsx +202 -0
- package/test/namepolicies.test.tsx +1 -2
- package/test/propertydeclaration.test.tsx +192 -0
- package/test/pydocs.test.tsx +1093 -129
- package/test/references.test.tsx +1 -1
- package/test/sourcefiles.test.tsx +100 -1
- package/test/staticmethoddeclaration.test.tsx +49 -0
- package/test/typereference.test.tsx +52 -0
- package/test/uniontypeexpression.test.tsx +169 -34
- package/test/variables.test.tsx +27 -16
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Namekey } from "@alloy-js/core";
|
|
2
|
+
import type { PythonOutputSymbol } from "./python-output-symbol.js";
|
|
3
|
+
/**
|
|
4
|
+
* Creates a function symbol in the current scope.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createFunctionSymbol(name: string | Namekey, options?: {
|
|
7
|
+
refkeys?: any;
|
|
8
|
+
}): PythonOutputSymbol;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a method symbol in a class. Validates that the current scope is a member scope.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createMethodSymbol(name: string | Namekey, options?: {
|
|
13
|
+
refkeys?: any;
|
|
14
|
+
}): PythonOutputSymbol;
|
|
15
|
+
//# sourceMappingURL=factories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/symbols/factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAO,GAC9B,kBAAkB,CAMpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAO,GAC9B,kBAAkB,CAapB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createPythonSymbol } from "../symbol-creation.js";
|
|
2
|
+
import { usePythonScope } from "./scopes.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function symbol in the current scope.
|
|
6
|
+
*/
|
|
7
|
+
export function createFunctionSymbol(name, options = {}) {
|
|
8
|
+
return createPythonSymbol(name, {
|
|
9
|
+
instance: false,
|
|
10
|
+
refkeys: options.refkeys
|
|
11
|
+
}, "function");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Creates a method symbol in a class. Validates that the current scope is a member scope.
|
|
16
|
+
*/
|
|
17
|
+
export function createMethodSymbol(name, options = {}) {
|
|
18
|
+
const scope = usePythonScope();
|
|
19
|
+
if (!scope?.isMemberScope) {
|
|
20
|
+
const displayName = typeof name === "string" ? name : name.name;
|
|
21
|
+
throw new Error(`Method "${displayName}" must be declared inside a class (member scope)`);
|
|
22
|
+
}
|
|
23
|
+
return createPythonSymbol(name, {
|
|
24
|
+
instance: true,
|
|
25
|
+
refkeys: options.refkeys
|
|
26
|
+
}, "function");
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=factories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPythonSymbol","usePythonScope","createFunctionSymbol","name","options","instance","refkeys","createMethodSymbol","scope","isMemberScope","displayName","Error"],"sources":["../../../src/symbols/factories.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,kBAAkB,QAAQ,uBAAuB;AAE1D,SAASC,cAAc,QAAQ,aAAa;;AAE5C;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAClCC,IAAsB,EACtBC,OAA0B,GAAG,CAAC,CAAC,EACX;EACpB,OAAOJ,kBAAkB,CACvBG,IAAI,EACJ;IAAEE,QAAQ,EAAE,KAAK;IAAEC,OAAO,EAAEF,OAAO,CAACE;EAAQ,CAAC,EAC7C,UACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCJ,IAAsB,EACtBC,OAA0B,GAAG,CAAC,CAAC,EACX;EACpB,MAAMI,KAAK,GAAGP,cAAc,CAAC,CAAC;EAC9B,IAAI,CAACO,KAAK,EAAEC,aAAa,EAAE;IACzB,MAAMC,WAAW,GAAG,OAAOP,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGA,IAAI,CAACA,IAAI;IAC/D,MAAM,IAAIQ,KAAK,CACb,WAAWD,WAAW,kDACxB,CAAC;EACH;EACA,OAAOV,kBAAkB,CACvBG,IAAI,EACJ;IAAEE,QAAQ,EAAE,IAAI;IAAEC,OAAO,EAAEF,OAAO,CAACE;EAAQ,CAAC,EAC5C,UACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/symbols/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/symbols/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/symbols/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,2BAA2B;AACzC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,2BAA2B;AACzC,cAAc,gBAAgB;AAC9B,cAAc,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/symbols/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,2BAA2B;AACzC,cAAc,gBAAgB;AAC9B,cAAc,aAAa","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Children, Refkey } from "@alloy-js/core";
|
|
2
|
-
import { PythonOutputSymbol } from "./
|
|
2
|
+
import { PythonOutputSymbol } from "./python-output-symbol.js";
|
|
3
3
|
export declare function ref(refkey: Refkey): () => [Children, PythonOutputSymbol | undefined];
|
|
4
4
|
//# sourceMappingURL=reference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/symbols/reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,MAAM,EAKP,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/symbols/reference.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,MAAM,EAKP,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,wBAAgB,GAAG,CACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAmDlD"}
|
|
@@ -2,7 +2,7 @@ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime
|
|
|
2
2
|
import { memo, resolve, unresolvedRefkey, untrack, useContext } from "@alloy-js/core";
|
|
3
3
|
import { MemberExpression } from "../components/MemberExpression.js";
|
|
4
4
|
import { PythonSourceFileContext } from "../components/SourceFile.js";
|
|
5
|
-
import { PythonModuleScope } from "./
|
|
5
|
+
import { PythonModuleScope } from "./python-module-scope.js";
|
|
6
6
|
export function ref(refkey) {
|
|
7
7
|
const sourceFile = useContext(PythonSourceFileContext);
|
|
8
8
|
const resolveResult = resolve(refkey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","resolve","unresolvedRefkey","untrack","useContext","MemberExpression","PythonSourceFileContext","PythonModuleScope","ref","refkey","sourceFile","resolveResult","value","undefined","commonScope","lexicalDeclaration","symbol","pathDown","memberPath","targetLocation","localSymbol","scope","addImport","parts","isMemberScope","isInstanceMemberSymbol","push","_$createComponent","Part","id","ownerSymbol","part","children"],"sources":["../../../src/symbols/reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,IAAI,EAEJC,OAAO,EACPC,gBAAgB,EAChBC,OAAO,EACPC,UAAU,QACL,gBAAgB;AACvB,SAASC,gBAAgB;AACzB,SAASC,uBAAuB;AAChC,
|
|
1
|
+
{"version":3,"names":["memo","resolve","unresolvedRefkey","untrack","useContext","MemberExpression","PythonSourceFileContext","PythonModuleScope","ref","refkey","sourceFile","resolveResult","value","undefined","commonScope","lexicalDeclaration","symbol","pathDown","memberPath","targetLocation","localSymbol","scope","addImport","parts","isMemberScope","isInstanceMemberSymbol","push","_$createComponent","Part","id","ownerSymbol","part","children"],"sources":["../../../src/symbols/reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,IAAI,EAEJC,OAAO,EACPC,gBAAgB,EAChBC,OAAO,EACPC,UAAU,QACL,gBAAgB;AACvB,SAASC,gBAAgB;AACzB,SAASC,uBAAuB;AAChC,SAASC,iBAAiB,QAAQ,0BAA0B;AAI5D,OAAO,SAASC,GAAGA,CACjBC,MAAc,EACoC;EAClD,MAAMC,UAAU,GAAGN,UAAU,CAACE,uBAAuB,CAAC;EACtD,MAAMK,aAAa,GAAGV,OAAO,CAC3BQ,MACF,CAAC;EAED,OAAOT,IAAI,CAAC,MAAM;IAChB,IAAIW,aAAa,CAACC,KAAK,KAAKC,SAAS,EAAE;MACrC,OAAO,CAACX,gBAAgB,CAACO,MAAM,CAAC,EAAEI,SAAS,CAAC;IAC9C;IAEA,MAAM;MAAEC,WAAW;MAAEC,kBAAkB;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GACrEP,aAAa,CAACC,KAAK;;IAErB;IACA;IACA;IACA,MAAMO,cAAc,GAClBF,QAAQ,CAAC,CAAC,CAAC,YAAYV,iBAAiB,GAAG,QAAQ,GAAG,OAAO;IAC/D,IAAIa,WAA2C;IAE/C,IAAID,cAAc,KAAK,QAAQ,EAAE;MAC/BC,WAAW,GAAGjB,OAAO,CAAC,MACpBO,UAAU,CAAEW,KAAK,CAACC,SAAS,CACzBP,kBAAkB,EAClBE,QAAQ,CAAC,CAAC,CACZ,CACF,CAAC;IACH;IAEA,MAAMM,KAAK,GAAG,EAAE;IAEhB,IAAIT,WAAW,IAAIA,WAAW,CAACU,aAAa,EAAE;MAC5C;MACA,IAAIT,kBAAkB,CAACU,sBAAsB,EAAE;QAC7CF,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;UAACC,EAAE;QAAA,EAAU,CAAC;MACjD,CAAC,MAAM;QACLN,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;UAAA,IAACZ,MAAMA,CAAA;YAAA,OAAEF,WAAW,CAACgB,WAAW;UAAA;QAAA,EAAI,CAAC;MACxE;MACAP,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;QAACZ,MAAM,EAAED;MAAkB,EAAI,CAAC;IACnE,CAAC,MAAM;MACLQ,KAAK,CAACG,IAAI,CAAAC,iBAAA,CACPtB,gBAAgB,CAACuB,IAAI;QAACZ,MAAM,EAAEI,WAAW,IAAIL;MAAkB,EAClE,CAAC;IACH;IACA,KAAK,MAAMgB,IAAI,IAAIb,UAAU,EAAE;MAC7BK,KAAK,CAACG,IAAI,CAAAC,iBAAA,CAAEtB,gBAAgB,CAACuB,IAAI;QAACZ,MAAM,EAAEe;MAAI,EAAI,CAAC;IACrD;IAEA,OAAO,CAAAJ,iBAAA,CAAEtB,gBAAgB;MAAC2B,QAAQ,EAAET;IAAK,IAAMH,WAAW,IAAIJ,MAAM,CAAC;EACvE,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,sBAevC"}
|
package/dist/src/utils.js
CHANGED
|
@@ -4,7 +4,7 @@ import { defaultProps, splitProps } from "@alloy-js/core";
|
|
|
4
4
|
* `CallSignatureProps`. You can provide default values for the props.
|
|
5
5
|
*/
|
|
6
6
|
export function getCallSignatureProps(props, defaults) {
|
|
7
|
-
const [callSignatureProps] = splitProps(props, ["parameters", "typeParameters", "args", "kwargs", "
|
|
7
|
+
const [callSignatureProps] = splitProps(props, ["parameters", "typeParameters", "args", "kwargs", "returnType"]);
|
|
8
8
|
if (!defaults) {
|
|
9
9
|
return callSignatureProps;
|
|
10
10
|
}
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultProps","splitProps","getCallSignatureProps","props","defaults","callSignatureProps"],"sources":["../../src/utils.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AAGzD;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACnCC,KAAyB,EACzBC,QAAsC,EACtC;EACA,MAAM,CAACC,kBAAkB,CAAC,GAAGJ,UAAU,CAACE,KAAK,EAAE,CAC7C,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,
|
|
1
|
+
{"version":3,"names":["defaultProps","splitProps","getCallSignatureProps","props","defaults","callSignatureProps"],"sources":["../../src/utils.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AAGzD;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACnCC,KAAyB,EACzBC,QAAsC,EACtC;EACA,MAAM,CAACC,kBAAkB,CAAC,GAAGJ,UAAU,CAACE,KAAK,EAAE,CAC7C,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,YAAY,CACb,CAAC;EAEF,IAAI,CAACC,QAAQ,EAAE;IACb,OAAOC,kBAAkB;EAC3B;EAEA,OAAOL,YAAY,CAACK,kBAAkB,EAAED,QAAQ,CAAC;AACnD","ignoreList":[]}
|
|
@@ -43,11 +43,11 @@ describe("Call Signature Parameters", () => {
|
|
|
43
43
|
parameters: [{
|
|
44
44
|
name: "a",
|
|
45
45
|
type: "int",
|
|
46
|
-
|
|
46
|
+
default: null
|
|
47
47
|
}, {
|
|
48
48
|
name: "b",
|
|
49
49
|
type: "str",
|
|
50
|
-
|
|
50
|
+
default: null
|
|
51
51
|
}]
|
|
52
52
|
})]);
|
|
53
53
|
expect(result).toRenderTo(d`
|
|
@@ -73,12 +73,10 @@ describe("Call Signature Parameters", () => {
|
|
|
73
73
|
parameters: [{
|
|
74
74
|
name: "a",
|
|
75
75
|
type: "int",
|
|
76
|
-
optional: true,
|
|
77
76
|
default: 5
|
|
78
77
|
}, {
|
|
79
78
|
name: "b",
|
|
80
79
|
type: "str",
|
|
81
|
-
optional: true,
|
|
82
80
|
default: "hello"
|
|
83
81
|
}]
|
|
84
82
|
})]);
|
|
@@ -88,7 +86,7 @@ describe("Call Signature Parameters", () => {
|
|
|
88
86
|
});
|
|
89
87
|
});
|
|
90
88
|
describe("Call Signature", () => {
|
|
91
|
-
it("renders a
|
|
89
|
+
it("renders a call signature with strings", () => {
|
|
92
90
|
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
93
91
|
parameters: ["a", "b"]
|
|
94
92
|
})]);
|
|
@@ -96,69 +94,66 @@ describe("Call Signature", () => {
|
|
|
96
94
|
(a, b)
|
|
97
95
|
`);
|
|
98
96
|
});
|
|
99
|
-
it("renders a
|
|
100
|
-
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
101
|
-
parameters: ["a", "b"],
|
|
102
|
-
args: true,
|
|
103
|
-
kwargs: true
|
|
104
|
-
})]);
|
|
105
|
-
expect(result).toRenderTo(d`
|
|
106
|
-
(a, b, *args, **kwargs)
|
|
107
|
-
`);
|
|
108
|
-
});
|
|
109
|
-
it("renders a simple call signature with type parameters", () => {
|
|
97
|
+
it("renders a call signature with parameter descriptors", () => {
|
|
110
98
|
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
111
|
-
parameters: [
|
|
112
|
-
|
|
99
|
+
parameters: [{
|
|
100
|
+
name: "a"
|
|
101
|
+
}, {
|
|
102
|
+
name: "b"
|
|
103
|
+
}]
|
|
113
104
|
})]);
|
|
114
105
|
expect(result).toRenderTo(d`
|
|
115
|
-
|
|
106
|
+
(a, b)
|
|
116
107
|
`);
|
|
117
108
|
});
|
|
118
|
-
it("renders a
|
|
109
|
+
it("renders a call signature with mixed strings and parameter descriptors", () => {
|
|
119
110
|
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
120
|
-
parameters: ["a",
|
|
121
|
-
|
|
111
|
+
parameters: ["a", {
|
|
112
|
+
name: "b"
|
|
113
|
+
}]
|
|
122
114
|
})]);
|
|
123
115
|
expect(result).toRenderTo(d`
|
|
124
|
-
(a, b)
|
|
116
|
+
(a, b)
|
|
125
117
|
`);
|
|
126
118
|
});
|
|
127
|
-
it("renders a simple call signature
|
|
119
|
+
it("renders a simple call signature with args and kwargs", () => {
|
|
128
120
|
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
129
|
-
parameters: [
|
|
130
|
-
|
|
121
|
+
parameters: [{
|
|
122
|
+
name: "a"
|
|
123
|
+
}, {
|
|
124
|
+
name: "b"
|
|
125
|
+
}],
|
|
126
|
+
args: true,
|
|
127
|
+
kwargs: true
|
|
131
128
|
})]);
|
|
132
129
|
expect(result).toRenderTo(d`
|
|
133
|
-
(
|
|
130
|
+
(a, b, *args, **kwargs)
|
|
134
131
|
`);
|
|
135
132
|
});
|
|
136
|
-
it("renders a simple call signature
|
|
133
|
+
it("renders a simple call signature with type parameters", () => {
|
|
137
134
|
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
138
|
-
parameters: [
|
|
139
|
-
|
|
135
|
+
parameters: [{
|
|
136
|
+
name: "a"
|
|
137
|
+
}, {
|
|
138
|
+
name: "b"
|
|
139
|
+
}],
|
|
140
|
+
typeParameters: ["T", "U"]
|
|
140
141
|
})]);
|
|
141
142
|
expect(result).toRenderTo(d`
|
|
142
|
-
|
|
143
|
+
[T, U](a, b)
|
|
143
144
|
`);
|
|
144
145
|
});
|
|
145
|
-
it("
|
|
146
|
-
expect(() => toSourceText([_$createComponent(py.CallSignature, {
|
|
147
|
-
parameters: ["a", "b"],
|
|
148
|
-
instanceFunction: true,
|
|
149
|
-
classFunction: true
|
|
150
|
-
})])).toThrowError(/Cannot be both an instance function and a class function/);
|
|
151
|
-
});
|
|
152
|
-
it("renders a simple call signature with all properties", () => {
|
|
146
|
+
it("renders a simple call signature with return type", () => {
|
|
153
147
|
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
154
|
-
parameters: [
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
148
|
+
parameters: [{
|
|
149
|
+
name: "a"
|
|
150
|
+
}, {
|
|
151
|
+
name: "b"
|
|
152
|
+
}],
|
|
158
153
|
returnType: "int"
|
|
159
154
|
})]);
|
|
160
155
|
expect(result).toRenderTo(d`
|
|
161
|
-
(
|
|
156
|
+
(a, b) -> int
|
|
162
157
|
`);
|
|
163
158
|
});
|
|
164
159
|
});
|
|
@@ -216,26 +211,10 @@ describe("Call Signature - Parameter Descriptors", () => {
|
|
|
216
211
|
}, {
|
|
217
212
|
name: "b",
|
|
218
213
|
type: "str"
|
|
219
|
-
}]
|
|
220
|
-
classFunction: true
|
|
221
|
-
})]);
|
|
222
|
-
expect(result).toRenderTo(d`
|
|
223
|
-
(cls, a: int, b: str)
|
|
224
|
-
`);
|
|
225
|
-
});
|
|
226
|
-
it("renders a call signature with parameter descriptors for an instance function", () => {
|
|
227
|
-
const result = toSourceText([_$createComponent(py.CallSignature, {
|
|
228
|
-
parameters: [{
|
|
229
|
-
name: "a",
|
|
230
|
-
type: "int"
|
|
231
|
-
}, {
|
|
232
|
-
name: "b",
|
|
233
|
-
type: "str"
|
|
234
|
-
}],
|
|
235
|
-
instanceFunction: true
|
|
214
|
+
}]
|
|
236
215
|
})]);
|
|
237
216
|
expect(result).toRenderTo(d`
|
|
238
|
-
(
|
|
217
|
+
(a: int, b: str)
|
|
239
218
|
`);
|
|
240
219
|
});
|
|
241
220
|
it("renders a call signature with all", () => {
|
|
@@ -247,13 +226,12 @@ describe("Call Signature - Parameter Descriptors", () => {
|
|
|
247
226
|
name: "b",
|
|
248
227
|
type: "str"
|
|
249
228
|
}],
|
|
250
|
-
instanceFunction: true,
|
|
251
229
|
args: true,
|
|
252
230
|
kwargs: true,
|
|
253
231
|
returnType: "int"
|
|
254
232
|
})]);
|
|
255
233
|
expect(result).toRenderTo(d`
|
|
256
|
-
(
|
|
234
|
+
(a: int, b: str, *args, **kwargs) -> int
|
|
257
235
|
`);
|
|
258
236
|
});
|
|
259
237
|
it("renders a more complex call signature with parameter descriptors", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["d","describe","expect","it","py","toSourceText","result","_$createComponent","CallSignatureParameters","parameters","toRenderTo","name","type","
|
|
1
|
+
{"version":3,"names":["d","describe","expect","it","py","toSourceText","result","_$createComponent","CallSignatureParameters","parameters","toRenderTo","name","type","default","CallSignature","args","kwargs","typeParameters","returnType"],"sources":["../../test/callsignatures.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-method-declaration.test.d.ts","sourceRoot":"","sources":["../../test/class-method-declaration.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { d } from "@alloy-js/core/testing";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import * as py from "../src/index.js";
|
|
5
|
+
import { toSourceText } from "./utils.js";
|
|
6
|
+
describe("ClassMethodDeclaration", () => {
|
|
7
|
+
it("renders async class method", () => {
|
|
8
|
+
const decl = _$createComponent(py.StatementList, {
|
|
9
|
+
get children() {
|
|
10
|
+
return _$createComponent(py.ClassDeclaration, {
|
|
11
|
+
name: "MyClass",
|
|
12
|
+
get children() {
|
|
13
|
+
return _$createComponent(py.StatementList, {
|
|
14
|
+
get children() {
|
|
15
|
+
return _$createComponent(py.ClassMethodDeclaration, {
|
|
16
|
+
async: true,
|
|
17
|
+
name: "create",
|
|
18
|
+
returnType: "MyClass",
|
|
19
|
+
children: "return cls()"
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
expect(toSourceText([decl])).toBe(d`
|
|
28
|
+
class MyClass:
|
|
29
|
+
@classmethod
|
|
30
|
+
async def create(cls) -> MyClass:
|
|
31
|
+
return cls()
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
`);
|
|
35
|
+
});
|
|
36
|
+
it("renders class method with parameters", () => {
|
|
37
|
+
const parameters = [{
|
|
38
|
+
name: "x",
|
|
39
|
+
type: "int"
|
|
40
|
+
}];
|
|
41
|
+
const decl = _$createComponent(py.ClassDeclaration, {
|
|
42
|
+
name: "MyClass",
|
|
43
|
+
get children() {
|
|
44
|
+
return _$createComponent(py.ClassMethodDeclaration, {
|
|
45
|
+
name: "foo",
|
|
46
|
+
parameters: parameters,
|
|
47
|
+
children: "self.attribute = \"value\""
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
expect(toSourceText([decl])).toBe(d`
|
|
52
|
+
class MyClass:
|
|
53
|
+
@classmethod
|
|
54
|
+
def foo(cls, x: int):
|
|
55
|
+
self.attribute = "value"
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
`);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=class-method-declaration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["d","describe","expect","it","py","toSourceText","decl","_$createComponent","StatementList","children","ClassDeclaration","name","ClassMethodDeclaration","async","returnType","toBe","parameters","type"],"sources":["../../test/class-method-declaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,CAAC,QAAQ,wBAAwB;AAC1C,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,SAASC,YAAY,QAAQ,YAAY;AAEzCJ,QAAQ,CAAC,wBAAwB,EAAE,MAAM;EACvCE,EAAE,CAAC,4BAA4B,EAAE,MAAM;IACrC,MAAMG,IAAI,GAAAC,iBAAA,CACPH,EAAE,CAACI,aAAa;MAAA,IAAAC,SAAA;QAAA,OAAAF,iBAAA,CACdH,EAAE,CAACM,gBAAgB;UAACC,IAAI;UAAA,IAAAF,SAAA;YAAA,OAAAF,iBAAA,CACtBH,EAAE,CAACI,aAAa;cAAA,IAAAC,SAAA;gBAAA,OAAAF,iBAAA,CACdH,EAAE,CAACQ,sBAAsB;kBACxBC,KAAK;kBACLF,IAAI;kBACJG,UAAU,EAAE,SAAS;kBAAAL,QAAA;gBAAA;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA,EAO9B;IAEDP,MAAM,CAACG,YAAY,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACS,IAAI,CAACf,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFG,EAAE,CAAC,sCAAsC,EAAE,MAAM;IAC/C,MAAMa,UAAU,GAAG,CAAC;MAAEL,IAAI,EAAE,GAAG;MAAEM,IAAI,EAAE;IAAM,CAAC,CAAC;IAC/C,MAAMX,IAAI,GAAAC,iBAAA,CACPH,EAAE,CAACM,gBAAgB;MAACC,IAAI;MAAA,IAAAF,SAAA;QAAA,OAAAF,iBAAA,CACtBH,EAAE,CAACQ,sBAAsB;UAACD,IAAI;UAAOK,UAAU,EAAEA,UAAU;UAAAP,QAAA;QAAA;MAAA;IAAA,EAI/D;IAEDP,MAAM,CAACG,YAAY,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACS,IAAI,CAACf,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -268,9 +268,9 @@ describe("Python Class - VariableDeclaration", () => {
|
|
|
268
268
|
instanceVariable: true,
|
|
269
269
|
name: "just_name"
|
|
270
270
|
}), _$createComponent(py.VariableDeclaration, {
|
|
271
|
-
instanceVariable: true,
|
|
272
271
|
name: "name_and_type",
|
|
273
|
-
type: "number"
|
|
272
|
+
type: "number",
|
|
273
|
+
instanceVariable: true
|
|
274
274
|
}), _$createComponent(py.VariableDeclaration, {
|
|
275
275
|
instanceVariable: true,
|
|
276
276
|
name: "name_type_and_value",
|
|
@@ -340,9 +340,8 @@ describe("Python Class - VariableDeclaration", () => {
|
|
|
340
340
|
refkey: classMemberRk,
|
|
341
341
|
initializer: 42,
|
|
342
342
|
instanceVariable: true
|
|
343
|
-
}), _$createComponent(py.
|
|
343
|
+
}), _$createComponent(py.MethodDeclaration, {
|
|
344
344
|
name: "instanceMethod",
|
|
345
|
-
instanceFunction: true,
|
|
346
345
|
refkey: classMethodRk,
|
|
347
346
|
returnType: "int"
|
|
348
347
|
})];
|
|
@@ -392,7 +391,7 @@ describe("Python Class - FunctionDeclaration", () => {
|
|
|
392
391
|
name: "b",
|
|
393
392
|
type: "int",
|
|
394
393
|
instanceVariable: true
|
|
395
|
-
}), _$createComponent(py.
|
|
394
|
+
}), _$createComponent(py.MethodDeclaration, {
|
|
396
395
|
name: "my_method",
|
|
397
396
|
parameters: [{
|
|
398
397
|
name: "a",
|
|
@@ -402,12 +401,10 @@ describe("Python Class - FunctionDeclaration", () => {
|
|
|
402
401
|
type: "int"
|
|
403
402
|
}],
|
|
404
403
|
returnType: "int",
|
|
405
|
-
instanceFunction: true,
|
|
406
404
|
refkey: methodRefkey,
|
|
407
405
|
children: "return a + b"
|
|
408
|
-
}), _$createComponent(py.
|
|
406
|
+
}), _$createComponent(py.ClassMethodDeclaration, {
|
|
409
407
|
name: "my_class_method",
|
|
410
|
-
classFunction: true,
|
|
411
408
|
returnType: "int",
|
|
412
409
|
refkey: classMethodRefkey,
|
|
413
410
|
children: "pass"
|
|
@@ -430,6 +427,7 @@ describe("Python Class - FunctionDeclaration", () => {
|
|
|
430
427
|
def my_method(self, a: int, b: int) -> int:
|
|
431
428
|
return a + b
|
|
432
429
|
|
|
430
|
+
@classmethod
|
|
433
431
|
def my_class_method(cls) -> int:
|
|
434
432
|
pass
|
|
435
433
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memberRefkey","namekey","refkey","d","describe","expect","it","py","assertFileContents","toSourceText","toSourceTextMultiple","result","_$createComponent","ClassDeclaration","name","toRenderTo","children","StatementList","bases","expected","SourceFile","path","mod1Expected","mod2Expected","mod3Expected","VariableDeclaration","type","omitNone","fooKey","barKey","instanceVariable","initializer","classRk","classMemberRk","classMethodRk","v1Rk","res","ClassInstantiation","target","_$memo","
|
|
1
|
+
{"version":3,"names":["memberRefkey","namekey","refkey","d","describe","expect","it","py","assertFileContents","toSourceText","toSourceTextMultiple","result","_$createComponent","ClassDeclaration","name","toRenderTo","children","StatementList","bases","expected","SourceFile","path","mod1Expected","mod2Expected","mod3Expected","VariableDeclaration","type","omitNone","fooKey","barKey","instanceVariable","initializer","classRk","classMemberRk","classMethodRk","v1Rk","res","ClassInstantiation","target","_$memo","MethodDeclaration","returnType","methodRefkey","classMethodRefkey","staticMethodRefkey","parameters","ClassMethodDeclaration","FunctionDeclaration"],"sources":["../../test/classdeclarations.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constructordeclaration.test.d.ts","sourceRoot":"","sources":["../../test/constructordeclaration.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { d } from "@alloy-js/core/testing";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import * as py from "../src/index.js";
|
|
5
|
+
import { toSourceText } from "./utils.js";
|
|
6
|
+
describe("ConstructorDeclaration", () => {
|
|
7
|
+
it("renders async constructor with return type", () => {
|
|
8
|
+
const decl = _$createComponent(py.StatementList, {
|
|
9
|
+
get children() {
|
|
10
|
+
return _$createComponent(py.ClassDeclaration, {
|
|
11
|
+
name: "MyClass",
|
|
12
|
+
get children() {
|
|
13
|
+
return _$createComponent(py.StatementList, {
|
|
14
|
+
get children() {
|
|
15
|
+
return _$createComponent(py.ConstructorDeclaration, {
|
|
16
|
+
async: true,
|
|
17
|
+
returnType: "MyClass",
|
|
18
|
+
children: "return super().__new__(cls)"
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
expect(toSourceText([decl])).toBe(d`
|
|
27
|
+
class MyClass:
|
|
28
|
+
async def __new__(cls) -> MyClass:
|
|
29
|
+
return super().__new__(cls)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
`);
|
|
33
|
+
});
|
|
34
|
+
it("renders __new__ with spread args", () => {
|
|
35
|
+
const decl = _$createComponent(py.ClassDeclaration, {
|
|
36
|
+
name: "MyClass",
|
|
37
|
+
get children() {
|
|
38
|
+
return _$createComponent(py.StatementList, {
|
|
39
|
+
get children() {
|
|
40
|
+
return _$createComponent(py.ConstructorDeclaration, {
|
|
41
|
+
args: true,
|
|
42
|
+
kwargs: true,
|
|
43
|
+
children: "pass"
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
expect(toSourceText([decl])).toBe(d`
|
|
50
|
+
class MyClass:
|
|
51
|
+
def __new__(cls, *args, **kwargs):
|
|
52
|
+
pass
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
`);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=constructordeclaration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["d","describe","expect","it","py","toSourceText","decl","_$createComponent","StatementList","children","ClassDeclaration","name","ConstructorDeclaration","async","returnType","toBe","args","kwargs"],"sources":["../../test/constructordeclaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,CAAC,QAAQ,wBAAwB;AAC1C,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,SAASC,YAAY,QAAQ,YAAY;AAEzCJ,QAAQ,CAAC,wBAAwB,EAAE,MAAM;EACvCE,EAAE,CAAC,4CAA4C,EAAE,MAAM;IACrD,MAAMG,IAAI,GAAAC,iBAAA,CACPH,EAAE,CAACI,aAAa;MAAA,IAAAC,SAAA;QAAA,OAAAF,iBAAA,CACdH,EAAE,CAACM,gBAAgB;UAACC,IAAI;UAAA,IAAAF,SAAA;YAAA,OAAAF,iBAAA,CACtBH,EAAE,CAACI,aAAa;cAAA,IAAAC,SAAA;gBAAA,OAAAF,iBAAA,CACdH,EAAE,CAACQ,sBAAsB;kBAACC,KAAK;kBAACC,UAAU,EAAE,SAAS;kBAAAL,QAAA;gBAAA;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA,EAM7D;IAEDP,MAAM,CAACG,YAAY,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACS,IAAI,CAACf,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFG,EAAE,CAAC,kCAAkC,EAAE,MAAM;IAC3C,MAAMG,IAAI,GAAAC,iBAAA,CACPH,EAAE,CAACM,gBAAgB;MAACC,IAAI;MAAA,IAAAF,SAAA;QAAA,OAAAF,iBAAA,CACtBH,EAAE,CAACI,aAAa;UAAA,IAAAC,SAAA;YAAA,OAAAF,iBAAA,CACdH,EAAE,CAACQ,sBAAsB;cAACI,IAAI;cAACC,MAAM;cAAAR,QAAA;YAAA;UAAA;QAAA;MAAA;IAAA,EAK3C;IAEDP,MAAM,CAACG,YAAY,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACS,IAAI,CAACf,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dundermethoddeclaration.test.d.ts","sourceRoot":"","sources":["../../test/dundermethoddeclaration.test.tsx"],"names":[],"mappings":""}
|