@osdk/maker 0.16.0-beta.2 → 0.16.0-beta.4

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 (165) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +14 -0
  3. package/build/browser/api/cloneDefinition.js +36 -0
  4. package/build/browser/api/cloneDefinition.js.map +1 -0
  5. package/build/browser/api/code-snippets/createCodeSnippets.js +1 -1
  6. package/build/browser/api/code-snippets/createCodeSnippets.js.map +1 -1
  7. package/build/browser/api/defineAction.js +3 -1
  8. package/build/browser/api/defineAction.js.map +1 -1
  9. package/build/browser/api/defineCreateInterfaceObjectAction.js +3 -1
  10. package/build/browser/api/defineCreateInterfaceObjectAction.js.map +1 -1
  11. package/build/browser/api/defineCreateObjectAction.js +3 -1
  12. package/build/browser/api/defineCreateObjectAction.js.map +1 -1
  13. package/build/browser/api/defineCreateOrModifyObjectAction.js +3 -1
  14. package/build/browser/api/defineCreateOrModifyObjectAction.js.map +1 -1
  15. package/build/browser/api/defineDeleteInterfaceObjectAction.js +3 -1
  16. package/build/browser/api/defineDeleteInterfaceObjectAction.js.map +1 -1
  17. package/build/browser/api/defineDeleteObjectAction.js +3 -1
  18. package/build/browser/api/defineDeleteObjectAction.js.map +1 -1
  19. package/build/browser/api/defineInterface.js +3 -1
  20. package/build/browser/api/defineInterface.js.map +1 -1
  21. package/build/browser/api/defineInterfaceLinkConstraint.js +6 -2
  22. package/build/browser/api/defineInterfaceLinkConstraint.js.map +1 -1
  23. package/build/browser/api/defineLink.js +3 -1
  24. package/build/browser/api/defineLink.js.map +1 -1
  25. package/build/browser/api/defineModifyInterfaceObjectAction.js +3 -1
  26. package/build/browser/api/defineModifyInterfaceObjectAction.js.map +1 -1
  27. package/build/browser/api/defineModifyObjectAction.js +3 -1
  28. package/build/browser/api/defineModifyObjectAction.js.map +1 -1
  29. package/build/browser/api/defineObject.js +29 -10
  30. package/build/browser/api/defineObject.js.map +1 -1
  31. package/build/browser/api/defineSpt.js +3 -1
  32. package/build/browser/api/defineSpt.js.map +1 -1
  33. package/build/browser/api/defineValueType.js +3 -1
  34. package/build/browser/api/defineValueType.js.map +1 -1
  35. package/build/browser/api/object/ObjectPropertyType.js.map +1 -1
  36. package/build/browser/api/properties/PropertyTypeType.js.map +1 -1
  37. package/build/browser/api/properties/ReducerType.js +2 -0
  38. package/build/browser/api/properties/ReducerType.js.map +1 -0
  39. package/build/browser/api/properties/SharedPropertyType.js.map +1 -1
  40. package/build/browser/api/test/actions.test.js +5 -0
  41. package/build/browser/api/test/actions.test.js.map +1 -1
  42. package/build/browser/api/test/objectStatus.test.js +93 -1
  43. package/build/browser/api/test/objectStatus.test.js.map +1 -1
  44. package/build/browser/api/test/objects.test.js +576 -0
  45. package/build/browser/api/test/objects.test.js.map +1 -1
  46. package/build/browser/api/test/spt.test.js +62 -61
  47. package/build/browser/api/test/spt.test.js.map +1 -1
  48. package/build/browser/cli/main.js +1 -1
  49. package/build/browser/conversion/toMarketplace/convertMainValue.js +36 -0
  50. package/build/browser/conversion/toMarketplace/convertMainValue.js.map +1 -0
  51. package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js +4 -3
  52. package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -1
  53. package/build/browser/conversion/toMarketplace/convertReducers.js +53 -0
  54. package/build/browser/conversion/toMarketplace/convertReducers.js.map +1 -0
  55. package/build/browser/conversion/toMarketplace/convertSpt.js +5 -3
  56. package/build/browser/conversion/toMarketplace/convertSpt.js.map +1 -1
  57. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +4 -2
  58. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -1
  59. package/build/cjs/index.cjs +194 -98
  60. package/build/cjs/index.cjs.map +1 -1
  61. package/build/cjs/index.d.cts +27 -15
  62. package/build/esm/api/cloneDefinition.js +36 -0
  63. package/build/esm/api/cloneDefinition.js.map +1 -0
  64. package/build/esm/api/code-snippets/createCodeSnippets.js +1 -1
  65. package/build/esm/api/code-snippets/createCodeSnippets.js.map +1 -1
  66. package/build/esm/api/defineAction.js +3 -1
  67. package/build/esm/api/defineAction.js.map +1 -1
  68. package/build/esm/api/defineCreateInterfaceObjectAction.js +3 -1
  69. package/build/esm/api/defineCreateInterfaceObjectAction.js.map +1 -1
  70. package/build/esm/api/defineCreateObjectAction.js +3 -1
  71. package/build/esm/api/defineCreateObjectAction.js.map +1 -1
  72. package/build/esm/api/defineCreateOrModifyObjectAction.js +3 -1
  73. package/build/esm/api/defineCreateOrModifyObjectAction.js.map +1 -1
  74. package/build/esm/api/defineDeleteInterfaceObjectAction.js +3 -1
  75. package/build/esm/api/defineDeleteInterfaceObjectAction.js.map +1 -1
  76. package/build/esm/api/defineDeleteObjectAction.js +3 -1
  77. package/build/esm/api/defineDeleteObjectAction.js.map +1 -1
  78. package/build/esm/api/defineInterface.js +3 -1
  79. package/build/esm/api/defineInterface.js.map +1 -1
  80. package/build/esm/api/defineInterfaceLinkConstraint.js +6 -2
  81. package/build/esm/api/defineInterfaceLinkConstraint.js.map +1 -1
  82. package/build/esm/api/defineLink.js +3 -1
  83. package/build/esm/api/defineLink.js.map +1 -1
  84. package/build/esm/api/defineModifyInterfaceObjectAction.js +3 -1
  85. package/build/esm/api/defineModifyInterfaceObjectAction.js.map +1 -1
  86. package/build/esm/api/defineModifyObjectAction.js +3 -1
  87. package/build/esm/api/defineModifyObjectAction.js.map +1 -1
  88. package/build/esm/api/defineObject.js +29 -10
  89. package/build/esm/api/defineObject.js.map +1 -1
  90. package/build/esm/api/defineSpt.js +3 -1
  91. package/build/esm/api/defineSpt.js.map +1 -1
  92. package/build/esm/api/defineValueType.js +3 -1
  93. package/build/esm/api/defineValueType.js.map +1 -1
  94. package/build/esm/api/object/ObjectPropertyType.js.map +1 -1
  95. package/build/esm/api/properties/PropertyTypeType.js.map +1 -1
  96. package/build/esm/api/properties/ReducerType.js +2 -0
  97. package/build/esm/api/properties/ReducerType.js.map +1 -0
  98. package/build/esm/api/properties/SharedPropertyType.js.map +1 -1
  99. package/build/esm/api/test/actions.test.js +5 -0
  100. package/build/esm/api/test/actions.test.js.map +1 -1
  101. package/build/esm/api/test/objectStatus.test.js +93 -1
  102. package/build/esm/api/test/objectStatus.test.js.map +1 -1
  103. package/build/esm/api/test/objects.test.js +576 -0
  104. package/build/esm/api/test/objects.test.js.map +1 -1
  105. package/build/esm/api/test/spt.test.js +62 -61
  106. package/build/esm/api/test/spt.test.js.map +1 -1
  107. package/build/esm/cli/main.js +1 -1
  108. package/build/esm/conversion/toMarketplace/convertMainValue.js +36 -0
  109. package/build/esm/conversion/toMarketplace/convertMainValue.js.map +1 -0
  110. package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js +4 -3
  111. package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -1
  112. package/build/esm/conversion/toMarketplace/convertReducers.js +53 -0
  113. package/build/esm/conversion/toMarketplace/convertReducers.js.map +1 -0
  114. package/build/esm/conversion/toMarketplace/convertSpt.js +5 -3
  115. package/build/esm/conversion/toMarketplace/convertSpt.js.map +1 -1
  116. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +4 -2
  117. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -1
  118. package/build/types/api/cloneDefinition.d.ts +9 -0
  119. package/build/types/api/cloneDefinition.d.ts.map +1 -0
  120. package/build/types/api/defineAction.d.ts +1 -1
  121. package/build/types/api/defineAction.d.ts.map +1 -1
  122. package/build/types/api/defineCreateInterfaceObjectAction.d.ts +1 -1
  123. package/build/types/api/defineCreateInterfaceObjectAction.d.ts.map +1 -1
  124. package/build/types/api/defineCreateObjectAction.d.ts +1 -1
  125. package/build/types/api/defineCreateObjectAction.d.ts.map +1 -1
  126. package/build/types/api/defineCreateOrModifyObjectAction.d.ts +1 -1
  127. package/build/types/api/defineCreateOrModifyObjectAction.d.ts.map +1 -1
  128. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts +1 -1
  129. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts.map +1 -1
  130. package/build/types/api/defineDeleteObjectAction.d.ts +1 -1
  131. package/build/types/api/defineDeleteObjectAction.d.ts.map +1 -1
  132. package/build/types/api/defineInterface.d.ts +1 -1
  133. package/build/types/api/defineInterface.d.ts.map +1 -1
  134. package/build/types/api/defineInterfaceLinkConstraint.d.ts +1 -1
  135. package/build/types/api/defineInterfaceLinkConstraint.d.ts.map +1 -1
  136. package/build/types/api/defineLink.d.ts +1 -1
  137. package/build/types/api/defineLink.d.ts.map +1 -1
  138. package/build/types/api/defineModifyInterfaceObjectAction.d.ts +1 -1
  139. package/build/types/api/defineModifyInterfaceObjectAction.d.ts.map +1 -1
  140. package/build/types/api/defineModifyObjectAction.d.ts +1 -1
  141. package/build/types/api/defineModifyObjectAction.d.ts.map +1 -1
  142. package/build/types/api/defineObject.d.ts +1 -1
  143. package/build/types/api/defineObject.d.ts.map +1 -1
  144. package/build/types/api/defineSpt.d.ts +3 -1
  145. package/build/types/api/defineSpt.d.ts.map +1 -1
  146. package/build/types/api/defineValueType.d.ts +1 -1
  147. package/build/types/api/defineValueType.d.ts.map +1 -1
  148. package/build/types/api/object/ObjectPropertyType.d.ts +2 -0
  149. package/build/types/api/object/ObjectPropertyType.d.ts.map +1 -1
  150. package/build/types/api/properties/PropertyTypeType.d.ts +4 -0
  151. package/build/types/api/properties/PropertyTypeType.d.ts.map +1 -1
  152. package/build/types/api/properties/ReducerType.d.ts +4 -0
  153. package/build/types/api/properties/ReducerType.d.ts.map +1 -0
  154. package/build/types/api/properties/SharedPropertyType.d.ts +2 -0
  155. package/build/types/api/properties/SharedPropertyType.d.ts.map +1 -1
  156. package/build/types/conversion/toMarketplace/convertMainValue.d.ts +4 -0
  157. package/build/types/conversion/toMarketplace/convertMainValue.d.ts.map +1 -0
  158. package/build/types/conversion/toMarketplace/convertObjectPropertyType.d.ts.map +1 -1
  159. package/build/types/conversion/toMarketplace/convertReducers.d.ts +6 -0
  160. package/build/types/conversion/toMarketplace/convertReducers.d.ts.map +1 -0
  161. package/build/types/conversion/toMarketplace/convertSpt.d.ts +1 -1
  162. package/build/types/conversion/toMarketplace/convertSpt.d.ts.map +1 -1
  163. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts +2 -1
  164. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts.map +1 -1
  165. package/package.json +3 -3
