@azure-tools/typespec-ts 0.54.0-dev.6 → 0.54.0-dev.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/contextManager.d.ts +5 -5
- package/dist/src/contextManager.d.ts.map +1 -1
- package/dist/src/contextManager.js.map +1 -1
- package/dist/src/framework/declaration.d.ts +1 -1
- package/dist/src/framework/declaration.d.ts.map +1 -1
- package/dist/src/framework/declaration.js +2 -4
- package/dist/src/framework/declaration.js.map +1 -1
- package/dist/src/framework/dependency.d.ts.map +1 -1
- package/dist/src/framework/hooks/binder.d.ts +1 -1
- package/dist/src/framework/hooks/binder.d.ts.map +1 -1
- package/dist/src/framework/hooks/binder.js +12 -20
- package/dist/src/framework/hooks/binder.js.map +1 -1
- package/dist/src/framework/hooks/sdkTypes.d.ts +1 -1
- package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
- package/dist/src/framework/hooks/sdkTypes.js +8 -11
- package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
- package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -1
- package/dist/src/framework/hooks/useDependencies.js +1 -1
- package/dist/src/framework/hooks/useDependencies.js.map +1 -1
- package/dist/src/framework/load-static-helpers.d.ts +1 -1
- package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
- package/dist/src/framework/load-static-helpers.js +12 -25
- package/dist/src/framework/load-static-helpers.js.map +1 -1
- package/dist/src/framework/reference.d.ts.map +1 -1
- package/dist/src/framework/reference.js +1 -1
- package/dist/src/framework/reference.js.map +1 -1
- package/dist/src/framework/sample.js +8 -8
- package/dist/src/framework/sample.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +47 -48
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +1 -1
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +140 -140
- package/dist/src/lib.js.map +1 -1
- package/dist/src/metaTree.d.ts +1 -1
- package/dist/src/metaTree.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalClient.d.ts +1 -1
- package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalClient.js +49 -62
- package/dist/src/modular/buildClassicalClient.js.map +1 -1
- package/dist/src/modular/buildClassicalOperationGroups.d.ts +2 -2
- package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalOperationGroups.js +4 -7
- package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
- package/dist/src/modular/buildClientContext.d.ts +2 -2
- package/dist/src/modular/buildClientContext.d.ts.map +1 -1
- package/dist/src/modular/buildClientContext.js +30 -36
- package/dist/src/modular/buildClientContext.js.map +1 -1
- package/dist/src/modular/buildModularOptions.d.ts +1 -1
- package/dist/src/modular/buildModularOptions.d.ts.map +1 -1
- package/dist/src/modular/buildModularOptions.js +2 -2
- package/dist/src/modular/buildModularOptions.js.map +1 -1
- package/dist/src/modular/buildOperations.d.ts +3 -3
- package/dist/src/modular/buildOperations.d.ts.map +1 -1
- package/dist/src/modular/buildOperations.js +22 -23
- package/dist/src/modular/buildOperations.js.map +1 -1
- package/dist/src/modular/buildProjectFiles.d.ts +1 -1
- package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
- package/dist/src/modular/buildProjectFiles.js +7 -9
- package/dist/src/modular/buildProjectFiles.js.map +1 -1
- package/dist/src/modular/buildRestorePoller.d.ts +1 -1
- package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
- package/dist/src/modular/buildRestorePoller.js +11 -11
- package/dist/src/modular/buildRestorePoller.js.map +1 -1
- package/dist/src/modular/buildRootIndex.d.ts +2 -2
- package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
- package/dist/src/modular/buildRootIndex.js +30 -39
- package/dist/src/modular/buildRootIndex.js.map +1 -1
- package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
- package/dist/src/modular/buildSubpathIndex.js +9 -17
- package/dist/src/modular/buildSubpathIndex.js.map +1 -1
- package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
- package/dist/src/modular/emitLoggerFile.js +2 -2
- package/dist/src/modular/emitLoggerFile.js.map +1 -1
- package/dist/src/modular/emitModels.d.ts +1 -1
- package/dist/src/modular/emitModels.d.ts.map +1 -1
- package/dist/src/modular/emitModels.js +54 -72
- package/dist/src/modular/emitModels.js.map +1 -1
- package/dist/src/modular/emitModelsOptions.d.ts +1 -1
- package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
- package/dist/src/modular/emitModelsOptions.js +6 -7
- package/dist/src/modular/emitModelsOptions.js.map +1 -1
- package/dist/src/modular/emitSamples.d.ts.map +1 -1
- package/dist/src/modular/emitSamples.js +40 -52
- package/dist/src/modular/emitSamples.js.map +1 -1
- package/dist/src/modular/emitTests.d.ts.map +1 -1
- package/dist/src/modular/emitTests.js +9 -12
- package/dist/src/modular/emitTests.js.map +1 -1
- package/dist/src/modular/external-dependencies.js +54 -54
- package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +1 -1
- package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/classicalOperationHelpers.js +27 -36
- package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.d.ts +2 -2
- package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.js +20 -38
- package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
- package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/clientOptionHelpers.js.map +1 -1
- package/dist/src/modular/helpers/exampleValueHelpers.d.ts +2 -2
- package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/exampleValueHelpers.js +39 -58
- package/dist/src/modular/helpers/exampleValueHelpers.js.map +1 -1
- package/dist/src/modular/helpers/namingHelpers.d.ts +1 -1
- package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/namingHelpers.js +4 -5
- package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.js +136 -196
- package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.d.ts +1 -1
- package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.js +1 -1
- package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
- package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +1 -1
- package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
- package/dist/src/modular/serialization/buildDeserializerFunction.js +50 -56
- package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
- package/dist/src/modular/serialization/buildSerializerFunction.d.ts +1 -1
- package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
- package/dist/src/modular/serialization/buildSerializerFunction.js +52 -59
- package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
- package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +1 -1
- package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -1
- package/dist/src/modular/serialization/buildXmlSerializerFunction.js +43 -51
- package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -1
- package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
- package/dist/src/modular/serialization/serializeUtils.js +4 -11
- package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
- package/dist/src/modular/static-helpers-metadata.js +60 -60
- package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
- package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
- package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
- package/dist/src/modular/type-expressions/get-enum-expression.js +1 -1
- package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
- package/dist/src/modular/type-expressions/get-model-expression.js +7 -9
- package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
- package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
- package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
- package/dist/src/modular/type-expressions/get-type-expression.js +4 -8
- package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
- package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
- package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
- package/dist/src/rlc-common/buildClient.d.ts +1 -1
- package/dist/src/rlc-common/buildClient.d.ts.map +1 -1
- package/dist/src/rlc-common/buildClient.js +48 -66
- package/dist/src/rlc-common/buildClient.js.map +1 -1
- package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +1 -1
- package/dist/src/rlc-common/buildClientDefinitions.js +24 -42
- package/dist/src/rlc-common/buildClientDefinitions.js.map +1 -1
- package/dist/src/rlc-common/buildIndexFile.d.ts.map +1 -1
- package/dist/src/rlc-common/buildIndexFile.js +57 -57
- package/dist/src/rlc-common/buildIndexFile.js.map +1 -1
- package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +1 -1
- package/dist/src/rlc-common/buildIsUnexpectedHelper.js +32 -35
- package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +1 -1
- package/dist/src/rlc-common/buildLogger.d.ts.map +1 -1
- package/dist/src/rlc-common/buildLogger.js +3 -3
- package/dist/src/rlc-common/buildLogger.js.map +1 -1
- package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +1 -1
- package/dist/src/rlc-common/buildMethodShortcuts.js +3 -3
- package/dist/src/rlc-common/buildMethodShortcuts.js.map +1 -1
- package/dist/src/rlc-common/buildObjectTypes.d.ts.map +1 -1
- package/dist/src/rlc-common/buildObjectTypes.js +29 -46
- package/dist/src/rlc-common/buildObjectTypes.js.map +1 -1
- package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +1 -1
- package/dist/src/rlc-common/buildPaginateHelper.js +2 -2
- package/dist/src/rlc-common/buildPaginateHelper.js.map +1 -1
- package/dist/src/rlc-common/buildParameterTypes.d.ts.map +1 -1
- package/dist/src/rlc-common/buildParameterTypes.js +42 -50
- package/dist/src/rlc-common/buildParameterTypes.js.map +1 -1
- package/dist/src/rlc-common/buildPollingHelper.d.ts.map +1 -1
- package/dist/src/rlc-common/buildPollingHelper.js +5 -5
- package/dist/src/rlc-common/buildPollingHelper.js.map +1 -1
- package/dist/src/rlc-common/buildResponseTypes.d.ts.map +1 -1
- package/dist/src/rlc-common/buildResponseTypes.js +19 -22
- package/dist/src/rlc-common/buildResponseTypes.js.map +1 -1
- package/dist/src/rlc-common/buildSamples.d.ts +1 -1
- package/dist/src/rlc-common/buildSamples.d.ts.map +1 -1
- package/dist/src/rlc-common/buildSamples.js +2 -2
- package/dist/src/rlc-common/buildSchemaType.d.ts.map +1 -1
- package/dist/src/rlc-common/buildSchemaType.js +9 -13
- package/dist/src/rlc-common/buildSchemaType.js.map +1 -1
- package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +1 -1
- package/dist/src/rlc-common/buildSerializeHelper.js +4 -4
- package/dist/src/rlc-common/buildSerializeHelper.js.map +1 -1
- package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +1 -1
- package/dist/src/rlc-common/buildTopLevelIndexFile.js +9 -13
- package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +1 -1
- package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/apiVersionUtil.js +2 -3
- package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +1 -1
- package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/importsUtil.js +23 -25
- package/dist/src/rlc-common/helpers/importsUtil.js.map +1 -1
- package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/nameConstructors.js.map +1 -1
- package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/nameUtils.js +8 -13
- package/dist/src/rlc-common/helpers/nameUtils.js.map +1 -1
- package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/operationHelpers.js +8 -12
- package/dist/src/rlc-common/helpers/operationHelpers.js.map +1 -1
- package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/pathUtils.js +1 -3
- package/dist/src/rlc-common/helpers/pathUtils.js.map +1 -1
- package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/schemaHelpers.js +1 -1
- package/dist/src/rlc-common/helpers/schemaHelpers.js.map +1 -1
- package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +1 -1
- package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/shortcutMethods.js +2 -2
- package/dist/src/rlc-common/helpers/shortcutMethods.js.map +1 -1
- package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +1 -1
- package/dist/src/rlc-common/helpers/typeUtil.js +1 -2
- package/dist/src/rlc-common/helpers/typeUtil.js.map +1 -1
- package/dist/src/rlc-common/helpers/valueGenerationUtil.js +3 -4
- package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +1 -1
- package/dist/src/rlc-common/index.d.ts +28 -28
- package/dist/src/rlc-common/index.d.ts.map +1 -1
- package/dist/src/rlc-common/index.js +28 -28
- package/dist/src/rlc-common/index.js.map +1 -1
- package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
- package/dist/src/rlc-common/interfaces.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +13 -13
- package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildChangelogFile.js +1 -1
- package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildESLintConfig.js +3 -5
- package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildLicenseFile.js +1 -1
- package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildPackageFile.js +16 -16
- package/dist/src/rlc-common/metadata/buildPackageFile.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildReadmeFile.js +10 -18
- package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildRollupConfig.js +3 -4
- package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +2 -3
- package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildTestConfig.js +8 -8
- package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildTsConfig.js +23 -21
- package/dist/src/rlc-common/metadata/buildTsConfig.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildVitestConfig.js +3 -4
- package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +1 -1
- package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/buildWarpConfig.js +2 -2
- package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +1 -1
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +13 -13
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +22 -26
- package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +15 -16
- package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +8 -8
- package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +1 -1
- package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +26 -29
- package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +1 -1
- package/dist/src/rlc-common/test/buildKarmaConfig.js +1 -1
- package/dist/src/rlc-common/test/buildRecordedClient.js +3 -3
- package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +1 -1
- package/dist/src/rlc-common/test/buildSampleTest.js +2 -2
- package/dist/src/rlc-common/test/buildSampleTest.js.map +1 -1
- package/dist/src/rlc-common/test/buildSnippets.d.ts.map +1 -1
- package/dist/src/rlc-common/test/buildSnippets.js +4 -6
- package/dist/src/rlc-common/test/buildSnippets.js.map +1 -1
- package/dist/src/rlc-common/transformSampleGroups.d.ts.map +1 -1
- package/dist/src/rlc-common/transformSampleGroups.js +19 -23
- package/dist/src/rlc-common/transformSampleGroups.js.map +1 -1
- package/dist/src/testing/index.d.ts.map +1 -1
- package/dist/src/testing/index.js +1 -1
- package/dist/src/testing/index.js.map +1 -1
- package/dist/src/transform/transform.d.ts +1 -1
- package/dist/src/transform/transform.d.ts.map +1 -1
- package/dist/src/transform/transform.js +10 -11
- package/dist/src/transform/transform.js.map +1 -1
- package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
- package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
- package/dist/src/transform/transformApiVersionInfo.js +8 -10
- package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.js +9 -11
- package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
- package/dist/src/transform/transformParameters.d.ts +2 -2
- package/dist/src/transform/transformParameters.d.ts.map +1 -1
- package/dist/src/transform/transformParameters.js +22 -28
- package/dist/src/transform/transformParameters.js.map +1 -1
- package/dist/src/transform/transformPaths.d.ts +1 -1
- package/dist/src/transform/transformPaths.d.ts.map +1 -1
- package/dist/src/transform/transformPaths.js +11 -12
- package/dist/src/transform/transformPaths.js.map +1 -1
- package/dist/src/transform/transformResponses.d.ts +1 -1
- package/dist/src/transform/transformResponses.d.ts.map +1 -1
- package/dist/src/transform/transformResponses.js +12 -12
- package/dist/src/transform/transformResponses.js.map +1 -1
- package/dist/src/transform/transformSchemas.d.ts.map +1 -1
- package/dist/src/transform/transformSchemas.js +9 -15
- package/dist/src/transform/transformSchemas.js.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.d.ts +1 -1
- package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.js +3 -3
- package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
- package/dist/src/transform/transfromRLCOptions.d.ts +1 -1
- package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
- package/dist/src/transform/transfromRLCOptions.js +14 -26
- package/dist/src/transform/transfromRLCOptions.js.map +1 -1
- package/dist/src/utils/clientUtils.d.ts +1 -1
- package/dist/src/utils/clientUtils.d.ts.map +1 -1
- package/dist/src/utils/clientUtils.js +11 -14
- package/dist/src/utils/clientUtils.js.map +1 -1
- package/dist/src/utils/credentialUtils.d.ts +1 -1
- package/dist/src/utils/credentialUtils.d.ts.map +1 -1
- package/dist/src/utils/credentialUtils.js +3 -3
- package/dist/src/utils/credentialUtils.js.map +1 -1
- package/dist/src/utils/crossLanguageDef.d.ts.map +1 -1
- package/dist/src/utils/crossLanguageDef.js +8 -12
- package/dist/src/utils/crossLanguageDef.js.map +1 -1
- package/dist/src/utils/emitUtil.d.ts +1 -1
- package/dist/src/utils/emitUtil.d.ts.map +1 -1
- package/dist/src/utils/emitUtil.js +4 -6
- package/dist/src/utils/emitUtil.js.map +1 -1
- package/dist/src/utils/fileSystemUtils.d.ts.map +1 -1
- package/dist/src/utils/fileSystemUtils.js +2 -2
- package/dist/src/utils/fileSystemUtils.js.map +1 -1
- package/dist/src/utils/importHelper.d.ts.map +1 -1
- package/dist/src/utils/importHelper.js +2 -4
- package/dist/src/utils/importHelper.js.map +1 -1
- package/dist/src/utils/interfaces.d.ts +1 -1
- package/dist/src/utils/interfaces.d.ts.map +1 -1
- package/dist/src/utils/mediaTypes.d.ts.map +1 -1
- package/dist/src/utils/mediaTypes.js +7 -19
- package/dist/src/utils/mediaTypes.js.map +1 -1
- package/dist/src/utils/modelUtils.d.ts +2 -2
- package/dist/src/utils/modelUtils.d.ts.map +1 -1
- package/dist/src/utils/modelUtils.js +107 -170
- package/dist/src/utils/modelUtils.js.map +1 -1
- package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
- package/dist/src/utils/namespaceUtils.js +2 -2
- package/dist/src/utils/namespaceUtils.js.map +1 -1
- package/dist/src/utils/operationUtil.d.ts +1 -1
- package/dist/src/utils/operationUtil.d.ts.map +1 -1
- package/dist/src/utils/operationUtil.js +29 -42
- package/dist/src/utils/operationUtil.js.map +1 -1
- package/dist/src/utils/parameterUtils.d.ts +1 -1
- package/dist/src/utils/parameterUtils.d.ts.map +1 -1
- package/dist/src/utils/parameterUtils.js +19 -22
- package/dist/src/utils/parameterUtils.js.map +1 -1
- package/dist/src/utils/resolve-project-root.js +2 -2
- package/dist/src/utils/resolve-project-root.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -3
- package/src/contextManager.ts +6 -9
- package/src/framework/declaration.ts +18 -28
- package/src/framework/dependency.ts +1 -2
- package/src/framework/hooks/binder.ts +47 -120
- package/src/framework/hooks/sdkTypes.ts +27 -54
- package/src/framework/hooks/useDependencies.ts +2 -4
- package/src/framework/load-static-helpers.ts +28 -51
- package/src/framework/reference.ts +2 -5
- package/src/framework/sample.ts +9 -9
- package/src/index.ts +111 -180
- package/src/lib.ts +143 -158
- package/src/metaTree.ts +1 -1
- package/src/modular/buildClassicalClient.ts +83 -160
- package/src/modular/buildClassicalOperationGroups.ts +14 -39
- package/src/modular/buildClientContext.ts +54 -83
- package/src/modular/buildModularOptions.ts +4 -5
- package/src/modular/buildOperations.ts +46 -73
- package/src/modular/buildProjectFiles.ts +18 -47
- package/src/modular/buildRestorePoller.ts +27 -46
- package/src/modular/buildRootIndex.ts +86 -159
- package/src/modular/buildSubpathIndex.ts +35 -58
- package/src/modular/emitLoggerFile.ts +4 -9
- package/src/modular/emitModels.ts +136 -266
- package/src/modular/emitModelsOptions.ts +10 -16
- package/src/modular/emitSamples.ts +91 -177
- package/src/modular/emitTests.ts +28 -61
- package/src/modular/external-dependencies.ts +54 -54
- package/src/modular/helpers/classicalOperationHelpers.ts +73 -126
- package/src/modular/helpers/clientHelpers.ts +41 -88
- package/src/modular/helpers/clientOptionHelpers.ts +4 -11
- package/src/modular/helpers/exampleValueHelpers.ts +97 -209
- package/src/modular/helpers/namingHelpers.ts +12 -28
- package/src/modular/helpers/operationHelpers.ts +430 -757
- package/src/modular/helpers/typeHelpers.ts +11 -22
- package/src/modular/serialization/buildDeserializerFunction.ts +88 -122
- package/src/modular/serialization/buildSerializerFunction.ts +91 -129
- package/src/modular/serialization/buildXmlSerializerFunction.ts +104 -183
- package/src/modular/serialization/serializeUtils.ts +12 -21
- package/src/modular/static/rollup.test.config.js +11 -14
- package/src/modular/static/scripts/renameOutput.mjs +2 -2
- package/src/modular/static-helpers-metadata.ts +60 -60
- package/src/modular/type-expressions/get-credential-expression.ts +1 -1
- package/src/modular/type-expressions/get-enum-expression.ts +5 -10
- package/src/modular/type-expressions/get-model-expression.ts +13 -17
- package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
- package/src/modular/type-expressions/get-type-expression.ts +8 -12
- package/src/modular/type-expressions/get-union-expression.ts +4 -4
- package/src/modular/type-expressions/utils.ts +1 -1
- package/src/rlc-common/buildClient.ts +70 -141
- package/src/rlc-common/buildClientDefinitions.ts +43 -87
- package/src/rlc-common/buildIndexFile.ts +78 -78
- package/src/rlc-common/buildIsUnexpectedHelper.ts +34 -41
- package/src/rlc-common/buildLogger.ts +7 -7
- package/src/rlc-common/buildMethodShortcuts.ts +9 -21
- package/src/rlc-common/buildObjectTypes.ts +78 -155
- package/src/rlc-common/buildPaginateHelper.ts +9 -12
- package/src/rlc-common/buildParameterTypes.ts +92 -137
- package/src/rlc-common/buildPollingHelper.ts +7 -7
- package/src/rlc-common/buildResponseTypes.ts +34 -57
- package/src/rlc-common/buildSamples.ts +3 -3
- package/src/rlc-common/buildSchemaType.ts +12 -29
- package/src/rlc-common/buildSerializeHelper.ts +5 -5
- package/src/rlc-common/buildTopLevelIndexFile.ts +12 -19
- package/src/rlc-common/helpers/apiVersionUtil.ts +5 -10
- package/src/rlc-common/helpers/importsUtil.ts +27 -30
- package/src/rlc-common/helpers/nameConstructors.ts +16 -50
- package/src/rlc-common/helpers/nameUtils.ts +19 -42
- package/src/rlc-common/helpers/operationHelpers.ts +14 -31
- package/src/rlc-common/helpers/pathUtils.ts +2 -7
- package/src/rlc-common/helpers/schemaHelpers.ts +4 -15
- package/src/rlc-common/helpers/shortcutMethods.ts +6 -15
- package/src/rlc-common/helpers/typeUtil.ts +4 -11
- package/src/rlc-common/helpers/valueGenerationUtil.ts +16 -39
- package/src/rlc-common/index.ts +28 -28
- package/src/rlc-common/interfaces.ts +3 -11
- package/src/rlc-common/metadata/buildApiExtractorConfig.ts +17 -24
- package/src/rlc-common/metadata/buildChangelogFile.ts +1 -1
- package/src/rlc-common/metadata/buildESLintConfig.ts +3 -5
- package/src/rlc-common/metadata/buildLicenseFile.ts +1 -1
- package/src/rlc-common/metadata/buildPackageFile.ts +27 -35
- package/src/rlc-common/metadata/buildReadmeFile.ts +16 -29
- package/src/rlc-common/metadata/buildRollupConfig.ts +5 -8
- package/src/rlc-common/metadata/buildSampleEnvFile.ts +2 -3
- package/src/rlc-common/metadata/buildTestConfig.ts +10 -10
- package/src/rlc-common/metadata/buildTsConfig.ts +32 -35
- package/src/rlc-common/metadata/buildVitestConfig.ts +4 -10
- package/src/rlc-common/metadata/buildWarpConfig.ts +3 -6
- package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +16 -25
- package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +29 -50
- package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +20 -31
- package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +11 -13
- package/src/rlc-common/metadata/packageJson/packageCommon.ts +32 -52
- package/src/rlc-common/test/buildKarmaConfig.ts +1 -1
- package/src/rlc-common/test/buildRecordedClient.ts +3 -3
- package/src/rlc-common/test/buildSampleTest.ts +3 -3
- package/src/rlc-common/test/buildSnippets.ts +6 -12
- package/src/rlc-common/transformSampleGroups.ts +54 -105
- package/src/testing/index.ts +2 -5
- package/src/transform/transform.ts +22 -34
- package/src/transform/transformApiVersionInfo.ts +17 -30
- package/src/transform/transformHelperFunctionDetails.ts +14 -26
- package/src/transform/transformParameters.ts +55 -105
- package/src/transform/transformPaths.ts +26 -43
- package/src/transform/transformResponses.ts +26 -33
- package/src/transform/transformSchemas.ts +15 -33
- package/src/transform/transformTelemetryInfo.ts +8 -14
- package/src/transform/transfromRLCOptions.ts +53 -115
- package/src/utils/clientUtils.ts +22 -41
- package/src/utils/credentialUtils.ts +8 -19
- package/src/utils/crossLanguageDef.ts +15 -34
- package/src/utils/emitUtil.ts +11 -17
- package/src/utils/fileSystemUtils.ts +4 -6
- package/src/utils/importHelper.ts +5 -10
- package/src/utils/interfaces.ts +1 -1
- package/src/utils/mediaTypes.ts +13 -34
- package/src/utils/modelUtils.ts +174 -383
- package/src/utils/namespaceUtils.ts +8 -24
- package/src/utils/operationUtil.ts +98 -190
- package/src/utils/parameterUtils.ts +31 -54
- package/src/utils/resolve-project-root.ts +3 -3
- package/static/static-helpers/cloudSettingHelpers.ts +4 -6
- package/static/static-helpers/multipartHelpers.ts +3 -3
- package/static/static-helpers/pagingHelpers.ts +28 -63
- package/static/static-helpers/pollingHelpers.ts +15 -28
- package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
- package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
- package/static/static-helpers/serialization/get-binary-response.ts +2 -2
- package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
- package/static/static-helpers/serialization/serialize-record.ts +1 -1
- package/static/static-helpers/serialization/serializers.ts +4 -7
- package/static/static-helpers/serialization/xml-helpers.ts +41 -89
- package/static/static-helpers/simplePollerHelpers.ts +9 -18
- package/static/static-helpers/storageCompatResponse.ts +10 -27
- package/static/static-helpers/urlTemplate.ts +4 -7
- package/static/test-helpers/recordedClient.ts +5 -10
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Operation, Type, getNamespaceFullName } from "@typespec/compiler";
|
|
2
1
|
import {
|
|
3
2
|
SdkClientType,
|
|
4
3
|
SdkHttpOperation,
|
|
@@ -6,23 +5,23 @@ import {
|
|
|
6
5
|
SdkModelType,
|
|
7
6
|
SdkServiceMethod,
|
|
8
7
|
SdkType,
|
|
9
|
-
getClientType
|
|
8
|
+
getClientType,
|
|
10
9
|
} from "@azure-tools/typespec-client-generator-core";
|
|
10
|
+
import { Operation, Type, getNamespaceFullName } from "@typespec/compiler";
|
|
11
11
|
import { provideContext, useContext } from "../../contextManager.js";
|
|
12
12
|
|
|
13
|
+
import { reportDiagnostic } from "../../lib.js";
|
|
13
14
|
import { visitPackageTypes } from "../../modular/emitModels.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
getAllAncestors,
|
|
17
|
-
getAllProperties
|
|
18
|
-
} from "../../modular/helpers/operationHelpers.js";
|
|
15
|
+
import { getAllAncestors, getAllProperties } from "../../modular/helpers/operationHelpers.js";
|
|
19
16
|
import { normalizeModelPropertyName } from "../../modular/type-expressions/get-type-expression.js";
|
|
20
|
-
import { reportDiagnostic } from "../../lib.js";
|
|
21
17
|
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
18
|
+
import { SdkContext } from "../../utils/interfaces.js";
|
|
22
19
|
|
|
23
20
|
export const emitQueue: Set<SdkType> = new Set<SdkType>();
|
|
24
|
-
export const flattenPropertyModelMap: Map<SdkModelPropertyType, SdkModelType> =
|
|
25
|
-
|
|
21
|
+
export const flattenPropertyModelMap: Map<SdkModelPropertyType, SdkModelType> = new Map<
|
|
22
|
+
SdkModelPropertyType,
|
|
23
|
+
SdkModelType
|
|
24
|
+
>();
|
|
26
25
|
/**
|
|
27
26
|
* Set of paged result models that are also used in non-paging operations.
|
|
28
27
|
* Precomputed during visitPackageTypes for O(1) lookups in normalizeModelName.
|
|
@@ -46,16 +45,13 @@ export function useSdkTypes() {
|
|
|
46
45
|
|
|
47
46
|
function getSdkType(type: Operation): SdkServiceMethod<SdkHttpOperation>;
|
|
48
47
|
function getSdkType(type: Type): SdkType;
|
|
49
|
-
function getSdkType(
|
|
50
|
-
type: Type | Operation
|
|
51
|
-
): SdkType | SdkServiceMethod<SdkHttpOperation> {
|
|
48
|
+
function getSdkType(type: Type | Operation): SdkType | SdkServiceMethod<SdkHttpOperation> {
|
|
52
49
|
let sdkType: SdkType | SdkServiceMethod<SdkHttpOperation> | undefined;
|
|
53
50
|
|
|
54
51
|
if (type.kind === "Operation") {
|
|
55
52
|
sdkType = sdkTypesContext.operations.get(type);
|
|
56
53
|
} else {
|
|
57
|
-
sdkType =
|
|
58
|
-
sdkTypesContext.types.get(type) ?? getClientType(tcgcContext, type);
|
|
54
|
+
sdkType = sdkTypesContext.types.get(type) ?? getClientType(tcgcContext, type);
|
|
59
55
|
}
|
|
60
56
|
|
|
61
57
|
if (!sdkType) {
|
|
@@ -63,10 +59,8 @@ export function useSdkTypes() {
|
|
|
63
59
|
`SdkType not found for type: ${type.kind} ${
|
|
64
60
|
"name" in type && typeof type.name == "string" ? type.name : ""
|
|
65
61
|
} ${
|
|
66
|
-
"namespace" in type && type.namespace
|
|
67
|
-
|
|
68
|
-
: ""
|
|
69
|
-
}`
|
|
62
|
+
"namespace" in type && type.namespace ? ` in ${getNamespaceFullName(type.namespace)}` : ""
|
|
63
|
+
}`,
|
|
70
64
|
);
|
|
71
65
|
}
|
|
72
66
|
|
|
@@ -81,17 +75,10 @@ export function provideSdkTypes(context: SdkContext) {
|
|
|
81
75
|
const sdkTypesContext: SdkTypeContext = {
|
|
82
76
|
operations: new Map<Type, SdkServiceMethod<SdkHttpOperation>>(),
|
|
83
77
|
types: new Map<Type, SdkType>(),
|
|
84
|
-
flattenProperties: new Map<
|
|
85
|
-
SdkModelPropertyType,
|
|
86
|
-
SdkFlattenPropertyContext
|
|
87
|
-
>()
|
|
78
|
+
flattenProperties: new Map<SdkModelPropertyType, SdkFlattenPropertyContext>(),
|
|
88
79
|
};
|
|
89
80
|
visitPackageTypes(context);
|
|
90
|
-
enrichFlattenProperties(
|
|
91
|
-
context,
|
|
92
|
-
sdkTypesContext.flattenProperties,
|
|
93
|
-
flattenPropertyModelMap
|
|
94
|
-
);
|
|
81
|
+
enrichFlattenProperties(context, sdkTypesContext.flattenProperties, flattenPropertyModelMap);
|
|
95
82
|
for (const sdkModel of emitQueue) {
|
|
96
83
|
switch (sdkModel.kind) {
|
|
97
84
|
case "model":
|
|
@@ -117,16 +104,10 @@ export function provideSdkTypes(context: SdkContext) {
|
|
|
117
104
|
});
|
|
118
105
|
break;
|
|
119
106
|
case "array":
|
|
120
|
-
sdkTypesContext.types.set(
|
|
121
|
-
sdkModel.valueType.__raw!,
|
|
122
|
-
sdkModel.valueType
|
|
123
|
-
);
|
|
107
|
+
sdkTypesContext.types.set(sdkModel.valueType.__raw!, sdkModel.valueType);
|
|
124
108
|
break;
|
|
125
109
|
case "dict":
|
|
126
|
-
sdkTypesContext.types.set(
|
|
127
|
-
sdkModel.valueType.__raw!,
|
|
128
|
-
sdkModel.valueType
|
|
129
|
-
);
|
|
110
|
+
sdkTypesContext.types.set(sdkModel.valueType.__raw!, sdkModel.valueType);
|
|
130
111
|
break;
|
|
131
112
|
case "nullable":
|
|
132
113
|
sdkTypesContext.types.set(sdkModel.__raw!, sdkModel);
|
|
@@ -161,7 +142,7 @@ export function provideSdkTypes(context: SdkContext) {
|
|
|
161
142
|
function enrichFlattenProperties(
|
|
162
143
|
context: SdkContext,
|
|
163
144
|
propertyContextMap: Map<SdkModelPropertyType, SdkFlattenPropertyContext>,
|
|
164
|
-
propertyModelMap: Map<SdkModelPropertyType, SdkModelType
|
|
145
|
+
propertyModelMap: Map<SdkModelPropertyType, SdkModelType>,
|
|
165
146
|
) {
|
|
166
147
|
// Build a map of base model to its existing properties excluding flatten properties
|
|
167
148
|
// To check for conflicts later
|
|
@@ -171,19 +152,16 @@ function enrichFlattenProperties(
|
|
|
171
152
|
const propertiesExcludedFlatten = getAllProperties(
|
|
172
153
|
context,
|
|
173
154
|
baseModel,
|
|
174
|
-
getAllAncestors(baseModel)
|
|
155
|
+
getAllAncestors(baseModel),
|
|
175
156
|
)
|
|
176
157
|
.filter((p) => !(p.flatten && p.type.kind === "model"))
|
|
177
158
|
.map((p) => normalizeModelPropertyName(context, p));
|
|
178
|
-
baseModelProperties.set(
|
|
179
|
-
baseModel,
|
|
180
|
-
new Set<string>(propertiesExcludedFlatten)
|
|
181
|
-
);
|
|
159
|
+
baseModelProperties.set(baseModel, new Set<string>(propertiesExcludedFlatten));
|
|
182
160
|
}
|
|
183
161
|
});
|
|
184
162
|
for (const [flattenProperty, baseModel] of propertyModelMap) {
|
|
185
163
|
const flattenContext: SdkFlattenPropertyContext = {
|
|
186
|
-
baseModel: baseModel
|
|
164
|
+
baseModel: baseModel,
|
|
187
165
|
};
|
|
188
166
|
propertyContextMap.set(flattenProperty, flattenContext);
|
|
189
167
|
const existingProperties = baseModelProperties.get(baseModel)!;
|
|
@@ -197,25 +175,22 @@ function enrichFlattenProperties(
|
|
|
197
175
|
code: "unsupported-flatten-transition",
|
|
198
176
|
format: {
|
|
199
177
|
propertyName: flattenProperty.name,
|
|
200
|
-
modelName: baseModel.name
|
|
178
|
+
modelName: baseModel.name,
|
|
201
179
|
},
|
|
202
|
-
target: flattenProperty.__raw
|
|
180
|
+
target: flattenProperty.__raw!,
|
|
203
181
|
});
|
|
204
182
|
}
|
|
205
183
|
const allFlattenProperties = getAllProperties(
|
|
206
184
|
context,
|
|
207
185
|
flattenModel,
|
|
208
|
-
getAllAncestors(flattenModel)
|
|
186
|
+
getAllAncestors(flattenModel),
|
|
209
187
|
);
|
|
210
188
|
for (const flattenChildProperty of allFlattenProperties) {
|
|
211
|
-
let childPropertyName = normalizeModelPropertyName(
|
|
212
|
-
context,
|
|
213
|
-
flattenChildProperty
|
|
214
|
-
);
|
|
189
|
+
let childPropertyName = normalizeModelPropertyName(context, flattenChildProperty);
|
|
215
190
|
if (existingProperties.has(childPropertyName)) {
|
|
216
191
|
childPropertyName = normalizeName(
|
|
217
192
|
`${childPropertyName}_${flattenProperty.name}_${childPropertyName}`,
|
|
218
|
-
NameType.Property
|
|
193
|
+
NameType.Property,
|
|
219
194
|
);
|
|
220
195
|
conflictMap.set(flattenChildProperty, childPropertyName);
|
|
221
196
|
}
|
|
@@ -228,9 +203,7 @@ function enrichFlattenProperties(
|
|
|
228
203
|
}
|
|
229
204
|
}
|
|
230
205
|
|
|
231
|
-
export function getAllOperationsFromClient(
|
|
232
|
-
client: SdkClientType<SdkHttpOperation>
|
|
233
|
-
) {
|
|
206
|
+
export function getAllOperationsFromClient(client: SdkClientType<SdkHttpOperation>) {
|
|
234
207
|
const clientQueue = [client];
|
|
235
208
|
const operations: SdkServiceMethod<SdkHttpOperation>[] = [];
|
|
236
209
|
while (clientQueue.length > 0) {
|
|
@@ -2,12 +2,10 @@ import { provideContext, useContext } from "../../contextManager.js";
|
|
|
2
2
|
import { DefaultCoreDependencies } from "../../modular/external-dependencies.js";
|
|
3
3
|
import { ExternalDependencies } from "../dependency.js";
|
|
4
4
|
|
|
5
|
-
export function provideDependencies(
|
|
6
|
-
customDependencies: Partial<ExternalDependencies> = {}
|
|
7
|
-
) {
|
|
5
|
+
export function provideDependencies(customDependencies: Partial<ExternalDependencies> = {}) {
|
|
8
6
|
const dependencies = {
|
|
9
7
|
...DefaultCoreDependencies,
|
|
10
|
-
...customDependencies
|
|
8
|
+
...customDependencies,
|
|
11
9
|
} as ExternalDependencies;
|
|
12
10
|
|
|
13
11
|
provideContext("dependencies", dependencies);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NoTarget, Program } from "@typespec/compiler";
|
|
2
|
+
import { readdir, readFile, stat } from "fs/promises";
|
|
2
3
|
import * as path from "path";
|
|
3
4
|
import {
|
|
4
5
|
ClassDeclaration,
|
|
@@ -7,14 +8,13 @@ import {
|
|
|
7
8
|
InterfaceDeclaration,
|
|
8
9
|
Project,
|
|
9
10
|
SourceFile,
|
|
10
|
-
TypeAliasDeclaration
|
|
11
|
+
TypeAliasDeclaration,
|
|
11
12
|
} from "ts-morph";
|
|
12
|
-
import { refkey } from "./refkey.js";
|
|
13
|
-
import { resolveProjectRoot } from "../utils/resolve-project-root.js";
|
|
14
|
-
import { isAzurePackage } from "../rlc-common/index.js";
|
|
15
|
-
import { ModularEmitterOptions } from "../modular/interfaces.js";
|
|
16
|
-
import { NoTarget, Program } from "@typespec/compiler";
|
|
17
13
|
import { reportDiagnostic } from "../lib.js";
|
|
14
|
+
import { ModularEmitterOptions } from "../modular/interfaces.js";
|
|
15
|
+
import { isAzurePackage } from "../rlc-common/index.js";
|
|
16
|
+
import { resolveProjectRoot } from "../utils/resolve-project-root.js";
|
|
17
|
+
import { refkey } from "./refkey.js";
|
|
18
18
|
export const SourceFileSymbol = Symbol("SourceFile");
|
|
19
19
|
export interface StaticHelperMetadata {
|
|
20
20
|
name: string;
|
|
@@ -23,15 +23,9 @@ export interface StaticHelperMetadata {
|
|
|
23
23
|
[SourceFileSymbol]?: SourceFile;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export function isStaticHelperMetadata(
|
|
27
|
-
metadata: any
|
|
28
|
-
): metadata is StaticHelperMetadata {
|
|
26
|
+
export function isStaticHelperMetadata(metadata: any): metadata is StaticHelperMetadata {
|
|
29
27
|
return Boolean(
|
|
30
|
-
metadata &&
|
|
31
|
-
metadata.name &&
|
|
32
|
-
metadata.kind &&
|
|
33
|
-
metadata.location &&
|
|
34
|
-
metadata[SourceFileSymbol]
|
|
28
|
+
metadata && metadata.name && metadata.kind && metadata.location && metadata[SourceFileSymbol],
|
|
35
29
|
);
|
|
36
30
|
}
|
|
37
31
|
|
|
@@ -57,35 +51,34 @@ interface FileMetadata {
|
|
|
57
51
|
export async function loadStaticHelpers(
|
|
58
52
|
project: Project,
|
|
59
53
|
helpers: StaticHelpers,
|
|
60
|
-
options: LoadStaticHelpersOptions = {}
|
|
54
|
+
options: LoadStaticHelpersOptions = {},
|
|
61
55
|
): Promise<Map<string, StaticHelperMetadata>> {
|
|
62
56
|
const helpersMap = new Map<string, StaticHelperMetadata>();
|
|
63
57
|
// Load static helpers used in sources code
|
|
64
58
|
const defaultStaticHelpersPath = path.join(
|
|
65
59
|
resolveProjectRoot(),
|
|
66
|
-
DEFAULT_SOURCES_STATIC_HELPERS_PATH
|
|
60
|
+
DEFAULT_SOURCES_STATIC_HELPERS_PATH,
|
|
67
61
|
);
|
|
68
62
|
const filesInSources = await traverseDirectory(
|
|
69
63
|
options.helpersAssetDirectory ?? defaultStaticHelpersPath,
|
|
70
|
-
options.program
|
|
64
|
+
options.program,
|
|
71
65
|
);
|
|
72
66
|
await loadFiles(filesInSources, options.sourcesDir ?? "");
|
|
73
67
|
// Load static helpers used in testing code (only when loadTestHelpers is enabled)
|
|
74
68
|
if (
|
|
75
69
|
options.loadTestHelpers ??
|
|
76
|
-
(options.options?.generateTest &&
|
|
77
|
-
isAzurePackage({ options: options.options }))
|
|
70
|
+
(options.options?.generateTest && isAzurePackage({ options: options.options }))
|
|
78
71
|
) {
|
|
79
72
|
const defaultTestingHelpersPath = path.join(
|
|
80
73
|
resolveProjectRoot(),
|
|
81
|
-
DEFAULT_SOURCES_TESTING_HELPERS_PATH
|
|
74
|
+
DEFAULT_SOURCES_TESTING_HELPERS_PATH,
|
|
82
75
|
);
|
|
83
76
|
const filesInTestings = await traverseDirectory(
|
|
84
77
|
defaultTestingHelpersPath,
|
|
85
78
|
options.program,
|
|
86
79
|
[],
|
|
87
80
|
"",
|
|
88
|
-
"test/generated/util"
|
|
81
|
+
"test/generated/util",
|
|
89
82
|
);
|
|
90
83
|
await loadFiles(filesInTestings, options.rootDir ?? "");
|
|
91
84
|
}
|
|
@@ -96,24 +89,14 @@ export async function loadStaticHelpers(
|
|
|
96
89
|
const targetPath = path.join(generateDir, file.target);
|
|
97
90
|
const contents = await readFile(file.source, "utf-8");
|
|
98
91
|
const addedFile = project.createSourceFile(targetPath, contents, {
|
|
99
|
-
overwrite: true
|
|
92
|
+
overwrite: true,
|
|
100
93
|
});
|
|
101
94
|
addedFile.getImportDeclarations().map((i) => {
|
|
102
95
|
if (!isAzurePackage({ options: options.options })) {
|
|
103
|
-
if (
|
|
104
|
-
i
|
|
105
|
-
.getModuleSpecifier()
|
|
106
|
-
.getFullText()
|
|
107
|
-
.includes("@azure/core-rest-pipeline")
|
|
108
|
-
) {
|
|
96
|
+
if (i.getModuleSpecifier().getFullText().includes("@azure/core-rest-pipeline")) {
|
|
109
97
|
i.setModuleSpecifier("@typespec/ts-http-runtime");
|
|
110
98
|
}
|
|
111
|
-
if (
|
|
112
|
-
i
|
|
113
|
-
.getModuleSpecifier()
|
|
114
|
-
.getFullText()
|
|
115
|
-
.includes("@azure-rest/core-client")
|
|
116
|
-
) {
|
|
99
|
+
if (i.getModuleSpecifier().getFullText().includes("@azure-rest/core-client")) {
|
|
117
100
|
i.setModuleSpecifier("@typespec/ts-http-runtime");
|
|
118
101
|
}
|
|
119
102
|
}
|
|
@@ -144,7 +127,7 @@ export async function loadStaticHelpers(
|
|
|
144
127
|
throw new Error(
|
|
145
128
|
`Declaration ${
|
|
146
129
|
entry.name
|
|
147
|
-
} not found in file ${addedFile.getFilePath()}\n This is an Emitter bug, make sure that the map of static helpers passed to loadStaticHelpers matches what is in the file
|
|
130
|
+
} not found in file ${addedFile.getFilePath()}\n This is an Emitter bug, make sure that the map of static helpers passed to loadStaticHelpers matches what is in the file.`,
|
|
148
131
|
);
|
|
149
132
|
}
|
|
150
133
|
|
|
@@ -155,9 +138,7 @@ export async function loadStaticHelpers(
|
|
|
155
138
|
}
|
|
156
139
|
}
|
|
157
140
|
|
|
158
|
-
function assertAllHelpersLoadedPresent(
|
|
159
|
-
helpers: Map<string, StaticHelperMetadata>
|
|
160
|
-
) {
|
|
141
|
+
function assertAllHelpersLoadedPresent(helpers: Map<string, StaticHelperMetadata>) {
|
|
161
142
|
const missingHelpers = [];
|
|
162
143
|
for (const helper of helpers.values()) {
|
|
163
144
|
if (!helper[SourceFileSymbol]) {
|
|
@@ -171,7 +152,7 @@ function assertAllHelpersLoadedPresent(
|
|
|
171
152
|
.join("\n");
|
|
172
153
|
|
|
173
154
|
throw new Error(
|
|
174
|
-
`The following helpers were not found in the project, make sure they are defined in the expected static helper file: ${missingHelpersString}
|
|
155
|
+
`The following helpers were not found in the project, make sure they are defined in the expected static helper file: ${missingHelpersString}`,
|
|
175
156
|
);
|
|
176
157
|
}
|
|
177
158
|
|
|
@@ -180,7 +161,7 @@ function assertAllHelpersLoadedPresent(
|
|
|
180
161
|
|
|
181
162
|
function getDeclarationByMetadata(
|
|
182
163
|
file: SourceFile,
|
|
183
|
-
declaration: StaticHelperMetadata
|
|
164
|
+
declaration: StaticHelperMetadata,
|
|
184
165
|
):
|
|
185
166
|
| ClassDeclaration
|
|
186
167
|
| FunctionDeclaration
|
|
@@ -201,7 +182,7 @@ function getDeclarationByMetadata(
|
|
|
201
182
|
return file.getEnum(declaration.name);
|
|
202
183
|
default:
|
|
203
184
|
throw new Error(
|
|
204
|
-
`invalid helper kind ${declaration.kind}\nAll helpers provided to loadStaticHelpers are of kind: function, interface, typeAlias, class
|
|
185
|
+
`invalid helper kind ${declaration.kind}\nAll helpers provided to loadStaticHelpers are of kind: function, interface, typeAlias, class`,
|
|
205
186
|
);
|
|
206
187
|
}
|
|
207
188
|
}
|
|
@@ -212,7 +193,7 @@ async function traverseDirectory(
|
|
|
212
193
|
program?: Program,
|
|
213
194
|
result: { source: string; target: string }[] = [],
|
|
214
195
|
relativePath: string = "",
|
|
215
|
-
targetBaseDir: string = _targetStaticHelpersBaseDir
|
|
196
|
+
targetBaseDir: string = _targetStaticHelpersBaseDir,
|
|
216
197
|
): Promise<{ source: string; target: string }[]> {
|
|
217
198
|
try {
|
|
218
199
|
const files = await readdir(directory);
|
|
@@ -228,17 +209,13 @@ async function traverseDirectory(
|
|
|
228
209
|
program,
|
|
229
210
|
result,
|
|
230
211
|
path.join(relativePath, file),
|
|
231
|
-
targetBaseDir
|
|
212
|
+
targetBaseDir,
|
|
232
213
|
);
|
|
233
|
-
} else if (
|
|
234
|
-
fileStat.isFile() &&
|
|
235
|
-
!file.endsWith(".d.ts") &&
|
|
236
|
-
/.*\..?ts$/.test(file)
|
|
237
|
-
) {
|
|
214
|
+
} else if (fileStat.isFile() && !file.endsWith(".d.ts") && /.*\..?ts$/.test(file)) {
|
|
238
215
|
const target = path.join(targetBaseDir, relativePath, file);
|
|
239
216
|
result.push({ source: filePath, target });
|
|
240
217
|
}
|
|
241
|
-
})
|
|
218
|
+
}),
|
|
242
219
|
);
|
|
243
220
|
|
|
244
221
|
return result;
|
|
@@ -247,7 +224,7 @@ async function traverseDirectory(
|
|
|
247
224
|
reportDiagnostic(program, {
|
|
248
225
|
code: "directory-traversal-error",
|
|
249
226
|
format: { directory, error: String(error) },
|
|
250
|
-
target: NoTarget
|
|
227
|
+
target: NoTarget,
|
|
251
228
|
});
|
|
252
229
|
}
|
|
253
230
|
throw error;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import { ReferenceableSymbol } from "./dependency.js";
|
|
1
2
|
import { useBinder } from "./hooks/binder.js";
|
|
3
|
+
import { SourceFileSymbol, StaticHelperMetadata } from "./load-static-helpers.js";
|
|
2
4
|
import { refkey as getRefkey } from "./refkey.js";
|
|
3
|
-
import { ReferenceableSymbol } from "./dependency.js";
|
|
4
|
-
import {
|
|
5
|
-
SourceFileSymbol,
|
|
6
|
-
StaticHelperMetadata
|
|
7
|
-
} from "./load-static-helpers.js";
|
|
8
5
|
|
|
9
6
|
export function resolveReference(refkey: unknown): string {
|
|
10
7
|
const binder = useBinder();
|
package/src/framework/sample.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
+
FunctionDeclarationStructure,
|
|
3
|
+
InterfaceDeclarationStructure,
|
|
2
4
|
Project,
|
|
3
5
|
StructureKind,
|
|
4
|
-
InterfaceDeclarationStructure,
|
|
5
|
-
FunctionDeclarationStructure
|
|
6
6
|
} from "ts-morph";
|
|
7
|
-
import { useBinder } from "./hooks/binder.js";
|
|
8
7
|
import { addDeclaration } from "./declaration.js";
|
|
8
|
+
import { useBinder } from "./hooks/binder.js";
|
|
9
9
|
import { resolveReference } from "./reference.js";
|
|
10
10
|
|
|
11
11
|
// Create a new ts-morph project
|
|
@@ -21,14 +21,14 @@ const binder = useBinder();
|
|
|
21
21
|
// At this framework level, we're just using a simple object, there is no coupling with the actual type system, but this is flexible so any object can be used.
|
|
22
22
|
const modelType = {
|
|
23
23
|
name: "MyInterface",
|
|
24
|
-
properties: [{ name: "id", type: "number" }]
|
|
24
|
+
properties: [{ name: "id", type: "number" }],
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
// Define a function model
|
|
28
28
|
const functionType = {
|
|
29
29
|
name: "MyFunction",
|
|
30
30
|
returnType: "void",
|
|
31
|
-
body: `console.log("Hello World")
|
|
31
|
+
body: `console.log("Hello World");`,
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
// Create an interface declaration structure. This illustrates a similar pattern to the one used in the emitter. Transorming a model into a structure for ts-morph.
|
|
@@ -37,8 +37,8 @@ const interfaceDeclaration: InterfaceDeclarationStructure = {
|
|
|
37
37
|
name: modelType.name,
|
|
38
38
|
properties: modelType.properties.map((p) => ({
|
|
39
39
|
name: p.name,
|
|
40
|
-
type: p.type
|
|
41
|
-
}))
|
|
40
|
+
type: p.type,
|
|
41
|
+
})),
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
// Create a function declaration structure
|
|
@@ -46,7 +46,7 @@ const functionDeclaration: FunctionDeclarationStructure = {
|
|
|
46
46
|
kind: StructureKind.Function,
|
|
47
47
|
name: functionType.name,
|
|
48
48
|
returnType: functionType.returnType,
|
|
49
|
-
statements: functionType.body
|
|
49
|
+
statements: functionType.body,
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
// Helper functions to add the declarations to the source file. These are needed to be able to leverage the binder to track the declarations.
|
|
@@ -56,7 +56,7 @@ addDeclaration(sourceFile, functionDeclaration, functionType);
|
|
|
56
56
|
|
|
57
57
|
// Create another source file
|
|
58
58
|
const sourceFile2 = project.createSourceFile("test2.ts", "", {
|
|
59
|
-
overwrite: true
|
|
59
|
+
overwrite: true,
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
// Add statements referencing the tracked declarations
|