@osdk/generator 2.1.0-beta.3 → 2.1.0-beta.30
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 +293 -0
- package/build/browser/GenerateContext/EnhanceCommon.js +0 -15
- package/build/browser/GenerateContext/EnhanceCommon.js.map +1 -1
- package/build/browser/GenerateContext/EnhancedAction.js +1 -1
- package/build/browser/GenerateContext/EnhancedAction.js.map +1 -1
- package/build/browser/GenerateContext/EnhancedBase.js +2 -7
- package/build/browser/GenerateContext/EnhancedBase.js.map +1 -1
- package/build/browser/GenerateContext/EnhancedInterfaceType.js +1 -1
- package/build/browser/GenerateContext/EnhancedInterfaceType.js.map +1 -1
- package/build/browser/GenerateContext/EnhancedObjectType.js +1 -1
- package/build/browser/GenerateContext/EnhancedObjectType.js.map +1 -1
- package/build/browser/GenerateContext/EnhancedOntologyDefinition.js +1 -8
- package/build/browser/GenerateContext/EnhancedOntologyDefinition.js.map +1 -1
- package/build/browser/GenerateContext/EnhancedQuery.js +1 -1
- package/build/browser/GenerateContext/EnhancedQuery.js.map +1 -1
- package/build/browser/GenerateContext/EnhancedSharedPropertyType.js +1 -1
- package/build/browser/GenerateContext/EnhancedSharedPropertyType.js.map +1 -1
- package/build/browser/GenerateContext/ForeignType.js +1 -1
- package/build/browser/GenerateContext/ForeignType.js.map +1 -1
- package/build/browser/GenerateContext/GenerateContext.js +0 -15
- package/build/browser/GenerateContext/GenerateContext.js.map +1 -1
- package/build/browser/GenerateContext/enhanceOntology.js +1 -0
- package/build/browser/GenerateContext/enhanceOntology.js.map +1 -1
- package/build/browser/MinimalFs.js +0 -15
- package/build/browser/MinimalFs.js.map +1 -1
- package/build/browser/WireOntologyDefinition.js +0 -15
- package/build/browser/WireOntologyDefinition.js.map +1 -1
- package/build/browser/generateClientSdkPackage.js +5 -3
- package/build/browser/generateClientSdkPackage.js.map +1 -1
- package/build/browser/generateClientSdkPackage.test.js +3 -2
- package/build/browser/generateClientSdkPackage.test.js.map +1 -1
- package/build/browser/index.js +1 -0
- package/build/browser/index.js.map +1 -1
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.js +1 -0
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.js.map +1 -1
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js +1 -0
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js.map +1 -1
- package/build/browser/shared/getObjectImports.js +1 -0
- package/build/browser/shared/getObjectImports.js.map +1 -1
- package/build/browser/shared/getObjectTypeApiNamesFromQuery.js +1 -0
- package/build/browser/shared/getObjectTypeApiNamesFromQuery.js.map +1 -1
- package/build/browser/shared/getObjectTypesFromQueryDataType.js +1 -0
- package/build/browser/shared/getObjectTypesFromQueryDataType.js.map +1 -1
- package/build/browser/shared/propertyJsdoc.js +1 -0
- package/build/browser/shared/propertyJsdoc.js.map +1 -1
- package/build/browser/shared/sanitizeMetadata.js +9 -0
- package/build/browser/shared/sanitizeMetadata.js.map +1 -1
- package/build/browser/shared/sanitizeMetadata.test.js +1 -0
- package/build/browser/shared/sanitizeMetadata.test.js.map +1 -1
- package/build/browser/util/InMemoryFs.js +1 -0
- package/build/browser/util/InMemoryFs.js.map +1 -1
- package/build/browser/util/commaSeparatedIdentifiers.js +1 -0
- package/build/browser/util/commaSeparatedIdentifiers.js.map +1 -1
- package/build/browser/util/commaSeparatedTypeIdentifiers.js +1 -0
- package/build/browser/util/commaSeparatedTypeIdentifiers.js.map +1 -1
- package/build/browser/util/deleteUndefineds.js +1 -0
- package/build/browser/util/deleteUndefineds.js.map +1 -1
- package/build/browser/util/reservedKeywords.js +1 -0
- package/build/browser/util/reservedKeywords.js.map +1 -1
- package/build/browser/util/stringUnionFrom.js +1 -0
- package/build/browser/util/stringUnionFrom.js.map +1 -1
- package/build/browser/util/stringify.js +16 -0
- package/build/browser/util/stringify.js.map +1 -1
- package/build/browser/util/test/TodoWireOntology.js +24 -5
- package/build/browser/util/test/TodoWireOntology.js.map +1 -1
- package/build/browser/util/test/compileThis.js +1 -0
- package/build/browser/util/test/compileThis.js.map +1 -1
- package/build/browser/util/test/createMockMinimalFiles.js +1 -0
- package/build/browser/util/test/createMockMinimalFiles.js.map +1 -1
- package/build/browser/util/test/formatTs.js +1 -0
- package/build/browser/util/test/formatTs.js.map +1 -1
- package/build/browser/util/verifyOutDir.js +1 -0
- package/build/browser/util/verifyOutDir.js.map +1 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +8 -6
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +22 -20
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js +7 -3
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +572 -557
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
- package/build/browser/v2.0/generateMetadata.js +4 -1
- package/build/browser/v2.0/generateMetadata.js.map +1 -1
- package/build/browser/v2.0/generatePerActionDataFiles.js +33 -10
- package/build/browser/v2.0/generatePerActionDataFiles.js.map +1 -1
- package/build/browser/v2.0/generatePerActionDataFiles.test.js +1 -0
- package/build/browser/v2.0/generatePerActionDataFiles.test.js.map +1 -1
- package/build/browser/v2.0/generatePerInterfaceDataFiles.js +6 -3
- package/build/browser/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
- package/build/browser/v2.0/generatePerObjectDataFiles.js +2 -1
- package/build/browser/v2.0/generatePerObjectDataFiles.js.map +1 -1
- package/build/browser/v2.0/generatePerQueryDataFiles.js +6 -5
- package/build/browser/v2.0/generatePerQueryDataFiles.js.map +1 -1
- package/build/browser/v2.0/generatePerQueryDataFiles.test.js +9 -8
- package/build/browser/v2.0/generatePerQueryDataFiles.test.js.map +1 -1
- package/build/browser/v2.0/generateRootIndexTsFile.js +3 -1
- package/build/browser/v2.0/generateRootIndexTsFile.js.map +1 -1
- package/build/browser/v2.0/getDescriptionIfPresent.js +1 -0
- package/build/browser/v2.0/getDescriptionIfPresent.js.map +1 -1
- package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +23 -10
- package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
- package/build/browser/validateWireOntologyAssumptions.js +3 -2
- package/build/browser/validateWireOntologyAssumptions.js.map +1 -1
- package/build/cjs/index.cjs +1384 -0
- package/build/cjs/index.cjs.map +1 -0
- package/build/cjs/index.d.cts +31 -0
- package/build/esm/GenerateContext/EnhanceCommon.js +0 -15
- package/build/esm/GenerateContext/EnhanceCommon.js.map +1 -1
- package/build/esm/GenerateContext/EnhancedAction.js +1 -1
- package/build/esm/GenerateContext/EnhancedAction.js.map +1 -1
- package/build/esm/GenerateContext/EnhancedBase.js +2 -7
- package/build/esm/GenerateContext/EnhancedBase.js.map +1 -1
- package/build/esm/GenerateContext/EnhancedInterfaceType.js +1 -1
- package/build/esm/GenerateContext/EnhancedInterfaceType.js.map +1 -1
- package/build/esm/GenerateContext/EnhancedObjectType.js +1 -1
- package/build/esm/GenerateContext/EnhancedObjectType.js.map +1 -1
- package/build/esm/GenerateContext/EnhancedOntologyDefinition.js +1 -8
- package/build/esm/GenerateContext/EnhancedOntologyDefinition.js.map +1 -1
- package/build/esm/GenerateContext/EnhancedQuery.js +1 -1
- package/build/esm/GenerateContext/EnhancedQuery.js.map +1 -1
- package/build/esm/GenerateContext/EnhancedSharedPropertyType.js +1 -1
- package/build/esm/GenerateContext/EnhancedSharedPropertyType.js.map +1 -1
- package/build/esm/GenerateContext/ForeignType.js +1 -1
- package/build/esm/GenerateContext/ForeignType.js.map +1 -1
- package/build/esm/GenerateContext/GenerateContext.js +0 -15
- package/build/esm/GenerateContext/GenerateContext.js.map +1 -1
- package/build/esm/GenerateContext/enhanceOntology.js +1 -0
- package/build/esm/GenerateContext/enhanceOntology.js.map +1 -1
- package/build/esm/MinimalFs.js +0 -15
- package/build/esm/MinimalFs.js.map +1 -1
- package/build/esm/WireOntologyDefinition.js +0 -15
- package/build/esm/WireOntologyDefinition.js.map +1 -1
- package/build/esm/generateClientSdkPackage.js +5 -3
- package/build/esm/generateClientSdkPackage.js.map +1 -1
- package/build/esm/generateClientSdkPackage.test.js +3 -2
- package/build/esm/generateClientSdkPackage.test.js.map +1 -1
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.js +1 -0
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.js.map +1 -1
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js +1 -0
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js.map +1 -1
- package/build/esm/shared/getObjectImports.js +1 -0
- package/build/esm/shared/getObjectImports.js.map +1 -1
- package/build/esm/shared/getObjectTypeApiNamesFromQuery.js +1 -0
- package/build/esm/shared/getObjectTypeApiNamesFromQuery.js.map +1 -1
- package/build/esm/shared/getObjectTypesFromQueryDataType.js +1 -0
- package/build/esm/shared/getObjectTypesFromQueryDataType.js.map +1 -1
- package/build/esm/shared/propertyJsdoc.js +1 -0
- package/build/esm/shared/propertyJsdoc.js.map +1 -1
- package/build/esm/shared/sanitizeMetadata.js +9 -0
- package/build/esm/shared/sanitizeMetadata.js.map +1 -1
- package/build/esm/shared/sanitizeMetadata.test.js +1 -0
- package/build/esm/shared/sanitizeMetadata.test.js.map +1 -1
- package/build/esm/util/InMemoryFs.js +1 -0
- package/build/esm/util/InMemoryFs.js.map +1 -1
- package/build/esm/util/commaSeparatedIdentifiers.js +1 -0
- package/build/esm/util/commaSeparatedIdentifiers.js.map +1 -1
- package/build/esm/util/commaSeparatedTypeIdentifiers.js +1 -0
- package/build/esm/util/commaSeparatedTypeIdentifiers.js.map +1 -1
- package/build/esm/util/deleteUndefineds.js +1 -0
- package/build/esm/util/deleteUndefineds.js.map +1 -1
- package/build/esm/util/reservedKeywords.js +1 -0
- package/build/esm/util/reservedKeywords.js.map +1 -1
- package/build/esm/util/stringUnionFrom.js +1 -0
- package/build/esm/util/stringUnionFrom.js.map +1 -1
- package/build/esm/util/stringify.js +16 -0
- package/build/esm/util/stringify.js.map +1 -1
- package/build/esm/util/test/TodoWireOntology.js +24 -5
- package/build/esm/util/test/TodoWireOntology.js.map +1 -1
- package/build/esm/util/test/compileThis.js +1 -0
- package/build/esm/util/test/compileThis.js.map +1 -1
- package/build/esm/util/test/createMockMinimalFiles.js +1 -0
- package/build/esm/util/test/createMockMinimalFiles.js.map +1 -1
- package/build/esm/util/test/formatTs.js +1 -0
- package/build/esm/util/test/formatTs.js.map +1 -1
- package/build/esm/util/verifyOutDir.js +1 -0
- package/build/esm/util/verifyOutDir.js.map +1 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +8 -6
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +22 -20
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js +7 -3
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +572 -557
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
- package/build/esm/v2.0/generateMetadata.js +4 -1
- package/build/esm/v2.0/generateMetadata.js.map +1 -1
- package/build/esm/v2.0/generatePerActionDataFiles.js +33 -10
- package/build/esm/v2.0/generatePerActionDataFiles.js.map +1 -1
- package/build/esm/v2.0/generatePerActionDataFiles.test.js +1 -0
- package/build/esm/v2.0/generatePerActionDataFiles.test.js.map +1 -1
- package/build/esm/v2.0/generatePerInterfaceDataFiles.js +6 -3
- package/build/esm/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
- package/build/esm/v2.0/generatePerObjectDataFiles.js +2 -1
- package/build/esm/v2.0/generatePerObjectDataFiles.js.map +1 -1
- package/build/esm/v2.0/generatePerQueryDataFiles.js +6 -5
- package/build/esm/v2.0/generatePerQueryDataFiles.js.map +1 -1
- package/build/esm/v2.0/generatePerQueryDataFiles.test.js +9 -8
- package/build/esm/v2.0/generatePerQueryDataFiles.test.js.map +1 -1
- package/build/esm/v2.0/generateRootIndexTsFile.js +3 -1
- package/build/esm/v2.0/generateRootIndexTsFile.js.map +1 -1
- package/build/esm/v2.0/getDescriptionIfPresent.js +1 -0
- package/build/esm/v2.0/getDescriptionIfPresent.js.map +1 -1
- package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +23 -10
- package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
- package/build/esm/validateWireOntologyAssumptions.js +3 -2
- package/build/esm/validateWireOntologyAssumptions.js.map +1 -1
- package/build/types/GenerateContext/EnhanceCommon.d.ts +6 -0
- package/build/types/GenerateContext/EnhancedAction.d.ts +13 -0
- package/build/types/GenerateContext/EnhancedBase.d.ts +20 -0
- package/build/types/GenerateContext/EnhancedInterfaceType.d.ts +12 -0
- package/build/{esm → types}/GenerateContext/EnhancedObjectType.d.ts +5 -6
- package/build/types/GenerateContext/EnhancedOntologyDefinition.d.ts +28 -0
- package/build/types/GenerateContext/EnhancedQuery.d.ts +13 -0
- package/build/{browser → types}/GenerateContext/EnhancedSharedPropertyType.d.ts +2 -3
- package/build/types/GenerateContext/ForeignType.d.ts +8 -0
- package/build/types/GenerateContext/GenerateContext.d.ts +13 -0
- package/build/types/GenerateContext/enhanceOntology.d.ts +9 -0
- package/build/types/MinimalFs.d.ts +7 -0
- package/build/{browser → types}/WireOntologyDefinition.d.ts +1 -3
- package/build/types/generateClientSdkPackage.d.ts +31 -0
- package/build/types/generateClientSdkPackage.test.d.ts +1 -0
- package/build/types/index.d.ts +4 -0
- package/build/{browser → types}/shared/apiNamespaces/startsWithApiNamespace.d.ts +0 -1
- package/build/types/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +1 -0
- package/build/{browser → types}/shared/getObjectImports.d.ts +2 -2
- package/build/{browser → types}/shared/getObjectTypeApiNamesFromQuery.d.ts +0 -1
- package/build/{browser → types}/shared/getObjectTypesFromQueryDataType.d.ts +0 -1
- package/build/{browser → types}/shared/propertyJsdoc.d.ts +2 -3
- package/build/types/shared/sanitizeMetadata.d.ts +1 -0
- package/build/types/shared/sanitizeMetadata.test.d.ts +1 -0
- package/build/{browser → types}/util/InMemoryFs.d.ts +2 -3
- package/build/{browser → types}/util/commaSeparatedIdentifiers.d.ts +0 -1
- package/build/{browser → types}/util/commaSeparatedTypeIdentifiers.d.ts +0 -1
- package/build/{browser → types}/util/deleteUndefineds.d.ts +0 -1
- package/build/{browser → types}/util/reservedKeywords.d.ts +0 -1
- package/build/{browser → types}/util/stringUnionFrom.d.ts +0 -1
- package/build/types/util/stringify.d.ts +20 -0
- package/build/types/util/test/TodoWireOntology.d.ts +2 -0
- package/build/{browser → types}/util/test/compileThis.d.ts +0 -1
- package/build/types/util/test/createMockMinimalFiles.d.ts +10 -0
- package/build/{browser → types}/util/test/formatTs.d.ts +0 -1
- package/build/types/util/verifyOutDir.d.ts +8 -0
- package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +1 -0
- package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +1 -0
- package/build/{esm → types}/v2.0/generateClientSdkVersionTwoPointZero.d.ts +1 -2
- package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +1 -0
- package/build/{browser → types}/v2.0/generateMetadata.d.ts +0 -1
- package/build/{esm → types}/v2.0/generatePerActionDataFiles.d.ts +1 -2
- package/build/types/v2.0/generatePerActionDataFiles.test.d.ts +1 -0
- package/build/types/v2.0/generatePerInterfaceDataFiles.d.ts +1 -0
- package/build/{esm → types}/v2.0/generatePerObjectDataFiles.d.ts +0 -1
- package/build/{browser → types}/v2.0/generatePerQueryDataFiles.d.ts +2 -5
- package/build/types/v2.0/generatePerQueryDataFiles.test.d.ts +1 -0
- package/build/{esm → types}/v2.0/generateRootIndexTsFile.d.ts +0 -1
- package/build/{browser → types}/v2.0/getDescriptionIfPresent.d.ts +0 -1
- package/build/{browser → types}/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts +4 -6
- package/build/{browser → types}/validateWireOntologyAssumptions.d.ts +0 -1
- package/package.json +29 -13
- package/build/browser/GenerateContext/EnhanceCommon.d.ts +0 -7
- package/build/browser/GenerateContext/EnhanceCommon.d.ts.map +0 -1
- package/build/browser/GenerateContext/EnhancedAction.d.ts +0 -14
- package/build/browser/GenerateContext/EnhancedAction.d.ts.map +0 -1
- package/build/browser/GenerateContext/EnhancedBase.d.ts +0 -21
- package/build/browser/GenerateContext/EnhancedBase.d.ts.map +0 -1
- package/build/browser/GenerateContext/EnhancedInterfaceType.d.ts +0 -13
- package/build/browser/GenerateContext/EnhancedInterfaceType.d.ts.map +0 -1
- package/build/browser/GenerateContext/EnhancedObjectType.d.ts +0 -12
- package/build/browser/GenerateContext/EnhancedObjectType.d.ts.map +0 -1
- package/build/browser/GenerateContext/EnhancedOntologyDefinition.d.ts +0 -27
- package/build/browser/GenerateContext/EnhancedOntologyDefinition.d.ts.map +0 -1
- package/build/browser/GenerateContext/EnhancedQuery.d.ts +0 -14
- package/build/browser/GenerateContext/EnhancedQuery.d.ts.map +0 -1
- package/build/browser/GenerateContext/EnhancedSharedPropertyType.d.ts.map +0 -1
- package/build/browser/GenerateContext/ForeignType.d.ts +0 -9
- package/build/browser/GenerateContext/ForeignType.d.ts.map +0 -1
- package/build/browser/GenerateContext/GenerateContext.d.ts +0 -13
- package/build/browser/GenerateContext/GenerateContext.d.ts.map +0 -1
- package/build/browser/GenerateContext/enhanceOntology.d.ts +0 -10
- package/build/browser/GenerateContext/enhanceOntology.d.ts.map +0 -1
- package/build/browser/MinimalFs.d.ts +0 -10
- package/build/browser/MinimalFs.d.ts.map +0 -1
- package/build/browser/WireOntologyDefinition.d.ts.map +0 -1
- package/build/browser/generateClientSdkPackage.d.ts +0 -47
- package/build/browser/generateClientSdkPackage.d.ts.map +0 -1
- package/build/browser/generateClientSdkPackage.test.d.ts +0 -2
- package/build/browser/generateClientSdkPackage.test.d.ts.map +0 -1
- package/build/browser/index.d.ts +0 -5
- package/build/browser/index.d.ts.map +0 -1
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.d.ts.map +0 -1
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +0 -2
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.d.ts.map +0 -1
- package/build/browser/shared/getObjectImports.d.ts.map +0 -1
- package/build/browser/shared/getObjectTypeApiNamesFromQuery.d.ts.map +0 -1
- package/build/browser/shared/getObjectTypesFromQueryDataType.d.ts.map +0 -1
- package/build/browser/shared/propertyJsdoc.d.ts.map +0 -1
- package/build/browser/shared/sanitizeMetadata.d.ts +0 -2
- package/build/browser/shared/sanitizeMetadata.d.ts.map +0 -1
- package/build/browser/shared/sanitizeMetadata.test.d.ts +0 -2
- package/build/browser/shared/sanitizeMetadata.test.d.ts.map +0 -1
- package/build/browser/util/InMemoryFs.d.ts.map +0 -1
- package/build/browser/util/commaSeparatedIdentifiers.d.ts.map +0 -1
- package/build/browser/util/commaSeparatedTypeIdentifiers.d.ts.map +0 -1
- package/build/browser/util/deleteUndefineds.d.ts.map +0 -1
- package/build/browser/util/reservedKeywords.d.ts.map +0 -1
- package/build/browser/util/stringUnionFrom.d.ts.map +0 -1
- package/build/browser/util/stringify.d.ts +0 -20
- package/build/browser/util/stringify.d.ts.map +0 -1
- package/build/browser/util/test/TodoWireOntology.d.ts +0 -217
- package/build/browser/util/test/TodoWireOntology.d.ts.map +0 -1
- package/build/browser/util/test/compileThis.d.ts.map +0 -1
- package/build/browser/util/test/createMockMinimalFiles.d.ts +0 -13
- package/build/browser/util/test/createMockMinimalFiles.d.ts.map +0 -1
- package/build/browser/util/test/formatTs.d.ts.map +0 -1
- package/build/browser/util/verifyOutDir.d.ts +0 -9
- package/build/browser/util/verifyOutDir.d.ts.map +0 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +0 -2
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts.map +0 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +0 -2
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts.map +0 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.d.ts +0 -4
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +0 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +0 -2
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts.map +0 -1
- package/build/browser/v2.0/generateMetadata.d.ts.map +0 -1
- package/build/browser/v2.0/generatePerActionDataFiles.d.ts +0 -3
- package/build/browser/v2.0/generatePerActionDataFiles.d.ts.map +0 -1
- package/build/browser/v2.0/generatePerActionDataFiles.test.d.ts +0 -2
- package/build/browser/v2.0/generatePerActionDataFiles.test.d.ts.map +0 -1
- package/build/browser/v2.0/generatePerInterfaceDataFiles.d.ts +0 -2
- package/build/browser/v2.0/generatePerInterfaceDataFiles.d.ts.map +0 -1
- package/build/browser/v2.0/generatePerObjectDataFiles.d.ts +0 -3
- package/build/browser/v2.0/generatePerObjectDataFiles.d.ts.map +0 -1
- package/build/browser/v2.0/generatePerQueryDataFiles.d.ts.map +0 -1
- package/build/browser/v2.0/generatePerQueryDataFiles.test.d.ts +0 -2
- package/build/browser/v2.0/generatePerQueryDataFiles.test.d.ts.map +0 -1
- package/build/browser/v2.0/generateRootIndexTsFile.d.ts +0 -3
- package/build/browser/v2.0/generateRootIndexTsFile.d.ts.map +0 -1
- package/build/browser/v2.0/getDescriptionIfPresent.d.ts.map +0 -1
- package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +0 -1
- package/build/browser/validateWireOntologyAssumptions.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhanceCommon.d.ts +0 -7
- package/build/esm/GenerateContext/EnhanceCommon.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhancedAction.d.ts +0 -14
- package/build/esm/GenerateContext/EnhancedAction.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhancedBase.d.ts +0 -21
- package/build/esm/GenerateContext/EnhancedBase.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhancedInterfaceType.d.ts +0 -13
- package/build/esm/GenerateContext/EnhancedInterfaceType.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhancedObjectType.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhancedOntologyDefinition.d.ts +0 -27
- package/build/esm/GenerateContext/EnhancedOntologyDefinition.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhancedQuery.d.ts +0 -14
- package/build/esm/GenerateContext/EnhancedQuery.d.ts.map +0 -1
- package/build/esm/GenerateContext/EnhancedSharedPropertyType.d.ts +0 -8
- package/build/esm/GenerateContext/EnhancedSharedPropertyType.d.ts.map +0 -1
- package/build/esm/GenerateContext/ForeignType.d.ts +0 -9
- package/build/esm/GenerateContext/ForeignType.d.ts.map +0 -1
- package/build/esm/GenerateContext/GenerateContext.d.ts +0 -13
- package/build/esm/GenerateContext/GenerateContext.d.ts.map +0 -1
- package/build/esm/GenerateContext/enhanceOntology.d.ts +0 -10
- package/build/esm/GenerateContext/enhanceOntology.d.ts.map +0 -1
- package/build/esm/MinimalFs.d.ts +0 -10
- package/build/esm/MinimalFs.d.ts.map +0 -1
- package/build/esm/WireOntologyDefinition.d.ts +0 -4
- package/build/esm/WireOntologyDefinition.d.ts.map +0 -1
- package/build/esm/generateClientSdkPackage.d.ts +0 -47
- package/build/esm/generateClientSdkPackage.d.ts.map +0 -1
- package/build/esm/generateClientSdkPackage.test.d.ts +0 -2
- package/build/esm/generateClientSdkPackage.test.d.ts.map +0 -1
- package/build/esm/index.d.ts +0 -5
- package/build/esm/index.d.ts.map +0 -1
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.d.ts +0 -2
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.d.ts.map +0 -1
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +0 -2
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.d.ts.map +0 -1
- package/build/esm/shared/getObjectImports.d.ts +0 -4
- package/build/esm/shared/getObjectImports.d.ts.map +0 -1
- package/build/esm/shared/getObjectTypeApiNamesFromQuery.d.ts +0 -4
- package/build/esm/shared/getObjectTypeApiNamesFromQuery.d.ts.map +0 -1
- package/build/esm/shared/getObjectTypesFromQueryDataType.d.ts +0 -3
- package/build/esm/shared/getObjectTypesFromQueryDataType.d.ts.map +0 -1
- package/build/esm/shared/propertyJsdoc.d.ts +0 -6
- package/build/esm/shared/propertyJsdoc.d.ts.map +0 -1
- package/build/esm/shared/sanitizeMetadata.d.ts +0 -2
- package/build/esm/shared/sanitizeMetadata.d.ts.map +0 -1
- package/build/esm/shared/sanitizeMetadata.test.d.ts +0 -2
- package/build/esm/shared/sanitizeMetadata.test.d.ts.map +0 -1
- package/build/esm/util/InMemoryFs.d.ts +0 -7
- package/build/esm/util/InMemoryFs.d.ts.map +0 -1
- package/build/esm/util/commaSeparatedIdentifiers.d.ts +0 -2
- package/build/esm/util/commaSeparatedIdentifiers.d.ts.map +0 -1
- package/build/esm/util/commaSeparatedTypeIdentifiers.d.ts +0 -2
- package/build/esm/util/commaSeparatedTypeIdentifiers.d.ts.map +0 -1
- package/build/esm/util/deleteUndefineds.d.ts +0 -2
- package/build/esm/util/deleteUndefineds.d.ts.map +0 -1
- package/build/esm/util/reservedKeywords.d.ts +0 -2
- package/build/esm/util/reservedKeywords.d.ts.map +0 -1
- package/build/esm/util/stringUnionFrom.d.ts +0 -2
- package/build/esm/util/stringUnionFrom.d.ts.map +0 -1
- package/build/esm/util/stringify.d.ts +0 -20
- package/build/esm/util/stringify.d.ts.map +0 -1
- package/build/esm/util/test/TodoWireOntology.d.ts +0 -217
- package/build/esm/util/test/TodoWireOntology.d.ts.map +0 -1
- package/build/esm/util/test/compileThis.d.ts +0 -3
- package/build/esm/util/test/compileThis.d.ts.map +0 -1
- package/build/esm/util/test/createMockMinimalFiles.d.ts +0 -13
- package/build/esm/util/test/createMockMinimalFiles.d.ts.map +0 -1
- package/build/esm/util/test/formatTs.d.ts +0 -2
- package/build/esm/util/test/formatTs.d.ts.map +0 -1
- package/build/esm/util/verifyOutDir.d.ts +0 -9
- package/build/esm/util/verifyOutDir.d.ts.map +0 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +0 -2
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts.map +0 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +0 -2
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts.map +0 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +0 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +0 -2
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts.map +0 -1
- package/build/esm/v2.0/generateMetadata.d.ts +0 -3
- package/build/esm/v2.0/generateMetadata.d.ts.map +0 -1
- package/build/esm/v2.0/generatePerActionDataFiles.d.ts.map +0 -1
- package/build/esm/v2.0/generatePerActionDataFiles.test.d.ts +0 -2
- package/build/esm/v2.0/generatePerActionDataFiles.test.d.ts.map +0 -1
- package/build/esm/v2.0/generatePerInterfaceDataFiles.d.ts +0 -2
- package/build/esm/v2.0/generatePerInterfaceDataFiles.d.ts.map +0 -1
- package/build/esm/v2.0/generatePerObjectDataFiles.d.ts.map +0 -1
- package/build/esm/v2.0/generatePerQueryDataFiles.d.ts +0 -9
- package/build/esm/v2.0/generatePerQueryDataFiles.d.ts.map +0 -1
- package/build/esm/v2.0/generatePerQueryDataFiles.test.d.ts +0 -2
- package/build/esm/v2.0/generatePerQueryDataFiles.test.d.ts.map +0 -1
- package/build/esm/v2.0/generateRootIndexTsFile.d.ts.map +0 -1
- package/build/esm/v2.0/getDescriptionIfPresent.d.ts +0 -2
- package/build/esm/v2.0/getDescriptionIfPresent.d.ts.map +0 -1
- package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts +0 -12
- package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +0 -1
- package/build/esm/validateWireOntologyAssumptions.d.ts +0 -3
- package/build/esm/validateWireOntologyAssumptions.d.ts.map +0 -1
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import { wireActionTypeV2ToSdkActionMetadata } from "@osdk/generator-converters";
|
|
17
18
|
import path from "node:path";
|
|
18
19
|
import { getObjectImports } from "../shared/getObjectImports.js";
|
|
@@ -26,14 +27,15 @@ export async function generatePerActionDataFiles({
|
|
|
26
27
|
fs,
|
|
27
28
|
outDir: rootOutDir,
|
|
28
29
|
importExt = "",
|
|
29
|
-
ontology: enhancedOntology
|
|
30
|
+
ontology: enhancedOntology,
|
|
31
|
+
forInternalUse = false
|
|
30
32
|
}) {
|
|
31
33
|
const outDir = path.join(rootOutDir, "ontology", "actions");
|
|
32
34
|
await fs.mkdir(outDir, {
|
|
33
35
|
recursive: true
|
|
34
36
|
});
|
|
35
37
|
await Promise.all(Object.values(enhancedOntology.actionTypes).map(async action => {
|
|
36
|
-
const currentFilePath =
|
|
38
|
+
const currentFilePath = path.join("ontology", "actions", `${action.shortApiName}.ts`);
|
|
37
39
|
const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.raw);
|
|
38
40
|
const uniqueApiNames = new Set(uniqueApiNamesArray);
|
|
39
41
|
stringUnionFrom([...uniqueApiNames]);
|
|
@@ -61,6 +63,11 @@ export async function generatePerActionDataFiles({
|
|
|
61
63
|
} else if (type.type === "objectSet") {
|
|
62
64
|
const obj = enhancedOntology.requireObjectType(type.objectSet);
|
|
63
65
|
return `ActionMetadata.DataType.ObjectSet<${obj.getImportedDefinitionIdentifier(true)}>`;
|
|
66
|
+
} else if (type.type === "interface") {
|
|
67
|
+
const obj = enhancedOntology.requireInterfaceType(type.interface);
|
|
68
|
+
return `ActionMetadata.DataType.Interface<${obj.getImportedDefinitionIdentifier(true)}>`;
|
|
69
|
+
} else if (type.type === "struct") {
|
|
70
|
+
return `ActionMetadata.DataType.Struct<${JSON.stringify(type.struct)}>`;
|
|
64
71
|
}
|
|
65
72
|
return undefined;
|
|
66
73
|
}
|
|
@@ -76,6 +83,10 @@ export async function generatePerActionDataFiles({
|
|
|
76
83
|
return `ActionParam.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;
|
|
77
84
|
} else if (input.type === "objectSet") {
|
|
78
85
|
return `ActionParam.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;
|
|
86
|
+
} else if (input.type === "interface") {
|
|
87
|
+
return `ActionParam.InterfaceType<${enhancedOntology.requireInterfaceType(input.interface).getImportedDefinitionIdentifier(true)}>`;
|
|
88
|
+
} else if (input.type === "struct") {
|
|
89
|
+
return `ActionParam.StructType<${JSON.stringify(input.struct)}>`;
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
92
|
const referencedObjectDefs = new Set();
|
|
@@ -88,12 +99,24 @@ export async function generatePerActionDataFiles({
|
|
|
88
99
|
referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectTypeApiName));
|
|
89
100
|
}
|
|
90
101
|
}
|
|
91
|
-
if (p.dataType.type === "
|
|
92
|
-
if (p.dataType.
|
|
93
|
-
referencedObjectDefs.add(enhancedOntology.
|
|
102
|
+
if (p.dataType.type === "interfaceObject") {
|
|
103
|
+
if (p.dataType.interfaceTypeApiName) {
|
|
104
|
+
referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.interfaceTypeApiName));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (p.dataType.type === "array") {
|
|
108
|
+
if (p.dataType.subType.type === "object" || p.dataType.subType.type === "objectSet") {
|
|
109
|
+
if (p.dataType.subType.objectApiName) {
|
|
110
|
+
referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectApiName));
|
|
111
|
+
}
|
|
112
|
+
if (p.dataType.subType.objectTypeApiName) {
|
|
113
|
+
referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectTypeApiName));
|
|
114
|
+
}
|
|
94
115
|
}
|
|
95
|
-
if (p.dataType.subType.
|
|
96
|
-
|
|
116
|
+
if (p.dataType.subType.type === "interfaceObject") {
|
|
117
|
+
if (p.dataType.subType.interfaceTypeApiName) {
|
|
118
|
+
referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.subType.interfaceTypeApiName));
|
|
119
|
+
}
|
|
97
120
|
}
|
|
98
121
|
}
|
|
99
122
|
}
|
|
@@ -106,14 +129,14 @@ export async function generatePerActionDataFiles({
|
|
|
106
129
|
ActionReturnTypeForOptions,
|
|
107
130
|
ApplyActionOptions,
|
|
108
131
|
ApplyBatchActionOptions,
|
|
109
|
-
} from "@osdk/api";
|
|
132
|
+
} from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
|
|
110
133
|
import { $osdkMetadata} from "../../OntologyMetadata${importExt}";
|
|
111
134
|
${imports}
|
|
112
135
|
|
|
113
136
|
|
|
114
137
|
${function () {
|
|
115
138
|
`${action.shortApiName}$Params`;
|
|
116
|
-
|
|
139
|
+
const jsDocBlock = ["/**"];
|
|
117
140
|
if (action.description != null) {
|
|
118
141
|
jsDocBlock.push(`* ${action.description}`);
|
|
119
142
|
}
|
|
@@ -131,7 +154,7 @@ export async function generatePerActionDataFiles({
|
|
|
131
154
|
const key = `${getDescriptionIfPresent(ogValue.description)}
|
|
132
155
|
readonly "${ogKey}"${ogValue.nullable ? "?" : ""}`;
|
|
133
156
|
const value = ogValue.multiplicity ? `ReadonlyArray<${getActionParamType(ogValue.type)}>` : `${getActionParamType(ogValue.type)}`;
|
|
134
|
-
jsDocBlock.push(`* @param {${getActionParamType(ogValue.type)}} ${ogValue.nullable ? `[${ogKey}]` :
|
|
157
|
+
jsDocBlock.push(`* @param {${getActionParamType(ogValue.type)}} ${ogValue.nullable ? `[${ogKey}]` : ogKey} ${ogValue.description ?? ""} `);
|
|
135
158
|
return [key, value];
|
|
136
159
|
}
|
|
137
160
|
})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatePerActionDataFiles.js","names":["wireActionTypeV2ToSdkActionMetadata","path","getObjectImports","deleteUndefineds","stringify","stringUnionFrom","formatTs","getDescriptionIfPresent","generatePerActionDataFiles","sanitizedOntology","ontology","fs","outDir","rootOutDir","importExt","enhancedOntology","join","mkdir","recursive","Promise","all","Object","values","actionTypes","map","action","currentFilePath","shortApiName","uniqueApiNamesArray","extractReferencedObjectsFromAction","raw","uniqueApiNames","Set","fullActionDef","createParamsDef","entries","parameters","sort","a","b","localeCompare","length","key","value","description","d","undefined","type","JSON","obj","requireObjectType","object","getImportedDefinitionIdentifier","objectSet","getActionParamType","input","referencedObjectDefs","p","dataType","objectApiName","add","objectTypeApiName","subType","imports","writeFile","jsDocBlock","push","*","ogValue","_","ogKey","nullable","multiplicity","paramsIdentifier","definitionParamsIdentifier","displayName","modifiedEntities","rid","status","indexFileRelPath","exportConstLine","getImportPathRelTo","keys","actionType","referencedObjectsInParameters","flatMap","objectTypeReference","extractReferencedObjectsFromActionParameter","referenceObjectsInEdits","operations","actionParameter"],"sources":["generatePerActionDataFiles.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { wireActionTypeV2ToSdkActionMetadata } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { stringUnionFrom } from \"../util/stringUnionFrom.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\nexport async function generatePerActionDataFiles({ sanitizedOntology: ontology, fs, outDir: rootOutDir, importExt = \"\", ontology: enhancedOntology, }) {\n const outDir = path.join(rootOutDir, \"ontology\", \"actions\");\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(Object.values(enhancedOntology.actionTypes).map(async (action) => {\n const currentFilePath = `${path.join(\"ontology\", \"actions\", `${action.shortApiName}.ts`)}`;\n const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.raw);\n const uniqueApiNames = new Set(uniqueApiNamesArray);\n const uniqueApiNamesString = stringUnionFrom([...uniqueApiNames]);\n const fullActionDef = deleteUndefineds(wireActionTypeV2ToSdkActionMetadata(action.raw));\n function createParamsDef() {\n const entries = Object.entries(fullActionDef.parameters ?? {});\n entries.sort((a, b) => a[0].localeCompare(b[0]));\n if (entries.length === 0) {\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = Record<string, never>;`;\n }\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = {\n ${entries.map(([key, value]) => {\n return `\"${key}\": {\n ${stringify(value, {\n description: (value, d) => value ? d(value) : undefined, // trick to remove undefineds\n type: (type) => {\n if (typeof type === \"string\") {\n return JSON.stringify(type);\n }\n else if (type.type === \"object\") {\n const obj = enhancedOntology.requireObjectType(type.object);\n return `ActionMetadata.DataType.Object<${obj.getImportedDefinitionIdentifier(true)}>`;\n }\n else if (type.type === \"objectSet\") {\n const obj = enhancedOntology.requireObjectType(type.objectSet);\n return `ActionMetadata.DataType.ObjectSet<${obj.getImportedDefinitionIdentifier(true)}>`;\n }\n return undefined;\n },\n })}\n }`;\n })\n .join(\";\\n\")}\n }`;\n }\n function getActionParamType(input) {\n if (typeof input === \"string\") {\n return `ActionParam.PrimitiveType<${JSON.stringify(input)}>`;\n }\n else if (input.type === \"object\") {\n return `ActionParam.ObjectType<${enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)}>`;\n }\n else if (input.type === \"objectSet\") {\n return `ActionParam.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)}>`;\n }\n }\n function createV2Types() {\n const oldParamsIdentifier = `${action.shortApiName}$Params`;\n let jsDocBlock = [\"/**\"];\n if (action.description != null) {\n jsDocBlock.push(`* ${action.description}`);\n }\n // the params must be a `type` to align properly with the `ActionDefinition` interface\n // this way we can generate a strict type for the function itself and reference it from the Action Definition\n return `\n \n export namespace ${action.shortApiName}{\n ${createParamsDef()}\n\n ${getDescriptionIfPresent(action.description)}\n export interface Params {\n ${stringify(fullActionDef.parameters, {\n \"*\": (ogValue, _, ogKey) => {\n const key = `${getDescriptionIfPresent(ogValue.description)}\n readonly \"${ogKey}\"${ogValue.nullable ? \"?\" : \"\"}`;\n const value = ogValue.multiplicity\n ? `ReadonlyArray<${getActionParamType(ogValue.type)}>`\n : `${getActionParamType(ogValue.type)}`;\n jsDocBlock.push(`* @param {${getActionParamType(ogValue.type)}} ${ogValue.nullable ? `[${ogKey}]` : `${ogKey}`} ${ogValue.description ?? \"\"} `);\n return [key, value];\n },\n })}\n }\n\n // Represents a fqn of the action\n export interface Signatures {\n ${getDescriptionIfPresent(action.description)}\n applyAction<P extends ${action.paramsIdentifier}, OP extends ApplyActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n \n batchApplyAction<P extends ReadonlyArray<${action.paramsIdentifier}>, OP extends ApplyBatchActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n }\n \n }\n\n \n ${jsDocBlock.join(\"\\n\")}\n */\n export interface ${action.shortApiName} extends ActionDefinition<${action.shortApiName}.Signatures> {\n __DefinitionMetadata?: {\n ${stringify(fullActionDef, {\n \"parameters\": () => action.definitionParamsIdentifier,\n })}\n \n signatures: ${action.shortApiName}.Signatures;\n },\n ${stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })}\n osdkMetadata: typeof $osdkMetadata;\n }\n `;\n }\n function createV2Object() {\n return ` export const ${action.shortApiName}: ${action.shortApiName} = \n {\n ${stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })},\n osdkMetadata: $osdkMetadata\n }\n `;\n }\n const referencedObjectDefs = new Set();\n for (const p of Object.values(action.parameters)) {\n if (p.dataType.type === \"object\" || p.dataType.type === \"objectSet\") {\n if (p.dataType.objectApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectApiName));\n }\n if (p.dataType.objectTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectTypeApiName));\n }\n }\n if (p.dataType.type === \"array\"\n && (p.dataType.subType.type === \"object\"\n || p.dataType.subType.type === \"objectSet\")) {\n if (p.dataType.subType.objectApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectApiName));\n }\n if (p.dataType.subType.objectTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectTypeApiName));\n }\n }\n }\n const imports = getObjectImports(referencedObjectDefs, undefined, currentFilePath, true);\n await fs.writeFile(path.join(rootOutDir, currentFilePath), await formatTs(`\n import type {\n ActionDefinition,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n } from \"@osdk/api\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${imports}\n\n \n ${createV2Types()}\n\n ${createV2Object()}\n `));\n }));\n const indexFileRelPath = path.join(\"ontology\", \"actions.ts\");\n await fs.writeFile(path.join(rootOutDir, indexFileRelPath), await formatTs(`\n ${Object.values(enhancedOntology.actionTypes).map(action => {\n const exportConstLine = `export {${action.shortApiName} } from \"${action.getImportPathRelTo(indexFileRelPath)}\";`;\n return exportConstLine;\n })\n .join(\"\\n\")}\n ${Object.keys(ontology.actionTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}\nfunction extractReferencedObjectsFromAction(actionType) {\n const referencedObjectsInParameters = Object.values(actionType.parameters)\n .flatMap(({ dataType }) => {\n const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);\n return objectTypeReference ? [objectTypeReference] : [];\n });\n const referenceObjectsInEdits = actionType.operations.flatMap(value => {\n switch (value.type) {\n case \"createObject\":\n return [value.objectTypeApiName];\n case \"modifyObject\":\n return [value.objectTypeApiName];\n case \"deleteObject\":\n case \"createLink\":\n case \"deleteLink\":\n default:\n return [];\n }\n });\n return [...referenceObjectsInEdits, ...referencedObjectsInParameters];\n}\nfunction extractReferencedObjectsFromActionParameter(actionParameter) {\n switch (actionParameter.type) {\n case \"objectSet\":\n case \"object\":\n return actionParameter.objectTypeApiName;\n case \"array\":\n return extractReferencedObjectsFromActionParameter(actionParameter.subType);\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"generatePerActionDataFiles.js","names":["wireActionTypeV2ToSdkActionMetadata","path","getObjectImports","deleteUndefineds","stringify","stringUnionFrom","formatTs","getDescriptionIfPresent","generatePerActionDataFiles","sanitizedOntology","ontology","fs","outDir","rootOutDir","importExt","enhancedOntology","forInternalUse","join","mkdir","recursive","Promise","all","Object","values","actionTypes","map","action","currentFilePath","shortApiName","uniqueApiNamesArray","extractReferencedObjectsFromAction","raw","uniqueApiNames","Set","fullActionDef","createParamsDef","entries","parameters","sort","a","b","localeCompare","length","key","value","description","d","undefined","type","JSON","obj","requireObjectType","object","getImportedDefinitionIdentifier","objectSet","requireInterfaceType","interface","struct","getActionParamType","input","referencedObjectDefs","p","dataType","objectApiName","add","objectTypeApiName","interfaceTypeApiName","subType","imports","writeFile","jsDocBlock","push","*","ogValue","_","ogKey","nullable","multiplicity","paramsIdentifier","definitionParamsIdentifier","displayName","modifiedEntities","rid","status","indexFileRelPath","exportConstLine","getImportPathRelTo","keys","actionType","referencedObjectsInParameters","flatMap","objectTypeReference","extractReferencedObjectsFromActionParameter","referenceObjectsInEdits","operations","actionParameter"],"sources":["generatePerActionDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ActionMetadata } from \"@osdk/api\";\nimport { wireActionTypeV2ToSdkActionMetadata } from \"@osdk/generator-converters\";\nimport type {\n ActionParameterType,\n ActionTypeV2,\n} from \"@osdk/internal.foundry.core\";\nimport path from \"node:path\";\nimport type { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport type { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { stringUnionFrom } from \"../util/stringUnionFrom.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\n\nexport async function generatePerActionDataFiles(\n {\n sanitizedOntology: ontology,\n fs,\n outDir: rootOutDir,\n importExt = \"\",\n ontology: enhancedOntology,\n forInternalUse = false,\n }: Pick<\n GenerateContext,\n | \"sanitizedOntology\"\n | \"fs\"\n | \"outDir\"\n | \"importExt\"\n | \"ontology\"\n | \"forInternalUse\"\n >,\n): Promise<void> {\n const outDir = path.join(rootOutDir, \"ontology\", \"actions\");\n\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(\n Object.values(enhancedOntology.actionTypes).map(async (action) => {\n const currentFilePath = path.join(\n \"ontology\",\n \"actions\",\n `${action.shortApiName}.ts`,\n );\n\n const uniqueApiNamesArray = extractReferencedObjectsFromAction(\n action.raw,\n );\n const uniqueApiNames = new Set(uniqueApiNamesArray);\n\n const uniqueApiNamesString = stringUnionFrom([...uniqueApiNames]);\n\n const fullActionDef = deleteUndefineds(\n wireActionTypeV2ToSdkActionMetadata(action.raw),\n );\n\n function createParamsDef() {\n const entries = Object.entries(fullActionDef.parameters ?? {});\n entries.sort((a, b) => a[0].localeCompare(b[0]));\n\n if (entries.length === 0) {\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = Record<string, never>;`;\n }\n\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = {\n ${\n entries.map(([key, value]) => {\n return `\"${key}\": {\n ${\n stringify(value, {\n description: (value, d) => value ? d(value) : undefined, // trick to remove undefineds\n type: (type) => {\n if (typeof type === \"string\") {\n return JSON.stringify(type);\n } else if (type.type === \"object\") {\n const obj = enhancedOntology.requireObjectType(type.object);\n return `ActionMetadata.DataType.Object<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"objectSet\") {\n const obj = enhancedOntology.requireObjectType(\n type.objectSet,\n );\n return `ActionMetadata.DataType.ObjectSet<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"interface\") {\n const obj = enhancedOntology.requireInterfaceType(\n type.interface,\n );\n return `ActionMetadata.DataType.Interface<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"struct\") {\n return `ActionMetadata.DataType.Struct<${\n JSON.stringify(type.struct)\n }>`;\n }\n return undefined;\n },\n })\n }\n }`;\n })\n .join(\";\\n\")\n }\n }`;\n }\n\n function getActionParamType(\n input: ActionMetadata.Parameter[\"type\"],\n ) {\n if (typeof input === \"string\") {\n return `ActionParam.PrimitiveType<${JSON.stringify(input)}>`;\n } else if (input.type === \"object\") {\n return `ActionParam.ObjectType<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"objectSet\") {\n return `ActionParam.ObjectSetType<${\n enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"interface\") {\n return `ActionParam.InterfaceType<${\n enhancedOntology.requireInterfaceType(input.interface)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"struct\") {\n return `ActionParam.StructType<${JSON.stringify(input.struct)}>`;\n }\n }\n\n function createV2Types() {\n const oldParamsIdentifier = `${action.shortApiName}$Params`;\n const jsDocBlock = [\"/**\"];\n if (action.description != null) {\n jsDocBlock.push(`* ${action.description}`);\n }\n // the params must be a `type` to align properly with the `ActionDefinition` interface\n // this way we can generate a strict type for the function itself and reference it from the Action Definition\n return `\n \n export namespace ${action.shortApiName}{\n ${createParamsDef()}\n\n ${getDescriptionIfPresent(action.description)}\n export interface Params {\n ${\n stringify(fullActionDef.parameters, {\n \"*\": (ogValue, _, ogKey) => {\n const key = `${getDescriptionIfPresent(ogValue.description)}\n readonly \"${ogKey}\"${ogValue.nullable ? \"?\" : \"\"}`;\n\n const value = ogValue.multiplicity\n ? `ReadonlyArray<${getActionParamType(ogValue.type)}>`\n : `${getActionParamType(ogValue.type)}`;\n jsDocBlock.push(\n `* @param {${getActionParamType(ogValue.type)}} ${\n ogValue.nullable ? `[${ogKey}]` : ogKey\n } ${ogValue.description ?? \"\"} `,\n );\n return [key, value];\n },\n })\n }\n }\n\n // Represents a fqn of the action\n export interface Signatures {\n ${getDescriptionIfPresent(action.description)}\n applyAction<P extends ${action.paramsIdentifier}, OP extends ApplyActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n \n batchApplyAction<P extends ReadonlyArray<${action.paramsIdentifier}>, OP extends ApplyBatchActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n }\n \n }\n\n \n ${jsDocBlock.join(\"\\n\")}\n */\n export interface ${action.shortApiName} extends ActionDefinition<${action.shortApiName}.Signatures> {\n __DefinitionMetadata?: {\n ${\n stringify(fullActionDef, {\n \"parameters\": () => action.definitionParamsIdentifier,\n })\n }\n \n signatures: ${action.shortApiName}.Signatures;\n },\n ${\n stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })\n }\n osdkMetadata: typeof $osdkMetadata;\n }\n `;\n }\n\n function createV2Object() {\n return ` export const ${action.shortApiName}: ${action.shortApiName} = \n {\n ${\n stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })\n },\n osdkMetadata: $osdkMetadata\n }\n `;\n }\n\n const referencedObjectDefs = new Set<EnhancedObjectType | ForeignType>();\n for (const p of Object.values(action.parameters)) {\n if (p.dataType.type === \"object\" || p.dataType.type === \"objectSet\") {\n if (p.dataType.objectApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(p.dataType.objectApiName),\n );\n }\n if (p.dataType.objectTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(p.dataType.objectTypeApiName),\n );\n }\n }\n if (p.dataType.type === \"interfaceObject\") {\n if (p.dataType.interfaceTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireInterfaceType(\n p.dataType.interfaceTypeApiName,\n ),\n );\n }\n }\n if (p.dataType.type === \"array\") {\n if (\n p.dataType.subType.type === \"object\"\n || p.dataType.subType.type === \"objectSet\"\n ) {\n if (p.dataType.subType.objectApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(\n p.dataType.subType.objectApiName,\n ),\n );\n }\n if (p.dataType.subType.objectTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(\n p.dataType.subType.objectTypeApiName,\n ),\n );\n }\n }\n if (\n p.dataType.subType.type === \"interfaceObject\"\n ) {\n if (p.dataType.subType.interfaceTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireInterfaceType(\n p.dataType.subType.interfaceTypeApiName,\n ),\n );\n }\n }\n }\n }\n\n const imports = getObjectImports(\n referencedObjectDefs,\n undefined,\n currentFilePath,\n true,\n );\n\n await fs.writeFile(\n path.join(rootOutDir, currentFilePath),\n await formatTs(`\n import type {\n ActionDefinition,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${imports}\n\n \n ${createV2Types()}\n\n ${createV2Object()}\n `),\n );\n }),\n );\n\n const indexFileRelPath = path.join(\"ontology\", \"actions.ts\");\n\n await fs.writeFile(\n path.join(rootOutDir, indexFileRelPath),\n await formatTs(`\n ${\n Object.values(enhancedOntology.actionTypes).map(action => {\n const exportConstLine = `export {${action.shortApiName} } from \"${\n action.getImportPathRelTo(indexFileRelPath)\n }\";`;\n\n return exportConstLine;\n })\n .join(\"\\n\")\n }\n ${Object.keys(ontology.actionTypes).length === 0 ? \"export {};\" : \"\"}\n `),\n );\n}\n\nfunction extractReferencedObjectsFromAction(\n actionType: ActionTypeV2,\n): string[] {\n const referencedObjectsInParameters = Object.values(actionType.parameters)\n .flatMap(({ dataType }) => {\n const objectTypeReference = extractReferencedObjectsFromActionParameter(\n dataType,\n );\n return objectTypeReference ? [objectTypeReference] : [];\n });\n\n const referenceObjectsInEdits = actionType.operations.flatMap(value => {\n switch (value.type) {\n case \"createObject\":\n return [value.objectTypeApiName];\n case \"modifyObject\":\n return [value.objectTypeApiName];\n case \"deleteObject\":\n case \"createLink\":\n case \"deleteLink\":\n default:\n return [];\n }\n });\n\n return [...referenceObjectsInEdits, ...referencedObjectsInParameters];\n}\n\nfunction extractReferencedObjectsFromActionParameter(\n actionParameter: ActionParameterType,\n): string | undefined {\n switch (actionParameter.type) {\n case \"objectSet\":\n case \"object\":\n return actionParameter.objectTypeApiName;\n case \"array\":\n return extractReferencedObjectsFromActionParameter(\n actionParameter.subType,\n );\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import * as path from "node:path";
|
|
17
18
|
import { describe, expect, it } from "vitest";
|
|
18
19
|
import { enhanceOntology } from "../GenerateContext/enhanceOntology.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatePerActionDataFiles.test.js","names":["path","describe","expect","it","enhanceOntology","createMockMinimalFiles","TodoWireOntology","generatePerActionDataFiles","helper","BASE_PATH","sanitizedOntology","actionTypes","fs","minimalFiles","outDir","ontology","sanitized","importExt","externalObjects","Map","externalInterfaces","externalSpts","getFiles","toEqual","join","toContain"],"sources":["generatePerActionDataFiles.test.
|
|
1
|
+
{"version":3,"file":"generatePerActionDataFiles.test.js","names":["path","describe","expect","it","enhanceOntology","createMockMinimalFiles","TodoWireOntology","generatePerActionDataFiles","helper","BASE_PATH","sanitizedOntology","actionTypes","fs","minimalFiles","outDir","ontology","sanitized","importExt","externalObjects","Map","externalInterfaces","externalSpts","getFiles","toEqual","join","toContain"],"sources":["generatePerActionDataFiles.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as path from \"node:path\";\nimport { describe, expect, it } from \"vitest\";\nimport { enhanceOntology } from \"../GenerateContext/enhanceOntology.js\";\nimport { createMockMinimalFiles } from \"../util/test/createMockMinimalFiles.js\";\nimport { TodoWireOntology } from \"../util/test/TodoWireOntology.js\";\nimport { generatePerActionDataFiles } from \"./generatePerActionDataFiles.js\";\n\ndescribe(generatePerActionDataFiles, () => {\n it(\"guards against empty actions\", async () => {\n const helper = createMockMinimalFiles();\n const BASE_PATH = \"/foo\";\n const sanitizedOntology = { ...TodoWireOntology, actionTypes: {} };\n await generatePerActionDataFiles(\n {\n sanitizedOntology,\n fs: helper.minimalFiles,\n outDir: BASE_PATH,\n ontology: enhanceOntology({\n sanitized: sanitizedOntology,\n importExt: \"\",\n externalObjects: new Map(),\n externalInterfaces: new Map(),\n externalSpts: new Map(),\n }),\n },\n );\n expect(helper.getFiles()[`${BASE_PATH}/ontology/actions.ts`]).toEqual(\n \"export {};\\n\",\n );\n });\n\n it(\"imports object types correctly with array params in actions\", async () => {\n const helper = createMockMinimalFiles();\n const BASE_PATH = \"/foo/ontology/actions\";\n const sanitizedOntology = TodoWireOntology;\n await generatePerActionDataFiles(\n {\n sanitizedOntology,\n fs: helper.minimalFiles,\n outDir: path.join(BASE_PATH, \"..\", \"..\"),\n ontology: enhanceOntology({\n sanitized: sanitizedOntology,\n importExt: \"\",\n externalObjects: new Map(),\n externalInterfaces: new Map(),\n externalSpts: new Map(),\n }),\n },\n );\n\n expect(helper.getFiles()[`${BASE_PATH}/deleteTodos.ts`]).toContain(\n \"import type { Todo } from '../objects/Todo';\\n\",\n );\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,IAAI,MAAM,WAAW;AACjC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,eAAe,QAAQ,uCAAuC;AACvE,SAASC,sBAAsB,QAAQ,wCAAwC;AAC/E,SAASC,gBAAgB,QAAQ,kCAAkC;AACnE,SAASC,0BAA0B,QAAQ,iCAAiC;AAE5EN,QAAQ,CAACM,0BAA0B,EAAE,MAAM;EACzCJ,EAAE,CAAC,8BAA8B,EAAE,YAAY;IAC7C,MAAMK,MAAM,GAAGH,sBAAsB,CAAC,CAAC;IACvC,MAAMI,SAAS,GAAG,MAAM;IACxB,MAAMC,iBAAiB,GAAG;MAAE,GAAGJ,gBAAgB;MAAEK,WAAW,EAAE,CAAC;IAAE,CAAC;IAClE,MAAMJ,0BAA0B,CAC9B;MACEG,iBAAiB;MACjBE,EAAE,EAAEJ,MAAM,CAACK,YAAY;MACvBC,MAAM,EAAEL,SAAS;MACjBM,QAAQ,EAAEX,eAAe,CAAC;QACxBY,SAAS,EAAEN,iBAAiB;QAC5BO,SAAS,EAAE,EAAE;QACbC,eAAe,EAAE,IAAIC,GAAG,CAAC,CAAC;QAC1BC,kBAAkB,EAAE,IAAID,GAAG,CAAC,CAAC;QAC7BE,YAAY,EAAE,IAAIF,GAAG,CAAC;MACxB,CAAC;IACH,CACF,CAAC;IACDjB,MAAM,CAACM,MAAM,CAACc,QAAQ,CAAC,CAAC,CAAC,GAAGb,SAAS,sBAAsB,CAAC,CAAC,CAACc,OAAO,CACnE,cACF,CAAC;EACH,CAAC,CAAC;EAEFpB,EAAE,CAAC,6DAA6D,EAAE,YAAY;IAC5E,MAAMK,MAAM,GAAGH,sBAAsB,CAAC,CAAC;IACvC,MAAMI,SAAS,GAAG,uBAAuB;IACzC,MAAMC,iBAAiB,GAAGJ,gBAAgB;IAC1C,MAAMC,0BAA0B,CAC9B;MACEG,iBAAiB;MACjBE,EAAE,EAAEJ,MAAM,CAACK,YAAY;MACvBC,MAAM,EAAEd,IAAI,CAACwB,IAAI,CAACf,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;MACxCM,QAAQ,EAAEX,eAAe,CAAC;QACxBY,SAAS,EAAEN,iBAAiB;QAC5BO,SAAS,EAAE,EAAE;QACbC,eAAe,EAAE,IAAIC,GAAG,CAAC,CAAC;QAC1BC,kBAAkB,EAAE,IAAID,GAAG,CAAC,CAAC;QAC7BE,YAAY,EAAE,IAAIF,GAAG,CAAC;MACxB,CAAC;IACH,CACF,CAAC;IAEDjB,MAAM,CAACM,MAAM,CAACc,QAAQ,CAAC,CAAC,CAAC,GAAGb,SAAS,iBAAiB,CAAC,CAAC,CAACgB,SAAS,CAChE,gDACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -13,17 +13,20 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import path from "node:path";
|
|
17
18
|
import { EnhancedInterfaceType } from "../GenerateContext/EnhancedInterfaceType.js";
|
|
18
19
|
import { ForeignType } from "../GenerateContext/ForeignType.js";
|
|
19
20
|
import { formatTs } from "../util/test/formatTs.js";
|
|
20
21
|
import { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from "./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js";
|
|
22
|
+
|
|
21
23
|
/** @internal */
|
|
22
24
|
export async function generatePerInterfaceDataFiles({
|
|
23
25
|
fs,
|
|
24
26
|
outDir,
|
|
25
27
|
ontology,
|
|
26
|
-
importExt
|
|
28
|
+
importExt,
|
|
29
|
+
forInternalUse
|
|
27
30
|
}) {
|
|
28
31
|
const interfacesDir = path.join(outDir, "ontology", "interfaces");
|
|
29
32
|
await fs.mkdir(interfacesDir, {
|
|
@@ -32,9 +35,9 @@ export async function generatePerInterfaceDataFiles({
|
|
|
32
35
|
for (const obj of Object.values(ontology.interfaceTypes)) {
|
|
33
36
|
if (obj instanceof ForeignType) continue;
|
|
34
37
|
await fs.writeFile(path.join(interfacesDir, `${obj.shortApiName}.ts`), await formatTs(`
|
|
35
|
-
import type { PropertyDef as $PropertyDef } from "@osdk/api";
|
|
38
|
+
import type { PropertyDef as $PropertyDef } from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
|
|
36
39
|
import { $osdkMetadata } from "../../OntologyMetadata${importExt}";
|
|
37
|
-
${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, ontology, true)}
|
|
40
|
+
${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, ontology, true, forInternalUse)}
|
|
38
41
|
`));
|
|
39
42
|
}
|
|
40
43
|
await fs.writeFile(interfacesDir + ".ts", await formatTs(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatePerInterfaceDataFiles.js","names":["path","EnhancedInterfaceType","ForeignType","formatTs","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","generatePerInterfaceDataFiles","fs","outDir","ontology","importExt","interfacesDir","join","mkdir","recursive","obj","Object","values","interfaceTypes","writeFile","shortApiName","filter","i","map","interfaceType","keys","length"],"sources":["generatePerInterfaceDataFiles.
|
|
1
|
+
{"version":3,"file":"generatePerInterfaceDataFiles.js","names":["path","EnhancedInterfaceType","ForeignType","formatTs","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","generatePerInterfaceDataFiles","fs","outDir","ontology","importExt","forInternalUse","interfacesDir","join","mkdir","recursive","obj","Object","values","interfaceTypes","writeFile","shortApiName","filter","i","map","interfaceType","keys","length"],"sources":["generatePerInterfaceDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport path from \"node:path\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\n\n/** @internal */\nexport async function generatePerInterfaceDataFiles(\n { fs, outDir, ontology, importExt, forInternalUse }: GenerateContext,\n) {\n const interfacesDir = path.join(outDir, \"ontology\", \"interfaces\");\n await fs.mkdir(interfacesDir, {\n recursive: true,\n });\n\n for (const obj of Object.values(ontology.interfaceTypes)) {\n if (obj instanceof ForeignType) continue;\n\n await fs.writeFile(\n path.join(interfacesDir, `${obj.shortApiName}.ts`),\n await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${\n forInternalUse ? \"@osdk/api\" : \"@osdk/client\"\n }\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n ${\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n obj,\n ontology,\n true,\n forInternalUse,\n )\n }\n `),\n );\n }\n\n await fs.writeFile(\n interfacesDir + \".ts\",\n await formatTs(`\n ${\n Object.values(ontology.interfaceTypes).filter(i =>\n i instanceof EnhancedInterfaceType\n ).map(interfaceType =>\n `export {${interfaceType.shortApiName}} from \"./interfaces/${interfaceType.shortApiName}${importExt}\";`\n ).join(\"\\n\")\n }\n ${\n Object.keys(ontology.interfaceTypes).length === 0\n ? \"export {}\"\n : \"\"\n }\n `),\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,IAAI,MAAM,WAAW;AAC5B,SAASC,qBAAqB,QAAQ,6CAA6C;AACnF,SAASC,WAAW,QAAQ,mCAAmC;AAE/D,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,SAASC,8CAA8C,QAAQ,mDAAmD;;AAElH;AACA,OAAO,eAAeC,6BAA6BA,CACjD;EAAEC,EAAE;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAgC,CAAC,EACpE;EACA,MAAMC,aAAa,GAAGX,IAAI,CAACY,IAAI,CAACL,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;EACjE,MAAMD,EAAE,CAACO,KAAK,CAACF,aAAa,EAAE;IAC5BG,SAAS,EAAE;EACb,CAAC,CAAC;EAEF,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,MAAM,CAACT,QAAQ,CAACU,cAAc,CAAC,EAAE;IACxD,IAAIH,GAAG,YAAYb,WAAW,EAAE;IAEhC,MAAMI,EAAE,CAACa,SAAS,CAChBnB,IAAI,CAACY,IAAI,CAACD,aAAa,EAAE,GAAGI,GAAG,CAACK,YAAY,KAAK,CAAC,EAClD,MAAMjB,QAAQ,CAAC;AACrB,4DACQO,cAAc,GAAG,WAAW,GAAG,cAAc;AACrD,+DAC+DD,SAAS;AACxE,QACQL,8CAA8C,CAC5CW,GAAG,EACHP,QAAQ,EACR,IAAI,EACJE,cACF,CAAC;AACT,KACK,CACD,CAAC;EACH;EAEA,MAAMJ,EAAE,CAACa,SAAS,CAChBR,aAAa,GAAG,KAAK,EACrB,MAAMR,QAAQ,CAAC;AACnB,MACMa,MAAM,CAACC,MAAM,CAACT,QAAQ,CAACU,cAAc,CAAC,CAACG,MAAM,CAACC,CAAC,IAC7CA,CAAC,YAAYrB,qBACf,CAAC,CAACsB,GAAG,CAACC,aAAa,IACjB,WAAWA,aAAa,CAACJ,YAAY,wBAAwBI,aAAa,CAACJ,YAAY,GAAGX,SAAS,IACrG,CAAC,CAACG,IAAI,CAAC,IAAI,CAAC;AAClB,MAEMI,MAAM,CAACS,IAAI,CAACjB,QAAQ,CAACU,cAAc,CAAC,CAACQ,MAAM,KAAK,CAAC,GAC7C,WAAW,GACX,EAAE;AACZ,KACK,CACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import path from "node:path";
|
|
17
18
|
import { EnhancedObjectType } from "../GenerateContext/EnhancedObjectType.js";
|
|
18
19
|
import { ForeignType } from "../GenerateContext/ForeignType.js";
|
|
@@ -33,7 +34,7 @@ export async function generatePerObjectDataFiles(ctx) {
|
|
|
33
34
|
const relPath = path.join(".", "ontology", `objects`, `${obj.shortApiName}.ts`);
|
|
34
35
|
const outFilePath = path.join(outDir, relPath);
|
|
35
36
|
await fs.writeFile(outFilePath, await formatTs(`
|
|
36
|
-
import type { PropertyDef as $PropertyDef } from "@osdk/api";
|
|
37
|
+
import type { PropertyDef as $PropertyDef } from "${ctx.forInternalUse ? "@osdk/api" : "@osdk/client"}";
|
|
37
38
|
import { $osdkMetadata } from "../../OntologyMetadata${importExt}";
|
|
38
39
|
import type { $ExpectedClientVersion } from "../../OntologyMetadata${importExt}";
|
|
39
40
|
${wireObjectTypeV2ToSdkObjectConstV2(obj.raw, ctx, relPath)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatePerObjectDataFiles.js","names":["path","EnhancedObjectType","ForeignType","formatTs","wireObjectTypeV2ToSdkObjectConstV2","generatePerObjectDataFiles","ctx","fs","outDir","ontology","importExt","mkdir","join","recursive","obj","Object","values","objectTypes","relPath","shortApiName","outFilePath","writeFile","raw","filter","o","map","objType","keys","length"],"sources":["generatePerObjectDataFiles.
|
|
1
|
+
{"version":3,"file":"generatePerObjectDataFiles.js","names":["path","EnhancedObjectType","ForeignType","formatTs","wireObjectTypeV2ToSdkObjectConstV2","generatePerObjectDataFiles","ctx","fs","outDir","ontology","importExt","mkdir","join","recursive","obj","Object","values","objectTypes","relPath","shortApiName","outFilePath","writeFile","forInternalUse","raw","filter","o","map","objType","keys","length"],"sources":["generatePerObjectDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport path from \"node:path\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport {\n wireObjectTypeV2ToSdkObjectConstV2,\n} from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\n\nexport async function generatePerObjectDataFiles(\n ctx: GenerateContext,\n): Promise<void> {\n const {\n fs,\n outDir,\n ontology,\n importExt,\n } = ctx;\n await fs.mkdir(path.join(outDir, \"ontology\", \"objects\"), { recursive: true });\n for (const obj of Object.values(ontology.objectTypes)) {\n if (obj instanceof ForeignType) continue;\n const relPath = path.join(\n \".\",\n \"ontology\",\n `objects`,\n `${obj.shortApiName}.ts`,\n );\n\n const outFilePath = path.join(outDir, relPath);\n await fs.writeFile(\n outFilePath,\n await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${\n ctx.forInternalUse\n ? \"@osdk/api\"\n : \"@osdk/client\"\n }\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n ${wireObjectTypeV2ToSdkObjectConstV2(obj.raw, ctx, relPath)}\n `),\n );\n }\n\n await fs.writeFile(\n path.join(outDir, \"ontology\", \"objects.ts\"),\n await formatTs(`\n ${\n Object.values(ctx.ontology.objectTypes).filter(o =>\n o instanceof EnhancedObjectType\n ).map(objType =>\n `export {${objType.shortApiName}} from \"./objects/${objType.shortApiName}${importExt}\";`\n ).join(\"\\n\")\n }\n ${Object.keys(ontology.objectTypes).length === 0 ? \"export {};\" : \"\"}\n `),\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,IAAI,MAAM,WAAW;AAC5B,SAASC,kBAAkB,QAAQ,0CAA0C;AAC7E,SAASC,WAAW,QAAQ,mCAAmC;AAE/D,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,SACEC,kCAAkC,QAC7B,yCAAyC;AAEhD,OAAO,eAAeC,0BAA0BA,CAC9CC,GAAoB,EACL;EACf,MAAM;IACJC,EAAE;IACFC,MAAM;IACNC,QAAQ;IACRC;EACF,CAAC,GAAGJ,GAAG;EACP,MAAMC,EAAE,CAACI,KAAK,CAACX,IAAI,CAACY,IAAI,CAACJ,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;IAAEK,SAAS,EAAE;EAAK,CAAC,CAAC;EAC7E,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,MAAM,CAACP,QAAQ,CAACQ,WAAW,CAAC,EAAE;IACrD,IAAIH,GAAG,YAAYZ,WAAW,EAAE;IAChC,MAAMgB,OAAO,GAAGlB,IAAI,CAACY,IAAI,CACvB,GAAG,EACH,UAAU,EACV,SAAS,EACT,GAAGE,GAAG,CAACK,YAAY,KACrB,CAAC;IAED,MAAMC,WAAW,GAAGpB,IAAI,CAACY,IAAI,CAACJ,MAAM,EAAEU,OAAO,CAAC;IAC9C,MAAMX,EAAE,CAACc,SAAS,CAChBD,WAAW,EACX,MAAMjB,QAAQ,CAAC;AACrB,4DACQG,GAAG,CAACgB,cAAc,GACd,WAAW,GACX,cAAc;AAC1B,+DAC+DZ,SAAS;AACxE,6EAA6EA,SAAS;AACtF,UAAUN,kCAAkC,CAACU,GAAG,CAACS,GAAG,EAAEjB,GAAG,EAAEY,OAAO,CAAC;AACnE,OAAO,CACH,CAAC;EACH;EAEA,MAAMX,EAAE,CAACc,SAAS,CAChBrB,IAAI,CAACY,IAAI,CAACJ,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,EAC3C,MAAML,QAAQ,CAAC;AACnB,MACMY,MAAM,CAACC,MAAM,CAACV,GAAG,CAACG,QAAQ,CAACQ,WAAW,CAAC,CAACO,MAAM,CAACC,CAAC,IAC9CA,CAAC,YAAYxB,kBACf,CAAC,CAACyB,GAAG,CAACC,OAAO,IACX,WAAWA,OAAO,CAACR,YAAY,qBAAqBQ,OAAO,CAACR,YAAY,GAAGT,SAAS,IACtF,CAAC,CAACE,IAAI,CAAC,IAAI,CAAC;AAClB,MACMG,MAAM,CAACa,IAAI,CAACnB,QAAQ,CAACQ,WAAW,CAAC,CAACY,MAAM,KAAK,CAAC,GAAG,YAAY,GAAG,EAAE;AACxE,KAAK,CACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import { wireQueryDataTypeToQueryDataTypeDefinition, wireQueryParameterV2ToQueryParameterDefinition as paramToDef, wireQueryTypeV2ToSdkQueryDefinitionNoParams } from "@osdk/generator-converters";
|
|
17
18
|
import path from "node:path";
|
|
18
19
|
import { getObjectImports } from "../shared/getObjectImports.js";
|
|
@@ -25,7 +26,8 @@ export async function generatePerQueryDataFilesV2({
|
|
|
25
26
|
fs,
|
|
26
27
|
outDir: rootOutDir,
|
|
27
28
|
ontology,
|
|
28
|
-
importExt = ""
|
|
29
|
+
importExt = "",
|
|
30
|
+
forInternalUse = false
|
|
29
31
|
}) {
|
|
30
32
|
const relOutDir = path.join(".", "ontology", "queries");
|
|
31
33
|
const outDir = path.join(rootOutDir, "ontology", "queries");
|
|
@@ -33,14 +35,14 @@ export async function generatePerQueryDataFilesV2({
|
|
|
33
35
|
recursive: true
|
|
34
36
|
});
|
|
35
37
|
await Promise.all(Object.values(ontology.queryTypes).map(async query => {
|
|
36
|
-
await generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology);
|
|
38
|
+
await generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology, forInternalUse);
|
|
37
39
|
}));
|
|
38
40
|
await fs.writeFile(`${outDir}.ts`, await formatTs(`
|
|
39
41
|
${Object.values(ontology.queryTypes).map(query => `export {${query.shortApiName}} from "${query.getImportPathRelTo(relOutDir)}";`).join("\n")}
|
|
40
42
|
${Object.keys(ontology.queryTypes).length === 0 ? "export {};" : ""}
|
|
41
43
|
`));
|
|
42
44
|
}
|
|
43
|
-
async function generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology) {
|
|
45
|
+
async function generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology, forInternalUse) {
|
|
44
46
|
const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);
|
|
45
47
|
const objectTypes = getObjectTypeApiNamesFromQuery(query);
|
|
46
48
|
const objectTypeObjects = new Set(objectTypes.map(o => ontology.requireObjectType(o)));
|
|
@@ -49,8 +51,7 @@ async function generateV2QueryFile(fs, outDir, relOutDir, query, importExt, onto
|
|
|
49
51
|
const outputBase = deleteUndefineds(wireQueryDataTypeToQueryDataTypeDefinition(query.output));
|
|
50
52
|
objectTypes.length > 0 ? objectTypes.map(apiNameObj => `"${apiNameObj}"`).join("|") : "never";
|
|
51
53
|
await fs.writeFile(path.join(outDir, `${query.shortApiName}.ts`), await formatTs(`
|
|
52
|
-
import type { QueryDefinition , VersionBound} from "@osdk/api";
|
|
53
|
-
import type { QueryParam, QueryResult } from "@osdk/api";
|
|
54
|
+
import type { QueryDefinition , QueryParam, QueryResult, VersionBound} from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
|
|
54
55
|
import type { $ExpectedClientVersion } from "../../OntologyMetadata${importExt}";
|
|
55
56
|
import { $osdkMetadata} from "../../OntologyMetadata${importExt}";
|
|
56
57
|
${importObjects}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatePerQueryDataFiles.js","names":["wireQueryDataTypeToQueryDataTypeDefinition","wireQueryParameterV2ToQueryParameterDefinition","paramToDef","wireQueryTypeV2ToSdkQueryDefinitionNoParams","path","getObjectImports","getObjectTypeApiNamesFromQuery","deleteUndefineds","stringify","formatTs","getDescriptionIfPresent","generatePerQueryDataFilesV2","fs","outDir","rootOutDir","ontology","importExt","relOutDir","join","mkdir","recursive","Promise","all","Object","values","queryTypes","map","query","generateV2QueryFile","writeFile","shortApiName","getImportPathRelTo","keys","length","relFilePath","objectTypes","objectTypeObjects","Set","o","requireObjectType","importObjects","baseProps","raw","outputBase","output","apiNameObj","description","parameters","paramsIdentifier","*","parameter","formatter","apiName","q","queryParamJsDoc","nullable","getQueryParamType","type","dataType","parameterDefsForType","getLineFor__OsdkTargetType","undefined","displayName","rid","definitionIdentifier","parametersForConst","valueFormatter","qdt","objectTypeApiName","getImportedDefinitionIdentifier","param","ret","enhancedOntology","input","inner","JSON","struct","p","object","objectSet","set","union","u","multiplicity"],"sources":["generatePerQueryDataFiles.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { wireQueryDataTypeToQueryDataTypeDefinition, wireQueryParameterV2ToQueryParameterDefinition as paramToDef, wireQueryTypeV2ToSdkQueryDefinitionNoParams, } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { getObjectTypeApiNamesFromQuery } from \"../shared/getObjectTypeApiNamesFromQuery.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\nexport async function generatePerQueryDataFilesV2({ fs, outDir: rootOutDir, ontology, importExt = \"\", }, v2) {\n const relOutDir = path.join(\".\", \"ontology\", \"queries\");\n const outDir = path.join(rootOutDir, \"ontology\", \"queries\");\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(Object.values(ontology.queryTypes).map(async (query) => {\n await generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology);\n }));\n const indexFilePath = `${outDir}.ts`;\n await fs.writeFile(indexFilePath, await formatTs(`\n ${Object.values(ontology.queryTypes).map(query => `export {${query.shortApiName}} from \"${query.getImportPathRelTo(relOutDir)}\";`)\n .join(\"\\n\")}\n ${Object.keys(ontology.queryTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}\nasync function generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology) {\n const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);\n const objectTypes = getObjectTypeApiNamesFromQuery(query);\n const objectTypeObjects = new Set(objectTypes.map(o => ontology.requireObjectType(o)));\n const importObjects = getObjectImports(objectTypeObjects, \"\", relFilePath, true);\n const baseProps = deleteUndefineds(wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw));\n const outputBase = deleteUndefineds(wireQueryDataTypeToQueryDataTypeDefinition(query.output));\n const referencedObjectTypes = objectTypes.length > 0\n ? objectTypes.map(apiNameObj => `\"${apiNameObj}\"`).join(\"|\")\n : \"never\";\n await fs.writeFile(path.join(outDir, `${query.shortApiName}.ts`), await formatTs(`\n import type { QueryDefinition , VersionBound} from \"@osdk/api\";\n import type { QueryParam, QueryResult } from \"@osdk/api\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${importObjects}\n\n export namespace ${query.shortApiName} {\n export interface Signature {\n ${getDescriptionIfPresent(query.description)}\n (${Object.keys(query.parameters).length > 0\n ? `query: ${query.paramsIdentifier}`\n : \"\"}): Promise<${query.shortApiName}.ReturnType>\n }\n\n ${Object.keys(query.parameters).length > 0\n ? `\n export interface Parameters {\n ${stringify(query.parameters, {\n \"*\": (parameter, formatter, apiName) => {\n const q = paramToDef(parameter);\n return [\n `\n ${queryParamJsDoc(paramToDef(parameter), { apiName })}readonly \"${apiName}\"${q.nullable ? \"?\" : \"\"}`,\n `${getQueryParamType(ontology, q, \"Param\")}`,\n ];\n },\n })}\n }`\n : \"\"}\n\n ${query.output.type === \"struct\"\n ? `\n export interface ReturnType \n ${getQueryParamType(ontology, paramToDef({ dataType: query.output }), \"Result\")}\n `\n : `\n export type ReturnType = ${getQueryParamType(ontology, paramToDef({ dataType: query.output }), \"Result\")}\n `}\n }\n \n \n export interface ${query.shortApiName} extends QueryDefinition<\n ${query.shortApiName}.Signature\n >, VersionBound<$ExpectedClientVersion>{\n __DefinitionMetadata?: {\n ${stringify(baseProps)}\n parameters: {\n ${parameterDefsForType(ontology, query)}\n };\n output: {\n ${stringify(outputBase)},\n ${getLineFor__OsdkTargetType(ontology, query.output)}\n };\n signature: ${query.shortApiName}.Signature;\n }, \n ${stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })}, \n osdkMetadata: typeof $osdkMetadata;\n }\n\n\n export const ${query.shortApiName}: ${query.definitionIdentifier} = {\n ${stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })},\n osdkMetadata: $osdkMetadata\n };\n `));\n}\nfunction parametersForConst(query) {\n return stringify(query.parameters, {\n \"*\": (parameter, formatter) => formatter(deleteUndefineds(paramToDef(parameter))),\n });\n}\nfunction parameterDefsForType(ontology, query) {\n return stringify(query.parameters, {\n \"*\": (parameter, valueFormatter, apiName) => [\n `${queryParamJsDoc(paramToDef(parameter), { apiName })} ${apiName}`,\n ` {\n ${stringify(deleteUndefineds(paramToDef(parameter)))},\n ${getLineFor__OsdkTargetType(ontology, parameter.dataType)}\n }`,\n ],\n });\n}\nfunction getLineFor__OsdkTargetType(ontology, qdt) {\n if (qdt.type === \"object\" || qdt.type === \"objectSet\") {\n return `__OsdkTargetType?: ${ontology.requireObjectType(qdt.objectTypeApiName).getImportedDefinitionIdentifier(true)}`;\n }\n return \"\";\n}\nexport function queryParamJsDoc(param, { apiName }) {\n let ret = `/**\\n`;\n if (param.description) {\n if (param.description) {\n ret += ` * description: ${param.description}\\n`;\n }\n }\n else {\n ret += ` * (no ontology metadata)\\n`;\n }\n ret += ` */\\n`;\n return ret;\n}\nexport function getQueryParamType(enhancedOntology, input, type) {\n let inner = `unknown /* ${input.type} */`;\n switch (input.type) {\n case \"date\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(\"datetime\")}>`;\n break;\n case \"attachment\":\n case \"boolean\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;\n break;\n case \"struct\":\n inner = `{\n ${stringify(input.struct, {\n \"*\": (p, formatter, apiName) => {\n return [\n `\n ${type === \"Param\" ? \"readonly \" : \"\"}\"${apiName}\"${p.nullable ? \"?\" : \"\"}`,\n `${getQueryParamType(enhancedOntology, p, type)}`,\n ];\n },\n })}\n }`;\n break;\n case \"object\":\n inner = `Query${type}.ObjectType<${enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)}>`;\n break;\n case \"objectSet\":\n inner = `Query${type}.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)}>`;\n break;\n case \"set\":\n inner = `${type === \"Param\" ? \"Readonly\" : \"\"}Set<${getQueryParamType(enhancedOntology, input.set, type)}>`;\n break;\n case \"union\":\n inner = input.union.map((u) => getQueryParamType(enhancedOntology, u, type)).join(\" | \");\n break;\n }\n if (input.multiplicity && type === \"Param\") {\n return `ReadonlyArray<${inner}>`;\n }\n else if (input.multiplicity) {\n return `Array<${inner}>`;\n }\n return inner;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"generatePerQueryDataFiles.js","names":["wireQueryDataTypeToQueryDataTypeDefinition","wireQueryParameterV2ToQueryParameterDefinition","paramToDef","wireQueryTypeV2ToSdkQueryDefinitionNoParams","path","getObjectImports","getObjectTypeApiNamesFromQuery","deleteUndefineds","stringify","formatTs","getDescriptionIfPresent","generatePerQueryDataFilesV2","fs","outDir","rootOutDir","ontology","importExt","forInternalUse","relOutDir","join","mkdir","recursive","Promise","all","Object","values","queryTypes","map","query","generateV2QueryFile","writeFile","shortApiName","getImportPathRelTo","keys","length","relFilePath","objectTypes","objectTypeObjects","Set","o","requireObjectType","importObjects","baseProps","raw","outputBase","output","apiNameObj","description","parameters","paramsIdentifier","*","parameter","formatter","apiName","q","queryParamJsDoc","nullable","getQueryParamType","type","dataType","parameterDefsForType","getLineFor__OsdkTargetType","undefined","displayName","rid","definitionIdentifier","parametersForConst","valueFormatter","qdt","objectTypeApiName","getImportedDefinitionIdentifier","param","ret","enhancedOntology","input","inner","JSON","struct","p","object","objectSet","set","union","u","multiplicity"],"sources":["generatePerQueryDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { QueryParameterDefinition } from \"@osdk/api\";\nimport {\n wireQueryDataTypeToQueryDataTypeDefinition,\n wireQueryParameterV2ToQueryParameterDefinition as paramToDef,\n wireQueryTypeV2ToSdkQueryDefinitionNoParams,\n} from \"@osdk/generator-converters\";\nimport type { QueryDataType } from \"@osdk/internal.foundry.core\";\nimport path from \"node:path\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport type { EnhancedQuery } from \"../GenerateContext/EnhancedQuery.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport type { MinimalFs } from \"../MinimalFs.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { getObjectTypeApiNamesFromQuery } from \"../shared/getObjectTypeApiNamesFromQuery.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\n\nexport async function generatePerQueryDataFilesV2(\n {\n fs,\n outDir: rootOutDir,\n ontology,\n importExt = \"\",\n forInternalUse = false,\n }: Pick<\n GenerateContext,\n | \"fs\"\n | \"outDir\"\n | \"importExt\"\n | \"ontology\"\n | \"forInternalUse\"\n >,\n v2: boolean,\n): Promise<void> {\n const relOutDir = path.join(\".\", \"ontology\", \"queries\");\n const outDir = path.join(rootOutDir, \"ontology\", \"queries\");\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(\n Object.values(ontology.queryTypes).map(async query => {\n await generateV2QueryFile(\n fs,\n outDir,\n relOutDir,\n query,\n importExt,\n ontology,\n forInternalUse,\n );\n }),\n );\n\n const indexFilePath = `${outDir}.ts`;\n await fs.writeFile(\n indexFilePath,\n await formatTs(`\n ${\n Object.values(ontology.queryTypes).map(query =>\n `export {${query.shortApiName}} from \"${\n query.getImportPathRelTo(relOutDir)\n }\";`\n )\n .join(\"\\n\")\n }\n ${Object.keys(ontology.queryTypes).length === 0 ? \"export {};\" : \"\"}\n `),\n );\n}\n\nasync function generateV2QueryFile(\n fs: MinimalFs,\n outDir: string,\n relOutDir: string,\n query: EnhancedQuery,\n importExt: string,\n ontology: EnhancedOntologyDefinition,\n forInternalUse: boolean,\n) {\n const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);\n const objectTypes = getObjectTypeApiNamesFromQuery(query);\n const objectTypeObjects = new Set(\n objectTypes.map(o => ontology.requireObjectType(o)),\n );\n const importObjects = getObjectImports(\n objectTypeObjects,\n \"\",\n relFilePath,\n true,\n );\n\n const baseProps = deleteUndefineds(\n wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw),\n );\n\n const outputBase = deleteUndefineds(\n wireQueryDataTypeToQueryDataTypeDefinition(query.output),\n );\n\n const referencedObjectTypes = objectTypes.length > 0\n ? objectTypes.map(apiNameObj => `\"${apiNameObj}\"`).join(\"|\")\n : \"never\";\n\n await fs.writeFile(\n path.join(outDir, `${query.shortApiName}.ts`),\n await formatTs(`\n import type { QueryDefinition , QueryParam, QueryResult, VersionBound} from \"${\n forInternalUse ? \"@osdk/api\" : \"@osdk/client\"\n }\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${importObjects}\n\n export namespace ${query.shortApiName} {\n export interface Signature {\n ${getDescriptionIfPresent(query.description)}\n (${\n Object.keys(query.parameters).length > 0\n ? `query: ${query.paramsIdentifier}`\n : \"\"\n }): Promise<${query.shortApiName}.ReturnType>\n }\n\n ${\n Object.keys(query.parameters).length > 0\n ? `\n export interface Parameters {\n ${\n stringify(query.parameters, {\n \"*\": (parameter, formatter, apiName) => {\n const q = paramToDef(parameter);\n return [\n `\n ${\n queryParamJsDoc(paramToDef(parameter), { apiName })\n }readonly \"${apiName}\"${q.nullable ? \"?\" : \"\"}`,\n `${getQueryParamType(ontology, q, \"Param\")}`,\n ];\n },\n })\n }\n }`\n : \"\"\n }\n\n ${\n query.output.type === \"struct\"\n ? `\n export interface ReturnType \n ${\n getQueryParamType(\n ontology,\n paramToDef({ dataType: query.output }),\n \"Result\",\n )\n }\n `\n : `\n export type ReturnType = ${\n getQueryParamType(\n ontology,\n paramToDef({ dataType: query.output }),\n \"Result\",\n )\n }\n `\n }\n }\n \n \n export interface ${query.shortApiName} extends QueryDefinition<\n ${query.shortApiName}.Signature\n >, VersionBound<$ExpectedClientVersion>{\n __DefinitionMetadata?: {\n ${stringify(baseProps)}\n parameters: {\n ${parameterDefsForType(ontology, query)}\n };\n output: {\n ${stringify(outputBase)},\n ${getLineFor__OsdkTargetType(ontology, query.output)}\n };\n signature: ${query.shortApiName}.Signature;\n }, \n ${\n stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })\n }, \n osdkMetadata: typeof $osdkMetadata;\n }\n\n\n export const ${query.shortApiName}: ${query.definitionIdentifier} = {\n ${\n stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })\n },\n osdkMetadata: $osdkMetadata\n };\n `),\n );\n}\n\nfunction parametersForConst(query: EnhancedQuery) {\n return stringify(query.parameters, {\n \"*\": (parameter, formatter) =>\n formatter(deleteUndefineds(paramToDef(parameter))),\n });\n}\n\nfunction parameterDefsForType(\n ontology: EnhancedOntologyDefinition,\n query: EnhancedQuery,\n) {\n return stringify(query.parameters, {\n \"*\": (parameter, valueFormatter, apiName) => [\n `${queryParamJsDoc(paramToDef(parameter), { apiName })} ${apiName}`,\n ` {\n ${stringify(deleteUndefineds(paramToDef(parameter)))},\n ${getLineFor__OsdkTargetType(ontology, parameter.dataType)}\n }`,\n ],\n });\n}\n\nfunction getLineFor__OsdkTargetType(\n ontology: EnhancedOntologyDefinition,\n qdt: QueryDataType,\n) {\n if (qdt.type === \"object\" || qdt.type === \"objectSet\") {\n return `__OsdkTargetType?: ${\n ontology.requireObjectType(\n qdt.objectTypeApiName!,\n ).getImportedDefinitionIdentifier(true)\n }`;\n }\n return \"\";\n}\n\nexport function queryParamJsDoc(\n param: QueryParameterDefinition<any>,\n { apiName }: { apiName: string },\n): string {\n let ret = `/**\\n`;\n\n if (param.description) {\n if (param.description) {\n ret += ` * description: ${param.description}\\n`;\n }\n } else {\n ret += ` * (no ontology metadata)\\n`;\n }\n\n ret += ` */\\n`;\n return ret;\n}\n\nexport function getQueryParamType(\n enhancedOntology: EnhancedOntologyDefinition,\n input: QueryParameterDefinition,\n type: \"Param\" | \"Result\",\n): string {\n let inner = `unknown /* ${input.type} */`;\n\n switch (input.type) {\n case \"date\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(\"datetime\")}>`;\n break;\n\n case \"attachment\":\n case \"boolean\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;\n break;\n\n case \"struct\":\n inner = `{\n ${\n stringify(input.struct, {\n \"*\": (p, formatter, apiName) => {\n return [\n `\n ${type === \"Param\" ? \"readonly \" : \"\"}\"${apiName}\"${\n p.nullable ? \"?\" : \"\"\n }`,\n `${getQueryParamType(enhancedOntology, p, type)}`,\n ];\n },\n })\n }\n }`;\n break;\n\n case \"object\":\n inner = `Query${type}.ObjectType<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n\n case \"objectSet\":\n inner = `Query${type}.ObjectSetType<${\n enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n\n case \"set\":\n inner = `${type === \"Param\" ? \"Readonly\" : \"\"}Set<${\n getQueryParamType(enhancedOntology, input.set, type)\n }>`;\n break;\n\n case \"union\":\n inner = input.union.map((u) =>\n getQueryParamType(enhancedOntology, u, type)\n ).join(\" | \");\n break;\n }\n\n if (input.multiplicity && type === \"Param\") {\n return `ReadonlyArray<${inner}>`;\n } else if (input.multiplicity) {\n return `Array<${inner}>`;\n }\n return inner;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import * as ts from "typescript";
|
|
17
18
|
import { describe, expect, it } from "vitest";
|
|
18
19
|
import { enhanceOntology } from "../GenerateContext/enhanceOntology.js";
|
|
@@ -32,15 +33,15 @@ describe("generatePerQueryDataFiles", () => {
|
|
|
32
33
|
externalSpts: new Map()
|
|
33
34
|
}),
|
|
34
35
|
outDir: "/foo",
|
|
35
|
-
importExt: ".js"
|
|
36
|
+
importExt: ".js",
|
|
37
|
+
forInternalUse: true
|
|
36
38
|
}, true);
|
|
37
39
|
expect(helper.getFiles()).toMatchInlineSnapshot(`
|
|
38
40
|
{
|
|
39
41
|
"/foo/ontology/queries.ts": "export { getCount } from './queries/getCount.js';
|
|
40
42
|
export { returnsTodo } from './queries/returnsTodo.js';
|
|
41
43
|
",
|
|
42
|
-
"/foo/ontology/queries/getCount.ts": "import type { QueryDefinition, VersionBound } from '@osdk/api';
|
|
43
|
-
import type { QueryParam, QueryResult } from '@osdk/api';
|
|
44
|
+
"/foo/ontology/queries/getCount.ts": "import type { QueryDefinition, QueryParam, QueryResult, VersionBound } from '@osdk/api';
|
|
44
45
|
import type { $ExpectedClientVersion } from '../../OntologyMetadata.js';
|
|
45
46
|
import { $osdkMetadata } from '../../OntologyMetadata.js';
|
|
46
47
|
|
|
@@ -93,8 +94,7 @@ describe("generatePerQueryDataFiles", () => {
|
|
|
93
94
|
osdkMetadata: $osdkMetadata,
|
|
94
95
|
};
|
|
95
96
|
",
|
|
96
|
-
"/foo/ontology/queries/returnsTodo.ts": "import type { QueryDefinition, VersionBound } from '@osdk/api';
|
|
97
|
-
import type { QueryParam, QueryResult } from '@osdk/api';
|
|
97
|
+
"/foo/ontology/queries/returnsTodo.ts": "import type { QueryDefinition, QueryParam, QueryResult, VersionBound } from '@osdk/api';
|
|
98
98
|
import type { $ExpectedClientVersion } from '../../OntologyMetadata.js';
|
|
99
99
|
import { $osdkMetadata } from '../../OntologyMetadata.js';
|
|
100
100
|
import type { Todo } from '../objects/Todo.js';
|
|
@@ -163,6 +163,7 @@ describe("generatePerQueryDataFiles", () => {
|
|
|
163
163
|
const rootFileNames = Object.keys(helper.getFiles());
|
|
164
164
|
console.log(rootFileNames);
|
|
165
165
|
const files = {};
|
|
166
|
+
|
|
166
167
|
// initialize the list of files
|
|
167
168
|
rootFileNames.forEach(fileName => {
|
|
168
169
|
files[fileName] = {
|
|
@@ -305,11 +306,11 @@ describe("generatePerQueryDataFiles", () => {
|
|
|
305
306
|
externalSpts: new Map()
|
|
306
307
|
}),
|
|
307
308
|
outDir: "/foo",
|
|
308
|
-
importExt: ".js"
|
|
309
|
+
importExt: ".js",
|
|
310
|
+
forInternalUse: true
|
|
309
311
|
}, true);
|
|
310
312
|
expect(helper.getFiles()["/foo/ontology/queries/doThing.ts"]).toMatchInlineSnapshot(`
|
|
311
|
-
"import type { QueryDefinition, VersionBound } from '@osdk/api';
|
|
312
|
-
import type { QueryParam, QueryResult } from '@osdk/api';
|
|
313
|
+
"import type { QueryDefinition, QueryParam, QueryResult, VersionBound } from '@osdk/api';
|
|
313
314
|
import type { $ExpectedClientVersion } from '../../OntologyMetadata.js';
|
|
314
315
|
import { $osdkMetadata } from '../../OntologyMetadata.js';
|
|
315
316
|
|