@osdk/generator 2.1.0-beta.1 → 2.1.0-beta.10

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.
Files changed (70) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/build/browser/GenerateContext/GenerateContext.d.ts +1 -0
  3. package/build/browser/GenerateContext/GenerateContext.d.ts.map +1 -1
  4. package/build/browser/generateClientSdkPackage.test.js +2 -2
  5. package/build/browser/generateClientSdkPackage.test.js.map +1 -1
  6. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +6 -6
  7. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  8. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +12 -19
  9. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
  10. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.d.ts +1 -1
  11. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +1 -1
  12. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js +3 -2
  13. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
  14. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +52 -81
  15. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
  16. package/build/browser/v2.0/generatePerActionDataFiles.d.ts +1 -1
  17. package/build/browser/v2.0/generatePerActionDataFiles.d.ts.map +1 -1
  18. package/build/browser/v2.0/generatePerActionDataFiles.js +3 -2
  19. package/build/browser/v2.0/generatePerActionDataFiles.js.map +1 -1
  20. package/build/browser/v2.0/generatePerInterfaceDataFiles.js +4 -3
  21. package/build/browser/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
  22. package/build/browser/v2.0/generatePerObjectDataFiles.d.ts.map +1 -1
  23. package/build/browser/v2.0/generatePerObjectDataFiles.js +1 -1
  24. package/build/browser/v2.0/generatePerObjectDataFiles.js.map +1 -1
  25. package/build/browser/v2.0/generatePerQueryDataFiles.d.ts +1 -1
  26. package/build/browser/v2.0/generatePerQueryDataFiles.d.ts.map +1 -1
  27. package/build/browser/v2.0/generatePerQueryDataFiles.js +5 -5
  28. package/build/browser/v2.0/generatePerQueryDataFiles.js.map +1 -1
  29. package/build/browser/v2.0/generatePerQueryDataFiles.test.js +7 -8
  30. package/build/browser/v2.0/generatePerQueryDataFiles.test.js.map +1 -1
  31. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +1 -1
  32. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +14 -9
  33. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  34. package/build/browser/validateWireOntologyAssumptions.js +2 -2
  35. package/build/browser/validateWireOntologyAssumptions.js.map +1 -1
  36. package/build/esm/GenerateContext/GenerateContext.d.ts +1 -0
  37. package/build/esm/GenerateContext/GenerateContext.d.ts.map +1 -1
  38. package/build/esm/generateClientSdkPackage.test.js +2 -2
  39. package/build/esm/generateClientSdkPackage.test.js.map +1 -1
  40. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +6 -6
  41. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  42. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +12 -19
  43. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
  44. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.d.ts +1 -1
  45. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +1 -1
  46. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js +3 -2
  47. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
  48. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +52 -81
  49. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
  50. package/build/esm/v2.0/generatePerActionDataFiles.d.ts +1 -1
  51. package/build/esm/v2.0/generatePerActionDataFiles.d.ts.map +1 -1
  52. package/build/esm/v2.0/generatePerActionDataFiles.js +3 -2
  53. package/build/esm/v2.0/generatePerActionDataFiles.js.map +1 -1
  54. package/build/esm/v2.0/generatePerInterfaceDataFiles.js +4 -3
  55. package/build/esm/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
  56. package/build/esm/v2.0/generatePerObjectDataFiles.d.ts.map +1 -1
  57. package/build/esm/v2.0/generatePerObjectDataFiles.js +1 -1
  58. package/build/esm/v2.0/generatePerObjectDataFiles.js.map +1 -1
  59. package/build/esm/v2.0/generatePerQueryDataFiles.d.ts +1 -1
  60. package/build/esm/v2.0/generatePerQueryDataFiles.d.ts.map +1 -1
  61. package/build/esm/v2.0/generatePerQueryDataFiles.js +5 -5
  62. package/build/esm/v2.0/generatePerQueryDataFiles.js.map +1 -1
  63. package/build/esm/v2.0/generatePerQueryDataFiles.test.js +7 -8
  64. package/build/esm/v2.0/generatePerQueryDataFiles.test.js.map +1 -1
  65. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +1 -1
  66. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +14 -9
  67. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  68. package/build/esm/validateWireOntologyAssumptions.js +2 -2
  69. package/build/esm/validateWireOntologyAssumptions.js.map +1 -1
  70. package/package.json +11 -9
@@ -22,7 +22,8 @@ import { deleteUndefineds } from "../util/deleteUndefineds.js";
22
22
  import { stringify } from "../util/stringify.js";
23
23
  /** @internal */
24
24
  export function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {
25
- ontology
25
+ ontology,
26
+ forInternalUse
26
27
  }, currentFilePath) {
27
28
  const object = ontology.requireObjectType(wireObject.objectType.apiName, true);
28
29
  if (object instanceof ForeignType) {
@@ -48,19 +49,19 @@ export function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {
48
49
  propertyKeysIdentifier
49
50
  };
50
51
  const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, true);
51
- return `${imports}${function (object) {
52
+ return `${imports}${function (object, forInternalUse = false) {
52
53
  return `import type {
53
54
  PropertyKeys as $PropertyKeys,
54
55
  ObjectTypeDefinition as $ObjectTypeDefinition,
55
56
  ObjectMetadata as $ObjectMetadata,
56
- } from "@osdk/api";
57
+ } from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
57
58
  import type {
58
59
  ObjectSet as $ObjectSet,
59
60
  Osdk as $Osdk,
60
61
  OsdkObject as $OsdkObject,
61
62
  PropertyValueWireToClient as $PropType,
62
63
  SingleLinkAccessor as $SingleLinkAccessor,
63
- } from "@osdk/api";
64
+ } from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
64
65
 
65
66
 
66
67
  export namespace ${object.shortApiName} {
@@ -82,7 +83,7 @@ export function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {
82
83
 
83
84
  ${createDefinition(object, ontology, object.shortApiName, identifiers)}
84
85
  `;
85
- }(object)}
86
+ }(object, forInternalUse)}
86
87
 
87
88
  export const ${object.shortApiName}: ${objectDefIdentifier}
