@osdk/maker 0.9.0-beta.2 → 0.9.0-beta.21

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 (76) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/build/browser/api/defineImportSpt.d.ts +10 -0
  3. package/build/browser/api/defineImportSpt.d.ts.map +1 -0
  4. package/build/browser/api/defineImportSpt.js +44 -0
  5. package/build/browser/api/defineImportSpt.js.map +1 -0
  6. package/build/browser/api/defineInterface.d.ts +11 -0
  7. package/build/browser/api/defineInterface.d.ts.map +1 -1
  8. package/build/browser/api/defineInterface.js +38 -11
  9. package/build/browser/api/defineInterface.js.map +1 -1
  10. package/build/browser/api/defineInterfaceLinkConstraint.d.ts +2 -0
  11. package/build/browser/api/defineInterfaceLinkConstraint.d.ts.map +1 -1
  12. package/build/browser/api/defineInterfaceLinkConstraint.js +2 -2
  13. package/build/browser/api/defineInterfaceLinkConstraint.js.map +1 -1
  14. package/build/browser/api/defineLink.js +2 -2
  15. package/build/browser/api/defineLink.js.map +1 -1
  16. package/build/browser/api/defineObject.d.ts.map +1 -1
  17. package/build/browser/api/defineObject.js +19 -2
  18. package/build/browser/api/defineObject.js.map +1 -1
  19. package/build/browser/api/defineOntology.d.ts +3 -3
  20. package/build/browser/api/defineOntology.d.ts.map +1 -1
  21. package/build/browser/api/defineOntology.js +85 -24
  22. package/build/browser/api/defineOntology.js.map +1 -1
  23. package/build/browser/api/defineSpt.js +1 -1
  24. package/build/browser/api/defineSpt.js.map +1 -1
  25. package/build/browser/api/defineValueType.d.ts +8 -17
  26. package/build/browser/api/defineValueType.d.ts.map +1 -1
  27. package/build/browser/api/defineValueType.js +57 -11
  28. package/build/browser/api/defineValueType.js.map +1 -1
  29. package/build/browser/api/overall.test.js +351 -60
  30. package/build/browser/api/overall.test.js.map +1 -1
  31. package/build/browser/api/types.d.ts +196 -3
  32. package/build/browser/api/types.d.ts.map +1 -1
  33. package/build/browser/cli/main.js +3 -3
  34. package/build/browser/cli/main.js.map +1 -1
  35. package/build/browser/index.d.ts +1 -0
  36. package/build/browser/index.d.ts.map +1 -1
  37. package/build/browser/index.js +1 -0
  38. package/build/browser/index.js.map +1 -1
  39. package/build/esm/api/defineImportSpt.d.ts +10 -0
  40. package/build/esm/api/defineImportSpt.d.ts.map +1 -0
  41. package/build/esm/api/defineImportSpt.js +44 -0
  42. package/build/esm/api/defineImportSpt.js.map +1 -0
  43. package/build/esm/api/defineInterface.d.ts +11 -0
  44. package/build/esm/api/defineInterface.d.ts.map +1 -1
  45. package/build/esm/api/defineInterface.js +38 -11
  46. package/build/esm/api/defineInterface.js.map +1 -1
  47. package/build/esm/api/defineInterfaceLinkConstraint.d.ts +2 -0
  48. package/build/esm/api/defineInterfaceLinkConstraint.d.ts.map +1 -1
  49. package/build/esm/api/defineInterfaceLinkConstraint.js +2 -2
  50. package/build/esm/api/defineInterfaceLinkConstraint.js.map +1 -1
  51. package/build/esm/api/defineLink.js +2 -2
  52. package/build/esm/api/defineLink.js.map +1 -1
  53. package/build/esm/api/defineObject.d.ts.map +1 -1
  54. package/build/esm/api/defineObject.js +19 -2
  55. package/build/esm/api/defineObject.js.map +1 -1
  56. package/build/esm/api/defineOntology.d.ts +3 -3
  57. package/build/esm/api/defineOntology.d.ts.map +1 -1
  58. package/build/esm/api/defineOntology.js +85 -24
  59. package/build/esm/api/defineOntology.js.map +1 -1
  60. package/build/esm/api/defineSpt.js +1 -1
  61. package/build/esm/api/defineSpt.js.map +1 -1
  62. package/build/esm/api/defineValueType.d.ts +8 -17
  63. package/build/esm/api/defineValueType.d.ts.map +1 -1
  64. package/build/esm/api/defineValueType.js +57 -11
  65. package/build/esm/api/defineValueType.js.map +1 -1
  66. package/build/esm/api/overall.test.js +351 -60
  67. package/build/esm/api/overall.test.js.map +1 -1
  68. package/build/esm/api/types.d.ts +196 -3
  69. package/build/esm/api/types.d.ts.map +1 -1
  70. package/build/esm/cli/main.js +3 -3
  71. package/build/esm/cli/main.js.map +1 -1
  72. package/build/esm/index.d.ts +1 -0
  73. package/build/esm/index.d.ts.map +1 -1
  74. package/build/esm/index.js +1 -0
  75. package/build/esm/index.js.map +1 -1
  76. package/package.json +11 -9
