@osdk/generator 1.14.0-beta.4 → 2.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/build/browser/index.js +386 -1670
- package/build/browser/index.js.map +1 -1
- package/build/cjs/generateClientSdkPackage.d.cts +6 -26
- package/build/cjs/generateClientSdkPackage.d.ts.map +1 -1
- package/build/cjs/index.cjs +385 -1670
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +0 -1
- package/build/cjs/index.d.ts.map +1 -1
- package/build/cjs/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +1 -1
- package/build/cjs/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +1 -1
- package/build/esm/generateClientSdkPackage.d.ts +6 -26
- package/build/esm/generateClientSdkPackage.d.ts.map +1 -1
- package/build/esm/index.d.ts +0 -1
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js +386 -1670
- package/build/esm/index.js.map +1 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +1 -1
- package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +1 -1
- package/package.json +4 -4
- package/build/cjs/v1.1/backcompat/generateOAuthDistDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/generateOAuthDistDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/generateOntologyRuntimeDistDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/generateOntologyRuntimeDistDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-oauth-dist/generateConfidentialClientDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-oauth-dist/generateConfidentialClientDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-oauth-dist/generatePublicClientDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-oauth-dist/generatePublicClientDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-oauth-dist/generateUserTokenDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-oauth-dist/generateUserTokenDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateAggregationsAggregations.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateAggregationsAggregations.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateGroupBy.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateGroupBy.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateMetrics.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateMetrics.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateAttachmentsDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateAttachmentsDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateGeoshapesDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateGeoshapesDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateObjectSetDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateObjectSetDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateSharedObjectCode.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateSharedObjectCode.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateTimeSeriesDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateTimeSeriesDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateBaseTypesDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateBaseTypesDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateClientDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateClientDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateCommonDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateCommonDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateFiltersDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateFiltersDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generatePagingDir.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generatePagingDir.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateErrors.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateErrors.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateOntologyMetadata.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateOntologyMetadata.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateResult.d.cts +0 -3
- package/build/cjs/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateResult.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/util/reexportConsts.d.cts +0 -2
- package/build/cjs/v1.1/backcompat/util/reexportConsts.d.ts.map +0 -1
- package/build/cjs/v1.1/backcompat/util/reexportTypes.d.cts +0 -2
- package/build/cjs/v1.1/backcompat/util/reexportTypes.d.ts.map +0 -1
- package/build/cjs/v1.1/generateActions.d.cts +0 -6
- package/build/cjs/v1.1/generateActions.d.ts.map +0 -1
- package/build/cjs/v1.1/generateActions.test.d.cts +0 -2
- package/build/cjs/v1.1/generateActions.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateBackCompatDeprecatedExports.d.cts +0 -3
- package/build/cjs/v1.1/generateBackCompatDeprecatedExports.d.ts.map +0 -1
- package/build/cjs/v1.1/generateBatchActions.d.cts +0 -4
- package/build/cjs/v1.1/generateBatchActions.d.ts.map +0 -1
- package/build/cjs/v1.1/generateBatchActions.test.d.cts +0 -2
- package/build/cjs/v1.1/generateBatchActions.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateBulkActions.d.cts +0 -4
- package/build/cjs/v1.1/generateBulkActions.d.ts.map +0 -1
- package/build/cjs/v1.1/generateBulkActions.test.d.cts +0 -2
- package/build/cjs/v1.1/generateBulkActions.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateClientSdkVersionOneDotOne.d.cts +0 -4
- package/build/cjs/v1.1/generateClientSdkVersionOneDotOne.d.ts.map +0 -1
- package/build/cjs/v1.1/generateClientSdkVersionOneDotOne.test.d.cts +0 -2
- package/build/cjs/v1.1/generateClientSdkVersionOneDotOne.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateFoundryClientFile.d.cts +0 -3
- package/build/cjs/v1.1/generateFoundryClientFile.d.ts.map +0 -1
- package/build/cjs/v1.1/generateFoundryClientFile.test.d.cts +0 -2
- package/build/cjs/v1.1/generateFoundryClientFile.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateIndexFile.d.cts +0 -3
- package/build/cjs/v1.1/generateIndexFile.d.ts.map +0 -1
- package/build/cjs/v1.1/generateMetadataFile.d.cts +0 -4
- package/build/cjs/v1.1/generateMetadataFile.d.ts.map +0 -1
- package/build/cjs/v1.1/generateMetadataFile.test.d.cts +0 -2
- package/build/cjs/v1.1/generateMetadataFile.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateObjectsInterfaceFile.d.cts +0 -4
- package/build/cjs/v1.1/generateObjectsInterfaceFile.d.ts.map +0 -1
- package/build/cjs/v1.1/generateObjectsInterfaceFile.test.d.cts +0 -2
- package/build/cjs/v1.1/generateObjectsInterfaceFile.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateObjectsInterfaceSupportFiles.d.cts +0 -4
- package/build/cjs/v1.1/generateObjectsInterfaceSupportFiles.d.ts.map +0 -1
- package/build/cjs/v1.1/generateObjectsInterfaceSupportFiles.test.d.cts +0 -2
- package/build/cjs/v1.1/generateObjectsInterfaceSupportFiles.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateOntologyIndexFile.d.cts +0 -3
- package/build/cjs/v1.1/generateOntologyIndexFile.d.ts.map +0 -1
- package/build/cjs/v1.1/generatePerActionDataFilesV1.d.cts +0 -3
- package/build/cjs/v1.1/generatePerActionDataFilesV1.d.ts.map +0 -1
- package/build/cjs/v1.1/generatePerActionDataFilesV1.test.d.cts +0 -2
- package/build/cjs/v1.1/generatePerActionDataFilesV1.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generatePerObjectInterfaceAndDataFiles.d.cts +0 -4
- package/build/cjs/v1.1/generatePerObjectInterfaceAndDataFiles.d.ts.map +0 -1
- package/build/cjs/v1.1/generatePerObjectInterfaceAndDataFiles.test.d.cts +0 -2
- package/build/cjs/v1.1/generatePerObjectInterfaceAndDataFiles.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generatePerQueryDataFiles.d.cts +0 -4
- package/build/cjs/v1.1/generatePerQueryDataFiles.d.ts.map +0 -1
- package/build/cjs/v1.1/generatePerQueryDataFiles.test.d.cts +0 -2
- package/build/cjs/v1.1/generatePerQueryDataFiles.test.d.ts.map +0 -1
- package/build/cjs/v1.1/generateQueries.d.cts +0 -4
- package/build/cjs/v1.1/generateQueries.d.ts.map +0 -1
- package/build/cjs/v1.1/generateQueries.test.d.cts +0 -2
- package/build/cjs/v1.1/generateQueries.test.d.ts.map +0 -1
- package/build/cjs/v1.1/wireObjectTypeV2ToSdkObjectConstV1.d.cts +0 -2
- package/build/cjs/v1.1/wireObjectTypeV2ToSdkObjectConstV1.d.ts.map +0 -1
- package/build/cjs/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.test.d.cts +0 -2
- package/build/cjs/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.test.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/generateOAuthDistDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/generateOAuthDistDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/generateOntologyRuntimeDistDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/generateOntologyRuntimeDistDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-oauth-dist/generateConfidentialClientDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-oauth-dist/generateConfidentialClientDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-oauth-dist/generatePublicClientDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-oauth-dist/generatePublicClientDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-oauth-dist/generateUserTokenDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-oauth-dist/generateUserTokenDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateAggregationsAggregations.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateAggregationsAggregations.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateGroupBy.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateGroupBy.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateMetrics.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateMetrics.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateAttachmentsDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateAttachmentsDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateGeoshapesDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateGeoshapesDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateObjectSetDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateObjectSetDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateSharedObjectCode.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateSharedObjectCode.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateTimeSeriesDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateTimeSeriesDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateBaseTypesDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateBaseTypesDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateClientDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateClientDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateCommonDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateCommonDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateFiltersDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateFiltersDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generatePagingDir.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generatePagingDir.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateErrors.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateErrors.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateOntologyMetadata.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateOntologyMetadata.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateResult.d.ts +0 -3
- package/build/esm/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateResult.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/util/reexportConsts.d.ts +0 -2
- package/build/esm/v1.1/backcompat/util/reexportConsts.d.ts.map +0 -1
- package/build/esm/v1.1/backcompat/util/reexportTypes.d.ts +0 -2
- package/build/esm/v1.1/backcompat/util/reexportTypes.d.ts.map +0 -1
- package/build/esm/v1.1/generateActions.d.ts +0 -6
- package/build/esm/v1.1/generateActions.d.ts.map +0 -1
- package/build/esm/v1.1/generateActions.test.d.ts +0 -2
- package/build/esm/v1.1/generateActions.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateBackCompatDeprecatedExports.d.ts +0 -3
- package/build/esm/v1.1/generateBackCompatDeprecatedExports.d.ts.map +0 -1
- package/build/esm/v1.1/generateBatchActions.d.ts +0 -4
- package/build/esm/v1.1/generateBatchActions.d.ts.map +0 -1
- package/build/esm/v1.1/generateBatchActions.test.d.ts +0 -2
- package/build/esm/v1.1/generateBatchActions.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateBulkActions.d.ts +0 -4
- package/build/esm/v1.1/generateBulkActions.d.ts.map +0 -1
- package/build/esm/v1.1/generateBulkActions.test.d.ts +0 -2
- package/build/esm/v1.1/generateBulkActions.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateClientSdkVersionOneDotOne.d.ts +0 -4
- package/build/esm/v1.1/generateClientSdkVersionOneDotOne.d.ts.map +0 -1
- package/build/esm/v1.1/generateClientSdkVersionOneDotOne.test.d.ts +0 -2
- package/build/esm/v1.1/generateClientSdkVersionOneDotOne.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateFoundryClientFile.d.ts +0 -3
- package/build/esm/v1.1/generateFoundryClientFile.d.ts.map +0 -1
- package/build/esm/v1.1/generateFoundryClientFile.test.d.ts +0 -2
- package/build/esm/v1.1/generateFoundryClientFile.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateIndexFile.d.ts +0 -3
- package/build/esm/v1.1/generateIndexFile.d.ts.map +0 -1
- package/build/esm/v1.1/generateMetadataFile.d.ts +0 -4
- package/build/esm/v1.1/generateMetadataFile.d.ts.map +0 -1
- package/build/esm/v1.1/generateMetadataFile.test.d.ts +0 -2
- package/build/esm/v1.1/generateMetadataFile.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateObjectsInterfaceFile.d.ts +0 -4
- package/build/esm/v1.1/generateObjectsInterfaceFile.d.ts.map +0 -1
- package/build/esm/v1.1/generateObjectsInterfaceFile.test.d.ts +0 -2
- package/build/esm/v1.1/generateObjectsInterfaceFile.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateObjectsInterfaceSupportFiles.d.ts +0 -4
- package/build/esm/v1.1/generateObjectsInterfaceSupportFiles.d.ts.map +0 -1
- package/build/esm/v1.1/generateObjectsInterfaceSupportFiles.test.d.ts +0 -2
- package/build/esm/v1.1/generateObjectsInterfaceSupportFiles.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateOntologyIndexFile.d.ts +0 -3
- package/build/esm/v1.1/generateOntologyIndexFile.d.ts.map +0 -1
- package/build/esm/v1.1/generatePerActionDataFilesV1.d.ts +0 -3
- package/build/esm/v1.1/generatePerActionDataFilesV1.d.ts.map +0 -1
- package/build/esm/v1.1/generatePerActionDataFilesV1.test.d.ts +0 -2
- package/build/esm/v1.1/generatePerActionDataFilesV1.test.d.ts.map +0 -1
- package/build/esm/v1.1/generatePerObjectInterfaceAndDataFiles.d.ts +0 -4
- package/build/esm/v1.1/generatePerObjectInterfaceAndDataFiles.d.ts.map +0 -1
- package/build/esm/v1.1/generatePerObjectInterfaceAndDataFiles.test.d.ts +0 -2
- package/build/esm/v1.1/generatePerObjectInterfaceAndDataFiles.test.d.ts.map +0 -1
- package/build/esm/v1.1/generatePerQueryDataFiles.d.ts +0 -4
- package/build/esm/v1.1/generatePerQueryDataFiles.d.ts.map +0 -1
- package/build/esm/v1.1/generatePerQueryDataFiles.test.d.ts +0 -2
- package/build/esm/v1.1/generatePerQueryDataFiles.test.d.ts.map +0 -1
- package/build/esm/v1.1/generateQueries.d.ts +0 -4
- package/build/esm/v1.1/generateQueries.d.ts.map +0 -1
- package/build/esm/v1.1/generateQueries.test.d.ts +0 -2
- package/build/esm/v1.1/generateQueries.test.d.ts.map +0 -1
- package/build/esm/v1.1/wireObjectTypeV2ToSdkObjectConstV1.d.ts +0 -2
- package/build/esm/v1.1/wireObjectTypeV2ToSdkObjectConstV1.d.ts.map +0 -1
- package/build/esm/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.test.d.ts +0 -2
- package/build/esm/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.test.d.ts.map +0 -1
package/build/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as path5 from 'path';
|
|
3
|
+
import path5__default from 'path';
|
|
4
4
|
import { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition, wireObjectTypeFullMetadataToSdkObjectTypeDefinition } from '@osdk/generator-converters';
|
|
5
5
|
import { format } from 'prettier';
|
|
6
6
|
import organizeImports from 'prettier-plugin-organize-imports';
|
|
@@ -29,7 +29,7 @@ var AbstractImportable = class {
|
|
|
29
29
|
}
|
|
30
30
|
getImportPathRelTo = (filePath) => {
|
|
31
31
|
if (this.importPath.startsWith(".")) {
|
|
32
|
-
const result =
|
|
32
|
+
const result = path5.relative(path5.dirname(filePath), this.importPath);
|
|
33
33
|
if (result.startsWith(".")) {
|
|
34
34
|
return result;
|
|
35
35
|
} else {
|
|
@@ -239,6 +239,22 @@ function sanitizeMetadata(ontology) {
|
|
|
239
239
|
function camelize(name) {
|
|
240
240
|
return name.replace(/-./g, (segment) => segment[1].toUpperCase());
|
|
241
241
|
}
|
|
242
|
+
function formatTs(contents) {
|
|
243
|
+
try {
|
|
244
|
+
return format(contents, {
|
|
245
|
+
parser: "typescript",
|
|
246
|
+
singleQuote: true,
|
|
247
|
+
trailingComma: "all",
|
|
248
|
+
plugins: [organizeImports],
|
|
249
|
+
tabWidth: 2,
|
|
250
|
+
printWidth: 120
|
|
251
|
+
});
|
|
252
|
+
} catch (e) {
|
|
253
|
+
console.error("Failed to format file", e);
|
|
254
|
+
console.log(contents);
|
|
255
|
+
return contents;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
242
258
|
|
|
243
259
|
// src/util/verifyOutDir.ts
|
|
244
260
|
async function verifyOutDir(outDir, fs2) {
|
|
@@ -253,6 +269,28 @@ async function verifyOutDir(outDir, fs2) {
|
|
|
253
269
|
}
|
|
254
270
|
}
|
|
255
271
|
}
|
|
272
|
+
var ExpectedOsdkVersion = "2.0.0";
|
|
273
|
+
async function generateOntologyMetadataFile({
|
|
274
|
+
fs: fs2,
|
|
275
|
+
outDir,
|
|
276
|
+
ontology,
|
|
277
|
+
ontologyApiNamespace
|
|
278
|
+
}, userAgent) {
|
|
279
|
+
fs2.writeFile(path5__default.join(outDir, "OntologyMetadata.ts"), await formatTs(`
|
|
280
|
+
export type $ExpectedClientVersion = "${ExpectedOsdkVersion}";
|
|
281
|
+
export const $osdkMetadata = { extraUserAgent: "${userAgent}" };
|
|
282
|
+
${ontologyApiNamespace == null ? `
|
|
283
|
+
export const $ontologyRid = "${ontology.ontology.rid}";
|
|
284
|
+
` : ""}
|
|
285
|
+
`));
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// src/shared/getObjectImports.ts
|
|
289
|
+
function getObjectImports(objects, curApiName, currentFilePath, v2) {
|
|
290
|
+
return Array.from(objects).filter((obj) => obj.fullApiName !== curApiName).map((obj) => {
|
|
291
|
+
return `import type { ${obj.getDefinitionIdentifier(v2)} as ${obj.getImportedDefinitionIdentifier(v2)} } from "${obj.getImportPathRelTo("./" + currentFilePath)}";`;
|
|
292
|
+
}).join("\n");
|
|
293
|
+
}
|
|
256
294
|
|
|
257
295
|
// src/shared/getEditedEntities.ts
|
|
258
296
|
function getModifiedEntityTypes(action) {
|
|
@@ -273,1558 +311,114 @@ function getModifiedEntityTypes(action) {
|
|
|
273
311
|
modifiedObjects
|
|
274
312
|
};
|
|
275
313
|
}
|
|
276
|
-
function formatTs(contents) {
|
|
277
|
-
try {
|
|
278
|
-
return format(contents, {
|
|
279
|
-
parser: "typescript",
|
|
280
|
-
singleQuote: true,
|
|
281
|
-
trailingComma: "all",
|
|
282
|
-
plugins: [organizeImports],
|
|
283
|
-
tabWidth: 2,
|
|
284
|
-
printWidth: 120
|
|
285
|
-
});
|
|
286
|
-
} catch (e) {
|
|
287
|
-
console.error("Failed to format file", e);
|
|
288
|
-
console.log(contents);
|
|
289
|
-
return contents;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
314
|
|
|
293
|
-
// src/
|
|
294
|
-
|
|
295
|
-
const
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
let jsDocBlock = ["/**"];
|
|
305
|
-
if (action.description) {
|
|
306
|
-
jsDocBlock.push(`* ${action.description}`);
|
|
307
|
-
}
|
|
308
|
-
let parameterBlock = "";
|
|
309
|
-
if (entries.length > 0) {
|
|
310
|
-
parameterBlock = `params: {
|
|
311
|
-
`;
|
|
312
|
-
for (const [parameterName, parameterData] of entries) {
|
|
313
|
-
parameterBlock += `"${parameterName}"`;
|
|
314
|
-
parameterBlock += parameterData.required ? ": " : "?: ";
|
|
315
|
-
const typeScriptType = getTypeScriptTypeFromDataType(parameterData.dataType, importedObjects);
|
|
316
|
-
parameterBlock += `${typeScriptType};
|
|
317
|
-
`;
|
|
318
|
-
jsDocBlock.push(`* @param {${typeScriptType}} params.${parameterName}`);
|
|
319
|
-
}
|
|
320
|
-
parameterBlock += "}, ";
|
|
321
|
-
}
|
|
322
|
-
jsDocBlock.push(`*/`);
|
|
323
|
-
actionSignatures.push(`
|
|
324
|
-
${jsDocBlock.join("\n")}
|
|
325
|
-
${action.apiName}<O extends ActionExecutionOptions>(${parameterBlock}options?: O):
|
|
326
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${addedObjects.length > 0 ? addedObjects.join(" | ") : "void"}, ${modifiedObjects.length > 0 ? modifiedObjects.join(" | ") : "void"}>>, ActionError>>;`);
|
|
327
|
-
}
|
|
328
|
-
await fs2.mkdir(outDir, {
|
|
329
|
-
recursive: true
|
|
330
|
-
});
|
|
331
|
-
await fs2.writeFile(path16__default.join(outDir, "Actions.ts"), await formatTs(`
|
|
332
|
-
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
333
|
-
${Array.from(importedObjects).map((importedObject) => `import type { ${importedObject} } from "../objects/${importedObject}${importExt}";`).join("\n")}
|
|
334
|
-
export interface Actions {
|
|
335
|
-
${actionSignatures.join("\n")}
|
|
336
|
-
}
|
|
337
|
-
`));
|
|
315
|
+
// src/shared/wireActionTypeV2ToSdkActionDefinition.ts
|
|
316
|
+
function wireActionTypeV2ToSdkActionDefinition(input) {
|
|
317
|
+
const modifiedEntityTypes = getModifiedEntityTypes(input);
|
|
318
|
+
return {
|
|
319
|
+
type: "action",
|
|
320
|
+
apiName: input.apiName,
|
|
321
|
+
parameters: Object.fromEntries(Object.entries(input.parameters).map(([key, value]) => [key, wireActionParameterV2ToSdkParameterDefinition(value)])),
|
|
322
|
+
displayName: input.displayName,
|
|
323
|
+
description: input.description,
|
|
324
|
+
modifiedEntities: createModifiedEntities(modifiedEntityTypes.addedObjects, modifiedEntityTypes.modifiedObjects)
|
|
325
|
+
};
|
|
338
326
|
}
|
|
339
|
-
function
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
return `${objectType} | ${objectType}["__primaryKey"]`;
|
|
350
|
-
}
|
|
351
|
-
case "array":
|
|
352
|
-
return `Array<${getTypeScriptTypeFromDataType(actionParameter.subType, importedObjects)}>`;
|
|
327
|
+
function wireActionParameterV2ToSdkParameterDefinition(value) {
|
|
328
|
+
return {
|
|
329
|
+
multiplicity: value.dataType.type === "array",
|
|
330
|
+
type: actionPropertyToSdkPropertyDefinition(value.dataType.type === "array" ? value.dataType.subType : value.dataType),
|
|
331
|
+
nullable: !value.required,
|
|
332
|
+
description: value.description
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
function actionPropertyToSdkPropertyDefinition(parameterType) {
|
|
336
|
+
switch (parameterType.type) {
|
|
353
337
|
case "string":
|
|
354
|
-
return `string`;
|
|
355
338
|
case "boolean":
|
|
356
|
-
return `boolean`;
|
|
357
339
|
case "attachment":
|
|
358
|
-
return `Attachment`;
|
|
359
|
-
case "date":
|
|
360
|
-
return `LocalDate`;
|
|
361
340
|
case "double":
|
|
362
341
|
case "integer":
|
|
363
342
|
case "long":
|
|
364
|
-
return `number`;
|
|
365
343
|
case "timestamp":
|
|
366
|
-
return `Timestamp`;
|
|
367
344
|
case "marking":
|
|
368
|
-
return
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
`;
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
// src/v1.1/backcompat/internal-foundry-oauth-dist/generateConfidentialClientDir.ts
|
|
387
|
-
async function generateConfidentialClientDir(fs2, oauthDistDir, importExt = "") {
|
|
388
|
-
const confidentialClientDistDir = path16__default.join(oauthDistDir, "ConfidentialClient");
|
|
389
|
-
await fs2.mkdir(confidentialClientDistDir, {
|
|
390
|
-
recursive: true
|
|
391
|
-
});
|
|
392
|
-
await fs2.writeFile(path16__default.join(confidentialClientDistDir, "index.ts"), await formatTs(`
|
|
393
|
-
export * from "./ConfidentialClientAuth${importExt}";
|
|
394
|
-
`));
|
|
395
|
-
await fs2.writeFile(path16__default.join(confidentialClientDistDir, "ConfidentialClientAuth.ts"), await formatTs(`
|
|
396
|
-
${reexportConsts(["ConfidentialClientAuth"])}
|
|
397
|
-
`));
|
|
398
|
-
}
|
|
399
|
-
async function generatePublicClientDir(fs2, oauthDistDir, importExt = "") {
|
|
400
|
-
const publicClientDistDir = path16__default.join(oauthDistDir, "PublicClient");
|
|
401
|
-
await fs2.mkdir(publicClientDistDir, {
|
|
402
|
-
recursive: true
|
|
403
|
-
});
|
|
404
|
-
await fs2.writeFile(path16__default.join(publicClientDistDir, "index.ts"), await formatTs(`
|
|
405
|
-
export * from "./PublicClientAuth${importExt}";
|
|
406
|
-
`));
|
|
407
|
-
await fs2.writeFile(path16__default.join(publicClientDistDir, "PublicClientAuth.ts"), await formatTs(`
|
|
408
|
-
${reexportConsts(["PublicClientAuth"])}
|
|
409
|
-
`));
|
|
410
|
-
}
|
|
411
|
-
async function generateUserTokenDir(fs2, oauthDistDir, importExt = "") {
|
|
412
|
-
const userTokenDistDir = path16__default.join(oauthDistDir, "UserToken");
|
|
413
|
-
await fs2.mkdir(userTokenDistDir, {
|
|
414
|
-
recursive: true
|
|
415
|
-
});
|
|
416
|
-
await fs2.writeFile(path16__default.join(userTokenDistDir, "index.ts"), await formatTs(`
|
|
417
|
-
export * from "./UserTokenAuth${importExt}";
|
|
418
|
-
`));
|
|
419
|
-
await fs2.writeFile(path16__default.join(userTokenDistDir, "UserTokenAuth.ts"), await formatTs(`
|
|
420
|
-
${reexportConsts(["UserTokenAuth"])}
|
|
421
|
-
`));
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
// src/v1.1/backcompat/util/reexportTypes.ts
|
|
425
|
-
function reexportTypes(typesToExport, genericArgsLeft = "", genericArgsRight = cleanup(genericArgsLeft)) {
|
|
426
|
-
return `
|
|
427
|
-
import type { ${typesToExport.map((q) => `${q} as OG_${q}`).join(", ")}} from "@osdk/legacy-client";
|
|
428
|
-
|
|
429
|
-
${typesToExport.map((q) => `
|
|
430
|
-
/** @deprecated submodule imports aren't public api **/
|
|
431
|
-
export type ${q}${genericArgsLeft} = OG_${q}${genericArgsRight};
|
|
432
|
-
`).join("\n\n")}
|
|
433
|
-
`;
|
|
434
|
-
}
|
|
435
|
-
var captureInBracketsRegex = /<(.*?)>/;
|
|
436
|
-
var captureGenericParamNameRegex = /^\s?(.+?)( extends .*?)?( = .*?)?\s?$/;
|
|
437
|
-
function cleanup(s) {
|
|
438
|
-
if (s.length === 0) return "";
|
|
439
|
-
const genericParameterNames = captureInBracketsRegex.exec(s)?.[1]?.split(",")?.map((a) => {
|
|
440
|
-
return captureGenericParamNameRegex.exec(a)?.[1] ?? a;
|
|
441
|
-
});
|
|
442
|
-
return `<${genericParameterNames?.join(",")}>`;
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
// src/v1.1/backcompat/generateOAuthDistDir.ts
|
|
446
|
-
async function generateOAuthClientDistDir(outDir, fs2, importExt = "") {
|
|
447
|
-
const oauthDistDir = path16.join(outDir, "internal", "@foundry", "oauth-client", "dist");
|
|
448
|
-
await fs2.mkdir(oauthDistDir, {
|
|
449
|
-
recursive: true
|
|
450
|
-
});
|
|
451
|
-
await fs2.writeFile(path16.join(oauthDistDir, "index.ts"), await formatTs(`
|
|
452
|
-
export * from "./Auth${importExt}";
|
|
453
|
-
export * from "./ConfidentialClient/index${importExt}";
|
|
454
|
-
export * from "./OAuthClient${importExt}";
|
|
455
|
-
export * from "./PublicClient/index${importExt}";
|
|
456
|
-
export * from "./Token${importExt}";
|
|
457
|
-
export * from "./UserToken/index${importExt}";
|
|
458
|
-
`));
|
|
459
|
-
await fs2.writeFile(path16.join(oauthDistDir, "Auth.ts"), await formatTs(reexportTypes(["Auth"])));
|
|
460
|
-
await fs2.writeFile(path16.join(oauthDistDir, "Token.ts"), await formatTs(reexportTypes(["Token", "TokenValue"])));
|
|
461
|
-
await fs2.writeFile(path16.join(oauthDistDir, "OAuthClient.ts"), await formatTs(reexportTypes(["AuthSubscription", "UnsubscribeFunction", "SignInResponse", "RefreshResponse", "SignOutResponse"])));
|
|
462
|
-
await fs2.writeFile(path16.join(oauthDistDir, "OAuthToken.ts"), await formatTs(reexportConsts(["OAuthToken"])));
|
|
463
|
-
await fs2.writeFile(path16.join(oauthDistDir, "Auth.ts"), await formatTs(reexportTypes(["Auth"])));
|
|
464
|
-
await generateConfidentialClientDir(fs2, oauthDistDir, importExt);
|
|
465
|
-
await generatePublicClientDir(fs2, oauthDistDir, importExt);
|
|
466
|
-
await generateUserTokenDir(fs2, oauthDistDir, importExt);
|
|
467
|
-
}
|
|
468
|
-
async function generateAggregationsAggregations(fs2, aggregationsDir) {
|
|
469
|
-
await fs2.writeFile(path16.join(aggregationsDir, "Aggregations.ts"), await formatTs(`
|
|
470
|
-
import { LocalDate, Timestamp } from "@osdk/legacy-client";
|
|
471
|
-
` + reexportTypes(["Double", "Rangeable", "MetricValue", "Date", "BucketKey", "BucketValue", "TimeUnit", "BucketGroup", "Metrics", "AggregatableProperties", "AggregationClause"]) + reexportTypes(["Range"], "<T extends Rangeable>", "<T>") + reexportTypes(["BaseGroupBy"], "<_T extends BucketValue = BucketValue>") + reexportTypes(["Duration"], "<_T extends Timestamp | LocalDate = Timestamp | LocalDate>") + reexportTypes(["AggregatableProperty", "MultipleAggregationsOperations"], "<_T extends MetricValue = MetricValue>") + reexportTypes(["AggregationGroup"], "<TMetrics extends Metrics | MetricValue, TBucketGroup extends BucketGroup>") + reexportTypes(["Bucketing"], "<_T extends string , _X extends BucketValue>") + reexportTypes(["AggregationResult"], "<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>") + reexportTypes(["BaseBucketing"], "<TBucketKey extends BucketKey, TBucketValue extends BucketValue, Kind extends string>") + reexportTypes(["ExactValueBucketing", "InternalBucketing"], `<TBucketKey extends BucketKey, TBucketValue extends BucketValue>`) + reexportTypes(["RangeBucketing", "FixedWidthBucketing"], `<TBucketKey extends BucketKey, TBucketValue extends Range<Rangeable>>`) + reexportTypes(["DurationBucketing"], `<TBucketKey extends BucketKey, TBucketValue extends Date>`) + reexportTypes(["InternalBucketingVisitor"], "<TBucketKey extends BucketKey, T extends BucketValue, R>") + reexportTypes(["AggregationBuilderResult"], "<T, TMultipleAggregationProperties>") + reexportTypes(["AggregatablePropertiesForResult", "AggregatablePropertyNamesForResult"], "<TAggregatableProperties, TResult extends MetricValue>") + reexportConsts(["assertBucketingInternal", "visitInternalBucketing"]) + reexportTypes(["AggregatableObjectSetStep"], "<TAggregatableProperties, TMultipleAggregationProperties, TBucketableProperties, TBucketGroup extends BucketGroup = {}>") + reexportTypes(["GroupedTerminalAggregationOperations"], "<TAggregatableProperties, TMultipleAggregationProperties, TBucketGroup extends BucketGroup = {}>")));
|
|
472
|
-
}
|
|
473
|
-
async function generateGroupBy(fs2, aggregationsDir, importExt = "") {
|
|
474
|
-
await fs2.mkdir(path16.join(aggregationsDir, "groupBy"), {
|
|
475
|
-
recursive: true
|
|
476
|
-
});
|
|
477
|
-
const groupBys = ["BooleanGroupBy", "LocalDateGroupBy", "NumericGroupBy", "StringGroupBy", "TimestampGroupBy"];
|
|
478
|
-
const reexportFiles = [...groupBys, "GroupKeyType"];
|
|
479
|
-
for (const key of reexportFiles) {
|
|
480
|
-
await fs2.writeFile(path16.join(aggregationsDir, "groupBy", `${key}.ts`), await formatTs(`export {${key}} from "./index${importExt}";`));
|
|
345
|
+
return parameterType.type;
|
|
346
|
+
case "date":
|
|
347
|
+
return "datetime";
|
|
348
|
+
case "objectSet":
|
|
349
|
+
return {
|
|
350
|
+
type: "objectSet",
|
|
351
|
+
objectSet: parameterType.objectTypeApiName
|
|
352
|
+
};
|
|
353
|
+
case "object":
|
|
354
|
+
return {
|
|
355
|
+
type: "object",
|
|
356
|
+
object: parameterType.objectTypeApiName
|
|
357
|
+
};
|
|
358
|
+
case "array":
|
|
359
|
+
return actionPropertyToSdkPropertyDefinition(parameterType.subType);
|
|
481
360
|
}
|
|
482
|
-
await fs2.writeFile(path16.join(aggregationsDir, "groupBy", "index.ts"), await formatTs(`import { Bucketing, BucketKey, Duration, Range, Rangeable } from "../Aggregations${importExt}";` + reexportConsts(groupBys) + reexportTypes(groupBys, "<T extends BucketKey>") + `export {GroupKeyType} from "@osdk/legacy-client";
|
|
483
|
-
`));
|
|
484
361
|
}
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
await fs2.writeFile(path16.join(metricsDir, "MultipleAggregatableProperty.ts"), await formatTs(`
|
|
493
|
-
import { Double, MetricValue, MultipleAggregationsOperations } from "../Aggregations${importExt}";
|
|
494
|
-
import { MetricValueType } from "./metrics/index${importExt}";
|
|
495
|
-
` + reexportConsts(["MultipleAggregatableProperty"]) + reexportTypes(["MultipleAggregatableProperty"], "<TResult extends MetricValue = Double>")));
|
|
496
|
-
for (const typeName of ["DefaultAggregatableProperty", "LocalDatePropertyMetric", "NumericPropertyMetric", "TimestampPropertyMetric"]) {
|
|
497
|
-
await fs2.writeFile(path16.join(metricsDir, `${typeName}.ts`), await formatTs(`
|
|
498
|
-
import { MultipleAggregatableProperty } from "./MultipleAggregatableProperty${importExt}";
|
|
499
|
-
` + reexportConsts([typeName])));
|
|
362
|
+
function createModifiedEntities(addedObjects, modifiedObjects) {
|
|
363
|
+
let entities = {};
|
|
364
|
+
for (const key of addedObjects) {
|
|
365
|
+
entities[key] = {
|
|
366
|
+
created: true,
|
|
367
|
+
modified: false
|
|
368
|
+
};
|
|
500
369
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
export * from "./LocalDatePropertyMetric${importExt}";
|
|
505
|
-
export * from "./metrics${importExt}";
|
|
506
|
-
export * from "./MultipleAggregatableProperty${importExt}";
|
|
507
|
-
export * from "./NumericPropertyMetric${importExt}";
|
|
508
|
-
export * from "./TimestampPropertyMetric${importExt}";
|
|
509
|
-
`));
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
// src/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.ts
|
|
513
|
-
async function generateAggregationsDir(fs2, runtimeDistDir, importExt = "") {
|
|
514
|
-
const aggregationsDir = path16.join(runtimeDistDir, "aggregations");
|
|
515
|
-
await fs2.mkdir(aggregationsDir, {
|
|
516
|
-
recursive: true
|
|
517
|
-
});
|
|
518
|
-
await generateGroupBy(fs2, aggregationsDir, importExt);
|
|
519
|
-
await generateAggregationsAggregations(fs2, aggregationsDir);
|
|
520
|
-
await generateMetrics(fs2, aggregationsDir, importExt);
|
|
521
|
-
await fs2.writeFile(path16.join(aggregationsDir, "index.ts"), await formatTs(`
|
|
522
|
-
${""}
|
|
523
|
-
${""}
|
|
524
|
-
|
|
525
|
-
export * from "./Aggregations${importExt}";
|
|
526
|
-
export * from "./ComputeStep${importExt}";
|
|
527
|
-
export * from "./CountOperation${importExt}";
|
|
528
|
-
export * from "./groupBy/index${importExt}";
|
|
529
|
-
export * from "./internalAggregationRequest${importExt}";
|
|
530
|
-
export * from "./metrics/index${importExt}";
|
|
531
|
-
`));
|
|
532
|
-
await fs2.writeFile(path16.join(aggregationsDir, "ComputeStep.ts"), await formatTs(`
|
|
533
|
-
import { ObjectSetDefinition } from "../baseTypes/index${importExt}";
|
|
534
|
-
import { FoundryClientOptions } from "../client/${importExt}";
|
|
535
|
-
import { AggregateObjectsError, OntologyMetadata, Result } from "../ontologyProvider/index${importExt}";
|
|
536
|
-
import { AggregationClause, AggregationResult, BucketGroup, BucketValue, InternalBucketing, Metrics, MetricValue } from "./Aggregations${importExt}";
|
|
537
|
-
` + reexportConsts(["ComputeStep"]) + reexportTypes(["ComputeStep"], "<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue> ") + reexportTypes(["AggregationComputeStep"], "<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>") + `
|
|
538
|
-
|
|
539
|
-
`));
|
|
540
|
-
await fs2.writeFile(path16.join(aggregationsDir, "CountOperation.ts"), await formatTs(`` + reexportConsts(["CountOperation", "isCountOperation"]) + reexportTypes(["CountOperation"])));
|
|
541
|
-
await fs2.writeFile(path16.join(aggregationsDir, "internalAggregationRequest.ts"), await formatTs(reexportTypes(["InternalAggregationRequest"])));
|
|
542
|
-
}
|
|
543
|
-
async function generateAttachmentsDir(attachmentsDir, fs2, importExt = "") {
|
|
544
|
-
await fs2.mkdir(attachmentsDir, {
|
|
545
|
-
recursive: true
|
|
546
|
-
});
|
|
547
|
-
await fs2.writeFile(path16__default.join(attachmentsDir, "index.ts"), await formatTs(`export * from "./Attachment${importExt}";
|
|
548
|
-
export * from "./Attachments${importExt}";
|
|
549
|
-
`));
|
|
550
|
-
await fs2.writeFile(path16__default.join(attachmentsDir, "Attachment.ts"), await formatTs(reexportTypes(["Attachment", "AttachmentMetadata"])));
|
|
551
|
-
await fs2.writeFile(path16__default.join(attachmentsDir, "Attachments.ts"), await formatTs(reexportTypes(["Attachments"])));
|
|
552
|
-
}
|
|
553
|
-
async function generateGeoshapesDir(runtimeDistDir, fs2, importExt = "") {
|
|
554
|
-
await fs2.mkdir(runtimeDistDir, {
|
|
555
|
-
recursive: true
|
|
556
|
-
});
|
|
557
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "index.ts"), await formatTs(`export * from "./Distance${importExt}";
|
|
558
|
-
export * from "./GeoJson${importExt}";
|
|
559
|
-
export * from "./GeometryCollection${importExt}";
|
|
560
|
-
export * from "./GeoPoint${importExt}";
|
|
561
|
-
export * from "./GeoShape${importExt}";
|
|
562
|
-
export * from "./LineString${importExt}";
|
|
563
|
-
export * from "./MultiGeoPoint${importExt}";
|
|
564
|
-
export * from "./MultiLineString${importExt}";
|
|
565
|
-
export * from "./MultiPolygon${importExt}";
|
|
566
|
-
export * from "./Polygon${importExt}";`));
|
|
567
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "Distance.ts"), await formatTs(`` + reexportConsts(["Distance", "DistanceUnit"]) + reexportTypes(["Distance", "DistanceUnit"])));
|
|
568
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "GeoJson.ts"), await formatTs(reexportTypes(["GeoJsonPoint", "GeoJsonPolygon", "GeoJsonLineString", "GeoJsonMultiPoint", "GeoJsonMultiPolygon", "GeoJsonMultiLineString", "GeoJsonGeometryCollection", "GeoJsonGeometry", "GeoJson"])));
|
|
569
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "GeometryCollection.ts"), await formatTs(reexportConsts(["GeometryCollection"])));
|
|
570
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "GeoPoint.ts"), await formatTs(`` + reexportConsts(["isGeoPoint", "GeoPoint", "mapCoordinatesToGeoPoint"]) + reexportTypes(["GeoHash", "Coordinates", "GeoPoint"])));
|
|
571
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "GeoShape.ts"), await formatTs(reexportConsts(["GeoShape"]) + reexportTypes(["GeoShape"])));
|
|
572
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "LineString.ts"), await formatTs(reexportConsts(["LineString"]) + reexportTypes(["LineString"])));
|
|
573
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "MultiGeoPoint.ts"), await formatTs(reexportConsts(["MultiGeoPoint"]) + reexportTypes(["MultiGeoPoint"])));
|
|
574
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "MultiLineString.ts"), await formatTs(reexportConsts(["MultiLineString"]) + reexportTypes(["MultiLineString"])));
|
|
575
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "MultiPolygon.ts"), await formatTs(reexportConsts(["MultiPolygon"]) + reexportTypes(["MultiPolygon"])));
|
|
576
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "Polygon.ts"), await formatTs(reexportConsts(["Polygon"]) + reexportTypes(["LinearRing", "Polygon"])));
|
|
577
|
-
}
|
|
578
|
-
async function generateObjectSetDir(objectSetDir, fs2, importExt = "") {
|
|
579
|
-
await fs2.mkdir(objectSetDir, {
|
|
580
|
-
recursive: true
|
|
581
|
-
});
|
|
582
|
-
await fs2.writeFile(path16__default.join(objectSetDir, "index.ts"), await formatTs(`
|
|
583
|
-
export * from "./ObjectSetDefinition${importExt}";
|
|
584
|
-
export * from "./OntologyObjectSet${importExt}";
|
|
585
|
-
`));
|
|
586
|
-
await fs2.writeFile(path16__default.join(objectSetDir, "ObjectSetDefinition.ts"), await formatTs(reexportTypes(["BaseObjectSetDefinition", "ReferenceObjectSetDefinition", "StaticObjectSetDefinition", "IntersectObjectSetDefinition", "SubtractObjectSetDefinition", "SearchAroundObjectSetDefinition", "FilterObjectSetDefinition", "ObjectSetDefinition"])));
|
|
587
|
-
await fs2.writeFile(path16__default.join(objectSetDir, "OntologyObjectSet.ts"), await formatTs(reexportTypes(["OntologyObjectSet"])));
|
|
588
|
-
}
|
|
589
|
-
async function generateSharedObjectCodeDir(sharedObjectCodeDir, fs2, importExt = "") {
|
|
590
|
-
await fs2.mkdir(sharedObjectCodeDir, {
|
|
591
|
-
recursive: true
|
|
592
|
-
});
|
|
593
|
-
await fs2.writeFile(path16__default.join(sharedObjectCodeDir, "index.ts"), await formatTs(`
|
|
594
|
-
export * from "./FilteredPropertiesTerminalOperations${importExt}";
|
|
595
|
-
`));
|
|
596
|
-
await fs2.writeFile(path16__default.join(sharedObjectCodeDir, "FilteredPropertiesTerminalOperations.ts"), await formatTs(`import { OntologyObject } from "../OntologyObject${importExt}` + reexportTypes(["FilteredPropertiesTerminalOperations", "FilteredPropertiesTerminalOperationsWithGet"], "<T extends OntologyObject, V extends Array<keyof T>>")));
|
|
597
|
-
}
|
|
598
|
-
async function generateTimeSeriesDir(timeseriesDir, fs2, importExt = "") {
|
|
599
|
-
await fs2.mkdir(timeseriesDir, {
|
|
600
|
-
recursive: true
|
|
601
|
-
});
|
|
602
|
-
await fs2.writeFile(path16.join(timeseriesDir, "index.ts"), await formatTs(`
|
|
603
|
-
export * from "./TimeSeries${importExt}";
|
|
604
|
-
export * from "./TimeSeriesDuration${importExt}";
|
|
605
|
-
export * from "./TimeSeriesPoint${importExt}";
|
|
606
|
-
${""}
|
|
607
|
-
export * from "./TimeSeriesQuery${importExt}";
|
|
608
|
-
export * from "./TimeSeriesTerminalOperations${importExt}";
|
|
609
|
-
`));
|
|
610
|
-
await fs2.writeFile(path16.join(timeseriesDir, "TimeSeries.ts"), await formatTs(reexportTypes(["TimeSeries"], `<T extends number | string>`)));
|
|
611
|
-
await fs2.writeFile(path16.join(timeseriesDir, "TimeSeriesDuration.ts"), await formatTs(reexportTypes([`WhenUnit`, `DurationUnit`, `TimeSeriesDuration`])));
|
|
612
|
-
await fs2.writeFile(path16.join(timeseriesDir, "TimeSeriesPoint.ts"), await formatTs(reexportTypes(["TimeSeriesPoint"], `<T extends number | string>`)));
|
|
613
|
-
await fs2.writeFile(path16.join(timeseriesDir, "TimeSeriesQuery.ts"), await formatTs(reexportTypes(["TimeSeriesQuery"], `<T extends number | string>`)));
|
|
614
|
-
await fs2.writeFile(path16.join(timeseriesDir, "TimeSeriesTerminalOperations.ts"), await formatTs(reexportTypes(["TimeSeriesTerminalOperations", "TimeSeriesIterator"], `<T extends number | string>`)));
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
// src/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateBaseTypesDir.ts
|
|
618
|
-
async function generateBaseTypesDir(runtimeDistDir, fs2, importExt = "") {
|
|
619
|
-
const baseTypesDir = path16.join(runtimeDistDir, "baseTypes");
|
|
620
|
-
await fs2.mkdir(baseTypesDir, {
|
|
621
|
-
recursive: true
|
|
622
|
-
});
|
|
623
|
-
await fs2.writeFile(path16.join(baseTypesDir, "index.ts"), await formatTs(`export * from "./ActionType${importExt}";
|
|
624
|
-
export * from "./attachments/index${importExt}";
|
|
625
|
-
export * from "./geoshapes/index${importExt}";
|
|
626
|
-
export * from "./links${importExt}";
|
|
627
|
-
export * from "./localDate${importExt}";
|
|
628
|
-
export * from "./objectset/index${importExt}";
|
|
629
|
-
export * from "./ObjectType${importExt}";
|
|
630
|
-
export * from "./OntologyObject${importExt}";
|
|
631
|
-
export * from "./Queries${importExt}";
|
|
632
|
-
export * from "./timeseries/index${importExt}";
|
|
633
|
-
export * from "./timestamp${importExt}";`));
|
|
634
|
-
const geoshapesDir = path16.join(baseTypesDir, "geoshapes");
|
|
635
|
-
await generateGeoshapesDir(geoshapesDir, fs2, importExt);
|
|
636
|
-
const timeseriesDir = path16.join(baseTypesDir, "timeseries");
|
|
637
|
-
await generateTimeSeriesDir(timeseriesDir, fs2, importExt);
|
|
638
|
-
const attachmentsDir = path16.join(baseTypesDir, "attachments");
|
|
639
|
-
await generateAttachmentsDir(attachmentsDir, fs2, importExt);
|
|
640
|
-
const objectSetDir = path16.join(baseTypesDir, "objectset");
|
|
641
|
-
await generateObjectSetDir(objectSetDir, fs2, importExt);
|
|
642
|
-
const sharedObjectCodeDir = path16.join(baseTypesDir, "sharedObjectCode");
|
|
643
|
-
await generateSharedObjectCodeDir(sharedObjectCodeDir, fs2, importExt);
|
|
644
|
-
await fs2.writeFile(path16.join(baseTypesDir, "ActionType.ts"), await formatTs(`import { OntologyObject } from "./OntologyObject${importExt}";
|
|
645
|
-
` + reexportConsts(["ActionExecutionMode", "ReturnEditsMode", "ActionValidationResult"]) + reexportTypes(["ActionExecutionOptions", "ValidationResponse", "BulkEdits"]) + reexportTypes(["CreatedObjectEdits", "ModifiedObjectEdits"], "<T extends OntologyObject>") + reexportTypes(["Edits"], "<TAddedObjects extends OntologyObject | void, TModifiedObjects extends OntologyObject | void>") + reexportTypes(["ActionResponse"], "<TEdits extends Edits<any, any> | undefined = undefined>", "<TEdits>") + reexportTypes(["ActionResponseFromOptions"], "<TOptions extends ActionExecutionOptions | undefined = undefined, TEdits extends Edits<any, any> | undefined = undefined>", "<TOptions, TEdits>")));
|
|
646
|
-
await fs2.writeFile(path16.join(baseTypesDir, "OntologyObject.ts"), await formatTs(reexportTypes(["OntologyObject"]) + reexportConsts(["isOntologyObject"])));
|
|
647
|
-
await fs2.writeFile(path16.join(baseTypesDir, "links.ts"), await formatTs(`import { OntologyObject } from "./OntologyObject${importExt}` + reexportTypes(["SingleLink", "MultiLink"], "<T extends OntologyObject = OntologyObject>")));
|
|
648
|
-
await fs2.writeFile(path16.join(baseTypesDir, "localDate.ts"), await formatTs(reexportConsts(["LocalDate"]) + reexportTypes(["LocalDate"])));
|
|
649
|
-
await fs2.writeFile(path16.join(baseTypesDir, "timestamp.ts"), await formatTs(reexportConsts(["Timestamp"]) + reexportTypes(["Timestamp"])));
|
|
650
|
-
await fs2.writeFile(path16.join(baseTypesDir, "Queries.ts"), await formatTs(`import { BucketValue, Range, Rangeable } from "../aggregations/index${importExt}";
|
|
651
|
-
` + reexportTypes(["QueryResponse"], "<T>") + reexportTypes(["BaseBucket"], "<K, V>") + reexportTypes(["NestedBucket"], "<TGroupKey, TSegmentKey, TValue extends BucketValue>") + reexportTypes(["TwoDimensionalAggregation"], "<TGroupKey extends QueryBucketKey, TValue extends BucketValue = number>") + reexportTypes(["ThreeDimensionalAggregation"], "<TGroupKey extends QueryBucketKey, TSegmentKey extends QueryBucketKey, TValue extends BucketValue = number>") + reexportTypes(["QueryBucketKey"])));
|
|
652
|
-
await fs2.writeFile(path16.join(baseTypesDir, "ObjectType.ts"), await formatTs(`import { OntologyObject } from "./OntologyObject${importExt}";` + reexportTypes(["BaseType", "StringType", "IntegerType", "DateType", "BooleanType", "ByteType", "DecimalType", "FloatType", "TimestampType", "ShortType", "LongType", "DoubleType", "GeoPointType", "GeoShapeType", "AttachmentType", "ObjectType", "StructField", "QueryBucketRangeableType", "QueryBucketKeyType", "QueryBucketValueType", "AllValueTypes", "OntologyType", "ObjectTypeProperties", "StructType"]) + reexportTypes(["TimeSeriesType", "ArrayType", "SetType"], "<T extends BaseType>") + reexportTypes(["Property"], "<TType extends OntologyType = OntologyType>") + reexportTypes(["BaseObjectType"], "<TOntologyObject extends OntologyObject = OntologyObject>") + reexportTypes(["ObjectSetType"], "<T extends ObjectType>") + reexportTypes(["RangeType"], "<T extends QueryBucketRangeableType>") + reexportTypes(["TwoDimensionalAggregationType"], "<TGroupKey extends QueryBucketKeyType, TValue extends QueryBucketValueType>") + reexportTypes(["ThreeDimensionalAggregationType"], "<TGroupKey extends QueryBucketKeyType, TSegmentKey extends QueryBucketKeyType, TValue extends QueryBucketValueType>")));
|
|
653
|
-
}
|
|
654
|
-
async function generateClientDir(runtimeDistDir, fs2, importExt = "") {
|
|
655
|
-
const pagingDir = path16__default.join(runtimeDistDir, "client");
|
|
656
|
-
await fs2.mkdir(pagingDir, {
|
|
657
|
-
recursive: true
|
|
658
|
-
});
|
|
659
|
-
await fs2.writeFile(path16__default.join(pagingDir, "index.ts"), await formatTs(`export * from "./clientOptions${importExt}";`));
|
|
660
|
-
await fs2.writeFile(path16__default.join(pagingDir, "clientOptions.ts"), await formatTs(`import {Auth} from "@osdk/legacy-client";` + reexportTypes(["FoundryClientOptions"], "<TAuth extends Auth = Auth>")));
|
|
661
|
-
}
|
|
662
|
-
async function generateFiltersDir(runtimeDistDir, fs2, importExt = "") {
|
|
663
|
-
const pagingDir = path16__default.join(runtimeDistDir, "filters");
|
|
664
|
-
await fs2.mkdir(pagingDir, {
|
|
665
|
-
recursive: true
|
|
666
|
-
});
|
|
667
|
-
await fs2.writeFile(path16__default.join(pagingDir, "index.ts"), await formatTs(`export * from "./ArrayFilter${importExt}";
|
|
668
|
-
export * from "./AttachmentFilter${importExt}";
|
|
669
|
-
export * from "./BooleanFilter${importExt}";
|
|
670
|
-
export * from "./DateTimeFilters${importExt}";
|
|
671
|
-
export * from "./Filters${importExt}";
|
|
672
|
-
export * from "./GeoPointFilter${importExt}";
|
|
673
|
-
export * from "./GeoShapeFilter${importExt}";
|
|
674
|
-
export * from "./NumericFilter${importExt}";
|
|
675
|
-
export * from "./Op${importExt}";
|
|
676
|
-
export * from "./OrderByOption${importExt}";
|
|
677
|
-
export * from "./StringFilter${importExt}";`));
|
|
678
|
-
await fs2.writeFile(path16__default.join(pagingDir, "ArrayFilter.ts"), await formatTs(`import { Attachment, GeoPoint, GeoShape, LocalDate, Timestamp } from "../baseTypes/index${importExt}";` + reexportConsts(["ArrayFilter"]) + reexportTypes(["ArrayFilter"], "<T extends string | number | Timestamp | LocalDate | boolean | GeoShape | GeoPoint | Attachment>")));
|
|
679
|
-
await fs2.writeFile(path16__default.join(pagingDir, "AttachmentFilter.ts"), await formatTs(reexportConsts(["AttachmentFilter"]) + reexportTypes(["AttachmentFilter"])));
|
|
680
|
-
await fs2.writeFile(path16__default.join(pagingDir, "BooleanFilter.ts"), await formatTs(reexportConsts(["BooleanFilter"]) + reexportTypes(["BooleanFilter"])));
|
|
681
|
-
await fs2.writeFile(path16__default.join(pagingDir, "GeoPointFilter.ts"), await formatTs(reexportConsts(["GeoPointFilter"]) + reexportTypes(["GeoPointFilter", "BoundingBox"])));
|
|
682
|
-
await fs2.writeFile(path16__default.join(pagingDir, "DateTimeFilters.ts"), await formatTs(reexportConsts(["TimestampFilter", "LocalDateFilter"]) + reexportTypes(["TimestampFilter", "LocalDateFilter"])));
|
|
683
|
-
await fs2.writeFile(path16__default.join(pagingDir, "GeoShapeFilter.ts"), await formatTs(reexportConsts(["GeoShapeFilter"]) + reexportTypes(["GeoShapeFilter"])));
|
|
684
|
-
await fs2.writeFile(path16__default.join(pagingDir, "NumericFilter.ts"), await formatTs(reexportConsts(["NumericFilter"]) + reexportTypes(["NumericFilter"])));
|
|
685
|
-
await fs2.writeFile(path16__default.join(pagingDir, "Op.ts"), await formatTs(reexportConsts(["Op"])));
|
|
686
|
-
await fs2.writeFile(path16__default.join(pagingDir, "OrderByOption.ts"), await formatTs(reexportConsts(["OrderByOption"]) + reexportTypes(["OrderByOption"])));
|
|
687
|
-
await fs2.writeFile(path16__default.join(pagingDir, "StringFilter.ts"), await formatTs(reexportConsts(["StringFilter"]) + reexportTypes(["StringFilter"])));
|
|
688
|
-
await fs2.writeFile(path16__default.join(pagingDir, "Filters.ts"), await formatTs(`import { OntologyObject } from "@osdk/legacy-client";` + reexportTypes(["ObjectTypeFilterFunction", "ObjectTypeOrderByFunction"], "<T extends OntologyObject>") + reexportTypes(["BoundingBoxFilter", "DistanceOf", "SearchClause", "LtWhereClause", "GtWhereClause", "LteWhereClause", "GteWhereClause", "EqWhereClause", "IsNullWhereClause", "ContainsWhereClause", "StartsWithWhereClause", "ContainsAllTermsInOrderWhereClause", "ContainsAnyTermWhereClause", "ContainsAllTermsWhereClause", "WithinDistanceOfWhereClause", "WithinBoundingBoxWhereClause", "IntersectsBoundingBoxWhereClause", "DoesNotIntersectBoundingBoxWhereClause", "WithinPolygonWhereClause", "IntersectsPolygonWhereClause", "DoesNotIntersectPolygonWhereClause", "AndWhereClause", "OrWhereClause", "NotWhereClause", "WhereClause", "OrderByClause"]) + reexportTypes(["FilterType"], "<T extends string | number>")));
|
|
689
|
-
}
|
|
690
|
-
async function generateErrors(fs2, ontologyProviderDir) {
|
|
691
|
-
await fs2.writeFile(path16.join(ontologyProviderDir, "Errors.ts"), await formatTs(reexportTypes(["PermissionDenied", "Unauthorized", "InvalidAggregationRangeValue", "MalformedPropertyFilters", "PropertiesNotFilterable", "ParametersNotFound", "ApplyActionFailed", "PropertyTypesSearchNotSupported", "InvalidParameterValue", "QueryTimeExceededLimit", "CompositePrimaryKeyNotSupported", "PropertyBaseTypeNotSupported", "PropertiesNotSearchable", "AttachmentNotFound", "ObjectTypeNotFound", "InvalidGroupId", "OntologySyncing", "ActionNotFound", "ParameterObjectSetRidNotFound", "LinkTypeNotFound", "InvalidRangeQuery", "ActionParameterObjectNotFound", "InvalidPropertyValue", "PropertiesNotSortable", "FunctionExecutionTimedOut", "InvalidFields", "ActionTypeNotFound", "ObjectTypeNotSynced", "OntologyEditsExceededLimit", "AggregationGroupCountExceededLimit", "InvalidContentType", "PropertiesNotFound", "FunctionInvalidInput", "InvalidSortOrder", "QueryDepthExceededLimit", "InvalidPropertyFiltersCombination", "ObjectsExceededLimit", "DuplicateOrderBy", "FunctionEncounteredUserFacingError", "InvalidUserId", "QueryNotFound", "InvalidAggregationRange", "ParameterObjectNotFound", "QueryMemoryExceededLimit", "InvalidContentLength", "OntologyNotFound", "ActionParameterObjectTypeNotFound", "UnknownParameter", "InvalidSortType", "PropertyFiltersNotSupported", "ActionValidationFailed", "MultipleGroupByOnFieldNotSupported", "LinkedObjectNotFound", "ActionEditedPropertiesNotFound", "InvalidPropertyFilterValue", "QueryEncounteredUserFacingError", "AttachmentSizeExceededLimit", "ObjectNotFound", "PropertyApiNameNotFound", "ParameterTypeNotSupported", "InvalidAggregationRangePropertyType", "MissingParameter"])));
|
|
692
|
-
}
|
|
693
|
-
async function generateOntologyMetadata(fs2, ontologyProviderDir) {
|
|
694
|
-
await fs2.writeFile(path16.join(ontologyProviderDir, "OntologyMetadata.ts"), await formatTs(reexportTypes(["OntologyMetadata"])));
|
|
695
|
-
}
|
|
696
|
-
async function generateResult(fs2, ontologyProviderDir) {
|
|
697
|
-
await fs2.writeFile(path16.join(ontologyProviderDir, "Result.ts"), await formatTs(`import {FoundryApiError} from "@osdk/legacy-client";
|
|
698
|
-
` + reexportTypes(["Ok", "Err"], "<T>") + reexportTypes(["Result"], "<V, E = FoundryApiError>", "<V,E>") + reexportConsts(["isOk", "isErr", "visitError"]) + reexportTypes(["ErrorVisitor"], "<E extends FoundryApiError, R>", "<E,R>") + reexportTypes(["ExtractKeysWithType"], "<T, K extends keyof T>", "<T,K>")));
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
// src/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.ts
|
|
702
|
-
async function generateOntologyProviderDir(fs2, runtimeDistDir, importExt = "") {
|
|
703
|
-
const ontologyProviderDir = path16.join(runtimeDistDir, "ontologyProvider");
|
|
704
|
-
await fs2.mkdir(ontologyProviderDir, {
|
|
705
|
-
recursive: true
|
|
706
|
-
});
|
|
707
|
-
await generateErrors(fs2, ontologyProviderDir);
|
|
708
|
-
await generateOntologyMetadata(fs2, ontologyProviderDir);
|
|
709
|
-
await generateResult(fs2, ontologyProviderDir);
|
|
710
|
-
await fs2.writeFile(path16.join(ontologyProviderDir, "index.ts"), await formatTs(`
|
|
711
|
-
${""}
|
|
712
|
-
export * from "./Errors${importExt}";
|
|
713
|
-
export * from "./OntologyMetadata${importExt}";
|
|
714
|
-
${""}
|
|
715
|
-
${""}
|
|
716
|
-
// export * from "./Result${importExt}";
|
|
717
|
-
`));
|
|
718
|
-
}
|
|
719
|
-
async function generatePagingDir(runtimeDistDir, fs2, importExt = "") {
|
|
720
|
-
const pagingDir = path16.join(runtimeDistDir, "paging");
|
|
721
|
-
await fs2.mkdir(pagingDir, {
|
|
722
|
-
recursive: true
|
|
723
|
-
});
|
|
724
|
-
await fs2.writeFile(path16.join(pagingDir, "index.ts"), await formatTs(`export * from "./Page${importExt}";`));
|
|
725
|
-
await fs2.writeFile(path16.join(pagingDir, "Page.ts"), await formatTs(reexportTypes(["Page"], "<T>")));
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
// src/v1.1/backcompat/generateOntologyRuntimeDistDir.ts
|
|
729
|
-
async function generateOntologyRuntimeDistDir(outDir, fs2, importExt = "") {
|
|
730
|
-
const runtimeDistDir = path16.join(outDir, "internal", "@foundry", "ontology-runtime", "dist");
|
|
731
|
-
await fs2.mkdir(runtimeDistDir, {
|
|
732
|
-
recursive: true
|
|
733
|
-
});
|
|
734
|
-
await generateOntologyProviderDir(fs2, runtimeDistDir, importExt);
|
|
735
|
-
await generateAggregationsDir(fs2, runtimeDistDir, importExt);
|
|
736
|
-
await generatePagingDir(runtimeDistDir, fs2, importExt);
|
|
737
|
-
await generateBaseTypesDir(runtimeDistDir, fs2, importExt);
|
|
738
|
-
await generateClientDir(runtimeDistDir, fs2, importExt);
|
|
739
|
-
await generateFiltersDir(runtimeDistDir, fs2, importExt);
|
|
740
|
-
await fs2.writeFile(path16.join(runtimeDistDir, "index.ts"), await formatTs(`
|
|
741
|
-
export * from "./aggregations/index${importExt}";
|
|
742
|
-
export * from "./baseTypes/index${importExt}";
|
|
743
|
-
${""}
|
|
744
|
-
// export * from "./filters/index${importExt}";
|
|
745
|
-
${""}
|
|
746
|
-
${""}
|
|
747
|
-
|
|
748
|
-
export * from "./ontologyProvider/index${importExt}";
|
|
749
|
-
export * from "./paging/index${importExt}";
|
|
750
|
-
`));
|
|
751
|
-
}
|
|
752
|
-
|
|
753
|
-
// src/v1.1/generateBackCompatDeprecatedExports.ts
|
|
754
|
-
async function generateBackCompatDeprecatedExports(fs2, outDir, importExt = "") {
|
|
755
|
-
await generateOntologyRuntimeDistDir(outDir, fs2, importExt);
|
|
756
|
-
await generateOAuthClientDistDir(outDir, fs2, importExt);
|
|
757
|
-
}
|
|
758
|
-
async function generateBatchActions(ontology, fs2, outDir, importExt = "") {
|
|
759
|
-
const importedObjects = /* @__PURE__ */ new Set();
|
|
760
|
-
let actionSignatures = [];
|
|
761
|
-
for (const action of Object.values(ontology.actionTypes)) {
|
|
762
|
-
const entries = Object.entries(action.parameters);
|
|
763
|
-
const modifiedEntityTypes = getModifiedEntityTypes(action);
|
|
764
|
-
const addedObjects = Array.from(modifiedEntityTypes.addedObjects);
|
|
765
|
-
const modifiedObjects = Array.from(modifiedEntityTypes.modifiedObjects);
|
|
766
|
-
addedObjects.forEach(importedObjects.add, importedObjects);
|
|
767
|
-
modifiedObjects.forEach(importedObjects.add, importedObjects);
|
|
768
|
-
let jsDocBlock = ["/**"];
|
|
769
|
-
if (action.description) {
|
|
770
|
-
jsDocBlock.push(`* ${action.description}`);
|
|
771
|
-
}
|
|
772
|
-
let parameterBlock = "";
|
|
773
|
-
if (entries.length > 0) {
|
|
774
|
-
parameterBlock = `params: {
|
|
775
|
-
`;
|
|
776
|
-
for (const [parameterName, parameterData] of entries) {
|
|
777
|
-
parameterBlock += `"${parameterName}"`;
|
|
778
|
-
parameterBlock += parameterData.required ? ": " : "?: ";
|
|
779
|
-
const typeScriptType = getTypeScriptTypeFromDataType(parameterData.dataType, importedObjects);
|
|
780
|
-
parameterBlock += `${typeScriptType};
|
|
781
|
-
`;
|
|
782
|
-
jsDocBlock.push(`* @param {${typeScriptType}} params.${parameterName}`);
|
|
783
|
-
}
|
|
784
|
-
parameterBlock += "}[], ";
|
|
370
|
+
for (const key of modifiedObjects) {
|
|
371
|
+
if (entities[key]) {
|
|
372
|
+
entities[key].modified = true;
|
|
785
373
|
} else {
|
|
786
|
-
|
|
374
|
+
entities[key] = {
|
|
375
|
+
created: false,
|
|
376
|
+
modified: true
|
|
377
|
+
};
|
|
787
378
|
}
|
|
788
|
-
jsDocBlock.push(`*/`);
|
|
789
|
-
actionSignatures.push(`
|
|
790
|
-
${jsDocBlock.join("\n")}
|
|
791
|
-
${action.apiName}<O extends BatchActionExecutionOptions>(${parameterBlock}options?: O):
|
|
792
|
-
Promise<Result<BatchActionResponseFromOptions<O, Edits<${addedObjects.length > 0 ? addedObjects.join(" | ") : "void"}, ${modifiedObjects.length > 0 ? modifiedObjects.join(" | ") : "void"}>>, ActionError>>;
|
|
793
|
-
`);
|
|
794
379
|
}
|
|
795
|
-
|
|
796
|
-
recursive: true
|
|
797
|
-
});
|
|
798
|
-
await fs2.writeFile(path16__default.join(outDir, "BatchActions.ts"), await formatTs(`
|
|
799
|
-
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, BatchActionExecutionOptions, ActionError, Result, ActionResponseFromOptions, BatchActionResponseFromOptions } from "@osdk/legacy-client";
|
|
800
|
-
${Array.from(importedObjects).map((importedObject) => `import type { ${importedObject} } from "../objects/${importedObject}${importExt}";`).join("\n")}
|
|
801
|
-
export interface BatchActions {
|
|
802
|
-
${actionSignatures.join("\n")}
|
|
803
|
-
}
|
|
804
|
-
`));
|
|
380
|
+
return entities;
|
|
805
381
|
}
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
`;
|
|
824
|
-
for (const [parameterName, parameterData] of entries) {
|
|
825
|
-
parameterBlock += `"${parameterName}"`;
|
|
826
|
-
parameterBlock += parameterData.required ? ": " : "?: ";
|
|
827
|
-
const typeScriptType = getTypeScriptTypeFromDataType(parameterData.dataType, importedObjects);
|
|
828
|
-
parameterBlock += `${typeScriptType};
|
|
829
|
-
`;
|
|
830
|
-
jsDocBlock.push(`* @param {${typeScriptType}} params.${parameterName}`);
|
|
382
|
+
|
|
383
|
+
// src/util/stringify.ts
|
|
384
|
+
var defaultCustomizer = (value, defaultValueFormatter, key, defaultKeyFormatter) => {
|
|
385
|
+
return [defaultKeyFormatter(key), defaultValueFormatter(value)];
|
|
386
|
+
};
|
|
387
|
+
function stringify(obj, customizer = {}, separator = ",\n") {
|
|
388
|
+
const defaultKeyFormatter = (key) => `${JSON.stringify(key)}`;
|
|
389
|
+
const entries = [];
|
|
390
|
+
const sortedKeys = Object.keys(obj).sort((a, b) => a.localeCompare(b));
|
|
391
|
+
for (const key of sortedKeys) {
|
|
392
|
+
const value = obj[key];
|
|
393
|
+
const res = (customizer[key] ?? customizer["*"] ?? defaultCustomizer)(value, (value2) => JSON.stringify(value2, null, 2), key, defaultKeyFormatter);
|
|
394
|
+
if (res) {
|
|
395
|
+
if (typeof res === "string") {
|
|
396
|
+
entries.push(`${defaultKeyFormatter(key)}: ${res}`);
|
|
397
|
+
} else {
|
|
398
|
+
entries.push(`${res[0]}: ${res[1]}`);
|
|
831
399
|
}
|
|
832
|
-
parameterBlock += "}[], ";
|
|
833
|
-
} else {
|
|
834
|
-
parameterBlock = `params: Record<string,never>[], `;
|
|
835
400
|
}
|
|
836
|
-
jsDocBlock.push(`*/`);
|
|
837
|
-
actionSignatures.push(`
|
|
838
|
-
${jsDocBlock.join("\n")}
|
|
839
|
-
${action.apiName}<O extends BulkActionExecutionOptions>(${parameterBlock}options?: O):
|
|
840
|
-
Promise<Result<BulkActionResponseFromOptions<O, Edits<${addedObjects.length > 0 ? addedObjects.join(" | ") : "void"}, ${modifiedObjects.length > 0 ? modifiedObjects.join(" | ") : "void"}>>, ActionError>>;
|
|
841
|
-
`);
|
|
842
401
|
}
|
|
843
|
-
|
|
844
|
-
recursive: true
|
|
845
|
-
});
|
|
846
|
-
await fs2.writeFile(path16__default.join(outDir, "BulkActions.ts"), await formatTs(`
|
|
847
|
-
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, BulkActionExecutionOptions, ActionError, Result, ActionResponseFromOptions, BulkActionResponseFromOptions } from "@osdk/legacy-client";
|
|
848
|
-
${Array.from(importedObjects).map((importedObject) => `import type { ${importedObject} } from "../objects/${importedObject}${importExt}";`).join("\n")}
|
|
849
|
-
export interface BulkActions {
|
|
850
|
-
${actionSignatures.join("\n")}
|
|
851
|
-
}
|
|
852
|
-
`));
|
|
853
|
-
}
|
|
854
|
-
async function generateFoundryClientFile(fs2, outDir, importExt = "") {
|
|
855
|
-
await fs2.writeFile(path16__default.join(outDir, "FoundryClient.ts"), await formatTs(`
|
|
856
|
-
import { BaseFoundryClient } from "@osdk/legacy-client";
|
|
857
|
-
import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
|
|
858
|
-
import { Ontology } from "./Ontology${importExt}";
|
|
859
|
-
|
|
860
|
-
export class FoundryClient<TAuth extends Auth = Auth> extends BaseFoundryClient<typeof Ontology, TAuth> {
|
|
861
|
-
constructor(options: FoundryClientOptions<TAuth>) {
|
|
862
|
-
super(options, Ontology);
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
get ontology(): Ontology {
|
|
866
|
-
return super.ontology;
|
|
867
|
-
}
|
|
868
|
-
}`));
|
|
869
|
-
}
|
|
870
|
-
async function generateIndexFile(fs2, outDir, importExt) {
|
|
871
|
-
await fs2.mkdir(outDir, {
|
|
872
|
-
recursive: true
|
|
873
|
-
});
|
|
874
|
-
await fs2.writeFile(path16.join(outDir, "index.ts"), await formatTs(`
|
|
875
|
-
export * from "@osdk/legacy-client";
|
|
876
|
-
export type { Ontology } from "./Ontology${importExt}";
|
|
877
|
-
export { FoundryClient } from "./FoundryClient${importExt}";
|
|
878
|
-
`));
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
// src/util/commaSeparatedIdentifiers.ts
|
|
882
|
-
function commaSeparatedIdentifiers(identifiers, alternateNames) {
|
|
883
|
-
return identifiers.map((i) => {
|
|
884
|
-
const alt = alternateNames?.get(i);
|
|
885
|
-
if (alt) {
|
|
886
|
-
return `${i}: ${alt}`;
|
|
887
|
-
}
|
|
888
|
-
return i;
|
|
889
|
-
}).join(",");
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
// src/util/commaSeparatedTypeIdentifiers.ts
|
|
893
|
-
function commaSeparatedTypeIdentifiers(identifiers, altNames) {
|
|
894
|
-
return identifiers.map((i) => `${i}: typeof ${altNames?.get(i) ?? i}`).join(",");
|
|
895
|
-
}
|
|
896
|
-
|
|
897
|
-
// src/v1.1/generateMetadataFile.ts
|
|
898
|
-
async function generateMetadataFile(ontology, userAgent, fs2, outDir, importExt = "") {
|
|
899
|
-
const objectNames = Object.keys(ontology.objectTypes);
|
|
900
|
-
const actionNames = Object.keys(ontology.actionTypes);
|
|
901
|
-
const queryNames = Object.keys(ontology.queryTypes);
|
|
902
|
-
const actionAltNames = /* @__PURE__ */ new Map();
|
|
903
|
-
const queryAltNames = /* @__PURE__ */ new Map();
|
|
904
|
-
const seenIdentifiers = new Set(objectNames);
|
|
905
|
-
for (const actionName of actionNames) {
|
|
906
|
-
if (seenIdentifiers.has(actionName)) {
|
|
907
|
-
actionAltNames.set(actionName, `${actionName}Action`);
|
|
908
|
-
} else {
|
|
909
|
-
seenIdentifiers.add(actionName);
|
|
910
|
-
}
|
|
911
|
-
}
|
|
912
|
-
for (const queryName of queryNames) {
|
|
913
|
-
if (seenIdentifiers.has(queryName)) {
|
|
914
|
-
queryAltNames.set(queryName, `${queryName}Query`);
|
|
915
|
-
}
|
|
916
|
-
}
|
|
917
|
-
const getImportClause = (name, altNames) => {
|
|
918
|
-
const alt = altNames.get(name);
|
|
919
|
-
if (alt) {
|
|
920
|
-
return `${name} as ${alt}`;
|
|
921
|
-
} else {
|
|
922
|
-
return name;
|
|
923
|
-
}
|
|
924
|
-
};
|
|
925
|
-
await fs2.writeFile(path16__default.join(outDir, "Ontology.ts"), await formatTs(`
|
|
926
|
-
import type { OntologyDefinition } from "@osdk/api";
|
|
927
|
-
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
928
|
-
import type { Objects } from "./ontology/objects/Objects${importExt}";
|
|
929
|
-
import type { Actions } from "./ontology/actions/Actions${importExt}";
|
|
930
|
-
import type { Queries } from "./ontology/queries/Queries${importExt}";
|
|
931
|
-
import type { BatchActions } from "./ontology/actions/BatchActions${importExt}";
|
|
932
|
-
import type { BulkActions } from "./ontology/actions/BulkActions${importExt}";
|
|
933
|
-
${objectNames.map((name) => `import {${name}} from "./ontology/objects/${name}${importExt}";`).join("\n")}
|
|
934
|
-
${actionNames.map((name) => `import {${getImportClause(name, actionAltNames)}} from "./ontology/actions/${name}${importExt}";`).join("\n")}
|
|
935
|
-
${queryNames.map((name) => `import {${getImportClause(name, queryAltNames)}} from "./ontology/queries/${name}${importExt}";`).join("\n")}
|
|
936
|
-
|
|
937
|
-
export const Ontology : {
|
|
938
|
-
metadata: {
|
|
939
|
-
ontologyRid: "${ontology.ontology.rid}",
|
|
940
|
-
ontologyApiName: "${ontology.ontology.apiName}",
|
|
941
|
-
userAgent: "${userAgent}",
|
|
942
|
-
},
|
|
943
|
-
objects: {
|
|
944
|
-
${commaSeparatedTypeIdentifiers(objectNames)}
|
|
945
|
-
},
|
|
946
|
-
actions: {
|
|
947
|
-
${commaSeparatedTypeIdentifiers(actionNames, actionAltNames)}
|
|
948
|
-
},
|
|
949
|
-
queries: {
|
|
950
|
-
${commaSeparatedTypeIdentifiers(queryNames, queryAltNames)}
|
|
951
|
-
},
|
|
952
|
-
} = {
|
|
953
|
-
metadata: {
|
|
954
|
-
ontologyRid: "${ontology.ontology.rid}" as const,
|
|
955
|
-
ontologyApiName: "${ontology.ontology.apiName}" as const,
|
|
956
|
-
userAgent: "${userAgent}" as const,
|
|
957
|
-
},
|
|
958
|
-
objects: {
|
|
959
|
-
${commaSeparatedIdentifiers(objectNames)}
|
|
960
|
-
},
|
|
961
|
-
actions: {
|
|
962
|
-
${commaSeparatedIdentifiers(actionNames, actionAltNames)}
|
|
963
|
-
},
|
|
964
|
-
queries: {
|
|
965
|
-
${commaSeparatedIdentifiers(queryNames, queryAltNames)}
|
|
966
|
-
}
|
|
967
|
-
} satisfies OntologyDefinition<
|
|
968
|
-
${stringUnionFrom(objectNames)},
|
|
969
|
-
${stringUnionFrom(Object.values(ontology.actionTypes).map((actionType) => actionType.apiName))},
|
|
970
|
-
${stringUnionFrom(Object.values(ontology.queryTypes).map((queryType) => queryType.apiName))}>;
|
|
971
|
-
|
|
972
|
-
export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
973
|
-
objects: Objects;
|
|
974
|
-
actions: Actions;
|
|
975
|
-
/** @deprecated use batchActions */
|
|
976
|
-
bulkActions: BulkActions;
|
|
977
|
-
batchActions: BatchActions;
|
|
978
|
-
queries: Queries;
|
|
979
|
-
}`));
|
|
980
|
-
}
|
|
981
|
-
function stringUnionFrom(values) {
|
|
982
|
-
if (values.length === 0) {
|
|
983
|
-
return "never";
|
|
984
|
-
}
|
|
985
|
-
return values.map((n) => `"${n}"`).join("|");
|
|
986
|
-
}
|
|
987
|
-
async function generateObjectsInterfaceFile(ontology, fs2, outDir, importExt = "") {
|
|
988
|
-
await fs2.mkdir(outDir, {
|
|
989
|
-
recursive: true
|
|
990
|
-
});
|
|
991
|
-
await fs2.writeFile(path16__default.join(outDir, "Objects.ts"), await formatTs(`
|
|
992
|
-
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
993
|
-
${Array.from(Object.keys(ontology.objectTypes)).map((importedObject) => `import type { ${importedObject} } from "./${importedObject}${importExt}";`).join("\n")}
|
|
994
|
-
|
|
995
|
-
export interface Objects {
|
|
996
|
-
${Object.keys(ontology.objectTypes).map((apiName) => `${apiName} : BaseObjectSet<${apiName}>;`).join("\n")}
|
|
997
|
-
}
|
|
998
|
-
;`));
|
|
999
|
-
}
|
|
1000
|
-
async function generateObjectsInterfaceSupportFiles(ontology, fs2, outDir, importExt = "") {
|
|
1001
|
-
await fs2.mkdir(outDir, {
|
|
1002
|
-
recursive: true
|
|
1003
|
-
});
|
|
1004
|
-
for (const {
|
|
1005
|
-
objectType: {
|
|
1006
|
-
apiName
|
|
1007
|
-
}
|
|
1008
|
-
} of Object.values(ontology.objectTypes)) {
|
|
1009
|
-
const fileName = join(outDir, `${apiName}.ts`);
|
|
1010
|
-
const localApiName = `OG_${apiName}`;
|
|
1011
|
-
const contents = [];
|
|
1012
|
-
contents.push(`import { ObjectSetAggregateArg, ObjectSetFilterArg, ObjectSetGroupByArg, ObjectSetMultipleAggregateArg, ObjectSetOrderByArg } from "@osdk/legacy-client";`);
|
|
1013
|
-
contents.push(`import { ${apiName} as ${localApiName} } from "../${apiName}${importExt}";`);
|
|
1014
|
-
contents.push("");
|
|
1015
|
-
contents.push(`/** @deprecated Use ${apiName} from ontology/objects instead */`, `export type ${apiName} = ${localApiName};`);
|
|
1016
|
-
contents.push(`/** @deprecated Use ObjectSetFilterArg<${apiName}> instead */`, `export type ${apiName}Filter = ObjectSetFilterArg<${localApiName}>;`);
|
|
1017
|
-
contents.push(`/** @deprecated Use ObjectSetOrderByArg<${apiName}> instead */`, `export type ${apiName}OrderBy = ObjectSetOrderByArg<${localApiName}>;`);
|
|
1018
|
-
contents.push(`/** @deprecated Use ObjectSetGroupByArg<${apiName}> instead */`, `export type ${apiName}GroupByProperties = ObjectSetGroupByArg<${localApiName}>;`);
|
|
1019
|
-
contents.push(`
|
|
1020
|
-
/**
|
|
1021
|
-
* Aggregation properties for ${apiName}
|
|
1022
|
-
* @deprecated Use ObjectSetAggregateArg<${apiName}> instead
|
|
1023
|
-
*/`, `export type ${apiName}AggregationProperties = ObjectSetAggregateArg<${localApiName}>;`);
|
|
1024
|
-
contents.push(`
|
|
1025
|
-
/**
|
|
1026
|
-
* Multiple aggregation properties for ${apiName}.
|
|
1027
|
-
* @deprecated Use ObjectSetMultipleAggregateArg<${apiName}> instead
|
|
1028
|
-
*/`, `export type ${apiName}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${localApiName}>;`);
|
|
1029
|
-
await fs2.writeFile(fileName, contents.join("\n"));
|
|
1030
|
-
}
|
|
1031
|
-
}
|
|
1032
|
-
async function generateOntologyIndexFile(fs2, outDir) {
|
|
1033
|
-
await fs2.mkdir(outDir, {
|
|
1034
|
-
recursive: true
|
|
1035
|
-
});
|
|
1036
|
-
await fs2.writeFile(path16.join(outDir, "index.ts"), await formatTs(`
|
|
1037
|
-
export type { ObjectSet } from "@osdk/legacy-client";
|
|
1038
|
-
`));
|
|
1039
|
-
}
|
|
1040
|
-
|
|
1041
|
-
// src/shared/getObjectImports.ts
|
|
1042
|
-
function getObjectImports(objects, curApiName, currentFilePath, v2) {
|
|
1043
|
-
return Array.from(objects).filter((obj) => obj.fullApiName !== curApiName).map((obj) => {
|
|
1044
|
-
return `import type { ${obj.getDefinitionIdentifier(v2)} as ${obj.getImportedDefinitionIdentifier(v2)} } from "${obj.getImportPathRelTo("./" + currentFilePath)}";`;
|
|
1045
|
-
}).join("\n");
|
|
1046
|
-
}
|
|
1047
|
-
|
|
1048
|
-
// src/shared/wireActionTypeV2ToSdkActionDefinition.ts
|
|
1049
|
-
function wireActionTypeV2ToSdkActionDefinition(input) {
|
|
1050
|
-
const modifiedEntityTypes = getModifiedEntityTypes(input);
|
|
1051
|
-
return {
|
|
1052
|
-
type: "action",
|
|
1053
|
-
apiName: input.apiName,
|
|
1054
|
-
parameters: Object.fromEntries(Object.entries(input.parameters).map(([key, value]) => [key, wireActionParameterV2ToSdkParameterDefinition(value)])),
|
|
1055
|
-
displayName: input.displayName,
|
|
1056
|
-
description: input.description,
|
|
1057
|
-
modifiedEntities: createModifiedEntities(modifiedEntityTypes.addedObjects, modifiedEntityTypes.modifiedObjects)
|
|
1058
|
-
};
|
|
1059
|
-
}
|
|
1060
|
-
function wireActionParameterV2ToSdkParameterDefinition(value) {
|
|
1061
|
-
return {
|
|
1062
|
-
multiplicity: value.dataType.type === "array",
|
|
1063
|
-
type: actionPropertyToSdkPropertyDefinition(value.dataType.type === "array" ? value.dataType.subType : value.dataType),
|
|
1064
|
-
nullable: !value.required,
|
|
1065
|
-
description: value.description
|
|
1066
|
-
};
|
|
1067
|
-
}
|
|
1068
|
-
function actionPropertyToSdkPropertyDefinition(parameterType) {
|
|
1069
|
-
switch (parameterType.type) {
|
|
1070
|
-
case "string":
|
|
1071
|
-
case "boolean":
|
|
1072
|
-
case "attachment":
|
|
1073
|
-
case "double":
|
|
1074
|
-
case "integer":
|
|
1075
|
-
case "long":
|
|
1076
|
-
case "timestamp":
|
|
1077
|
-
case "marking":
|
|
1078
|
-
return parameterType.type;
|
|
1079
|
-
case "date":
|
|
1080
|
-
return "datetime";
|
|
1081
|
-
case "objectSet":
|
|
1082
|
-
return {
|
|
1083
|
-
type: "objectSet",
|
|
1084
|
-
objectSet: parameterType.objectTypeApiName
|
|
1085
|
-
};
|
|
1086
|
-
case "object":
|
|
1087
|
-
return {
|
|
1088
|
-
type: "object",
|
|
1089
|
-
object: parameterType.objectTypeApiName
|
|
1090
|
-
};
|
|
1091
|
-
case "array":
|
|
1092
|
-
return actionPropertyToSdkPropertyDefinition(parameterType.subType);
|
|
1093
|
-
}
|
|
1094
|
-
}
|
|
1095
|
-
function createModifiedEntities(addedObjects, modifiedObjects) {
|
|
1096
|
-
let entities = {};
|
|
1097
|
-
for (const key of addedObjects) {
|
|
1098
|
-
entities[key] = {
|
|
1099
|
-
created: true,
|
|
1100
|
-
modified: false
|
|
1101
|
-
};
|
|
1102
|
-
}
|
|
1103
|
-
for (const key of modifiedObjects) {
|
|
1104
|
-
if (entities[key]) {
|
|
1105
|
-
entities[key].modified = true;
|
|
1106
|
-
} else {
|
|
1107
|
-
entities[key] = {
|
|
1108
|
-
created: false,
|
|
1109
|
-
modified: true
|
|
1110
|
-
};
|
|
1111
|
-
}
|
|
1112
|
-
}
|
|
1113
|
-
return entities;
|
|
402
|
+
return entries.join(separator);
|
|
1114
403
|
}
|
|
1115
404
|
|
|
1116
405
|
// src/util/stringUnionFrom.ts
|
|
1117
|
-
function
|
|
1118
|
-
if (values.length === 0) {
|
|
1119
|
-
return "never";
|
|
1120
|
-
} else {
|
|
1121
|
-
return values.map((v) => `"${v}"`).join("|");
|
|
1122
|
-
}
|
|
1123
|
-
}
|
|
1124
|
-
|
|
1125
|
-
// src/v1.1/generatePerActionDataFilesV1.ts
|
|
1126
|
-
async function generatePerActionDataFilesV1({
|
|
1127
|
-
sanitizedOntology: ontology,
|
|
1128
|
-
fs: fs2,
|
|
1129
|
-
outDir: rootOutDir,
|
|
1130
|
-
importExt = "",
|
|
1131
|
-
ontology: enhancedOntology
|
|
1132
|
-
}) {
|
|
1133
|
-
const outDir = path16__default.join(rootOutDir, "ontology", "actions");
|
|
1134
|
-
await fs2.mkdir(outDir, {
|
|
1135
|
-
recursive: true
|
|
1136
|
-
});
|
|
1137
|
-
await Promise.all(Object.values(enhancedOntology.actionTypes).map(async (action) => {
|
|
1138
|
-
const currentFilePath = `${path16__default.join("ontology", "actions", `${action.shortApiName}.ts`)}`;
|
|
1139
|
-
const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.og);
|
|
1140
|
-
const uniqueApiNames = new Set(uniqueApiNamesArray);
|
|
1141
|
-
const uniqueApiNamesString = stringUnionFrom2([...uniqueApiNames]);
|
|
1142
|
-
const fullActionDef = deleteUndefineds(wireActionTypeV2ToSdkActionDefinition(action.og));
|
|
1143
|
-
function createV1Object() {
|
|
1144
|
-
return ` export const ${action.shortApiName} = ${JSON.stringify(fullActionDef, null, 2)} satisfies ActionDefinition<"${action.shortApiName}", ${uniqueApiNamesString}>;`;
|
|
1145
|
-
}
|
|
1146
|
-
const referencedObjectDefs = /* @__PURE__ */ new Set();
|
|
1147
|
-
for (const p of Object.values(action.parameters)) {
|
|
1148
|
-
if (p.dataType.type === "object" || p.dataType.type === "objectSet") {
|
|
1149
|
-
if (p.dataType.objectApiName) {
|
|
1150
|
-
referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectApiName));
|
|
1151
|
-
}
|
|
1152
|
-
if (p.dataType.objectTypeApiName) {
|
|
1153
|
-
referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectTypeApiName));
|
|
1154
|
-
}
|
|
1155
|
-
}
|
|
1156
|
-
if (p.dataType.type === "array" && (p.dataType.subType.type === "object" || p.dataType.subType.type === "objectSet")) {
|
|
1157
|
-
if (p.dataType.subType.objectApiName) {
|
|
1158
|
-
referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectApiName));
|
|
1159
|
-
}
|
|
1160
|
-
if (p.dataType.subType.objectTypeApiName) {
|
|
1161
|
-
referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectTypeApiName));
|
|
1162
|
-
}
|
|
1163
|
-
}
|
|
1164
|
-
}
|
|
1165
|
-
const imports = getObjectImports(referencedObjectDefs, void 0, currentFilePath, false);
|
|
1166
|
-
await fs2.writeFile(path16__default.join(rootOutDir, currentFilePath), await formatTs(`
|
|
1167
|
-
import type { ActionDefinition, ObjectActionDataType, ObjectSetActionDataType, VersionBound} from "@osdk/api";
|
|
1168
|
-
import type { ApplyActionOptions, ApplyBatchActionOptions, ActionReturnTypeForOptions, ActionParam } from '@osdk/client.api';
|
|
1169
|
-
import { $osdkMetadata} from "../../OntologyMetadata${importExt}";
|
|
1170
|
-
import type { $ExpectedClientVersion } from "../../OntologyMetadata${importExt}";
|
|
1171
|
-
${imports}
|
|
1172
|
-
|
|
1173
|
-
${createV1Object()}
|
|
1174
|
-
`));
|
|
1175
|
-
}));
|
|
1176
|
-
const indexFileRelPath = path16__default.join("ontology", "actions", `index.ts`);
|
|
1177
|
-
await fs2.writeFile(path16__default.join(rootOutDir, indexFileRelPath), await formatTs(`
|
|
1178
|
-
${Object.values(enhancedOntology.actionTypes).map((action) => {
|
|
1179
|
-
const exportConstLine = `export {${action.shortApiName} } from "${action.getImportPathRelTo(indexFileRelPath)}";`;
|
|
1180
|
-
`export type { ${action.paramsIdentifier} } from "${action.getImportPathRelTo(indexFileRelPath)}";`;
|
|
1181
|
-
return exportConstLine;
|
|
1182
|
-
}).join("\n")}
|
|
1183
|
-
${Object.keys(ontology.actionTypes).length === 0 ? "export {};" : ""}
|
|
1184
|
-
`));
|
|
1185
|
-
}
|
|
1186
|
-
function extractReferencedObjectsFromAction(actionType) {
|
|
1187
|
-
const referencedObjectsInParameters = Object.values(actionType.parameters).flatMap(({
|
|
1188
|
-
dataType
|
|
1189
|
-
}) => {
|
|
1190
|
-
const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);
|
|
1191
|
-
return objectTypeReference ? [objectTypeReference] : [];
|
|
1192
|
-
});
|
|
1193
|
-
const referenceObjectsInEdits = actionType.operations.flatMap((value) => {
|
|
1194
|
-
switch (value.type) {
|
|
1195
|
-
case "createObject":
|
|
1196
|
-
return [value.objectTypeApiName];
|
|
1197
|
-
case "modifyObject":
|
|
1198
|
-
return [value.objectTypeApiName];
|
|
1199
|
-
case "deleteObject":
|
|
1200
|
-
case "createLink":
|
|
1201
|
-
case "deleteLink":
|
|
1202
|
-
return [];
|
|
1203
|
-
}
|
|
1204
|
-
});
|
|
1205
|
-
return [...referenceObjectsInEdits, ...referencedObjectsInParameters];
|
|
1206
|
-
}
|
|
1207
|
-
function extractReferencedObjectsFromActionParameter(actionParameter) {
|
|
1208
|
-
switch (actionParameter.type) {
|
|
1209
|
-
case "objectSet":
|
|
1210
|
-
case "object":
|
|
1211
|
-
return actionParameter.objectTypeApiName;
|
|
1212
|
-
case "array":
|
|
1213
|
-
return extractReferencedObjectsFromActionParameter(actionParameter.subType);
|
|
1214
|
-
case "string":
|
|
1215
|
-
case "boolean":
|
|
1216
|
-
case "attachment":
|
|
1217
|
-
case "date":
|
|
1218
|
-
case "double":
|
|
1219
|
-
case "integer":
|
|
1220
|
-
case "long":
|
|
1221
|
-
case "timestamp":
|
|
1222
|
-
return void 0;
|
|
1223
|
-
}
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
|
-
// src/util/stringify.ts
|
|
1227
|
-
var defaultCustomizer = (value, defaultValueFormatter, key, defaultKeyFormatter) => {
|
|
1228
|
-
return [defaultKeyFormatter(key), defaultValueFormatter(value)];
|
|
1229
|
-
};
|
|
1230
|
-
function stringify(obj, customizer = {}, separator = ",\n") {
|
|
1231
|
-
const defaultKeyFormatter = (key) => `${JSON.stringify(key)}`;
|
|
1232
|
-
const entries = [];
|
|
1233
|
-
const sortedKeys = Object.keys(obj).sort((a, b) => a.localeCompare(b));
|
|
1234
|
-
for (const key of sortedKeys) {
|
|
1235
|
-
const value = obj[key];
|
|
1236
|
-
const res = (customizer[key] ?? customizer["*"] ?? defaultCustomizer)(value, (value2) => JSON.stringify(value2, null, 2), key, defaultKeyFormatter);
|
|
1237
|
-
if (res) {
|
|
1238
|
-
if (typeof res === "string") {
|
|
1239
|
-
entries.push(`${defaultKeyFormatter(key)}: ${res}`);
|
|
1240
|
-
} else {
|
|
1241
|
-
entries.push(`${res[0]}: ${res[1]}`);
|
|
1242
|
-
}
|
|
1243
|
-
}
|
|
1244
|
-
}
|
|
1245
|
-
return entries.join(separator);
|
|
1246
|
-
}
|
|
1247
|
-
|
|
1248
|
-
// src/v1.1/wireObjectTypeV2ToSdkObjectConstV1.ts
|
|
1249
|
-
function wireObjectTypeV2ToSdkObjectConstV1(wireObject, {
|
|
1250
|
-
ontology
|
|
1251
|
-
}, currentFilePath) {
|
|
1252
|
-
const object = ontology.requireObjectType(wireObject.objectType.apiName, true);
|
|
1253
|
-
const uniqueLinkTargetTypes = new Set(wireObject.linkTypes.map((a) => ontology.requireObjectType(a.objectTypeApiName, false)));
|
|
1254
|
-
const definition = deleteUndefineds(wireObjectTypeFullMetadataToSdkObjectTypeDefinition(object.og, false));
|
|
1255
|
-
const objectDefIdentifier = object.getDefinitionIdentifier(false);
|
|
1256
|
-
function getV1Types() {
|
|
1257
|
-
return `
|
|
1258
|
-
export interface ${objectDefIdentifier} extends ObjectTypeDefinition<"${object.fullApiName}", ${object.uniqueImportName}> {
|
|
1259
|
-
${stringify(definition, {
|
|
1260
|
-
osdkMetadata: () => void 0,
|
|
1261
|
-
// not used in v1
|
|
1262
|
-
links: (_value) => `{
|
|
1263
|
-
${stringify(definition.links, {
|
|
1264
|
-
"*": (definition2) => `ObjectTypeLinkDefinition<${ontology.requireObjectType(definition2.targetType).getImportedDefinitionIdentifier(false)}, ${definition2.multiplicity}>`
|
|
1265
|
-
})}
|
|
1266
|
-
}`
|
|
1267
|
-
})}
|
|
1268
|
-
}
|
|
1269
|
-
`;
|
|
1270
|
-
}
|
|
1271
|
-
const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, false);
|
|
1272
|
-
return `${imports}${getV1Types()}
|
|
1273
|
-
|
|
1274
|
-
export const ${object.shortApiName}: ${objectDefIdentifier} = {
|
|
1275
|
-
${stringify(definition, {
|
|
1276
|
-
osdkMetadata: (value) => void 0
|
|
1277
|
-
})}
|
|
1278
|
-
|
|
1279
|
-
};`;
|
|
1280
|
-
}
|
|
1281
|
-
|
|
1282
|
-
// src/util/reservedKeywords.ts
|
|
1283
|
-
var reservedKeywords = /* @__PURE__ */ new Set(["break", "case", "catch", "class", "const", "continue", "debugger", "default", "delete", "do", "else", "enum", "export", "extends", "false", "finally", "for", "function", "if", "import", "in", "instanceof", "new", "null", "return", "super", "switch", "this", "throw", "true", "try", "typeof", "var", "void", "while", "with", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"]);
|
|
1284
|
-
function isReservedKeyword(name) {
|
|
1285
|
-
return reservedKeywords.has(name);
|
|
1286
|
-
}
|
|
1287
|
-
|
|
1288
|
-
// src/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.ts
|
|
1289
|
-
function wireObjectTypeV2ToObjectInterfaceStringV1(objectTypeWithLinks, importExt = "") {
|
|
1290
|
-
const uniqueLinkTargets = new Set(objectTypeWithLinks.linkTypes.map((a) => a.objectTypeApiName).filter((a) => a !== objectTypeWithLinks.objectType.apiName));
|
|
1291
|
-
return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink, StringLong } from "@osdk/legacy-client";
|
|
1292
|
-
${Array.from(uniqueLinkTargets).map((linkTarget) => `import type { ${linkTarget} } from "./${linkTarget}${importExt}";`).join("\n")}
|
|
1293
|
-
|
|
1294
|
-
${getDescriptionIfPresent(objectTypeWithLinks.objectType.description)}
|
|
1295
|
-
export interface ${objectTypeWithLinks.objectType.apiName} extends OntologyObject {
|
|
1296
|
-
/** @deprecated please migrate to $apiName instead */
|
|
1297
|
-
readonly __apiName: "${objectTypeWithLinks.objectType.apiName}" & {${objectTypeWithLinks.linkTypes.map((linkType) => {
|
|
1298
|
-
return `/** @deprecated please migrate to pivotTo(${linkType.apiName}) instead */ searchAround${linkType.apiName.charAt(0).toUpperCase() + linkType.apiName.slice(1)}?: never`;
|
|
1299
|
-
})}};
|
|
1300
|
-
/** @deprecated please migrate to $primaryKey instead */
|
|
1301
|
-
readonly __primaryKey: ${wirePropertyTypeV2ToTypeScriptType(objectTypeWithLinks.objectType.properties[objectTypeWithLinks.objectType.primaryKey].dataType)};
|
|
1302
|
-
readonly $apiName: "${objectTypeWithLinks.objectType.apiName}";
|
|
1303
|
-
readonly $primaryKey: ${wirePropertyTypeV2ToTypeScriptType(objectTypeWithLinks.objectType.properties[objectTypeWithLinks.objectType.primaryKey].dataType)};
|
|
1304
|
-
${Object.entries(objectTypeWithLinks.objectType.properties).sort((a, b) => a[0].localeCompare(b[0])).flatMap(([propertyName, propertyDefinition]) => {
|
|
1305
|
-
const propertyType = wirePropertyTypeV2ToTypeScriptType(propertyDefinition.dataType);
|
|
1306
|
-
const entries = [`${getDescriptionIfPresent(propertyDefinition.description, true)}readonly ${propertyName}: ${propertyType} | undefined`];
|
|
1307
|
-
if (isReservedKeyword(propertyName)) {
|
|
1308
|
-
entries.push(`/** @deprecated please migrate to '${propertyName}' instead */
|
|
1309
|
-
readonly ${propertyName}_: ${propertyType} | undefined`);
|
|
1310
|
-
}
|
|
1311
|
-
return entries;
|
|
1312
|
-
}).join(";\n")}
|
|
1313
|
-
${objectTypeWithLinks.linkTypes.flatMap((linkType) => {
|
|
1314
|
-
const entries = [`readonly ${linkType.apiName}: ${linkType.cardinality === "MANY" ? "MultiLink" : "SingleLink"}<${linkType.objectTypeApiName}>`];
|
|
1315
|
-
return entries;
|
|
1316
|
-
}).join(";\n")}
|
|
1317
|
-
}
|
|
1318
|
-
`;
|
|
1319
|
-
}
|
|
1320
|
-
function wirePropertyTypeV2ToTypeScriptType(property) {
|
|
1321
|
-
switch (property.type) {
|
|
1322
|
-
case "string":
|
|
1323
|
-
return "string";
|
|
1324
|
-
case "boolean":
|
|
1325
|
-
return "boolean";
|
|
1326
|
-
case "array":
|
|
1327
|
-
return wirePropertyTypeV2ToTypeScriptType(property.subType) + "[]";
|
|
1328
|
-
case "integer":
|
|
1329
|
-
return "number";
|
|
1330
|
-
case "attachment":
|
|
1331
|
-
return "Attachment";
|
|
1332
|
-
case "byte":
|
|
1333
|
-
return "number";
|
|
1334
|
-
case "date":
|
|
1335
|
-
return "LocalDate";
|
|
1336
|
-
case "decimal":
|
|
1337
|
-
return "string";
|
|
1338
|
-
case "double":
|
|
1339
|
-
return "number";
|
|
1340
|
-
case "float":
|
|
1341
|
-
return "number";
|
|
1342
|
-
case "geopoint":
|
|
1343
|
-
return "GeoPoint";
|
|
1344
|
-
case "geoshape":
|
|
1345
|
-
return "GeoShape";
|
|
1346
|
-
case "long":
|
|
1347
|
-
return "StringLong";
|
|
1348
|
-
case "short":
|
|
1349
|
-
return "number";
|
|
1350
|
-
case "timestamp":
|
|
1351
|
-
return "Timestamp";
|
|
1352
|
-
case "timeseries":
|
|
1353
|
-
return property.itemType.type === "string" ? `TimeSeries<string>` : `TimeSeries<number>`;
|
|
1354
|
-
case "marking":
|
|
1355
|
-
return "string";
|
|
1356
|
-
default:
|
|
1357
|
-
throw new Error(`Unknown property type ${property}`);
|
|
1358
|
-
}
|
|
1359
|
-
}
|
|
1360
|
-
function getDescriptionIfPresent(description, includeNewline) {
|
|
1361
|
-
if (description) {
|
|
1362
|
-
return `/**
|
|
1363
|
-
* ${description}
|
|
1364
|
-
*/${includeNewline ? "\n" : ""}`;
|
|
1365
|
-
}
|
|
1366
|
-
return "";
|
|
1367
|
-
}
|
|
1368
|
-
|
|
1369
|
-
// src/v1.1/generatePerObjectInterfaceAndDataFiles.ts
|
|
1370
|
-
async function generatePerObjectInterfaceAndDataFiles(ontology, fs2, outDir, importExt = "") {
|
|
1371
|
-
await fs2.mkdir(outDir, {
|
|
1372
|
-
recursive: true
|
|
1373
|
-
});
|
|
1374
|
-
await Promise.all(Object.values(ontology.og.objectTypes).map(async (object) => {
|
|
1375
|
-
const relPath = path16__default.join(".", "ontology", `objects`, `${object.objectType.apiName}.ts`);
|
|
1376
|
-
await fs2.writeFile(path16__default.join(outDir, `${object.objectType.apiName}.ts`), await formatTs(`
|
|
1377
|
-
import type { ObjectTypeDefinition, ObjectTypeLinkDefinition, PropertyDef } from "@osdk/api";
|
|
1378
|
-
${wireObjectTypeV2ToObjectInterfaceStringV1(object, importExt)}
|
|
1379
|
-
|
|
1380
|
-
${wireObjectTypeV2ToSdkObjectConstV1(object, {
|
|
1381
|
-
ontology
|
|
1382
|
-
}, relPath)}
|
|
1383
|
-
`));
|
|
1384
|
-
}));
|
|
1385
|
-
await fs2.writeFile(path16__default.join(outDir, "index.ts"), await formatTs(`
|
|
1386
|
-
${Object.keys(ontology.og.objectTypes).map((apiName) => `export * from "./${apiName}${importExt}";`).join("\n")}
|
|
1387
|
-
export type { ObjectSet } from "@osdk/legacy-client";
|
|
1388
|
-
|
|
1389
|
-
`));
|
|
1390
|
-
}
|
|
1391
|
-
|
|
1392
|
-
// src/shared/getObjectTypesFromQueryDataType.ts
|
|
1393
|
-
function getObjectTypesFromQueryDataType(dataType, types) {
|
|
1394
|
-
switch (dataType.type) {
|
|
1395
|
-
case "array":
|
|
1396
|
-
case "set":
|
|
1397
|
-
getObjectTypesFromQueryDataType(dataType.subType, types);
|
|
1398
|
-
return;
|
|
1399
|
-
case "object":
|
|
1400
|
-
types.add(dataType.objectTypeApiName);
|
|
1401
|
-
return;
|
|
1402
|
-
case "objectSet":
|
|
1403
|
-
types.add(dataType.objectTypeApiName);
|
|
1404
|
-
return;
|
|
1405
|
-
case "struct":
|
|
1406
|
-
for (const prop of Object.values(dataType.fields)) {
|
|
1407
|
-
getObjectTypesFromQueryDataType(prop.fieldType, types);
|
|
1408
|
-
}
|
|
1409
|
-
return;
|
|
1410
|
-
case "union":
|
|
1411
|
-
for (const type of dataType.unionTypes) {
|
|
1412
|
-
getObjectTypesFromQueryDataType(type, types);
|
|
1413
|
-
}
|
|
1414
|
-
return;
|
|
1415
|
-
case "attachment":
|
|
1416
|
-
case "boolean":
|
|
1417
|
-
case "date":
|
|
1418
|
-
case "double":
|
|
1419
|
-
case "float":
|
|
1420
|
-
case "integer":
|
|
1421
|
-
case "long":
|
|
1422
|
-
case "null":
|
|
1423
|
-
case "string":
|
|
1424
|
-
case "threeDimensionalAggregation":
|
|
1425
|
-
case "timestamp":
|
|
1426
|
-
case "twoDimensionalAggregation":
|
|
1427
|
-
case "unsupported":
|
|
1428
|
-
return;
|
|
1429
|
-
default:
|
|
1430
|
-
throw new Error(`Cannot find object types from unsupported QueryDataType ${dataType.type}`);
|
|
1431
|
-
}
|
|
1432
|
-
}
|
|
1433
|
-
|
|
1434
|
-
// src/shared/getObjectTypeApiNamesFromQuery.ts
|
|
1435
|
-
function getObjectTypeApiNamesFromQuery(query) {
|
|
1436
|
-
const types = /* @__PURE__ */ new Set();
|
|
1437
|
-
for (const {
|
|
1438
|
-
dataType
|
|
1439
|
-
} of Object.values(query.parameters)) {
|
|
1440
|
-
getObjectTypesFromQueryDataType(dataType, types);
|
|
1441
|
-
}
|
|
1442
|
-
getObjectTypesFromQueryDataType(query.output, types);
|
|
1443
|
-
return Array.from(types);
|
|
1444
|
-
}
|
|
1445
|
-
|
|
1446
|
-
// src/shared/isNullableQueryDataType.ts
|
|
1447
|
-
function isNullableQueryDataType(input) {
|
|
1448
|
-
if (input.type === "null") {
|
|
1449
|
-
return true;
|
|
1450
|
-
}
|
|
1451
|
-
if (input.type === "union") {
|
|
1452
|
-
return input.unionTypes.some((t) => isNullableQueryDataType(t));
|
|
1453
|
-
}
|
|
1454
|
-
return false;
|
|
1455
|
-
}
|
|
1456
|
-
|
|
1457
|
-
// src/shared/wireQueryDataTypeToQueryDataTypeDefinition.ts
|
|
1458
|
-
function wireQueryDataTypeToQueryDataTypeDefinition(input) {
|
|
1459
|
-
switch (input.type) {
|
|
1460
|
-
case "double":
|
|
1461
|
-
case "float":
|
|
1462
|
-
case "integer":
|
|
1463
|
-
case "long":
|
|
1464
|
-
case "attachment":
|
|
1465
|
-
case "boolean":
|
|
1466
|
-
case "date":
|
|
1467
|
-
case "string":
|
|
1468
|
-
case "timestamp":
|
|
1469
|
-
return {
|
|
1470
|
-
type: input.type,
|
|
1471
|
-
nullable: false
|
|
1472
|
-
};
|
|
1473
|
-
case "object":
|
|
1474
|
-
return {
|
|
1475
|
-
type: "object",
|
|
1476
|
-
object: input.objectTypeApiName,
|
|
1477
|
-
nullable: false
|
|
1478
|
-
};
|
|
1479
|
-
case "objectSet":
|
|
1480
|
-
return {
|
|
1481
|
-
type: "objectSet",
|
|
1482
|
-
objectSet: input.objectTypeApiName,
|
|
1483
|
-
nullable: false
|
|
1484
|
-
};
|
|
1485
|
-
case "array":
|
|
1486
|
-
return {
|
|
1487
|
-
...wireQueryDataTypeToQueryDataTypeDefinition(input.subType),
|
|
1488
|
-
multiplicity: true
|
|
1489
|
-
};
|
|
1490
|
-
case "set":
|
|
1491
|
-
return {
|
|
1492
|
-
type: "set",
|
|
1493
|
-
set: wireQueryDataTypeToQueryDataTypeDefinition(input.subType),
|
|
1494
|
-
nullable: false
|
|
1495
|
-
};
|
|
1496
|
-
case "union":
|
|
1497
|
-
const allowNulls = isNullableQueryDataType(input);
|
|
1498
|
-
if (allowNulls && input.unionTypes.length === 2) {
|
|
1499
|
-
const nonNull = input.unionTypes.find((t) => t.type != null);
|
|
1500
|
-
if (nonNull) {
|
|
1501
|
-
return {
|
|
1502
|
-
...wireQueryDataTypeToQueryDataTypeDefinition(nonNull),
|
|
1503
|
-
nullable: true
|
|
1504
|
-
};
|
|
1505
|
-
}
|
|
1506
|
-
}
|
|
1507
|
-
return {
|
|
1508
|
-
type: "union",
|
|
1509
|
-
union: input.unionTypes.reduce((acc, t) => {
|
|
1510
|
-
if (t.type === "null") {
|
|
1511
|
-
return acc;
|
|
1512
|
-
}
|
|
1513
|
-
acc.push(wireQueryDataTypeToQueryDataTypeDefinition(t));
|
|
1514
|
-
return acc;
|
|
1515
|
-
}, []),
|
|
1516
|
-
nullable: allowNulls
|
|
1517
|
-
};
|
|
1518
|
-
case "struct":
|
|
1519
|
-
return {
|
|
1520
|
-
type: "struct",
|
|
1521
|
-
struct: Object.fromEntries(input.fields.map((f) => [f.name, wireQueryDataTypeToQueryDataTypeDefinition(f.fieldType)])),
|
|
1522
|
-
nullable: false
|
|
1523
|
-
};
|
|
1524
|
-
case "twoDimensionalAggregation":
|
|
1525
|
-
return {
|
|
1526
|
-
type: "twoDimensionalAggregation",
|
|
1527
|
-
twoDimensionalAggregation: get2DQueryAggregationProps(input),
|
|
1528
|
-
nullable: false
|
|
1529
|
-
};
|
|
1530
|
-
case "threeDimensionalAggregation":
|
|
1531
|
-
return {
|
|
1532
|
-
type: "threeDimensionalAggregation",
|
|
1533
|
-
threeDimensionalAggregation: get3DQueryAggregationProps(input),
|
|
1534
|
-
nullable: false
|
|
1535
|
-
};
|
|
1536
|
-
case "null":
|
|
1537
|
-
case "unsupported":
|
|
1538
|
-
throw new Error(`Accidentally tried to handle QueryDataType.type ${input.type}`);
|
|
1539
|
-
default:
|
|
1540
|
-
throw new Error(`Unsupported QueryDataType.type ${input.type}`);
|
|
1541
|
-
}
|
|
1542
|
-
}
|
|
1543
|
-
function get2DQueryAggregationProps(input) {
|
|
1544
|
-
if (input.keyType.type === "range") {
|
|
1545
|
-
return {
|
|
1546
|
-
keyType: input.keyType.type,
|
|
1547
|
-
keySubtype: input.keyType.subType.type,
|
|
1548
|
-
valueType: input.valueType.type
|
|
1549
|
-
};
|
|
1550
|
-
} else {
|
|
1551
|
-
if (guardInvalidKeyTypes(input.keyType)) {
|
|
1552
|
-
return {
|
|
1553
|
-
keyType: input.keyType.type,
|
|
1554
|
-
valueType: input.valueType.type
|
|
1555
|
-
};
|
|
1556
|
-
}
|
|
1557
|
-
throw new Error(`Cannot create 2D aggregation with ${input.keyType.type} as its type`);
|
|
1558
|
-
}
|
|
1559
|
-
}
|
|
1560
|
-
function get3DQueryAggregationProps(input) {
|
|
1561
|
-
if (input.keyType.type === "range") {
|
|
1562
|
-
return {
|
|
1563
|
-
keyType: input.keyType.type,
|
|
1564
|
-
keySubtype: input.keyType.subType.type,
|
|
1565
|
-
valueType: get2DQueryAggregationProps(input.valueType)
|
|
1566
|
-
};
|
|
1567
|
-
} else {
|
|
1568
|
-
if (guardInvalidKeyTypes(input.keyType)) {
|
|
1569
|
-
return {
|
|
1570
|
-
keyType: input.keyType.type,
|
|
1571
|
-
valueType: get2DQueryAggregationProps(input.valueType)
|
|
1572
|
-
};
|
|
1573
|
-
}
|
|
1574
|
-
throw new Error(`Cannot create 3D aggregation with ${input.keyType.type} as its type`);
|
|
1575
|
-
}
|
|
1576
|
-
}
|
|
1577
|
-
function guardInvalidKeyTypes(key) {
|
|
1578
|
-
return key.type === "string" || key.type === "boolean";
|
|
1579
|
-
}
|
|
1580
|
-
|
|
1581
|
-
// src/shared/wireQueryTypeV2ToSdkQueryDefinition.ts
|
|
1582
|
-
function wireQueryTypeV2ToSdkQueryDefinition(input) {
|
|
1583
|
-
return {
|
|
1584
|
-
type: "query",
|
|
1585
|
-
apiName: input.apiName,
|
|
1586
|
-
description: input.description,
|
|
1587
|
-
displayName: input.displayName,
|
|
1588
|
-
version: input.version,
|
|
1589
|
-
parameters: Object.fromEntries(Object.entries(input.parameters).map(([name, parameter]) => [name, wireQueryParameterV2ToQueryParameterDefinition(parameter)])),
|
|
1590
|
-
output: wireQueryDataTypeToQueryDataTypeDefinition(input.output)
|
|
1591
|
-
};
|
|
1592
|
-
}
|
|
1593
|
-
function wireQueryTypeV2ToSdkQueryDefinitionNoParams(input) {
|
|
1594
|
-
return {
|
|
1595
|
-
type: "query",
|
|
1596
|
-
apiName: input.apiName,
|
|
1597
|
-
description: input.description,
|
|
1598
|
-
displayName: input.displayName,
|
|
1599
|
-
version: input.version
|
|
1600
|
-
};
|
|
1601
|
-
}
|
|
1602
|
-
function wireQueryParameterV2ToQueryParameterDefinition(parameter) {
|
|
1603
|
-
return {
|
|
1604
|
-
description: parameter.description,
|
|
1605
|
-
...wireQueryDataTypeToQueryDataTypeDefinition(parameter.dataType)
|
|
1606
|
-
};
|
|
1607
|
-
}
|
|
1608
|
-
|
|
1609
|
-
// src/v1.1/generatePerQueryDataFiles.ts
|
|
1610
|
-
async function generatePerQueryDataFiles({
|
|
1611
|
-
fs: fs2,
|
|
1612
|
-
outDir: rootOutDir,
|
|
1613
|
-
ontology
|
|
1614
|
-
}, v2) {
|
|
1615
|
-
const relOutDir = path16__default.join(".", "ontology", "queries");
|
|
1616
|
-
const outDir = path16__default.join(rootOutDir, "ontology", "queries");
|
|
1617
|
-
await fs2.mkdir(outDir, {
|
|
1618
|
-
recursive: true
|
|
1619
|
-
});
|
|
1620
|
-
await Promise.all(Object.values(ontology.queryTypes).map(async (query) => {
|
|
1621
|
-
await generateV1QueryFile(fs2, outDir, query);
|
|
1622
|
-
}));
|
|
1623
|
-
await fs2.writeFile(path16__default.join(outDir, "index.ts"), await formatTs(`
|
|
1624
|
-
${Object.values(ontology.queryTypes).map((query) => `export * from "${query.getImportPathRelTo(path16__default.join(relOutDir, "index.ts"))}";`).join("\n")}
|
|
1625
|
-
${Object.keys(ontology.queryTypes).length === 0 ? "export {};" : ""}
|
|
1626
|
-
`));
|
|
1627
|
-
}
|
|
1628
|
-
async function generateV1QueryFile(fs2, outDir, query) {
|
|
1629
|
-
const objectTypes = getObjectTypeApiNamesFromQuery(query);
|
|
1630
|
-
await fs2.writeFile(path16__default.join(outDir, `${query.shortApiName}.ts`), await formatTs(`
|
|
1631
|
-
import { QueryDefinition } from "@osdk/api";
|
|
1632
|
-
|
|
1633
|
-
export const ${query.shortApiName} = ${JSON.stringify(wireQueryTypeV2ToSdkQueryDefinition(query.og))} ${getQueryDefSatisfies(query.fullApiName, objectTypes)}`));
|
|
1634
|
-
}
|
|
1635
|
-
function getQueryDefSatisfies(apiName, objectTypes) {
|
|
1636
|
-
return `satisfies QueryDefinition<"${apiName}", ${objectTypes.length > 0 ? objectTypes.map((apiNameObj) => `"${apiNameObj}"`).join("|") : "never"}>;`;
|
|
1637
|
-
}
|
|
1638
|
-
async function generateQueries(ontology, fs2, outDir, importExt = "") {
|
|
1639
|
-
const importedObjects = /* @__PURE__ */ new Set();
|
|
1640
|
-
const signatures = [];
|
|
1641
|
-
for (const query of Object.values(ontology.queryTypes)) {
|
|
1642
|
-
const jsDocBlock = ["/**"];
|
|
1643
|
-
if (query.description) {
|
|
1644
|
-
jsDocBlock.push(`* ${query.description}`);
|
|
1645
|
-
}
|
|
1646
|
-
const outputType = handleQueryDataType(query.output, importedObjects, true);
|
|
1647
|
-
const paramEntries = [];
|
|
1648
|
-
for (const [name, parameter] of Object.entries(query.parameters)) {
|
|
1649
|
-
const nullable = isNullableQueryDataType(parameter.dataType);
|
|
1650
|
-
const type = handleQueryDataType(parameter.dataType, importedObjects, false);
|
|
1651
|
-
paramEntries.push(`"${name}"${nullable ? "?" : ""}: ${type}`);
|
|
1652
|
-
jsDocBlock.push(`* @param {${sanitizeDocTypeName(type)}} params.${name}${parameter.description ? ` - ${parameter.description}` : ""}`);
|
|
1653
|
-
}
|
|
1654
|
-
const param = paramEntries.length === 0 ? "" : `params: { ${paramEntries.join("; ")} }`;
|
|
1655
|
-
jsDocBlock.push(`* @returns ${sanitizeDocTypeName(outputType)}`, "*/");
|
|
1656
|
-
signatures.push(`
|
|
1657
|
-
${jsDocBlock.join("\n")}
|
|
1658
|
-
${query.apiName}(${param}): Promise<Result<QueryResponse<${outputType}>, QueryError>>;
|
|
1659
|
-
`);
|
|
1660
|
-
}
|
|
1661
|
-
await fs2.mkdir(outDir, {
|
|
1662
|
-
recursive: true
|
|
1663
|
-
});
|
|
1664
|
-
await fs2.writeFile(path16__default.join(outDir, "Queries.ts"), await formatTs(`
|
|
1665
|
-
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
1666
|
-
${Array.from(importedObjects).map((importedObject) => `import type { ${importedObject} } from "../objects/${importedObject}${importExt}";`).join("\n")}
|
|
1667
|
-
|
|
1668
|
-
export interface Queries {
|
|
1669
|
-
${signatures.join("\n")}
|
|
1670
|
-
}
|
|
1671
|
-
`));
|
|
1672
|
-
}
|
|
1673
|
-
function handleQueryDataType(dataType, importedObjects, isReturnValue) {
|
|
1674
|
-
switch (dataType.type) {
|
|
1675
|
-
case "boolean":
|
|
1676
|
-
return "boolean";
|
|
1677
|
-
case "string":
|
|
1678
|
-
return "string";
|
|
1679
|
-
case "double":
|
|
1680
|
-
case "float":
|
|
1681
|
-
case "integer":
|
|
1682
|
-
return "number";
|
|
1683
|
-
case "long":
|
|
1684
|
-
return isReturnValue ? "string" : "string | number";
|
|
1685
|
-
case "date":
|
|
1686
|
-
return "LocalDate";
|
|
1687
|
-
case "timestamp":
|
|
1688
|
-
return "Timestamp";
|
|
1689
|
-
case "attachment":
|
|
1690
|
-
return "Attachment";
|
|
1691
|
-
case "array":
|
|
1692
|
-
return `Array<${handleQueryDataType(dataType.subType, importedObjects, isReturnValue)}>`;
|
|
1693
|
-
case "object": {
|
|
1694
|
-
const objectType = dataType.objectTypeApiName;
|
|
1695
|
-
importedObjects.add(objectType);
|
|
1696
|
-
return isReturnValue ? objectType : `${objectType} | ${objectType}["__primaryKey"]`;
|
|
1697
|
-
}
|
|
1698
|
-
case "objectSet": {
|
|
1699
|
-
const objectType = dataType.objectTypeApiName;
|
|
1700
|
-
importedObjects.add(objectType);
|
|
1701
|
-
return `ObjectSet<${objectType}>`;
|
|
1702
|
-
}
|
|
1703
|
-
case "set":
|
|
1704
|
-
return `Set<${handleQueryDataType(dataType.subType, importedObjects, isReturnValue)}>`;
|
|
1705
|
-
case "struct":
|
|
1706
|
-
const properties = dataType.fields.map((field) => {
|
|
1707
|
-
const isNullable = isNullableQueryDataType(field.fieldType);
|
|
1708
|
-
return `${field.name}${isNullable ? "?" : ""}: ${handleQueryDataType(field.fieldType, importedObjects, isReturnValue)}`;
|
|
1709
|
-
});
|
|
1710
|
-
return `{ ${properties.join(",\n")} }`;
|
|
1711
|
-
case "union":
|
|
1712
|
-
return dataType.unionTypes.map((type) => handleQueryDataType(type, importedObjects, isReturnValue)).filter((type) => type !== "null").join("|");
|
|
1713
|
-
case "twoDimensionalAggregation":
|
|
1714
|
-
dataType.valueType;
|
|
1715
|
-
return `TwoDimensionalAggregation<
|
|
1716
|
-
${aggregationKeyToTypescriptType(dataType.keyType)},
|
|
1717
|
-
${aggregationValueToTypescriptType(dataType.valueType)}
|
|
1718
|
-
>`;
|
|
1719
|
-
case "threeDimensionalAggregation":
|
|
1720
|
-
return `ThreeDimensionalAggregation<
|
|
1721
|
-
${aggregationKeyToTypescriptType(dataType.keyType)},
|
|
1722
|
-
${aggregationKeyToTypescriptType(dataType.valueType.keyType)},
|
|
1723
|
-
${aggregationValueToTypescriptType(dataType.valueType.valueType)}
|
|
1724
|
-
>`;
|
|
1725
|
-
case "null":
|
|
1726
|
-
return "null";
|
|
1727
|
-
case "unsupported":
|
|
1728
|
-
throw new Error("Cannot generate queries for unsupported type");
|
|
1729
|
-
default:
|
|
1730
|
-
throw new Error(`Cannot generate queries for type ${dataType.type}`);
|
|
1731
|
-
}
|
|
1732
|
-
}
|
|
1733
|
-
function aggregationKeyToTypescriptType(keyType) {
|
|
1734
|
-
switch (keyType.type) {
|
|
1735
|
-
case "boolean":
|
|
1736
|
-
return "boolean";
|
|
1737
|
-
case "double":
|
|
1738
|
-
case "integer":
|
|
1739
|
-
return "number";
|
|
1740
|
-
case "string":
|
|
1741
|
-
return "string";
|
|
1742
|
-
case "date":
|
|
1743
|
-
return "LocalDate";
|
|
1744
|
-
case "timestamp":
|
|
1745
|
-
return "Timestamp";
|
|
1746
|
-
case "range":
|
|
1747
|
-
return `Range<${aggregationRangeToTypescriptType(keyType.subType)}>`;
|
|
1748
|
-
default:
|
|
1749
|
-
throw new Error(`Unknown TwoDimensionalAggregation keyType ${keyType.type}`);
|
|
1750
|
-
}
|
|
1751
|
-
}
|
|
1752
|
-
function aggregationRangeToTypescriptType(subType) {
|
|
1753
|
-
switch (subType.type) {
|
|
1754
|
-
case "date":
|
|
1755
|
-
return "LocalDate";
|
|
1756
|
-
case "double":
|
|
1757
|
-
case "integer":
|
|
1758
|
-
return "number";
|
|
1759
|
-
case "timestamp":
|
|
1760
|
-
return "Timestamp";
|
|
1761
|
-
default:
|
|
1762
|
-
throw new Error(`Unsupported QueryAggregationRangeSubType ${subType.type}`);
|
|
1763
|
-
}
|
|
1764
|
-
}
|
|
1765
|
-
function aggregationValueToTypescriptType(valueType) {
|
|
1766
|
-
switch (valueType.type) {
|
|
1767
|
-
case "date":
|
|
1768
|
-
return "LocalDate";
|
|
1769
|
-
case "double":
|
|
1770
|
-
return "number";
|
|
1771
|
-
case "timestamp":
|
|
1772
|
-
return "Timestamp";
|
|
1773
|
-
default:
|
|
1774
|
-
throw new Error(`Unsupported QueryAggregationValueType ${valueType.type}`);
|
|
406
|
+
function stringUnionFrom(values) {
|
|
407
|
+
if (values.length === 0) {
|
|
408
|
+
return "never";
|
|
409
|
+
} else {
|
|
410
|
+
return values.map((v) => `"${v}"`).join("|");
|
|
1775
411
|
}
|
|
1776
412
|
}
|
|
1777
|
-
function sanitizeDocTypeName(type) {
|
|
1778
|
-
return type.replace(/\s/g, "");
|
|
1779
|
-
}
|
|
1780
413
|
|
|
1781
|
-
// src/v1.1/
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
recursive: true
|
|
1790
|
-
});
|
|
1791
|
-
const sanitizedOntology = sanitizeMetadata(ontology);
|
|
1792
|
-
const enhancedOntology = enhanceOntology(sanitizedOntology, void 0, /* @__PURE__ */ new Map(), importExt);
|
|
1793
|
-
await generateFoundryClientFile(fs2, outDir, importExt);
|
|
1794
|
-
await generateMetadataFile(sanitizedOntology, userAgent, fs2, outDir, importExt);
|
|
1795
|
-
await generateOntologyIndexFile(fs2, path16.join(outDir, "ontology"));
|
|
1796
|
-
await generateObjectsInterfaceFile(sanitizedOntology, fs2, objectsDir, importExt);
|
|
1797
|
-
await generateObjectsInterfaceSupportFiles(sanitizedOntology, fs2, path16.join(objectsDir, "objects-api"), importExt);
|
|
1798
|
-
await generatePerObjectInterfaceAndDataFiles(enhancedOntology, fs2, objectsDir, importExt);
|
|
1799
|
-
const common = {
|
|
1800
|
-
sanitizedOntology,
|
|
1801
|
-
fs: fs2,
|
|
1802
|
-
outDir,
|
|
1803
|
-
ontology: enhancedOntology
|
|
1804
|
-
};
|
|
1805
|
-
await generateActions(sanitizedOntology, fs2, actionsDir, importExt);
|
|
1806
|
-
await generateBatchActions(sanitizedOntology, fs2, actionsDir, importExt);
|
|
1807
|
-
await generateBulkActions(sanitizedOntology, fs2, actionsDir, importExt);
|
|
1808
|
-
await generatePerActionDataFilesV1(common);
|
|
1809
|
-
await generateQueries(sanitizedOntology, fs2, queriesDir, importExt);
|
|
1810
|
-
await generatePerQueryDataFiles(common);
|
|
1811
|
-
await generateIndexFile(fs2, outDir, importExt);
|
|
1812
|
-
await generateBackCompatDeprecatedExports(fs2, outDir, importExt);
|
|
1813
|
-
}
|
|
1814
|
-
var ExpectedOsdkVersion = "0.22.0";
|
|
1815
|
-
async function generateOntologyMetadataFile({
|
|
1816
|
-
fs: fs2,
|
|
1817
|
-
outDir,
|
|
1818
|
-
ontology,
|
|
1819
|
-
ontologyApiNamespace
|
|
1820
|
-
}, userAgent) {
|
|
1821
|
-
fs2.writeFile(path16__default.join(outDir, "OntologyMetadata.ts"), await formatTs(`
|
|
1822
|
-
export type $ExpectedClientVersion = "${ExpectedOsdkVersion}";
|
|
1823
|
-
export const $osdkMetadata = { extraUserAgent: "${userAgent}" };
|
|
1824
|
-
${ontologyApiNamespace == null ? `
|
|
1825
|
-
export const $ontologyRid = "${ontology.ontology.rid}";
|
|
1826
|
-
` : ""}
|
|
1827
|
-
`));
|
|
414
|
+
// src/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.ts
|
|
415
|
+
function getDescriptionIfPresent(description, includeNewline) {
|
|
416
|
+
if (description) {
|
|
417
|
+
return `/**
|
|
418
|
+
* ${description}
|
|
419
|
+
*/${""}`;
|
|
420
|
+
}
|
|
421
|
+
return "";
|
|
1828
422
|
}
|
|
1829
423
|
|
|
1830
424
|
// src/shared/propertyJsdoc.ts
|
|
@@ -1950,7 +544,7 @@ function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {
|
|
|
1950
544
|
const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, true);
|
|
1951
545
|
return `${imports}${getV2Types()}
|
|
1952
546
|
|
|
1953
|
-
export const ${object.shortApiName}: ${objectDefIdentifier}
|
|
547
|
+
export const ${object.shortApiName}: ${objectDefIdentifier}
|
|
1954
548
|
= {
|
|
1955
549
|
osdkMetadata: $osdkMetadata,
|
|
1956
550
|
objectSet: undefined as any,
|
|
@@ -1969,7 +563,7 @@ function createOsdkObject(object, identifier, {
|
|
|
1969
563
|
osdkObjectStrictPropsIdentifier,
|
|
1970
564
|
osdkObjectLinksIdentifier
|
|
1971
565
|
}) {
|
|
1972
|
-
|
|
566
|
+
object.getCleanedUpDefinition(true);
|
|
1973
567
|
return `
|
|
1974
568
|
export type ${identifier}<
|
|
1975
569
|
OPTIONS extends never | "$notStrict" | "$rid" = never,
|
|
@@ -1979,23 +573,10 @@ function createOsdkObject(object, identifier, {
|
|
|
1979
573
|
= $Osdk<
|
|
1980
574
|
${objectDefIdentifier},
|
|
1981
575
|
K | OPTIONS
|
|
1982
|
-
>
|
|
1983
|
-
|
|
1984
|
-
? ${osdkObjectStrictPropsIdentifier} :
|
|
1985
|
-
OPTIONS extends "$notStrict" ? ${osdkObjectPropsIdentifier} : ${osdkObjectStrictPropsIdentifier}
|
|
1986
|
-
, K
|
|
1987
|
-
> & {
|
|
1988
|
-
readonly $link: ${osdkObjectLinksIdentifier};
|
|
1989
|
-
readonly $title: string | undefined; // FIXME
|
|
1990
|
-
readonly $primaryKey: ${"primaryKeyApiName" in definition ? `
|
|
1991
|
-
$OsdkObjectPropertyType<${JSON.stringify(definition.properties[definition.primaryKeyApiName])},${true}>` : "string | number"}
|
|
576
|
+
>
|
|
577
|
+
|
|
1992
578
|
;
|
|
1993
|
-
|
|
1994
|
-
readonly $as: <NEW_Q extends $ValidToFrom<${objectDefIdentifier}>>(type: NEW_Q | string) => $Osdk<
|
|
1995
|
-
NEW_Q,
|
|
1996
|
-
$ConvertProps<${objectDefIdentifier}, NEW_Q, K>
|
|
1997
|
-
>;
|
|
1998
|
-
} & $OsdkObject<"${object.fullApiName}">;`;
|
|
579
|
+
`;
|
|
1999
580
|
}
|
|
2000
581
|
function createObjectSet(object, {
|
|
2001
582
|
objectDefIdentifier,
|
|
@@ -2010,74 +591,7 @@ $ObjectSet<${objectDefIdentifier},
|
|
|
2010
591
|
${objectSetIdentifier}
|
|
2011
592
|
>
|
|
2012
593
|
{
|
|
2013
|
-
readonly aggregate: <const AO extends $AggregateOpts<${objectDefIdentifier}>>(
|
|
2014
|
-
req: $AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<${objectDefIdentifier}, AO>,
|
|
2015
|
-
) => Promise<$AggregationsResults<${objectDefIdentifier}, AO>>;
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
readonly pivotTo: <const L extends $LinkNames<${objectDefIdentifier}>>(type: L) => $LinkedType<${objectDefIdentifier}, L>["objectSet"];
|
|
2019
|
-
${object instanceof EnhancedObjectType ? `
|
|
2020
|
-
readonly fetchOne: <
|
|
2021
|
-
const L extends ${propertyKeysIdentifier},
|
|
2022
|
-
const R extends boolean,
|
|
2023
|
-
const S extends false | "throw" = $NullabilityAdherenceDefault,
|
|
2024
|
-
>(
|
|
2025
|
-
primaryKey: $PropertyValueClientToWire[${objectDefIdentifier}["primaryKeyType"]],
|
|
2026
|
-
options?: $SelectArg<${objectDefIdentifier}, L, R, S>,
|
|
2027
|
-
) => Promise<
|
|
2028
|
-
${osdkObjectIdentifier}<
|
|
2029
|
-
(S extends false ? "$notStrict" : never) | ($DefaultToFalse<R> extends false? never: "$rid" ),
|
|
2030
|
-
$IsAny<L> extends true ? ${propertyKeysIdentifier} : L
|
|
2031
|
-
>>
|
|
2032
|
-
;
|
|
2033
594
|
|
|
2034
|
-
readonly fetchOneWithErrors: <
|
|
2035
|
-
const L extends ${propertyKeysIdentifier},
|
|
2036
|
-
const R extends boolean,
|
|
2037
|
-
const S extends false | "throw" = $NullabilityAdherenceDefault,
|
|
2038
|
-
>(
|
|
2039
|
-
primaryKey: $PropertyValueClientToWire[${objectDefIdentifier}["primaryKeyType"]],
|
|
2040
|
-
options?: $SelectArg<${objectDefIdentifier}, L, R, S>,
|
|
2041
|
-
) => Promise<$Result<
|
|
2042
|
-
${osdkObjectIdentifier}<
|
|
2043
|
-
(S extends false ? "$notStrict" : never) | ($DefaultToFalse<R> extends false?never: "$rid"),
|
|
2044
|
-
$IsAny<L> extends true ? ${propertyKeysIdentifier} : L
|
|
2045
|
-
>
|
|
2046
|
-
>>
|
|
2047
|
-
|
|
2048
|
-
;
|
|
2049
|
-
|
|
2050
|
-
` : ""}
|
|
2051
|
-
|
|
2052
|
-
readonly fetchPage: <
|
|
2053
|
-
const L extends ${propertyKeysIdentifier},
|
|
2054
|
-
const R extends boolean,
|
|
2055
|
-
const const A extends $Augments,
|
|
2056
|
-
const S extends $NullabilityAdherence = $NullabilityAdherenceDefault,
|
|
2057
|
-
>(
|
|
2058
|
-
args?: $FetchPageArgs<${objectDefIdentifier}, L, R, A, S>,
|
|
2059
|
-
) => Promise<
|
|
2060
|
-
$PageResult<${osdkObjectIdentifier}<
|
|
2061
|
-
(S extends false ? "$notStrict" : never) | ($DefaultToFalse<R> extends false? never: "$rid"),
|
|
2062
|
-
$IsAny<L> extends true ? ${propertyKeysIdentifier} : L
|
|
2063
|
-
>>
|
|
2064
|
-
>;
|
|
2065
|
-
|
|
2066
|
-
readonly fetchPageWithErrors: <
|
|
2067
|
-
const L extends ${propertyKeysIdentifier},
|
|
2068
|
-
const R extends boolean,
|
|
2069
|
-
const A extends $Augments,
|
|
2070
|
-
const S extends $NullabilityAdherence = $NullabilityAdherenceDefault,
|
|
2071
|
-
>(
|
|
2072
|
-
args?: $FetchPageArgs<${objectDefIdentifier}, L, R, A, S>,
|
|
2073
|
-
) => Promise<$Result<
|
|
2074
|
-
$PageResult<${osdkObjectIdentifier}<
|
|
2075
|
-
(S extends false ? "$notStrict" : never) | ($DefaultToFalse<R> extends false? never : "$rid"),
|
|
2076
|
-
$IsAny<L> extends true ? ${propertyKeysIdentifier} : L
|
|
2077
|
-
>>
|
|
2078
|
-
>>;
|
|
2079
|
-
|
|
2080
|
-
readonly asyncIter: () => AsyncIterableIterator<${osdkObjectIdentifier}>;
|
|
2081
595
|
}
|
|
2082
596
|
`;
|
|
2083
597
|
}
|
|
@@ -2109,7 +623,7 @@ function createDefinition(object, ontology, identifier, {
|
|
|
2109
623
|
}) {
|
|
2110
624
|
const definition = object.getCleanedUpDefinition(true);
|
|
2111
625
|
return `
|
|
2112
|
-
export interface ${identifier} extends ${object instanceof EnhancedObjectType ? `$ObjectTypeDefinition` : `$InterfaceDefinition`}<"${object.fullApiName}", ${objectDefIdentifier}
|
|
626
|
+
export interface ${identifier} extends ${object instanceof EnhancedObjectType ? `$ObjectTypeDefinition` : `$InterfaceDefinition`}<"${object.fullApiName}", ${objectDefIdentifier}> {
|
|
2113
627
|
osdkMetadata: typeof $osdkMetadata;
|
|
2114
628
|
objectSet: ${objectSetIdentifier};
|
|
2115
629
|
props: ${osdkObjectPropsIdentifier};
|
|
@@ -2163,15 +677,15 @@ async function generatePerActionDataFiles({
|
|
|
2163
677
|
importExt = "",
|
|
2164
678
|
ontology: enhancedOntology
|
|
2165
679
|
}) {
|
|
2166
|
-
const outDir =
|
|
680
|
+
const outDir = path5__default.join(rootOutDir, "ontology", "actions");
|
|
2167
681
|
await fs2.mkdir(outDir, {
|
|
2168
682
|
recursive: true
|
|
2169
683
|
});
|
|
2170
684
|
await Promise.all(Object.values(enhancedOntology.actionTypes).map(async (action) => {
|
|
2171
|
-
const currentFilePath = `${
|
|
2172
|
-
const uniqueApiNamesArray =
|
|
685
|
+
const currentFilePath = `${path5__default.join("ontology", "actions", `${action.shortApiName}.ts`)}`;
|
|
686
|
+
const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.og);
|
|
2173
687
|
const uniqueApiNames = new Set(uniqueApiNamesArray);
|
|
2174
|
-
const uniqueApiNamesString =
|
|
688
|
+
const uniqueApiNamesString = stringUnionFrom([...uniqueApiNames]);
|
|
2175
689
|
const fullActionDef = deleteUndefineds(wireActionTypeV2ToSdkActionDefinition(action.og));
|
|
2176
690
|
const {
|
|
2177
691
|
parameters,
|
|
@@ -2294,7 +808,7 @@ async function generatePerActionDataFiles({
|
|
|
2294
808
|
}
|
|
2295
809
|
}
|
|
2296
810
|
const imports = getObjectImports(referencedObjectDefs, void 0, currentFilePath, true);
|
|
2297
|
-
await fs2.writeFile(
|
|
811
|
+
await fs2.writeFile(path5__default.join(rootOutDir, currentFilePath), await formatTs(`
|
|
2298
812
|
import type { ActionDefinition, ObjectActionDataType, ObjectSetActionDataType, VersionBound} from "@osdk/api";
|
|
2299
813
|
import type { ApplyActionOptions, ApplyBatchActionOptions, ActionReturnTypeForOptions, ActionParam } from '@osdk/client.api';
|
|
2300
814
|
import { $osdkMetadata} from "../../OntologyMetadata${importExt}";
|
|
@@ -2307,8 +821,8 @@ async function generatePerActionDataFiles({
|
|
|
2307
821
|
${createV2Object()}
|
|
2308
822
|
`));
|
|
2309
823
|
}));
|
|
2310
|
-
const indexFileRelPath =
|
|
2311
|
-
await fs2.writeFile(
|
|
824
|
+
const indexFileRelPath = path5__default.join("ontology", "actions.ts");
|
|
825
|
+
await fs2.writeFile(path5__default.join(rootOutDir, indexFileRelPath), await formatTs(`
|
|
2312
826
|
${Object.values(enhancedOntology.actionTypes).map((action) => {
|
|
2313
827
|
const exportConstLine = `export {${action.shortApiName} } from "${action.getImportPathRelTo(indexFileRelPath)}";`;
|
|
2314
828
|
return exportConstLine;
|
|
@@ -2316,11 +830,11 @@ async function generatePerActionDataFiles({
|
|
|
2316
830
|
${Object.keys(ontology.actionTypes).length === 0 ? "export {};" : ""}
|
|
2317
831
|
`));
|
|
2318
832
|
}
|
|
2319
|
-
function
|
|
833
|
+
function extractReferencedObjectsFromAction(actionType) {
|
|
2320
834
|
const referencedObjectsInParameters = Object.values(actionType.parameters).flatMap(({
|
|
2321
835
|
dataType
|
|
2322
836
|
}) => {
|
|
2323
|
-
const objectTypeReference =
|
|
837
|
+
const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);
|
|
2324
838
|
return objectTypeReference ? [objectTypeReference] : [];
|
|
2325
839
|
});
|
|
2326
840
|
const referenceObjectsInEdits = actionType.operations.flatMap((value) => {
|
|
@@ -2337,13 +851,13 @@ function extractReferencedObjectsFromAction2(actionType) {
|
|
|
2337
851
|
});
|
|
2338
852
|
return [...referenceObjectsInEdits, ...referencedObjectsInParameters];
|
|
2339
853
|
}
|
|
2340
|
-
function
|
|
854
|
+
function extractReferencedObjectsFromActionParameter(actionParameter) {
|
|
2341
855
|
switch (actionParameter.type) {
|
|
2342
856
|
case "objectSet":
|
|
2343
857
|
case "object":
|
|
2344
858
|
return actionParameter.objectTypeApiName;
|
|
2345
859
|
case "array":
|
|
2346
|
-
return
|
|
860
|
+
return extractReferencedObjectsFromActionParameter(actionParameter.subType);
|
|
2347
861
|
case "string":
|
|
2348
862
|
case "boolean":
|
|
2349
863
|
case "attachment":
|
|
@@ -2355,14 +869,222 @@ function extractReferencedObjectsFromActionParameter2(actionParameter) {
|
|
|
2355
869
|
return void 0;
|
|
2356
870
|
}
|
|
2357
871
|
}
|
|
872
|
+
|
|
873
|
+
// src/shared/getObjectTypesFromQueryDataType.ts
|
|
874
|
+
function getObjectTypesFromQueryDataType(dataType, types) {
|
|
875
|
+
switch (dataType.type) {
|
|
876
|
+
case "array":
|
|
877
|
+
case "set":
|
|
878
|
+
getObjectTypesFromQueryDataType(dataType.subType, types);
|
|
879
|
+
return;
|
|
880
|
+
case "object":
|
|
881
|
+
types.add(dataType.objectTypeApiName);
|
|
882
|
+
return;
|
|
883
|
+
case "objectSet":
|
|
884
|
+
types.add(dataType.objectTypeApiName);
|
|
885
|
+
return;
|
|
886
|
+
case "struct":
|
|
887
|
+
for (const prop of Object.values(dataType.fields)) {
|
|
888
|
+
getObjectTypesFromQueryDataType(prop.fieldType, types);
|
|
889
|
+
}
|
|
890
|
+
return;
|
|
891
|
+
case "union":
|
|
892
|
+
for (const type of dataType.unionTypes) {
|
|
893
|
+
getObjectTypesFromQueryDataType(type, types);
|
|
894
|
+
}
|
|
895
|
+
return;
|
|
896
|
+
case "attachment":
|
|
897
|
+
case "boolean":
|
|
898
|
+
case "date":
|
|
899
|
+
case "double":
|
|
900
|
+
case "float":
|
|
901
|
+
case "integer":
|
|
902
|
+
case "long":
|
|
903
|
+
case "null":
|
|
904
|
+
case "string":
|
|
905
|
+
case "threeDimensionalAggregation":
|
|
906
|
+
case "timestamp":
|
|
907
|
+
case "twoDimensionalAggregation":
|
|
908
|
+
case "unsupported":
|
|
909
|
+
return;
|
|
910
|
+
default:
|
|
911
|
+
throw new Error(`Cannot find object types from unsupported QueryDataType ${dataType.type}`);
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
// src/shared/getObjectTypeApiNamesFromQuery.ts
|
|
916
|
+
function getObjectTypeApiNamesFromQuery(query) {
|
|
917
|
+
const types = /* @__PURE__ */ new Set();
|
|
918
|
+
for (const {
|
|
919
|
+
dataType
|
|
920
|
+
} of Object.values(query.parameters)) {
|
|
921
|
+
getObjectTypesFromQueryDataType(dataType, types);
|
|
922
|
+
}
|
|
923
|
+
getObjectTypesFromQueryDataType(query.output, types);
|
|
924
|
+
return Array.from(types);
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
// src/shared/isNullableQueryDataType.ts
|
|
928
|
+
function isNullableQueryDataType(input) {
|
|
929
|
+
if (input.type === "null") {
|
|
930
|
+
return true;
|
|
931
|
+
}
|
|
932
|
+
if (input.type === "union") {
|
|
933
|
+
return input.unionTypes.some((t) => isNullableQueryDataType(t));
|
|
934
|
+
}
|
|
935
|
+
return false;
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
// src/shared/wireQueryDataTypeToQueryDataTypeDefinition.ts
|
|
939
|
+
function wireQueryDataTypeToQueryDataTypeDefinition(input) {
|
|
940
|
+
switch (input.type) {
|
|
941
|
+
case "double":
|
|
942
|
+
case "float":
|
|
943
|
+
case "integer":
|
|
944
|
+
case "long":
|
|
945
|
+
case "attachment":
|
|
946
|
+
case "boolean":
|
|
947
|
+
case "date":
|
|
948
|
+
case "string":
|
|
949
|
+
case "timestamp":
|
|
950
|
+
return {
|
|
951
|
+
type: input.type,
|
|
952
|
+
nullable: false
|
|
953
|
+
};
|
|
954
|
+
case "object":
|
|
955
|
+
return {
|
|
956
|
+
type: "object",
|
|
957
|
+
object: input.objectTypeApiName,
|
|
958
|
+
nullable: false
|
|
959
|
+
};
|
|
960
|
+
case "objectSet":
|
|
961
|
+
return {
|
|
962
|
+
type: "objectSet",
|
|
963
|
+
objectSet: input.objectTypeApiName,
|
|
964
|
+
nullable: false
|
|
965
|
+
};
|
|
966
|
+
case "array":
|
|
967
|
+
return {
|
|
968
|
+
...wireQueryDataTypeToQueryDataTypeDefinition(input.subType),
|
|
969
|
+
multiplicity: true
|
|
970
|
+
};
|
|
971
|
+
case "set":
|
|
972
|
+
return {
|
|
973
|
+
type: "set",
|
|
974
|
+
set: wireQueryDataTypeToQueryDataTypeDefinition(input.subType),
|
|
975
|
+
nullable: false
|
|
976
|
+
};
|
|
977
|
+
case "union":
|
|
978
|
+
const allowNulls = isNullableQueryDataType(input);
|
|
979
|
+
if (allowNulls && input.unionTypes.length === 2) {
|
|
980
|
+
const nonNull = input.unionTypes.find((t) => t.type != null);
|
|
981
|
+
if (nonNull) {
|
|
982
|
+
return {
|
|
983
|
+
...wireQueryDataTypeToQueryDataTypeDefinition(nonNull),
|
|
984
|
+
nullable: true
|
|
985
|
+
};
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
return {
|
|
989
|
+
type: "union",
|
|
990
|
+
union: input.unionTypes.reduce((acc, t) => {
|
|
991
|
+
if (t.type === "null") {
|
|
992
|
+
return acc;
|
|
993
|
+
}
|
|
994
|
+
acc.push(wireQueryDataTypeToQueryDataTypeDefinition(t));
|
|
995
|
+
return acc;
|
|
996
|
+
}, []),
|
|
997
|
+
nullable: allowNulls
|
|
998
|
+
};
|
|
999
|
+
case "struct":
|
|
1000
|
+
return {
|
|
1001
|
+
type: "struct",
|
|
1002
|
+
struct: Object.fromEntries(input.fields.map((f) => [f.name, wireQueryDataTypeToQueryDataTypeDefinition(f.fieldType)])),
|
|
1003
|
+
nullable: false
|
|
1004
|
+
};
|
|
1005
|
+
case "twoDimensionalAggregation":
|
|
1006
|
+
return {
|
|
1007
|
+
type: "twoDimensionalAggregation",
|
|
1008
|
+
twoDimensionalAggregation: get2DQueryAggregationProps(input),
|
|
1009
|
+
nullable: false
|
|
1010
|
+
};
|
|
1011
|
+
case "threeDimensionalAggregation":
|
|
1012
|
+
return {
|
|
1013
|
+
type: "threeDimensionalAggregation",
|
|
1014
|
+
threeDimensionalAggregation: get3DQueryAggregationProps(input),
|
|
1015
|
+
nullable: false
|
|
1016
|
+
};
|
|
1017
|
+
case "null":
|
|
1018
|
+
case "unsupported":
|
|
1019
|
+
throw new Error(`Accidentally tried to handle QueryDataType.type ${input.type}`);
|
|
1020
|
+
default:
|
|
1021
|
+
throw new Error(`Unsupported QueryDataType.type ${input.type}`);
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
function get2DQueryAggregationProps(input) {
|
|
1025
|
+
if (input.keyType.type === "range") {
|
|
1026
|
+
return {
|
|
1027
|
+
keyType: input.keyType.type,
|
|
1028
|
+
keySubtype: input.keyType.subType.type,
|
|
1029
|
+
valueType: input.valueType.type
|
|
1030
|
+
};
|
|
1031
|
+
} else {
|
|
1032
|
+
if (guardInvalidKeyTypes(input.keyType)) {
|
|
1033
|
+
return {
|
|
1034
|
+
keyType: input.keyType.type,
|
|
1035
|
+
valueType: input.valueType.type
|
|
1036
|
+
};
|
|
1037
|
+
}
|
|
1038
|
+
throw new Error(`Cannot create 2D aggregation with ${input.keyType.type} as its type`);
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
function get3DQueryAggregationProps(input) {
|
|
1042
|
+
if (input.keyType.type === "range") {
|
|
1043
|
+
return {
|
|
1044
|
+
keyType: input.keyType.type,
|
|
1045
|
+
keySubtype: input.keyType.subType.type,
|
|
1046
|
+
valueType: get2DQueryAggregationProps(input.valueType)
|
|
1047
|
+
};
|
|
1048
|
+
} else {
|
|
1049
|
+
if (guardInvalidKeyTypes(input.keyType)) {
|
|
1050
|
+
return {
|
|
1051
|
+
keyType: input.keyType.type,
|
|
1052
|
+
valueType: get2DQueryAggregationProps(input.valueType)
|
|
1053
|
+
};
|
|
1054
|
+
}
|
|
1055
|
+
throw new Error(`Cannot create 3D aggregation with ${input.keyType.type} as its type`);
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
function guardInvalidKeyTypes(key) {
|
|
1059
|
+
return key.type === "string" || key.type === "boolean";
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
// src/shared/wireQueryTypeV2ToSdkQueryDefinition.ts
|
|
1063
|
+
function wireQueryTypeV2ToSdkQueryDefinitionNoParams(input) {
|
|
1064
|
+
return {
|
|
1065
|
+
type: "query",
|
|
1066
|
+
apiName: input.apiName,
|
|
1067
|
+
description: input.description,
|
|
1068
|
+
displayName: input.displayName,
|
|
1069
|
+
version: input.version
|
|
1070
|
+
};
|
|
1071
|
+
}
|
|
1072
|
+
function wireQueryParameterV2ToQueryParameterDefinition(parameter) {
|
|
1073
|
+
return {
|
|
1074
|
+
description: parameter.description,
|
|
1075
|
+
...wireQueryDataTypeToQueryDataTypeDefinition(parameter.dataType)
|
|
1076
|
+
};
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
// src/v2.0/generatePerQueryDataFiles.ts
|
|
2358
1080
|
async function generatePerQueryDataFilesV2({
|
|
2359
1081
|
fs: fs2,
|
|
2360
1082
|
outDir: rootOutDir,
|
|
2361
1083
|
ontology,
|
|
2362
1084
|
importExt = ""
|
|
2363
1085
|
}, v2) {
|
|
2364
|
-
const relOutDir =
|
|
2365
|
-
const outDir =
|
|
1086
|
+
const relOutDir = path5__default.join(".", "ontology", "queries");
|
|
1087
|
+
const outDir = path5__default.join(rootOutDir, "ontology", "queries");
|
|
2366
1088
|
await fs2.mkdir(outDir, {
|
|
2367
1089
|
recursive: true
|
|
2368
1090
|
});
|
|
@@ -2376,13 +1098,13 @@ async function generatePerQueryDataFilesV2({
|
|
|
2376
1098
|
`));
|
|
2377
1099
|
}
|
|
2378
1100
|
async function generateV2QueryFile(fs2, outDir, relOutDir, query, importExt, ontology) {
|
|
2379
|
-
const relFilePath =
|
|
1101
|
+
const relFilePath = path5__default.join(relOutDir, `${query.shortApiName}.ts`);
|
|
2380
1102
|
const objectTypes = getObjectTypeApiNamesFromQuery(query);
|
|
2381
1103
|
const importObjects = getObjectImports2(ontology, objectTypes, relFilePath);
|
|
2382
1104
|
const baseProps = deleteUndefineds(wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.og));
|
|
2383
1105
|
const outputBase = deleteUndefineds(wireQueryDataTypeToQueryDataTypeDefinition(query.output));
|
|
2384
1106
|
const referencedObjectTypes = objectTypes.length > 0 ? objectTypes.map((apiNameObj) => `"${apiNameObj}"`).join("|") : "never";
|
|
2385
|
-
await fs2.writeFile(
|
|
1107
|
+
await fs2.writeFile(path5__default.join(outDir, `${query.shortApiName}.ts`), await formatTs(`
|
|
2386
1108
|
import type { QueryDefinition , VersionBound} from "@osdk/api";
|
|
2387
1109
|
import type { QueryParam, QueryResult } from "@osdk/client.api";
|
|
2388
1110
|
import type { $ExpectedClientVersion } from "../../OntologyMetadata${importExt}";
|
|
@@ -2688,11 +1410,15 @@ async function generateRootIndexTsFile({
|
|
|
2688
1410
|
importExt,
|
|
2689
1411
|
ontologyApiNamespace
|
|
2690
1412
|
}) {
|
|
2691
|
-
fs2.writeFile(
|
|
1413
|
+
fs2.writeFile(path5__default.join(outDir, "index.ts"), await formatTs(`${ontologyApiNamespace == null ? `export { $ontologyRid } from "./OntologyMetadata${importExt}";` : ``}
|
|
2692
1414
|
export * from "./ontology/actions${importExt}";
|
|
1415
|
+
export * as $Actions from "./ontology/actions${importExt}";
|
|
2693
1416
|
export * from "./ontology/objects${importExt}";
|
|
1417
|
+
export * as $Objects from "./ontology/objects${importExt}";
|
|
2694
1418
|
export * from "./ontology/interfaces${importExt}";
|
|
1419
|
+
export * as $Interfaces from "./ontology/interfaces${importExt}";
|
|
2695
1420
|
export * from "./ontology/queries${importExt}";
|
|
1421
|
+
export * as $Queries from "./ontology/queries${importExt}";
|
|
2696
1422
|
`));
|
|
2697
1423
|
}
|
|
2698
1424
|
async function generateEachObjectFile(ctx) {
|
|
@@ -2702,12 +1428,12 @@ async function generateEachObjectFile(ctx) {
|
|
|
2702
1428
|
ontology,
|
|
2703
1429
|
importExt
|
|
2704
1430
|
} = ctx;
|
|
2705
|
-
await fs2.mkdir(
|
|
1431
|
+
await fs2.mkdir(path5__default.join(outDir, "ontology", "objects"), {
|
|
2706
1432
|
recursive: true
|
|
2707
1433
|
});
|
|
2708
1434
|
for (const obj of Object.values(ontology.objectTypes)) {
|
|
2709
|
-
const relPath =
|
|
2710
|
-
const outFilePath =
|
|
1435
|
+
const relPath = path5__default.join(".", "ontology", `objects`, `${obj.shortApiName}.ts`);
|
|
1436
|
+
const outFilePath = path5__default.join(outDir, relPath);
|
|
2711
1437
|
await fs2.writeFile(outFilePath, await formatTs(`
|
|
2712
1438
|
import type { VersionBound as $VersionBound, PropertyDef as $PropertyDef } from "@osdk/api";
|
|
2713
1439
|
import type { Osdk } from "@osdk/client.api";
|
|
@@ -2738,12 +1464,12 @@ async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs2, ou
|
|
|
2738
1464
|
await generateOntologyMetadataFile(ctx, userAgent);
|
|
2739
1465
|
await generateEachObjectFile(ctx);
|
|
2740
1466
|
await generateOntologyInterfaces(ctx);
|
|
2741
|
-
const actionsDir =
|
|
1467
|
+
const actionsDir = path5__default.join(outDir, "ontology", "actions");
|
|
2742
1468
|
await fs2.mkdir(actionsDir, {
|
|
2743
1469
|
recursive: true
|
|
2744
1470
|
});
|
|
2745
1471
|
await generatePerActionDataFiles(ctx);
|
|
2746
|
-
await fs2.writeFile(
|
|
1472
|
+
await fs2.writeFile(path5__default.join(outDir, "ontology", "objects.ts"), await formatTs(`
|
|
2747
1473
|
${Object.values(enhancedOntology.objectTypes).map((objType) => `export * from "./objects/${objType.shortApiName}${importExt}";`).join("\n")}
|
|
2748
1474
|
${Object.keys(ontology.objectTypes).length === 0 ? "export {};" : ""}
|
|
2749
1475
|
`));
|
|
@@ -2755,12 +1481,12 @@ async function generateOntologyInterfaces({
|
|
|
2755
1481
|
ontology,
|
|
2756
1482
|
importExt
|
|
2757
1483
|
}) {
|
|
2758
|
-
const interfacesDir =
|
|
1484
|
+
const interfacesDir = path5__default.join(outDir, "ontology", "interfaces");
|
|
2759
1485
|
await fs2.mkdir(interfacesDir, {
|
|
2760
1486
|
recursive: true
|
|
2761
1487
|
});
|
|
2762
1488
|
for (const obj of Object.values(ontology.interfaceTypes)) {
|
|
2763
|
-
await fs2.writeFile(
|
|
1489
|
+
await fs2.writeFile(path5__default.join(interfacesDir, `${obj.shortApiName}.ts`), await formatTs(`
|
|
2764
1490
|
|
|
2765
1491
|
import type { PropertyDef as $PropertyDef, VersionBound as $VersionBound } from "@osdk/api";
|
|
2766
1492
|
import { $osdkMetadata, $expectedClientVersion } from "../../OntologyMetadata${importExt}";
|
|
@@ -2776,26 +1502,29 @@ async function generateOntologyInterfaces({
|
|
|
2776
1502
|
|
|
2777
1503
|
// src/generateClientSdkPackage.ts
|
|
2778
1504
|
async function generateClientSdkPackage(packageName, packageVersion, sdkVersion, baseOutDir, ontology, minimalFs, dependencyVersions, cliVersion, ontologyApiNamespace, apiNamespacePackageMap) {
|
|
2779
|
-
if (!packageName) throw new Error("Package name is
|
|
1505
|
+
if (!packageName) throw new Error("Package name is required");
|
|
1506
|
+
if (sdkVersion === "1.1") {
|
|
1507
|
+
throw new Error("This generator version does not support generating v1 sdks");
|
|
1508
|
+
}
|
|
2780
1509
|
for (const packageType of ["module", "commonjs"]) {
|
|
2781
|
-
const outDir =
|
|
2782
|
-
|
|
1510
|
+
const outDir = path5.join(baseOutDir, "dist", packageType);
|
|
1511
|
+
generateClientSdkVersionTwoPointZero(ontology, `typescript-sdk/${packageVersion} osdk-cli/${cliVersion}`, minimalFs, outDir, packageType, ontologyApiNamespace, apiNamespacePackageMap);
|
|
2783
1512
|
await fs.promises.mkdir(outDir, {
|
|
2784
1513
|
recursive: true
|
|
2785
1514
|
});
|
|
2786
|
-
await writeJson(minimalFs,
|
|
1515
|
+
await writeJson(minimalFs, path5.join(outDir, "package.json"), {
|
|
2787
1516
|
type: packageType
|
|
2788
1517
|
});
|
|
2789
|
-
await writeJson(minimalFs,
|
|
1518
|
+
await writeJson(minimalFs, path5.join(outDir, `tsconfig.json`), {
|
|
2790
1519
|
compilerOptions: getTsCompilerOptions(packageType)
|
|
2791
1520
|
});
|
|
2792
1521
|
}
|
|
2793
|
-
await writeJson(minimalFs,
|
|
2794
|
-
await minimalFs.mkdir(
|
|
1522
|
+
await writeJson(minimalFs, path5.join(baseOutDir, "package.json"), await getPackageJsonContents(packageName, packageVersion, dependencyVersions));
|
|
1523
|
+
await minimalFs.mkdir(path5.join(baseOutDir, "ontology"), {
|
|
2795
1524
|
recursive: true
|
|
2796
1525
|
});
|
|
2797
|
-
await minimalFs.writeFile(
|
|
2798
|
-
await minimalFs.writeFile(
|
|
1526
|
+
await minimalFs.writeFile(path5.join(baseOutDir, "ontology", "objects.js"), `module.exports = require("../../dist/module/ontology/objects")`);
|
|
1527
|
+
await minimalFs.writeFile(path5.join(baseOutDir, "ontology", "objects.d.ts"), `export * from "../dist/module/ontology/objects"`);
|
|
2799
1528
|
}
|
|
2800
1529
|
function getTsCompilerOptions(packageType) {
|
|
2801
1530
|
const commonTsconfig = {
|
|
@@ -2818,39 +1547,30 @@ function getTsCompilerOptions(packageType) {
|
|
|
2818
1547
|
};
|
|
2819
1548
|
return compilerOptions;
|
|
2820
1549
|
}
|
|
2821
|
-
function getExpectedDependencies(
|
|
1550
|
+
function getExpectedDependencies({
|
|
2822
1551
|
osdkApiVersion,
|
|
2823
1552
|
osdkClientVersion,
|
|
2824
|
-
osdkClientApiVersion
|
|
2825
|
-
osdkLegacyClientVersion
|
|
1553
|
+
osdkClientApiVersion
|
|
2826
1554
|
}) {
|
|
2827
1555
|
return {
|
|
2828
1556
|
devDependencies: {
|
|
2829
1557
|
"@osdk/api": osdkApiVersion,
|
|
2830
|
-
|
|
2831
|
-
"@osdk/client.api": osdkClientApiVersion
|
|
2832
|
-
} : {
|
|
2833
|
-
"@osdk/legacy-client": osdkLegacyClientVersion
|
|
2834
|
-
}
|
|
1558
|
+
"@osdk/client.api": osdkClientApiVersion
|
|
2835
1559
|
},
|
|
2836
1560
|
peerDependencies: {
|
|
2837
1561
|
"@osdk/api": osdkApiVersion,
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
"@osdk/client": osdkClientVersion
|
|
2841
|
-
} : {
|
|
2842
|
-
"@osdk/legacy-client": osdkLegacyClientVersion
|
|
2843
|
-
}
|
|
1562
|
+
"@osdk/client.api": osdkClientApiVersion,
|
|
1563
|
+
"@osdk/client": osdkClientVersion
|
|
2844
1564
|
}
|
|
2845
1565
|
};
|
|
2846
1566
|
}
|
|
2847
|
-
function getExpectedDependenciesFull(
|
|
1567
|
+
function getExpectedDependenciesFull(dependencyVersions) {
|
|
2848
1568
|
const {
|
|
2849
1569
|
typescriptVersion,
|
|
2850
1570
|
tslibVersion,
|
|
2851
1571
|
areTheTypesWrongVersion
|
|
2852
1572
|
} = dependencyVersions;
|
|
2853
|
-
const base = getExpectedDependencies(
|
|
1573
|
+
const base = getExpectedDependencies(dependencyVersions);
|
|
2854
1574
|
return {
|
|
2855
1575
|
devDependencies: {
|
|
2856
1576
|
...base.devDependencies,
|
|
@@ -2863,7 +1583,7 @@ function getExpectedDependenciesFull(sdkVersion, dependencyVersions) {
|
|
|
2863
1583
|
}
|
|
2864
1584
|
};
|
|
2865
1585
|
}
|
|
2866
|
-
function getPackageJsonContents(name, version,
|
|
1586
|
+
function getPackageJsonContents(name, version, dependencyVersions) {
|
|
2867
1587
|
const esmPrefix = "./dist/module";
|
|
2868
1588
|
const commonjsPrefix = "./dist/commonjs";
|
|
2869
1589
|
return {
|
|
@@ -2875,17 +1595,13 @@ function getPackageJsonContents(name, version, sdkVersion, dependencyVersions) {
|
|
|
2875
1595
|
".": {
|
|
2876
1596
|
import: `${esmPrefix}/index.js`,
|
|
2877
1597
|
require: `${commonjsPrefix}/index.js`
|
|
2878
|
-
},
|
|
2879
|
-
"./ontology/objects": {
|
|
2880
|
-
import: `${esmPrefix}/ontology/objects${sdkVersion === "2.0" ? "" : "/index"}.js`,
|
|
2881
|
-
require: `${commonjsPrefix}/ontology/objects${sdkVersion === "2.0" ? "" : "/index"}.js`
|
|
2882
1598
|
}
|
|
2883
1599
|
},
|
|
2884
1600
|
scripts: {
|
|
2885
1601
|
prepack: `tsc -p ${esmPrefix}/tsconfig.json && tsc -p ${commonjsPrefix}/tsconfig.json`,
|
|
2886
1602
|
check: "npm exec attw $(npm pack)"
|
|
2887
1603
|
},
|
|
2888
|
-
...getExpectedDependenciesFull(
|
|
1604
|
+
...getExpectedDependenciesFull(dependencyVersions),
|
|
2889
1605
|
files: ["**/*.js", "**/*.d.ts", "dist/**/package.json"]
|
|
2890
1606
|
};
|
|
2891
1607
|
}
|
|
@@ -2893,6 +1609,6 @@ async function writeJson(minimalFs, filePath, body) {
|
|
|
2893
1609
|
return await minimalFs.writeFile(filePath, JSON.stringify(body, void 0, 2) + "\n");
|
|
2894
1610
|
}
|
|
2895
1611
|
|
|
2896
|
-
export { generateClientSdkPackage as __UNSTABLE_generateClientSdkPackage,
|
|
1612
|
+
export { generateClientSdkPackage as __UNSTABLE_generateClientSdkPackage, generateClientSdkVersionTwoPointZero, getExpectedDependencies };
|
|
2897
1613
|
//# sourceMappingURL=index.js.map
|
|
2898
1614
|
//# sourceMappingURL=index.js.map
|