@@ -226,70 +226,71 @@ describe("SPTs", () => {
226
226
  }
227
227
  });
228
228
  expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`
229
- {
230
- "actionTypes": {},
231
- "blockPermissionInformation": {
232
- "actionTypes": {},
233
- "linkTypes": {},
234
- "objectTypes": {},
229
+ {
230
+ "actionTypes": {},
231
+ "blockPermissionInformation": {
232
+ "actionTypes": {},
233
+ "linkTypes": {},
234
+ "objectTypes": {},
235
+ },
236
+ "interfaceTypes": {},
237
+ "linkTypes": {},
238
+ "objectTypes": {},
239
+ "sharedPropertyTypes": {
240
+ "com.palantir.fooSpt": {
241
+ "sharedPropertyType": {
242
+ "aliases": [],
243
+ "apiName": "com.palantir.fooSpt",
244
+ "baseFormatter": undefined,
245
+ "dataConstraints": undefined,
246
+ "displayMetadata": {
247
+ "description": undefined,
248
+ "displayName": "fooSpt",
249
+ "visibility": "NORMAL",
250
+ },
251
+ "gothamMapping": undefined,
252
+ "indexedForSearch": true,
253
+ "type": {
254
+ "struct": {
255
+ "mainValue": undefined,
256
+ "structFields": [
257
+ {
258
+ "aliases": [],
259
+ "apiName": "simpleProperty",
260
+ "displayMetadata": {
261
+ "description": undefined,
262
+ "displayName": "simpleProperty",
263
+ },
264
+ "fieldType": {
265
+ "boolean": {},
266
+ "type": "boolean",
267
+ },
268
+ "typeClasses": [],
235
269
  },
236
- "interfaceTypes": {},
237
- "linkTypes": {},
238
- "objectTypes": {},
239
- "sharedPropertyTypes": {
240
- "com.palantir.fooSpt": {
241
- "sharedPropertyType": {
242
- "aliases": [],
243
- "apiName": "com.palantir.fooSpt",
244
- "baseFormatter": undefined,
245
- "dataConstraints": undefined,
246
- "displayMetadata": {
247
- "description": undefined,
248
- "displayName": "fooSpt",
249
- "visibility": "NORMAL",
250
- },
251
- "gothamMapping": undefined,
252
- "indexedForSearch": true,
253
- "type": {
254
- "struct": {
255
- "structFields": [
256
- {
257
- "aliases": [],
258
- "apiName": "simpleProperty",
259
- "displayMetadata": {
260
- "description": undefined,
261
- "displayName": "simpleProperty",
262
- },
263
- "fieldType": {
264
- "boolean": {},
265
- "type": "boolean",
266
- },
267
- "typeClasses": [],
268
- },
269
- {
270
- "aliases": [],
271
- "apiName": "complexProperty",
272
- "displayMetadata": {
273
- "description": undefined,
274
- "displayName": "complex property",
275
- },
276
- "fieldType": {
277
- "date": {},
278
- "type": "date",
279
- },
280
- "typeClasses": [],
281
- },
282
- ],
283
- },
284
- "type": "struct",
285
- },
286
- "typeClasses": [],
287
- "valueType": undefined,
288
- },
270
+ {
271
+ "aliases": [],
272
+ "apiName": "complexProperty",
273
+ "displayMetadata": {
274
+ "description": undefined,
275
+ "displayName": "complex property",
276
+ },
277
+ "fieldType": {
278
+ "date": {},
279
+ "type": "date",
289
280
  },
281
+ "typeClasses": [],
290
282
  },
291
- }
292
- `);
283
+ ],
284
+ },
285
+ "type": "struct",
286
+ },
287
+ "typeClasses": [],
288
+ "valueType": undefined,
289
+ },
290
+ },
291
+ },
292
+ }
293
+ `);
293
294
  });
294
295
  it("Custom string fields properly set", () => {
295
296
  const spt = defineSharedPropertyType({
@@ -1 +1 @@
1
- {"version":3,"file":"spt.test.js","names":["beforeEach","describe","expect","it","defineInterface","defineOntology","dumpOntologyFullMetadata","defineSharedPropertyType","apiName","type","toThrowErrorMatchingInlineSnapshot","fooSpt","displayName","properties","icon","color","locator","ontology","toMatchInlineSnapshot","structDefinition","fieldType","displayMetadata","description","undefined","spt","isLongText","supportsEfficientLeadingWildcard","supportsExactMatching","foo","precision","scale","baseFormatter","number","base","maximumFractionDigits","aliases"],"sources":["spt.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { beforeEach, describe, expect, it } from \"vitest\";\nimport { defineInterface } from \"../defineInterface.js\";\nimport { defineOntology, dumpOntologyFullMetadata } from \"../defineOntology.js\";\nimport { defineSharedPropertyType } from \"../defineSpt.js\";\ndescribe(\"SPTs\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {}, \"/tmp/\");\n });\n\n it(\"doesn't let you create the same spt twice\", () => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n expect(() => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.foo already exists]`,\n );\n });\n\n it(\"uses a predefined spt\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: \"string\",\n });\n\n const FooInterface = defineInterface({\n apiName: \"FooInterface\",\n displayName: \"Foo Interface\",\n properties: {\n fooSpt,\n },\n icon: { color: \"#00000\", locator: \"airplane\" },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.FooInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.FooInterface\",\n \"displayMetadata\": {\n \"description\": \"Foo Interface\",\n \"displayName\": \"Foo Interface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#00000\",\n \"locator\": \"airplane\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.fooSpt\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"properly serializes both types of struct SPTs\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: {\n type: \"struct\",\n structDefinition: {\n \"simpleProperty\": \"boolean\",\n \"complexProperty\": {\n fieldType: \"date\",\n displayMetadata: {\n displayName: \"complex property\",\n description: undefined,\n },\n },\n },\n },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"typeClasses\": [],\n },\n {\n \"aliases\": [],\n \"apiName\": \"complexProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"complex property\",\n },\n \"fieldType\": {\n \"date\": {},\n \"type\": \"date\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"Custom string fields properly set\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: {\n type: \"string\",\n isLongText: true,\n supportsEfficientLeadingWildcard: true,\n supportsExactMatching: false,\n },\n });\n\n defineInterface({\n apiName: \"interface\",\n properties: { foo: spt },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.interface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.interface\",\n \"displayMetadata\": {\n \"description\": \"interface\",\n \"displayName\": \"interface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": true,\n \"supportsEfficientLeadingWildcard\": true,\n \"supportsExactMatching\": false,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {\n \"com.palantir.foo\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": true,\n \"supportsEfficientLeadingWildcard\": true,\n \"supportsExactMatching\": false,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": true,\n \"supportsEfficientLeadingWildcard\": true,\n \"supportsExactMatching\": false,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"Custom decimal fields properly set\", () => {\n const spt1 = defineSharedPropertyType({\n apiName: \"precision\",\n type: {\n type: \"decimal\",\n precision: 10,\n },\n });\n const spt2 = defineSharedPropertyType({\n apiName: \"scale\",\n type: {\n type: \"decimal\",\n scale: 5,\n },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.precision\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.precision\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"precision\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"decimal\": {\n \"precision\": 10,\n \"scale\": undefined,\n },\n \"type\": \"decimal\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.scale\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.scale\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"scale\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"decimal\": {\n \"precision\": undefined,\n \"scale\": 5,\n },\n \"type\": \"decimal\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n it(\"Number formatting works\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: \"double\",\n baseFormatter: {\n type: \"number\",\n number: {\n type: \"base\",\n base: {\n maximumFractionDigits: 1,\n },\n },\n },\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": {\n \"number\": {\n \"base\": {\n \"maximumFractionDigits\": 1,\n },\n \"type\": \"base\",\n },\n \"type\": \"number\",\n },\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"double\": {},\n \"type\": \"double\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n it(\"Aliases properly set\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: { type: \"string\" },\n aliases: [\"alias1\", \"alias2\"],\n });\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [\n \"alias1\",\n \"alias2\",\n ],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACzD,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,cAAc,EAAEC,wBAAwB,QAAQ,sBAAsB;AAC/E,SAASC,wBAAwB,QAAQ,iBAAiB;AAC1DN,QAAQ,CAAC,MAAM,EAAE,MAAM;EACrBD,UAAU,CAAC,YAAY;IACrB,MAAMK,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;EAC1D,CAAC,CAAC;EAEFF,EAAE,CAAC,2CAA2C,EAAE,MAAM;IACpDI,wBAAwB,CAAC;MACvBC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;IACR,CAAC,CAAC;IAEFP,MAAM,CAAC,MAAM;MACXK,wBAAwB,CAAC;QACvBC,OAAO,EAAE,KAAK;QACdC,IAAI,EAAE;MACR,CAAC,CAAC;IACJ,CAAC,CAAC,CAACC,kCAAkC,CACnC,iFACF,CAAC;EACH,CAAC,CAAC;EAEFP,EAAE,CAAC,uBAAuB,EAAE,MAAM;IAChC,MAAMQ,MAAM,GAAGJ,wBAAwB,CAAC;MACtCC,OAAO,EAAE,QAAQ;MACjBC,IAAI,EAAE;IACR,CAAC,CAAC;IAEmBL,eAAe,CAAC;MACnCI,OAAO,EAAE,cAAc;MACvBI,WAAW,EAAE,eAAe;MAC5BC,UAAU,EAAE;QACVF;MACF,CAAC;MACDG,IAAI,EAAE;QAAEC,KAAK,EAAE,QAAQ;QAAEC,OAAO,EAAE;MAAW;IAC/C,CAAC,CAAC;IAEFd,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFf,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACzCI,wBAAwB,CAAC;MACtCC,OAAO,EAAE,QAAQ;MACjBC,IAAI,EAAE;QACJA,IAAI,EAAE,QAAQ;QACdU,gBAAgB,EAAE;UAChB,gBAAgB,EAAE,SAAS;UAC3B,iBAAiB,EAAE;YACjBC,SAAS,EAAE,MAAM;YACjBC,eAAe,EAAE;cACfT,WAAW,EAAE,kBAAkB;cAC/BU,WAAW,EAAEC;YACf;UACF;QACF;MACF;IACF,CAAC,CAAC;IAEFrB,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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,WAAW,CAAC;EACV,CAAC,CAAC;EAEFf,EAAE,CAAC,mCAAmC,EAAE,MAAM;IAC5C,MAAMqB,GAAG,GAAGjB,wBAAwB,CAAC;MACnCC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;QACJA,IAAI,EAAE,QAAQ;QACdgB,UAAU,EAAE,IAAI;QAChBC,gCAAgC,EAAE,IAAI;QACtCC,qBAAqB,EAAE;MACzB;IACF,CAAC,CAAC;IAEFvB,eAAe,CAAC;MACdI,OAAO,EAAE,WAAW;MACpBK,UAAU,EAAE;QAAEe,GAAG,EAAEJ;MAAI;IACzB,CAAC,CAAC;IAEFtB,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFf,EAAE,CAAC,oCAAoC,EAAE,MAAM;IAChCI,wBAAwB,CAAC;MACpCC,OAAO,EAAE,WAAW;MACpBC,IAAI,EAAE;QACJA,IAAI,EAAE,SAAS;QACfoB,SAAS,EAAE;MACb;IACF,CAAC,CAAC;IACWtB,wBAAwB,CAAC;MACpCC,OAAO,EAAE,OAAO;MAChBC,IAAI,EAAE;QACJA,IAAI,EAAE,SAAS;QACfqB,KAAK,EAAE;MACT;IACF,CAAC,CAAC;IAEF5B,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EACFf,EAAE,CAAC,yBAAyB,EAAE,MAAM;IACtBI,wBAAwB,CAAC;MACnCC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,QAAQ;MACdsB,aAAa,EAAE;QACbtB,IAAI,EAAE,QAAQ;QACduB,MAAM,EAAE;UACNvB,IAAI,EAAE,MAAM;UACZwB,IAAI,EAAE;YACJC,qBAAqB,EAAE;UACzB;QACF;MACF;IACF,CAAC,CAAC;IACFhC,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAAC,CAACY,qBAAqB,CAAC;AAC7D;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;EACJ,CAAC,CAAC;EACFf,EAAE,CAAC,sBAAsB,EAAE,MAAM;IACnBI,wBAAwB,CAAC;MACnCC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;QAAEA,IAAI,EAAE;MAAS,CAAC;MACxB0B,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ;IAC9B,CAAC,CAAC;IACFjC,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"spt.test.js","names":["beforeEach","describe","expect","it","defineInterface","defineOntology","dumpOntologyFullMetadata","defineSharedPropertyType","apiName","type","toThrowErrorMatchingInlineSnapshot","fooSpt","displayName","properties","icon","color","locator","ontology","toMatchInlineSnapshot","structDefinition","fieldType","displayMetadata","description","undefined","spt","isLongText","supportsEfficientLeadingWildcard","supportsExactMatching","foo","precision","scale","baseFormatter","number","base","maximumFractionDigits","aliases"],"sources":["spt.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { beforeEach, describe, expect, it } from \"vitest\";\nimport { defineInterface } from \"../defineInterface.js\";\nimport { defineOntology, dumpOntologyFullMetadata } from \"../defineOntology.js\";\nimport { defineSharedPropertyType } from \"../defineSpt.js\";\ndescribe(\"SPTs\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {}, \"/tmp/\");\n });\n\n it(\"doesn't let you create the same spt twice\", () => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n expect(() => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.foo already exists]`,\n );\n });\n\n it(\"uses a predefined spt\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: \"string\",\n });\n\n const FooInterface = defineInterface({\n apiName: \"FooInterface\",\n displayName: \"Foo Interface\",\n properties: {\n fooSpt,\n },\n icon: { color: \"#00000\", locator: \"airplane\" },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.FooInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.FooInterface\",\n \"displayMetadata\": {\n \"description\": \"Foo Interface\",\n \"displayName\": \"Foo Interface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#00000\",\n \"locator\": \"airplane\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.fooSpt\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"properly serializes both types of struct SPTs\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: {\n type: \"struct\",\n structDefinition: {\n \"simpleProperty\": \"boolean\",\n \"complexProperty\": {\n fieldType: \"date\",\n displayMetadata: {\n displayName: \"complex property\",\n description: undefined,\n },\n },\n },\n },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"struct\": {\n \"mainValue\": undefined,\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"typeClasses\": [],\n },\n {\n \"aliases\": [],\n \"apiName\": \"complexProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"complex property\",\n },\n \"fieldType\": {\n \"date\": {},\n \"type\": \"date\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"Custom string fields properly set\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: {\n type: \"string\",\n isLongText: true,\n supportsEfficientLeadingWildcard: true,\n supportsExactMatching: false,\n },\n });\n\n defineInterface({\n apiName: \"interface\",\n properties: { foo: spt },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.interface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.interface\",\n \"displayMetadata\": {\n \"description\": \"interface\",\n \"displayName\": \"interface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": true,\n \"supportsEfficientLeadingWildcard\": true,\n \"supportsExactMatching\": false,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {\n \"com.palantir.foo\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": true,\n \"supportsEfficientLeadingWildcard\": true,\n \"supportsExactMatching\": false,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": true,\n \"supportsEfficientLeadingWildcard\": true,\n \"supportsExactMatching\": false,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"Custom decimal fields properly set\", () => {\n const spt1 = defineSharedPropertyType({\n apiName: \"precision\",\n type: {\n type: \"decimal\",\n precision: 10,\n },\n });\n const spt2 = defineSharedPropertyType({\n apiName: \"scale\",\n type: {\n type: \"decimal\",\n scale: 5,\n },\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.precision\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.precision\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"precision\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"decimal\": {\n \"precision\": 10,\n \"scale\": undefined,\n },\n \"type\": \"decimal\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.scale\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.scale\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"scale\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"decimal\": {\n \"precision\": undefined,\n \"scale\": 5,\n },\n \"type\": \"decimal\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n it(\"Number formatting works\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: \"double\",\n baseFormatter: {\n type: \"number\",\n number: {\n type: \"base\",\n base: {\n maximumFractionDigits: 1,\n },\n },\n },\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": {\n \"number\": {\n \"base\": {\n \"maximumFractionDigits\": 1,\n },\n \"type\": \"base\",\n },\n \"type\": \"number\",\n },\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"double\": {},\n \"type\": \"double\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n it(\"Aliases properly set\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: { type: \"string\" },\n aliases: [\"alias1\", \"alias2\"],\n });\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [\n \"alias1\",\n \"alias2\",\n ],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n \"supportsFullTextRegex\": undefined,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACzD,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,cAAc,EAAEC,wBAAwB,QAAQ,sBAAsB;AAC/E,SAASC,wBAAwB,QAAQ,iBAAiB;AAC1DN,QAAQ,CAAC,MAAM,EAAE,MAAM;EACrBD,UAAU,CAAC,YAAY;IACrB,MAAMK,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;EAC1D,CAAC,CAAC;EAEFF,EAAE,CAAC,2CAA2C,EAAE,MAAM;IACpDI,wBAAwB,CAAC;MACvBC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;IACR,CAAC,CAAC;IAEFP,MAAM,CAAC,MAAM;MACXK,wBAAwB,CAAC;QACvBC,OAAO,EAAE,KAAK;QACdC,IAAI,EAAE;MACR,CAAC,CAAC;IACJ,CAAC,CAAC,CAACC,kCAAkC,CACnC,iFACF,CAAC;EACH,CAAC,CAAC;EAEFP,EAAE,CAAC,uBAAuB,EAAE,MAAM;IAChC,MAAMQ,MAAM,GAAGJ,wBAAwB,CAAC;MACtCC,OAAO,EAAE,QAAQ;MACjBC,IAAI,EAAE;IACR,CAAC,CAAC;IAEmBL,eAAe,CAAC;MACnCI,OAAO,EAAE,cAAc;MACvBI,WAAW,EAAE,eAAe;MAC5BC,UAAU,EAAE;QACVF;MACF,CAAC;MACDG,IAAI,EAAE;QAAEC,KAAK,EAAE,QAAQ;QAAEC,OAAO,EAAE;MAAW;IAC/C,CAAC,CAAC;IAEFd,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFf,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACzCI,wBAAwB,CAAC;MACtCC,OAAO,EAAE,QAAQ;MACjBC,IAAI,EAAE;QACJA,IAAI,EAAE,QAAQ;QACdU,gBAAgB,EAAE;UAChB,gBAAgB,EAAE,SAAS;UAC3B,iBAAiB,EAAE;YACjBC,SAAS,EAAE,MAAM;YACjBC,eAAe,EAAE;cACfT,WAAW,EAAE,kBAAkB;cAC/BU,WAAW,EAAEC;YACf;UACF;QACF;MACF;IACF,CAAC,CAAC;IAEFrB,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;EACJ,CAAC,CAAC;EAEFf,EAAE,CAAC,mCAAmC,EAAE,MAAM;IAC5C,MAAMqB,GAAG,GAAGjB,wBAAwB,CAAC;MACnCC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;QACJA,IAAI,EAAE,QAAQ;QACdgB,UAAU,EAAE,IAAI;QAChBC,gCAAgC,EAAE,IAAI;QACtCC,qBAAqB,EAAE;MACzB;IACF,CAAC,CAAC;IAEFvB,eAAe,CAAC;MACdI,OAAO,EAAE,WAAW;MACpBK,UAAU,EAAE;QAAEe,GAAG,EAAEJ;MAAI;IACzB,CAAC,CAAC;IAEFtB,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFf,EAAE,CAAC,oCAAoC,EAAE,MAAM;IAChCI,wBAAwB,CAAC;MACpCC,OAAO,EAAE,WAAW;MACpBC,IAAI,EAAE;QACJA,IAAI,EAAE,SAAS;QACfoB,SAAS,EAAE;MACb;IACF,CAAC,CAAC;IACWtB,wBAAwB,CAAC;MACpCC,OAAO,EAAE,OAAO;MAChBC,IAAI,EAAE;QACJA,IAAI,EAAE,SAAS;QACfqB,KAAK,EAAE;MACT;IACF,CAAC,CAAC;IAEF5B,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EACFf,EAAE,CAAC,yBAAyB,EAAE,MAAM;IACtBI,wBAAwB,CAAC;MACnCC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,QAAQ;MACdsB,aAAa,EAAE;QACbtB,IAAI,EAAE,QAAQ;QACduB,MAAM,EAAE;UACNvB,IAAI,EAAE,MAAM;UACZwB,IAAI,EAAE;YACJC,qBAAqB,EAAE;UACzB;QACF;MACF;IACF,CAAC,CAAC;IACFhC,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAAC,CAACY,qBAAqB,CAAC;AAC7D;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;EACJ,CAAC,CAAC;EACFf,EAAE,CAAC,sBAAsB,EAAE,MAAM;IACnBI,wBAAwB,CAAC;MACnCC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;QAAEA,IAAI,EAAE;MAAS,CAAC;MACxB0B,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ;IAC9B,CAAC,CAAC;IACFjC,MAAM,CAACI,wBAAwB,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACtE;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;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -24,7 +24,7 @@ import { defineOntology } from "../api/defineOntology.js";
24
24
  const apiNamespaceRegex = /^[a-z0-9-]+(\.[a-z0-9-]+)*\.$/;
25
25
  const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
26
26
  export default async function main(args = process.argv) {
27
- const commandLineOpts = await yargs(hideBin(args)).version("0.16.0-beta.2" ?? "").wrap(Math.min(150, yargs().terminalWidth())).strict().help().options({
27
+ const commandLineOpts = await yargs(hideBin(args)).version("0.16.0-beta.4" ?? "").wrap(Math.min(150, yargs().terminalWidth())).strict().help().options({
28
28
  input: {
29
29
  alias: "i",
30
30
  describe: "Input file",
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright 2026 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { isStruct } from "../../api/properties/PropertyTypeType.js";
18
+ import { propertyTypeTypeToOntologyIrType } from "./propertyTypeTypeToOntologyIrType.js";
19
+ export function convertMainValue(type, apiName, sharedPropertyType) {
20
+ if (sharedPropertyType && isStruct(sharedPropertyType.type) && sharedPropertyType.type.mainValue) {
21
+ return {
22
+ fieldApiNames: Array.isArray(sharedPropertyType.type.mainValue.fields) ? sharedPropertyType.type.mainValue.fields : [sharedPropertyType.type.mainValue.fields],
23
+ structApiName: sharedPropertyType.apiName,
24
+ type: propertyTypeTypeToOntologyIrType(sharedPropertyType.type.mainValue.type)
25
+ };
26
+ }
27
+ if (isStruct(type) && type.mainValue) {
28
+ return {
29
+ fieldApiNames: Array.isArray(type.mainValue.fields) ? type.mainValue.fields : [type.mainValue.fields],
30
+ structApiName: apiName,
31
+ type: propertyTypeTypeToOntologyIrType(type.mainValue.type)
32
+ };
33
+ }
34
+ return undefined;
35
+ }
36
+ //# sourceMappingURL=convertMainValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertMainValue.js","names":["isStruct","propertyTypeTypeToOntologyIrType","convertMainValue","type","apiName","sharedPropertyType","mainValue","fieldApiNames","Array","isArray","fields","structApiName","undefined"],"sources":["convertMainValue.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OntologyIrStructMainValue } from \"@osdk/client.unstable\";\nimport {\n isStruct,\n type PropertyTypeType,\n} from \"../../api/properties/PropertyTypeType.js\";\nimport type { SharedPropertyType } from \"../../api/properties/SharedPropertyType.js\";\nimport { propertyTypeTypeToOntologyIrType } from \"./propertyTypeTypeToOntologyIrType.js\";\n\nexport function convertMainValue(\n type: PropertyTypeType,\n apiName?: string,\n sharedPropertyType?: SharedPropertyType,\n): OntologyIrStructMainValue | undefined {\n if (\n sharedPropertyType && isStruct(sharedPropertyType.type)\n && sharedPropertyType.type.mainValue\n ) {\n return {\n fieldApiNames: Array.isArray(sharedPropertyType.type.mainValue.fields)\n ? sharedPropertyType.type.mainValue.fields\n : [sharedPropertyType.type.mainValue.fields],\n structApiName: sharedPropertyType.apiName,\n type: propertyTypeTypeToOntologyIrType(\n sharedPropertyType.type.mainValue.type,\n ),\n };\n }\n if (isStruct(type) && type.mainValue) {\n return {\n fieldApiNames: Array.isArray(type.mainValue.fields)\n ? type.mainValue.fields\n : [type.mainValue.fields],\n structApiName: apiName!,\n type: propertyTypeTypeToOntologyIrType(type.mainValue.type),\n };\n }\n\n return undefined;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SACEA,QAAQ,QAEH,0CAA0C;AAEjD,SAASC,gCAAgC,QAAQ,uCAAuC;AAExF,OAAO,SAASC,gBAAgBA,CAC9BC,IAAsB,EACtBC,OAAgB,EAChBC,kBAAuC,EACA;EACvC,IACEA,kBAAkB,IAAIL,QAAQ,CAACK,kBAAkB,CAACF,IAAI,CAAC,IACpDE,kBAAkB,CAACF,IAAI,CAACG,SAAS,EACpC;IACA,OAAO;MACLC,aAAa,EAAEC,KAAK,CAACC,OAAO,CAACJ,kBAAkB,CAACF,IAAI,CAACG,SAAS,CAACI,MAAM,CAAC,GAClEL,kBAAkB,CAACF,IAAI,CAACG,SAAS,CAACI,MAAM,GACxC,CAACL,kBAAkB,CAACF,IAAI,CAACG,SAAS,CAACI,MAAM,CAAC;MAC9CC,aAAa,EAAEN,kBAAkB,CAACD,OAAO;MACzCD,IAAI,EAAEF,gCAAgC,CACpCI,kBAAkB,CAACF,IAAI,CAACG,SAAS,CAACH,IACpC;IACF,CAAC;EACH;EACA,IAAIH,QAAQ,CAACG,IAAI,CAAC,IAAIA,IAAI,CAACG,SAAS,EAAE;IACpC,OAAO;MACLC,aAAa,EAAEC,KAAK,CAACC,OAAO,CAACN,IAAI,CAACG,SAAS,CAACI,MAAM,CAAC,GAC/CP,IAAI,CAACG,SAAS,CAACI,MAAM,GACrB,CAACP,IAAI,CAACG,SAAS,CAACI,MAAM,CAAC;MAC3BC,aAAa,EAAEP,OAAQ;MACvBD,IAAI,EAAEF,gCAAgC,CAACE,IAAI,CAACG,SAAS,CAACH,IAAI;IAC5D,CAAC;EACH;EAEA,OAAOS,SAAS;AAClB","ignoreList":[]}
@@ -18,6 +18,7 @@ import invariant from "tiny-invariant";
18
18
  import { convertObjectStatus, namespace } from "../../api/defineOntology.js";
19
19
  import { defaultTypeClasses, getPropertyTypeName, hasRenderHints, shouldBeIndexedForSearch, shouldNotHaveRenderHints } from "../../api/propertyConversionUtils.js";
20
20
  import { convertNullabilityToDataConstraint } from "./convertNullabilityToDataConstraint.js";
21
+ import { convertReducers } from "./convertReducers.js";
21
22
  import { convertValueType } from "./convertValueType.js";
22
23
  import { convertValueTypeDataConstraints } from "./convertValueTypeDataConstraints.js";
23
24
  import { propertyTypeTypeToOntologyIrType } from "./propertyTypeTypeToOntologyIrType.js";
@@ -38,10 +39,10 @@ export function convertObjectPropertyType(property) {
38
39
  type: property.array ? {
39
40
  type: "array",
40
41
  array: {
41
- subtype: propertyTypeTypeToOntologyIrType(property.type),
42
- reducers: []
42
+ subtype: propertyTypeTypeToOntologyIrType(property.type, property.apiName, property.sharedPropertyType),
43
+ reducers: convertReducers(property.type, property.apiName, property.reducers ?? [], property.sharedPropertyType)
43
44
  }
44
- } : propertyTypeTypeToOntologyIrType(property.type),
45
+ } : propertyTypeTypeToOntologyIrType(property.type, property.apiName),
45
46
  typeClasses: property.typeClasses ?? (shouldNotHaveRenderHints(property.type) ? [] : defaultTypeClasses),
46
47
  status: convertObjectStatus(property.status),
47
48
  inlineAction: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"convertObjectPropertyType.js","names":["invariant","convertObjectStatus","namespace","defaultTypeClasses","getPropertyTypeName","hasRenderHints","shouldBeIndexedForSearch","shouldNotHaveRenderHints","convertNullabilityToDataConstraint","convertValueType","convertValueTypeDataConstraints","propertyTypeTypeToOntologyIrType","convertObjectPropertyType","property","apiName","type","typeClasses","process","env","NODE_ENV","output","sharedPropertyTypeApiName","sharedPropertyType","displayMetadata","displayName","description","visibility","indexedForSearch","ruleSetBinding","undefined","baseFormatter","array","subtype","reducers","status","inlineAction","dataConstraints","valueType","constraints","sharedPropertyTypeRid"],"sources":["convertObjectPropertyType.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OntologyIrPropertyType } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { convertObjectStatus, namespace } from \"../../api/defineOntology.js\";\nimport type { ObjectPropertyType } from \"../../api/object/ObjectPropertyType.js\";\nimport {\n defaultTypeClasses,\n getPropertyTypeName,\n hasRenderHints,\n shouldBeIndexedForSearch,\n shouldNotHaveRenderHints,\n} from \"../../api/propertyConversionUtils.js\";\nimport { convertNullabilityToDataConstraint } from \"./convertNullabilityToDataConstraint.js\";\nimport { convertValueType } from \"./convertValueType.js\";\nimport { convertValueTypeDataConstraints } from \"./convertValueTypeDataConstraints.js\";\nimport { propertyTypeTypeToOntologyIrType } from \"./propertyTypeTypeToOntologyIrType.js\";\n\nexport function convertObjectPropertyType(\n property: ObjectPropertyType,\n): OntologyIrPropertyType {\n const apiName = namespace + property.apiName;\n invariant(\n !shouldNotHaveRenderHints(property.type)\n || !hasRenderHints(property.typeClasses),\n `Property type ${apiName} of type '${\n getPropertyTypeName(property.type)\n }' should not have render hints`,\n );\n const output: OntologyIrPropertyType = {\n apiName: property.apiName,\n sharedPropertyTypeApiName: property.sharedPropertyType?.apiName,\n displayMetadata: {\n displayName: property.displayName,\n description: property.description,\n visibility: property.visibility ?? \"NORMAL\",\n },\n indexedForSearch: property.indexedForSearch\n ?? shouldBeIndexedForSearch(property.type),\n ruleSetBinding: undefined,\n baseFormatter: property.baseFormatter,\n type: property.array\n ? {\n type: \"array\" as const,\n array: {\n subtype: propertyTypeTypeToOntologyIrType(property.type),\n reducers: [],\n },\n }\n : propertyTypeTypeToOntologyIrType(property.type),\n typeClasses: property.typeClasses\n ?? (shouldNotHaveRenderHints(property.type) ? [] : defaultTypeClasses),\n status: convertObjectStatus(property.status),\n inlineAction: undefined,\n dataConstraints: property.valueType\n ? convertValueTypeDataConstraints(property.valueType.constraints)\n : convertNullabilityToDataConstraint(property),\n sharedPropertyTypeRid: property.sharedPropertyType?.apiName,\n valueType: property.valueType\n ? convertValueType(property.valueType)\n : undefined,\n };\n return output;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SAASC,mBAAmB,EAAEC,SAAS,QAAQ,6BAA6B;AAE5E,SACEC,kBAAkB,EAClBC,mBAAmB,EACnBC,cAAc,EACdC,wBAAwB,EACxBC,wBAAwB,QACnB,sCAAsC;AAC7C,SAASC,kCAAkC,QAAQ,yCAAyC;AAC5F,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,+BAA+B,QAAQ,sCAAsC;AACtF,SAASC,gCAAgC,QAAQ,uCAAuC;AAExF,OAAO,SAASC,yBAAyBA,CACvCC,QAA4B,EACJ;EACxB,MAAMC,OAAO,GAAGZ,SAAS,GAAGW,QAAQ,CAACC,OAAO;EAC5C,EACE,CAACP,wBAAwB,CAACM,QAAQ,CAACE,IAAI,CAAC,IACnC,CAACV,cAAc,CAACQ,QAAQ,CAACG,WAAW,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAF5CnB,SAAS,QAGP,iBAAiBc,OAAO,aACtBV,mBAAmB,CAACS,QAAQ,CAACE,IAAI,CAAC,gCACJ,IALlCf,SAAS;EAOT,MAAMoB,MAA8B,GAAG;IACrCN,OAAO,EAAED,QAAQ,CAACC,OAAO;IACzBO,yBAAyB,EAAER,QAAQ,CAACS,kBAAkB,EAAER,OAAO;IAC/DS,eAAe,EAAE;MACfC,WAAW,EAAEX,QAAQ,CAACW,WAAW;MACjCC,WAAW,EAAEZ,QAAQ,CAACY,WAAW;MACjCC,UAAU,EAAEb,QAAQ,CAACa,UAAU,IAAI;IACrC,CAAC;IACDC,gBAAgB,EAAEd,QAAQ,CAACc,gBAAgB,IACtCrB,wBAAwB,CAACO,QAAQ,CAACE,IAAI,CAAC;IAC5Ca,cAAc,EAAEC,SAAS;IACzBC,aAAa,EAAEjB,QAAQ,CAACiB,aAAa;IACrCf,IAAI,EAAEF,QAAQ,CAACkB,KAAK,GAChB;MACAhB,IAAI,EAAE,OAAgB;MACtBgB,KAAK,EAAE;QACLC,OAAO,EAAErB,gCAAgC,CAACE,QAAQ,CAACE,IAAI,CAAC;QACxDkB,QAAQ,EAAE;MACZ;IACF,CAAC,GACCtB,gCAAgC,CAACE,QAAQ,CAACE,IAAI,CAAC;IACnDC,WAAW,EAAEH,QAAQ,CAACG,WAAW,KAC3BT,wBAAwB,CAACM,QAAQ,CAACE,IAAI,CAAC,GAAG,EAAE,GAAGZ,kBAAkB,CAAC;IACxE+B,MAAM,EAAEjC,mBAAmB,CAACY,QAAQ,CAACqB,MAAM,CAAC;IAC5CC,YAAY,EAAEN,SAAS;IACvBO,eAAe,EAAEvB,QAAQ,CAACwB,SAAS,GAC/B3B,+BAA+B,CAACG,QAAQ,CAACwB,SAAS,CAACC,WAAW,CAAC,GAC/D9B,kCAAkC,CAACK,QAAQ,CAAC;IAChD0B,qBAAqB,EAAE1B,QAAQ,CAACS,kBAAkB,EAAER,OAAO;IAC3DuB,SAAS,EAAExB,QAAQ,CAACwB,SAAS,GACzB5B,gBAAgB,CAACI,QAAQ,CAACwB,SAAS,CAAC,GACpCR;EACN,CAAC;EACD,OAAOT,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"file":"convertObjectPropertyType.js","names":["invariant","convertObjectStatus","namespace","defaultTypeClasses","getPropertyTypeName","hasRenderHints","shouldBeIndexedForSearch","shouldNotHaveRenderHints","convertNullabilityToDataConstraint","convertReducers","convertValueType","convertValueTypeDataConstraints","propertyTypeTypeToOntologyIrType","convertObjectPropertyType","property","apiName","type","typeClasses","process","env","NODE_ENV","output","sharedPropertyTypeApiName","sharedPropertyType","displayMetadata","displayName","description","visibility","indexedForSearch","ruleSetBinding","undefined","baseFormatter","array","subtype","reducers","status","inlineAction","dataConstraints","valueType","constraints","sharedPropertyTypeRid"],"sources":["convertObjectPropertyType.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OntologyIrPropertyType } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { convertObjectStatus, namespace } from \"../../api/defineOntology.js\";\nimport type { ObjectPropertyType } from \"../../api/object/ObjectPropertyType.js\";\nimport {\n defaultTypeClasses,\n getPropertyTypeName,\n hasRenderHints,\n shouldBeIndexedForSearch,\n shouldNotHaveRenderHints,\n} from \"../../api/propertyConversionUtils.js\";\nimport { convertNullabilityToDataConstraint } from \"./convertNullabilityToDataConstraint.js\";\nimport { convertReducers } from \"./convertReducers.js\";\nimport { convertValueType } from \"./convertValueType.js\";\nimport { convertValueTypeDataConstraints } from \"./convertValueTypeDataConstraints.js\";\nimport { propertyTypeTypeToOntologyIrType } from \"./propertyTypeTypeToOntologyIrType.js\";\n\nexport function convertObjectPropertyType(\n property: ObjectPropertyType,\n): OntologyIrPropertyType {\n const apiName = namespace + property.apiName;\n invariant(\n !shouldNotHaveRenderHints(property.type)\n || !hasRenderHints(property.typeClasses),\n `Property type ${apiName} of type '${\n getPropertyTypeName(property.type)\n }' should not have render hints`,\n );\n const output: OntologyIrPropertyType = {\n apiName: property.apiName,\n sharedPropertyTypeApiName: property.sharedPropertyType?.apiName,\n displayMetadata: {\n displayName: property.displayName,\n description: property.description,\n visibility: property.visibility ?? \"NORMAL\",\n },\n indexedForSearch: property.indexedForSearch\n ?? shouldBeIndexedForSearch(property.type),\n ruleSetBinding: undefined,\n baseFormatter: property.baseFormatter,\n type: property.array\n ? {\n type: \"array\" as const,\n array: {\n subtype: propertyTypeTypeToOntologyIrType(\n property.type,\n property.apiName,\n property.sharedPropertyType,\n ),\n reducers: convertReducers(\n property.type,\n property.apiName,\n property.reducers ?? [],\n property.sharedPropertyType,\n ),\n },\n }\n : propertyTypeTypeToOntologyIrType(property.type, property.apiName),\n typeClasses: property.typeClasses\n ?? (shouldNotHaveRenderHints(property.type) ? [] : defaultTypeClasses),\n status: convertObjectStatus(property.status),\n inlineAction: undefined,\n dataConstraints: property.valueType\n ? convertValueTypeDataConstraints(property.valueType.constraints)\n : convertNullabilityToDataConstraint(property),\n sharedPropertyTypeRid: property.sharedPropertyType?.apiName,\n valueType: property.valueType\n ? convertValueType(property.valueType)\n : undefined,\n };\n return output;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SAASC,mBAAmB,EAAEC,SAAS,QAAQ,6BAA6B;AAE5E,SACEC,kBAAkB,EAClBC,mBAAmB,EACnBC,cAAc,EACdC,wBAAwB,EACxBC,wBAAwB,QACnB,sCAAsC;AAC7C,SAASC,kCAAkC,QAAQ,yCAAyC;AAC5F,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,+BAA+B,QAAQ,sCAAsC;AACtF,SAASC,gCAAgC,QAAQ,uCAAuC;AAExF,OAAO,SAASC,yBAAyBA,CACvCC,QAA4B,EACJ;EACxB,MAAMC,OAAO,GAAGb,SAAS,GAAGY,QAAQ,CAACC,OAAO;EAC5C,EACE,CAACR,wBAAwB,CAACO,QAAQ,CAACE,IAAI,CAAC,IACnC,CAACX,cAAc,CAACS,QAAQ,CAACG,WAAW,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAF5CpB,SAAS,QAGP,iBAAiBe,OAAO,aACtBX,mBAAmB,CAACU,QAAQ,CAACE,IAAI,CAAC,gCACJ,IALlChB,SAAS;EAOT,MAAMqB,MAA8B,GAAG;IACrCN,OAAO,EAAED,QAAQ,CAACC,OAAO;IACzBO,yBAAyB,EAAER,QAAQ,CAACS,kBAAkB,EAAER,OAAO;IAC/DS,eAAe,EAAE;MACfC,WAAW,EAAEX,QAAQ,CAACW,WAAW;MACjCC,WAAW,EAAEZ,QAAQ,CAACY,WAAW;MACjCC,UAAU,EAAEb,QAAQ,CAACa,UAAU,IAAI;IACrC,CAAC;IACDC,gBAAgB,EAAEd,QAAQ,CAACc,gBAAgB,IACtCtB,wBAAwB,CAACQ,QAAQ,CAACE,IAAI,CAAC;IAC5Ca,cAAc,EAAEC,SAAS;IACzBC,aAAa,EAAEjB,QAAQ,CAACiB,aAAa;IACrCf,IAAI,EAAEF,QAAQ,CAACkB,KAAK,GAChB;MACAhB,IAAI,EAAE,OAAgB;MACtBgB,KAAK,EAAE;QACLC,OAAO,EAAErB,gCAAgC,CACvCE,QAAQ,CAACE,IAAI,EACbF,QAAQ,CAACC,OAAO,EAChBD,QAAQ,CAACS,kBACX,CAAC;QACDW,QAAQ,EAAEzB,eAAe,CACvBK,QAAQ,CAACE,IAAI,EACbF,QAAQ,CAACC,OAAO,EAChBD,QAAQ,CAACoB,QAAQ,IAAI,EAAE,EACvBpB,QAAQ,CAACS,kBACX;MACF;IACF,CAAC,GACCX,gCAAgC,CAACE,QAAQ,CAACE,IAAI,EAAEF,QAAQ,CAACC,OAAO,CAAC;IACrEE,WAAW,EAAEH,QAAQ,CAACG,WAAW,KAC3BV,wBAAwB,CAACO,QAAQ,CAACE,IAAI,CAAC,GAAG,EAAE,GAAGb,kBAAkB,CAAC;IACxEgC,MAAM,EAAElC,mBAAmB,CAACa,QAAQ,CAACqB,MAAM,CAAC;IAC5CC,YAAY,EAAEN,SAAS;IACvBO,eAAe,EAAEvB,QAAQ,CAACwB,SAAS,GAC/B3B,+BAA+B,CAACG,QAAQ,CAACwB,SAAS,CAACC,WAAW,CAAC,GAC/D/B,kCAAkC,CAACM,QAAQ,CAAC;IAChD0B,qBAAqB,EAAE1B,QAAQ,CAACS,kBAAkB,EAAER,OAAO;IAC3DuB,SAAS,EAAExB,QAAQ,CAACwB,SAAS,GACzB5B,gBAAgB,CAACI,QAAQ,CAACwB,SAAS,CAAC,GACpCR;EACN,CAAC;EACD,OAAOT,MAAM;AACf","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Copyright 2026 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import invariant from "tiny-invariant";
18
+ import { isStruct } from "../../api/properties/PropertyTypeType.js";
19
+ export function convertReducers(type, apiName, reducers, sharedPropertyType) {
20
+ reducers?.forEach(reducer => {
21
+ if (reducer.structField) {
22
+ !(isStruct(type) && Object.keys(type.structDefinition).includes(reducer.structField)) ? process.env.NODE_ENV !== "production" ? invariant(false, `Reducer structField ${reducer.structField} does not exist in struct definition`) : invariant(false) : void 0;
23
+ }
24
+ });
25
+ if (sharedPropertyType) {
26
+ return mapReducers(sharedPropertyType.apiName, sharedPropertyType.reducers);
27
+ } else {
28
+ return mapReducers(apiName, reducers);
29
+ }
30
+ }
31
+ export function mapReducers(apiName, reducers) {
32
+ return reducers?.map(reducer => {
33
+ switch (reducer.direction) {
34
+ case "ascending":
35
+ return {
36
+ direction: "ASCENDING_NULLS_LAST",
37
+ structApiName: reducer.structField ? apiName : undefined,
38
+ fieldApiName: reducer.structField
39
+ };
40
+ case "descending":
41
+ return {
42
+ direction: "DESCENDING_NULLS_LAST",
43
+ structApiName: reducer.structField ? apiName : undefined,
44
+ fieldApiName: reducer.structField
45
+ };
46
+ default:
47
+ {
48
+ throw new Error(`Unsupported reducer direction: ${reducer.direction}`);
49
+ }
50
+ }
51
+ }) ?? [];
52
+ }
53
+ //# sourceMappingURL=convertReducers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertReducers.js","names":["invariant","isStruct","convertReducers","type","apiName","reducers","sharedPropertyType","forEach","reducer","structField","Object","keys","structDefinition","includes","process","env","NODE_ENV","mapReducers","map","direction","structApiName","undefined","fieldApiName","Error"],"sources":["convertReducers.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OntologyIrArrayPropertyTypeReducer } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport type {\n PropertyTypeType,\n} from \"../../api/properties/PropertyTypeType.js\";\nimport { isStruct } from \"../../api/properties/PropertyTypeType.js\";\nimport type { ReducerType } from \"../../api/properties/ReducerType.js\";\nimport type { SharedPropertyType } from \"../../api/properties/SharedPropertyType.js\";\n\nexport function convertReducers(\n type: PropertyTypeType,\n apiName: string,\n reducers?: Array<ReducerType>,\n sharedPropertyType?: SharedPropertyType,\n): Array<OntologyIrArrayPropertyTypeReducer> {\n reducers?.forEach(reducer => {\n if (reducer.structField) {\n invariant(\n isStruct(type)\n && Object.keys(type.structDefinition).includes(reducer.structField),\n `Reducer structField ${reducer.structField} does not exist in struct definition`,\n );\n }\n });\n if (sharedPropertyType) {\n return mapReducers(sharedPropertyType.apiName, sharedPropertyType.reducers);\n } else {\n return mapReducers(apiName, reducers);\n }\n}\n\nexport function mapReducers(\n apiName: string,\n reducers?: Array<ReducerType>,\n): Array<OntologyIrArrayPropertyTypeReducer> {\n return reducers?.map(reducer => {\n switch (reducer.direction) {\n case \"ascending\":\n return {\n direction: \"ASCENDING_NULLS_LAST\",\n structApiName: reducer.structField ? apiName : undefined,\n fieldApiName: reducer.structField,\n };\n case \"descending\":\n return {\n direction: \"DESCENDING_NULLS_LAST\",\n structApiName: reducer.structField ? apiName : undefined,\n fieldApiName: reducer.structField,\n };\n default: {\n throw new Error(`Unsupported reducer direction: ${reducer.direction}`);\n }\n }\n }) ?? [];\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,SAAS,MAAM,gBAAgB;AAItC,SAASC,QAAQ,QAAQ,0CAA0C;AAInE,OAAO,SAASC,eAAeA,CAC7BC,IAAsB,EACtBC,OAAe,EACfC,QAA6B,EAC7BC,kBAAuC,EACI;EAC3CD,QAAQ,EAAEE,OAAO,CAACC,OAAO,IAAI;IAC3B,IAAIA,OAAO,CAACC,WAAW,EAAE;MACvB,EACER,QAAQ,CAACE,IAAI,CAAC,IACTO,MAAM,CAACC,IAAI,CAACR,IAAI,CAACS,gBAAgB,CAAC,CAACC,QAAQ,CAACL,OAAO,CAACC,WAAW,CAAC,IAAAK,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAFvEhB,SAAS,QAGP,uBAAuBQ,OAAO,CAACC,WAAW,sCAAsC,IAHlFT,SAAS;IAKX;EACF,CAAC,CAAC;EACF,IAAIM,kBAAkB,EAAE;IACtB,OAAOW,WAAW,CAACX,kBAAkB,CAACF,OAAO,EAAEE,kBAAkB,CAACD,QAAQ,CAAC;EAC7E,CAAC,MAAM;IACL,OAAOY,WAAW,CAACb,OAAO,EAAEC,QAAQ,CAAC;EACvC;AACF;AAEA,OAAO,SAASY,WAAWA,CACzBb,OAAe,EACfC,QAA6B,EACc;EAC3C,OAAOA,QAAQ,EAAEa,GAAG,CAACV,OAAO,IAAI;IAC9B,QAAQA,OAAO,CAACW,SAAS;MACvB,KAAK,WAAW;QACd,OAAO;UACLA,SAAS,EAAE,sBAAsB;UACjCC,aAAa,EAAEZ,OAAO,CAACC,WAAW,GAAGL,OAAO,GAAGiB,SAAS;UACxDC,YAAY,EAAEd,OAAO,CAACC;QACxB,CAAC;MACH,KAAK,YAAY;QACf,OAAO;UACLU,SAAS,EAAE,uBAAuB;UAClCC,aAAa,EAAEZ,OAAO,CAACC,WAAW,GAAGL,OAAO,GAAGiB,SAAS;UACxDC,YAAY,EAAEd,OAAO,CAACC;QACxB,CAAC;MACH;QAAS;UACP,MAAM,IAAIc,KAAK,CAAC,kCAAkCf,OAAO,CAACW,SAAS,EAAE,CAAC;QACxE;IACF;EACF,CAAC,CAAC,IAAI,EAAE;AACV","ignoreList":[]}
@@ -15,10 +15,12 @@
15
15
  */
16
16
 
17
17
  import { convertNullabilityToDataConstraint } from "./convertNullabilityToDataConstraint.js";
18
+ import { convertReducers } from "./convertReducers.js";
18
19
  import { propertyTypeTypeToOntologyIrType } from "./propertyTypeTypeToOntologyIrType.js";
19
20
  export function convertSpt({
20
21
  type,
21
22
  array,
23
+ reducers,
22
24
  description,
23
25
  apiName,
24
26
  displayName,
@@ -44,10 +46,10 @@ export function convertSpt({
44
46
  type: array ? {
45
47
  type: "array",
46
48
  array: {
47
- subtype: propertyTypeTypeToOntologyIrType(type),
48
- reducers: []
49
+ subtype: propertyTypeTypeToOntologyIrType(type, apiName),
50
+ reducers: convertReducers(type, apiName, reducers)
49
51
  }
50
- } : propertyTypeTypeToOntologyIrType(type),
52
+ } : propertyTypeTypeToOntologyIrType(type, apiName),
51
53
  aliases: aliases ?? [],
52
54
  baseFormatter,
53
55
  dataConstraints: dataConstraint,
@@ -1 +1 @@
1
- {"version":3,"file":"convertSpt.js","names":["convertNullabilityToDataConstraint","propertyTypeTypeToOntologyIrType","convertSpt","type","array","description","apiName","displayName","visibility","gothamMapping","typeClasses","aliases","valueType","nullability","baseFormatter","dataConstraint","displayMetadata","subtype","reducers","dataConstraints","indexedForSearch","undefined","version","packageNamespace"],"sources":["convertSpt.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OntologyIrSharedPropertyType } from \"@osdk/client.unstable\";\nimport type { SharedPropertyType } from \"../../api/properties/SharedPropertyType.js\";\nimport { convertNullabilityToDataConstraint } from \"./convertNullabilityToDataConstraint.js\";\nimport { propertyTypeTypeToOntologyIrType } from \"./propertyTypeTypeToOntologyIrType.js\";\n\nexport function convertSpt(\n {\n type,\n array,\n description,\n apiName,\n displayName,\n visibility,\n gothamMapping,\n typeClasses,\n aliases,\n valueType,\n nullability,\n baseFormatter,\n }: SharedPropertyType,\n): OntologyIrSharedPropertyType {\n const dataConstraint:\n | OntologyIrSharedPropertyType[\"dataConstraints\"]\n | undefined = convertNullabilityToDataConstraint({ type, nullability });\n return {\n apiName,\n displayMetadata: {\n displayName: displayName ?? apiName,\n visibility: visibility ?? \"NORMAL\",\n description,\n },\n type: array\n ? {\n type: \"array\" as const,\n array: {\n subtype: propertyTypeTypeToOntologyIrType(type),\n reducers: [],\n },\n }\n : propertyTypeTypeToOntologyIrType(type),\n aliases: aliases ?? [],\n baseFormatter,\n dataConstraints: dataConstraint,\n gothamMapping: gothamMapping,\n indexedForSearch: true,\n typeClasses: typeClasses ?? [],\n valueType: valueType === undefined ? undefined : {\n apiName: valueType.apiName,\n version: valueType.version,\n packageNamespace: valueType.packageNamespace,\n displayMetadata: valueType.displayMetadata,\n },\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,kCAAkC,QAAQ,yCAAyC;AAC5F,SAASC,gCAAgC,QAAQ,uCAAuC;AAExF,OAAO,SAASC,UAAUA,CACxB;EACEC,IAAI;EACJC,KAAK;EACLC,WAAW;EACXC,OAAO;EACPC,WAAW;EACXC,UAAU;EACVC,aAAa;EACbC,WAAW;EACXC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC;AACkB,CAAC,EACS;EAC9B,MAAMC,cAEO,GAAGf,kCAAkC,CAAC;IAAEG,IAAI;IAAEU;EAAY,CAAC,CAAC;EACzE,OAAO;IACLP,OAAO;IACPU,eAAe,EAAE;MACfT,WAAW,EAAEA,WAAW,IAAID,OAAO;MACnCE,UAAU,EAAEA,UAAU,IAAI,QAAQ;MAClCH;IACF,CAAC;IACDF,IAAI,EAAEC,KAAK,GACP;MACAD,IAAI,EAAE,OAAgB;MACtBC,KAAK,EAAE;QACLa,OAAO,EAAEhB,gCAAgC,CAACE,IAAI,CAAC;QAC/Ce,QAAQ,EAAE;MACZ;IACF,CAAC,GACCjB,gCAAgC,CAACE,IAAI,CAAC;IAC1CQ,OAAO,EAAEA,OAAO,IAAI,EAAE;IACtBG,aAAa;IACbK,eAAe,EAAEJ,cAAc;IAC/BN,aAAa,EAAEA,aAAa;IAC5BW,gBAAgB,EAAE,IAAI;IACtBV,WAAW,EAAEA,WAAW,IAAI,EAAE;IAC9BE,SAAS,EAAEA,SAAS,KAAKS,SAAS,GAAGA,SAAS,GAAG;MAC/Cf,OAAO,EAAEM,SAAS,CAACN,OAAO;MAC1BgB,OAAO,EAAEV,SAAS,CAACU,OAAO;MAC1BC,gBAAgB,EAAEX,SAAS,CAACW,gBAAgB;MAC5CP,eAAe,EAAEJ,SAAS,CAACI;IAC7B;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"convertSpt.js","names":["convertNullabilityToDataConstraint","convertReducers","propertyTypeTypeToOntologyIrType","convertSpt","type","array","reducers","description","apiName","displayName","visibility","gothamMapping","typeClasses","aliases","valueType","nullability","baseFormatter","dataConstraint","displayMetadata","subtype","dataConstraints","indexedForSearch","undefined","version","packageNamespace"],"sources":["convertSpt.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OntologyIrSharedPropertyType } from \"@osdk/client.unstable\";\nimport type { SharedPropertyType } from \"../../api/properties/SharedPropertyType.js\";\nimport { convertNullabilityToDataConstraint } from \"./convertNullabilityToDataConstraint.js\";\nimport { convertReducers } from \"./convertReducers.js\";\nimport { propertyTypeTypeToOntologyIrType } from \"./propertyTypeTypeToOntologyIrType.js\";\n\nexport function convertSpt(\n {\n type,\n array,\n reducers,\n description,\n apiName,\n displayName,\n visibility,\n gothamMapping,\n typeClasses,\n aliases,\n valueType,\n nullability,\n baseFormatter,\n }: SharedPropertyType,\n): OntologyIrSharedPropertyType {\n const dataConstraint:\n | OntologyIrSharedPropertyType[\"dataConstraints\"]\n | undefined = convertNullabilityToDataConstraint({ type, nullability });\n return {\n apiName,\n displayMetadata: {\n displayName: displayName ?? apiName,\n visibility: visibility ?? \"NORMAL\",\n description,\n },\n type: array\n ? {\n type: \"array\" as const,\n array: {\n subtype: propertyTypeTypeToOntologyIrType(type, apiName),\n reducers: convertReducers(type, apiName, reducers),\n },\n }\n : propertyTypeTypeToOntologyIrType(type, apiName),\n aliases: aliases ?? [],\n baseFormatter,\n dataConstraints: dataConstraint,\n gothamMapping: gothamMapping,\n indexedForSearch: true,\n typeClasses: typeClasses ?? [],\n valueType: valueType === undefined ? undefined : {\n apiName: valueType.apiName,\n version: valueType.version,\n packageNamespace: valueType.packageNamespace,\n displayMetadata: valueType.displayMetadata,\n },\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,kCAAkC,QAAQ,yCAAyC;AAC5F,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,gCAAgC,QAAQ,uCAAuC;AAExF,OAAO,SAASC,UAAUA,CACxB;EACEC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACXC,OAAO;EACPC,WAAW;EACXC,UAAU;EACVC,aAAa;EACbC,WAAW;EACXC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC;AACkB,CAAC,EACS;EAC9B,MAAMC,cAEO,GAAGjB,kCAAkC,CAAC;IAAEI,IAAI;IAAEW;EAAY,CAAC,CAAC;EACzE,OAAO;IACLP,OAAO;IACPU,eAAe,EAAE;MACfT,WAAW,EAAEA,WAAW,IAAID,OAAO;MACnCE,UAAU,EAAEA,UAAU,IAAI,QAAQ;MAClCH;IACF,CAAC;IACDH,IAAI,EAAEC,KAAK,GACP;MACAD,IAAI,EAAE,OAAgB;MACtBC,KAAK,EAAE;QACLc,OAAO,EAAEjB,gCAAgC,CAACE,IAAI,EAAEI,OAAO,CAAC;QACxDF,QAAQ,EAAEL,eAAe,CAACG,IAAI,EAAEI,OAAO,EAAEF,QAAQ;MACnD;IACF,CAAC,GACCJ,gCAAgC,CAACE,IAAI,EAAEI,OAAO,CAAC;IACnDK,OAAO,EAAEA,OAAO,IAAI,EAAE;IACtBG,aAAa;IACbI,eAAe,EAAEH,cAAc;IAC/BN,aAAa,EAAEA,aAAa;IAC5BU,gBAAgB,EAAE,IAAI;IACtBT,WAAW,EAAEA,WAAW,IAAI,EAAE;IAC9BE,SAAS,EAAEA,SAAS,KAAKQ,SAAS,GAAGA,SAAS,GAAG;MAC/Cd,OAAO,EAAEM,SAAS,CAACN,OAAO;MAC1Be,OAAO,EAAET,SAAS,CAACS,OAAO;MAC1BC,gBAAgB,EAAEV,SAAS,CAACU,gBAAgB;MAC5CN,eAAe,EAAEJ,SAAS,CAACI;IAC7B;EACF,CAAC;AACH","ignoreList":[]}
@@ -15,7 +15,8 @@
15
15
  */
16
16
 
17
17
  import { distributeTypeHelper } from "../toConjure/distributeTypeHelper.js";
18
- export function propertyTypeTypeToOntologyIrType(type) {
18
+ import { convertMainValue } from "./convertMainValue.js";
19
+ export function propertyTypeTypeToOntologyIrType(type, apiName, sharedPropertyType) {
19
20
  switch (true) {
20
21
  case typeof type === "object" && type.type === "marking":
21
22
  return {
@@ -72,7 +73,8 @@ export function propertyTypeTypeToOntologyIrType(type) {
72
73
  return {
73
74
  type: "struct",
74
75
  struct: {
75
- structFields
76
+ structFields: structFields,
77
+ mainValue: convertMainValue(type, apiName, sharedPropertyType)
76
78
  }
77
79
  };
78
80
  case typeof type === "object" && type.type === "string":
@@ -1 +1 @@
1
- {"version":3,"file":"propertyTypeTypeToOntologyIrType.js","names":["distributeTypeHelper","propertyTypeTypeToOntologyIrType","type","marking","markingType","structFields","Array","key","structDefinition","fieldTypeDefinition","field","apiName","displayMetadata","displayName","description","undefined","typeClasses","aliases","fieldType","push","struct","analyzerOverride","enableAsciiFolding","isLongText","supportsEfficientLeadingWildcard","supportsExactMatching","supportsFullTextRegex","precision","scale","geohash","mediaReference","geotimeSeriesReference","attachment","Error","JSON","stringify"],"sources":["propertyTypeTypeToOntologyIrType.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n OntologyIrStructFieldType,\n OntologyIrType,\n} from \"@osdk/client.unstable\";\nimport type { PropertyTypeType } from \"../../api/properties/PropertyTypeType.js\";\nimport { distributeTypeHelper } from \"../toConjure/distributeTypeHelper.js\";\n\nexport function propertyTypeTypeToOntologyIrType(\n type: PropertyTypeType,\n): OntologyIrType {\n switch (true) {\n case (typeof type === \"object\" && type.type === \"marking\"):\n return {\n \"type\": \"marking\",\n marking: { markingType: type.markingType },\n };\n\n case (typeof type === \"object\" && type.type === \"struct\"):\n const structFields: Array<OntologyIrStructFieldType> = new Array();\n for (const key in type.structDefinition) {\n const fieldTypeDefinition = type.structDefinition[key];\n let field: OntologyIrStructFieldType;\n if (typeof fieldTypeDefinition === \"string\") {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: propertyTypeTypeToOntologyIrType(fieldTypeDefinition),\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: propertyTypeTypeToOntologyIrType(\n fieldTypeDefinition.fieldType,\n ),\n displayMetadata: fieldTypeDefinition.displayMetadata\n ?? { displayName: key, description: undefined },\n typeClasses: fieldTypeDefinition.typeClasses ?? [],\n aliases: fieldTypeDefinition.aliases ?? [],\n };\n } else {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: propertyTypeTypeToOntologyIrType(fieldTypeDefinition),\n };\n }\n }\n\n structFields.push(field);\n }\n\n return {\n type: \"struct\",\n struct: { structFields },\n };\n\n case (typeof type === \"object\" && type.type === \"string\"):\n return {\n \"type\": \"string\",\n \"string\": {\n analyzerOverride: undefined,\n enableAsciiFolding: type.enableAsciiFolding,\n isLongText: type.isLongText ?? false,\n supportsEfficientLeadingWildcard:\n type.supportsEfficientLeadingWildcard ?? false,\n supportsExactMatching: type.supportsExactMatching ?? true,\n supportsFullTextRegex: type.supportsFullTextRegex,\n },\n };\n\n case (typeof type === \"object\" && type.type === \"decimal\"):\n return {\n \"type\": \"decimal\",\n \"decimal\": {\n precision: type.precision,\n scale: type.scale,\n },\n };\n\n case (type === \"geopoint\"):\n return { type: \"geohash\", geohash: {} };\n\n case (type === \"decimal\"):\n return { type, [type]: { precision: undefined, scale: undefined } };\n\n case (type === \"string\"):\n return {\n type,\n [type]: {\n analyzerOverride: undefined,\n enableAsciiFolding: undefined,\n isLongText: false,\n supportsEfficientLeadingWildcard: false,\n supportsExactMatching: true,\n },\n };\n\n case (type === \"mediaReference\"):\n return {\n type: type,\n mediaReference: {},\n };\n\n case (type === \"geotimeSeries\"):\n return {\n type: \"geotimeSeriesReference\",\n geotimeSeriesReference: {},\n };\n case (type === \"attachment\"):\n return {\n type: \"attachment\",\n attachment: {},\n };\n\n default:\n // use helper function to distribute `type` properly\n if (typeof type === \"object\") {\n throw new Error(`Unhandled exotic type: ${JSON.stringify(type)}`);\n }\n return distributeTypeHelper(type);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"propertyTypeTypeToOntologyIrType.js","names":["distributeTypeHelper","convertMainValue","propertyTypeTypeToOntologyIrType","type","apiName","sharedPropertyType","marking","markingType","structFields","Array","key","structDefinition","fieldTypeDefinition","field","displayMetadata","displayName","description","undefined","typeClasses","aliases","fieldType","push","struct","mainValue","analyzerOverride","enableAsciiFolding","isLongText","supportsEfficientLeadingWildcard","supportsExactMatching","supportsFullTextRegex","precision","scale","geohash","mediaReference","geotimeSeriesReference","attachment","Error","JSON","stringify"],"sources":["propertyTypeTypeToOntologyIrType.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n OntologyIrStructFieldType,\n OntologyIrType,\n} from \"@osdk/client.unstable\";\nimport type { PropertyTypeType } from \"../../api/properties/PropertyTypeType.js\";\nimport type { SharedPropertyType } from \"../../api/properties/SharedPropertyType.js\";\nimport { distributeTypeHelper } from \"../toConjure/distributeTypeHelper.js\";\nimport { convertMainValue } from \"./convertMainValue.js\";\n\nexport function propertyTypeTypeToOntologyIrType(\n type: PropertyTypeType,\n apiName?: string,\n sharedPropertyType?: SharedPropertyType,\n): OntologyIrType {\n switch (true) {\n case (typeof type === \"object\" && type.type === \"marking\"):\n return {\n \"type\": \"marking\",\n marking: { markingType: type.markingType },\n };\n\n case (typeof type === \"object\" && type.type === \"struct\"):\n const structFields: Array<OntologyIrStructFieldType> = new Array();\n for (const key in type.structDefinition) {\n const fieldTypeDefinition = type.structDefinition[key];\n let field: OntologyIrStructFieldType;\n if (typeof fieldTypeDefinition === \"string\") {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: propertyTypeTypeToOntologyIrType(fieldTypeDefinition),\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: propertyTypeTypeToOntologyIrType(\n fieldTypeDefinition.fieldType,\n ),\n displayMetadata: fieldTypeDefinition.displayMetadata\n ?? { displayName: key, description: undefined },\n typeClasses: fieldTypeDefinition.typeClasses ?? [],\n aliases: fieldTypeDefinition.aliases ?? [],\n };\n } else {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: propertyTypeTypeToOntologyIrType(fieldTypeDefinition),\n };\n }\n }\n\n structFields.push(field);\n }\n\n return {\n type: \"struct\",\n struct: {\n structFields: structFields,\n mainValue: convertMainValue(type, apiName, sharedPropertyType),\n },\n };\n\n case (typeof type === \"object\" && type.type === \"string\"):\n return {\n \"type\": \"string\",\n \"string\": {\n analyzerOverride: undefined,\n enableAsciiFolding: type.enableAsciiFolding,\n isLongText: type.isLongText ?? false,\n supportsEfficientLeadingWildcard:\n type.supportsEfficientLeadingWildcard ?? false,\n supportsExactMatching: type.supportsExactMatching ?? true,\n supportsFullTextRegex: type.supportsFullTextRegex,\n },\n };\n\n case (typeof type === \"object\" && type.type === \"decimal\"):\n return {\n \"type\": \"decimal\",\n \"decimal\": {\n precision: type.precision,\n scale: type.scale,\n },\n };\n\n case (type === \"geopoint\"):\n return { type: \"geohash\", geohash: {} };\n\n case (type === \"decimal\"):\n return { type, [type]: { precision: undefined, scale: undefined } };\n\n case (type === \"string\"):\n return {\n type,\n [type]: {\n analyzerOverride: undefined,\n enableAsciiFolding: undefined,\n isLongText: false,\n supportsEfficientLeadingWildcard: false,\n supportsExactMatching: true,\n },\n };\n\n case (type === \"mediaReference\"):\n return {\n type: type,\n mediaReference: {},\n };\n\n case (type === \"geotimeSeries\"):\n return {\n type: \"geotimeSeriesReference\",\n geotimeSeriesReference: {},\n };\n case (type === \"attachment\"):\n return {\n type: \"attachment\",\n attachment: {},\n };\n\n default:\n // use helper function to distribute `type` properly\n if (typeof type === \"object\") {\n throw new Error(`Unhandled exotic type: ${JSON.stringify(type)}`);\n }\n return distributeTypeHelper(type);\n }\n}\n"],"mappings":"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","ignoreList":[]}