@@ -1 +1 @@
1
- {"version":3,"file":"defineOntology.js","names":["ontologyDefinition","namespace","defineOntology","ns","body","actionTypes","objectTypes","queryTypes","interfaceTypes","sharedPropertyTypes","valueTypes","e","console","error","ontology","convertToWireOntologyIr","valueType","convertOntologyToValueTypeIr","Object","values","map","definitions","metadata","apiName","displayMetadata","status","versions","definition","version","baseType","constraints","exampleValues","fromEntries","entries","spt","sharedPropertyType","convertSpt","interfaceType","convertInterface","blockPermissionInformation","linkTypes","properties","allExtendsInterfaces","allLinks","allProperties","dumpOntologyFullMetadata","dumpValueTypeWireType","type","array","description","displayName","gothamMapping","typeClasses","visibility","subtype","convertType","aliases","baseFormatter","undefined","dataConstraints","indexedForSearch","provenance","markingType","geohash","precision","scale","analyzerOverride","enableAsciiFolding","isLongText","supportsExactMatching","mediaReference","distributeTypeHelper"],"sources":["defineOntology.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 */\n/** @internal */\nexport let ontologyDefinition;\n/** @internal */\nexport let namespace;\nexport async function defineOntology(ns, body) {\n namespace = ns;\n ontologyDefinition = {\n actionTypes: {},\n objectTypes: {},\n queryTypes: {},\n interfaceTypes: {},\n sharedPropertyTypes: {},\n valueTypes: {},\n };\n try {\n await body();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Unexpected error while processing the body of the ontology\", e);\n throw e;\n }\n return {\n ontology: convertToWireOntologyIr(ontologyDefinition),\n valueType: convertOntologyToValueTypeIr(ontologyDefinition),\n };\n}\nfunction convertOntologyToValueTypeIr(ontology) {\n return {\n valueTypes: Object.values(ontology.valueTypes).map(definitions => ({\n metadata: {\n apiName: definitions[0].apiName,\n displayMetadata: definitions[0].displayMetadata,\n status: definitions[0].status,\n },\n versions: definitions.map(definition => ({\n version: definition.version,\n baseType: definition.baseType,\n constraints: definition.constraints,\n exampleValues: definition.exampleValues,\n })),\n })),\n };\n}\nfunction convertToWireOntologyIr(ontology) {\n return {\n sharedPropertyTypes: Object.fromEntries(Object.entries(ontology.sharedPropertyTypes)\n .map(([apiName, spt]) => [apiName, { sharedPropertyType: convertSpt(spt) }])),\n interfaceTypes: Object.fromEntries(Object.entries(ontology.interfaceTypes)\n .map(([apiName, interfaceType]) => {\n return [apiName, {\n interfaceType: convertInterface(interfaceType),\n }];\n })),\n blockPermissionInformation: {\n actionTypes: {},\n linkTypes: {},\n objectTypes: {},\n },\n };\n}\nfunction convertInterface(interfaceType) {\n return {\n ...interfaceType,\n properties: Object.values(interfaceType.properties)\n .map((spt) => convertSpt(spt)),\n // these are omitted from our internal types but we need to re-add them for the final json\n allExtendsInterfaces: [],\n allLinks: [],\n allProperties: [],\n };\n}\nexport function dumpOntologyFullMetadata() {\n return convertToWireOntologyIr(ontologyDefinition);\n}\nexport function dumpValueTypeWireType() {\n return convertOntologyToValueTypeIr(ontologyDefinition);\n}\nfunction convertSpt({ type, array, description, apiName, displayName, gothamMapping, typeClasses, valueType, }) {\n return {\n apiName,\n displayMetadata: {\n displayName: displayName ?? apiName,\n visibility: \"NORMAL\",\n description,\n },\n type: array\n ? {\n type: \"array\",\n array: {\n subtype: convertType(type),\n },\n }\n : convertType(type),\n aliases: [],\n baseFormatter: undefined,\n dataConstraints: undefined,\n gothamMapping: gothamMapping,\n indexedForSearch: true,\n provenance: undefined,\n typeClasses: typeClasses ?? [],\n valueType: valueType,\n };\n}\nfunction convertType(type) {\n switch (type) {\n case \"marking\":\n return { type, [type]: { markingType: \"MANDATORY\" } };\n case \"geopoint\":\n return { type: \"geohash\", geohash: {} };\n case \"decimal\":\n return { type, [type]: { precision: undefined, scale: undefined } };\n case \"string\":\n return {\n type,\n [type]: {\n analyzerOverride: undefined,\n enableAsciiFolding: undefined,\n isLongText: false,\n supportsExactMatching: true,\n },\n };\n case \"mediaReference\":\n return {\n type: type,\n mediaReference: {},\n };\n default:\n // use helper function to distribute `type` properly\n return distributeTypeHelper(type);\n }\n}\n/**\n * Helper function to avoid duplication. Makes the types match properly with the correct\n * behavior without needing to switch on type.\n * @param type\n * @returns\n */\nfunction distributeTypeHelper(type) {\n return { type, [type]: {} }; // any cast to match conditional return type\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"defineOntology.js","names":["ontologyDefinition","namespace","defineOntology","ns","body","actionTypes","objectTypes","queryTypes","interfaceTypes","sharedPropertyTypes","valueTypes","importedTypes","e","console","error","ontology","convertToWireOntologyIr","valueType","convertOntologyToValueTypeIr","Object","values","map","definitions","metadata","apiName","displayMetadata","status","versions","definition","version","baseType","constraints","exampleValues","blockData","fromEntries","entries","spt","sharedPropertyType","convertSpt","interfaceType","convertInterface","blockPermissionInformation","linkTypes","properties","allExtendsInterfaces","allLinks","allProperties","dumpOntologyFullMetadata","dumpValueTypeWireType","type","array","description","displayName","gothamMapping","typeClasses","dataConstraint","propertyTypeConstraints","nullability","nullabilityV2","noEmptyCollections","noNulls","undefined","visibility","subtype","convertType","aliases","baseFormatter","dataConstraints","indexedForSearch","provenance","marking","markingType","structFields","Array","key","structDefinition","fieldTypeDefinition","field","fieldType","push","struct","geohash","precision","scale","analyzerOverride","enableAsciiFolding","isLongText","supportsExactMatching","mediaReference","distributeTypeHelper"],"sources":["defineOntology.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 */\n/** @internal */\nexport let ontologyDefinition;\n/** @internal */\nexport let namespace;\nexport async function defineOntology(ns, body) {\n namespace = ns;\n ontologyDefinition = {\n actionTypes: {},\n objectTypes: {},\n queryTypes: {},\n interfaceTypes: {},\n sharedPropertyTypes: {},\n valueTypes: {},\n importedTypes: {\n sharedPropertyTypes: [],\n },\n };\n try {\n await body();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Unexpected error while processing the body of the ontology\", e);\n throw e;\n }\n return {\n ontology: convertToWireOntologyIr(ontologyDefinition),\n valueType: convertOntologyToValueTypeIr(ontologyDefinition),\n };\n}\nfunction convertOntologyToValueTypeIr(ontology) {\n return {\n valueTypes: Object.values(ontology.valueTypes).map(definitions => ({\n metadata: {\n apiName: definitions[0].apiName,\n displayMetadata: definitions[0].displayMetadata,\n status: definitions[0].status,\n },\n versions: definitions.map(definition => ({\n version: definition.version,\n baseType: definition.baseType,\n constraints: definition.constraints,\n exampleValues: definition.exampleValues,\n })),\n })),\n };\n}\nfunction convertToWireOntologyIr(ontology) {\n return {\n blockData: {\n sharedPropertyTypes: Object.fromEntries(Object.entries(ontology.sharedPropertyTypes)\n .map(([apiName, spt]) => [apiName, { sharedPropertyType: convertSpt(spt) }])),\n interfaceTypes: Object.fromEntries(Object.entries(ontology.interfaceTypes)\n .map(([apiName, interfaceType]) => {\n return [apiName, {\n interfaceType: convertInterface(interfaceType),\n }];\n })),\n blockPermissionInformation: {\n actionTypes: {},\n linkTypes: {},\n objectTypes: {},\n },\n },\n importedTypes: ontology.importedTypes,\n };\n}\nfunction convertInterface(interfaceType) {\n return {\n ...interfaceType,\n properties: Object.values(interfaceType.properties)\n .map((spt) => convertSpt(spt)),\n // these are omitted from our internal types but we need to re-add them for the final json\n allExtendsInterfaces: [],\n allLinks: [],\n allProperties: [],\n };\n}\nexport function dumpOntologyFullMetadata() {\n return convertToWireOntologyIr(ontologyDefinition);\n}\nexport function dumpValueTypeWireType() {\n return convertOntologyToValueTypeIr(ontologyDefinition);\n}\nfunction convertSpt({ type, array, description, apiName, displayName, gothamMapping, typeClasses, valueType, }) {\n const dataConstraint = (typeof type === \"object\" && type.type === \"marking\")\n ? {\n propertyTypeConstraints: [],\n nullability: \"NO_EXPLICIT_NULLS\",\n nullabilityV2: { noEmptyCollections: true, noNulls: true },\n }\n : undefined;\n return {\n apiName,\n displayMetadata: {\n displayName: displayName ?? apiName,\n visibility: \"NORMAL\",\n description,\n },\n type: array\n ? {\n type: \"array\",\n array: {\n subtype: convertType(type),\n },\n }\n : convertType(type),\n aliases: [],\n baseFormatter: undefined,\n dataConstraints: dataConstraint,\n gothamMapping: gothamMapping,\n indexedForSearch: true,\n provenance: undefined,\n typeClasses: typeClasses ?? [],\n valueType: valueType,\n };\n}\nfunction convertType(type) {\n switch (true) {\n case (typeof type === \"object\" && \"markingType\" in type):\n return {\n \"type\": \"marking\",\n marking: { markingType: type.markingType },\n };\n case (typeof type === \"object\" && \"structDefinition\" in type):\n const structFields = new Array();\n for (const key in type.structDefinition) {\n const fieldTypeDefinition = type.structDefinition[key];\n var field;\n if (typeof fieldTypeDefinition === \"string\") {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: convertType(fieldTypeDefinition),\n };\n }\n else {\n // If it is a full form type definition then process it as such\n if (\"fieldType\" in fieldTypeDefinition) {\n field = {\n ...fieldTypeDefinition,\n apiName: key,\n fieldType: convertType(fieldTypeDefinition.fieldType),\n typeClasses: fieldTypeDefinition.typeClasses ?? [],\n aliases: fieldTypeDefinition.aliases ?? [],\n };\n }\n else {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: convertType(fieldTypeDefinition),\n };\n }\n }\n structFields.push(field);\n }\n return {\n type: \"struct\",\n struct: { structFields },\n };\n case (type === \"geopoint\"):\n return { type: \"geohash\", geohash: {} };\n case (type === \"decimal\"):\n return { type, [type]: { precision: undefined, scale: undefined } };\n case (type === \"string\"):\n return {\n type,\n [type]: {\n analyzerOverride: undefined,\n enableAsciiFolding: undefined,\n isLongText: false,\n supportsExactMatching: true,\n },\n };\n case (type === \"mediaReference\"):\n return {\n type: type,\n mediaReference: {},\n };\n default:\n // use helper function to distribute `type` properly\n return distributeTypeHelper(type);\n }\n}\n/**\n * Helper function to avoid duplication. Makes the types match properly with the correct\n * behavior without needing to switch on type.\n * @param type\n * @returns\n */\nfunction distributeTypeHelper(type) {\n return { type, [type]: {} }; // any cast to match conditional return type\n}\n"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,7 @@ const defaultTypeClasses = [{
24
24
  }];
25
25
  export function defineSharedPropertyType(opts) {
26
26
  const apiName = namespace + opts.apiName;
27
- !(ontologyDefinition.sharedPropertyTypes[apiName] === undefined) ? invariant(false, `Shared property type ${apiName} already exists`) : void 0;
27
+ !(ontologyDefinition.sharedPropertyTypes[apiName] === undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Shared property type ${apiName} already exists`) : invariant(false) : void 0;
28
28
  return ontologyDefinition.sharedPropertyTypes[apiName] = {
29
29
  ...opts,
30
30
  apiName,
@@ -1 +1 @@
1
- {"version":3,"file":"defineSpt.js","names":["invariant","namespace","ontologyDefinition","defaultTypeClasses","kind","name","defineSharedPropertyType","opts","apiName","sharedPropertyTypes","undefined","displayName","typeClasses"],"sources":["defineSpt.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 invariant from \"tiny-invariant\";\nimport { namespace, ontologyDefinition } from \"./defineOntology.js\";\nconst defaultTypeClasses = [{\n kind: \"render_hint\",\n name: \"SELECTABLE\",\n }, { kind: \"render_hint\", name: \"SORTABLE\" }];\nexport function defineSharedPropertyType(opts) {\n const apiName = namespace + opts.apiName;\n invariant(ontologyDefinition.sharedPropertyTypes[apiName] === undefined, `Shared property type ${apiName} already exists`);\n return ontologyDefinition.sharedPropertyTypes[apiName] = {\n ...opts,\n apiName,\n displayName: opts.displayName ?? opts.apiName, // This way the non-namespaced api name is the display name (maybe not ideal)\n typeClasses: opts.typeClasses ?? defaultTypeClasses,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SAASC,SAAS,EAAEC,kBAAkB,QAAQ,qBAAqB;AACnE,MAAMC,kBAAkB,GAAG,CAAC;EACpBC,IAAI,EAAE,aAAa;EACnBC,IAAI,EAAE;AACV,CAAC,EAAE;EAAED,IAAI,EAAE,aAAa;EAAEC,IAAI,EAAE;AAAW,CAAC,CAAC;AACjD,OAAO,SAASC,wBAAwBA,CAACC,IAAI,EAAE;EAC3C,MAAMC,OAAO,GAAGP,SAAS,GAAGM,IAAI,CAACC,OAAO;EACxC,EAAUN,kBAAkB,CAACO,mBAAmB,CAACD,OAAO,CAAC,KAAKE,SAAS,IAAvEV,SAAS,QAAgE,wBAAwBQ,OAAO,iBAAiB;EACzH,OAAON,kBAAkB,CAACO,mBAAmB,CAACD,OAAO,CAAC,GAAG;IACrD,GAAGD,IAAI;IACPC,OAAO;IACPG,WAAW,EAAEJ,IAAI,CAACI,WAAW,IAAIJ,IAAI,CAACC,OAAO;IAAE;IAC/CI,WAAW,EAAEL,IAAI,CAACK,WAAW,IAAIT;EACrC,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"defineSpt.js","names":["invariant","namespace","ontologyDefinition","defaultTypeClasses","kind","name","defineSharedPropertyType","opts","apiName","sharedPropertyTypes","undefined","process","env","NODE_ENV","displayName","typeClasses"],"sources":["defineSpt.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 invariant from \"tiny-invariant\";\nimport { namespace, ontologyDefinition } from \"./defineOntology.js\";\nconst defaultTypeClasses = [{\n kind: \"render_hint\",\n name: \"SELECTABLE\",\n }, { kind: \"render_hint\", name: \"SORTABLE\" }];\nexport function defineSharedPropertyType(opts) {\n const apiName = namespace + opts.apiName;\n invariant(ontologyDefinition.sharedPropertyTypes[apiName] === undefined, `Shared property type ${apiName} already exists`);\n return ontologyDefinition.sharedPropertyTypes[apiName] = {\n ...opts,\n apiName,\n displayName: opts.displayName ?? opts.apiName, // This way the non-namespaced api name is the display name (maybe not ideal)\n typeClasses: opts.typeClasses ?? defaultTypeClasses,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SAASC,SAAS,EAAEC,kBAAkB,QAAQ,qBAAqB;AACnE,MAAMC,kBAAkB,GAAG,CAAC;EACpBC,IAAI,EAAE,aAAa;EACnBC,IAAI,EAAE;AACV,CAAC,EAAE;EAAED,IAAI,EAAE,aAAa;EAAEC,IAAI,EAAE;AAAW,CAAC,CAAC;AACjD,OAAO,SAASC,wBAAwBA,CAACC,IAAI,EAAE;EAC3C,MAAMC,OAAO,GAAGP,SAAS,GAAGM,IAAI,CAACC,OAAO;EACxC,EAAUN,kBAAkB,CAACO,mBAAmB,CAACD,OAAO,CAAC,KAAKE,SAAS,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAvEb,SAAS,QAAgE,wBAAwBQ,OAAO,iBAAiB,IAAzHR,SAAS;EACT,OAAOE,kBAAkB,CAACO,mBAAmB,CAACD,OAAO,CAAC,GAAG;IACrD,GAAGD,IAAI;IACPC,OAAO;IACPM,WAAW,EAAEP,IAAI,CAACO,WAAW,IAAIP,IAAI,CAACC,OAAO;IAAE;IAC/CO,WAAW,EAAER,IAAI,CAACQ,WAAW,IAAIZ;EACrC,CAAC;AACL","ignoreList":[]}
@@ -1,25 +1,16 @@
1
- import type { BaseType, DataConstraint, FailureMessage } from "@osdk/client.unstable";
2
- import type { ValueTypeDefinitionVersion } from "./types.js";
3
- type ZipBaseAndConstraint<Base, Constraint> = {
4
- [PropertyType in (BaseType["type"] & DataConstraint["type"])]: Base extends {
5
- type: PropertyType;
6
- } ? {
7
- baseType: Omit<Base, "type">;
8
- constraints?: Constraint extends {
9
- type: PropertyType;
10
- } ? {
11
- constraint: Omit<Constraint, "type">;
12
- failureMessage?: FailureMessage;
13
- }[] : undefined;
14
- } : never;
1
+ import type { ValueTypeDefinitionVersion, ValueTypeType } from "./types.js";
2
+ type NewValueTypeDefinitionBacking = {
3
+ [Type in ValueTypeType as Type["type"]]: {
4
+ type: Type["value"];
5
+ constraints?: Type["constraints"];
6
+ };
15
7
  };
16
- type MappedZip = ZipBaseAndConstraint<BaseType, DataConstraint>;
17
- type TypeAndConstraints = MappedZip[keyof MappedZip];
8
+ type NewValueTypeDefinition = NewValueTypeDefinitionBacking[keyof NewValueTypeDefinitionBacking];
18
9
  export declare function defineValueType(opts: {
19
10
  apiName: string;
20
11
  displayName: string;
21
12
  description?: string;
22
- typeAndConstraints: TypeAndConstraints;
13
+ type: NewValueTypeDefinition;
23
14
  version: string;
24
15
  }): ValueTypeDefinitionVersion;
25
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"defineValueType.d.ts","sourceRoot":"","sources":["../../../src/api/defineValueType.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EAEd,cAAc,EACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D,KAAK,oBAAoB,CAAC,IAAI,EAAE,UAAU,IAAI;KAC3C,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,SACjE;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,GAAG;QACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7B,WAAW,CAAC,EAAE,UAAU,SAAS;YAAE,IAAI,EAAE,YAAY,CAAA;SAAE,GAAG;YACtD,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACrC,cAAc,CAAC,EAAE,cAAc,CAAC;SACjC,EAAE,GACD,SAAS,CAAC;KACf,GACC,KAAK;CACV,CAAC;AAEF,KAAK,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAEhE,KAAK,kBAAkB,GAAG,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC;AACrD,wBAAgB,eAAe,CAC7B,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,0BAA0B,CA2C5B"}
1
+ {"version":3,"file":"defineValueType.d.ts","sourceRoot":"","sources":["../../../src/api/defineValueType.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiC5E,KAAK,6BAA6B,GAAG;KAClC,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG;QACvC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,WAAW,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KACnC;CACF,CAAC;AACF,KAAK,sBAAsB,GACzB,6BAA6B,CAAC,MAAM,6BAA6B,CAAC,CAAC;AA+CrE,wBAAgB,eAAe,CAC7B,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,0BAA0B,CAyC5B"}
@@ -15,28 +15,74 @@
15
15
  */
16
16
  import invariant from "tiny-invariant";
17
17
  import { ontologyDefinition } from "./defineOntology.js";
18
+ function convertValueTypeTypeToBaseType(valueType) {
19
+ if (typeof valueType === "string") {}
20
+ switch (true) {
21
+ case typeof valueType === "object" && valueType.type === "array":
22
+ return {
23
+ type: "array",
24
+ array: {
25
+ elementType: convertValueTypeTypeToBaseType(valueType.elementType)
26
+ }
27
+ };
28
+ case typeof valueType === "object" && valueType.type === "struct":
29
+ return {
30
+ type: "structV2",
31
+ structV2: {
32
+ fields: valueType.fields.map(field => ({
33
+ identifier: field.identifier,
34
+ baseType: convertValueTypeTypeToBaseType(field.baseType)
35
+ }))
36
+ }
37
+ };
38
+ case typeof valueType === "object" && valueType.type === "map":
39
+ return {
40
+ type: "map",
41
+ map: {
42
+ keyType: convertValueTypeTypeToBaseType(valueType.keyType),
43
+ valueType: convertValueTypeTypeToBaseType(valueType.valueType)
44
+ }
45
+ };
46
+ case typeof valueType === "object" && valueType.type === "optional":
47
+ return {
48
+ type: "optional",
49
+ optional: {
50
+ wrappedType: convertValueTypeTypeToBaseType(valueType.wrappedType)
51
+ }
52
+ };
53
+ case typeof valueType === "string":
54
+ return {
55
+ type: valueType,
56
+ [valueType]: {}
57
+ };
58
+ default:
59
+ throw new Error("Invalid ValueTypeType");
60
+ }
61
+ }
18
62
  export function defineValueType(opts) {
19
63
  const {
20
64
  apiName,
21
65
  displayName,
22
66
  description,
23
- typeAndConstraints,
67
+ type,
24
68
  version
25
69
  } = opts;
26
- !/^((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)$/.test(version) ? invariant(false, "Version is not a valid semver") : void 0;
70
+ !/^((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)$/.test(version) ? process.env.NODE_ENV !== "production" ? invariant(false, "Version is not a valid semver") : invariant(false) : void 0;
71
+ const typeName = typeof type.type === "string" ? type.type : type.type.type === "struct" ? "structV2" : type.type.type;
27
72
  // These suck but TS doesn't understand the relationship from the key of the base type to the type string
28
- const constraints = typeAndConstraints.constraints ? typeAndConstraints.constraints.map(constraint => {
29
- return {
73
+ const constraints = type.constraints ? type.constraints.map(constraint => {
74
+ const output = {
30
75
  constraint: {
31
- [Object.keys(constraint["constraint"])[0]]: Object.keys(constraint["constraint"])[0],
32
- ...constraint
33
- }
76
+ type: typeName,
77
+ [typeName]: constraint.constraint
78
+ },
79
+ failureMessage: constraint.failureMessage
80
+ };
81
+ return {
82
+ constraint: output
34
83
  };
35
84
  }) : [];
36
- const baseType = {
37
- [Object.keys(typeAndConstraints.baseType)[0]]: Object.keys(typeAndConstraints.baseType)[0],
38
- ...typeAndConstraints.baseType
39
- };
85
+ const baseType = convertValueTypeTypeToBaseType(type.type);
40
86
  const vt = {
41
87
  apiName,
42
88
  displayMetadata: {
@@ -1 +1 @@
1
- {"version":3,"file":"defineValueType.js","names":["invariant","ontologyDefinition","defineValueType","opts","apiName","displayName","description","typeAndConstraints","version","test","constraints","map","constraint","Object","keys","baseType","vt","displayMetadata","status","type","active","exampleValues","valueTypes","undefined","push"],"sources":["defineValueType.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 invariant from \"tiny-invariant\";\nimport { ontologyDefinition } from \"./defineOntology.js\";\nexport function defineValueType(opts) {\n const { apiName, displayName, description, typeAndConstraints, version } = opts;\n const semverValidation = /^((([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)$/;\n invariant(semverValidation.test(version), \"Version is not a valid semver\");\n // These suck but TS doesn't understand the relationship from the key of the base type to the type string\n const constraints = typeAndConstraints.constraints\n ? typeAndConstraints.constraints.map(constraint => {\n return {\n constraint: {\n [Object.keys(constraint[\"constraint\"])[0]]: Object.keys(constraint[\"constraint\"])[0],\n ...constraint,\n },\n };\n })\n : [];\n const baseType = {\n [Object.keys(typeAndConstraints.baseType)[0]]: Object.keys(typeAndConstraints.baseType)[0],\n ...typeAndConstraints.baseType,\n };\n const vt = {\n apiName,\n displayMetadata: {\n displayName: displayName,\n description: description ?? \"\",\n },\n status: { type: \"active\", active: {} },\n version: version,\n baseType: baseType,\n constraints: constraints,\n exampleValues: [],\n };\n if (ontologyDefinition.valueTypes[apiName] === undefined) {\n ontologyDefinition.valueTypes[apiName] = [];\n }\n ontologyDefinition.valueTypes[apiName].push(vt);\n return vt;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,OAAO,SAASC,eAAeA,CAACC,IAAI,EAAE;EAClC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC;EAAQ,CAAC,GAAGL,IAAI;EAE/E,CADyB,uHAAuH,CACrHM,IAAI,CAACD,OAAO,CAAC,GAAxCR,SAAS,QAAiC,+BAA+B;EACzE;EACA,MAAMU,WAAW,GAAGH,kBAAkB,CAACG,WAAW,GAC5CH,kBAAkB,CAACG,WAAW,CAACC,GAAG,CAACC,UAAU,IAAI;IAC/C,OAAO;MACHA,UAAU,EAAE;QACR,CAACC,MAAM,CAACC,IAAI,CAACF,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACF,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,GAAGA;MACP;IACJ,CAAC;EACL,CAAC,CAAC,GACA,EAAE;EACR,MAAMG,QAAQ,GAAG;IACb,CAACF,MAAM,CAACC,IAAI,CAACP,kBAAkB,CAACQ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAGF,MAAM,CAACC,IAAI,CAACP,kBAAkB,CAACQ,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1F,GAAGR,kBAAkB,CAACQ;EAC1B,CAAC;EACD,MAAMC,EAAE,GAAG;IACPZ,OAAO;IACPa,eAAe,EAAE;MACbZ,WAAW,EAAEA,WAAW;MACxBC,WAAW,EAAEA,WAAW,IAAI;IAChC,CAAC;IACDY,MAAM,EAAE;MAAEC,IAAI,EAAE,QAAQ;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;IACtCZ,OAAO,EAAEA,OAAO;IAChBO,QAAQ,EAAEA,QAAQ;IAClBL,WAAW,EAAEA,WAAW;IACxBW,aAAa,EAAE;EACnB,CAAC;EACD,IAAIpB,kBAAkB,CAACqB,UAAU,CAAClB,OAAO,CAAC,KAAKmB,SAAS,EAAE;IACtDtB,kBAAkB,CAACqB,UAAU,CAAClB,OAAO,CAAC,GAAG,EAAE;EAC/C;EACAH,kBAAkB,CAACqB,UAAU,CAAClB,OAAO,CAAC,CAACoB,IAAI,CAACR,EAAE,CAAC;EAC/C,OAAOA,EAAE;AACb","ignoreList":[]}
1
+ {"version":3,"file":"defineValueType.js","names":["invariant","ontologyDefinition","convertValueTypeTypeToBaseType","valueType","type","array","elementType","structV2","fields","map","field","identifier","baseType","keyType","optional","wrappedType","Error","defineValueType","opts","apiName","displayName","description","version","test","process","env","NODE_ENV","typeName","constraints","constraint","output","failureMessage","vt","displayMetadata","status","active","exampleValues","valueTypes","undefined","push"],"sources":["defineValueType.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 invariant from \"tiny-invariant\";\nimport { ontologyDefinition } from \"./defineOntology.js\";\nfunction convertValueTypeTypeToBaseType(valueType) {\n if (typeof valueType === \"string\") {\n }\n switch (true) {\n case (typeof valueType === \"object\" && valueType.type === \"array\"):\n return {\n type: \"array\",\n array: {\n elementType: convertValueTypeTypeToBaseType(valueType.elementType),\n },\n };\n case (typeof valueType === \"object\" && valueType.type === \"struct\"):\n return {\n type: \"structV2\",\n structV2: {\n fields: valueType.fields.map(field => ({\n identifier: field.identifier,\n baseType: convertValueTypeTypeToBaseType(field.baseType),\n })),\n },\n };\n case (typeof valueType === \"object\" && valueType.type === \"map\"):\n return {\n type: \"map\",\n map: {\n keyType: convertValueTypeTypeToBaseType(valueType.keyType),\n valueType: convertValueTypeTypeToBaseType(valueType.valueType),\n },\n };\n case (typeof valueType === \"object\" && valueType.type === \"optional\"):\n return {\n type: \"optional\",\n optional: {\n wrappedType: convertValueTypeTypeToBaseType(valueType.wrappedType),\n },\n };\n case (typeof valueType === \"string\"):\n return { type: valueType, [valueType]: {} };\n default:\n throw new Error(\"Invalid ValueTypeType\");\n }\n}\nexport function defineValueType(opts) {\n const { apiName, displayName, description, type, version } = opts;\n const semverValidation = /^((([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)$/;\n invariant(semverValidation.test(version), \"Version is not a valid semver\");\n const typeName = typeof type.type === \"string\"\n ? type.type\n : type.type.type === \"struct\"\n ? \"structV2\"\n : type.type.type;\n // These suck but TS doesn't understand the relationship from the key of the base type to the type string\n const constraints = type.constraints\n ? type.constraints.map(constraint => {\n const output = {\n constraint: { type: typeName, [typeName]: constraint.constraint },\n failureMessage: constraint.failureMessage,\n };\n return { constraint: output };\n })\n : [];\n const baseType = convertValueTypeTypeToBaseType(type.type);\n const vt = {\n apiName,\n displayMetadata: {\n displayName: displayName,\n description: description ?? \"\",\n },\n status: { type: \"active\", active: {} },\n version: version,\n baseType: baseType,\n constraints: constraints,\n exampleValues: [],\n };\n if (ontologyDefinition.valueTypes[apiName] === undefined) {\n ontologyDefinition.valueTypes[apiName] = [];\n }\n ontologyDefinition.valueTypes[apiName].push(vt);\n return vt;\n}\n"],"mappings":"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","ignoreList":[]}