@osdk/generator 2.8.0-beta.3 → 2.8.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 +234 -0
- package/build/browser/GenerateContext/EnhancedAction.js +13 -0
- package/build/browser/GenerateContext/EnhancedAction.js.map +1 -1
- package/build/browser/GenerateContext/GenerateContext.js.map +1 -1
- package/build/browser/generateClientSdkPackage.js +1 -1
- package/build/browser/generateClientSdkPackage.js.map +1 -1
- package/build/browser/index.js +1 -1
- package/build/browser/index.js.map +1 -1
- package/build/browser/shared/getInterfaceTypesFromQueryDataType.js +3 -0
- package/build/browser/shared/getInterfaceTypesFromQueryDataType.js.map +1 -1
- package/build/browser/shared/getObjectTypesFromQueryDataType.js +3 -0
- package/build/browser/shared/getObjectTypesFromQueryDataType.js.map +1 -1
- package/build/browser/util/test/TodoWireOntology.js +20 -10
- package/build/browser/util/test/TodoWireOntology.js.map +1 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +3 -2
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js +1 -4
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
- package/build/browser/v2.0/generatePerActionDataFiles.js +2 -6
- package/build/browser/v2.0/generatePerActionDataFiles.js.map +1 -1
- package/build/browser/v2.0/generatePerQueryDataFiles.js +10 -3
- package/build/browser/v2.0/generatePerQueryDataFiles.js.map +1 -1
- package/build/browser/v2.0/getDescriptionIfPresent.js +4 -1
- package/build/browser/v2.0/getDescriptionIfPresent.js.map +1 -1
- package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +5 -1
- package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
- package/build/cjs/index.cjs +44 -80
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +12 -1
- package/build/esm/GenerateContext/EnhancedAction.js +13 -0
- package/build/esm/GenerateContext/EnhancedAction.js.map +1 -1
- package/build/esm/GenerateContext/GenerateContext.js.map +1 -1
- package/build/esm/generateClientSdkPackage.js +1 -1
- package/build/esm/generateClientSdkPackage.js.map +1 -1
- package/build/esm/index.js +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/shared/getInterfaceTypesFromQueryDataType.js +3 -0
- package/build/esm/shared/getInterfaceTypesFromQueryDataType.js.map +1 -1
- package/build/esm/shared/getObjectTypesFromQueryDataType.js +3 -0
- package/build/esm/shared/getObjectTypesFromQueryDataType.js.map +1 -1
- package/build/esm/util/test/TodoWireOntology.js +20 -10
- package/build/esm/util/test/TodoWireOntology.js.map +1 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +3 -2
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js +1 -4
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
- package/build/esm/v2.0/generatePerActionDataFiles.js +2 -6
- package/build/esm/v2.0/generatePerActionDataFiles.js.map +1 -1
- package/build/esm/v2.0/generatePerQueryDataFiles.js +10 -3
- package/build/esm/v2.0/generatePerQueryDataFiles.js.map +1 -1
- package/build/esm/v2.0/getDescriptionIfPresent.js +4 -1
- package/build/esm/v2.0/getDescriptionIfPresent.js.map +1 -1
- package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +5 -1
- package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
- package/build/types/GenerateContext/EnhancedAction.d.ts +2 -0
- package/build/types/GenerateContext/EnhancedAction.d.ts.map +1 -1
- package/build/types/GenerateContext/GenerateContext.d.ts +0 -2
- package/build/types/GenerateContext/GenerateContext.d.ts.map +1 -1
- package/build/types/generateClientSdkPackage.d.ts +11 -0
- package/build/types/generateClientSdkPackage.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/types/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +1 -1
- package/build/types/v2.0/generatePerActionDataFiles.d.ts +1 -1
- package/build/types/v2.0/generatePerActionDataFiles.d.ts.map +1 -1
- package/build/types/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +1 -1
- package/package.json +6 -6
- package/build/browser/generateClientSdkPackage.test.js +0 -68
- package/build/browser/generateClientSdkPackage.test.js.map +0 -1
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js +0 -47
- package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js.map +0 -1
- package/build/browser/shared/sanitizeMetadata.js +0 -42
- package/build/browser/shared/sanitizeMetadata.js.map +0 -1
- package/build/browser/shared/sanitizeMetadata.test.js +0 -46
- package/build/browser/shared/sanitizeMetadata.test.js.map +0 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +0 -472
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +0 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +0 -2603
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +0 -1
- package/build/browser/v2.0/generatePerActionDataFiles.test.js +0 -64
- package/build/browser/v2.0/generatePerActionDataFiles.test.js.map +0 -1
- package/build/browser/v2.0/generatePerQueryDataFiles.test.js +0 -519
- package/build/browser/v2.0/generatePerQueryDataFiles.test.js.map +0 -1
- package/build/esm/generateClientSdkPackage.test.js +0 -68
- package/build/esm/generateClientSdkPackage.test.js.map +0 -1
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js +0 -47
- package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js.map +0 -1
- package/build/esm/shared/sanitizeMetadata.js +0 -42
- package/build/esm/shared/sanitizeMetadata.js.map +0 -1
- package/build/esm/shared/sanitizeMetadata.test.js +0 -46
- package/build/esm/shared/sanitizeMetadata.test.js.map +0 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +0 -472
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +0 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +0 -2603
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +0 -1
- package/build/esm/v2.0/generatePerActionDataFiles.test.js +0 -64
- package/build/esm/v2.0/generatePerActionDataFiles.test.js.map +0 -1
- package/build/esm/v2.0/generatePerQueryDataFiles.test.js +0 -519
- package/build/esm/v2.0/generatePerQueryDataFiles.test.js.map +0 -1
- package/build/types/generateClientSdkPackage.test.d.ts +0 -1
- package/build/types/generateClientSdkPackage.test.d.ts.map +0 -1
- package/build/types/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +0 -1
- package/build/types/shared/apiNamespaces/startsWithApiNamespace.test.d.ts.map +0 -1
- package/build/types/shared/sanitizeMetadata.d.ts +0 -1
- package/build/types/shared/sanitizeMetadata.d.ts.map +0 -1
- package/build/types/shared/sanitizeMetadata.test.d.ts +0 -1
- package/build/types/shared/sanitizeMetadata.test.d.ts.map +0 -1
- package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +0 -1
- package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts.map +0 -1
- package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +0 -1
- package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts.map +0 -1
- package/build/types/v2.0/generatePerActionDataFiles.test.d.ts +0 -1
- package/build/types/v2.0/generatePerActionDataFiles.test.d.ts.map +0 -1
- package/build/types/v2.0/generatePerQueryDataFiles.test.d.ts +0 -1
- package/build/types/v2.0/generatePerQueryDataFiles.test.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","consola","EnhancedInterfaceType","EnhancedObjectType","ForeignType","getObjectImports","propertyJsdoc","stringify","wireObjectTypeV2ToSdkObjectConstV2","wireObject","ontology","forInternalUse","currentFilePath","object","requireObjectType","objectType","apiName","Error","uniqueLinkTargetTypes","Set","linkTypes","map","a","objectTypeApiName","definition","raw","objectDefIdentifier","getDefinitionIdentifier","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","identifiers","imports","createPropertyKeys","createLinks","createProps","valueTypes","createObjectSet","createOsdkObject","createDefinition","fullApiName","rid","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","valueTypeMetadata","propertyMetadata","properties","undefined","*","propertyDefinition","_","metadata","remapStructType","getPropTypeOrValueTypeEnum","multiplicity","nullable","primaryKeyApiName","links","linkDefinition","targetType","requireInterfaceType","targetTypeApiName","getImportedDefinitionIdentifier","JSON","Object","keys","key","linkTarget","join","structType","output","entries","value","defaultPropString","valueTypeApiName","valueType","constraints","shouldWrapWithParentheses","constraint","valueConstraint","maybeEnumString","maybeGetEnumString","options","x","warn","filter"],"sources":["wireObjectTypeV2ToSdkObjectConstV2.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 { ObjectMetadata } from \"@osdk/api\";\nimport type {\n ObjectTypeFullMetadata,\n OntologyValueType,\n PropertyApiName,\n SharedPropertyTypeApiName,\n ValueTypeApiName,\n ValueTypeConstraint,\n} from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { stringify } from \"../util/stringify.js\";\n\ntype PropertyApiNameUnion = PropertyApiName | SharedPropertyTypeApiName;\n\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(\n wireObject: ObjectTypeFullMetadata,\n { ontology, forInternalUse }: Pick<\n GenerateContext,\n \"ontology\" | \"forInternalUse\"\n >,\n currentFilePath: string,\n) {\n const object = ontology.requireObjectType(\n wireObject.objectType.apiName,\n true,\n );\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(\n wireObject.linkTypes.map(a =>\n ontology.requireObjectType(a.objectTypeApiName, false)\n ),\n );\n\n const definition = wireObjectTypeFullMetadataToSdkObjectMetadata(\n object.raw,\n true,\n consola,\n );\n\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\n\n const objectSetIdentifier = `${object.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${object.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${object.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${object.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `${object.shortApiName}.Links`;\n const osdkObjectIdentifier = `${object.shortApiName}.OsdkObject`;\n\n const identifiers: Identifiers = {\n objectDefIdentifier: object.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n\n function getV2Types(\n object: EnhancedObjectType,\n forInternalUse: boolean = false,\n ) {\n return `import type {\n PropertyKeys as $PropertyKeys, \n ObjectTypeDefinition as $ObjectTypeDefinition,\n ObjectMetadata as $ObjectMetadata,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type {\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n OsdkObject as $OsdkObject,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n\n\n export namespace ${object.shortApiName} {\n\n ${createPropertyKeys(object)}\n\n\n ${createLinks(ontology, object, \"Links\")}\n\n ${createProps(object, \"Props\", false, ontology.raw.valueTypes)}\n ${createProps(object, \"StrictProps\", true, ontology.raw.valueTypes)}\n\n ${createObjectSet(object, identifiers)}\n \n ${createOsdkObject(object, \"OsdkInstance\", identifiers)}\n } \n\n\n\n ${createDefinition(object, ontology, object.shortApiName, identifiers)}\n `;\n }\n\n const imports = getObjectImports(\n uniqueLinkTargetTypes,\n definition.apiName,\n currentFilePath,\n true,\n );\n\n return `${imports}${getV2Types(object, forInternalUse)}\n\n export const ${object.shortApiName}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n internalDoNotUseMetadata: {\n rid: \"${definition.rid}\",\n },\n } satisfies ${objectDefIdentifier} & { internalDoNotUseMetadata: { rid: string } } as ${objectDefIdentifier};`;\n}\n\nexport interface Identifiers extends\n Record<\n | \"osdkObjectIdentifier\"\n | \"propertyKeysIdentifier\"\n | \"osdkObjectPropsIdentifier\"\n | \"objectDefIdentifier\"\n | \"osdkObjectLinksIdentifier\"\n | \"osdkObjectStrictPropsIdentifier\"\n | \"objectSetIdentifier\",\n string\n >\n{}\n\nexport function createOsdkObject(\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n {\n osdkObjectPropsIdentifier,\n objectDefIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export type ${identifier}<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > \n = $Osdk.Instance<\n ${objectDefIdentifier}, \n OPTIONS,\n K\n >;\n \n\n /** @deprecated use ${identifier} */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > = ${identifier}<OPTIONS, K>;\n ;\n `;\n}\n\nexport function createObjectSet(\n object: EnhancedObjectType | EnhancedInterfaceType,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n propertyKeysIdentifier,\n osdkObjectIdentifier,\n }: Identifiers,\n) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\n\nfunction maybeStripNamespace(\n type: EnhancedInterfaceType | EnhancedObjectType,\n q: string,\n) {\n if (\n type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)\n ) {\n return q.slice(type.apiNamespace.length + 1);\n } else {\n return q;\n }\n}\n\nexport function createProps(\n type: EnhancedInterfaceType | EnhancedObjectType,\n identifier: string,\n strict: boolean,\n valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\n): string {\n if (identifier === \"StrictProps\") {\n return `export type StrictProps = Props`;\n }\n const definition = type.getCleanedUpDefinition(true);\n const propertyMetadata = type instanceof EnhancedObjectType\n ? type.raw.objectType.properties\n : type instanceof EnhancedInterfaceType\n ? type.raw.properties\n : undefined;\n return `export interface ${identifier} {\n${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n const metadata = propertyMetadata\n ? (propertyMetadata as Record<PropertyApiNameUnion, any>)[apiName]\n : undefined;\n return [\n `${\n propertyJsdoc(propertyDefinition, metadata, {\n apiName,\n })\n }readonly \"${maybeStripNamespace(type, apiName)}\"`,\n (typeof propertyDefinition.type === \"object\"\n ? remapStructType(propertyDefinition.type)\n : getPropTypeOrValueTypeEnum(\n propertyDefinition,\n valueTypeMetadata,\n ))\n + `${propertyDefinition.multiplicity ? \"[]\" : \"\"}${\n propertyDefinition.nullable\n || (!strict\n && !(definition.type === \"object\"\n && definition.primaryKeyApiName === apiName))\n ? `| undefined`\n : \"\"\n }`,\n ] as [string, string];\n },\n })\n }\n }`;\n}\n\nexport function createDefinition(\n object: EnhancedObjectType | EnhancedInterfaceType,\n ontology: EnhancedOntologyDefinition,\n identifier: string,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n const propertyMetadata = object instanceof EnhancedObjectType\n ? object.raw.objectType.properties\n : object instanceof EnhancedInterfaceType\n ? object.raw.properties\n : undefined;\n return `\n export interface ${identifier} extends ${\n object instanceof EnhancedObjectType\n ? `$ObjectTypeDefinition`\n : `$InterfaceDefinition`\n } {\n osdkMetadata: typeof $osdkMetadata;\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\";\n apiName: \"${object.fullApiName}\";\n __DefinitionMetadata?: {\n objectSet: ${objectSetIdentifier};\n props: ${osdkObjectPropsIdentifier};\n linksType: ${osdkObjectLinksIdentifier};\n strictProps: ${osdkObjectStrictPropsIdentifier};\n ${\n stringify(definition, {\n links: (_value) =>\n `{\n ${\n definition.type === \"interface\"\n ? stringify(definition.links, {\n \"*\": (linkDefinition) =>\n `$InterfaceMetadata.Link<${\n linkDefinition.targetType === \"interface\"\n ? ontology.requireInterfaceType(\n linkDefinition.targetTypeApiName,\n )\n .getImportedDefinitionIdentifier(true)\n : ontology.requireObjectType(\n linkDefinition.targetTypeApiName,\n ).getImportedDefinitionIdentifier(true)\n }, ${linkDefinition.multiplicity}>`,\n })\n : stringify(definition.links, {\n \"*\": (linkDefinition) =>\n `$ObjectMetadata.Link<${\n ontology.requireObjectType(linkDefinition.targetType)\n .getImportedDefinitionIdentifier(true)\n }, ${linkDefinition.multiplicity}>`,\n })\n }\n }`,\n properties: (_value) => (`{\n ${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) =>\n [\n `${\n propertyJsdoc(\n propertyDefinition,\n (propertyMetadata as Record<PropertyApiNameUnion, any>)[\n apiName\n ],\n {\n apiName,\n },\n )\n }\"${maybeStripNamespace(object, apiName)}\"`,\n `$PropertyDef<${JSON.stringify(propertyDefinition.type)}, \"${\n propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"\n }\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`,\n ] as [string, string],\n })\n }\n }`),\n })\n }\n } \n}\n `;\n}\n\nexport function createLinks(\n ontology: EnhancedOntologyDefinition,\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n) {\n const definition = object.getCleanedUpDefinition(true);\n\n return `\n ${\n Object.keys(definition.links).length === 0\n ? `export type ${identifier} = {};`\n : `\n export interface ${identifier} {\n${\n stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(\n definition.targetType,\n )\n .getImportedDefinitionIdentifier(true);\n\n return [\n `readonly ${key}`,\n `${\n definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `$SingleLinkAccessor<${linkTarget}>`\n }\n `,\n ];\n },\n })\n }\n }\n `\n }`;\n}\n\nexport function createPropertyKeys(\n type: EnhancedObjectType | EnhancedInterfaceType,\n) {\n const properties = Object.keys(type.getCleanedUpDefinition(true).properties);\n return `export type PropertyKeys = ${\n properties.length === 0\n ? \"never\"\n : properties.map(\n (a) => maybeStripNamespace(type, a),\n ).map(a => `\"${a}\"`).join(\"|\")\n };`;\n}\n\nfunction remapStructType(structType: Record<string, any>): string {\n let output = `{`;\n Object.entries(structType).map(([key, value]) =>\n output += `${key}:$PropType[${JSON.stringify(value)}]|undefined;`\n );\n output += \"}\";\n return output;\n}\n\nfunction getPropTypeOrValueTypeEnum(\n propertyDefinition: ObjectMetadata.Property,\n valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\n): string {\n const defaultPropString = `$PropType[${\n JSON.stringify(propertyDefinition.type)\n }]`;\n if (\n !(propertyDefinition.type === \"string\"\n || propertyDefinition.type === \"boolean\")\n || !propertyDefinition.valueTypeApiName\n || valueTypeMetadata[propertyDefinition.valueTypeApiName] == null\n ) {\n return defaultPropString;\n }\n const valueType = valueTypeMetadata[propertyDefinition.valueTypeApiName];\n if (valueType.constraints.length !== 1) {\n throw new Error(\n `Expected exactly one constraint for value type ${propertyDefinition.valueTypeApiName} but got ${valueType.constraints.length}`,\n );\n }\n\n let shouldWrapWithParentheses = false;\n let constraint = valueType.constraints[0];\n if (constraint.type === \"array\" && constraint.valueConstraint) {\n constraint = constraint.valueConstraint;\n shouldWrapWithParentheses = true;\n }\n\n const maybeEnumString = maybeGetEnumString(\n propertyDefinition,\n constraint,\n );\n\n return maybeEnumString\n ? (\n shouldWrapWithParentheses ? `(${maybeEnumString})` : maybeEnumString\n )\n : defaultPropString;\n}\n\nfunction maybeGetEnumString(\n propertyDefinition: ObjectMetadata.Property,\n constraint: ValueTypeConstraint,\n) {\n if (constraint.type !== \"enum\" || constraint.options.length === 0) {\n return undefined;\n }\n if (propertyDefinition.type === \"string\") {\n return constraint.options.map(x => `\"${x}\"`).join(\n \" | \",\n );\n }\n if (propertyDefinition.type === \"boolean\") {\n return constraint.options.map(value => {\n if (value === true) {\n return true;\n } else if (value === false) {\n return false;\n } else if (value == null) {\n // Always infer nullability from the property definition\n return undefined;\n } else {\n consola.warn(`Unexpected boolean value in enum: ${value}. Ignoring.`);\n }\n }).filter(value => value != null).join(\n \" | \",\n );\n }\n return undefined;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","consola","EnhancedInterfaceType","EnhancedObjectType","ForeignType","getObjectImports","propertyJsdoc","stringify","wireObjectTypeV2ToSdkObjectConstV2","wireObject","ontology","forInternalUse","currentFilePath","object","requireObjectType","objectType","apiName","Error","uniqueLinkTargetTypes","Set","linkTypes","map","a","objectTypeApiName","definition","raw","objectDefIdentifier","getDefinitionIdentifier","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","identifiers","imports","createPropertyKeys","createLinks","createProps","valueTypes","createObjectSet","createOsdkObject","createDefinition","fullApiName","primaryKeyApiName","primaryKeyType","rid","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","valueTypeMetadata","propertyMetadata","properties","undefined","*","propertyDefinition","_","metadata","remapStructType","getPropTypeOrValueTypeEnum","multiplicity","nullable","links","linkDefinition","targetType","requireInterfaceType","targetTypeApiName","getImportedDefinitionIdentifier","JSON","Object","keys","key","linkTarget","join","structType","output","entries","value","defaultPropString","valueTypeApiName","valueType","constraints","shouldWrapWithParentheses","constraint","valueConstraint","maybeEnumString","maybeGetEnumString","options","x","warn","filter"],"sources":["wireObjectTypeV2ToSdkObjectConstV2.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 { ObjectMetadata } from \"@osdk/api\";\nimport type {\n ObjectTypeFullMetadata,\n OntologyValueType,\n PropertyApiName,\n SharedPropertyTypeApiName,\n ValueTypeApiName,\n ValueTypeConstraint,\n} from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { stringify } from \"../util/stringify.js\";\n\ntype PropertyApiNameUnion = PropertyApiName | SharedPropertyTypeApiName;\n\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(\n wireObject: ObjectTypeFullMetadata,\n { ontology, forInternalUse }: Pick<\n GenerateContext,\n \"ontology\" | \"forInternalUse\"\n >,\n currentFilePath: string,\n) {\n const object = ontology.requireObjectType(\n wireObject.objectType.apiName,\n true,\n );\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(\n wireObject.linkTypes.map(a =>\n ontology.requireObjectType(a.objectTypeApiName, false)\n ),\n );\n\n const definition = wireObjectTypeFullMetadataToSdkObjectMetadata(\n object.raw,\n true,\n consola,\n );\n\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\n\n const objectSetIdentifier = `${object.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${object.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${object.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${object.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `${object.shortApiName}.Links`;\n const osdkObjectIdentifier = `${object.shortApiName}.OsdkObject`;\n\n const identifiers: Identifiers = {\n objectDefIdentifier: object.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n\n function getV2Types(\n object: EnhancedObjectType,\n forInternalUse: boolean = false,\n ) {\n return `import type {\n PropertyKeys as $PropertyKeys, \n ObjectTypeDefinition as $ObjectTypeDefinition,\n ObjectMetadata as $ObjectMetadata,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type {\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n OsdkObject as $OsdkObject,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n\n\n export namespace ${object.shortApiName} {\n\n ${createPropertyKeys(object)}\n\n\n ${createLinks(ontology, object, \"Links\")}\n\n ${createProps(object, \"Props\", false, ontology.raw.valueTypes)}\n ${createProps(object, \"StrictProps\", true, ontology.raw.valueTypes)}\n\n ${createObjectSet(object, identifiers)}\n \n ${createOsdkObject(object, \"OsdkInstance\", identifiers)}\n } \n\n\n\n ${createDefinition(object, ontology, object.shortApiName, identifiers)}\n `;\n }\n\n const imports = getObjectImports(\n uniqueLinkTargetTypes,\n definition.apiName,\n currentFilePath,\n true,\n );\n\n return `${imports}${getV2Types(object, forInternalUse)}\n\n export const ${object.shortApiName}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n primaryKeyApiName: \"${definition.primaryKeyApiName}\",\n primaryKeyType: \"${definition.primaryKeyType}\",\n internalDoNotUseMetadata: {\n rid: \"${definition.rid}\",\n },\n } satisfies ${objectDefIdentifier} & { internalDoNotUseMetadata: { rid: string } } as ${objectDefIdentifier};`;\n}\n\nexport interface Identifiers extends\n Record<\n | \"osdkObjectIdentifier\"\n | \"propertyKeysIdentifier\"\n | \"osdkObjectPropsIdentifier\"\n | \"objectDefIdentifier\"\n | \"osdkObjectLinksIdentifier\"\n | \"osdkObjectStrictPropsIdentifier\"\n | \"objectSetIdentifier\",\n string\n >\n{}\n\nexport function createOsdkObject(\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n {\n osdkObjectPropsIdentifier,\n objectDefIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export type ${identifier}<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > \n = $Osdk.Instance<\n ${objectDefIdentifier}, \n OPTIONS,\n K\n >;\n \n\n /** @deprecated use ${identifier} */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > = ${identifier}<OPTIONS, K>;\n ;\n `;\n}\n\nexport function createObjectSet(\n object: EnhancedObjectType | EnhancedInterfaceType,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n propertyKeysIdentifier,\n osdkObjectIdentifier,\n }: Identifiers,\n) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\n\nfunction maybeStripNamespace(\n type: EnhancedInterfaceType | EnhancedObjectType,\n q: string,\n) {\n if (\n type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)\n ) {\n return q.slice(type.apiNamespace.length + 1);\n } else {\n return q;\n }\n}\n\nexport function createProps(\n type: EnhancedInterfaceType | EnhancedObjectType,\n identifier: string,\n strict: boolean,\n valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\n): string {\n if (identifier === \"StrictProps\") {\n return `export type StrictProps = Props`;\n }\n const definition = type.getCleanedUpDefinition(true);\n const propertyMetadata = type instanceof EnhancedObjectType\n ? type.raw.objectType.properties\n : type instanceof EnhancedInterfaceType\n ? type.raw.properties\n : undefined;\n return `export interface ${identifier} {\n${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n const metadata = propertyMetadata\n ? (propertyMetadata as Record<PropertyApiNameUnion, any>)[apiName]\n : undefined;\n return [\n `${\n propertyJsdoc(propertyDefinition, metadata, {\n apiName,\n })\n }readonly \"${maybeStripNamespace(type, apiName)}\"`,\n (typeof propertyDefinition.type === \"object\"\n ? remapStructType(propertyDefinition.type)\n : getPropTypeOrValueTypeEnum(\n propertyDefinition,\n valueTypeMetadata,\n ))\n + `${propertyDefinition.multiplicity ? \"[]\" : \"\"}${\n propertyDefinition.nullable\n || (!strict\n && !(definition.type === \"object\"\n && definition.primaryKeyApiName === apiName))\n ? `| undefined`\n : \"\"\n }`,\n ] as [string, string];\n },\n })\n }\n }`;\n}\n\nexport function createDefinition(\n object: EnhancedObjectType | EnhancedInterfaceType,\n ontology: EnhancedOntologyDefinition,\n identifier: string,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n const propertyMetadata = object instanceof EnhancedObjectType\n ? object.raw.objectType.properties\n : object instanceof EnhancedInterfaceType\n ? object.raw.properties\n : undefined;\n return `\n export interface ${identifier} extends ${\n object instanceof EnhancedObjectType\n ? `$ObjectTypeDefinition`\n : `$InterfaceDefinition`\n } {\n osdkMetadata: typeof $osdkMetadata;\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\";\n apiName: \"${object.fullApiName}\";${\n object instanceof EnhancedObjectType && definition.type === \"object\"\n ? `\n primaryKeyApiName: \"${definition.primaryKeyApiName}\";\n primaryKeyType: \"${definition.primaryKeyType}\";`\n : \"\"\n }\n __DefinitionMetadata?: {\n objectSet: ${objectSetIdentifier};\n props: ${osdkObjectPropsIdentifier};\n linksType: ${osdkObjectLinksIdentifier};\n strictProps: ${osdkObjectStrictPropsIdentifier};\n ${\n stringify(definition, {\n links: (_value) =>\n `{\n ${\n definition.type === \"interface\"\n ? stringify(definition.links, {\n \"*\": (linkDefinition) =>\n `$InterfaceMetadata.Link<${\n linkDefinition.targetType === \"interface\"\n ? ontology.requireInterfaceType(\n linkDefinition.targetTypeApiName,\n )\n .getImportedDefinitionIdentifier(true)\n : ontology.requireObjectType(\n linkDefinition.targetTypeApiName,\n ).getImportedDefinitionIdentifier(true)\n }, ${linkDefinition.multiplicity}>`,\n })\n : stringify(definition.links, {\n \"*\": (linkDefinition) =>\n `$ObjectMetadata.Link<${\n ontology.requireObjectType(linkDefinition.targetType)\n .getImportedDefinitionIdentifier(true)\n }, ${linkDefinition.multiplicity}>`,\n })\n }\n }`,\n properties: (_value) => (`{\n ${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) =>\n [\n `${\n propertyJsdoc(\n propertyDefinition,\n (propertyMetadata as Record<PropertyApiNameUnion, any>)[\n apiName\n ],\n {\n apiName,\n },\n )\n }\"${maybeStripNamespace(object, apiName)}\"`,\n `$PropertyDef<${JSON.stringify(propertyDefinition.type)}, \"${\n propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"\n }\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`,\n ] as [string, string],\n })\n }\n }`),\n })\n }\n } \n}\n `;\n}\n\nexport function createLinks(\n ontology: EnhancedOntologyDefinition,\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n) {\n const definition = object.getCleanedUpDefinition(true);\n\n return `\n ${\n Object.keys(definition.links).length === 0\n ? `export type ${identifier} = {};`\n : `\n export interface ${identifier} {\n${\n stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(\n definition.targetType,\n )\n .getImportedDefinitionIdentifier(true);\n\n return [\n `readonly ${key}`,\n `${\n definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `$SingleLinkAccessor<${linkTarget}>`\n }\n `,\n ];\n },\n })\n }\n }\n `\n }`;\n}\n\nexport function createPropertyKeys(\n type: EnhancedObjectType | EnhancedInterfaceType,\n) {\n const properties = Object.keys(type.getCleanedUpDefinition(true).properties);\n return `export type PropertyKeys = ${\n properties.length === 0\n ? \"never\"\n : properties.map(\n (a) => maybeStripNamespace(type, a),\n ).map(a => `\"${a}\"`).join(\"|\")\n };`;\n}\n\nfunction remapStructType(structType: Record<string, any>): string {\n let output = `{`;\n Object.entries(structType).map(([key, value]) =>\n output += `${key}:$PropType[${JSON.stringify(value)}]|undefined;`\n );\n output += \"}\";\n return output;\n}\n\nfunction getPropTypeOrValueTypeEnum(\n propertyDefinition: ObjectMetadata.Property,\n valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\n): string {\n const defaultPropString = `$PropType[${\n JSON.stringify(propertyDefinition.type)\n }]`;\n if (\n !(propertyDefinition.type === \"string\"\n || propertyDefinition.type === \"boolean\")\n || !propertyDefinition.valueTypeApiName\n || valueTypeMetadata[propertyDefinition.valueTypeApiName] == null\n ) {\n return defaultPropString;\n }\n const valueType = valueTypeMetadata[propertyDefinition.valueTypeApiName];\n if (valueType.constraints.length !== 1) {\n throw new Error(\n `Expected exactly one constraint for value type ${propertyDefinition.valueTypeApiName} but got ${valueType.constraints.length}`,\n );\n }\n\n let shouldWrapWithParentheses = false;\n let constraint = valueType.constraints[0];\n if (constraint.type === \"array\" && constraint.valueConstraint) {\n constraint = constraint.valueConstraint;\n shouldWrapWithParentheses = true;\n }\n\n const maybeEnumString = maybeGetEnumString(\n propertyDefinition,\n constraint,\n );\n\n return maybeEnumString\n ? (\n shouldWrapWithParentheses ? `(${maybeEnumString})` : maybeEnumString\n )\n : defaultPropString;\n}\n\nfunction maybeGetEnumString(\n propertyDefinition: ObjectMetadata.Property,\n constraint: ValueTypeConstraint,\n) {\n if (constraint.type !== \"enum\" || constraint.options.length === 0) {\n return undefined;\n }\n if (propertyDefinition.type === \"string\") {\n return constraint.options.map(x => `\"${x}\"`).join(\n \" | \",\n );\n }\n if (propertyDefinition.type === \"boolean\") {\n return constraint.options.map(value => {\n if (value === true) {\n return true;\n } else if (value === false) {\n return false;\n } else if (value == null) {\n // Always infer nullability from the property definition\n return undefined;\n } else {\n consola.warn(`Unexpected boolean value in enum: ${value}. Ignoring.`);\n }\n }).filter(value => value != null).join(\n \" | \",\n );\n }\n return undefined;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/cjs/index.cjs
CHANGED
|
@@ -77,13 +77,23 @@ function extractNamespace(fqApiName) {
|
|
|
77
77
|
|
|
78
78
|
// src/GenerateContext/EnhancedAction.ts
|
|
79
79
|
var EnhancedAction = class extends EnhancedBase {
|
|
80
|
+
#unsanitizedApiName;
|
|
80
81
|
constructor(common, raw) {
|
|
82
|
+
const unsanitizedApiName = raw.apiName;
|
|
83
|
+
raw = {
|
|
84
|
+
...raw,
|
|
85
|
+
apiName: camelize(raw.apiName)
|
|
86
|
+
};
|
|
81
87
|
super(common, raw, raw.apiName, "./ontology/actions");
|
|
82
88
|
this.raw = raw;
|
|
89
|
+
this.#unsanitizedApiName = unsanitizedApiName;
|
|
83
90
|
}
|
|
84
91
|
get description() {
|
|
85
92
|
return this.raw.description;
|
|
86
93
|
}
|
|
94
|
+
get unsanitizedApiName() {
|
|
95
|
+
return this.#unsanitizedApiName;
|
|
96
|
+
}
|
|
87
97
|
get parameters() {
|
|
88
98
|
return this.raw.parameters;
|
|
89
99
|
}
|
|
@@ -100,6 +110,9 @@ var EnhancedAction = class extends EnhancedBase {
|
|
|
100
110
|
return `${this.shortApiName}.ParamsDefinition`;
|
|
101
111
|
}
|
|
102
112
|
};
|
|
113
|
+
function camelize(name) {
|
|
114
|
+
return name.replace(/-./g, (segment) => segment[1].toUpperCase());
|
|
115
|
+
}
|
|
103
116
|
var EnhancedInterfaceType = class extends EnhancedBase {
|
|
104
117
|
constructor(common, raw) {
|
|
105
118
|
super(common, raw, raw.apiName, "./ontology/interfaces");
|
|
@@ -241,22 +254,6 @@ function enhanceOntology({
|
|
|
241
254
|
return new EnhancedOntologyDefinition(sanitized, importExt, externalObjects, externalInterfaces, externalSpts);
|
|
242
255
|
}
|
|
243
256
|
|
|
244
|
-
// src/shared/sanitizeMetadata.ts
|
|
245
|
-
function sanitizeMetadata(ontology) {
|
|
246
|
-
return {
|
|
247
|
-
...ontology,
|
|
248
|
-
actionTypes: Object.fromEntries(Object.values(ontology.actionTypes).map((actionType) => {
|
|
249
|
-
return [camelize(actionType.apiName), {
|
|
250
|
-
...actionType,
|
|
251
|
-
apiName: camelize(actionType.apiName)
|
|
252
|
-
}];
|
|
253
|
-
}))
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
function camelize(name) {
|
|
257
|
-
return name.replace(/-./g, (segment) => segment[1].toUpperCase());
|
|
258
|
-
}
|
|
259
|
-
|
|
260
257
|
// src/util/verifyOutDir.ts
|
|
261
258
|
async function verifyOutDir(outDir, fs2) {
|
|
262
259
|
try {
|
|
@@ -345,20 +342,13 @@ function stringify(obj, customizer = {}, separator = ",\n") {
|
|
|
345
342
|
return entries.join(separator);
|
|
346
343
|
}
|
|
347
344
|
|
|
348
|
-
// src/util/stringUnionFrom.ts
|
|
349
|
-
function stringUnionFrom(values) {
|
|
350
|
-
if (values.length === 0) {
|
|
351
|
-
return "never";
|
|
352
|
-
} else {
|
|
353
|
-
return values.map((v) => `"${v}"`).join("|");
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
|
|
357
345
|
// src/v2.0/getDescriptionIfPresent.ts
|
|
358
346
|
function getDescriptionIfPresent(description, includeNewline) {
|
|
359
347
|
if (description) {
|
|
348
|
+
const lines = description.split("\n");
|
|
349
|
+
const formattedLines = lines.map((line) => ` * ${line}`).join("\n");
|
|
360
350
|
return `/**
|
|
361
|
-
|
|
351
|
+
${formattedLines}
|
|
362
352
|
*/${""}`;
|
|
363
353
|
}
|
|
364
354
|
return "";
|
|
@@ -366,7 +356,7 @@ function getDescriptionIfPresent(description, includeNewline) {
|
|
|
366
356
|
|
|
367
357
|
// src/v2.0/generatePerActionDataFiles.ts
|
|
368
358
|
async function generatePerActionDataFiles({
|
|
369
|
-
|
|
359
|
+
ontology,
|
|
370
360
|
fs: fs2,
|
|
371
361
|
outDir: rootOutDir,
|
|
372
362
|
importExt = "",
|
|
@@ -379,10 +369,7 @@ async function generatePerActionDataFiles({
|
|
|
379
369
|
});
|
|
380
370
|
await Promise.all(Object.values(enhancedOntology.actionTypes).map(async (action) => {
|
|
381
371
|
const currentFilePath = path8__namespace.default.join("ontology", "actions", `${action.shortApiName}.ts`);
|
|
382
|
-
const
|
|
383
|
-
const uniqueApiNames = new Set(uniqueApiNamesArray);
|
|
384
|
-
stringUnionFrom([...uniqueApiNames]);
|
|
385
|
-
const fullActionDef = deleteUndefineds(generatorConverters.wireActionTypeV2ToSdkActionMetadata(action.raw));
|
|
372
|
+
const fullActionDef = deleteUndefineds(generatorConverters.wireActionTypeV2ToSdkActionMetadata(action.raw, action.unsanitizedApiName));
|
|
386
373
|
function createParamsDef() {
|
|
387
374
|
const entries = Object.entries(fullActionDef.parameters ?? {});
|
|
388
375
|
entries.sort((a, b) => a[0].localeCompare(b[0]));
|
|
@@ -571,46 +558,6 @@ async function generatePerActionDataFiles({
|
|
|
571
558
|
${Object.keys(ontology.actionTypes).length === 0 ? "export {};" : ""}
|
|
572
559
|
`));
|
|
573
560
|
}
|
|
574
|
-
function extractReferencedObjectsFromAction(actionType) {
|
|
575
|
-
const referencedObjectsInParameters = Object.values(actionType.parameters).flatMap(({
|
|
576
|
-
dataType
|
|
577
|
-
}) => {
|
|
578
|
-
const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);
|
|
579
|
-
return objectTypeReference ? [objectTypeReference] : [];
|
|
580
|
-
});
|
|
581
|
-
const referenceObjectsInEdits = actionType.operations.flatMap((value) => {
|
|
582
|
-
switch (value.type) {
|
|
583
|
-
case "createObject":
|
|
584
|
-
return [value.objectTypeApiName];
|
|
585
|
-
case "modifyObject":
|
|
586
|
-
return [value.objectTypeApiName];
|
|
587
|
-
case "deleteObject":
|
|
588
|
-
case "createLink":
|
|
589
|
-
case "deleteLink":
|
|
590
|
-
default:
|
|
591
|
-
return [];
|
|
592
|
-
}
|
|
593
|
-
});
|
|
594
|
-
return [...referenceObjectsInEdits, ...referencedObjectsInParameters];
|
|
595
|
-
}
|
|
596
|
-
function extractReferencedObjectsFromActionParameter(actionParameter) {
|
|
597
|
-
switch (actionParameter.type) {
|
|
598
|
-
case "objectSet":
|
|
599
|
-
case "object":
|
|
600
|
-
return actionParameter.objectTypeApiName;
|
|
601
|
-
case "array":
|
|
602
|
-
return extractReferencedObjectsFromActionParameter(actionParameter.subType);
|
|
603
|
-
case "string":
|
|
604
|
-
case "boolean":
|
|
605
|
-
case "attachment":
|
|
606
|
-
case "date":
|
|
607
|
-
case "double":
|
|
608
|
-
case "integer":
|
|
609
|
-
case "long":
|
|
610
|
-
case "timestamp":
|
|
611
|
-
return void 0;
|
|
612
|
-
}
|
|
613
|
-
}
|
|
614
561
|
|
|
615
562
|
// src/shared/propertyJsdoc.ts
|
|
616
563
|
function propertyJsdoc(property, rawPropertyMetadata, {
|
|
@@ -735,6 +682,8 @@ function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {
|
|
|
735
682
|
type: "${object instanceof EnhancedObjectType ? "object" : "interface"}",
|
|
736
683
|
apiName: "${object.fullApiName}",
|
|
737
684
|
osdkMetadata: $osdkMetadata,
|
|
685
|
+
primaryKeyApiName: "${definition.primaryKeyApiName}",
|
|
686
|
+
primaryKeyType: "${definition.primaryKeyType}",
|
|
738
687
|
internalDoNotUseMetadata: {
|
|
739
688
|
rid: "${definition.rid}",
|
|
740
689
|
},
|
|
@@ -821,7 +770,9 @@ function createDefinition(object, ontology, identifier, {
|
|
|
821
770
|
export interface ${identifier} extends ${object instanceof EnhancedObjectType ? `$ObjectTypeDefinition` : `$InterfaceDefinition`} {
|
|
822
771
|
osdkMetadata: typeof $osdkMetadata;
|
|
823
772
|
type: "${object instanceof EnhancedObjectType ? "object" : "interface"}";
|
|
824
|
-
apiName: "${object.fullApiName}"
|
|
773
|
+
apiName: "${object.fullApiName}";${object instanceof EnhancedObjectType && definition.type === "object" ? `
|
|
774
|
+
primaryKeyApiName: "${definition.primaryKeyApiName}";
|
|
775
|
+
primaryKeyType: "${definition.primaryKeyType}";` : ""}
|
|
825
776
|
__DefinitionMetadata?: {
|
|
826
777
|
objectSet: ${objectSetIdentifier};
|
|
827
778
|
props: ${osdkObjectPropsIdentifier};
|
|
@@ -966,9 +917,10 @@ Cannot have both an unqualified property and a namespaced property with matching
|
|
|
966
917
|
return `import type {
|
|
967
918
|
InterfaceDefinition as $InterfaceDefinition,
|
|
968
919
|
InterfaceMetadata as $InterfaceMetadata,
|
|
969
|
-
ObjectSet as $ObjectSet,
|
|
920
|
+
ObjectSet as $ObjectSet,
|
|
970
921
|
Osdk as $Osdk,
|
|
971
922
|
PropertyValueWireToClient as $PropType,
|
|
923
|
+
SingleLinkAccessor as $SingleLinkAccessor,
|
|
972
924
|
} from "${forInternalUse2 ? "@osdk/api" : "@osdk/client"}";
|
|
973
925
|
|
|
974
926
|
${definition.links ? Object.keys(definition.links).length > 0 ? `
|
|
@@ -976,7 +928,7 @@ Cannot have both an unqualified property and a namespaced property with matching
|
|
|
976
928
|
${stringify(definition.links, {
|
|
977
929
|
"*": (definition2) => {
|
|
978
930
|
const linkTarget = definition2.targetType === "object" ? ontology.requireObjectType(definition2.targetTypeApiName).getImportedDefinitionIdentifier(v2) : ontology.requireInterfaceType(definition2.targetTypeApiName).getImportedDefinitionIdentifier(v2);
|
|
979
|
-
return `${definition2.multiplicity ? `${linkTarget}.ObjectSet` : `${linkTarget}
|
|
931
|
+
return `${definition2.multiplicity ? `${linkTarget}.ObjectSet` : `$SingleLinkAccessor<${linkTarget}>`}
|
|
980
932
|
`;
|
|
981
933
|
}
|
|
982
934
|
})}
|
|
@@ -1112,6 +1064,7 @@ function getInterfaceTypesFromQueryDataType(dataType, types) {
|
|
|
1112
1064
|
case "float":
|
|
1113
1065
|
case "integer":
|
|
1114
1066
|
case "long":
|
|
1067
|
+
case "mediaReference":
|
|
1115
1068
|
case "null":
|
|
1116
1069
|
case "string":
|
|
1117
1070
|
case "threeDimensionalAggregation":
|
|
@@ -1121,6 +1074,8 @@ function getInterfaceTypesFromQueryDataType(dataType, types) {
|
|
|
1121
1074
|
case "unsupported":
|
|
1122
1075
|
case "object":
|
|
1123
1076
|
case "objectSet":
|
|
1077
|
+
case "mediaReference":
|
|
1078
|
+
case "void":
|
|
1124
1079
|
return;
|
|
1125
1080
|
default:
|
|
1126
1081
|
throw new Error(`Unknown query data type ${dataType.type}`);
|
|
@@ -1173,6 +1128,7 @@ function getObjectTypesFromQueryDataType(dataType, types) {
|
|
|
1173
1128
|
case "float":
|
|
1174
1129
|
case "integer":
|
|
1175
1130
|
case "long":
|
|
1131
|
+
case "mediaReference":
|
|
1176
1132
|
case "null":
|
|
1177
1133
|
case "string":
|
|
1178
1134
|
case "threeDimensionalAggregation":
|
|
@@ -1182,6 +1138,8 @@ function getObjectTypesFromQueryDataType(dataType, types) {
|
|
|
1182
1138
|
case "unsupported":
|
|
1183
1139
|
case "interfaceObject":
|
|
1184
1140
|
case "interfaceObjectSet":
|
|
1141
|
+
case "mediaReference":
|
|
1142
|
+
case "void":
|
|
1185
1143
|
return;
|
|
1186
1144
|
default:
|
|
1187
1145
|
throw new Error(`Unknown query data type ${dataType.type}`);
|
|
@@ -1268,8 +1226,8 @@ async function generateV2QueryFile(fs2, outDir, relOutDir, query, importExt, ont
|
|
|
1268
1226
|
}), "Result")}
|
|
1269
1227
|
`}
|
|
1270
1228
|
}
|
|
1271
|
-
|
|
1272
|
-
|
|
1229
|
+
|
|
1230
|
+
${getDescriptionIfPresent(query.description)}
|
|
1273
1231
|
export interface ${query.shortApiName} extends QueryDefinition<
|
|
1274
1232
|
${query.shortApiName}.Signature
|
|
1275
1233
|
>, VersionBound<$ExpectedClientVersion>{
|
|
@@ -1293,7 +1251,7 @@ async function generateV2QueryFile(fs2, outDir, relOutDir, query, importExt, ont
|
|
|
1293
1251
|
osdkMetadata: typeof $osdkMetadata;
|
|
1294
1252
|
}
|
|
1295
1253
|
|
|
1296
|
-
|
|
1254
|
+
${getDescriptionIfPresent(query.description)}
|
|
1297
1255
|
export const ${query.shortApiName}: ${query.definitionIdentifier} = {
|
|
1298
1256
|
${stringify(baseProps, {
|
|
1299
1257
|
"description": () => void 0,
|
|
@@ -1358,6 +1316,13 @@ function getQueryParamType(enhancedOntology, input, type, isMapKey = false) {
|
|
|
1358
1316
|
case "timestamp":
|
|
1359
1317
|
paramType = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;
|
|
1360
1318
|
break;
|
|
1319
|
+
case "mediaReference":
|
|
1320
|
+
if (type === "Param") {
|
|
1321
|
+
paramType = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;
|
|
1322
|
+
} else {
|
|
1323
|
+
paramType = `Query${type}.MediaType`;
|
|
1324
|
+
}
|
|
1325
|
+
break;
|
|
1361
1326
|
case "struct":
|
|
1362
1327
|
paramType = `{
|
|
1363
1328
|
${stringify(input.struct, {
|
|
@@ -1429,19 +1394,17 @@ function helper(x) {
|
|
|
1429
1394
|
async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs2, outDir, packageType = "commonjs", externalObjects = /* @__PURE__ */ new Map(), externalInterfaces = /* @__PURE__ */ new Map(), externalSpts = /* @__PURE__ */ new Map(), forInternalUse = false, fixedVersionQueryTypes = []) {
|
|
1430
1395
|
const importExt = ".js";
|
|
1431
1396
|
await verifyOutDir(outDir, fs2);
|
|
1432
|
-
const sanitizedOntology = sanitizeMetadata(ontology);
|
|
1433
1397
|
await fs2.mkdir(outDir, {
|
|
1434
1398
|
recursive: true
|
|
1435
1399
|
});
|
|
1436
1400
|
const enhancedOntology = enhanceOntology({
|
|
1437
|
-
sanitized:
|
|
1401
|
+
sanitized: ontology,
|
|
1438
1402
|
importExt,
|
|
1439
1403
|
externalObjects,
|
|
1440
1404
|
externalInterfaces,
|
|
1441
1405
|
externalSpts
|
|
1442
1406
|
});
|
|
1443
1407
|
const ctx = {
|
|
1444
|
-
sanitizedOntology,
|
|
1445
1408
|
ontology: enhancedOntology,
|
|
1446
1409
|
importExt,
|
|
1447
1410
|
fs: fs2,
|
|
@@ -1566,5 +1529,6 @@ async function writeJson(minimalFs, filePath, body) {
|
|
|
1566
1529
|
exports.__UNSTABLE_generateClientSdkPackage = generateClientSdkPackage;
|
|
1567
1530
|
exports.generateClientSdkVersionTwoPointZero = generateClientSdkVersionTwoPointZero;
|
|
1568
1531
|
exports.getExpectedDependencies = getExpectedDependencies;
|
|
1532
|
+
exports.getTsCompilerOptions = getTsCompilerOptions;
|
|
1569
1533
|
//# sourceMappingURL=index.cjs.map
|
|
1570
1534
|
//# sourceMappingURL=index.cjs.map
|