@typespec/emitter-framework 0.15.0-dev.2 → 0.15.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/CHANGELOG.md +1 -16
- package/dist/src/core/components/overrides/component-overrides.d.ts.map +1 -1
- package/dist/src/core/components/overrides/component-overrides.js.map +1 -1
- package/dist/src/python/builtins.d.ts +14 -0
- package/dist/src/python/builtins.d.ts.map +1 -0
- package/dist/src/python/builtins.js +29 -0
- package/dist/src/python/builtins.js.map +1 -0
- package/dist/src/python/components/array-expression/array-expression.d.ts +6 -0
- package/dist/src/python/components/array-expression/array-expression.d.ts.map +1 -0
- package/dist/src/python/components/array-expression/array-expression.js +11 -0
- package/dist/src/python/components/array-expression/array-expression.js.map +1 -0
- package/dist/src/python/components/array-expression/array-expression.test.d.ts +2 -0
- package/dist/src/python/components/array-expression/array-expression.test.d.ts.map +1 -0
- package/dist/src/python/components/array-expression/array-expression.test.js +19 -0
- package/dist/src/python/components/array-expression/array-expression.test.js.map +1 -0
- package/dist/src/python/components/array-expression/index.d.ts +2 -0
- package/dist/src/python/components/array-expression/index.d.ts.map +1 -0
- package/dist/src/python/components/array-expression/index.js +2 -0
- package/dist/src/python/components/array-expression/index.js.map +1 -0
- package/dist/src/python/components/atom/atom.d.ts +33 -0
- package/dist/src/python/components/atom/atom.d.ts.map +1 -0
- package/dist/src/python/components/atom/atom.js +88 -0
- package/dist/src/python/components/atom/atom.js.map +1 -0
- package/dist/src/python/components/atom/atom.test.d.ts +2 -0
- package/dist/src/python/components/atom/atom.test.d.ts.map +1 -0
- package/dist/src/python/components/atom/atom.test.js +224 -0
- package/dist/src/python/components/atom/atom.test.js.map +1 -0
- package/dist/src/python/components/atom/index.d.ts +2 -0
- package/dist/src/python/components/atom/index.d.ts.map +1 -0
- package/dist/src/python/components/atom/index.js +2 -0
- package/dist/src/python/components/atom/index.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-bases.d.ts +45 -0
- package/dist/src/python/components/class-declaration/class-bases.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-bases.js +84 -0
- package/dist/src/python/components/class-declaration/class-bases.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-body.d.ts +16 -0
- package/dist/src/python/components/class-declaration/class-body.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-body.js +52 -0
- package/dist/src/python/components/class-declaration/class-body.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-declaration.d.ts +23 -0
- package/dist/src/python/components/class-declaration/class-declaration.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-declaration.js +118 -0
- package/dist/src/python/components/class-declaration/class-declaration.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-declaration.test.d.ts +2 -0
- package/dist/src/python/components/class-declaration/class-declaration.test.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-declaration.test.js +1527 -0
- package/dist/src/python/components/class-declaration/class-declaration.test.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-member.d.ts +16 -0
- package/dist/src/python/components/class-declaration/class-member.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-member.js +71 -0
- package/dist/src/python/components/class-declaration/class-member.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-member.test.d.ts +2 -0
- package/dist/src/python/components/class-declaration/class-member.test.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-member.test.js +202 -0
- package/dist/src/python/components/class-declaration/class-member.test.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-method.d.ts +22 -0
- package/dist/src/python/components/class-declaration/class-method.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-method.js +76 -0
- package/dist/src/python/components/class-declaration/class-method.js.map +1 -0
- package/dist/src/python/components/class-declaration/class-method.test.d.ts +2 -0
- package/dist/src/python/components/class-declaration/class-method.test.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/class-method.test.js +298 -0
- package/dist/src/python/components/class-declaration/class-method.test.js.map +1 -0
- package/dist/src/python/components/class-declaration/index.d.ts +7 -0
- package/dist/src/python/components/class-declaration/index.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/index.js +7 -0
- package/dist/src/python/components/class-declaration/index.js.map +1 -0
- package/dist/src/python/components/class-declaration/primitive-initializer.d.ts +22 -0
- package/dist/src/python/components/class-declaration/primitive-initializer.d.ts.map +1 -0
- package/dist/src/python/components/class-declaration/primitive-initializer.js +67 -0
- package/dist/src/python/components/class-declaration/primitive-initializer.js.map +1 -0
- package/dist/src/python/components/doc-element/doc-element.d.ts +46 -0
- package/dist/src/python/components/doc-element/doc-element.d.ts.map +1 -0
- package/dist/src/python/components/doc-element/doc-element.js +59 -0
- package/dist/src/python/components/doc-element/doc-element.js.map +1 -0
- package/dist/src/python/components/doc-element/index.d.ts +2 -0
- package/dist/src/python/components/doc-element/index.d.ts.map +1 -0
- package/dist/src/python/components/doc-element/index.js +2 -0
- package/dist/src/python/components/doc-element/index.js.map +1 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.d.ts +8 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.d.ts.map +1 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.js +80 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.js.map +1 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.test.d.ts +2 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.test.d.ts.map +1 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.test.js +344 -0
- package/dist/src/python/components/enum-declaration/enum-declaration.test.js.map +1 -0
- package/dist/src/python/components/enum-declaration/enum-member.d.ts +9 -0
- package/dist/src/python/components/enum-declaration/enum-member.d.ts.map +1 -0
- package/dist/src/python/components/enum-declaration/enum-member.js +22 -0
- package/dist/src/python/components/enum-declaration/enum-member.js.map +1 -0
- package/dist/src/python/components/enum-declaration/index.d.ts +3 -0
- package/dist/src/python/components/enum-declaration/index.d.ts.map +1 -0
- package/dist/src/python/components/enum-declaration/index.js +3 -0
- package/dist/src/python/components/enum-declaration/index.js.map +1 -0
- package/dist/src/python/components/function-declaration/function-declaration.d.ts +24 -0
- package/dist/src/python/components/function-declaration/function-declaration.d.ts.map +1 -0
- package/dist/src/python/components/function-declaration/function-declaration.js +68 -0
- package/dist/src/python/components/function-declaration/function-declaration.js.map +1 -0
- package/dist/src/python/components/function-declaration/function-declaration.test.d.ts +2 -0
- package/dist/src/python/components/function-declaration/function-declaration.test.d.ts.map +1 -0
- package/dist/src/python/components/function-declaration/function-declaration.test.js +682 -0
- package/dist/src/python/components/function-declaration/function-declaration.test.js.map +1 -0
- package/dist/src/python/components/function-declaration/index.d.ts +2 -0
- package/dist/src/python/components/function-declaration/index.d.ts.map +1 -0
- package/dist/src/python/components/function-declaration/index.js +2 -0
- package/dist/src/python/components/function-declaration/index.js.map +1 -0
- package/dist/src/python/components/index.d.ts +12 -0
- package/dist/src/python/components/index.d.ts.map +1 -0
- package/dist/src/python/components/index.js +12 -0
- package/dist/src/python/components/index.js.map +1 -0
- package/dist/src/python/components/protocol-declaration/callable-parameters.d.ts +25 -0
- package/dist/src/python/components/protocol-declaration/callable-parameters.d.ts.map +1 -0
- package/dist/src/python/components/protocol-declaration/callable-parameters.js +33 -0
- package/dist/src/python/components/protocol-declaration/callable-parameters.js.map +1 -0
- package/dist/src/python/components/protocol-declaration/index.d.ts +3 -0
- package/dist/src/python/components/protocol-declaration/index.d.ts.map +1 -0
- package/dist/src/python/components/protocol-declaration/index.js +3 -0
- package/dist/src/python/components/protocol-declaration/index.js.map +1 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.d.ts +8 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.d.ts.map +1 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.js +86 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.js.map +1 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.test.d.ts +2 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.test.d.ts.map +1 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.test.js +117 -0
- package/dist/src/python/components/protocol-declaration/protocol-declaration.test.js.map +1 -0
- package/dist/src/python/components/record-expression/index.d.ts +2 -0
- package/dist/src/python/components/record-expression/index.d.ts.map +1 -0
- package/dist/src/python/components/record-expression/index.js +2 -0
- package/dist/src/python/components/record-expression/index.js.map +1 -0
- package/dist/src/python/components/record-expression/record-expression.d.ts +6 -0
- package/dist/src/python/components/record-expression/record-expression.d.ts.map +1 -0
- package/dist/src/python/components/record-expression/record-expression.js +13 -0
- package/dist/src/python/components/record-expression/record-expression.js.map +1 -0
- package/dist/src/python/components/record-expression/record-expression.test.d.ts +2 -0
- package/dist/src/python/components/record-expression/record-expression.test.d.ts.map +1 -0
- package/dist/src/python/components/record-expression/record-expression.test.js +19 -0
- package/dist/src/python/components/record-expression/record-expression.test.js.map +1 -0
- package/dist/src/python/components/type-alias-declaration/index.d.ts +2 -0
- package/dist/src/python/components/type-alias-declaration/index.d.ts.map +1 -0
- package/dist/src/python/components/type-alias-declaration/index.js +2 -0
- package/dist/src/python/components/type-alias-declaration/index.js.map +1 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.d.ts +16 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.d.ts.map +1 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.js +75 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.js.map +1 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.test.d.ts +2 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.test.d.ts.map +1 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.test.js +140 -0
- package/dist/src/python/components/type-alias-declaration/type-alias-declaration.test.js.map +1 -0
- package/dist/src/python/components/type-declaration/index.d.ts +2 -0
- package/dist/src/python/components/type-declaration/index.d.ts.map +1 -0
- package/dist/src/python/components/type-declaration/index.js +2 -0
- package/dist/src/python/components/type-declaration/index.js.map +1 -0
- package/dist/src/python/components/type-declaration/type-declaration.d.ts +11 -0
- package/dist/src/python/components/type-declaration/type-declaration.d.ts.map +1 -0
- package/dist/src/python/components/type-declaration/type-declaration.js +31 -0
- package/dist/src/python/components/type-declaration/type-declaration.js.map +1 -0
- package/dist/src/python/components/type-declaration/type-declaration.test.d.ts +2 -0
- package/dist/src/python/components/type-declaration/type-declaration.test.d.ts.map +1 -0
- package/dist/src/python/components/type-declaration/type-declaration.test.js +69 -0
- package/dist/src/python/components/type-declaration/type-declaration.test.js.map +1 -0
- package/dist/src/python/components/type-expression/index.d.ts +2 -0
- package/dist/src/python/components/type-expression/index.d.ts.map +1 -0
- package/dist/src/python/components/type-expression/index.js +2 -0
- package/dist/src/python/components/type-expression/index.js.map +1 -0
- package/dist/src/python/components/type-expression/type-expression.d.ts +12 -0
- package/dist/src/python/components/type-expression/type-expression.d.ts.map +1 -0
- package/dist/src/python/components/type-expression/type-expression.js +348 -0
- package/dist/src/python/components/type-expression/type-expression.js.map +1 -0
- package/dist/src/python/components/type-expression/type-expression.test.d.ts +2 -0
- package/dist/src/python/components/type-expression/type-expression.test.d.ts.map +1 -0
- package/dist/src/python/components/type-expression/type-expression.test.js +503 -0
- package/dist/src/python/components/type-expression/type-expression.test.js.map +1 -0
- package/dist/src/python/index.d.ts +4 -0
- package/dist/src/python/index.d.ts.map +1 -0
- package/dist/src/python/index.js +4 -0
- package/dist/src/python/index.js.map +1 -0
- package/dist/src/python/lib.d.ts +68 -0
- package/dist/src/python/lib.d.ts.map +1 -0
- package/dist/src/python/lib.js +38 -0
- package/dist/src/python/lib.js.map +1 -0
- package/dist/src/python/test-utils.d.ts +8 -0
- package/dist/src/python/test-utils.d.ts.map +1 -0
- package/dist/src/python/test-utils.js +25 -0
- package/dist/src/python/test-utils.js.map +1 -0
- package/dist/src/python/utils/index.d.ts +4 -0
- package/dist/src/python/utils/index.d.ts.map +1 -0
- package/dist/src/python/utils/index.js +4 -0
- package/dist/src/python/utils/index.js.map +1 -0
- package/dist/src/python/utils/operation.d.ts +27 -0
- package/dist/src/python/utils/operation.d.ts.map +1 -0
- package/dist/src/python/utils/operation.js +139 -0
- package/dist/src/python/utils/operation.js.map +1 -0
- package/dist/src/python/utils/refkey.d.ts +23 -0
- package/dist/src/python/utils/refkey.d.ts.map +1 -0
- package/dist/src/python/utils/refkey.js +36 -0
- package/dist/src/python/utils/refkey.js.map +1 -0
- package/dist/src/python/utils/type.d.ts +19 -0
- package/dist/src/python/utils/type.d.ts.map +1 -0
- package/dist/src/python/utils/type.js +24 -0
- package/dist/src/python/utils/type.js.map +1 -0
- package/dist/src/typescript/components/function-declaration.d.ts.map +1 -1
- package/dist/src/typescript/components/function-declaration.js.map +1 -1
- package/package.json +12 -4
- package/package.json.bak +13 -4
- package/src/core/components/overrides/component-overrides.tsx +9 -6
- package/src/python/builtins.ts +43 -0
- package/src/python/components/array-expression/array-expression.test.tsx +14 -0
- package/src/python/components/array-expression/array-expression.tsx +11 -0
- package/src/python/components/array-expression/index.ts +1 -0
- package/src/python/components/atom/atom.test.tsx +244 -0
- package/src/python/components/atom/atom.tsx +95 -0
- package/src/python/components/atom/index.ts +1 -0
- package/src/python/components/class-declaration/class-bases.tsx +92 -0
- package/src/python/components/class-declaration/class-body.tsx +56 -0
- package/src/python/components/class-declaration/class-declaration.test.tsx +1414 -0
- package/src/python/components/class-declaration/class-declaration.tsx +116 -0
- package/src/python/components/class-declaration/class-member.test.tsx +194 -0
- package/src/python/components/class-declaration/class-member.tsx +67 -0
- package/src/python/components/class-declaration/class-method.test.tsx +250 -0
- package/src/python/components/class-declaration/class-method.tsx +97 -0
- package/src/python/components/class-declaration/index.ts +6 -0
- package/src/python/components/class-declaration/primitive-initializer.tsx +62 -0
- package/src/python/components/doc-element/doc-element.tsx +83 -0
- package/src/python/components/doc-element/index.ts +1 -0
- package/src/python/components/enum-declaration/enum-declaration.test.tsx +319 -0
- package/src/python/components/enum-declaration/enum-declaration.tsx +77 -0
- package/src/python/components/enum-declaration/enum-member.tsx +21 -0
- package/src/python/components/enum-declaration/index.ts +2 -0
- package/src/python/components/function-declaration/function-declaration.test.tsx +582 -0
- package/src/python/components/function-declaration/function-declaration.tsx +90 -0
- package/src/python/components/function-declaration/index.ts +1 -0
- package/src/python/components/index.ts +11 -0
- package/src/python/components/protocol-declaration/callable-parameters.tsx +44 -0
- package/src/python/components/protocol-declaration/index.ts +2 -0
- package/src/python/components/protocol-declaration/protocol-declaration.test.tsx +106 -0
- package/src/python/components/protocol-declaration/protocol-declaration.tsx +73 -0
- package/src/python/components/record-expression/index.ts +1 -0
- package/src/python/components/record-expression/record-expression.test.tsx +14 -0
- package/src/python/components/record-expression/record-expression.tsx +13 -0
- package/src/python/components/type-alias-declaration/index.ts +1 -0
- package/src/python/components/type-alias-declaration/type-alias-declaration.test.tsx +117 -0
- package/src/python/components/type-alias-declaration/type-alias-declaration.tsx +67 -0
- package/src/python/components/type-declaration/index.ts +1 -0
- package/src/python/components/type-declaration/type-declaration.test.tsx +58 -0
- package/src/python/components/type-declaration/type-declaration.tsx +26 -0
- package/src/python/components/type-expression/index.ts +1 -0
- package/src/python/components/type-expression/type-expression.test.tsx +463 -0
- package/src/python/components/type-expression/type-expression.tsx +333 -0
- package/src/python/index.ts +3 -0
- package/src/python/lib.ts +40 -0
- package/src/python/test-utils.tsx +31 -0
- package/src/python/utils/index.ts +3 -0
- package/src/python/utils/operation.ts +161 -0
- package/src/python/utils/refkey.ts +36 -0
- package/src/python/utils/type.ts +31 -0
- package/src/typescript/components/function-declaration.tsx +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Tester","List","py","t","describe","expect","it","ClassDeclaration","Method","EnumDeclaration","getOutput","TypeAliasDeclaration","program","Widget","compile","code","model","_$createComponent","type","toRenderTo","Foo","doc","ClassDoc","description","Person","toThrow","Color","union","name","children","_$createIntrinsic","ErrorWidget","WidgetOperations","interface","WidgetOperationsExtended","returnType","methodType","StringResponse","StringResult","IntResult","StringRepository","UserRepository","ProductRepository","CanadaAddress","StringContainer","MyResult","Address","Response","ConcreteResponse","BaseEntity","abstract"],"sources":["../../../../../src/python/components/class-declaration/class-declaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,IAAI,QAAQ,gBAAgB;AACrC,OAAO,KAAKC,EAAE,MAAM,kBAAkB;AACtC,SAASC,CAAC,QAAQ,4BAA4B;AAC9C,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,gBAAgB,QAAQ,0EAA0E;AAC3G,SAASC,MAAM,QAAQ,qEAAqE;AAC5F,SAASC,eAAe,QAAQ,wEAAwE;AACxG,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,oBAAoB,QAAQ,qDAAqD;AAE1FP,QAAQ,CAAC,yBAAyB,EAAE,MAAM;EACxCE,EAAE,CAAC,iBAAiB,EAAE,YAAY;IAChC,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAAC,CAAC,CAACM,UAAU,CACzE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,oEAAoE,EAAE,YAAY;IACnF,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAAC,CAAC,CAACM,UAAU,CACzE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,oEAAoE,EAAE,YAAY;IACnF,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAAC,CAAC,CAACM,UAAU,CACzE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,uCAAuC,EAAE,YAAY;IACtD,MAAM;MAAEM,OAAO;MAAEQ;IAAI,CAAC,GAAG,MAAMpB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxD;AACA;AACA;AACA;AACA,cAAcZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC5B;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEE;IAAG,GAAK,CAAC,CAAC,CAACD,UAAU,CACtE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,kCAAkC,EAAE,YAAY;IACjD,MAAM;MAAEM,OAAO;MAAEQ;IAAI,CAAC,GAAG,MAAMpB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxD;AACA;AACA;AACA;AACA,cAAcZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC5B;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MACfW,IAAI,EAAEE,GAAG;MACTC,GAAG,EAAE,CAAC,wDAAwD;IAAC,GAElE,CACH,CAAC,CAACF,UAAU,CACV;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,wDAAwD,EAAE,YAAY;IACvE,MAAM;MAAEM,OAAO;MAAEQ;IAAI,CAAC,GAAG,MAAMpB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxD;AACA;AACA;AACA,cAAcZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC5B;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEE,GAAG;MAAEC,GAAG,EAAE,CAAC,iBAAiB,EAAE,kBAAkB;IAAC,GAC1E,CACH,CAAC,CAACF,UAAU,CACV;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAM;MAAEM,OAAO;MAAEQ;IAAI,CAAC,GAAG,MAAMpB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxD;AACA;AACA;AACA,cAAcZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC5B;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEE,GAAG;MAAA,IAAEC,GAAGA,CAAA;QAAA,OAAAJ,iBAAA,CAAGf,EAAE,CAACoB,QAAQ;UAAA,IAACC,WAAWA,CAAA;YAAA,OAAE,qBAAuB;UAAA;QAAA;MAAA;IAAA,GACpF,CACH,CAAC,CAACJ,UAAU,CACV;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACxD,MAAM;MAAEM,OAAO;MAAEQ;IAAI,CAAC,GAAG,MAAMpB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxD;AACA,gBAAgBZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC9B;AACA;AACA,SAAS,CAAC;IAENX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEE;IAAG,GAAK,CAAC,CAAC,CAACD,UAAU,CACtE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,qCAAqC,EAAE,YAAY;IACpD,MAAM;MAAEM,OAAO;MAAEQ;IAAI,CAAC,GAAG,MAAMpB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxD;AACA;AACA;AACA,gBAAgBZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC9B;AACA;AACA;AACA,SAAS,CAAC;IAENX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEE;IAAG,GAAK,CAAC,CAAC,CAACD,UAAU,CACtE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,qCAAqC,EAAE,YAAY;IACpD,MAAM;MAAEM,OAAO;MAAEY;IAAO,CAAC,GAAG,MAAMxB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,cAAcZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B,KAAK,CAAC;IAEFX,MAAM,CAAC,MAAM;MACXA,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;QAACW,IAAI,EAAEM;MAAM,GAAK,CAAC,CAAC,CAACL,UAAU,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CAACM,OAAO,CAAC,qEAAqE,CAAC;EACnF,CAAC,CAAC;EAEFnB,EAAE,CAAC,0DAA0D,EAAE,YAAY;IACzE,MAAM;MAAEM,OAAO;MAAEY;IAAO,CAAC,GAAG,MAAMxB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,cAAcZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAAC,MAAM;MACXA,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;QAACW,IAAI,EAAEM;MAAM,GAAK,CAAC,CAAC,CAACL,UAAU,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CAACM,OAAO,CAAC,qEAAqE,CAAC;EACnF,CAAC,CAAC;EAEFnB,EAAE,CAAC,+CAA+C,EAAE,YAAY;IAC9D,MAAM;MAAEM,OAAO;MAAEY;IAAO,CAAC,GAAG,MAAMxB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,cAAcZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAAC,MAAM;MACXA,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;QAACW,IAAI,EAAEM;MAAM,GAAK,CAAC,CAAC,CAACL,UAAU,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CAACM,OAAO,CAAC,qEAAqE,CAAC;EACnF,CAAC,CAAC;EAEFnB,EAAE,CAAC,+CAA+C,EAAE,YAAY;IAC9D,MAAM;MAAEM,OAAO;MAAEY;IAAO,CAAC,GAAG,MAAMxB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,cAAcZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAAC,MAAM;MACXA,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;QAACW,IAAI,EAAEM;MAAM,GAAK,CAAC,CAAC,CAACL,UAAU,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CAACM,OAAO,CAAC,qEAAqE,CAAC;EACnF,CAAC,CAAC;EAEFnB,EAAE,CAAC,kDAAkD,EAAE,YAAY;IACjE,MAAM;MAAEM,OAAO;MAAEQ;IAAI,CAAC,GAAG,MAAMpB,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxD,cAAcZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC5B,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEE;IAAG,GAAK,CAAC,CAAC,CAACD,UAAU,CACtE;AACN;AACA;AACA;AACA,KACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,iEAAiE,EAAE,YAAY;IAChF,MAAM;MAAEM,OAAO;MAAEc,KAAK;MAAEb;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAClE,cAAcZ,CAAC,CAACwB,KAAK,CAAC,OAAO,CAAC;AAC9B;AACA;AACA;AACA;AACA,cAAcxB,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA;AACA;AACA,OAAO,CAAC;IAEJX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAER,eAAe;MAACS,IAAI,EAAEQ;IAAK,IAAAT,iBAAA,CAAOV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAC3F,CAAC,CAACM,UAAU,CACV;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,2DAA2D,EAAE,YAAY;IAC1E,MAAM;MAAEM,OAAO;MAAEc,KAAK;MAAEb;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAClE,cAAcZ,CAAC,CAACwB,KAAK,CAAC,OAAO,CAAC;AAC9B;AACA;AACA;AACA;AACA;AACA,cAAcxB,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA;AACA,OAAO,CAAC;IAEJX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAER,eAAe;MAACS,IAAI,EAAEQ;IAAK,IAAAT,iBAAA,CAAOV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAC3F,CAAC,CAACM,UAAU,CACV;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,cAAcZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA;AACA,OAAO,CAAC;IAEJX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAAC,CAAC,CAACM,UAAU,CACzE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,cAAcZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA;AACA,OAAO,CAAC;IAEJX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAAC,CAAC,CAACM,UAAU,CACzE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,0DAA0D,EAAE,YAAY;IACzE,MAAM;MAAEM,OAAO;MAAEc,KAAK;MAAEb;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAClE,cAAcZ,CAAC,CAACwB,KAAK,CAAC,OAAO,CAAC;AAC9B;AACA;AACA;AACA;AACA,cAAcxB,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC/B;AACA;AACA;AACA,OAAO,CAAC;IAEJX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAER,eAAe;MAACS,IAAI,EAAEQ;IAAK,IAAAT,iBAAA,CAAOV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAC3F,CAAC,CAACM,UAAU,CACV;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OACI,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,8CAA8C,EAAE,YAAY;IAC7D,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,YAAYZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAAK,CAAC,CAAC,CAACM,UAAU,CAAC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;EACF,CAAC,CAAC;EAEFb,EAAE,CAAC,yBAAyB,EAAE,YAAY;IACxC,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,YAAYZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACqB,IAAI;MAAgBV,IAAI,EAAEL;IAAM,GAAK,CAAC,CAAC,CACjFM,UAAU,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,gCAAgC,EAAE,YAAY;IAC/C,MAAM;MAAEM,OAAO;MAAEC;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3D,YAAYZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACqB,IAAI;MAAgBV,IAAI,EAAEL,MAAM;MAAA,IAAAgB,SAAA;QAAA,QAAAC,iBAAA,aAAAb,iBAAA,CAE/ChB,IAAI;UAAA,IAAA4B,SAAA;YAAA;UAAA;QAAA;MAAA;IAAA,GAIR,CACH,CAAC,CAACV,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EACFb,EAAE,CAAC,2CAA2C,EAAE,YAAY;IAC1D,MAAM;MAAEM,OAAO;MAAEC,MAAM;MAAEkB;IAAY,CAAC,GAAG,MAAM/B,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACxE,YAAYZ,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA,YAAYb,CAAC,CAACa,KAAK,CAAC,aAAa,CAAC;AAClC;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,IAAAI,iBAAA,CAC7BV,gBAAgB;MAACW,IAAI,EAAEa;IAAW,GACpC,CACH,CAAC,CAACZ,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFf,QAAQ,CAAC,6BAA6B,EAAE,MAAM;EAC5CE,EAAE,CAAC,+CAA+C,EAAE,YAAY;IAC9D,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA,KAAK,CAAC;IAEF5B,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEc;IAAgB,GAAK,CAAC,CAAC,CAACb,UAAU,CAAC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,0DAA0D,EAAE,YAAY;IACzE,MAAM;MAAEM,OAAO;MAAEQ,GAAG;MAAEY;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC1E,YAAYZ,CAAC,CAACa,KAAK,CAAC,KAAK,CAAC;AAC1B;AACA;AACA;AACA,gBAAgBb,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA;AACA,KAAK,CAAC;IAEF5B,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEE;IAAG,IAAAH,iBAAA,CAC1BV,gBAAgB;MAACW,IAAI,EAAEc;IAAgB,GACzC,CACH,CAAC,CAACb,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFb,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAM;MAAEM,OAAO;MAAEoB,gBAAgB;MAAEnB;IAAO,CAAC,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC7E;AACA;AACA;AACA,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY9B,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEc;IAAgB,IAAAf,iBAAA,CACvCV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAC/B,CACH,CAAC,CAACM,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,wDAAwD,EAAE,YAAY;IACvE,MAAM;MAAEM,OAAO;MAAEoB,gBAAgB;MAAEE,wBAAwB;MAAErB;IAAO,CAAC,GACnE,MAAMb,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACjC,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA;AACA,gBAAgB9B,CAAC,CAAC8B,SAAS,CAAC,0BAA0B,CAAC;AACvD;AACA;AACA;AACA,YAAY9B,CAAC,CAACa,KAAK,CAAC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEc;IAAgB,IAAAf,iBAAA,CACvCV,gBAAgB;MAACW,IAAI,EAAEgB;IAAwB,IAAAjB,iBAAA,CAC/CV,gBAAgB;MAACW,IAAI,EAAEL;IAAM,GAC/B,CACH,CAAC,CAACM,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFf,QAAQ,CAAC,wBAAwB,EAAE,MAAM;EACvCE,EAAE,CAAC,qFAAqF,EAAE,YAAY;IACpG,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,YAAYZ,CAAC,CAACa,KAAK,CAAC,kBAAkB,CAAC;AACvC;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEc,gBAAgB;MAAA,IAAAH,SAAA;QAAA,QAAAC,iBAAA,aAAAA,iBAAA,aAAAb,iBAAA,CAGrChB,IAAI;UAAA,IAAA4B,SAAA;YAAA,OAAAZ,iBAAA,CACFT,MAAM;cAACoB,IAAI;cAAWO,UAAU;cAAQd,GAAG;YAAA;UAAA;QAAA;MAAA;IAAA,GAGjD,CACH,CAAC,CAACF,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,qHAAqH,EAAE,YAAY;IACpI,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,YAAYZ,CAAC,CAACa,KAAK,CAAC,kBAAkB,CAAC;AACvC;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEc,gBAAgB;MAAEI,UAAU;MAAA,IAAAP,SAAA;QAAA,QAAAC,iBAAA,aAAAA,iBAAA,aAAAb,iBAAA,CAGjDhB,IAAI;UAAA,IAAA4B,SAAA;YAAA,OAAAZ,iBAAA,CACFT,MAAM;cAACoB,IAAI;cAAWO,UAAU;cAAQd,GAAG;YAAA;UAAA;QAAA;MAAA;IAAA,GAGjD,CACH,CAAC,CAACF,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,sHAAsH,EAAE,YAAY;IACrI,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,YAAYZ,CAAC,CAACa,KAAK,CAAC,kBAAkB,CAAC;AACvC;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEc,gBAAgB;MAAEI,UAAU;MAAA,IAAAP,SAAA;QAAA,QAAAC,iBAAA,aAAAA,iBAAA,aAAAb,iBAAA,CAGjDhB,IAAI;UAAA,IAAA4B,SAAA;YAAA,OAAAZ,iBAAA,CACFT,MAAM;cAACoB,IAAI;cAAWO,UAAU;cAAQd,GAAG;YAAA;UAAA;QAAA;MAAA;IAAA,GAGjD,CACH,CAAC,CAACF,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,wHAAwH,EAAE,YAAY;IACvI,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,YAAYZ,CAAC,CAACa,KAAK,CAAC,kBAAkB,CAAC;AACvC;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEc,gBAAgB;MAAEI,UAAU;MAAA,IAAAP,SAAA;QAAA,QAAAC,iBAAA,aAAAA,iBAAA,aAAAb,iBAAA,CAGjDhB,IAAI;UAAA,IAAA4B,SAAA;YAAA,OAAAZ,iBAAA,CACFT,MAAM;cAACoB,IAAI;cAAWO,UAAU;cAAQd,GAAG;YAAA;UAAA;QAAA;MAAA;IAAA,GAGjD,CACH,CAAC,CAACF,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,kEAAkE,EAAE,YAAY;IACjF,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA,KAAK,CAAC;IAEF5B,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEc;IAAgB,GAAK,CAAC,CAAC,CAACb,UAAU,CAAC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,kGAAkG,EAAE,YAAY;IACjH,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA,KAAK,CAAC;IAEF5B,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEc,gBAAgB;MAAEI,UAAU;IAAA,GAAa,CAAC,CAAC,CAC3FjB,UAAU,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,sGAAsG,EAAE,YAAY;IACrH,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA,KAAK,CAAC;IAEF5B,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEc,gBAAgB;MAAEI,UAAU;IAAA,GAAY,CAAC,CAAC,CAC1FjB,UAAU,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,wGAAwG,EAAE,YAAY;IACvH,MAAM;MAAEM,OAAO;MAAEoB;IAAiB,CAAC,GAAG,MAAMhC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA,KAAK,CAAC;IAEF5B,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEc,gBAAgB;MAAEI,UAAU;IAAA,GAAa,CAAC,CAAC,CAC3FjB,UAAU,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,oDAAoD,EAAE,YAAY;IACnE,MAAM;MAAEM,OAAO;MAAEyB;IAAe,CAAC,GAAG,MAAMrC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACnE;AACA;AACA;AACA;AACA;AACA,YAAYZ,CAAC,CAACe,IAAI,CAAC,gBAAgB,CAAC;AACpC,KAAK,CAAC;;IAEF;IACA;IACA;IACAb,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEN,oBAAoB;MAACO,IAAI,EAAEmB;IAAc,GAAK,CAAC,CAAC,CAAClB,UAAU,CAAC;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,mEAAmE,EAAE,YAAY;IAClF,MAAM;MAAEM,OAAO;MAAE0B,YAAY;MAAEC;IAAU,CAAC,GAAG,MAAMvC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC5E;AACA;AACA;AACA;AACA;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,cAAc,CAAC;AACnC,YAAYb,CAAC,CAACa,KAAK,CAAC,WAAW,CAAC;AAChC,KAAK,CAAC;;IAEF;IACA;IACAX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEoB;IAAY,IAAArB,iBAAA,CACnCV,gBAAgB;MAACW,IAAI,EAAEqB;IAAS,GAClC,CACH,CAAC,CAACpB,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,wDAAwD,EAAE,YAAY;IACvE,MAAM;MAAEM,OAAO;MAAEyB;IAAe,CAAC,GAAG,MAAMrC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACnE;AACA;AACA;AACA;AACA;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,gBAAgB,CAAC;AACrC,KAAK,CAAC;;IAEF;IACA;IACAX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEmB;IAAc,GAAK,CAAC,CAAC,CAAClB,UAAU,CAAC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,6EAA6E,EAAE,YAAY;IAC5F,MAAM;MAAEM,OAAO;MAAE4B;IAAiB,CAAC,GAAG,MAAMxC,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,kBAAkB,CAAC;AAC/C;AACA;AACA,KAAK,CAAC;;IAEF;IACA;IACA5B,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEsB;IAAgB,GAAK,CAAC,CAAC,CAACrB,UAAU,CAAC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,wEAAwE,EAAE,YAAY;IACvF,MAAM;MAAEM,OAAO;MAAE6B,cAAc;MAAEC;IAAkB,CAAC,GAAG,MAAM1C,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACtF;AACA;AACA;AACA;AACA,gBAAgBZ,CAAC,CAAC8B,SAAS,CAAC,gBAAgB,CAAC;AAC7C;AACA;AACA;AACA,gBAAgB9B,CAAC,CAAC8B,SAAS,CAAC,mBAAmB,CAAC;AAChD;AACA;AACA,KAAK,CAAC;;IAEF;IACA;IACA5B,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAEuB;IAAc,IAAAxB,iBAAA,CACrCV,gBAAgB;MAACW,IAAI,EAAEwB;IAAiB,GAC1C,CACH,CAAC,CAACvB,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAM;MAAEM,OAAO;MAAE+B;IAAc,CAAC,GAAG,MAAM3C,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,eAAe,CAAC;AACpC,KAAK,CAAC;;IAEF;IACA;IACAX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEyB;IAAa,GAAK,CAAC,CAAC,CAACxB,UAAU,CAAC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAM;MAAEM,OAAO;MAAEgC;IAAgB,CAAC,GAAG,MAAM5C,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AACpE;AACA;AACA;AACA;AACA;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,iBAAiB,CAAC;AACtC,KAAK,CAAC;;IAEF;IACA;IACA;IACAX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAE0B;IAAe,GAAK,CAAC,CAAC,CAACzB,UAAU,CAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,4EAA4E,EAAE,YAAY;IAC3F,MAAM;MAAEM,OAAO;MAAEiC;IAAS,CAAC,GAAG,MAAM7C,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC7D;AACA;AACA;AACA;AACA;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,UAAU,CAAC;AAC/B,KAAK,CAAC;;IAEF;IACA;IACAX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAE2B;IAAQ,GAAK,CAAC,CAAC,CAAC1B,UAAU,CAAC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,4DAA4D,EAAE,YAAY;IAC3E,MAAM;MAAEM,OAAO;MAAEkC,OAAO;MAAEH;IAAc,CAAC,GAAG,MAAM3C,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC3E,YAAYZ,CAAC,CAACa,KAAK,CAAC,SAAS,CAAC;AAC9B;AACA;AACA;AACA,YAAYb,CAAC,CAACa,KAAK,CAAC,eAAe,CAAC;AACpC;AACA;AACA,KAAK,CAAC;;IAEF;IACAX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAE4B;IAAO,IAAA7B,iBAAA,CAC9BV,gBAAgB;MAACW,IAAI,EAAEyB;IAAa,GACtC,CACH,CAAC,CAACxB,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,0EAA0E,EAAE,YAAY;IACzF,MAAM;MAAEM,OAAO;MAAEmC,QAAQ;MAAEC;IAAiB,CAAC,GAAG,MAAMhD,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC/E,YAAYZ,CAAC,CAACa,KAAK,CAAC,UAAU,CAAC;AAC/B;AACA;AACA;AACA;AACA,YAAYb,CAAC,CAACa,KAAK,CAAC,kBAAkB,CAAC;AACvC;AACA;AACA,KAAK,CAAC;;IAEF;IACA;IACAX,MAAM,CACJK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAChBV,gBAAgB;MAACW,IAAI,EAAE6B;IAAQ,IAAA9B,iBAAA,CAC/BV,gBAAgB;MAACW,IAAI,EAAE8B;IAAgB,GACzC,CACH,CAAC,CAAC7B,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,4EAA4E,EAAE,YAAY;IAC3F,MAAM;MAAEM,OAAO;MAAE+B;IAAc,CAAC,GAAG,MAAM3C,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,YAAYZ,CAAC,CAACa,KAAK,CAAC,eAAe,CAAC;AACpC;AACA;AACA,KAAK,CAAC;;IAEF;IACA;IACA;IACAX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAEyB;IAAa,GAAK,CAAC,CAAC,CAACxB,UAAU,CAAC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFb,EAAE,CAAC,uEAAuE,EAAE,YAAY;IACtF,MAAM;MAAEM,OAAO;MAAEqC;IAAW,CAAC,GAAG,MAAMjD,MAAM,CAACc,OAAO,CAACX,CAAC,CAACY,IAAI;AAC/D,YAAYZ,CAAC,CAACa,KAAK,CAAC,YAAY,CAAC;AACjC;AACA;AACA;AACA,KAAK,CAAC;IAEFX,MAAM,CAACK,SAAS,CAACE,OAAO,EAAE,CAAAK,iBAAA,CAAEV,gBAAgB;MAACW,IAAI,EAAE+B,UAAU;MAAEC,QAAQ,EAAE;IAAI,GAAK,CAAC,CAAC,CACjF/B,UAAU,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Children } from "@alloy-js/core";
|
|
2
|
+
import { type ModelProperty, type Operation } from "@typespec/compiler";
|
|
3
|
+
export interface ClassMemberProps {
|
|
4
|
+
type: ModelProperty | Operation;
|
|
5
|
+
doc?: Children;
|
|
6
|
+
optional?: boolean;
|
|
7
|
+
methodType?: "method" | "class" | "static";
|
|
8
|
+
abstract?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates the class member for the property.
|
|
12
|
+
* @param props - The props for the class member.
|
|
13
|
+
* @returns The class member.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ClassMember(props: ClassMemberProps): Children;
|
|
16
|
+
//# sourceMappingURL=class-member.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-member.d.ts","sourceRoot":"","sources":["../../../../../src/python/components/class-declaration/class-member.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAMxE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,YA4ClD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { typingModule } from "#python/builtins.js";
|
|
3
|
+
import * as py from "@alloy-js/python";
|
|
4
|
+
import { useTsp } from "../../../core/context/tsp-context.js";
|
|
5
|
+
import { TypeExpression } from "../type-expression/type-expression.js";
|
|
6
|
+
import { Method } from "./class-method.js";
|
|
7
|
+
import { PrimitiveInitializer } from "./primitive-initializer.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates the class member for the property.
|
|
10
|
+
* @param props - The props for the class member.
|
|
11
|
+
* @returns The class member.
|
|
12
|
+
*/
|
|
13
|
+
export function ClassMember(props) {
|
|
14
|
+
const {
|
|
15
|
+
$
|
|
16
|
+
} = useTsp();
|
|
17
|
+
const namer = py.usePythonNamePolicy();
|
|
18
|
+
const name = namer.getName(props.type.name, "class-member");
|
|
19
|
+
const doc = props.doc ?? $.type.getDoc(props.type);
|
|
20
|
+
if ($.modelProperty.is(props.type)) {
|
|
21
|
+
// Map never-typed properties to typing.Never
|
|
22
|
+
|
|
23
|
+
const unpackedType = props.type.type;
|
|
24
|
+
const isOptional = props.optional ?? props.type.optional ?? false;
|
|
25
|
+
const defaultValue = props.type.defaultValue;
|
|
26
|
+
const initializer = defaultValue ? _$createComponent(PrimitiveInitializer, {
|
|
27
|
+
defaultValue: defaultValue,
|
|
28
|
+
propertyType: unpackedType
|
|
29
|
+
}) : undefined;
|
|
30
|
+
const unpackedTypeNode = _$createComponent(TypeExpression, {
|
|
31
|
+
type: unpackedType
|
|
32
|
+
});
|
|
33
|
+
const typeNode = isOptional ? _$createComponent(py.TypeReference, {
|
|
34
|
+
get refkey() {
|
|
35
|
+
return typingModule["."].Optional;
|
|
36
|
+
},
|
|
37
|
+
typeArgs: [unpackedTypeNode]
|
|
38
|
+
}) : unpackedTypeNode;
|
|
39
|
+
const classMemberProps = {
|
|
40
|
+
doc,
|
|
41
|
+
name,
|
|
42
|
+
optional: isOptional,
|
|
43
|
+
...(typeNode ? {
|
|
44
|
+
type: typeNode
|
|
45
|
+
} : {}),
|
|
46
|
+
...(initializer ? {
|
|
47
|
+
initializer
|
|
48
|
+
} : {}),
|
|
49
|
+
omitNone: !isOptional
|
|
50
|
+
};
|
|
51
|
+
return _$createComponent(py.VariableDeclaration, classMemberProps);
|
|
52
|
+
}
|
|
53
|
+
if ($.operation.is(props.type)) {
|
|
54
|
+
return _$createComponent(Method, {
|
|
55
|
+
get type() {
|
|
56
|
+
return props.type;
|
|
57
|
+
},
|
|
58
|
+
doc: doc,
|
|
59
|
+
get methodType() {
|
|
60
|
+
return props.methodType;
|
|
61
|
+
},
|
|
62
|
+
get abstract() {
|
|
63
|
+
return props.abstract;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// If type is neither ModelProperty nor Operation, return empty fragment
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=class-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["typingModule","py","useTsp","TypeExpression","Method","PrimitiveInitializer","ClassMember","props","$","namer","usePythonNamePolicy","name","getName","type","doc","getDoc","modelProperty","is","unpackedType","isOptional","optional","defaultValue","initializer","_$createComponent","propertyType","undefined","unpackedTypeNode","typeNode","TypeReference","refkey","Optional","typeArgs","classMemberProps","omitNone","VariableDeclaration","operation","methodType","abstract"],"sources":["../../../../../src/python/components/class-declaration/class-member.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,YAAY,QAAQ,qBAAqB;AAElD,OAAO,KAAKC,EAAE,MAAM,kBAAkB;AAEtC,SAASC,MAAM,QAAQ,sCAAsC;AAC7D,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,oBAAoB,QAAQ,4BAA4B;AAUjE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAE;EACnD,MAAM;IAAEC;EAAE,CAAC,GAAGN,MAAM,CAAC,CAAC;EACtB,MAAMO,KAAK,GAAGR,EAAE,CAACS,mBAAmB,CAAC,CAAC;EACtC,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACL,KAAK,CAACM,IAAI,CAACF,IAAI,EAAE,cAAc,CAAC;EAC3D,MAAMG,GAAG,GAAGP,KAAK,CAACO,GAAG,IAAIN,CAAC,CAACK,IAAI,CAACE,MAAM,CAACR,KAAK,CAACM,IAAI,CAAC;EAElD,IAAIL,CAAC,CAACQ,aAAa,CAACC,EAAE,CAACV,KAAK,CAACM,IAAI,CAAC,EAAE;IAClC;;IAEA,MAAMK,YAAY,GAAGX,KAAK,CAACM,IAAI,CAACA,IAAI;IACpC,MAAMM,UAAU,GAAGZ,KAAK,CAACa,QAAQ,IAAIb,KAAK,CAACM,IAAI,CAACO,QAAQ,IAAI,KAAK;IACjE,MAAMC,YAAY,GAAGd,KAAK,CAACM,IAAI,CAACQ,YAAY;IAC5C,MAAMC,WAAW,GAAGD,YAAY,GAAAE,iBAAA,CAC7BlB,oBAAoB;MAACgB,YAAY,EAAEA,YAAY;MAAEG,YAAY,EAAEN;IAAY,KAC1EO,SAAS;IACb,MAAMC,gBAA0B,GAAAH,iBAAA,CAAIpB,cAAc;MAACU,IAAI,EAAEK;IAAY,EAAI;IACzE,MAAMS,QAAQ,GAAGR,UAAU,GAAAI,iBAAA,CACxBtB,EAAE,CAAC2B,aAAa;MAAA,IACfC,MAAMA,CAAA;QAAA,OAAE7B,YAAY,CAAC,GAAG,CAAC,CAAC8B,QAAQ;MAAA;MAClCC,QAAQ,EAAE,CAACL,gBAAgB;IAAC,KAG9BA,gBACD;IAED,MAAMM,gBAAgB,GAAG;MACvBlB,GAAG;MACHH,IAAI;MACJS,QAAQ,EAAED,UAAU;MACpB,IAAIQ,QAAQ,GAAG;QAAEd,IAAI,EAAEc;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MACvC,IAAIL,WAAW,GAAG;QAAEA;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MACvCW,QAAQ,EAAE,CAACd;IACb,CAAC;IACD,OAAAI,iBAAA,CAAQtB,EAAE,CAACiC,mBAAmB,EAAKF,gBAAgB;EACrD;EAEA,IAAIxB,CAAC,CAAC2B,SAAS,CAAClB,EAAE,CAACV,KAAK,CAACM,IAAI,CAAC,EAAE;IAC9B,OAAAU,iBAAA,CACGnB,MAAM;MAAA,IAACS,IAAIA,CAAA;QAAA,OAAEN,KAAK,CAACM,IAAI;MAAA;MAAEC,GAAG,EAAEA,GAAG;MAAA,IAAEsB,UAAUA,CAAA;QAAA,OAAE7B,KAAK,CAAC6B,UAAU;MAAA;MAAA,IAAEC,QAAQA,CAAA;QAAA,OAAE9B,KAAK,CAAC8B,QAAQ;MAAA;IAAA;EAE9F;;EAEA;EACA;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-member.test.d.ts","sourceRoot":"","sources":["../../../../../src/python/components/class-declaration/class-member.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { Tester } from "#test/test-host.js";
|
|
3
|
+
import { t } from "@typespec/compiler/testing";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
import { ClassDeclaration } from "../../../../src/python/components/class-declaration/class-declaration.js";
|
|
6
|
+
import { getOutput } from "../../test-utils.js";
|
|
7
|
+
describe("Python Class Members", () => {
|
|
8
|
+
describe("default values", () => {
|
|
9
|
+
it("renders string default values", async () => {
|
|
10
|
+
const {
|
|
11
|
+
program,
|
|
12
|
+
MyModel
|
|
13
|
+
} = await Tester.compile(t.code`
|
|
14
|
+
model ${t.model("MyModel")} {
|
|
15
|
+
name: string = "default";
|
|
16
|
+
description?: string = "optional with default";
|
|
17
|
+
emptyString: string = "";
|
|
18
|
+
}
|
|
19
|
+
`);
|
|
20
|
+
expect(getOutput(program, [_$createComponent(ClassDeclaration, {
|
|
21
|
+
type: MyModel
|
|
22
|
+
})])).toRenderTo(`
|
|
23
|
+
from dataclasses import dataclass
|
|
24
|
+
from typing import Optional
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@dataclass(kw_only=True)
|
|
28
|
+
class MyModel:
|
|
29
|
+
name: str = "default"
|
|
30
|
+
description: Optional[str] = "optional with default"
|
|
31
|
+
empty_string: str = ""
|
|
32
|
+
|
|
33
|
+
`);
|
|
34
|
+
});
|
|
35
|
+
it("renders boolean default values", async () => {
|
|
36
|
+
const {
|
|
37
|
+
program,
|
|
38
|
+
BooleanModel
|
|
39
|
+
} = await Tester.compile(t.code`
|
|
40
|
+
model ${t.model("BooleanModel")} {
|
|
41
|
+
isActive: boolean = true;
|
|
42
|
+
isDeleted: boolean = false;
|
|
43
|
+
optional?: boolean = true;
|
|
44
|
+
}
|
|
45
|
+
`);
|
|
46
|
+
expect(getOutput(program, [_$createComponent(ClassDeclaration, {
|
|
47
|
+
type: BooleanModel
|
|
48
|
+
})])).toRenderTo(`
|
|
49
|
+
from dataclasses import dataclass
|
|
50
|
+
from typing import Optional
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@dataclass(kw_only=True)
|
|
54
|
+
class BooleanModel:
|
|
55
|
+
is_active: bool = True
|
|
56
|
+
is_deleted: bool = False
|
|
57
|
+
optional: Optional[bool] = True
|
|
58
|
+
|
|
59
|
+
`);
|
|
60
|
+
});
|
|
61
|
+
it("renders array default values", async () => {
|
|
62
|
+
const {
|
|
63
|
+
program,
|
|
64
|
+
ArrayModel
|
|
65
|
+
} = await Tester.compile(t.code`
|
|
66
|
+
model ${t.model("ArrayModel")} {
|
|
67
|
+
tags: string[] = #["tag1", "tag2"];
|
|
68
|
+
emptyArray: int32[] = #[];
|
|
69
|
+
numbers: int32[] = #[1, 2, 3];
|
|
70
|
+
}
|
|
71
|
+
`);
|
|
72
|
+
expect(getOutput(program, [_$createComponent(ClassDeclaration, {
|
|
73
|
+
type: ArrayModel
|
|
74
|
+
})])).toRenderTo(`
|
|
75
|
+
from dataclasses import dataclass
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
@dataclass(kw_only=True)
|
|
79
|
+
class ArrayModel:
|
|
80
|
+
tags: list[str] = ["tag1", "tag2"]
|
|
81
|
+
empty_array: list[int] = []
|
|
82
|
+
numbers: list[int] = [1, 2, 3]
|
|
83
|
+
|
|
84
|
+
`);
|
|
85
|
+
});
|
|
86
|
+
it("renders integer default values without .0 suffix", async () => {
|
|
87
|
+
const {
|
|
88
|
+
program,
|
|
89
|
+
IntegerModel
|
|
90
|
+
} = await Tester.compile(t.code`
|
|
91
|
+
model ${t.model("IntegerModel")} {
|
|
92
|
+
count: int32 = 42;
|
|
93
|
+
bigNumber: int64 = 1000000;
|
|
94
|
+
smallNumber: int8 = 127;
|
|
95
|
+
unsignedValue: uint32 = 100;
|
|
96
|
+
safeIntValue: safeint = 999;
|
|
97
|
+
}
|
|
98
|
+
`);
|
|
99
|
+
expect(getOutput(program, [_$createComponent(ClassDeclaration, {
|
|
100
|
+
type: IntegerModel
|
|
101
|
+
})])).toRenderTo(`
|
|
102
|
+
from dataclasses import dataclass
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@dataclass(kw_only=True)
|
|
106
|
+
class IntegerModel:
|
|
107
|
+
count: int = 42
|
|
108
|
+
big_number: int = 1000000
|
|
109
|
+
small_number: int = 127
|
|
110
|
+
unsigned_value: int = 100
|
|
111
|
+
safe_int_value: int = 999
|
|
112
|
+
|
|
113
|
+
`);
|
|
114
|
+
});
|
|
115
|
+
it("renders float and decimal default values correctly", async () => {
|
|
116
|
+
const {
|
|
117
|
+
program,
|
|
118
|
+
NumericDefaults
|
|
119
|
+
} = await Tester.compile(t.code`
|
|
120
|
+
|
|
121
|
+
scalar customFloat extends float;
|
|
122
|
+
scalar customDecimal extends decimal;
|
|
123
|
+
|
|
124
|
+
model ${t.model("NumericDefaults")} {
|
|
125
|
+
// Float variants with decimal values
|
|
126
|
+
floatBase: float = 1.5;
|
|
127
|
+
float32Value: float32 = 2.5;
|
|
128
|
+
float64Value: float64 = 3.5;
|
|
129
|
+
customFloatValue: customFloat = 4.5;
|
|
130
|
+
|
|
131
|
+
// Float variants with integer values (should render with .0)
|
|
132
|
+
floatInt: float = 10;
|
|
133
|
+
float32Int: float32 = 20;
|
|
134
|
+
float64Int: float64 = 30;
|
|
135
|
+
|
|
136
|
+
// Decimal variants
|
|
137
|
+
decimalBase: decimal = 100.25;
|
|
138
|
+
decimal128Value: decimal128 = 200.75;
|
|
139
|
+
customDecimalValue: customDecimal = 300.125;
|
|
140
|
+
|
|
141
|
+
// Decimal with integer values (should render with .0)
|
|
142
|
+
decimalInt: decimal = 400;
|
|
143
|
+
decimal128Int: decimal128 = 500;
|
|
144
|
+
}
|
|
145
|
+
`);
|
|
146
|
+
expect(getOutput(program, [_$createComponent(ClassDeclaration, {
|
|
147
|
+
type: NumericDefaults
|
|
148
|
+
})])).toRenderTo(`
|
|
149
|
+
from dataclasses import dataclass
|
|
150
|
+
from decimal import Decimal
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
@dataclass(kw_only=True)
|
|
154
|
+
class NumericDefaults:
|
|
155
|
+
float_base: float = 1.5
|
|
156
|
+
float32_value: float = 2.5
|
|
157
|
+
float64_value: float = 3.5
|
|
158
|
+
custom_float_value: float = 4.5
|
|
159
|
+
float_int: float = 10.0
|
|
160
|
+
float32_int: float = 20.0
|
|
161
|
+
float64_int: float = 30.0
|
|
162
|
+
decimal_base: Decimal = 100.25
|
|
163
|
+
decimal128_value: Decimal = 200.75
|
|
164
|
+
custom_decimal_value: Decimal = 300.125
|
|
165
|
+
decimal_int: Decimal = 400.0
|
|
166
|
+
decimal128_int: Decimal = 500.0
|
|
167
|
+
|
|
168
|
+
`);
|
|
169
|
+
});
|
|
170
|
+
it("distinguishes between integer and float types with same numeric value", async () => {
|
|
171
|
+
const {
|
|
172
|
+
program,
|
|
173
|
+
MixedNumeric
|
|
174
|
+
} = await Tester.compile(t.code`
|
|
175
|
+
model ${t.model("MixedNumeric")} {
|
|
176
|
+
intValue: int32 = 100;
|
|
177
|
+
int64Value: int64 = 100;
|
|
178
|
+
floatValue: float = 100;
|
|
179
|
+
float64Value: float64 = 100;
|
|
180
|
+
decimalValue: decimal = 100;
|
|
181
|
+
}
|
|
182
|
+
`);
|
|
183
|
+
expect(getOutput(program, [_$createComponent(ClassDeclaration, {
|
|
184
|
+
type: MixedNumeric
|
|
185
|
+
})])).toRenderTo(`
|
|
186
|
+
from dataclasses import dataclass
|
|
187
|
+
from decimal import Decimal
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
@dataclass(kw_only=True)
|
|
191
|
+
class MixedNumeric:
|
|
192
|
+
int_value: int = 100
|
|
193
|
+
int64_value: int = 100
|
|
194
|
+
float_value: float = 100.0
|
|
195
|
+
float64_value: float = 100.0
|
|
196
|
+
decimal_value: Decimal = 100.0
|
|
197
|
+
|
|
198
|
+
`);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
//# sourceMappingURL=class-member.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Tester","t","describe","expect","it","ClassDeclaration","getOutput","program","MyModel","compile","code","model","_$createComponent","type","toRenderTo","BooleanModel","ArrayModel","IntegerModel","NumericDefaults","MixedNumeric"],"sources":["../../../../../src/python/components/class-declaration/class-member.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Children } from "@alloy-js/core";
|
|
2
|
+
import * as py from "@alloy-js/python";
|
|
3
|
+
import type { Operation } from "@typespec/compiler";
|
|
4
|
+
export declare const MethodContext: import("@alloy-js/core").ComponentContext<"static" | "class" | "method" | undefined>;
|
|
5
|
+
export declare const MethodProvider: import("@alloy-js/core").ComponentDefinition<import("@alloy-js/core").ContextProviderProps<"static" | "class" | "method" | undefined>>;
|
|
6
|
+
export interface MethodPropsWithType extends Omit<py.MethodDeclarationBaseProps, "name"> {
|
|
7
|
+
type: Operation;
|
|
8
|
+
name?: string;
|
|
9
|
+
doc?: Children;
|
|
10
|
+
methodType?: "method" | "class" | "static";
|
|
11
|
+
abstract?: boolean;
|
|
12
|
+
/** If true, parameters replaces operation parameters instead of adding to them as keyword-only */
|
|
13
|
+
replaceParameters?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export type MethodProps = MethodPropsWithType | py.MethodDeclarationBaseProps;
|
|
16
|
+
/**
|
|
17
|
+
* A Python class method. Pass the `type` prop to create the
|
|
18
|
+
* method by converting from a TypeSpec Operation. Any other props
|
|
19
|
+
* provided will take precedence.
|
|
20
|
+
*/
|
|
21
|
+
export declare function Method(props: Readonly<MethodProps>): Children;
|
|
22
|
+
//# sourceMappingURL=class-method.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-method.d.ts","sourceRoot":"","sources":["../../../../../src/python/components/class-declaration/class-method.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAyC,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAMpD,eAAO,MAAM,aAAa,sFAAsE,CAAC;AACjG,eAAO,MAAM,cAAc,wIAAyB,CAAC;AAErD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,MAAM,CAAC;IACtF,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,EAAE,CAAC,0BAA0B,CAAC;AAa9E;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,YAyDlD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { createComponent as _$createComponent, mergeProps as _$mergeProps } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { createContext, splitProps, useContext } from "@alloy-js/core";
|
|
3
|
+
import * as py from "@alloy-js/python";
|
|
4
|
+
import { useTsp } from "../../../core/index.js";
|
|
5
|
+
import { buildParameterDescriptors, getReturnType } from "../../utils/operation.js";
|
|
6
|
+
import { DocElement } from "../doc-element/doc-element.js";
|
|
7
|
+
import { TypeExpression } from "../type-expression/type-expression.js";
|
|
8
|
+
export const MethodContext = createContext(undefined);
|
|
9
|
+
export const MethodProvider = MethodContext.Provider;
|
|
10
|
+
/**
|
|
11
|
+
* Get the method component based on the resolved method type.
|
|
12
|
+
* We prioritize the methodType prop provided in the Method component,
|
|
13
|
+
* and then the one provided in the context, and then we default to "method".
|
|
14
|
+
*/
|
|
15
|
+
function getResolvedMethodType(props) {
|
|
16
|
+
const ctxMethodType = useContext(MethodContext);
|
|
17
|
+
const propMethodType = "methodType" in props ? props.methodType : undefined;
|
|
18
|
+
return propMethodType ?? ctxMethodType ?? "method";
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A Python class method. Pass the `type` prop to create the
|
|
23
|
+
* method by converting from a TypeSpec Operation. Any other props
|
|
24
|
+
* provided will take precedence.
|
|
25
|
+
*/
|
|
26
|
+
export function Method(props) {
|
|
27
|
+
const {
|
|
28
|
+
$
|
|
29
|
+
} = useTsp();
|
|
30
|
+
const isTypeSpecTyped = "type" in props;
|
|
31
|
+
const type = isTypeSpecTyped ? props.type : undefined;
|
|
32
|
+
const docSource = props.doc ?? (type ? $.type.getDoc(type) : undefined);
|
|
33
|
+
const docElement = docSource ? _$createComponent(DocElement, {
|
|
34
|
+
doc: docSource,
|
|
35
|
+
component: py.MethodDoc
|
|
36
|
+
}) : undefined;
|
|
37
|
+
const resolvedMethodType = getResolvedMethodType(props);
|
|
38
|
+
const MethodComponent = resolvedMethodType === "static" ? py.StaticMethodDeclaration : resolvedMethodType === "class" ? py.ClassMethodDeclaration : py.MethodDeclaration;
|
|
39
|
+
|
|
40
|
+
// Default to abstract when deriving from a TypeSpec operation (`type` prop present),
|
|
41
|
+
// unless explicitly overridden by props.abstract === false
|
|
42
|
+
const abstractFlag = (() => {
|
|
43
|
+
const explicit = props.abstract;
|
|
44
|
+
return explicit ?? (!isTypeSpecTyped ? false : undefined);
|
|
45
|
+
})();
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* If the method does not come from the Typespec class declaration, return a standard Python method declaration.
|
|
49
|
+
* Have in mind that, with that, we lose some of the TypeSpec class declaration overrides.
|
|
50
|
+
*/
|
|
51
|
+
if (!isTypeSpecTyped) {
|
|
52
|
+
return _$createComponent(MethodComponent, _$mergeProps(props, {
|
|
53
|
+
doc: docElement,
|
|
54
|
+
abstract: abstractFlag
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
const [efProps, updateProps, forwardProps] = splitProps(props, ["type"], ["returnType", "parameters"]);
|
|
58
|
+
const name = props.name ?? py.usePythonNamePolicy().getName(efProps.type.name, "function");
|
|
59
|
+
const returnType = props.returnType ?? _$createComponent(TypeExpression, {
|
|
60
|
+
get type() {
|
|
61
|
+
return getReturnType(efProps.type);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
const allParameters = buildParameterDescriptors(efProps.type.parameters, {
|
|
65
|
+
params: props.parameters,
|
|
66
|
+
replaceParameters: props.replaceParameters
|
|
67
|
+
});
|
|
68
|
+
return [_$createComponent(MethodComponent, _$mergeProps(forwardProps, updateProps, {
|
|
69
|
+
name: name,
|
|
70
|
+
returnType: returnType,
|
|
71
|
+
parameters: allParameters,
|
|
72
|
+
doc: docElement,
|
|
73
|
+
abstract: abstractFlag
|
|
74
|
+
}))];
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=class-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","splitProps","useContext","py","useTsp","buildParameterDescriptors","getReturnType","DocElement","TypeExpression","MethodContext","undefined","MethodProvider","Provider","getResolvedMethodType","props","ctxMethodType","propMethodType","methodType","Method","$","isTypeSpecTyped","type","docSource","doc","getDoc","docElement","_$createComponent","component","MethodDoc","resolvedMethodType","MethodComponent","StaticMethodDeclaration","ClassMethodDeclaration","MethodDeclaration","abstractFlag","explicit","abstract","_$mergeProps","efProps","updateProps","forwardProps","name","usePythonNamePolicy","getName","returnType","allParameters","parameters","params","replaceParameters"],"sources":["../../../../../src/python/components/class-declaration/class-method.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-method.test.d.ts","sourceRoot":"","sources":["../../../../../src/python/components/class-declaration/class-method.test.tsx"],"names":[],"mappings":""}
|