88
89
  = {
@@ -100,7 +101,7 @@ export function createOsdkObject(object, identifier, {
100
101
  object.getCleanedUpDefinition(true);
101
102
  return `
102
103
  export type ${identifier}<
103
- OPTIONS extends never | "$notStrict" | "$rid" = never,
104
+ OPTIONS extends never | "$rid" = never,
104
105
  K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},
105
106
  >
106
107
  = $Osdk.Instance<
@@ -112,7 +113,7 @@ export function createOsdkObject(object, identifier, {
112
113
 
113
114
  /** @deprecated use ${identifier} */
114
115
  export type OsdkObject<
115
- OPTIONS extends never | "$notStrict" | "$rid" = never,
116
+ OPTIONS extends never | "$rid" = never,
116
117
  K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},
117
118
  > = ${identifier}<OPTIONS, K>;
118
119
  ;
@@ -143,6 +144,9 @@ function maybeStripNamespace(type, q) {
143
144
  }
144
145
  }
145
146
  export function createProps(type, identifier, strict) {
147
+ if (identifier === "StrictProps") {
148
+ return `export type StrictProps = Props`;
149
+ }
146
150
  const definition = type.getCleanedUpDefinition(true);
147
151
  return `export interface ${identifier} {
148
152
  ${stringify(definition.properties, {
@@ -150,7 +154,7 @@ ${stringify(definition.properties, {
150
154
  return [`readonly "${maybeStripNamespace(type, apiName)}"${
151
155
  // after we convert everything over we can do this:
152
156
  // !strict || propertyDefinition.nullable ? "?" : ""
153
- ""}`, `$PropType[${JSON.stringify(propertyDefinition.type)}]${propertyDefinition.multiplicity ? "[]" : ""}${propertyDefinition.nullable || !strict ? `| undefined` : ""}`];
157
+ ""}`, `$PropType[${JSON.stringify(propertyDefinition.type)}]${propertyDefinition.multiplicity ? "[]" : ""}${propertyDefinition.nullable || !strict && !(definition.type === "object" && definition.primaryKeyApiName === apiName) ? `| undefined` : ""}`];
154
158
  }
155
159
  })}
156
160
  }`;
@@ -207,6 +211,7 @@ ${stringify(definition.links, {
207
211
  `}`;
208
212
  }
209
213
  export function createPropertyKeys(type) {
210
- return `export type PropertyKeys = ${Object.keys(type.getCleanedUpDefinition(true).properties).map(a => maybeStripNamespace(type, a)).map(a => `"${a}"`).join("|")};`;
214
+ const properties = Object.keys(type.getCleanedUpDefinition(true).properties);
215
+ return `export type PropertyKeys = ${properties.length === 0 ? "never" : properties.map(a => maybeStripNamespace(type, a)).map(a => `"${a}"`).join("|")};`;
211
216
  }
212
217
  //# sourceMappingURL=wireObjectTypeV2ToSdkObjectConstV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","EnhancedObjectType","ForeignType","getObjectImports","propertyJsdoc","deleteUndefineds","stringify","wireObjectTypeV2ToSdkObjectConstV2","wireObject","ontology","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","createObjectSet","createOsdkObject","createDefinition","fullApiName","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","properties","*","propertyDefinition","_","JSON","multiplicity","nullable","links","targetType","getImportedDefinitionIdentifier","Object","keys","key","linkTarget","join"],"sources":["wireObjectTypeV2ToSdkObjectConstV2.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 { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(wireObject, { ontology }, currentFilePath) {\n const object = ontology.requireObjectType(wireObject.objectType.apiName, true);\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(wireObject.linkTypes.map(a => ontology.requireObjectType(a.objectTypeApiName, false)));\n const definition = deleteUndefineds(wireObjectTypeFullMetadataToSdkObjectMetadata(object.raw, true));\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\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 const identifiers = {\n objectDefIdentifier: `${object.shortApiName}`,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n function getV2Types(object) {\n return `import type {\n PropertyKeys as $PropertyKeys, \n ObjectTypeDefinition as $ObjectTypeDefinition,\n ObjectMetadata as $ObjectMetadata,\n } from \"@osdk/api\";\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 \"@osdk/api\";\n\n\n export namespace ${object.shortApiName} {\n\n ${createPropertyKeys(object)}\n\n\n ${createLinks(ontology, object, \"Links\")}\n\n ${createProps(object, \"Props\", false)}\n ${createProps(object, \"StrictProps\", true)}\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 const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, true);\n return `${imports}${getV2Types(object)}\n\n export const ${object.shortApiName}: ${objectDefIdentifier}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata, \n };`;\n}\nexport function createOsdkObject(object, identifier, { osdkObjectPropsIdentifier, objectDefIdentifier, osdkObjectStrictPropsIdentifier, osdkObjectLinksIdentifier, }) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export type ${identifier}<\n OPTIONS extends never | \"$notStrict\" | \"$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 | \"$notStrict\" | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > = ${identifier}<OPTIONS, K>;\n ;\n `;\n}\nexport function createObjectSet(object, { objectDefIdentifier, objectSetIdentifier, propertyKeysIdentifier, osdkObjectIdentifier, }) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\nfunction maybeStripNamespace(type, q) {\n if (type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)) {\n return q.slice(type.apiNamespace.length + 1);\n }\n else {\n return q;\n }\n}\nexport function createProps(type, identifier, strict) {\n const definition = type.getCleanedUpDefinition(true);\n return `export interface ${identifier} {\n${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n return [\n `readonly \"${maybeStripNamespace(type, apiName)}\"${\n // after we convert everything over we can do this:\n // !strict || propertyDefinition.nullable ? \"?\" : \"\"\n \"\"}`,\n `$PropType[${JSON.stringify(propertyDefinition.type)}]${propertyDefinition.multiplicity ? \"[]\" : \"\"}${propertyDefinition.nullable || !strict ? `| undefined` : \"\"}`,\n ];\n },\n })}\n }`;\n}\nexport function createDefinition(object, ontology, identifier, { objectDefIdentifier, objectSetIdentifier, osdkObjectPropsIdentifier, osdkObjectStrictPropsIdentifier, osdkObjectLinksIdentifier, }) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export interface ${identifier} extends ${object instanceof EnhancedObjectType\n ? `$ObjectTypeDefinition`\n : `$InterfaceDefinition`} {\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 ${stringify(definition, {\n links: (_value) => `{\n ${stringify(definition.links, {\n \"*\": (definition) => `$ObjectMetadata.Link<${ontology.requireObjectType(definition.targetType)\n .getImportedDefinitionIdentifier(true)}, ${definition.multiplicity}>`,\n })}\n }`,\n properties: (_value) => (`{\n ${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => [\n `${propertyJsdoc(propertyDefinition, { apiName })}\"${maybeStripNamespace(object, apiName)}\"`,\n `$PropertyDef<\"${propertyDefinition.type}\", \"${propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"}\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`,\n ],\n })}\n }`),\n })}\n } \n}\n `;\n}\nexport function createLinks(ontology, object, identifier) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n ${Object.keys(definition.links).length === 0\n ? `export type ${identifier} = {};`\n : `\n export interface ${identifier} {\n${stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(definition.targetType)\n .getImportedDefinitionIdentifier(true);\n return [\n `readonly ${key}`,\n `${definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `$SingleLinkAccessor<${linkTarget}>`}\n `,\n ];\n },\n })}\n }\n `}`;\n}\nexport function createPropertyKeys(type) {\n return `export type PropertyKeys = ${Object.keys(type.getCleanedUpDefinition(true).properties).map((a) => maybeStripNamespace(type, a)).map(a => `\"${a}\"`).join(\"|\")};`;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","EnhancedObjectType","ForeignType","getObjectImports","propertyJsdoc","deleteUndefineds","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","createObjectSet","createOsdkObject","createDefinition","fullApiName","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","properties","*","propertyDefinition","_","JSON","multiplicity","nullable","primaryKeyApiName","links","targetType","getImportedDefinitionIdentifier","Object","keys","key","linkTarget","join"],"sources":["wireObjectTypeV2ToSdkObjectConstV2.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 { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(wireObject, { ontology, forInternalUse }, currentFilePath) {\n const object = ontology.requireObjectType(wireObject.objectType.apiName, true);\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(wireObject.linkTypes.map(a => ontology.requireObjectType(a.objectTypeApiName, false)));\n const definition = deleteUndefineds(wireObjectTypeFullMetadataToSdkObjectMetadata(object.raw, true));\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\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 const identifiers = {\n objectDefIdentifier: `${object.shortApiName}`,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n function getV2Types(object, forInternalUse = false) {\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)}\n ${createProps(object, \"StrictProps\", true)}\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 const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, true);\n return `${imports}${getV2Types(object, forInternalUse)}\n\n export const ${object.shortApiName}: ${objectDefIdentifier}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata, \n };`;\n}\nexport function createOsdkObject(object, identifier, { osdkObjectPropsIdentifier, objectDefIdentifier, osdkObjectStrictPropsIdentifier, osdkObjectLinksIdentifier, }) {\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}\nexport function createObjectSet(object, { objectDefIdentifier, objectSetIdentifier, propertyKeysIdentifier, osdkObjectIdentifier, }) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\nfunction maybeStripNamespace(type, q) {\n if (type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)) {\n return q.slice(type.apiNamespace.length + 1);\n }\n else {\n return q;\n }\n}\nexport function createProps(type, identifier, strict) {\n if (identifier === \"StrictProps\") {\n return `export type StrictProps = Props`;\n }\n const definition = type.getCleanedUpDefinition(true);\n return `export interface ${identifier} {\n${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n return [\n `readonly \"${maybeStripNamespace(type, apiName)}\"${\n // after we convert everything over we can do this:\n // !strict || propertyDefinition.nullable ? \"?\" : \"\"\n \"\"}`,\n `$PropType[${JSON.stringify(propertyDefinition.type)}]${propertyDefinition.multiplicity ? \"[]\" : \"\"}${propertyDefinition.nullable\n || (!strict\n && !(definition.type === \"object\"\n && definition.primaryKeyApiName === apiName))\n ? `| undefined`\n : \"\"}`,\n ];\n },\n })}\n }`;\n}\nexport function createDefinition(object, ontology, identifier, { objectDefIdentifier, objectSetIdentifier, osdkObjectPropsIdentifier, osdkObjectStrictPropsIdentifier, osdkObjectLinksIdentifier, }) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export interface ${identifier} extends ${object instanceof EnhancedObjectType\n ? `$ObjectTypeDefinition`\n : `$InterfaceDefinition`} {\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 ${stringify(definition, {\n links: (_value) => `{\n ${stringify(definition.links, {\n \"*\": (definition) => `$ObjectMetadata.Link<${ontology.requireObjectType(definition.targetType)\n .getImportedDefinitionIdentifier(true)}, ${definition.multiplicity}>`,\n })}\n }`,\n properties: (_value) => (`{\n ${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => [\n `${propertyJsdoc(propertyDefinition, { apiName })}\"${maybeStripNamespace(object, apiName)}\"`,\n `$PropertyDef<\"${propertyDefinition.type}\", \"${propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"}\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`,\n ],\n })}\n }`),\n })}\n } \n}\n `;\n}\nexport function createLinks(ontology, object, identifier) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n ${Object.keys(definition.links).length === 0\n ? `export type ${identifier} = {};`\n : `\n export interface ${identifier} {\n${stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(definition.targetType)\n .getImportedDefinitionIdentifier(true);\n return [\n `readonly ${key}`,\n `${definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `$SingleLinkAccessor<${linkTarget}>`}\n `,\n ];\n },\n })}\n }\n `}`;\n}\nexport function createPropertyKeys(type) {\n const properties = Object.keys(type.getCleanedUpDefinition(true).properties);\n return `export type PropertyKeys = ${properties.length === 0\n ? \"never\"\n : properties.map((a) => maybeStripNamespace(type, a)).map(a => `\"${a}\"`).join(\"|\")};`;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -25,9 +25,9 @@ export function validateWireOntologyAssumptions(ontology) {
25
25
  }
26
26
  }
27
27
  function invariantMapKeyMatchesApiName(key, value) {
28
- !(key === value.apiName) ? invariant(false, "Key in the map should be the same as the apiName.") : void 0;
28
+ !(key === value.apiName) ? process.env.NODE_ENV !== "production" ? invariant(false, "Key in the map should be the same as the apiName.") : invariant(false) : void 0;
29
29
  }
30
30
  function invariantNotStartWithDollarSign(value) {
31
- !!value.startsWith("$") ? invariant(false, "apiName should not start with $") : void 0;
31
+ !!value.startsWith("$") ? process.env.NODE_ENV !== "production" ? invariant(false, "apiName should not start with $") : invariant(false) : void 0;
32
32
  }
33
33
  //# sourceMappingURL=validateWireOntologyAssumptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateWireOntologyAssumptions.js","names":["invariant","validateWireOntologyAssumptions","ontology","invariantNotStartWithDollarSign","apiName","objectKey","objectType","Object","entries","objectTypes","invariantMapKeyMatchesApiName","propertyKey","propertyType","properties","key","value","startsWith"],"sources":["validateWireOntologyAssumptions.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 invariant from \"tiny-invariant\";\nexport function validateWireOntologyAssumptions(ontology) {\n invariantNotStartWithDollarSign(ontology.ontology.apiName);\n for (const [objectKey, objectType] of Object.entries(ontology.objectTypes)) {\n invariantMapKeyMatchesApiName(objectKey, objectType.objectType);\n invariantNotStartWithDollarSign(objectType.objectType.apiName);\n for (const [propertyKey, propertyType] of Object.entries(objectType.objectType.properties)) {\n invariantNotStartWithDollarSign(propertyKey);\n }\n }\n}\nfunction invariantMapKeyMatchesApiName(key, value) {\n invariant(key === value.apiName, \"Key in the map should be the same as the apiName.\");\n}\nfunction invariantNotStartWithDollarSign(value) {\n invariant(!value.startsWith(\"$\"), \"apiName should not start with $\");\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,OAAO,SAASC,+BAA+BA,CAACC,QAAQ,EAAE;EACtDC,+BAA+B,CAACD,QAAQ,CAACA,QAAQ,CAACE,OAAO,CAAC;EAC1D,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,QAAQ,CAACO,WAAW,CAAC,EAAE;IACxEC,6BAA6B,CAACL,SAAS,EAAEC,UAAU,CAACA,UAAU,CAAC;IAC/DH,+BAA+B,CAACG,UAAU,CAACA,UAAU,CAACF,OAAO,CAAC;IAC9D,KAAK,MAAM,CAACO,WAAW,EAAEC,YAAY,CAAC,IAAIL,MAAM,CAACC,OAAO,CAACF,UAAU,CAACA,UAAU,CAACO,UAAU,CAAC,EAAE;MACxFV,+BAA+B,CAACQ,WAAW,CAAC;IAChD;EACJ;AACJ;AACA,SAASD,6BAA6BA,CAACI,GAAG,EAAEC,KAAK,EAAE;EAC/C,EAAUD,GAAG,KAAKC,KAAK,CAACX,OAAO,IAA/BJ,SAAS,QAAwB,mDAAmD;AACxF;AACA,SAASG,+BAA+BA,CAACY,KAAK,EAAE;EAC5C,CAAU,CAACA,KAAK,CAACC,UAAU,CAAC,GAAG,CAAC,GAAhChB,SAAS,QAAyB,iCAAiC;AACvE","ignoreList":[]}
1
+ {"version":3,"file":"validateWireOntologyAssumptions.js","names":["invariant","validateWireOntologyAssumptions","ontology","invariantNotStartWithDollarSign","apiName","objectKey","objectType","Object","entries","objectTypes","invariantMapKeyMatchesApiName","propertyKey","propertyType","properties","key","value","process","env","NODE_ENV","startsWith"],"sources":["validateWireOntologyAssumptions.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 invariant from \"tiny-invariant\";\nexport function validateWireOntologyAssumptions(ontology) {\n invariantNotStartWithDollarSign(ontology.ontology.apiName);\n for (const [objectKey, objectType] of Object.entries(ontology.objectTypes)) {\n invariantMapKeyMatchesApiName(objectKey, objectType.objectType);\n invariantNotStartWithDollarSign(objectType.objectType.apiName);\n for (const [propertyKey, propertyType] of Object.entries(objectType.objectType.properties)) {\n invariantNotStartWithDollarSign(propertyKey);\n }\n }\n}\nfunction invariantMapKeyMatchesApiName(key, value) {\n invariant(key === value.apiName, \"Key in the map should be the same as the apiName.\");\n}\nfunction invariantNotStartWithDollarSign(value) {\n invariant(!value.startsWith(\"$\"), \"apiName should not start with $\");\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,OAAO,SAASC,+BAA+BA,CAACC,QAAQ,EAAE;EACtDC,+BAA+B,CAACD,QAAQ,CAACA,QAAQ,CAACE,OAAO,CAAC;EAC1D,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,QAAQ,CAACO,WAAW,CAAC,EAAE;IACxEC,6BAA6B,CAACL,SAAS,EAAEC,UAAU,CAACA,UAAU,CAAC;IAC/DH,+BAA+B,CAACG,UAAU,CAACA,UAAU,CAACF,OAAO,CAAC;IAC9D,KAAK,MAAM,CAACO,WAAW,EAAEC,YAAY,CAAC,IAAIL,MAAM,CAACC,OAAO,CAACF,UAAU,CAACA,UAAU,CAACO,UAAU,CAAC,EAAE;MACxFV,+BAA+B,CAACQ,WAAW,CAAC;IAChD;EACJ;AACJ;AACA,SAASD,6BAA6BA,CAACI,GAAG,EAAEC,KAAK,EAAE;EAC/C,EAAUD,GAAG,KAAKC,KAAK,CAACX,OAAO,IAAAY,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAA/BlB,SAAS,QAAwB,mDAAmD,IAApFA,SAAS;AACb;AACA,SAASG,+BAA+BA,CAACY,KAAK,EAAE;EAC5C,CAAU,CAACA,KAAK,CAACI,UAAU,CAAC,GAAG,CAAC,GAAAH,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAhClB,SAAS,QAAyB,iCAAiC,IAAnEA,SAAS;AACb","ignoreList":[]}
@@ -9,5 +9,6 @@ export interface GenerateContext {
9
9
  outDir: string;
10
10
  ontologyApiNamespace?: string | undefined;
11
11
  apiNamespacePackageMap?: Map<string, string>;
12
+ forInternalUse?: boolean;
12
13
  }
13
14
  //# sourceMappingURL=GenerateContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../../src/GenerateContext/GenerateContext.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,EAAE,0BAA0B,CAAC;IAErC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,SAAS,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;IAEf,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../../src/GenerateContext/GenerateContext.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,EAAE,0BAA0B,CAAC;IAErC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,SAAS,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;IAEf,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
@@ -23,7 +23,7 @@ describe("generateClientSdkPackage", () => {
23
23
  osdkClientApiVersion: "^66.6.6",
24
24
  areTheTypesWrongVersion: "^0.15.2",
25
25
  tslibVersion: "^2.6.2",
26
- typescriptVersion: "^5.4.2"
26
+ typescriptVersion: "~5.5.4"
27
27
  };
28
28
  describe("v2", () => {
29
29
  test("returns the package.json contents", async () => {
@@ -33,7 +33,7 @@ describe("generateClientSdkPackage", () => {
33
33
  "@arethetypeswrong/cli": "^0.15.2",
34
34
  "@osdk/api": "^99.9.9",
35
35
  "tslib": "^2.6.2",
36
- "typescript": "^5.4.2",
36
+ "typescript": "~5.5.4",
37
37
  },
38
38
  "exports": {
39
39
  ".": {
@@ -1 +1 @@
1
- {"version":3,"file":"generateClientSdkPackage.test.js","names":["describe","expect","test","getPackageJsonContents","versions","osdkApiVersion","osdkClientVersion","osdkClientApiVersion","areTheTypesWrongVersion","tslibVersion","typescriptVersion","toMatchInlineSnapshot"],"sources":["generateClientSdkPackage.test.js"],"sourcesContent":["/*\n * Copyright 2024 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 { describe, expect, test } from \"vitest\";\nimport { getPackageJsonContents } from \"./generateClientSdkPackage.js\";\ndescribe(\"generateClientSdkPackage\", () => {\n describe(getPackageJsonContents, () => {\n const versions = {\n osdkApiVersion: \"^99.9.9\",\n osdkClientVersion: \"^88.8.8\",\n osdkClientApiVersion: \"^66.6.6\",\n areTheTypesWrongVersion: \"^0.15.2\",\n tslibVersion: \"^2.6.2\",\n typescriptVersion: \"^5.4.2\",\n };\n describe(\"v2\", () => {\n test(\"returns the package.json contents\", async () => {\n expect(getPackageJsonContents(\"foo\", \"1.2.3\", versions))\n .toMatchInlineSnapshot(`\n {\n \"devDependencies\": {\n \"@arethetypeswrong/cli\": \"^0.15.2\",\n \"@osdk/api\": \"^99.9.9\",\n \"tslib\": \"^2.6.2\",\n \"typescript\": \"^5.4.2\",\n },\n \"exports\": {\n \".\": {\n \"import\": \"./dist/module/index.js\",\n \"require\": \"./dist/commonjs/index.js\",\n },\n },\n \"files\": [\n \"**/*.js\",\n \"**/*.d.ts\",\n \"dist/**/package.json\",\n ],\n \"main\": \"./dist/commonjs/index.js\",\n \"module\": \"./dist/module/index.js\",\n \"name\": \"foo\",\n \"peerDependencies\": {\n \"@osdk/api\": \"^99.9.9\",\n \"@osdk/client\": \"^88.8.8\",\n },\n \"scripts\": {\n \"check\": \"npm exec attw $(npm pack)\",\n \"prepack\": \"tsc -p ./dist/module/tsconfig.json && tsc -p ./dist/commonjs/tsconfig.json\",\n },\n \"version\": \"1.2.3\",\n }\n `);\n });\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAC/C,SAASC,sBAAsB,QAAQ,+BAA+B;AACtEH,QAAQ,CAAC,0BAA0B,EAAE,MAAM;EACvCA,QAAQ,CAACG,sBAAsB,EAAE,MAAM;IACnC,MAAMC,QAAQ,GAAG;MACbC,cAAc,EAAE,SAAS;MACzBC,iBAAiB,EAAE,SAAS;MAC5BC,oBAAoB,EAAE,SAAS;MAC/BC,uBAAuB,EAAE,SAAS;MAClCC,YAAY,EAAE,QAAQ;MACtBC,iBAAiB,EAAE;IACvB,CAAC;IACDV,QAAQ,CAAC,IAAI,EAAE,MAAM;MACjBE,IAAI,CAAC,mCAAmC,EAAE,YAAY;QAClDD,MAAM,CAACE,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAEC,QAAQ,CAAC,CAAC,CACnDO,qBAAqB,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,CAAC;MACA,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"generateClientSdkPackage.test.js","names":["describe","expect","test","getPackageJsonContents","versions","osdkApiVersion","osdkClientVersion","osdkClientApiVersion","areTheTypesWrongVersion","tslibVersion","typescriptVersion","toMatchInlineSnapshot"],"sources":["generateClientSdkPackage.test.js"],"sourcesContent":["/*\n * Copyright 2024 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 { describe, expect, test } from \"vitest\";\nimport { getPackageJsonContents } from \"./generateClientSdkPackage.js\";\ndescribe(\"generateClientSdkPackage\", () => {\n describe(getPackageJsonContents, () => {\n const versions = {\n osdkApiVersion: \"^99.9.9\",\n osdkClientVersion: \"^88.8.8\",\n osdkClientApiVersion: \"^66.6.6\",\n areTheTypesWrongVersion: \"^0.15.2\",\n tslibVersion: \"^2.6.2\",\n typescriptVersion: \"~5.5.4\",\n };\n describe(\"v2\", () => {\n test(\"returns the package.json contents\", async () => {\n expect(getPackageJsonContents(\"foo\", \"1.2.3\", versions))\n .toMatchInlineSnapshot(`\n {\n \"devDependencies\": {\n \"@arethetypeswrong/cli\": \"^0.15.2\",\n \"@osdk/api\": \"^99.9.9\",\n \"tslib\": \"^2.6.2\",\n \"typescript\": \"~5.5.4\",\n },\n \"exports\": {\n \".\": {\n \"import\": \"./dist/module/index.js\",\n \"require\": \"./dist/commonjs/index.js\",\n },\n },\n \"files\": [\n \"**/*.js\",\n \"**/*.d.ts\",\n \"dist/**/package.json\",\n ],\n \"main\": \"./dist/commonjs/index.js\",\n \"module\": \"./dist/module/index.js\",\n \"name\": \"foo\",\n \"peerDependencies\": {\n \"@osdk/api\": \"^99.9.9\",\n \"@osdk/client\": \"^88.8.8\",\n },\n \"scripts\": {\n \"check\": \"npm exec attw $(npm pack)\",\n \"prepack\": \"tsc -p ./dist/module/tsconfig.json && tsc -p ./dist/commonjs/tsconfig.json\",\n },\n \"version\": \"1.2.3\",\n }\n `);\n });\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAC/C,SAASC,sBAAsB,QAAQ,+BAA+B;AACtEH,QAAQ,CAAC,0BAA0B,EAAE,MAAM;EACvCA,QAAQ,CAACG,sBAAsB,EAAE,MAAM;IACnC,MAAMC,QAAQ,GAAG;MACbC,cAAc,EAAE,SAAS;MACzBC,iBAAiB,EAAE,SAAS;MAC5BC,oBAAoB,EAAE,SAAS;MAC/BC,uBAAuB,EAAE,SAAS;MAClCC,YAAY,EAAE,QAAQ;MACtBC,iBAAiB,EAAE;IACvB,CAAC;IACDV,QAAQ,CAAC,IAAI,EAAE,MAAM;MACjBE,IAAI,CAAC,mCAAmC,EAAE,YAAY;QAClDD,MAAM,CAACE,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAEC,QAAQ,CAAC,CAAC,CACnDO,qBAAqB,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,CAAC;MACA,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -22,7 +22,7 @@ import { deleteUndefineds } from "../util/deleteUndefineds.js";
22
22
  import { stringify } from "../util/stringify.js";
23
23
  import { createDefinition, createObjectSet, createOsdkObject, createPropertyKeys, createProps } from "./wireObjectTypeV2ToSdkObjectConstV2.js";
24
24
  /** @internal */
25
- export function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ontology, v2 = false) {
25
+ export function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ontology, v2 = false, forInternalUse = false) {
26
26
  const definition = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(interfaceDef.raw, v2));
27
27
  const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);
28
28
  const parents = definition.implements?.map(p => {
@@ -43,9 +43,9 @@ export function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ont
43
43
  }
44
44
  for (const apiName of Object.keys(parent.properties)) {
45
45
  if (definition.properties[apiName] != null) {
46
- !fastDeepEqual(definition.properties[apiName], parent.properties[apiName]) ? invariant(false, `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`) : void 0;
46
+ !fastDeepEqual(definition.properties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== "production" ? invariant(false, `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`) : invariant(false) : void 0;
47
47
  } else if (mergedProperties[apiName] != null) {
48
- !fastDeepEqual(mergedProperties[apiName], parent.properties[apiName]) ? invariant(false, `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`) : void 0;
48
+ !fastDeepEqual(mergedProperties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== "production" ? invariant(false, `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`) : invariant(false) : void 0;
49
49
  }
50
50
  mergedProperties[apiName] = parent.properties[apiName];
51
51
  }
@@ -78,13 +78,13 @@ export function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ont
78
78
  // if we want links to work
79
79
 
80
80
  return `${[].join("\n")}
81
- ${v2 ? function () {
81
+ ${v2 ? function (forInternalUse = false) {
82
82
  return `import type {
83
83
  InterfaceDefinition as $InterfaceDefinition,
84
84
  ObjectSet as $ObjectSet,
85
85
  Osdk as $Osdk,
86
86
  PropertyValueWireToClient as $PropType,
87
- } from "@osdk/api";
87
+ } from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
88
88
 
89
89
  ${Object.keys(definition.links).length === 0 ? `export type ${osdkObjectLinksIdentifier} = {};` : `
90
90
  export interface ${osdkObjectLinksIdentifier} {
@@ -116,7 +116,7 @@ ${stringify(definition.links, {
116
116
  ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}
117
117
 
118
118
  `;
119
- }() : ""}
119
+ }(forInternalUse) : ""}
120
120
 
121
121
  export const ${interfaceDef.shortApiName}: ${interfaceDef.shortApiName} = {
122
122
  type: "interface",
@@ -1 +1 @@
1
- {"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js","names":["__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","fastDeepEqual","invariant","extractNamespace","EnhancedInterfaceType","deleteUndefineds","stringify","createDefinition","createObjectSet","createOsdkObject","createPropertyKeys","createProps","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","interfaceDef","ontology","v2","definition","raw","objectDefIdentifier","getDefinitionIdentifier","parents","implements","map","p","parent","requireInterfaceType","it","mergedProperties","properties","apiName","Object","keys","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","ids","apiNamespace","badProperties","filter","length","Error","fullApiName","join","links","linkTarget","requireObjectType","targetType","getImportedDefinitionIdentifier","multiplicity"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport fastDeepEqual from \"fast-deep-equal\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../GenerateContext/EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { createDefinition, createObjectSet, createOsdkObject, createPropertyKeys, createProps, } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\n/** @internal */\nexport function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ontology, v2 = false) {\n const definition = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(interfaceDef.raw, v2));\n const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);\n const parents = definition.implements?.map(p => {\n const parent = ontology.requireInterfaceType(p, true);\n if (parent instanceof EnhancedInterfaceType) {\n const it = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(parent.raw, v2));\n return it;\n }\n }) ?? [];\n const mergedProperties = { ...definition.properties };\n for (const parent of parents) {\n if (parent == null) {\n // came from a foreign type and we cannot merge properties yet\n // so if they weren't listed on the interface its over\n continue;\n }\n for (const apiName of Object.keys(parent.properties)) {\n if (definition.properties[apiName] != null) {\n invariant(fastDeepEqual(definition.properties[apiName], parent.properties[apiName]), `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`);\n }\n else if (mergedProperties[apiName] != null) {\n invariant(fastDeepEqual(mergedProperties[apiName], parent.properties[apiName]), `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`);\n }\n mergedProperties[apiName] = parent.properties[apiName];\n }\n }\n definition.properties = mergedProperties;\n const objectSetIdentifier = `${interfaceDef.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${interfaceDef.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${interfaceDef.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${interfaceDef.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `OsdkObjectLinks$${objectDefIdentifier}`;\n const osdkObjectIdentifier = `${interfaceDef.shortApiName}.OsdkObject`;\n const ids = {\n objectDefIdentifier: interfaceDef.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n if (interfaceDef.apiNamespace) {\n const badProperties = Object.keys(definition.properties).filter(apiName => extractNamespace(apiName)[0] == null);\n if (badProperties.length > 0) {\n throw new Error(`Interfaces with fully qualified api names MUST NOT have any properties with an unqualified api name. Interface: ${interfaceDef.fullApiName}, properties: ${badProperties.join(\", \")}`);\n }\n }\n function getV2Types() {\n return `import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n \n ${Object.keys(definition.links).length === 0\n ? `export type ${osdkObjectLinksIdentifier} = {};`\n : `\n export interface ${osdkObjectLinksIdentifier} {\n${stringify(definition.links, {\n \"*\": (definition) => {\n const linkTarget = ontology.requireObjectType(definition.targetType)\n .getImportedDefinitionIdentifier(v2);\n return `${definition.multiplicity\n ? `${linkTarget}[\"objectSet\"]`\n : `SingleLinkAccessor<${linkTarget}>`}\n `;\n },\n })}\n }\n `}\n\n export namespace ${interfaceDef.shortApiName} {\n\n ${createPropertyKeys(interfaceDef)}\n\n\n ${createProps(interfaceDef, \"Props\", false)}\n ${createProps(interfaceDef, \"StrictProps\", true)}\n\n\n ${createObjectSet(interfaceDef, ids)}\n\n ${createOsdkObject(interfaceDef, \"OsdkInstance\", ids)}\n \n } \n\n ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}\n\n`;\n }\n // FIXME: We need to fill in the imports\n // if we want links to work\n const imports = [];\n definition;\n return `${imports.join(\"\\n\")}\n ${v2 ? getV2Types() : \"\"}\n\n export const ${interfaceDef.shortApiName}: ${interfaceDef.shortApiName} = {\n type: \"interface\",\n apiName: \"${interfaceDef.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n };`;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js","names":["__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","fastDeepEqual","invariant","extractNamespace","EnhancedInterfaceType","deleteUndefineds","stringify","createDefinition","createObjectSet","createOsdkObject","createPropertyKeys","createProps","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","interfaceDef","ontology","v2","forInternalUse","definition","raw","objectDefIdentifier","getDefinitionIdentifier","parents","implements","map","p","parent","requireInterfaceType","it","mergedProperties","properties","apiName","Object","keys","process","env","NODE_ENV","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","ids","apiNamespace","badProperties","filter","length","Error","fullApiName","join","links","linkTarget","requireObjectType","targetType","getImportedDefinitionIdentifier","multiplicity"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport fastDeepEqual from \"fast-deep-equal\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../GenerateContext/EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { createDefinition, createObjectSet, createOsdkObject, createPropertyKeys, createProps, } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\n/** @internal */\nexport function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ontology, v2 = false, forInternalUse = false) {\n const definition = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(interfaceDef.raw, v2));\n const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);\n const parents = definition.implements?.map(p => {\n const parent = ontology.requireInterfaceType(p, true);\n if (parent instanceof EnhancedInterfaceType) {\n const it = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(parent.raw, v2));\n return it;\n }\n }) ?? [];\n const mergedProperties = { ...definition.properties };\n for (const parent of parents) {\n if (parent == null) {\n // came from a foreign type and we cannot merge properties yet\n // so if they weren't listed on the interface its over\n continue;\n }\n for (const apiName of Object.keys(parent.properties)) {\n if (definition.properties[apiName] != null) {\n invariant(fastDeepEqual(definition.properties[apiName], parent.properties[apiName]), `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`);\n }\n else if (mergedProperties[apiName] != null) {\n invariant(fastDeepEqual(mergedProperties[apiName], parent.properties[apiName]), `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`);\n }\n mergedProperties[apiName] = parent.properties[apiName];\n }\n }\n definition.properties = mergedProperties;\n const objectSetIdentifier = `${interfaceDef.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${interfaceDef.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${interfaceDef.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${interfaceDef.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `OsdkObjectLinks$${objectDefIdentifier}`;\n const osdkObjectIdentifier = `${interfaceDef.shortApiName}.OsdkObject`;\n const ids = {\n objectDefIdentifier: interfaceDef.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n if (interfaceDef.apiNamespace) {\n const badProperties = Object.keys(definition.properties).filter(apiName => extractNamespace(apiName)[0] == null);\n if (badProperties.length > 0) {\n throw new Error(`Interfaces with fully qualified api names MUST NOT have any properties with an unqualified api name. Interface: ${interfaceDef.fullApiName}, properties: ${badProperties.join(\", \")}`);\n }\n }\n function getV2Types(forInternalUse = false) {\n return `import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n \n ${Object.keys(definition.links).length === 0\n ? `export type ${osdkObjectLinksIdentifier} = {};`\n : `\n export interface ${osdkObjectLinksIdentifier} {\n${stringify(definition.links, {\n \"*\": (definition) => {\n const linkTarget = ontology.requireObjectType(definition.targetType)\n .getImportedDefinitionIdentifier(v2);\n return `${definition.multiplicity\n ? `${linkTarget}[\"objectSet\"]`\n : `SingleLinkAccessor<${linkTarget}>`}\n `;\n },\n })}\n }\n `}\n\n export namespace ${interfaceDef.shortApiName} {\n\n ${createPropertyKeys(interfaceDef)}\n\n\n ${createProps(interfaceDef, \"Props\", false)}\n ${createProps(interfaceDef, \"StrictProps\", true)}\n\n\n ${createObjectSet(interfaceDef, ids)}\n\n ${createOsdkObject(interfaceDef, \"OsdkInstance\", ids)}\n \n } \n\n ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}\n\n`;\n }\n // FIXME: We need to fill in the imports\n // if we want links to work\n const imports = [];\n definition;\n return `${imports.join(\"\\n\")}\n ${v2 ? getV2Types(forInternalUse) : \"\"}\n\n export const ${interfaceDef.shortApiName}: ${interfaceDef.shortApiName} = {\n type: \"interface\",\n apiName: \"${interfaceDef.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n };`;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -70,7 +70,7 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
70
70
  if (ontology.interfaceTypes.Bar instanceof ForeignType) {
71
71
  throw new Error("Expected Bar to be an EnhancedInterfaceType");
72
72
  }
73
- const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Bar, ontology, true), {
73
+ const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Bar, ontology, true, true), {
74
74
  parser: "typescript",
75
75
  printWidth: 100
76
76
  });
@@ -90,20 +90,18 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
90
90
  export interface Props {
91
91
  readonly bar: $PropType["integer"] | undefined;
92
92
  }
93
- export interface StrictProps {
94
- readonly bar: $PropType["integer"] | undefined;
95
- }
93
+ export type StrictProps = Props;
96
94
 
97
95
  export interface ObjectSet extends $ObjectSet<Bar, Bar.ObjectSet> {}
98
96
 
99
97
  export type OsdkInstance<
100
- OPTIONS extends never | "$notStrict" | "$rid" = never,
98
+ OPTIONS extends never | "$rid" = never,
101
99
  K extends keyof Bar.Props = keyof Bar.Props,
102
100
  > = $Osdk.Instance<Bar, OPTIONS, K>;
103
101
 
104
102
  /** @deprecated use OsdkInstance */
105
103
  export type OsdkObject<
106
- OPTIONS extends never | "$notStrict" | "$rid" = never,
104
+ OPTIONS extends never | "$rid" = never,
107
105
  K extends keyof Bar.Props = keyof Bar.Props,
108
106
  > = OsdkInstance<OPTIONS, K>;
109
107
  }
@@ -147,7 +145,7 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
147
145
  sanitized: simpleOntology("ontology", [simpleInterface("Foo", [fooSpt], ["Parent"]), simpleInterface("Parent", [barSpt], [])]),
148
146
  importExt: ""
149
147
  });
150
- const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true), {
148
+ const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true, true), {
151
149
  parser: "typescript"
152
150
  });
153
151
  expect(formattedCode).toMatchInlineSnapshot(`
@@ -166,20 +164,18 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
166
164
  export interface Props {
167
165
  readonly foo: $PropType["integer"] | undefined;
168
166
  }
169
- export interface StrictProps {
170
- readonly foo: $PropType["integer"] | undefined;
171
- }
167
+ export type StrictProps = Props;
172
168
 
173
169
  export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}
174
170
 
175
171
  export type OsdkInstance<
176
- OPTIONS extends never | "$notStrict" | "$rid" = never,
172
+ OPTIONS extends never | "$rid" = never,
177
173
  K extends keyof Foo.Props = keyof Foo.Props,
178
174
  > = $Osdk.Instance<Foo, OPTIONS, K>;
179
175
 
180
176
  /** @deprecated use OsdkInstance */
181
177
  export type OsdkObject<
182
- OPTIONS extends never | "$notStrict" | "$rid" = never,
178
+ OPTIONS extends never | "$rid" = never,
183
179
  K extends keyof Foo.Props = keyof Foo.Props,
184
180
  > = OsdkInstance<OPTIONS, K>;
185
181
  }
@@ -225,7 +221,7 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
225
221
  sanitized: simpleOntology("ontology", [simpleInterface("Foo", [fooSpt, barSpt], ["Parent"]), simpleInterface("Parent", [barSpt], [])]),
226
222
  importExt: ""
227
223
  });
228
- const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true), {
224
+ const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true, true), {
229
225
  parser: "typescript"
230
226
  });
231
227
  expect(formattedCode).toMatchInlineSnapshot(`
@@ -245,21 +241,18 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
245
241
  readonly bar: $PropType["integer"] | undefined;
246
242
  readonly foo: $PropType["integer"] | undefined;
247
243
  }
248
- export interface StrictProps {
249
- readonly bar: $PropType["integer"] | undefined;
250
- readonly foo: $PropType["integer"] | undefined;
251
- }
244
+ export type StrictProps = Props;
252
245
 
253
246
  export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}
254
247
 
255
248
  export type OsdkInstance<
256
- OPTIONS extends never | "$notStrict" | "$rid" = never,
249
+ OPTIONS extends never | "$rid" = never,
257
250
  K extends keyof Foo.Props = keyof Foo.Props,
258
251
  > = $Osdk.Instance<Foo, OPTIONS, K>;
259
252
 
260
253
  /** @deprecated use OsdkInstance */
261
254
  export type OsdkObject<
262
- OPTIONS extends never | "$notStrict" | "$rid" = never,
255
+ OPTIONS extends never | "$rid" = never,
263
256
  K extends keyof Foo.Props = keyof Foo.Props,
264
257
  > = OsdkInstance<OPTIONS, K>;
265
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js","names":["format","describe","expect","it","EnhancedInterfaceType","enhanceOntology","ForeignType","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","simpleSpt","apiName","metadataLevel","dataType","type","rid","displayName","description","undefined","simpleInterface","spts","parents","properties","Object","fromEntries","map","spt","extendsInterfaces","links","simpleOntology","interfaces","interfaceTypes","i","sharedPropertyTypes","flatMap","entries","actionTypes","objectTypes","ontology","queryTypes","sanitized","importExt","Bar","toBe","Error","formattedCode","parser","printWidth","toMatchInlineSnapshot","fooSpt","barSpt","Foo"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js"],"sourcesContent":["/*\n * Copyright 2024 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 { format } from \"prettier\";\nimport { describe, expect, it } from \"vitest\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { enhanceOntology } from \"../GenerateContext/enhanceOntology.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\nfunction simpleSpt(apiName, metadataLevel = 2) {\n return {\n apiName,\n dataType: {\n type: \"integer\",\n },\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} property dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} property desc` : undefined,\n };\n}\nfunction simpleInterface(apiName, spts, parents, metadataLevel = 2) {\n const properties = Object.fromEntries(spts.map(spt => [spt.apiName, spt]));\n return {\n apiName,\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} interface dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} interface desc` : undefined,\n extendsInterfaces: parents,\n links: {},\n properties,\n };\n}\nfunction simpleOntology(apiName, interfaces) {\n const interfaceTypes = Object\n .fromEntries(interfaces.map(i => [i.apiName, i]));\n const sharedPropertyTypes = Object\n .fromEntries(interfaces.flatMap(i => Object.entries(i.properties)));\n return {\n actionTypes: {},\n interfaceTypes,\n objectTypes: {},\n ontology: {\n apiName,\n description: `${apiName} ontology desc`,\n displayName: `${apiName} ontology dn`,\n rid: `${apiName} ontology rid`,\n },\n queryTypes: {},\n sharedPropertyTypes,\n };\n}\ndescribe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {\n it(\"Does not say (inherited) on properties locally defined\", async () => {\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Bar\", [simpleSpt(\"bar\", 0)], [], 0),\n ]),\n importExt: \"\",\n });\n expect(ontology.interfaceTypes.Bar instanceof EnhancedInterfaceType).toBe(true);\n // type guard for below\n if (ontology.interfaceTypes.Bar instanceof ForeignType) {\n throw new Error(\"Expected Bar to be an EnhancedInterfaceType\");\n }\n const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Bar, ontology, true), {\n parser: \"typescript\",\n printWidth: 100,\n });\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Bar = {};\n\n export namespace Bar {\n export type PropertyKeys = \"bar\";\n\n export interface Props {\n readonly bar: $PropType[\"integer\"] | undefined;\n }\n export interface StrictProps {\n readonly bar: $PropType[\"integer\"] | undefined;\n }\n\n export interface ObjectSet extends $ObjectSet<Bar, Bar.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$notStrict\" | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = $Osdk.Instance<Bar, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$notStrict\" | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Bar extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Bar\";\n __DefinitionMetadata?: {\n objectSet: Bar.ObjectSet;\n props: Bar.Props;\n linksType: OsdkObjectLinks$Bar;\n strictProps: Bar.StrictProps;\n apiName: \"Bar\";\n displayName: \"Bar\";\n implements: [];\n links: {};\n properties: {\n /**\n * (no ontology metadata)\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"BarRid\";\n type: \"interface\";\n };\n }\n\n export const Bar: Bar = {\n type: \"interface\",\n apiName: \"Bar\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n it(\"Generates properties for inherited SPTs\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n importExt: \"\",\n });\n const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true), {\n parser: \"typescript\",\n });\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\";\n\n export interface Props {\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export interface StrictProps {\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$notStrict\" | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$notStrict\" | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'foo property dn',\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo: Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n it(\"allows for SPT reuse if the same\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt, barSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n importExt: \"\",\n });\n const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true), {\n parser: \"typescript\",\n });\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\" | \"bar\";\n\n export interface Props {\n readonly bar: $PropType[\"integer\"] | undefined;\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export interface StrictProps {\n readonly bar: $PropType[\"integer\"] | undefined;\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$notStrict\" | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$notStrict\" | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'bar property dn',\n * description: bar property desc\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n /**\n * display name: 'foo property dn',\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo: Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n});\n"],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACF3C,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACtD,MAAM4C,MAAM,GAAGvC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMwC,MAAM,GAAGxC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAM4B,QAAQ,GAAG/B,eAAe,CAAC;MAC7BiC,SAAS,EAAEX,cAAc,CAAC,UAAU,EAAE,CAClCV,eAAe,CAAC,KAAK,EAAE,CAAC8B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAC5C9B,eAAe,CAAC,QAAQ,EAAE,CAAC+B,MAAM,CAAC,EAAE,EAAE,CAAC,CAC1C,CAAC;MACFT,SAAS,EAAE;IACf,CAAC,CAAC;IACF,MAAMI,aAAa,GAAG,MAAM3C,MAAM,CAACO,8CAA8C,CAAC6B,QAAQ,CAACP,cAAc,CAACoB,GAAG,EAAEb,QAAQ,EAAE,IAAI,CAAC,EAAE;MAC5HQ,MAAM,EAAE;IACZ,CAAC,CAAC;IACF1C,MAAM,CAACyC,aAAa,CAAC,CAACG,qBAAqB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACF3C,EAAE,CAAC,kCAAkC,EAAE,YAAY;IAC/C,MAAM4C,MAAM,GAAGvC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMwC,MAAM,GAAGxC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAM4B,QAAQ,GAAG/B,eAAe,CAAC;MAC7BiC,SAAS,EAAEX,cAAc,CAAC,UAAU,EAAE,CAClCV,eAAe,CAAC,KAAK,EAAE,CAAC8B,MAAM,EAAEC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EACpD/B,eAAe,CAAC,QAAQ,EAAE,CAAC+B,MAAM,CAAC,EAAE,EAAE,CAAC,CAC1C,CAAC;MACFT,SAAS,EAAE;IACf,CAAC,CAAC;IACF,MAAMI,aAAa,GAAG,MAAM3C,MAAM,CAACO,8CAA8C,CAAC6B,QAAQ,CAACP,cAAc,CAACoB,GAAG,EAAEb,QAAQ,EAAE,IAAI,CAAC,EAAE;MAC5HQ,MAAM,EAAE;IACZ,CAAC,CAAC;IACF1C,MAAM,CAACyC,aAAa,CAAC,CAACG,qBAAqB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js","names":["format","describe","expect","it","EnhancedInterfaceType","enhanceOntology","ForeignType","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","simpleSpt","apiName","metadataLevel","dataType","type","rid","displayName","description","undefined","simpleInterface","spts","parents","properties","Object","fromEntries","map","spt","extendsInterfaces","links","simpleOntology","interfaces","interfaceTypes","i","sharedPropertyTypes","flatMap","entries","actionTypes","objectTypes","ontology","queryTypes","sanitized","importExt","Bar","toBe","Error","formattedCode","parser","printWidth","toMatchInlineSnapshot","fooSpt","barSpt","Foo"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js"],"sourcesContent":["/*\n * Copyright 2024 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 { format } from \"prettier\";\nimport { describe, expect, it } from \"vitest\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { enhanceOntology } from \"../GenerateContext/enhanceOntology.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\nfunction simpleSpt(apiName, metadataLevel = 2) {\n return {\n apiName,\n dataType: {\n type: \"integer\",\n },\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} property dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} property desc` : undefined,\n };\n}\nfunction simpleInterface(apiName, spts, parents, metadataLevel = 2) {\n const properties = Object.fromEntries(spts.map(spt => [spt.apiName, spt]));\n return {\n apiName,\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} interface dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} interface desc` : undefined,\n extendsInterfaces: parents,\n links: {},\n properties,\n };\n}\nfunction simpleOntology(apiName, interfaces) {\n const interfaceTypes = Object\n .fromEntries(interfaces.map(i => [i.apiName, i]));\n const sharedPropertyTypes = Object\n .fromEntries(interfaces.flatMap(i => Object.entries(i.properties)));\n return {\n actionTypes: {},\n interfaceTypes,\n objectTypes: {},\n ontology: {\n apiName,\n description: `${apiName} ontology desc`,\n displayName: `${apiName} ontology dn`,\n rid: `${apiName} ontology rid`,\n },\n queryTypes: {},\n sharedPropertyTypes,\n };\n}\ndescribe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {\n it(\"Does not say (inherited) on properties locally defined\", async () => {\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Bar\", [simpleSpt(\"bar\", 0)], [], 0),\n ]),\n importExt: \"\",\n });\n expect(ontology.interfaceTypes.Bar instanceof EnhancedInterfaceType).toBe(true);\n // type guard for below\n if (ontology.interfaceTypes.Bar instanceof ForeignType) {\n throw new Error(\"Expected Bar to be an EnhancedInterfaceType\");\n }\n const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Bar, ontology, true, true), {\n parser: \"typescript\",\n printWidth: 100,\n });\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Bar = {};\n\n export namespace Bar {\n export type PropertyKeys = \"bar\";\n\n export interface Props {\n readonly bar: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Bar, Bar.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = $Osdk.Instance<Bar, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Bar extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Bar\";\n __DefinitionMetadata?: {\n objectSet: Bar.ObjectSet;\n props: Bar.Props;\n linksType: OsdkObjectLinks$Bar;\n strictProps: Bar.StrictProps;\n apiName: \"Bar\";\n displayName: \"Bar\";\n implements: [];\n links: {};\n properties: {\n /**\n * (no ontology metadata)\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"BarRid\";\n type: \"interface\";\n };\n }\n\n export const Bar: Bar = {\n type: \"interface\",\n apiName: \"Bar\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n it(\"Generates properties for inherited SPTs\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n importExt: \"\",\n });\n const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true, true), {\n parser: \"typescript\",\n });\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\";\n\n export interface Props {\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'foo property dn',\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo: Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n it(\"allows for SPT reuse if the same\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt, barSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n importExt: \"\",\n });\n const formattedCode = await format(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(ontology.interfaceTypes.Foo, ontology, true, true), {\n parser: \"typescript\",\n });\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\" | \"bar\";\n\n export interface Props {\n readonly bar: $PropType[\"integer\"] | undefined;\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'bar property dn',\n * description: bar property desc\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n /**\n * display name: 'foo property dn',\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo: Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n});\n"],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACF3C,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACtD,MAAM4C,MAAM,GAAGvC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMwC,MAAM,GAAGxC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAM4B,QAAQ,GAAG/B,eAAe,CAAC;MAC7BiC,SAAS,EAAEX,cAAc,CAAC,UAAU,EAAE,CAClCV,eAAe,CAAC,KAAK,EAAE,CAAC8B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAC5C9B,eAAe,CAAC,QAAQ,EAAE,CAAC+B,MAAM,CAAC,EAAE,EAAE,CAAC,CAC1C,CAAC;MACFT,SAAS,EAAE;IACf,CAAC,CAAC;IACF,MAAMI,aAAa,GAAG,MAAM3C,MAAM,CAACO,8CAA8C,CAAC6B,QAAQ,CAACP,cAAc,CAACoB,GAAG,EAAEb,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;MAClIQ,MAAM,EAAE;IACZ,CAAC,CAAC;IACF1C,MAAM,CAACyC,aAAa,CAAC,CAACG,qBAAqB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACF3C,EAAE,CAAC,kCAAkC,EAAE,YAAY;IAC/C,MAAM4C,MAAM,GAAGvC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMwC,MAAM,GAAGxC,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAM4B,QAAQ,GAAG/B,eAAe,CAAC;MAC7BiC,SAAS,EAAEX,cAAc,CAAC,UAAU,EAAE,CAClCV,eAAe,CAAC,KAAK,EAAE,CAAC8B,MAAM,EAAEC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EACpD/B,eAAe,CAAC,QAAQ,EAAE,CAAC+B,MAAM,CAAC,EAAE,EAAE,CAAC,CAC1C,CAAC;MACFT,SAAS,EAAE;IACf,CAAC,CAAC;IACF,MAAMI,aAAa,GAAG,MAAM3C,MAAM,CAACO,8CAA8C,CAAC6B,QAAQ,CAACP,cAAc,CAACoB,GAAG,EAAEb,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;MAClIQ,MAAM,EAAE;IACZ,CAAC,CAAC;IACF1C,MAAM,CAACyC,aAAa,CAAC,CAACG,qBAAqB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import type { MinimalFs } from "../MinimalFs.js";
2
2
  import type { WireOntologyDefinition } from "../WireOntologyDefinition.js";
3
- export declare function generateClientSdkVersionTwoPointZero(ontology: WireOntologyDefinition, userAgent: string, fs: MinimalFs, outDir: string, packageType?: "module" | "commonjs", externalObjects?: Map<string, string>, externalInterfaces?: Map<string, string>, externalSpts?: Map<string, string>): Promise<void>;
3
+ export declare function generateClientSdkVersionTwoPointZero(ontology: WireOntologyDefinition, userAgent: string, fs: MinimalFs, outDir: string, packageType?: "module" | "commonjs", externalObjects?: Map<string, string>, externalInterfaces?: Map<string, string>, externalSpts?: Map<string, string>, forInternalUse?: boolean): Promise<void>;
4
4
  //# sourceMappingURL=generateClientSdkVersionTwoPointZero.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateClientSdkVersionTwoPointZero.d.ts","sourceRoot":"","sources":["../../../src/v2.0/generateClientSdkVersionTwoPointZero.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAQ3E,wBAAsB,oCAAoC,CACxD,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,QAAQ,GAAG,UAAuB,EAC/C,eAAe,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAChD,kBAAkB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EACnD,YAAY,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,iBAkC9C"}
1
+ {"version":3,"file":"generateClientSdkVersionTwoPointZero.d.ts","sourceRoot":"","sources":["../../../src/v2.0/generateClientSdkVersionTwoPointZero.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAQ3E,wBAAsB,oCAAoC,CACxD,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,QAAQ,GAAG,UAAuB,EAC/C,eAAe,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAChD,kBAAkB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EACnD,YAAY,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAC7C,cAAc,GAAE,OAAe,iBAmChC"}
@@ -22,7 +22,7 @@ import { generatePerInterfaceDataFiles } from "./generatePerInterfaceDataFiles.j
22
22
  import { generatePerObjectDataFiles } from "./generatePerObjectDataFiles.js";
23
23
  import { generatePerQueryDataFilesV2 } from "./generatePerQueryDataFiles.js";
24
24
  import { generateRootIndexTsFile } from "./generateRootIndexTsFile.js";
25
- export async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs, outDir, packageType = "commonjs", externalObjects = new Map(), externalInterfaces = new Map(), externalSpts = new Map()) {
25
+ export async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs, outDir, packageType = "commonjs", externalObjects = new Map(), externalInterfaces = new Map(), externalSpts = new Map(), forInternalUse = false) {
26
26
  const importExt = packageType === "module" ? ".js" : "";
27
27
  // Structurally, we need to have multiple ontologies read in
28
28
  // with one per package.
@@ -43,7 +43,8 @@ export async function generateClientSdkVersionTwoPointZero(ontology, userAgent,
43
43
  ontology: enhancedOntology,
44
44
  importExt,
45
45
  fs,
46
- outDir
46
+ outDir,
47
+ forInternalUse
47
48
  };
48
49
  await generateRootIndexTsFile(ctx);
49
50
  await generateOntologyMetadataFile(ctx, userAgent);