@goast/typescript 0.3.13 → 0.4.0-beta1
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/LICENSE +21 -0
- package/README.md +16 -8
- package/assets/client/angular/angular-service.utils.ts +1 -1
- package/assets/client/angular/request-builder.ts +6 -3
- package/assets/client/k6/request-builder.js +13 -6
- package/assets/stubs/easy-network-stub/easy-network-stub.utils.ts +4 -5
- package/esm/index.d.ts +8 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/lib/assets.d.ts +2 -0
- package/esm/lib/assets.d.ts.map +1 -0
- package/esm/lib/assets.js +6 -0
- package/{types → esm}/lib/ast/_index.d.ts +39 -38
- package/esm/lib/ast/_index.d.ts.map +1 -0
- package/esm/lib/ast/_index.js +1 -2
- package/{types → esm}/lib/ast/common.d.ts +1 -0
- package/esm/lib/ast/common.d.ts.map +1 -0
- package/esm/lib/ast/index.d.ts +2 -0
- package/esm/lib/ast/index.d.ts.map +1 -0
- package/esm/lib/ast/index.js +1 -2
- package/{types → esm}/lib/ast/node.d.ts +2 -1
- package/esm/lib/ast/node.d.ts.map +1 -0
- package/{types → esm}/lib/ast/nodes/argument.d.ts +5 -4
- package/esm/lib/ast/nodes/argument.d.ts.map +1 -0
- package/esm/lib/ast/nodes/argument.js +6 -0
- package/{types → esm}/lib/ast/nodes/array-type.d.ts +5 -4
- package/esm/lib/ast/nodes/array-type.d.ts.map +1 -0
- package/esm/lib/ast/nodes/array-type.js +12 -0
- package/{types → esm}/lib/ast/nodes/arrow-function.d.ts +7 -6
- package/esm/lib/ast/nodes/arrow-function.d.ts.map +1 -0
- package/esm/lib/ast/nodes/arrow-function.js +37 -1
- package/{types → esm}/lib/ast/nodes/call.d.ts +6 -5
- package/esm/lib/ast/nodes/call.d.ts.map +1 -0
- package/esm/lib/ast/nodes/call.js +13 -1
- package/{types → esm}/lib/ast/nodes/class.d.ts +12 -11
- package/esm/lib/ast/nodes/class.d.ts.map +1 -0
- package/esm/lib/ast/nodes/class.js +55 -1
- package/{types → esm}/lib/ast/nodes/constructor-parameter.d.ts +5 -4
- package/esm/lib/ast/nodes/constructor-parameter.d.ts.map +1 -0
- package/esm/lib/ast/nodes/constructor-parameter.js +12 -0
- package/{types → esm}/lib/ast/nodes/constructor.d.ts +7 -6
- package/esm/lib/ast/nodes/constructor.d.ts.map +1 -0
- package/esm/lib/ast/nodes/constructor.js +25 -1
- package/{types → esm}/lib/ast/nodes/decorator.d.ts +6 -5
- package/esm/lib/ast/nodes/decorator.d.ts.map +1 -0
- package/esm/lib/ast/nodes/decorator.js +12 -0
- package/{types → esm}/lib/ast/nodes/doc-tag.d.ts +5 -4
- package/esm/lib/ast/nodes/doc-tag.d.ts.map +1 -0
- package/esm/lib/ast/nodes/doc-tag.js +18 -0
- package/{types → esm}/lib/ast/nodes/doc.d.ts +7 -6
- package/esm/lib/ast/nodes/doc.d.ts.map +1 -0
- package/esm/lib/ast/nodes/doc.js +12 -0
- package/{types → esm}/lib/ast/nodes/enum-value.d.ts +5 -4
- package/esm/lib/ast/nodes/enum-value.d.ts.map +1 -0
- package/esm/lib/ast/nodes/enum-value.js +18 -0
- package/{types → esm}/lib/ast/nodes/enum.d.ts +6 -5
- package/esm/lib/ast/nodes/enum.d.ts.map +1 -0
- package/esm/lib/ast/nodes/enum.js +30 -0
- package/{types → esm}/lib/ast/nodes/export.d.ts +5 -4
- package/esm/lib/ast/nodes/export.d.ts.map +1 -0
- package/esm/lib/ast/nodes/export.js +18 -0
- package/{types → esm}/lib/ast/nodes/function-type.d.ts +7 -6
- package/esm/lib/ast/nodes/function-type.d.ts.map +1 -0
- package/esm/lib/ast/nodes/function-type.js +18 -0
- package/{types → esm}/lib/ast/nodes/function.d.ts +9 -8
- package/esm/lib/ast/nodes/function.d.ts.map +1 -0
- package/esm/lib/ast/nodes/function.js +49 -1
- package/{types → esm}/lib/ast/nodes/generic-parameter.d.ts +5 -4
- package/esm/lib/ast/nodes/generic-parameter.d.ts.map +1 -0
- package/esm/lib/ast/nodes/generic-parameter.js +30 -0
- package/{types → esm}/lib/ast/nodes/indexer.d.ts +5 -4
- package/esm/lib/ast/nodes/indexer.d.ts.map +1 -0
- package/esm/lib/ast/nodes/indexer.js +24 -0
- package/{types → esm}/lib/ast/nodes/interface.d.ts +11 -10
- package/esm/lib/ast/nodes/interface.d.ts.map +1 -0
- package/esm/lib/ast/nodes/interface.js +43 -1
- package/{types → esm}/lib/ast/nodes/intersection-type.d.ts +5 -4
- package/esm/lib/ast/nodes/intersection-type.d.ts.map +1 -0
- package/esm/lib/ast/nodes/intersection-type.js +6 -0
- package/{types → esm}/lib/ast/nodes/lookup-type.d.ts +5 -4
- package/esm/lib/ast/nodes/lookup-type.d.ts.map +1 -0
- package/esm/lib/ast/nodes/lookup-type.js +12 -0
- package/{types → esm}/lib/ast/nodes/method.d.ts +10 -9
- package/esm/lib/ast/nodes/method.d.ts.map +1 -0
- package/esm/lib/ast/nodes/method.js +78 -0
- package/{types → esm}/lib/ast/nodes/object-type.d.ts +7 -6
- package/esm/lib/ast/nodes/object-type.d.ts.map +1 -0
- package/esm/lib/ast/nodes/object-type.js +6 -0
- package/{types → esm}/lib/ast/nodes/object.d.ts +6 -5
- package/esm/lib/ast/nodes/object.d.ts.map +1 -0
- package/esm/lib/ast/nodes/object.js +6 -0
- package/{types → esm}/lib/ast/nodes/parameter.d.ts +6 -5
- package/esm/lib/ast/nodes/parameter.d.ts.map +1 -0
- package/esm/lib/ast/nodes/parameter.js +37 -1
- package/{types → esm}/lib/ast/nodes/property-accessor.d.ts +8 -7
- package/esm/lib/ast/nodes/property-accessor.d.ts.map +1 -0
- package/esm/lib/ast/nodes/property-accessor.js +60 -0
- package/{types → esm}/lib/ast/nodes/property.d.ts +9 -8
- package/esm/lib/ast/nodes/property.d.ts.map +1 -0
- package/esm/lib/ast/nodes/property.js +79 -3
- package/{types → esm}/lib/ast/nodes/reference.d.ts +6 -5
- package/esm/lib/ast/nodes/reference.d.ts.map +1 -0
- package/esm/lib/ast/nodes/reference.js +39 -10
- package/{types → esm}/lib/ast/nodes/string.d.ts +4 -3
- package/esm/lib/ast/nodes/string.d.ts.map +1 -0
- package/esm/lib/ast/nodes/string.js +12 -0
- package/{types → esm}/lib/ast/nodes/tuple.d.ts +5 -4
- package/esm/lib/ast/nodes/tuple.d.ts.map +1 -0
- package/esm/lib/ast/nodes/tuple.js +12 -0
- package/{types → esm}/lib/ast/nodes/type-alias.d.ts +7 -6
- package/esm/lib/ast/nodes/type-alias.d.ts.map +1 -0
- package/esm/lib/ast/nodes/type-alias.js +31 -1
- package/{types → esm}/lib/ast/nodes/typeof.d.ts +5 -4
- package/esm/lib/ast/nodes/typeof.d.ts.map +1 -0
- package/esm/lib/ast/nodes/typeof.js +6 -0
- package/esm/lib/ast/nodes/types.d.ts +19 -0
- package/esm/lib/ast/nodes/types.d.ts.map +1 -0
- package/{types → esm}/lib/ast/nodes/union-type.d.ts +5 -4
- package/esm/lib/ast/nodes/union-type.d.ts.map +1 -0
- package/esm/lib/ast/nodes/union-type.js +6 -0
- package/{types → esm}/lib/ast/nodes/variable.d.ts +6 -5
- package/esm/lib/ast/nodes/variable.d.ts.map +1 -0
- package/esm/lib/ast/nodes/variable.js +36 -0
- package/{types → esm}/lib/ast/references/angular.d.ts +17 -16
- package/esm/lib/ast/references/angular.d.ts.map +1 -0
- package/{types → esm}/lib/ast/references/easy-network-stub.d.ts +13 -12
- package/esm/lib/ast/references/easy-network-stub.d.ts.map +1 -0
- package/esm/lib/ast/references/index.d.ts +6 -0
- package/esm/lib/ast/references/index.d.ts.map +1 -0
- package/esm/lib/ast/references/index.js +4 -8
- package/{types → esm}/lib/ast/references/k6.d.ts +7 -6
- package/esm/lib/ast/references/k6.d.ts.map +1 -0
- package/{types → esm}/lib/ast/references/rxjs.d.ts +11 -10
- package/esm/lib/ast/references/rxjs.d.ts.map +1 -0
- package/{types → esm}/lib/ast/references/typescript.d.ts +95 -94
- package/esm/lib/ast/references/typescript.d.ts.map +1 -0
- package/esm/lib/ast/utils/get-type-script-builder-options.d.ts +4 -0
- package/esm/lib/ast/utils/get-type-script-builder-options.d.ts.map +1 -0
- package/{types → esm}/lib/ast/utils/to-ts-node.d.ts +5 -4
- package/esm/lib/ast/utils/to-ts-node.d.ts.map +1 -0
- package/esm/lib/ast/utils/write-ts-generic-parameters.d.ts +4 -0
- package/esm/lib/ast/utils/write-ts-generic-parameters.d.ts.map +1 -0
- package/esm/lib/ast/utils/write-ts-generic-parameters.js +1 -1
- package/{types → esm}/lib/ast/utils/write-ts-members.d.ts +3 -2
- package/esm/lib/ast/utils/write-ts-members.d.ts.map +1 -0
- package/esm/lib/ast/utils/write-ts-members.js +1 -1
- package/{types → esm}/lib/ast/utils/write-ts-nodes.d.ts +3 -2
- package/esm/lib/ast/utils/write-ts-nodes.d.ts.map +1 -0
- package/esm/lib/ast/utils/write-ts-nodes.js +1 -1
- package/esm/lib/ast/utils/write-ts-parameters.d.ts +4 -0
- package/esm/lib/ast/utils/write-ts-parameters.d.ts.map +1 -0
- package/esm/lib/ast/utils/write-ts-parameters.js +1 -1
- package/{types → esm}/lib/common-results.d.ts +2 -1
- package/esm/lib/common-results.d.ts.map +1 -0
- package/{types → esm}/lib/config.d.ts +3 -2
- package/esm/lib/config.d.ts.map +1 -0
- package/{types → esm}/lib/file-builder.d.ts +6 -5
- package/esm/lib/file-builder.d.ts.map +1 -0
- package/esm/lib/file-builder.js +15 -3
- package/{types → esm}/lib/generators/file-generator.d.ts +4 -3
- package/esm/lib/generators/file-generator.d.ts.map +1 -0
- package/esm/lib/generators/index.d.ts +7 -0
- package/esm/lib/generators/index.d.ts.map +1 -0
- package/esm/lib/generators/models/index.d.ts +4 -0
- package/esm/lib/generators/models/index.d.ts.map +1 -0
- package/{types → esm}/lib/generators/models/model-generator.d.ts +8 -7
- package/esm/lib/generators/models/model-generator.d.ts.map +1 -0
- package/esm/lib/generators/models/model-generator.js +1 -1
- package/{types → esm}/lib/generators/models/models-generator.d.ts +5 -4
- package/esm/lib/generators/models/models-generator.d.ts.map +1 -0
- package/esm/lib/generators/models/models-generator.js +8 -2
- package/{types → esm}/lib/generators/models/models.d.ts +4 -3
- package/esm/lib/generators/models/models.d.ts.map +1 -0
- package/{types → esm}/lib/generators/services/angular-services/angular-service-generator.d.ts +7 -6
- package/esm/lib/generators/services/angular-services/angular-service-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/angular-services/angular-service-generator.js +5 -3
- package/{types → esm}/lib/generators/services/angular-services/angular-services-generator.d.ts +5 -4
- package/esm/lib/generators/services/angular-services/angular-services-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/angular-services/angular-services-generator.js +13 -6
- package/esm/lib/generators/services/angular-services/index.d.ts +4 -0
- package/esm/lib/generators/services/angular-services/index.d.ts.map +1 -0
- package/{types → esm}/lib/generators/services/angular-services/models.d.ts +8 -7
- package/esm/lib/generators/services/angular-services/models.d.ts.map +1 -0
- package/esm/lib/generators/services/angular-services/models.js +62 -3
- package/{types → esm}/lib/generators/services/angular-services/refs.d.ts +10 -9
- package/esm/lib/generators/services/angular-services/refs.d.ts.map +1 -0
- package/esm/lib/generators/services/angular-services/refs.js +4 -2
- package/{types → esm}/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +6 -5
- package/esm/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +3 -2
- package/{types → esm}/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +7 -6
- package/esm/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +10 -3
- package/esm/lib/generators/services/easy-network-stub/index.d.ts +4 -0
- package/esm/lib/generators/services/easy-network-stub/index.d.ts.map +1 -0
- package/{types → esm}/lib/generators/services/easy-network-stub/models.d.ts +8 -7
- package/esm/lib/generators/services/easy-network-stub/models.d.ts.map +1 -0
- package/{types → esm}/lib/generators/services/easy-network-stub/refs.d.ts +12 -11
- package/esm/lib/generators/services/easy-network-stub/refs.d.ts.map +1 -0
- package/esm/lib/generators/services/easy-network-stub/refs.js +4 -2
- package/{types → esm}/lib/generators/services/fetch-clients/fetch-client-generator.d.ts +6 -5
- package/esm/lib/generators/services/fetch-clients/fetch-client-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/fetch-clients/fetch-client-generator.js +3 -5
- package/{types → esm}/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +5 -4
- package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.js +12 -6
- package/esm/lib/generators/services/fetch-clients/index.d.ts +4 -0
- package/esm/lib/generators/services/fetch-clients/index.d.ts.map +1 -0
- package/{types → esm}/lib/generators/services/fetch-clients/models.d.ts +6 -5
- package/esm/lib/generators/services/fetch-clients/models.d.ts.map +1 -0
- package/{types → esm}/lib/generators/services/fetch-clients/refs.d.ts +6 -5
- package/esm/lib/generators/services/fetch-clients/refs.d.ts.map +1 -0
- package/esm/lib/generators/services/fetch-clients/refs.js +1 -1
- package/esm/lib/generators/services/k6-clients/index.d.ts +4 -0
- package/esm/lib/generators/services/k6-clients/index.d.ts.map +1 -0
- package/{types → esm}/lib/generators/services/k6-clients/k6-client-generator.d.ts +9 -8
- package/esm/lib/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/k6-clients/k6-client-generator.js +10 -6
- package/{types → esm}/lib/generators/services/k6-clients/k6-clients-generator.d.ts +5 -4
- package/esm/lib/generators/services/k6-clients/k6-clients-generator.d.ts.map +1 -0
- package/esm/lib/generators/services/k6-clients/k6-clients-generator.js +11 -5
- package/{types → esm}/lib/generators/services/k6-clients/models.d.ts +8 -7
- package/esm/lib/generators/services/k6-clients/models.d.ts.map +1 -0
- package/esm/lib/generators/services/k6-clients/models.js +62 -3
- package/{types → esm}/lib/generators/services/k6-clients/refs.d.ts +5 -4
- package/esm/lib/generators/services/k6-clients/refs.d.ts.map +1 -0
- package/esm/lib/generators/services/k6-clients/refs.js +1 -1
- package/{types → esm}/lib/import-collection.d.ts +4 -3
- package/esm/lib/import-collection.d.ts.map +1 -0
- package/esm/lib/import-collection.js +37 -6
- package/{types → esm}/lib/utils.d.ts +3 -2
- package/esm/lib/utils.d.ts.map +1 -0
- package/esm/lib/utils.js +4 -1
- package/esm/package.json +3 -0
- package/package.json +23 -33
- package/script/index.d.ts +8 -0
- package/script/index.d.ts.map +1 -0
- package/script/index.js +10 -0
- package/script/lib/assets.d.ts +2 -0
- package/script/lib/assets.d.ts.map +1 -0
- package/script/lib/assets.js +9 -0
- package/script/lib/ast/_index.d.ts +39 -0
- package/script/lib/ast/_index.d.ts.map +1 -0
- package/script/lib/ast/_index.js +108 -0
- package/script/lib/ast/common.d.ts +2 -0
- package/script/lib/ast/common.d.ts.map +1 -0
- package/script/lib/ast/index.d.ts +2 -0
- package/script/lib/ast/index.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/index.js +1 -1
- package/script/lib/ast/node.d.ts +5 -0
- package/script/lib/ast/node.d.ts.map +1 -0
- package/script/lib/ast/nodes/argument.d.ts +18 -0
- package/script/lib/ast/nodes/argument.d.ts.map +1 -0
- package/script/lib/ast/nodes/argument.js +26 -0
- package/script/lib/ast/nodes/array-type.d.ts +20 -0
- package/script/lib/ast/nodes/array-type.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/array-type.js +17 -5
- package/script/lib/ast/nodes/arrow-function.d.ts +30 -0
- package/script/lib/ast/nodes/arrow-function.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/arrow-function.js +45 -9
- package/script/lib/ast/nodes/call.d.ts +21 -0
- package/script/lib/ast/nodes/call.d.ts.map +1 -0
- package/script/lib/ast/nodes/call.js +38 -0
- package/script/lib/ast/nodes/class.d.ts +42 -0
- package/script/lib/ast/nodes/class.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/class.js +68 -14
- package/script/lib/ast/nodes/constructor-parameter.d.ts +20 -0
- package/script/lib/ast/nodes/constructor-parameter.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/constructor-parameter.js +21 -9
- package/script/lib/ast/nodes/constructor.d.ts +26 -0
- package/script/lib/ast/nodes/constructor.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/constructor.js +34 -10
- package/script/lib/ast/nodes/decorator.d.ts +23 -0
- package/script/lib/ast/nodes/decorator.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/decorator.js +19 -7
- package/script/lib/ast/nodes/doc-tag.d.ts +74 -0
- package/script/lib/ast/nodes/doc-tag.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/doc-tag.js +26 -8
- package/script/lib/ast/nodes/doc.d.ts +29 -0
- package/script/lib/ast/nodes/doc.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/doc.js +24 -12
- package/script/lib/ast/nodes/enum-value.d.ts +22 -0
- package/script/lib/ast/nodes/enum-value.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/enum-value.js +23 -5
- package/script/lib/ast/nodes/enum.d.ts +27 -0
- package/script/lib/ast/nodes/enum.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/enum.js +36 -6
- package/script/lib/ast/nodes/export.d.ts +23 -0
- package/script/lib/ast/nodes/export.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/export.js +24 -6
- package/script/lib/ast/nodes/function-type.d.ts +24 -0
- package/script/lib/ast/nodes/function-type.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/function-type.js +27 -9
- package/script/lib/ast/nodes/function.d.ts +36 -0
- package/script/lib/ast/nodes/function.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/function.js +61 -13
- package/script/lib/ast/nodes/generic-parameter.d.ts +26 -0
- package/script/lib/ast/nodes/generic-parameter.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/generic-parameter.js +37 -7
- package/script/lib/ast/nodes/indexer.d.ts +24 -0
- package/script/lib/ast/nodes/indexer.d.ts.map +1 -0
- package/script/lib/ast/nodes/indexer.js +56 -0
- package/script/lib/ast/nodes/interface.d.ts +37 -0
- package/script/lib/ast/nodes/interface.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/interface.js +55 -13
- package/script/lib/ast/nodes/intersection-type.d.ts +18 -0
- package/script/lib/ast/nodes/intersection-type.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/intersection-type.js +12 -6
- package/script/lib/ast/nodes/lookup-type.d.ts +20 -0
- package/script/lib/ast/nodes/lookup-type.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/lookup-type.js +18 -6
- package/script/lib/ast/nodes/method.d.ts +48 -0
- package/script/lib/ast/nodes/method.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/method.js +93 -15
- package/script/lib/ast/nodes/object-type.d.ts +21 -0
- package/script/lib/ast/nodes/object-type.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/object-type.js +12 -6
- package/script/lib/ast/nodes/object.d.ts +20 -0
- package/script/lib/ast/nodes/object.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/object.js +12 -6
- package/script/lib/ast/nodes/parameter.d.ts +29 -0
- package/script/lib/ast/nodes/parameter.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/parameter.js +45 -9
- package/script/lib/ast/nodes/property-accessor.d.ts +54 -0
- package/script/lib/ast/nodes/property-accessor.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/property-accessor.js +71 -11
- package/script/lib/ast/nodes/property.d.ts +85 -0
- package/script/lib/ast/nodes/property.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/property.js +96 -20
- package/script/lib/ast/nodes/reference.d.ts +65 -0
- package/script/lib/ast/nodes/reference.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/reference.js +45 -16
- package/script/lib/ast/nodes/string.d.ts +19 -0
- package/script/lib/ast/nodes/string.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/string.js +18 -6
- package/script/lib/ast/nodes/tuple.d.ts +20 -0
- package/script/lib/ast/nodes/tuple.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/tuple.js +17 -5
- package/script/lib/ast/nodes/type-alias.d.ts +28 -0
- package/script/lib/ast/nodes/type-alias.d.ts.map +1 -0
- package/script/lib/ast/nodes/type-alias.js +68 -0
- package/script/lib/ast/nodes/typeof.d.ts +19 -0
- package/script/lib/ast/nodes/typeof.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/typeof.js +11 -5
- package/script/lib/ast/nodes/types.d.ts +19 -0
- package/script/lib/ast/nodes/types.d.ts.map +1 -0
- package/script/lib/ast/nodes/union-type.d.ts +18 -0
- package/script/lib/ast/nodes/union-type.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/nodes/union-type.js +12 -6
- package/script/lib/ast/nodes/variable.d.ts +29 -0
- package/script/lib/ast/nodes/variable.d.ts.map +1 -0
- package/script/lib/ast/nodes/variable.js +76 -0
- package/script/lib/ast/references/angular.d.ts +58 -0
- package/script/lib/ast/references/angular.d.ts.map +1 -0
- package/script/lib/ast/references/angular.js +13 -0
- package/script/lib/ast/references/easy-network-stub.d.ts +35 -0
- package/script/lib/ast/references/easy-network-stub.d.ts.map +1 -0
- package/script/lib/ast/references/easy-network-stub.js +10 -0
- package/script/lib/ast/references/index.d.ts +6 -0
- package/script/lib/ast/references/index.d.ts.map +1 -0
- package/script/lib/ast/references/index.js +9 -0
- package/script/lib/ast/references/k6.d.ts +25 -0
- package/script/lib/ast/references/k6.d.ts.map +1 -0
- package/script/lib/ast/references/k6.js +9 -0
- package/script/lib/ast/references/rxjs.d.ts +41 -0
- package/script/lib/ast/references/rxjs.d.ts.map +1 -0
- package/script/lib/ast/references/rxjs.js +9 -0
- package/script/lib/ast/references/typescript.d.ts +198 -0
- package/script/lib/ast/references/typescript.d.ts.map +1 -0
- package/script/lib/ast/references/typescript.js +34 -0
- package/script/lib/ast/utils/get-type-script-builder-options.d.ts +4 -0
- package/script/lib/ast/utils/get-type-script-builder-options.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/utils/get-type-script-builder-options.js +4 -4
- package/script/lib/ast/utils/to-ts-node.d.ts +9 -0
- package/script/lib/ast/utils/to-ts-node.d.ts.map +1 -0
- package/script/lib/ast/utils/to-ts-node.js +23 -0
- package/script/lib/ast/utils/write-ts-generic-parameters.d.ts +4 -0
- package/script/lib/ast/utils/write-ts-generic-parameters.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/utils/write-ts-generic-parameters.js +2 -2
- package/script/lib/ast/utils/write-ts-members.d.ts +6 -0
- package/script/lib/ast/utils/write-ts-members.d.ts.map +1 -0
- package/script/lib/ast/utils/write-ts-members.js +17 -0
- package/script/lib/ast/utils/write-ts-nodes.d.ts +7 -0
- package/script/lib/ast/utils/write-ts-nodes.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/utils/write-ts-nodes.js +2 -2
- package/script/lib/ast/utils/write-ts-parameters.d.ts +4 -0
- package/script/lib/ast/utils/write-ts-parameters.d.ts.map +1 -0
- package/{cjs → script}/lib/ast/utils/write-ts-parameters.js +2 -2
- package/script/lib/common-results.d.ts +25 -0
- package/script/lib/common-results.d.ts.map +1 -0
- package/script/lib/config.d.ts +61 -0
- package/script/lib/config.d.ts.map +1 -0
- package/script/lib/file-builder.d.ts +34 -0
- package/script/lib/file-builder.d.ts.map +1 -0
- package/{cjs → script}/lib/file-builder.js +21 -9
- package/script/lib/generators/file-generator.d.ts +8 -0
- package/script/lib/generators/file-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/file-generator.js +2 -2
- package/script/lib/generators/index.d.ts +7 -0
- package/script/lib/generators/index.d.ts.map +1 -0
- package/script/lib/generators/index.js +9 -0
- package/script/lib/generators/models/index.d.ts +4 -0
- package/script/lib/generators/models/index.d.ts.map +1 -0
- package/script/lib/generators/models/index.js +6 -0
- package/script/lib/generators/models/model-generator.d.ts +46 -0
- package/script/lib/generators/models/model-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/models/model-generator.js +63 -63
- package/script/lib/generators/models/models-generator.d.ts +23 -0
- package/script/lib/generators/models/models-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/models/models-generator.js +17 -11
- package/script/lib/generators/models/models.d.ts +65 -0
- package/script/lib/generators/models/models.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/models/models.js +2 -2
- package/script/lib/generators/services/angular-services/angular-service-generator.d.ts +39 -0
- package/script/lib/generators/services/angular-services/angular-service-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/angular-services/angular-service-generator.js +62 -60
- package/script/lib/generators/services/angular-services/angular-services-generator.d.ts +32 -0
- package/script/lib/generators/services/angular-services/angular-services-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/angular-services/angular-services-generator.js +67 -60
- package/script/lib/generators/services/angular-services/index.d.ts +4 -0
- package/script/lib/generators/services/angular-services/index.d.ts.map +1 -0
- package/script/lib/generators/services/angular-services/index.js +6 -0
- package/script/lib/generators/services/angular-services/models.d.ts +142 -0
- package/script/lib/generators/services/angular-services/models.d.ts.map +1 -0
- package/script/lib/generators/services/angular-services/models.js +89 -0
- package/script/lib/generators/services/angular-services/refs.d.ts +63 -0
- package/script/lib/generators/services/angular-services/refs.d.ts.map +1 -0
- package/script/lib/generators/services/angular-services/refs.js +30 -0
- package/script/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +33 -0
- package/script/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +30 -29
- package/script/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +29 -0
- package/script/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +39 -32
- package/script/lib/generators/services/easy-network-stub/index.d.ts +4 -0
- package/script/lib/generators/services/easy-network-stub/index.d.ts.map +1 -0
- package/script/lib/generators/services/easy-network-stub/index.js +6 -0
- package/script/lib/generators/services/easy-network-stub/models.d.ts +78 -0
- package/script/lib/generators/services/easy-network-stub/models.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/easy-network-stub/models.js +6 -6
- package/script/lib/generators/services/easy-network-stub/refs.d.ts +82 -0
- package/script/lib/generators/services/easy-network-stub/refs.d.ts.map +1 -0
- package/script/lib/generators/services/easy-network-stub/refs.js +30 -0
- package/script/lib/generators/services/fetch-clients/fetch-client-generator.d.ts +33 -0
- package/script/lib/generators/services/fetch-clients/fetch-client-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/fetch-clients/fetch-client-generator.js +41 -43
- package/script/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +27 -0
- package/script/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/fetch-clients/fetch-clients-generator.js +25 -19
- package/script/lib/generators/services/fetch-clients/index.d.ts +4 -0
- package/script/lib/generators/services/fetch-clients/index.d.ts.map +1 -0
- package/script/lib/generators/services/fetch-clients/index.js +6 -0
- package/script/lib/generators/services/fetch-clients/models.d.ts +84 -0
- package/script/lib/generators/services/fetch-clients/models.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/fetch-clients/models.js +2 -2
- package/script/lib/generators/services/fetch-clients/refs.d.ts +30 -0
- package/script/lib/generators/services/fetch-clients/refs.d.ts.map +1 -0
- package/script/lib/generators/services/fetch-clients/refs.js +16 -0
- package/script/lib/generators/services/k6-clients/index.d.ts +4 -0
- package/script/lib/generators/services/k6-clients/index.d.ts.map +1 -0
- package/script/lib/generators/services/k6-clients/index.js +6 -0
- package/script/lib/generators/services/k6-clients/k6-client-generator.d.ts +40 -0
- package/script/lib/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/k6-clients/k6-client-generator.js +75 -71
- package/script/lib/generators/services/k6-clients/k6-clients-generator.d.ts +28 -0
- package/script/lib/generators/services/k6-clients/k6-clients-generator.d.ts.map +1 -0
- package/{cjs → script}/lib/generators/services/k6-clients/k6-clients-generator.js +30 -24
- package/script/lib/generators/services/k6-clients/models.d.ts +119 -0
- package/script/lib/generators/services/k6-clients/models.d.ts.map +1 -0
- package/script/lib/generators/services/k6-clients/models.js +87 -0
- package/script/lib/generators/services/k6-clients/refs.d.ts +21 -0
- package/script/lib/generators/services/k6-clients/refs.d.ts.map +1 -0
- package/script/lib/generators/services/k6-clients/refs.js +12 -0
- package/script/lib/import-collection.d.ts +42 -0
- package/script/lib/import-collection.d.ts.map +1 -0
- package/{cjs → script}/lib/import-collection.js +43 -12
- package/script/lib/utils.d.ts +8 -0
- package/script/lib/utils.d.ts.map +1 -0
- package/{cjs → script}/lib/utils.js +6 -3
- package/script/package.json +3 -0
- package/cjs/index.js +0 -10
- package/cjs/lib/ast/_index.js +0 -108
- package/cjs/lib/ast/nodes/argument.js +0 -20
- package/cjs/lib/ast/nodes/call.js +0 -26
- package/cjs/lib/ast/nodes/indexer.js +0 -32
- package/cjs/lib/ast/nodes/type-alias.js +0 -38
- package/cjs/lib/ast/nodes/variable.js +0 -40
- package/cjs/lib/ast/references/angular.js +0 -13
- package/cjs/lib/ast/references/easy-network-stub.js +0 -10
- package/cjs/lib/ast/references/index.js +0 -9
- package/cjs/lib/ast/references/k6.js +0 -9
- package/cjs/lib/ast/references/rxjs.js +0 -9
- package/cjs/lib/ast/references/typescript.js +0 -34
- package/cjs/lib/ast/utils/to-ts-node.js +0 -23
- package/cjs/lib/ast/utils/write-ts-members.js +0 -17
- package/cjs/lib/generators/index.js +0 -9
- package/cjs/lib/generators/models/index.js +0 -6
- package/cjs/lib/generators/services/angular-services/index.js +0 -6
- package/cjs/lib/generators/services/angular-services/models.js +0 -30
- package/cjs/lib/generators/services/angular-services/refs.js +0 -28
- package/cjs/lib/generators/services/easy-network-stub/index.js +0 -6
- package/cjs/lib/generators/services/easy-network-stub/refs.js +0 -28
- package/cjs/lib/generators/services/fetch-clients/index.js +0 -6
- package/cjs/lib/generators/services/fetch-clients/refs.js +0 -16
- package/cjs/lib/generators/services/k6-clients/index.js +0 -6
- package/cjs/lib/generators/services/k6-clients/models.js +0 -28
- package/cjs/lib/generators/services/k6-clients/refs.js +0 -12
- package/cjs/package.json +0 -1
- package/types/index.d.ts +0 -7
- package/types/lib/ast/index.d.ts +0 -1
- package/types/lib/ast/nodes/types.d.ts +0 -18
- package/types/lib/ast/references/index.d.ts +0 -5
- package/types/lib/ast/utils/get-type-script-builder-options.d.ts +0 -3
- package/types/lib/ast/utils/write-ts-generic-parameters.d.ts +0 -3
- package/types/lib/ast/utils/write-ts-parameters.d.ts +0 -3
- package/types/lib/generators/index.d.ts +0 -6
- package/types/lib/generators/models/index.d.ts +0 -3
- package/types/lib/generators/services/angular-services/index.d.ts +0 -3
- package/types/lib/generators/services/easy-network-stub/index.d.ts +0 -3
- package/types/lib/generators/services/fetch-clients/index.d.ts +0 -3
- package/types/lib/generators/services/k6-clients/index.d.ts +0 -3
- /package/{cjs → script}/lib/ast/common.js +0 -0
- /package/{cjs → script}/lib/ast/node.js +0 -0
- /package/{cjs → script}/lib/ast/nodes/types.js +0 -0
- /package/{cjs → script}/lib/common-results.js +0 -0
- /package/{cjs → script}/lib/config.js +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultTypeScriptK6ClientGenerator = void 0;
|
|
4
|
-
const
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
5
|
const core_1 = require("@goast/core");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
class DefaultTypeScriptK6ClientGenerator extends
|
|
6
|
+
const index_js_1 = require("../../../ast/index.js");
|
|
7
|
+
const file_builder_js_1 = require("../../../file-builder.js");
|
|
8
|
+
const file_generator_js_1 = require("../../file-generator.js");
|
|
9
|
+
class DefaultTypeScriptK6ClientGenerator extends file_generator_js_1.TypeScriptFileGenerator {
|
|
10
10
|
generate(ctx) {
|
|
11
11
|
const responseModels = this.generateResponseModels(ctx);
|
|
12
12
|
const filePath = this.getFilePath(ctx);
|
|
13
13
|
const name = this.getClassName(ctx);
|
|
14
|
-
|
|
14
|
+
file_builder_js_1.TypeScriptFileBuilder.generate({
|
|
15
15
|
logName: `k6 client ${name}`,
|
|
16
16
|
filePath,
|
|
17
17
|
options: ctx.config,
|
|
@@ -27,7 +27,7 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
27
27
|
generateResponseModels(ctx) {
|
|
28
28
|
const result = {};
|
|
29
29
|
const filePath = this.getResponseModelFilePath(ctx);
|
|
30
|
-
const builder = new
|
|
30
|
+
const builder = new file_builder_js_1.TypeScriptFileBuilder(filePath, ctx.config);
|
|
31
31
|
for (const endpoint of ctx.service.endpoints) {
|
|
32
32
|
const name = this.getResponseModelName(ctx, endpoint);
|
|
33
33
|
builder.appendLine(this.getResponseModelFileContent(ctx, endpoint));
|
|
@@ -41,54 +41,54 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
41
41
|
const statusCodes = this.getEndpointStatusCodes(ctx, endpoint);
|
|
42
42
|
let statusCodeType;
|
|
43
43
|
const statusCodesTypeName = (0, core_1.toCasing)(`${endpoint.name}_StatusCodes`, ctx.config.typeNameCasing);
|
|
44
|
-
result.values.push(
|
|
44
|
+
result.values.push(index_js_1.ts.typeAlias(statusCodesTypeName, index_js_1.ts.unionType(Object.keys(statusCodes))));
|
|
45
45
|
if (ctx.config.strictResponseTypes) {
|
|
46
|
-
statusCodeType =
|
|
46
|
+
statusCodeType = index_js_1.ts.reference(statusCodesTypeName);
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
49
|
statusCodeType = ctx.refs.httpStatusCode();
|
|
50
50
|
}
|
|
51
|
-
result.values.push(
|
|
52
|
-
|
|
51
|
+
result.values.push(index_js_1.ts.typeAlias(this.getResponseModelName(ctx, endpoint), index_js_1.ts.intersectionType([
|
|
52
|
+
index_js_1.ts.unionType([
|
|
53
53
|
...Object.entries(statusCodes).map(([key, value]) => {
|
|
54
|
-
return
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
return index_js_1.ts.intersectionType([
|
|
55
|
+
index_js_1.ts.refs.omit([index_js_1.ts.refs.k6.response(), index_js_1.ts.string('json')]),
|
|
56
|
+
index_js_1.ts.objectType({
|
|
57
57
|
members: [
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
index_js_1.ts.property('status', { type: key }),
|
|
59
|
+
index_js_1.ts.method('json', {
|
|
60
60
|
returnType: value.type,
|
|
61
61
|
}),
|
|
62
|
-
|
|
63
|
-
parameters: [
|
|
64
|
-
returnType:
|
|
62
|
+
index_js_1.ts.method('json', {
|
|
63
|
+
parameters: [index_js_1.ts.parameter('selector', { type: index_js_1.ts.refs.string() })],
|
|
64
|
+
returnType: index_js_1.ts.refs.k6.jsonValue(),
|
|
65
65
|
}),
|
|
66
66
|
],
|
|
67
67
|
}),
|
|
68
68
|
]);
|
|
69
69
|
}),
|
|
70
70
|
!ctx.config.strictResponseTypes
|
|
71
|
-
?
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
? index_js_1.ts.intersectionType([
|
|
72
|
+
index_js_1.ts.refs.k6.response(),
|
|
73
|
+
index_js_1.ts.objectType({
|
|
74
74
|
members: [
|
|
75
|
-
|
|
76
|
-
type:
|
|
75
|
+
index_js_1.ts.property('status', {
|
|
76
|
+
type: index_js_1.ts.refs.exclude([ctx.refs.httpStatusCode(), index_js_1.ts.reference(statusCodesTypeName)]),
|
|
77
77
|
}),
|
|
78
78
|
],
|
|
79
79
|
}),
|
|
80
80
|
])
|
|
81
81
|
: null,
|
|
82
82
|
]),
|
|
83
|
-
|
|
83
|
+
index_js_1.ts.objectType({ members: [index_js_1.ts.property('status', { type: 'TStatus' })] }),
|
|
84
84
|
]), {
|
|
85
|
-
doc:
|
|
85
|
+
doc: index_js_1.ts.doc({
|
|
86
86
|
description: `Response model for operation ${this.getEndpointMethodName(ctx, endpoint)}`,
|
|
87
|
-
tags: [endpoint.deprecated ?
|
|
87
|
+
tags: [endpoint.deprecated ? index_js_1.ts.docTag('deprecated') : null],
|
|
88
88
|
}),
|
|
89
89
|
export: true,
|
|
90
90
|
generics: [
|
|
91
|
-
|
|
91
|
+
index_js_1.ts.genericParameter('TStatus', {
|
|
92
92
|
constraint: statusCodeType,
|
|
93
93
|
default: statusCodeType,
|
|
94
94
|
}),
|
|
@@ -106,7 +106,7 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
106
106
|
parser: (_a = value === null || value === void 0 ? void 0 : value.parser) !== null && _a !== void 0 ? _a : 'text',
|
|
107
107
|
type: typeof (value === null || value === void 0 ? void 0 : value.type) === 'function'
|
|
108
108
|
? this.getSchemaType(ctx, value.type(ctx.data.schemas))
|
|
109
|
-
:
|
|
109
|
+
: value !== null && value !== void 0 ? value : index_js_1.ts.refs.never(),
|
|
110
110
|
},
|
|
111
111
|
];
|
|
112
112
|
}),
|
|
@@ -117,7 +117,7 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
117
117
|
return [
|
|
118
118
|
x.statusCode,
|
|
119
119
|
{
|
|
120
|
-
type: this.getSchemaType(ctx, (_a = x.contentOptions[0]) === null || _a === void 0 ? void 0 : _a.schema, { fallback:
|
|
120
|
+
type: this.getSchemaType(ctx, (_a = x.contentOptions[0]) === null || _a === void 0 ? void 0 : _a.schema, { fallback: index_js_1.ts.refs.never() }),
|
|
121
121
|
},
|
|
122
122
|
];
|
|
123
123
|
}),
|
|
@@ -131,22 +131,22 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
131
131
|
code.values.push(this.getEndpointParamsType(ctx, endpoint));
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
code.values.push((0, core_1.appendValueGroup)(ctx.service.endpoints.map((e) =>
|
|
134
|
+
code.values.push((0, core_1.appendValueGroup)(ctx.service.endpoints.map((e) => index_js_1.ts.variable(this.getEndpointPathPropertyName(ctx, e), {
|
|
135
135
|
readonly: true,
|
|
136
|
-
value:
|
|
136
|
+
value: index_js_1.ts.string(e.path),
|
|
137
137
|
}))));
|
|
138
138
|
code.values.push(this.getClass(ctx));
|
|
139
139
|
return code;
|
|
140
140
|
}
|
|
141
141
|
getEndpointParamsType(ctx, endpoint) {
|
|
142
|
-
const type =
|
|
142
|
+
const type = index_js_1.ts.doc({
|
|
143
143
|
description: `Parameters for operation ${this.getEndpointMethodName(ctx, endpoint)}`,
|
|
144
|
-
tags: [
|
|
144
|
+
tags: [index_js_1.ts.docTag('typedef', this.getEndpointParamsTypeName(ctx, endpoint))],
|
|
145
145
|
});
|
|
146
146
|
for (const parameter of endpoint.parameters) {
|
|
147
147
|
const schema = parameter.schema;
|
|
148
148
|
const name = (0, core_1.toCasing)(parameter.name, ctx.config.propertyNameCasing);
|
|
149
|
-
type.tags.push(
|
|
149
|
+
type.tags.push(index_js_1.ts.docTag('property', parameter.required ? name : `[${name}]`, {
|
|
150
150
|
type: schema
|
|
151
151
|
? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id], { type: 'js-doc' })
|
|
152
152
|
: this.getAnyType(ctx),
|
|
@@ -156,7 +156,7 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
156
156
|
if (endpoint.requestBody !== undefined) {
|
|
157
157
|
const body = endpoint.requestBody;
|
|
158
158
|
const schema = body.content[0].schema;
|
|
159
|
-
type.tags.push(
|
|
159
|
+
type.tags.push(index_js_1.ts.docTag('property', body.required ? 'body' : '[body]', {
|
|
160
160
|
type: schema
|
|
161
161
|
? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id], { type: 'js-doc' })
|
|
162
162
|
: this.getAnyType(ctx),
|
|
@@ -166,29 +166,31 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
166
166
|
return type;
|
|
167
167
|
}
|
|
168
168
|
getClass(ctx) {
|
|
169
|
-
return
|
|
170
|
-
doc:
|
|
169
|
+
return index_js_1.ts.class(this.getClassName(ctx), {
|
|
170
|
+
doc: index_js_1.ts.doc({
|
|
171
171
|
description: ctx.service.description,
|
|
172
172
|
tags: [
|
|
173
|
-
|
|
174
|
-
type:
|
|
173
|
+
index_js_1.ts.docTag('property', 'rootUrl', 'The root URL for this client.', {
|
|
174
|
+
type: index_js_1.ts.refs.string(),
|
|
175
175
|
}),
|
|
176
176
|
ctx.service.endpoints.length === 0 || ctx.service.endpoints.some((x) => !x.deprecated)
|
|
177
177
|
? null
|
|
178
|
-
:
|
|
178
|
+
: index_js_1.ts.docTag('deprecated'),
|
|
179
179
|
],
|
|
180
180
|
}),
|
|
181
181
|
export: true,
|
|
182
182
|
members: [
|
|
183
|
-
|
|
184
|
-
doc:
|
|
183
|
+
index_js_1.ts.constructor({
|
|
184
|
+
doc: index_js_1.ts.doc({
|
|
185
185
|
description: 'Creates a new instance of the client.',
|
|
186
186
|
tags: [
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
index_js_1.ts.docTag('param', 'rootUrl', 'The root URL for this client.', { type: index_js_1.ts.refs.string() }),
|
|
188
|
+
index_js_1.ts.docTag('param', '[defaultK6ParamsFactory]', 'A factory function that returns the default K6 parameters.', {
|
|
189
|
+
type: index_js_1.ts.functionType({ returnType: index_js_1.ts.refs.k6.params({ importType: 'js-doc' }) }),
|
|
190
|
+
}),
|
|
189
191
|
],
|
|
190
192
|
}),
|
|
191
|
-
parameters: [
|
|
193
|
+
parameters: [index_js_1.ts.constructorParameter('rootUrl'), index_js_1.ts.constructorParameter('defaultK6ParamsFactory')],
|
|
192
194
|
body: (0, core_1.builderTemplate) `this.rootUrl = rootUrl;
|
|
193
195
|
this._defaultK6ParamsFactory = defaultK6ParamsFactory;`,
|
|
194
196
|
}),
|
|
@@ -201,27 +203,29 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
201
203
|
var _a, _b, _c, _d;
|
|
202
204
|
const hasParams = this.hasEndpointParams(ctx, endpoint);
|
|
203
205
|
const paramsOptional = !endpoint.parameters.some((p) => p.required) && !((_a = endpoint.requestBody) === null || _a === void 0 ? void 0 : _a.required);
|
|
204
|
-
const responseModelType =
|
|
206
|
+
const responseModelType = index_js_1.ts.reference(this.getResponseModelName(ctx, endpoint), this.getResponseModelFilePath(ctx), {
|
|
207
|
+
importType: 'js-doc',
|
|
208
|
+
});
|
|
205
209
|
const returnType = responseModelType;
|
|
206
210
|
const accept = (_d = (_c = (_b = this.getEndpointSuccessResponse(ctx, endpoint)) === null || _b === void 0 ? void 0 : _b.contentOptions[0]) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : '*/*';
|
|
207
|
-
return
|
|
211
|
+
return index_js_1.ts.method(this.getEndpointMethodName(ctx, endpoint), {
|
|
208
212
|
async: ctx.config.async,
|
|
209
|
-
parameters: [hasParams ?
|
|
210
|
-
doc:
|
|
213
|
+
parameters: [hasParams ? index_js_1.ts.parameter('params') : null, index_js_1.ts.parameter('k6Params')],
|
|
214
|
+
doc: index_js_1.ts.doc({
|
|
211
215
|
description: endpoint.description,
|
|
212
216
|
tags: [
|
|
213
217
|
hasParams
|
|
214
|
-
?
|
|
215
|
-
type:
|
|
218
|
+
? index_js_1.ts.docTag('param', paramsOptional ? '[params]' : 'params', {
|
|
219
|
+
type: index_js_1.ts.reference(this.getEndpointParamsTypeName(ctx, endpoint)),
|
|
216
220
|
})
|
|
217
221
|
: null,
|
|
218
|
-
|
|
219
|
-
type:
|
|
222
|
+
index_js_1.ts.docTag('param', '[k6Params]', {
|
|
223
|
+
type: index_js_1.ts.refs.k6.params({ importType: 'js-doc' }),
|
|
220
224
|
}),
|
|
221
|
-
|
|
222
|
-
type: ctx.config.async ?
|
|
225
|
+
index_js_1.ts.docTag('returns', {
|
|
226
|
+
type: ctx.config.async ? index_js_1.ts.refs.promise([returnType]) : returnType,
|
|
223
227
|
}),
|
|
224
|
-
endpoint.deprecated ?
|
|
228
|
+
endpoint.deprecated ? index_js_1.ts.docTag('deprecated') : null,
|
|
225
229
|
],
|
|
226
230
|
}),
|
|
227
231
|
body: (0, core_1.appendValueGroup)([
|
|
@@ -233,16 +237,16 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
233
237
|
...endpoint.parameters
|
|
234
238
|
.filter((p) => p.target === 'path' || p.target === 'query' || p.target === 'header')
|
|
235
239
|
.map((p) => {
|
|
236
|
-
const options =
|
|
240
|
+
const options = index_js_1.ts.object({
|
|
237
241
|
members: [
|
|
238
|
-
p.style !== undefined ?
|
|
239
|
-
p.explode !== undefined ?
|
|
242
|
+
p.style !== undefined ? index_js_1.ts.property('style', { value: index_js_1.ts.string(p.style) }) : null,
|
|
243
|
+
p.explode !== undefined ? index_js_1.ts.property('explode', { value: index_js_1.ts.toNode(p.explode) }) : null,
|
|
240
244
|
],
|
|
241
245
|
});
|
|
242
|
-
return (0, core_1.builderTemplate) `rb.${p.target}(${
|
|
246
|
+
return (0, core_1.builderTemplate) `rb.${p.target}(${index_js_1.ts.string(p.name)}, params.${(0, core_1.toCasing)(p.name, ctx.config.propertyNameCasing)}, ${options});`;
|
|
243
247
|
}),
|
|
244
248
|
endpoint.requestBody
|
|
245
|
-
? (0, core_1.builderTemplate) `rb.body(params.body, ${
|
|
249
|
+
? (0, core_1.builderTemplate) `rb.body(params.body, ${index_js_1.ts.string((_a = endpoint.requestBody.content[0].type) !== null && _a !== void 0 ? _a : 'application/json')});`
|
|
246
250
|
: null,
|
|
247
251
|
], '\n'), { multiline: true });
|
|
248
252
|
}
|
|
@@ -250,7 +254,7 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
250
254
|
'',
|
|
251
255
|
(0, core_1.builderTemplate) `return /** @type {${returnType}} */ (${core_1.builderTemplate.indent `
|
|
252
256
|
${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${core_1.builderTemplate.indent `
|
|
253
|
-
accept: ${
|
|
257
|
+
accept: ${index_js_1.ts.string(accept)},
|
|
254
258
|
params: this.getK6Params(k6Params),`}
|
|
255
259
|
})`}
|
|
256
260
|
);`,
|
|
@@ -258,14 +262,14 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
258
262
|
});
|
|
259
263
|
}
|
|
260
264
|
getGetK6ParamsMethod(ctx) {
|
|
261
|
-
return
|
|
262
|
-
doc:
|
|
265
|
+
return index_js_1.ts.method('getK6Params', {
|
|
266
|
+
doc: index_js_1.ts.doc({
|
|
263
267
|
tags: [
|
|
264
|
-
|
|
265
|
-
|
|
268
|
+
index_js_1.ts.docTag('private'),
|
|
269
|
+
index_js_1.ts.docTag('param', '[k6Params]', { type: index_js_1.ts.refs.k6.params({ importType: 'js-doc' }) }),
|
|
266
270
|
],
|
|
267
271
|
}),
|
|
268
|
-
parameters: [
|
|
272
|
+
parameters: [index_js_1.ts.parameter('k6Params')],
|
|
269
273
|
body: (0, core_1.builderTemplate) `return Object.assign({}, this._defaultK6ParamsFactory ? this._defaultK6ParamsFactory() : {}, k6Params);`,
|
|
270
274
|
});
|
|
271
275
|
}
|
|
@@ -298,13 +302,13 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_1.TypeScriptFile
|
|
|
298
302
|
}
|
|
299
303
|
getFilePath(ctx) {
|
|
300
304
|
var _a;
|
|
301
|
-
return (0,
|
|
305
|
+
return (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.clientDir, `${(0, core_1.toCasing)(ctx.service.name, (_a = ctx.config.clientFileNameCasing) !== null && _a !== void 0 ? _a : ctx.config.fileNameCasing)}.js`);
|
|
302
306
|
}
|
|
303
307
|
getResponseModelFilePath(ctx) {
|
|
304
308
|
var _a;
|
|
305
|
-
return (0,
|
|
309
|
+
return (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.responseModelsDir, `${(0, core_1.toCasing)(ctx.service.name, (_a = ctx.config.responseModelFileNameCasing) !== null && _a !== void 0 ? _a : ctx.config.fileNameCasing)}.ts`);
|
|
306
310
|
}
|
|
307
|
-
hasEndpointParams(
|
|
311
|
+
hasEndpointParams(_ctx, endpoint) {
|
|
308
312
|
return endpoint.parameters.length > 0 || endpoint.requestBody !== undefined;
|
|
309
313
|
}
|
|
310
314
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ApiService, type AppendValueGroup, Factory, type OpenApiGeneratorContext, OpenApiServicesGenerationProviderBase } from '@goast/core';
|
|
2
|
+
import { type TypeScriptK6ClientGenerator } from './k6-client-generator.js';
|
|
3
|
+
import { type TypeScriptK6ClientGeneratorOutput, type TypeScriptK6ClientsGeneratorConfig, type TypeScriptK6ClientsGeneratorContext, type TypeScriptK6ClientsGeneratorInput, type TypeScriptK6ClientsGeneratorOutput } from './models.js';
|
|
4
|
+
import { TypeScriptFileBuilder } from '../../../file-builder.js';
|
|
5
|
+
type Input = TypeScriptK6ClientsGeneratorInput;
|
|
6
|
+
type Output = TypeScriptK6ClientsGeneratorOutput;
|
|
7
|
+
type Config = TypeScriptK6ClientsGeneratorConfig;
|
|
8
|
+
type ServiceOutput = TypeScriptK6ClientGeneratorOutput;
|
|
9
|
+
type Context = TypeScriptK6ClientsGeneratorContext;
|
|
10
|
+
export declare class TypeScriptK6ClientsGenerator extends OpenApiServicesGenerationProviderBase<Input, Output, Config, ServiceOutput, Context> {
|
|
11
|
+
private readonly _clientGeneratorFactory;
|
|
12
|
+
constructor(clientGeneratorFactory?: Factory<TypeScriptK6ClientGenerator, []>);
|
|
13
|
+
protected initResult(): Output;
|
|
14
|
+
protected buildContext(context: OpenApiGeneratorContext<Input>, config?: Partial<Config> | undefined): Context;
|
|
15
|
+
onGenerate(ctx: Context): Output;
|
|
16
|
+
protected generateService(ctx: Context, service: ApiService): ServiceOutput;
|
|
17
|
+
protected addServiceResult(ctx: Context, service: ApiService, result: ServiceOutput): void;
|
|
18
|
+
protected generateUtilsFiles(ctx: Context): void;
|
|
19
|
+
protected getHttpStatusCodeFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder>;
|
|
20
|
+
protected generateIndexFiles(ctx: Context): Output['typescript']['indexFiles'];
|
|
21
|
+
protected getIndexFilePath(ctx: Context): string | null;
|
|
22
|
+
protected getResponseModelsIndexFilePath(ctx: Context): string | null;
|
|
23
|
+
protected getIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder>;
|
|
24
|
+
protected getResponseModelsIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder>;
|
|
25
|
+
private copyFile;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=k6-clients-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"k6-clients-generator.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generators/services/k6-clients/k6-clients-generator.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EAErB,OAAO,EACP,KAAK,uBAAuB,EAC5B,qCAAqC,EACtC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAsC,KAAK,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAChH,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACxC,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,KAAK,KAAK,GAAG,iCAAiC,CAAC;AAC/C,KAAK,MAAM,GAAG,kCAAkC,CAAC;AACjD,KAAK,MAAM,GAAG,kCAAkC,CAAC;AACjD,KAAK,aAAa,GAAG,iCAAiC,CAAC;AACvD,KAAK,OAAO,GAAG,mCAAmC,CAAC;AAEnD,qBAAa,4BAA6B,SAAQ,qCAAqC,CACrF,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,OAAO,CACR;IACC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2C;gBAEvE,sBAAsB,CAAC,EAAE,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;cAM1D,UAAU,IAAI,MAAM;cAYpB,YAAY,CAC7B,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,EACvC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GACnC,OAAO;IAOM,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;cAO7B,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,aAAa;cAQjE,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAInG,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAiBhD,SAAS,CAAC,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;IAY7F,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC;IAwB9E,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAIvD,SAAS,CAAC,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAMrE,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;IAMpF,SAAS,CAAC,iCAAiC,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;IAQlG,OAAO,CAAC,QAAQ;CAMjB"}
|
|
@@ -2,19 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypeScriptK6ClientsGenerator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
6
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
7
7
|
const core_1 = require("@goast/core");
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
8
|
+
const k6_client_generator_js_1 = require("./k6-client-generator.js");
|
|
9
|
+
const models_js_1 = require("./models.js");
|
|
10
|
+
const refs_js_1 = require("./refs.js");
|
|
11
|
+
const index_js_1 = require("../../../ast/index.js");
|
|
12
|
+
const file_builder_js_1 = require("../../../file-builder.js");
|
|
13
|
+
const assets_js_1 = require("../../../assets.js");
|
|
13
14
|
class TypeScriptK6ClientsGenerator extends core_1.OpenApiServicesGenerationProviderBase {
|
|
14
15
|
constructor(clientGeneratorFactory) {
|
|
15
16
|
super();
|
|
16
|
-
this
|
|
17
|
-
|
|
17
|
+
Object.defineProperty(this, "_clientGeneratorFactory", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true,
|
|
21
|
+
value: void 0
|
|
22
|
+
});
|
|
23
|
+
this._clientGeneratorFactory = clientGeneratorFactory !== null && clientGeneratorFactory !== void 0 ? clientGeneratorFactory : core_1.Factory.fromValue(new k6_client_generator_js_1.DefaultTypeScriptK6ClientGenerator());
|
|
18
24
|
}
|
|
19
25
|
initResult() {
|
|
20
26
|
return {
|
|
@@ -28,9 +34,9 @@ class TypeScriptK6ClientsGenerator extends core_1.OpenApiServicesGenerationProvi
|
|
|
28
34
|
};
|
|
29
35
|
}
|
|
30
36
|
buildContext(context, config) {
|
|
31
|
-
const providerContext = this.getProviderContext(context, config,
|
|
37
|
+
const providerContext = this.getProviderContext(context, config, models_js_1.defaultTypeScriptK6ClientsGeneratorConfig);
|
|
32
38
|
return Object.assign(providerContext, {
|
|
33
|
-
refs: (0,
|
|
39
|
+
refs: (0, refs_js_1.getReferenceFactories)(providerContext.config),
|
|
34
40
|
});
|
|
35
41
|
}
|
|
36
42
|
onGenerate(ctx) {
|
|
@@ -50,14 +56,14 @@ class TypeScriptK6ClientsGenerator extends core_1.OpenApiServicesGenerationProvi
|
|
|
50
56
|
ctx.output.typescript.k6Clients[service.id] = result;
|
|
51
57
|
}
|
|
52
58
|
generateUtilsFiles(ctx) {
|
|
53
|
-
const sourceDir = (0,
|
|
54
|
-
const targetDir = (0,
|
|
59
|
+
const sourceDir = (0, assets_js_1.getAssetPath)('client/k6');
|
|
60
|
+
const targetDir = (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.utilsDir);
|
|
55
61
|
fs_extra_1.default.ensureDirSync(targetDir);
|
|
56
62
|
this.copyFile('Request Builder', sourceDir, targetDir, 'request-builder.js');
|
|
57
63
|
if (!ctx.config.strictResponseTypes) {
|
|
58
|
-
|
|
64
|
+
file_builder_js_1.TypeScriptFileBuilder.generate({
|
|
59
65
|
logName: 'http status codes',
|
|
60
|
-
filePath: (0,
|
|
66
|
+
filePath: (0, node_path_1.resolve)(targetDir, 'http-status-code.ts'),
|
|
61
67
|
options: ctx.config,
|
|
62
68
|
generator: (b) => b.append(this.getHttpStatusCodeFileContent(ctx)),
|
|
63
69
|
});
|
|
@@ -65,8 +71,8 @@ class TypeScriptK6ClientsGenerator extends core_1.OpenApiServicesGenerationProvi
|
|
|
65
71
|
}
|
|
66
72
|
getHttpStatusCodeFileContent(ctx) {
|
|
67
73
|
return (0, core_1.appendValueGroup)([
|
|
68
|
-
|
|
69
|
-
doc:
|
|
74
|
+
index_js_1.ts.typeAlias('HttpStatusCode', index_js_1.ts.unionType(ctx.config.possibleStatusCodes), {
|
|
75
|
+
doc: index_js_1.ts.doc({ description: 'The possible status codes that any API endpoint can return.' }),
|
|
70
76
|
export: true,
|
|
71
77
|
}),
|
|
72
78
|
], '\n');
|
|
@@ -74,13 +80,13 @@ class TypeScriptK6ClientsGenerator extends core_1.OpenApiServicesGenerationProvi
|
|
|
74
80
|
generateIndexFiles(ctx) {
|
|
75
81
|
const clientsIndexFilePath = this.getIndexFilePath(ctx);
|
|
76
82
|
const responseModelsIndexFilePath = this.getResponseModelsIndexFilePath(ctx);
|
|
77
|
-
|
|
83
|
+
file_builder_js_1.TypeScriptFileBuilder.tryGenerate({
|
|
78
84
|
logName: 'clients index file',
|
|
79
85
|
filePath: clientsIndexFilePath,
|
|
80
86
|
options: ctx.config,
|
|
81
87
|
generator: (b) => b.append(this.getIndexFileContent(ctx)),
|
|
82
88
|
});
|
|
83
|
-
|
|
89
|
+
file_builder_js_1.TypeScriptFileBuilder.tryGenerate({
|
|
84
90
|
logName: 'response models index file',
|
|
85
91
|
filePath: responseModelsIndexFilePath,
|
|
86
92
|
options: ctx.config,
|
|
@@ -92,24 +98,24 @@ class TypeScriptK6ClientsGenerator extends core_1.OpenApiServicesGenerationProvi
|
|
|
92
98
|
};
|
|
93
99
|
}
|
|
94
100
|
getIndexFilePath(ctx) {
|
|
95
|
-
return ctx.config.clientsIndexFile ? (0,
|
|
101
|
+
return ctx.config.clientsIndexFile ? (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.clientsIndexFile) : null;
|
|
96
102
|
}
|
|
97
103
|
getResponseModelsIndexFilePath(ctx) {
|
|
98
104
|
return ctx.config.responseModelsIndexFile
|
|
99
|
-
? (0,
|
|
105
|
+
? (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.responseModelsIndexFile)
|
|
100
106
|
: null;
|
|
101
107
|
}
|
|
102
108
|
getIndexFileContent(ctx) {
|
|
103
|
-
return (0, core_1.appendValueGroup)(Object.values(ctx.output.typescript.k6Clients).map((x) =>
|
|
109
|
+
return (0, core_1.appendValueGroup)(Object.values(ctx.output.typescript.k6Clients).map((x) => index_js_1.ts.export(x.component, x.filePath)));
|
|
104
110
|
}
|
|
105
111
|
getResponseModelsIndexFileContent(ctx) {
|
|
106
112
|
return (0, core_1.appendValueGroup)(Object.values(ctx.output.typescript.k6Clients)
|
|
107
113
|
.flatMap((x) => Object.values(x.responseModels))
|
|
108
|
-
.map((x) =>
|
|
114
|
+
.map((x) => index_js_1.ts.export(x.component, x.filePath)));
|
|
109
115
|
}
|
|
110
116
|
copyFile(logName, sourceDir, targetDir, fileName) {
|
|
111
|
-
const source = (0,
|
|
112
|
-
const target = (0,
|
|
117
|
+
const source = (0, node_path_1.resolve)(sourceDir, fileName);
|
|
118
|
+
const target = (0, node_path_1.resolve)(targetDir, fileName);
|
|
113
119
|
console.log(`Generating ${logName} to ${target}...`);
|
|
114
120
|
fs_extra_1.default.copyFileSync(source, target);
|
|
115
121
|
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { ApiSchema, ApiService, DefaultGenerationProviderConfig, ExtendedStringCasing, Nullable, OpenApiServicesGenerationProviderContext } from '@goast/core';
|
|
2
|
+
import type { getReferenceFactories } from './refs.js';
|
|
3
|
+
import type { ts } from '../../../ast/index.js';
|
|
4
|
+
import type { TypeScriptExportOutput } from '../../../common-results.js';
|
|
5
|
+
import { type TypeScriptGeneratorConfig } from '../../../config.js';
|
|
6
|
+
import type { TypeScriptFileBuilder } from '../../../file-builder.js';
|
|
7
|
+
import type { TypeScriptModelsGeneratorOutput } from '../../models/index.js';
|
|
8
|
+
export type TypeScriptK6ClientsGeneratorConfig = TypeScriptGeneratorConfig & {
|
|
9
|
+
/**
|
|
10
|
+
* Whether to use strict response types for the services.
|
|
11
|
+
* If enabled only the status codes are included that are defined in the OpenAPI specification or the `defaultStatusCodeResponseTypes` option.
|
|
12
|
+
* @default true
|
|
13
|
+
*/
|
|
14
|
+
strictResponseTypes: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The default response types for status codes that are not defined in the OpenAPI specification.
|
|
17
|
+
* @example
|
|
18
|
+
* {
|
|
19
|
+
* 400: {
|
|
20
|
+
* parser: 'json',
|
|
21
|
+
* type: schemas =>
|
|
22
|
+
* schemas.find(s => s.name === 'BadRequestResponse')
|
|
23
|
+
* ?? throwExp('BadRequestResponse not found'),
|
|
24
|
+
* },
|
|
25
|
+
* 404: null,
|
|
26
|
+
* 500: {
|
|
27
|
+
* parser: 'json',
|
|
28
|
+
* type: ts.refs.any(),
|
|
29
|
+
* },
|
|
30
|
+
* }
|
|
31
|
+
* @default
|
|
32
|
+
* {
|
|
33
|
+
* 401: null,
|
|
34
|
+
* 403: null,
|
|
35
|
+
* 500: null,
|
|
36
|
+
* }
|
|
37
|
+
*/
|
|
38
|
+
defaultStatusCodeResponseTypes: Record<number, {
|
|
39
|
+
parser: 'text' | 'json';
|
|
40
|
+
type: Exclude<ts.Type<TypeScriptFileBuilder>, Function> | ((schemas: readonly ApiSchema[]) => ApiSchema);
|
|
41
|
+
} | null>;
|
|
42
|
+
/**
|
|
43
|
+
* The possible status codes that any API endpoint can return.
|
|
44
|
+
* This is only used when `strictResponseTypes` is set to `false`.
|
|
45
|
+
* @default
|
|
46
|
+
* [100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 421, 422, 423, 424, 425, 426, 428, 429, 431, 451, 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511]
|
|
47
|
+
*/
|
|
48
|
+
possibleStatusCodes: number[];
|
|
49
|
+
/**
|
|
50
|
+
* The casing of the client file names. If nullish, the `fileNameCasing` is used.
|
|
51
|
+
* @default { casing: 'kebab', suffix: '-client' }
|
|
52
|
+
*/
|
|
53
|
+
clientFileNameCasing: Nullable<ExtendedStringCasing>;
|
|
54
|
+
/**
|
|
55
|
+
* The casing of the file names for the response models. If nullish, the `fileNameCasing` is used.
|
|
56
|
+
* @default { casing: 'kebab', suffix: '-responses' }
|
|
57
|
+
*/
|
|
58
|
+
responseModelFileNameCasing: Nullable<ExtendedStringCasing>;
|
|
59
|
+
/**
|
|
60
|
+
* The casing of the client names. If nullish, the `typeNameCasing` is used.
|
|
61
|
+
* @default { casing: 'pascal', suffix: 'Client' }
|
|
62
|
+
*/
|
|
63
|
+
clientNameCasing: Nullable<ExtendedStringCasing>;
|
|
64
|
+
/**
|
|
65
|
+
* The directory where the client files should be saved. The path is relative to the output directory.
|
|
66
|
+
* @default 'clients'
|
|
67
|
+
*/
|
|
68
|
+
clientDir: string;
|
|
69
|
+
/**
|
|
70
|
+
* The directory where the response models should be saved. The path is relative to the output directory.
|
|
71
|
+
* @default 'models/responses'
|
|
72
|
+
*/
|
|
73
|
+
responseModelsDir: string;
|
|
74
|
+
/**
|
|
75
|
+
* The index file where all clients should be exported. The path is relative to the output directory. If nullish, no index file will be generated.
|
|
76
|
+
* @default 'clients.ts'
|
|
77
|
+
*/
|
|
78
|
+
clientsIndexFile: Nullable<string>;
|
|
79
|
+
/**
|
|
80
|
+
* The path to the index file where all response models should be exported. The path is relative to the output directory. If nullish, no index file will be generated.
|
|
81
|
+
* @default 'responses.ts'
|
|
82
|
+
*/
|
|
83
|
+
responseModelsIndexFile: Nullable<string>;
|
|
84
|
+
/**
|
|
85
|
+
* The directory where the utilies should be saved. The path is relative to the output directory.
|
|
86
|
+
* @default 'utils'
|
|
87
|
+
*/
|
|
88
|
+
utilsDir: string;
|
|
89
|
+
/**
|
|
90
|
+
* Whether to generate clients calling the async API of k6.
|
|
91
|
+
* @default true
|
|
92
|
+
*/
|
|
93
|
+
async: boolean;
|
|
94
|
+
};
|
|
95
|
+
export declare const defaultTypeScriptK6ClientsGeneratorConfig: DefaultGenerationProviderConfig<TypeScriptK6ClientsGeneratorConfig>;
|
|
96
|
+
export type TypeScriptK6ClientsGeneratorInput = TypeScriptModelsGeneratorOutput;
|
|
97
|
+
export type TypeScriptK6ClientsGeneratorOutput = {
|
|
98
|
+
typescript: {
|
|
99
|
+
k6Clients: {
|
|
100
|
+
[serviceId: string]: TypeScriptK6ClientGeneratorOutput;
|
|
101
|
+
};
|
|
102
|
+
indexFiles: {
|
|
103
|
+
k6Clients: Nullable<string>;
|
|
104
|
+
k6ResponseModels: Nullable<string>;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
export type TypeScriptK6ClientGeneratorOutput = TypeScriptExportOutput & {
|
|
109
|
+
responseModels: {
|
|
110
|
+
[operationId: string]: TypeScriptExportOutput;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
export type TypeScriptK6ClientsGeneratorContext = OpenApiServicesGenerationProviderContext<TypeScriptK6ClientsGeneratorInput, TypeScriptK6ClientsGeneratorOutput, TypeScriptK6ClientsGeneratorConfig, TypeScriptK6ClientGeneratorOutput> & {
|
|
114
|
+
refs: ReturnType<typeof getReferenceFactories>;
|
|
115
|
+
};
|
|
116
|
+
export type TypeScriptK6ClientGeneratorContext = TypeScriptK6ClientsGeneratorContext & {
|
|
117
|
+
readonly service: ApiService;
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generators/services/k6-clients/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,+BAA+B,EAC/B,oBAAoB,EACpB,QAAQ,EACR,wCAAwC,EACzC,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAoC,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,MAAM,kCAAkC,GAAG,yBAAyB,GAAG;IAC3E;;;;OAIG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,8BAA8B,EAAE,MAAM,CACpC,MAAM,EACN;QACE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAExB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,KAAK,SAAS,CAAC,CAAC;KAC1G,GAAG,IAAI,CACT,CAAC;IAEF;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;OAGG;IACH,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAErD;;;OAGG;IACH,2BAA2B,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE5D;;;OAGG;IACH,gBAAgB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAEjD;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEnC;;;OAGG;IACH,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1C;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,yCAAyC,EAAE,+BAA+B,CACrF,kCAAkC,CAqFnC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,+BAA+B,CAAC;AAEhF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,UAAU,EAAE;QACV,SAAS,EAAE;YACT,CAAC,SAAS,EAAE,MAAM,GAAG,iCAAiC,CAAC;SACxD,CAAC;QACF,UAAU,EAAE;YACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5B,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,sBAAsB,GAAG;IACvE,cAAc,EAAE;QACd,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,CAAC;KAC/C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAC3C,wCAAwC,CACxC,iCAAiC,EACjC,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,CAClC,GACC;IACA,IAAI,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAChD,CAAC;AAEJ,MAAM,MAAM,kCAAkC,GAAG,mCAAmC,GAAG;IACrF,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B,CAAC"}
|