@alloy-js/python 0.4.0-dev.3 → 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 +45 -3
- package/dist/src/components/ImportStatement.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 +51 -4
- 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 +441 -336
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["code","memberRefkey","refkey","d","describe","expect","it","py","ClassDeclaration","FunctionDeclaration","SourceFile","VariableDeclaration","assertFileContents","toSourceText","toSourceTextMultiple","_$createComponent","MemberExpression","children","Part","id","fileName","import","meta","url","lineNumber","columnNumber","toBe","key","rk1","StatementList","name","initializer","keys","rk2","slice","start","stop","step","rk3","xRefkey","toThrowError","args","model1Ref","model2Ref","classMethod1Ref","classMethod2Ref","v1Rk","v2Rk","template","type","omitNone","instanceVariable","_$memo","fooRef","modelRef","parameters","default","messageRef","classRefkey","interfaceRefkey","interfaceMemberRefkey","classMethodRefkey","classMemberRefkey","instanceRefkey","_$createIntrinsic","returnType","res","path","yRefkey","printOptions","printWidth"],"sources":["../../../test/memberexpressions.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,344 @@
|
|
|
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 { abcModule } from "../src/index.js";
|
|
6
|
+
import { toSourceText } from "./utils.js";
|
|
7
|
+
describe("Method-like Declarations", () => {
|
|
8
|
+
it("renders an instance function with a body", () => {
|
|
9
|
+
const result = toSourceText([_$createComponent(py.ClassDeclaration, {
|
|
10
|
+
name: "MyClass",
|
|
11
|
+
get children() {
|
|
12
|
+
return _$createComponent(py.MethodDeclaration, {
|
|
13
|
+
name: "bar",
|
|
14
|
+
children: "print('hi')"
|
|
15
|
+
}, {
|
|
16
|
+
fileName: import.meta.url,
|
|
17
|
+
lineNumber: 11,
|
|
18
|
+
columnNumber: 9
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}, {
|
|
22
|
+
fileName: import.meta.url,
|
|
23
|
+
lineNumber: 10,
|
|
24
|
+
columnNumber: 7
|
|
25
|
+
})]);
|
|
26
|
+
expect(result).toRenderTo(d`
|
|
27
|
+
class MyClass:
|
|
28
|
+
def bar(self):
|
|
29
|
+
print('hi')
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
`);
|
|
34
|
+
});
|
|
35
|
+
it("can be an async method", () => {
|
|
36
|
+
const decl = _$createComponent(py.StatementList, {
|
|
37
|
+
get children() {
|
|
38
|
+
return _$createComponent(py.ClassDeclaration, {
|
|
39
|
+
name: "MyClass",
|
|
40
|
+
get children() {
|
|
41
|
+
return _$createComponent(py.StatementList, {
|
|
42
|
+
get children() {
|
|
43
|
+
return _$createComponent(py.MethodDeclaration, {
|
|
44
|
+
async: true,
|
|
45
|
+
name: "my_method",
|
|
46
|
+
returnType: "str",
|
|
47
|
+
children: "return \"async result\""
|
|
48
|
+
}, {
|
|
49
|
+
fileName: import.meta.url,
|
|
50
|
+
lineNumber: 29,
|
|
51
|
+
columnNumber: 13
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}, {
|
|
55
|
+
fileName: import.meta.url,
|
|
56
|
+
lineNumber: 28,
|
|
57
|
+
columnNumber: 11
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
fileName: import.meta.url,
|
|
62
|
+
lineNumber: 27,
|
|
63
|
+
columnNumber: 9
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}, {
|
|
67
|
+
fileName: import.meta.url,
|
|
68
|
+
lineNumber: 26,
|
|
69
|
+
columnNumber: 7
|
|
70
|
+
});
|
|
71
|
+
expect(toSourceText([decl])).toBe(d`
|
|
72
|
+
class MyClass:
|
|
73
|
+
async def my_method(self) -> str:
|
|
74
|
+
return "async result"
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
`);
|
|
78
|
+
});
|
|
79
|
+
it("can be an async class method", () => {
|
|
80
|
+
const decl = _$createComponent(py.StatementList, {
|
|
81
|
+
get children() {
|
|
82
|
+
return _$createComponent(py.ClassDeclaration, {
|
|
83
|
+
name: "MyClass",
|
|
84
|
+
get children() {
|
|
85
|
+
return _$createComponent(py.StatementList, {
|
|
86
|
+
get children() {
|
|
87
|
+
return _$createComponent(py.ClassMethodDeclaration, {
|
|
88
|
+
async: true,
|
|
89
|
+
name: "create_async",
|
|
90
|
+
returnType: "MyClass",
|
|
91
|
+
children: "return cls()"
|
|
92
|
+
}, {
|
|
93
|
+
fileName: import.meta.url,
|
|
94
|
+
lineNumber: 51,
|
|
95
|
+
columnNumber: 13
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
fileName: import.meta.url,
|
|
100
|
+
lineNumber: 50,
|
|
101
|
+
columnNumber: 11
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
fileName: import.meta.url,
|
|
106
|
+
lineNumber: 49,
|
|
107
|
+
columnNumber: 9
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
fileName: import.meta.url,
|
|
112
|
+
lineNumber: 48,
|
|
113
|
+
columnNumber: 7
|
|
114
|
+
});
|
|
115
|
+
expect(toSourceText([decl])).toBe(d`
|
|
116
|
+
class MyClass:
|
|
117
|
+
@classmethod
|
|
118
|
+
async def create_async(cls) -> MyClass:
|
|
119
|
+
return cls()
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
`);
|
|
123
|
+
});
|
|
124
|
+
it("can be an async static method", () => {
|
|
125
|
+
const decl = _$createComponent(py.StatementList, {
|
|
126
|
+
get children() {
|
|
127
|
+
return _$createComponent(py.ClassDeclaration, {
|
|
128
|
+
name: "MyClass",
|
|
129
|
+
get children() {
|
|
130
|
+
return _$createComponent(py.StatementList, {
|
|
131
|
+
get children() {
|
|
132
|
+
return _$createComponent(py.StaticMethodDeclaration, {
|
|
133
|
+
async: true,
|
|
134
|
+
name: "utility",
|
|
135
|
+
returnType: "str",
|
|
136
|
+
children: "return \"utility result\""
|
|
137
|
+
}, {
|
|
138
|
+
fileName: import.meta.url,
|
|
139
|
+
lineNumber: 78,
|
|
140
|
+
columnNumber: 13
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
fileName: import.meta.url,
|
|
145
|
+
lineNumber: 77,
|
|
146
|
+
columnNumber: 11
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
fileName: import.meta.url,
|
|
151
|
+
lineNumber: 76,
|
|
152
|
+
columnNumber: 9
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}, {
|
|
156
|
+
fileName: import.meta.url,
|
|
157
|
+
lineNumber: 75,
|
|
158
|
+
columnNumber: 7
|
|
159
|
+
});
|
|
160
|
+
expect(toSourceText([decl])).toBe(d`
|
|
161
|
+
class MyClass:
|
|
162
|
+
@staticmethod
|
|
163
|
+
async def utility() -> str:
|
|
164
|
+
return "utility result"
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
`);
|
|
168
|
+
});
|
|
169
|
+
it("renders method with parameters", () => {
|
|
170
|
+
const parameters = [{
|
|
171
|
+
name: "x",
|
|
172
|
+
type: "int"
|
|
173
|
+
}];
|
|
174
|
+
const decl = _$createComponent(py.ClassDeclaration, {
|
|
175
|
+
name: "MyClass",
|
|
176
|
+
get children() {
|
|
177
|
+
return _$createComponent(py.MethodDeclaration, {
|
|
178
|
+
name: "foo",
|
|
179
|
+
parameters: parameters,
|
|
180
|
+
children: "self.attribute = \"value\""
|
|
181
|
+
}, {
|
|
182
|
+
fileName: import.meta.url,
|
|
183
|
+
lineNumber: 100,
|
|
184
|
+
columnNumber: 9
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}, {
|
|
188
|
+
fileName: import.meta.url,
|
|
189
|
+
lineNumber: 99,
|
|
190
|
+
columnNumber: 7
|
|
191
|
+
});
|
|
192
|
+
expect(toSourceText([decl])).toBe(d`
|
|
193
|
+
class MyClass:
|
|
194
|
+
def foo(self, x: int):
|
|
195
|
+
self.attribute = "value"
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
`);
|
|
199
|
+
});
|
|
200
|
+
it("renders class method with parameters", () => {
|
|
201
|
+
const parameters = [{
|
|
202
|
+
name: "x",
|
|
203
|
+
type: "int"
|
|
204
|
+
}];
|
|
205
|
+
const decl = _$createComponent(py.ClassDeclaration, {
|
|
206
|
+
name: "MyClass",
|
|
207
|
+
get children() {
|
|
208
|
+
return _$createComponent(py.ClassMethodDeclaration, {
|
|
209
|
+
name: "foo",
|
|
210
|
+
parameters: parameters,
|
|
211
|
+
children: "self.attribute = \"value\""
|
|
212
|
+
}, {
|
|
213
|
+
fileName: import.meta.url,
|
|
214
|
+
lineNumber: 119,
|
|
215
|
+
columnNumber: 9
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}, {
|
|
219
|
+
fileName: import.meta.url,
|
|
220
|
+
lineNumber: 118,
|
|
221
|
+
columnNumber: 7
|
|
222
|
+
});
|
|
223
|
+
expect(toSourceText([decl])).toBe(d`
|
|
224
|
+
class MyClass:
|
|
225
|
+
@classmethod
|
|
226
|
+
def foo(cls, x: int):
|
|
227
|
+
self.attribute = "value"
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
`);
|
|
231
|
+
});
|
|
232
|
+
it("renders static method with parameters", () => {
|
|
233
|
+
const parameters = [{
|
|
234
|
+
name: "x",
|
|
235
|
+
type: "int"
|
|
236
|
+
}];
|
|
237
|
+
const decl = _$createComponent(py.ClassDeclaration, {
|
|
238
|
+
name: "MyClass",
|
|
239
|
+
get children() {
|
|
240
|
+
return _$createComponent(py.StaticMethodDeclaration, {
|
|
241
|
+
name: "foo",
|
|
242
|
+
parameters: parameters,
|
|
243
|
+
children: "attribute = \"value\""
|
|
244
|
+
}, {
|
|
245
|
+
fileName: import.meta.url,
|
|
246
|
+
lineNumber: 139,
|
|
247
|
+
columnNumber: 9
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}, {
|
|
251
|
+
fileName: import.meta.url,
|
|
252
|
+
lineNumber: 138,
|
|
253
|
+
columnNumber: 7
|
|
254
|
+
});
|
|
255
|
+
expect(toSourceText([decl])).toBe(d`
|
|
256
|
+
class MyClass:
|
|
257
|
+
@staticmethod
|
|
258
|
+
def foo(x: int):
|
|
259
|
+
attribute = "value"
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
`);
|
|
263
|
+
});
|
|
264
|
+
it("renders abstract methods", () => {
|
|
265
|
+
const parameters = [{
|
|
266
|
+
name: "x",
|
|
267
|
+
type: "int"
|
|
268
|
+
}];
|
|
269
|
+
const decl = _$createComponent(py.StatementList, {
|
|
270
|
+
get children() {
|
|
271
|
+
return _$createComponent(py.ClassDeclaration, {
|
|
272
|
+
name: "MyClass",
|
|
273
|
+
get children() {
|
|
274
|
+
return _$createComponent(py.StatementList, {
|
|
275
|
+
get children() {
|
|
276
|
+
return [_$createComponent(py.MethodDeclaration, {
|
|
277
|
+
name: "methoddef",
|
|
278
|
+
parameters: parameters,
|
|
279
|
+
abstract: true
|
|
280
|
+
}, {
|
|
281
|
+
fileName: import.meta.url,
|
|
282
|
+
lineNumber: 161,
|
|
283
|
+
columnNumber: 13
|
|
284
|
+
}), _$createComponent(py.ClassMethodDeclaration, {
|
|
285
|
+
name: "classdef",
|
|
286
|
+
parameters: parameters,
|
|
287
|
+
abstract: true
|
|
288
|
+
}, {
|
|
289
|
+
fileName: import.meta.url,
|
|
290
|
+
lineNumber: 166,
|
|
291
|
+
columnNumber: 13
|
|
292
|
+
}), _$createComponent(py.StaticMethodDeclaration, {
|
|
293
|
+
name: "staticdef",
|
|
294
|
+
parameters: parameters,
|
|
295
|
+
abstract: true
|
|
296
|
+
}, {
|
|
297
|
+
fileName: import.meta.url,
|
|
298
|
+
lineNumber: 171,
|
|
299
|
+
columnNumber: 13
|
|
300
|
+
})];
|
|
301
|
+
}
|
|
302
|
+
}, {
|
|
303
|
+
fileName: import.meta.url,
|
|
304
|
+
lineNumber: 160,
|
|
305
|
+
columnNumber: 11
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}, {
|
|
309
|
+
fileName: import.meta.url,
|
|
310
|
+
lineNumber: 159,
|
|
311
|
+
columnNumber: 9
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
}, {
|
|
315
|
+
fileName: import.meta.url,
|
|
316
|
+
lineNumber: 158,
|
|
317
|
+
columnNumber: 7
|
|
318
|
+
});
|
|
319
|
+
expect(toSourceText([decl], {
|
|
320
|
+
externals: [abcModule]
|
|
321
|
+
})).toBe(d`
|
|
322
|
+
from abc import abstractmethod
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
class MyClass:
|
|
326
|
+
@abstractmethod
|
|
327
|
+
def methoddef(self, x: int):
|
|
328
|
+
pass
|
|
329
|
+
|
|
330
|
+
@classmethod
|
|
331
|
+
@abstractmethod
|
|
332
|
+
def classdef(cls, x: int):
|
|
333
|
+
pass
|
|
334
|
+
|
|
335
|
+
@staticmethod
|
|
336
|
+
@abstractmethod
|
|
337
|
+
def staticdef(x: int):
|
|
338
|
+
pass
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
`);
|
|
342
|
+
});
|
|
343
|
+
});
|
|
344
|
+
//# sourceMappingURL=methoddeclaration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["d","describe","expect","it","py","abcModule","toSourceText","result","_$createComponent","ClassDeclaration","name","children","MethodDeclaration","fileName","import","meta","url","lineNumber","columnNumber","toRenderTo","decl","StatementList","async","returnType","toBe","ClassMethodDeclaration","StaticMethodDeclaration","parameters","type","abstract","externals"],"sources":["../../../test/methoddeclaration.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { d } from "@alloy-js/core/testing";
|
|
3
|
+
import { expect, it } from "vitest";
|
|
4
|
+
import { enumModule } from "../src/builtins/python.js";
|
|
5
|
+
import * as py from "../src/index.js";
|
|
6
|
+
import { toSourceText } from "./utils.js";
|
|
7
|
+
it("correct formatting of class name", () => {
|
|
8
|
+
const result = toSourceText([_$createComponent(py.ClassDeclaration, {
|
|
9
|
+
name: "a-really-WeirdClass-name"
|
|
10
|
+
}, {
|
|
11
|
+
fileName: import.meta.url,
|
|
12
|
+
lineNumber: 9,
|
|
13
|
+
columnNumber: 5
|
|
14
|
+
})]);
|
|
15
|
+
const expected = d`
|
|
16
|
+
class AReallyWeirdClassName:
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
`;
|
|
21
|
+
expect(result).toRenderTo(expected);
|
|
22
|
+
});
|
|
23
|
+
it("correct formatting of Enum name and EnumMember names", () => {
|
|
24
|
+
const result = toSourceText([_$createComponent(py.FunctionalEnumDeclaration, {
|
|
25
|
+
name: "priority",
|
|
26
|
+
members: [{
|
|
27
|
+
name: "high",
|
|
28
|
+
value: 1
|
|
29
|
+
}, {
|
|
30
|
+
name: "Medium",
|
|
31
|
+
value: 2
|
|
32
|
+
}, {
|
|
33
|
+
name: "lowValue",
|
|
34
|
+
value: 3
|
|
35
|
+
}]
|
|
36
|
+
}, {
|
|
37
|
+
fileName: import.meta.url,
|
|
38
|
+
lineNumber: 23,
|
|
39
|
+
columnNumber: 7
|
|
40
|
+
})], {
|
|
41
|
+
externals: [enumModule]
|
|
42
|
+
});
|
|
43
|
+
const expected = d`
|
|
44
|
+
from enum import Enum
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
Priority = Enum('Priority', {'HIGH' : 1, 'MEDIUM' : 2, 'LOW_VALUE' : 3})
|
|
48
|
+
`;
|
|
49
|
+
expect(result).toRenderTo(expected);
|
|
50
|
+
});
|
|
51
|
+
it("renders a function with parameters", () => {
|
|
52
|
+
const result = toSourceText([_$createComponent(py.FunctionDeclaration, {
|
|
53
|
+
name: "quirklyNamed-Function",
|
|
54
|
+
parameters: [{
|
|
55
|
+
name: "a-parameter",
|
|
56
|
+
type: "int"
|
|
57
|
+
}],
|
|
58
|
+
args: true,
|
|
59
|
+
kwargs: true,
|
|
60
|
+
children: "print(x, y)"
|
|
61
|
+
}, {
|
|
62
|
+
fileName: import.meta.url,
|
|
63
|
+
lineNumber: 45,
|
|
64
|
+
columnNumber: 5
|
|
65
|
+
})]);
|
|
66
|
+
expect(result).toRenderTo(d`
|
|
67
|
+
def quirkly_named_function(a_parameter: int, *args, **kwargs):
|
|
68
|
+
print(x, y)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
`);
|
|
72
|
+
});
|
|
73
|
+
it("correct formatting of call signature parameters names", () => {
|
|
74
|
+
const result = toSourceText([_$createComponent(py.CallSignatureParameters, {
|
|
75
|
+
parameters: [{
|
|
76
|
+
name: "this-is-a-number",
|
|
77
|
+
type: "int"
|
|
78
|
+
}, {
|
|
79
|
+
name: "andThisIsADict",
|
|
80
|
+
type: "dict"
|
|
81
|
+
}]
|
|
82
|
+
}, {
|
|
83
|
+
fileName: import.meta.url,
|
|
84
|
+
lineNumber: 66,
|
|
85
|
+
columnNumber: 5
|
|
86
|
+
})]);
|
|
87
|
+
expect(result).toRenderTo(`this_is_a_number: int, and_this_is_a_dict: dict`);
|
|
88
|
+
});
|
|
89
|
+
it("correct formatting of call statement vars", () => {
|
|
90
|
+
const result = toSourceText([_$createComponent(py.StatementList, {
|
|
91
|
+
get children() {
|
|
92
|
+
return _$createComponent(py.ClassInstantiation, {
|
|
93
|
+
target: "test",
|
|
94
|
+
get args() {
|
|
95
|
+
return [_$createComponent(py.VariableDeclaration, {
|
|
96
|
+
name: "this-is-a-long-name",
|
|
97
|
+
get initializer() {
|
|
98
|
+
return _$createComponent(py.Atom, {
|
|
99
|
+
jsValue: "A name"
|
|
100
|
+
}, {
|
|
101
|
+
fileName: import.meta.url,
|
|
102
|
+
lineNumber: 87,
|
|
103
|
+
columnNumber: 26
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
callStatementVar: true
|
|
107
|
+
}, {
|
|
108
|
+
fileName: import.meta.url,
|
|
109
|
+
lineNumber: 85,
|
|
110
|
+
columnNumber: 11
|
|
111
|
+
}), _$createComponent(py.VariableDeclaration, {
|
|
112
|
+
name: "andThisIsANumber",
|
|
113
|
+
get initializer() {
|
|
114
|
+
return _$createComponent(py.Atom, {
|
|
115
|
+
jsValue: 42
|
|
116
|
+
}, {
|
|
117
|
+
fileName: import.meta.url,
|
|
118
|
+
lineNumber: 92,
|
|
119
|
+
columnNumber: 26
|
|
120
|
+
});
|
|
121
|
+
},
|
|
122
|
+
callStatementVar: true
|
|
123
|
+
}, {
|
|
124
|
+
fileName: import.meta.url,
|
|
125
|
+
lineNumber: 90,
|
|
126
|
+
columnNumber: 11
|
|
127
|
+
})];
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
fileName: import.meta.url,
|
|
131
|
+
lineNumber: 82,
|
|
132
|
+
columnNumber: 7
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}, {
|
|
136
|
+
fileName: import.meta.url,
|
|
137
|
+
lineNumber: 81,
|
|
138
|
+
columnNumber: 5
|
|
139
|
+
})]);
|
|
140
|
+
expect(result).toRenderTo(`test(this_is_a_long_name="A name", and_this_is_a_number=42)`);
|
|
141
|
+
});
|
|
142
|
+
it("correct formatting of variable name", () => {
|
|
143
|
+
const res = toSourceText([_$createComponent(py.VariableDeclaration, {
|
|
144
|
+
name: "myVar",
|
|
145
|
+
type: "int",
|
|
146
|
+
initializer: 42
|
|
147
|
+
}, {
|
|
148
|
+
fileName: import.meta.url,
|
|
149
|
+
lineNumber: 106,
|
|
150
|
+
columnNumber: 5
|
|
151
|
+
})]);
|
|
152
|
+
expect(res).toBe(`my_var: int = 42`);
|
|
153
|
+
});
|
|
154
|
+
//# sourceMappingURL=namepolicies.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["d","expect","it","enumModule","py","toSourceText","result","_$createComponent","ClassDeclaration","name","fileName","import","meta","url","lineNumber","columnNumber","expected","toRenderTo","FunctionalEnumDeclaration","members","value","externals","FunctionDeclaration","parameters","type","args","kwargs","children","CallSignatureParameters","StatementList","ClassInstantiation","target","VariableDeclaration","initializer","Atom","jsValue","callStatementVar","res","toBe"],"sources":["../../../test/namepolicies.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|