@osdk/api 2.2.0-beta.8 → 2.3.0-beta.1

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 (134) hide show
  1. package/CHANGELOG.md +143 -0
  2. package/build/browser/Logger.js +17 -0
  3. package/build/browser/Logger.js.map +1 -0
  4. package/build/browser/OsdkBase.js.map +1 -1
  5. package/build/browser/OsdkObjectFrom.js +2 -4
  6. package/build/browser/OsdkObjectFrom.js.map +1 -1
  7. package/build/browser/OsdkObjectFrom.test.js +3 -3
  8. package/build/browser/OsdkObjectFrom.test.js.map +1 -1
  9. package/build/browser/actions/Actions.js.map +1 -1
  10. package/build/browser/aggregate/AggregatableKeys.js.map +1 -1
  11. package/build/browser/derivedProperties/DerivedProperty.js.map +1 -1
  12. package/build/browser/derivedProperties/Expressions.js +2 -0
  13. package/build/browser/derivedProperties/Expressions.js.map +1 -0
  14. package/build/browser/derivedProperties/WithPropertiesAggregationOptions.js.map +1 -1
  15. package/build/browser/experimental/createMediaReference.js.map +1 -1
  16. package/build/browser/experimental/fetchPageByRid.js.map +1 -1
  17. package/build/browser/index.js.map +1 -1
  18. package/build/browser/mapping/DataValueMapping.js.map +1 -1
  19. package/build/browser/object/FetchPageArgs.js +1 -0
  20. package/build/browser/object/FetchPageArgs.js.map +1 -1
  21. package/build/browser/object/FetchPageResult.js.map +1 -1
  22. package/build/browser/objectSet/BulkLinkResult.js.map +1 -1
  23. package/build/browser/objectSet/ObjectSet.js.map +1 -1
  24. package/build/browser/objectSet/ObjectSet.test.js +399 -5
  25. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  26. package/build/browser/ontology/ActionDefinition.js.map +1 -1
  27. package/build/browser/ontology/ObjectOrInterface.js +1 -0
  28. package/build/browser/ontology/ObjectOrInterface.js.map +1 -1
  29. package/build/browser/ontology/ObjectSpecifier.js.map +1 -1
  30. package/build/browser/ontology/PrimaryKeyTypes.js.map +1 -1
  31. package/build/browser/ontology/QueryDefinition.js.map +1 -1
  32. package/build/browser/ontology/SimplePropertyDef.js.map +1 -1
  33. package/build/browser/queries/Queries.js.map +1 -1
  34. package/build/browser/test/EmployeeApiTest.js.map +1 -1
  35. package/build/browser/util/IncludeValuesExtending.js +2 -0
  36. package/build/browser/util/IncludeValuesExtending.js.map +1 -0
  37. package/build/cjs/{FilteredPropertyKeys-D4ZQUqjG.d.cts → ObjectSet-6WzPM-IC.d.cts} +209 -68
  38. package/build/cjs/index.d.cts +33 -7
  39. package/build/cjs/public/unstable.d.cts +5 -5
  40. package/build/esm/Logger.js +17 -0
  41. package/build/esm/Logger.js.map +1 -0
  42. package/build/esm/OsdkBase.js.map +1 -1
  43. package/build/esm/OsdkObjectFrom.js +2 -4
  44. package/build/esm/OsdkObjectFrom.js.map +1 -1
  45. package/build/esm/OsdkObjectFrom.test.js +3 -3
  46. package/build/esm/OsdkObjectFrom.test.js.map +1 -1
  47. package/build/esm/actions/Actions.js.map +1 -1
  48. package/build/esm/aggregate/AggregatableKeys.js.map +1 -1
  49. package/build/esm/derivedProperties/DerivedProperty.js.map +1 -1
  50. package/build/esm/derivedProperties/Expressions.js +2 -0
  51. package/build/esm/derivedProperties/Expressions.js.map +1 -0
  52. package/build/esm/derivedProperties/WithPropertiesAggregationOptions.js.map +1 -1
  53. package/build/esm/experimental/createMediaReference.js.map +1 -1
  54. package/build/esm/experimental/fetchPageByRid.js.map +1 -1
  55. package/build/esm/index.js.map +1 -1
  56. package/build/esm/mapping/DataValueMapping.js.map +1 -1
  57. package/build/esm/object/FetchPageArgs.js +1 -0
  58. package/build/esm/object/FetchPageArgs.js.map +1 -1
  59. package/build/esm/object/FetchPageResult.js.map +1 -1
  60. package/build/esm/objectSet/BulkLinkResult.js.map +1 -1
  61. package/build/esm/objectSet/ObjectSet.js.map +1 -1
  62. package/build/esm/objectSet/ObjectSet.test.js +399 -5
  63. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  64. package/build/esm/ontology/ActionDefinition.js.map +1 -1
  65. package/build/esm/ontology/ObjectOrInterface.js +1 -0
  66. package/build/esm/ontology/ObjectOrInterface.js.map +1 -1
  67. package/build/esm/ontology/ObjectSpecifier.js.map +1 -1
  68. package/build/esm/ontology/PrimaryKeyTypes.js.map +1 -1
  69. package/build/esm/ontology/QueryDefinition.js.map +1 -1
  70. package/build/esm/ontology/SimplePropertyDef.js.map +1 -1
  71. package/build/esm/queries/Queries.js.map +1 -1
  72. package/build/esm/test/EmployeeApiTest.js.map +1 -1
  73. package/build/esm/util/IncludeValuesExtending.js +2 -0
  74. package/build/esm/util/IncludeValuesExtending.js.map +1 -0
  75. package/build/types/Logger.d.ts +19 -0
  76. package/build/types/Logger.d.ts.map +1 -0
  77. package/build/types/OsdkBase.d.ts +9 -7
  78. package/build/types/OsdkBase.d.ts.map +1 -1
  79. package/build/types/OsdkObjectFrom.d.ts +14 -8
  80. package/build/types/OsdkObjectFrom.d.ts.map +1 -1
  81. package/build/types/actions/Actions.d.ts +4 -4
  82. package/build/types/actions/Actions.d.ts.map +1 -1
  83. package/build/types/aggregate/AggregatableKeys.d.ts +10 -8
  84. package/build/types/aggregate/AggregatableKeys.d.ts.map +1 -1
  85. package/build/types/derivedProperties/DerivedProperty.d.ts +44 -16
  86. package/build/types/derivedProperties/DerivedProperty.d.ts.map +1 -1
  87. package/build/types/derivedProperties/Expressions.d.ts +53 -0
  88. package/build/types/derivedProperties/Expressions.d.ts.map +1 -0
  89. package/build/types/derivedProperties/WithPropertiesAggregationOptions.d.ts +6 -3
  90. package/build/types/derivedProperties/WithPropertiesAggregationOptions.d.ts.map +1 -1
  91. package/build/types/experimental/createMediaReference.d.ts +2 -3
  92. package/build/types/experimental/createMediaReference.d.ts.map +1 -1
  93. package/build/types/experimental/fetchPageByRid.d.ts +3 -2
  94. package/build/types/experimental/fetchPageByRid.d.ts.map +1 -1
  95. package/build/types/index.d.ts +43 -43
  96. package/build/types/index.d.ts.map +1 -1
  97. package/build/types/mapping/DataValueMapping.d.ts +4 -0
  98. package/build/types/mapping/DataValueMapping.d.ts.map +1 -1
  99. package/build/types/object/FetchPageArgs.d.ts +39 -6
  100. package/build/types/object/FetchPageArgs.d.ts.map +1 -1
  101. package/build/types/object/FetchPageResult.d.ts +6 -4
  102. package/build/types/object/FetchPageResult.d.ts.map +1 -1
  103. package/build/types/objectSet/BulkLinkResult.d.ts +1 -1
  104. package/build/types/objectSet/ObjectSet.d.ts +144 -35
  105. package/build/types/objectSet/ObjectSet.d.ts.map +1 -1
  106. package/build/types/objectSet/ObjectSet.test.d.ts +2 -1
  107. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -1
  108. package/build/types/ontology/ActionDefinition.d.ts +1 -1
  109. package/build/types/ontology/ActionDefinition.d.ts.map +1 -1
  110. package/build/types/ontology/ObjectOrInterface.d.ts +12 -5
  111. package/build/types/ontology/ObjectOrInterface.d.ts.map +1 -1
  112. package/build/types/ontology/ObjectSpecifier.d.ts +2 -1
  113. package/build/types/ontology/ObjectSpecifier.d.ts.map +1 -1
  114. package/build/types/ontology/PrimaryKeyTypes.d.ts +1 -1
  115. package/build/types/ontology/PrimaryKeyTypes.d.ts.map +1 -1
  116. package/build/types/ontology/QueryDefinition.d.ts +2 -0
  117. package/build/types/ontology/QueryDefinition.d.ts.map +1 -1
  118. package/build/types/ontology/SimplePropertyDef.d.ts +4 -4
  119. package/build/types/ontology/SimplePropertyDef.d.ts.map +1 -1
  120. package/build/types/public/unstable.d.ts +3 -3
  121. package/build/types/public/unstable.d.ts.map +1 -1
  122. package/build/types/queries/Queries.d.ts +2 -2
  123. package/build/types/queries/Queries.d.ts.map +1 -1
  124. package/build/types/test/EmployeeApiTest.d.ts +25 -1
  125. package/build/types/test/EmployeeApiTest.d.ts.map +1 -1
  126. package/build/types/util/IncludeValuesExtending.d.ts +4 -0
  127. package/build/types/util/IncludeValuesExtending.d.ts.map +1 -0
  128. package/package.json +4 -4
  129. package/build/browser/ontology/FilteredPropertyKeys.js +0 -2
  130. package/build/browser/ontology/FilteredPropertyKeys.js.map +0 -1
  131. package/build/esm/ontology/FilteredPropertyKeys.js +0 -2
  132. package/build/esm/ontology/FilteredPropertyKeys.js.map +0 -1
  133. package/build/types/ontology/FilteredPropertyKeys.d.ts +0 -6
  134. package/build/types/ontology/FilteredPropertyKeys.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectSet.test.js","names":["describe","expectTypeOf","it","test","vi","fauxObjectSet","where","fn","withProperties","fetchPage","Promise","resolve","asyncIter","toEqualTypeOf","withA","base","pivotTo","aggregate","withFamily","selectProperty","withMom","withParents","todo","withAggregations","$select"],"sources":["ObjectSet.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 { describe, expectTypeOf, it, test, vi } from \"vitest\";\n\nimport type { ObjectSet as $ObjectSet, Osdk, PropertyKeys } from \"../index.js\";\nimport type { EmployeeApiTest } from \"../test/EmployeeApiTest.js\";\n\ndescribe(\"ObjectSet\", () => {\n const fauxObjectSet = {\n where: vi.fn(() => {\n return fauxObjectSet;\n }),\n withProperties: vi.fn(() => {\n return fauxObjectSet;\n }),\n fetchPage: vi.fn(() => Promise.resolve()),\n asyncIter: vi.fn(() => {\n return {};\n }),\n } as any as EmployeeApiTest.ObjectSet;\n\n describe(\"normal\", () => {\n test(\"select none\", async () => {\n const result = await fauxObjectSet.fetchPage();\n expectTypeOf<typeof result.data[0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never>\n >();\n });\n\n test(\"select one\", async () => {\n const result = await fauxObjectSet.fetchPage({ \"$select\": [\"fullName\"] });\n expectTypeOf<typeof result.data[0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, \"fullName\">\n >();\n });\n });\n\n describe(\".withProperties\", () => {\n test(\"single property\", async () => {\n const withA = fauxObjectSet.withProperties({\n \"a\": (base) => {\n return base.pivotTo(\"lead\").aggregate(\"class:exactDistinct\");\n },\n });\n\n expectTypeOf(withA).toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n a: \"integer\";\n }>\n >();\n\n const withAResults = await withA.fetchPage();\n\n expectTypeOf<typeof withAResults[\"data\"][0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>, {\n a: \"integer\";\n }>\n >();\n\n expectTypeOf<typeof withAResults[\"data\"][0][\"a\"]>()\n .toEqualTypeOf<number>();\n });\n\n test(\"multiple properties\", async () => {\n const withFamily = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"dad\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n \"sister\": (base) => base.pivotTo(\"lead\").aggregate(\"class:collectList\"),\n });\n expectTypeOf(withFamily).toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }>\n >();\n\n const withFamilyResults = await withFamily.fetchPage();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }>\n >();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"mom\"]>()\n .toEqualTypeOf<number>();\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"dad\"]>()\n .toEqualTypeOf<string | undefined>();\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"sister\"]>()\n .toEqualTypeOf<string[] | undefined>();\n });\n\n describe(\"called in succession\", () => {\n test(\"independently\", () => {\n const withMom = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n });\n\n const withParents = withMom.withProperties({\n \"dad\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n });\n\n expectTypeOf(withParents).toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n }>\n >();\n });\n\n test.todo(\"with calculated properties\");\n });\n\n describe(\"nullability\", () => {\n it(\"count, exactDistinct, and approximateDistinct aren't nullable\", async () => {\n const withFamily = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"dad\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:exactDistinct\"),\n \"sis\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:approximateDistinct\"),\n });\n\n const withFamilyResults = await withFamily.fetchPage();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>, {\n mom: \"integer\";\n dad: \"integer\";\n sis: \"integer\";\n }>\n >();\n });\n\n it(\n \"collectToSet, collectToList, selectProperty, and numeric aggregations are nullable\",\n async () => {\n const withAggregations = fauxObjectSet.withProperties({\n \"collectSet\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:collectSet\"),\n \"select\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n \"collectList\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:collectList\"),\n \"min\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:max\"),\n \"max\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:min\"),\n \"sum\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n \"avg\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:avg\"),\n \"approximatePercentile\": (base) =>\n base.pivotTo(\"lead\").aggregate(\n \"employeeId:approximatePercentile\",\n ),\n });\n\n const withAggregationResults = await withAggregations.fetchPage();\n\n expectTypeOf<typeof withAggregationResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n collectSet: \"string\"[] | undefined;\n select: \"string\" | undefined;\n collectList: \"string\"[] | undefined;\n min: \"double\" | undefined;\n max: \"double\" | undefined;\n sum: \"double\" | undefined;\n avg: \"double\" | undefined;\n approximatePercentile: \"double\" | undefined;\n }\n >\n >();\n },\n );\n });\n\n describe(\"fetch functions return correct Osdk.Instance\", () => {\n const withFamily = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"dad\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n \"sister\": (base) => base.pivotTo(\"lead\").aggregate(\"class:collectList\"),\n });\n\n it(\"works with .where\", async () => {\n const where = withFamily.where({ \"mom\": 1 });\n const whereResults = await where.fetchPage();\n\n expectTypeOf<typeof where>().toEqualTypeOf<typeof withFamily>();\n expectTypeOf<typeof whereResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n >();\n });\n\n it(\"works with .async\", () => {\n const asyncIter = withFamily.asyncIter();\n expectTypeOf<typeof asyncIter>().toEqualTypeOf<\n AsyncIterableIterator<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n >\n >();\n });\n\n it(\"Works with no select\", async () => {\n const withFamilyResults = await withFamily.fetchPage();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n >();\n });\n\n it(\"Works with selecting all RDPs\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"mom\", \"dad\", \"sister\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, never, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }>\n >();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"mom\"]>()\n .toEqualTypeOf<number>();\n });\n\n it(\"Works with selecting some RDPs\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"mom\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, never, {\n mom: \"integer\";\n }>\n >();\n });\n\n it(\"Works with selecting all non-RDP's\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"class\", \"fullName\", \"employeeId\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {}\n >\n >();\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"class\"]>()\n .toEqualTypeOf<\n string | undefined\n >();\n });\n\n it(\"Works with selecting some non-RDP's\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"class\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, \"class\", {}>\n >();\n });\n\n it(\"Works with selecting a mix\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"class\", \"mom\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n \"class\",\n { mom: \"integer\" }\n >\n >();\n });\n });\n\n it(\"allows extracting the type\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n });\n\n type ObjectSetType = typeof objectSet;\n\n expectTypeOf<ObjectSetType>().toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n mom: \"integer\";\n }>\n >();\n\n const objectSet2 = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n }) satisfies ObjectSetType;\n });\n\n it(\"Defining the Type\", () => {\n type ObjectSetType = $ObjectSet<\n EmployeeApiTest,\n {\n mom: \"integer\" | undefined;\n }\n >;\n\n fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n }) satisfies ObjectSetType;\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ObjectSet.test.js","names":["describe","expectTypeOf","it","test","vi","createMockObjectSet","fauxObject","fauxResults","fauxObjectSet","$link","peeps","$objectSetInternals","def","data","where","fn","withProperties","fetchPage","Promise","resolve","fetchOne","asyncIter","aggregate","pivotTo","toEqualTypeOf","fetchPageResult","class","$includeAllBaseObjectProperties","asyncIterResult","$select","x","$includeRid","subselect","withA","base","selectProperty","withFamily","withMom","withParents","todo","withAggregations","whereResults","aggTestObjectSet","result","maxHasSameType","minHasSameType","approximateDistinctNumberNoUndefined","exactDistinctNumberNoUndefined","countNumberNoUndefined","sumNumber","avgNumber","selectedInteger","add","subtract","multiply","divide","abs","negate","max","min","extractPart","maxAggregation","collectList","plus","intAndLong","intAndDouble","longAndDouble","longAndLong","intAndInt","intLongDoubleChain","shortAndIntReturnsInt","shortAndFloatReturnsDouble","constant","double","intPlusIntReturnsInt","integer","nested","selectedDatetime","dateAndDateReturnDate","datetime","dateAndTimeReturnTime","timestamp"],"sources":["ObjectSet.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 { describe, expectTypeOf, it, test, vi } from \"vitest\";\n\nimport type {\n DerivedProperty,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet as $ObjectSet,\n Osdk,\n PageResult,\n PropertyKeys,\n} from \"../index.js\";\nimport type { EmployeeApiTest } from \"../test/EmployeeApiTest.js\";\n\nexport function createMockObjectSet<\n Q extends ObjectOrInterfaceDefinition,\n>(): $ObjectSet<Q, never> {\n let fauxObject: Osdk.Instance<Q>,\n fauxResults: any,\n fauxObjectSet: $ObjectSet<Q>;\n\n // eslint-disable-next-line prefer-const\n fauxObject = {\n $link: {\n peeps: {\n $objectSetInternals: {\n def: {},\n },\n },\n },\n } as Osdk.Instance<Q>;\n\n fauxResults = {\n data: [fauxObject],\n };\n\n fauxObjectSet = {\n where: vi.fn(() => {\n return fauxObjectSet;\n }),\n withProperties: vi.fn(() => {\n return fauxObjectSet;\n }),\n fetchPage: vi.fn(() => Promise.resolve(fauxResults)),\n fetchOne: vi.fn(() => fauxObject),\n asyncIter: vi.fn(() => {\n return {};\n }),\n aggregate: vi.fn(() => {\n return {};\n }),\n pivotTo: vi.fn(() => {\n return fauxObjectSet;\n }),\n } as any as $ObjectSet<Q>;\n\n return fauxObjectSet;\n}\n\ndescribe(\"ObjectSet\", () => {\n const fauxObjectSet = createMockObjectSet<EmployeeApiTest>();\n\n describe(\"normal\", () => {\n test(\"select none\", async () => {\n const result = await fauxObjectSet.fetchPage();\n expectTypeOf<typeof result.data[0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>>\n >();\n\n // Do it again but be explicit about the params to be sure\n // we don't break them\n const result2 = await fauxObjectSet.fetchPage<\n PropertyKeys<EmployeeApiTest>,\n false,\n never,\n NullabilityAdherence.Default,\n false\n >();\n });\n\n test(\"select one\", async () => {\n const result = await fauxObjectSet.fetchPage({ \"$select\": [\"fullName\"] });\n expectTypeOf<typeof result.data[0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, \"fullName\">\n >();\n });\n });\n\n describe(\"includeAllBaseObjectProperties\", () => {\n it(\"has the right types if you pass true\", async () => {\n const fetchPageResult = await fauxObjectSet\n .where({ class: \"idk\" })\n .fetchPage({ $includeAllBaseObjectProperties: true });\n\n expectTypeOf(fetchPageResult).toEqualTypeOf<\n PageResult<\n Osdk.Instance<EmployeeApiTest, \"$allBaseProperties\">\n >\n >();\n\n const asyncIterResult = fauxObjectSet\n .where({ class: \"idk\" })\n .asyncIter({ $includeAllBaseObjectProperties: true });\n\n expectTypeOf(asyncIterResult).toEqualTypeOf<\n AsyncIterableIterator<\n Osdk.Instance<EmployeeApiTest, \"$allBaseProperties\">\n >\n >();\n });\n\n it(\"does not let you pass partial $select and true\", async () => {\n const fetchPageResult = await fauxObjectSet\n .where({ class: \"idk\" })\n .fetchPage({\n // @ts-expect-error\n $includeAllBaseObjectProperties: true,\n $select: [\"attachment\"],\n });\n\n const asyncIterResult = fauxObjectSet\n .where({ class: \"idk\" })\n .asyncIter({\n // @ts-expect-error\n $includeAllBaseObjectProperties: true,\n $select: [\"attachment\"],\n });\n });\n\n it(\"does let you pass full select options and false\", async () => {\n const fetchPageResult = await fauxObjectSet\n .where({ class: \"idk\" })\n .fetchPage({\n $includeAllBaseObjectProperties: true,\n\n // this select list is intended to represent all properties on `EmployeeApiTest`,\n // so if you get an error here later and you added properties to that object,\n // be sure to add them here too.\n $select: [\n \"attachment\",\n \"class\",\n \"employeeId\",\n \"fullName\",\n \"geopoint\",\n \"geotimeSeriesReference\",\n \"isActive\",\n \"mediaReference\",\n \"timeseries\",\n \"dateOfJoining\",\n \"hourlyRate\",\n \"yearsOfExperience\",\n \"rank\",\n \"performanceScore\",\n \"mediaReference\",\n \"lastUpdated\",\n ],\n });\n\n const asyncIterResult = await fauxObjectSet\n .where({ class: \"idk\" })\n .fetchPage({\n $includeAllBaseObjectProperties: true,\n\n // this select list is intended to represent all properties on `EmployeeApiTest`,\n // so if you get an error here later and you added properties to that object,\n // be sure to add them here too.\n $select: [\n \"attachment\",\n \"class\",\n \"employeeId\",\n \"fullName\",\n \"geopoint\",\n \"geotimeSeriesReference\",\n \"isActive\",\n \"mediaReference\",\n \"timeseries\",\n \"dateOfJoining\",\n \"hourlyRate\",\n \"yearsOfExperience\",\n \"rank\",\n \"performanceScore\",\n \"mediaReference\",\n \"lastUpdated\",\n ],\n });\n });\n });\n\n test(\"includeRid\", async () => {\n const x = await fauxObjectSet\n .where({ class: \"idk\" })\n .fetchPage({ $includeRid: true });\n\n expectTypeOf(x).toEqualTypeOf<\n PageResult<\n Osdk.Instance<EmployeeApiTest, \"$rid\">\n >\n >();\n });\n\n test(\"pivotTo\", async () => {\n const noArgs = await fauxObjectSet.pivotTo(\"peeps\").fetchPage({});\n const subselect = await fauxObjectSet.pivotTo(\"peeps\").fetchPage({\n $select: [\"employeeId\", \"class\"],\n });\n\n expectTypeOf(subselect).toEqualTypeOf<\n PageResult<\n Osdk.Instance<EmployeeApiTest, never, \"employeeId\" | \"class\">\n >\n >();\n });\n\n describe(\".withProperties\", () => {\n test(\"single property\", async () => {\n const withA = fauxObjectSet.withProperties({\n \"a\": (base) => {\n return base.pivotTo(\"lead\").aggregate(\"class:exactDistinct\");\n },\n });\n\n const isWithAAssignable: $ObjectSet<EmployeeApiTest, {}> = withA;\n\n expectTypeOf(withA).toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n a: \"integer\";\n }>\n >();\n\n const withAResults = await withA.fetchPage();\n\n expectTypeOf<typeof withAResults[\"data\"][0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>, {\n a: \"integer\";\n }>\n >();\n\n expectTypeOf<typeof withAResults[\"data\"][0][\"a\"]>()\n .toEqualTypeOf<number>();\n });\n\n it(\"can be sub-selected\", () => {\n const objectWithUndefinedRdp = fauxObjectSet.withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).fetchOne(3, {\n $select: [\"derivedPropertyName\"],\n });\n });\n\n test(\"multiple properties\", async () => {\n const withFamily = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"dad\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n \"sister\": (base) => base.pivotTo(\"lead\").aggregate(\"class:collectList\"),\n });\n expectTypeOf(withFamily).toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }>\n >();\n\n const withFamilyResults = await withFamily.fetchPage();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }>\n >();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"mom\"]>()\n .toEqualTypeOf<number>();\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"dad\"]>()\n .toEqualTypeOf<string | undefined>();\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"sister\"]>()\n .toEqualTypeOf<string[] | undefined>();\n });\n\n describe(\"called in succession\", () => {\n test(\"independently\", () => {\n const withMom = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n });\n\n const withParents = withMom.withProperties({\n \"dad\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n });\n\n expectTypeOf(withParents).toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n }>\n >();\n });\n\n test.todo(\"with calculated properties\");\n });\n\n describe(\"nullability\", () => {\n it(\"count, exactDistinct, and approximateDistinct aren't nullable\", async () => {\n const withFamily = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"dad\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:exactDistinct\"),\n \"sis\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:approximateDistinct\"),\n });\n\n const withFamilyResults = await withFamily.fetchPage();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>().toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>, {\n mom: \"integer\";\n dad: \"integer\";\n sis: \"integer\";\n }>\n >();\n });\n\n it(\n \"collectToSet, collectToList, selectProperty, and numeric aggregations are nullable\",\n async () => {\n const withAggregations = fauxObjectSet.withProperties({\n \"collectSet\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:collectSet\"),\n \"select\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n \"collectList\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"class:collectList\"),\n \"min\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:max\"),\n \"max\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:min\"),\n \"sum\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n \"avg\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:avg\"),\n \"approximatePercentile\": (base) =>\n base.pivotTo(\"lead\").aggregate(\n \"employeeId:approximatePercentile\",\n ),\n });\n\n const withAggregationResults = await withAggregations.fetchPage();\n\n expectTypeOf<typeof withAggregationResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n collectSet: \"string\"[] | undefined;\n select: \"string\" | undefined;\n collectList: \"string\"[] | undefined;\n min: \"double\" | undefined;\n max: \"double\" | undefined;\n sum: \"double\" | undefined;\n avg: \"double\" | undefined;\n approximatePercentile: \"double\" | undefined;\n }\n >\n >();\n },\n );\n });\n\n describe(\"fetch functions return correct Osdk.Instance\", () => {\n const withFamily = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"dad\": (base) => base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n \"sister\": (base) => base.pivotTo(\"lead\").aggregate(\"class:collectList\"),\n });\n\n it(\"works with .where\", async () => {\n const where = withFamily.where({ \"mom\": 1 });\n const whereResults = await where.fetchPage();\n\n // Checks that if you did an `await where.fetchPage()` that you can then\n // pass/assign it to something explicit.\n const _assignPreviouslyInferredPages: PageResult<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n > = whereResults;\n\n // Checks that if you did an `await where.fetchPage()` that you can then\n // pass/assign it to something explicit.\n const _assignPreviouslyInferredInstance: Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n > = whereResults.data[0];\n\n const q = whereResults.data[0].$link.peeps.$objectSetInternals.def;\n\n // same as above but with expectTypeOf\n expectTypeOf<typeof where>().toEqualTypeOf<typeof withFamily>();\n expectTypeOf<typeof whereResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n >();\n\n // Checks that when you directly assign, it infers correctly.\n // Sometimes an explicit assignment can affect how typescript infers\n // types.\n const shouldBeAssignablePage: PageResult<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n > = await where.fetchPage();\n\n const _shouldBeAssignableSingle: Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n > = await withFamily.fetchOne(1);\n await withFamily.fetchOne(1);\n });\n\n it(\"works with .async\", () => {\n const asyncIter = withFamily.asyncIter();\n expectTypeOf<typeof asyncIter>().toEqualTypeOf<\n AsyncIterableIterator<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n >\n >();\n });\n\n it(\"Works with no select\", async () => {\n const withFamilyResults = await withFamily.fetchPage();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }\n >\n >();\n });\n\n it(\"Works with selecting all RDPs\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"mom\", \"dad\", \"sister\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, never, {\n mom: \"integer\";\n dad: \"string\" | undefined;\n sister: \"string\"[] | undefined;\n }>\n >();\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"mom\"]>()\n .toEqualTypeOf<number>();\n });\n\n it(\"Works with selecting some RDPs\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"mom\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, never, {\n mom: \"integer\";\n }>\n >();\n });\n\n it(\"Works with selecting all non-RDP's\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\n \"employeeId\",\n \"fullName\",\n \"class\",\n \"attachment\",\n \"geopoint\",\n \"timeseries\",\n \"mediaReference\",\n \"geotimeSeriesReference\",\n \"isActive\",\n \"yearsOfExperience\",\n \"rank\",\n \"performanceScore\",\n \"hourlyRate\",\n \"dateOfJoining\",\n \"lastUpdated\",\n ],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n PropertyKeys<EmployeeApiTest>,\n {}\n >\n >();\n expectTypeOf<typeof withFamilyResults[\"data\"][0][\"class\"]>()\n .toEqualTypeOf<\n string | undefined\n >();\n });\n\n it(\"Works with selecting some non-RDP's\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"class\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, \"class\", {}>\n >();\n });\n\n it(\"Works with selecting a mix\", async () => {\n const withFamilyResults = await withFamily.fetchPage({\n $select: [\"class\", \"mom\"],\n });\n\n expectTypeOf<typeof withFamilyResults[\"data\"][0]>()\n .toEqualTypeOf<\n Osdk.Instance<\n EmployeeApiTest,\n never,\n \"class\",\n { mom: \"integer\" }\n >\n >();\n });\n });\n\n it(\"allows extracting the type\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n });\n\n type ObjectSetType = typeof objectSet;\n\n expectTypeOf<ObjectSetType>().toEqualTypeOf<\n $ObjectSet<EmployeeApiTest, {\n mom: \"integer\";\n }>\n >();\n\n const objectSet2 = fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n }) satisfies ObjectSetType;\n });\n\n it(\"Defining the Type\", () => {\n type ObjectSetType = $ObjectSet<\n EmployeeApiTest,\n {\n mom: \"integer\" | undefined;\n }\n >;\n\n fauxObjectSet.withProperties({\n \"mom\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n }) satisfies ObjectSetType;\n });\n\n it(\"has correct aggregation keys\", () => {\n fauxObjectSet.withProperties({\n \"integer\": (base) => base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"integerNumericAgg\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n \"string\": (base) => base.pivotTo(\"lead\").aggregate(\"class:collectList\"),\n \"stringDoesNotHaveNumericAgg\": (base) =>\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"class:sum\"),\n \"isActive\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"isActive:approximateDistinct\"),\n \"attachment\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"attachment:collectList\"),\n \"geopoint\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"geopoint:collectList\"),\n \"numericTimeseries\": (base) =>\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"timeseries:sum\"),\n \"numericTimeseriesExactDistinct\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"timeseries:exactDistinct\"),\n \"mediaReference\": (base) =>\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"mediaReference:avg\"),\n \"mediaReferenceExactDistinct\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"mediaReference:exactDistinct\"),\n \"geotimeSeriesReference\": (base) =>\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"geotimeSeriesReference:sum\"),\n \"geotimeSeriesReferenceExactDistinct\": (base) =>\n base.pivotTo(\"lead\").aggregate(\n \"geotimeSeriesReference:exactDistinct\",\n ),\n \"lastUpdated\": (base) => {\n base.pivotTo(\"lead\").aggregate(\"lastUpdated:approximateDistinct\");\n base.pivotTo(\"lead\").aggregate(\"lastUpdated:exactDistinct\");\n base.pivotTo(\"lead\").aggregate(\"lastUpdated:max\");\n base.pivotTo(\"lead\").aggregate(\"lastUpdated:min\");\n base.pivotTo(\"lead\").aggregate(\"lastUpdated:collectList\");\n return base.pivotTo(\"lead\").aggregate(\"lastUpdated:collectSet\");\n },\n \"dateOfJoining\": (base) => {\n base.pivotTo(\"lead\").aggregate(\"dateOfJoining:approximateDistinct\");\n base.pivotTo(\"lead\").aggregate(\"dateOfJoining:exactDistinct\");\n base.pivotTo(\"lead\").aggregate(\"dateOfJoining:max\");\n base.pivotTo(\"lead\").aggregate(\"dateOfJoining:min\");\n base.pivotTo(\"lead\").aggregate(\"dateOfJoining:collectList\");\n return base.pivotTo(\"lead\").aggregate(\"dateOfJoining:collectSet\");\n },\n });\n });\n\n it(\"has correct aggregation return types\", async () => {\n const aggTestObjectSet = fauxObjectSet.withProperties({\n \"maxHasSameType\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"dateOfJoining:max\"),\n \"minHasSameType\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"dateOfJoining:min\"),\n \"approximateDistinctNumberNoUndefined\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:approximateDistinct\"),\n \"exactDistinctNumberNoUndefined\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:exactDistinct\"),\n \"countNumberNoUndefined\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"$count\"),\n \"sumNumber\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n \"avgNumber\": (base) => base.pivotTo(\"lead\").aggregate(\"employeeId:avg\"),\n }).fetchPage();\n\n const result = (await aggTestObjectSet).data[0];\n expectTypeOf((await aggTestObjectSet).data[0]).toEqualTypeOf<\n Osdk.Instance<EmployeeApiTest, never, PropertyKeys<EmployeeApiTest>, {\n maxHasSameType: \"datetime\" | undefined;\n minHasSameType: \"datetime\" | undefined;\n avgNumber: \"double\" | undefined;\n approximateDistinctNumberNoUndefined: \"integer\";\n exactDistinctNumberNoUndefined: \"integer\";\n countNumberNoUndefined: \"integer\";\n sumNumber: \"double\" | undefined;\n }>\n >();\n\n expectTypeOf(result.maxHasSameType).toEqualTypeOf<string | undefined>();\n expectTypeOf(result.minHasSameType).toEqualTypeOf<string | undefined>();\n expectTypeOf(result.approximateDistinctNumberNoUndefined).toEqualTypeOf<\n number\n >();\n expectTypeOf(result.exactDistinctNumberNoUndefined).toEqualTypeOf<\n number\n >();\n expectTypeOf(result.countNumberNoUndefined).toEqualTypeOf<number>();\n expectTypeOf(result.sumNumber).toEqualTypeOf<number | undefined>();\n expectTypeOf(result.avgNumber).toEqualTypeOf<number | undefined>();\n });\n });\n describe(\"aggregate\", () => {\n it(\"has correct aggregation keys\", () => {\n void fauxObjectSet.aggregate({\n \"$select\": {\n \"lastUpdated:max\": \"asc\",\n \"lastUpdated:min\": \"desc\",\n \"lastUpdated:approximateDistinct\": \"asc\",\n \"lastUpdated:exactDistinct\": \"desc\",\n \"dateOfJoining:max\": \"desc\",\n \"dateOfJoining:min\": \"asc\",\n \"dateOfJoining:approximateDistinct\": \"asc\",\n \"dateOfJoining:exactDistinct\": \"desc\",\n },\n });\n });\n });\n describe(\"expressions\", () => {\n \"Test all property types\";\n describe(\"numeric expressions\", () => {\n it(\"provides correct methods off of selected numeric derived property definitions\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const selectedInteger = base.pivotTo(\"lead\").selectProperty(\n \"employeeId\",\n );\n\n expectTypeOf(selectedInteger).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"integer\" | undefined,\n EmployeeApiTest\n >\n >;\n\n selectedInteger.add(1);\n selectedInteger.subtract(1);\n selectedInteger.multiply(1);\n selectedInteger.divide(1);\n selectedInteger.abs();\n selectedInteger.negate();\n selectedInteger.max(1);\n selectedInteger.min(1);\n\n // @ts-expect-error\n selectedInteger.extractPart(\"1\");\n\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"performanceScore\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\" | undefined,\n EmployeeApiTest\n >\n >();\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"rank\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"short\" | undefined,\n EmployeeApiTest\n >\n >();\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"yearsOfExperience\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"long\" | undefined,\n EmployeeApiTest\n >\n >();\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"hourlyRate\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"float\" | undefined,\n EmployeeApiTest\n >\n >();\n\n return selectedInteger;\n },\n });\n });\n\n it(\"provides correct methods off of selection definitions\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const selectedInteger = base.pivotTo(\"lead\").selectProperty(\n \"employeeId\",\n );\n\n expectTypeOf(selectedInteger).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"integer\" | undefined,\n EmployeeApiTest\n >\n >;\n\n selectedInteger.add(1);\n selectedInteger.subtract(1);\n selectedInteger.multiply(1);\n selectedInteger.divide(1);\n selectedInteger.abs();\n selectedInteger.negate();\n selectedInteger.max(1);\n selectedInteger.min(1);\n\n // @ts-expect-error\n selectedInteger.extractPart(\"1\");\n\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"performanceScore\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\" | undefined,\n EmployeeApiTest\n >\n >();\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"rank\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"short\" | undefined,\n EmployeeApiTest\n >\n >();\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"yearsOfExperience\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"long\" | undefined,\n EmployeeApiTest\n >\n >();\n expectTypeOf(\n base.pivotTo(\"lead\").selectProperty(\n \"hourlyRate\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"float\" | undefined,\n EmployeeApiTest\n >\n >();\n\n return selectedInteger;\n },\n });\n });\n\n it(\"provides correct methods off of aggregated properties\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const maxAggregation = base.pivotTo(\"lead\").aggregate(\n \"employeeId:max\",\n );\n\n expectTypeOf(maxAggregation).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"integer\" | undefined,\n EmployeeApiTest\n >\n >;\n\n maxAggregation.add(1);\n maxAggregation.subtract(1);\n maxAggregation.multiply(1);\n maxAggregation.divide(1);\n maxAggregation.abs();\n maxAggregation.negate();\n maxAggregation.max(1);\n maxAggregation.min(1);\n\n expectTypeOf(\n base.pivotTo(\"peeps\").aggregate(\"employeeId:sum\"),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\" | undefined,\n EmployeeApiTest\n >\n >();\n\n expectTypeOf(\n base.pivotTo(\"peeps\").aggregate(\"employeeId:avg\"),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\" | undefined,\n EmployeeApiTest\n >\n >();\n\n expectTypeOf(\n base.pivotTo(\"peeps\").aggregate(\"employeeId:min\"),\n ).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"integer\" | undefined,\n EmployeeApiTest\n >\n >();\n\n const collectList = base.pivotTo(\"peeps\").aggregate(\n \"employeeId:collectList\",\n );\n expectTypeOf(\n collectList,\n ).toEqualTypeOf<\n DerivedProperty.Definition<\n \"integer\"[] | undefined,\n EmployeeApiTest\n >\n >();\n\n // @ts-expect-error\n collectList.plus(1);\n\n expectTypeOf(\n base.pivotTo(\"peeps\").aggregate(\n \"employeeId:collectList\",\n ),\n ).toEqualTypeOf<\n DerivedProperty.Definition<\n \"integer\"[] | undefined,\n EmployeeApiTest\n >\n >();\n\n return maxAggregation;\n },\n });\n });\n\n it(\"correctly coerces numeric types\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const intAndLong = base.pivotTo(\"lead\").selectProperty(\"employeeId\")\n .add(base.selectProperty(\"yearsOfExperience\")).add(\n base.selectProperty(\"employeeId\"),\n );\n expectTypeOf(intAndLong).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\"long\", EmployeeApiTest>\n >();\n\n const intAndDouble = base.pivotTo(\"lead\").selectProperty(\n \"employeeId\",\n )\n .add(base.selectProperty(\"performanceScore\")).add(\n base.selectProperty(\"employeeId\"),\n );\n expectTypeOf(intAndDouble).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n const longAndDouble = base.pivotTo(\"lead\").selectProperty(\n \"yearsOfExperience\",\n )\n .add(base.selectProperty(\"performanceScore\")).add(\n base.selectProperty(\"yearsOfExperience\"),\n );\n expectTypeOf(longAndDouble).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n const longAndLong = base.pivotTo(\"lead\").selectProperty(\n \"yearsOfExperience\",\n )\n .add(base.selectProperty(\"yearsOfExperience\"));\n expectTypeOf(longAndLong).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\"long\", EmployeeApiTest>\n >();\n\n const intAndInt = base.pivotTo(\"lead\").selectProperty(\"employeeId\")\n .add(base.selectProperty(\"employeeId\"));\n expectTypeOf(intAndInt).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"integer\",\n EmployeeApiTest\n >\n >();\n\n const intLongDoubleChain = base.pivotTo(\"lead\").selectProperty(\n \"employeeId\",\n ).add(base.selectProperty(\"yearsOfExperience\")).add(\n base.selectProperty(\"employeeId\"),\n ).add(\n base.selectProperty(\"performanceScore\"),\n ).add(base.selectProperty(\"employeeId\"));\n expectTypeOf(intLongDoubleChain).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n const shortAndIntReturnsInt = base.pivotTo(\"lead\").selectProperty(\n \"rank\",\n ).add(base.selectProperty(\"employeeId\"));\n expectTypeOf(shortAndIntReturnsInt).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"integer\",\n EmployeeApiTest\n >\n >();\n\n const shortAndFloatReturnsDouble = base.pivotTo(\"lead\")\n .selectProperty(\n \"rank\",\n ).add(base.selectProperty(\"hourlyRate\"));\n expectTypeOf(shortAndFloatReturnsDouble).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n return intLongDoubleChain;\n },\n });\n });\n\n it(\"allows adding number literals as a double\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const plus = base.pivotTo(\"lead\").selectProperty(\"employeeId\")\n .add(1);\n expectTypeOf(plus).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n return plus;\n },\n });\n });\n\n it(\"allows adding literals via base.constant\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const plus = base.pivotTo(\"lead\").selectProperty(\"employeeId\")\n .add(base.constant.double(1));\n expectTypeOf(plus).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n const intPlusIntReturnsInt = base.pivotTo(\"lead\").selectProperty(\n \"employeeId\",\n )\n .add(base.constant.integer(1));\n expectTypeOf(intPlusIntReturnsInt).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"integer\",\n EmployeeApiTest\n >\n >();\n\n return plus;\n },\n });\n });\n\n it(\"allows correctly typed nested property definitions\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const nested = base.pivotTo(\"lead\").selectProperty(\"employeeId\")\n .add(\n base.pivotTo(\"peeps\").aggregate(\"employeeId:sum\"),\n );\n expectTypeOf(nested).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n return nested;\n },\n });\n });\n\n it(\"allows correctly types property keys off the linked OT\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const nested = base.pivotTo(\"lead\").selectProperty(\"employeeId\")\n .add(\n base.selectProperty(\"performanceScore\"),\n );\n expectTypeOf(nested).toEqualTypeOf<\n DerivedProperty.NumericPropertyDefinition<\n \"double\",\n EmployeeApiTest\n >\n >();\n\n return nested;\n },\n });\n });\n\n // it(\"allows correctly types property keys off the base OT\", () => {});\n });\n describe(\"datetime expressions\", () => {\n it(\"provides correct methods off of datetime selections\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const selectedDatetime = base.pivotTo(\"lead\").selectProperty(\n \"dateOfJoining\",\n );\n\n expectTypeOf(selectedDatetime).toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"datetime\" | undefined,\n EmployeeApiTest\n >\n >();\n\n selectedDatetime.max(base.selectProperty(\"dateOfJoining\"));\n selectedDatetime.min(base.selectProperty(\"lastUpdated\"));\n\n expectTypeOf(base.pivotTo(\"lead\").selectProperty(\"lastUpdated\"))\n .toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"timestamp\" | undefined,\n EmployeeApiTest\n >\n >();\n\n return selectedDatetime;\n },\n });\n });\n\n it(\"correctly coerces datetime types\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const max = base.pivotTo(\"lead\").selectProperty(\"dateOfJoining\")\n .max(base.selectProperty(\"lastUpdated\"));\n expectTypeOf(max).toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"timestamp\",\n EmployeeApiTest\n >\n >();\n\n const min = base.pivotTo(\"lead\").selectProperty(\"dateOfJoining\")\n .min(base.selectProperty(\"dateOfJoining\"));\n expectTypeOf(min).toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"datetime\",\n EmployeeApiTest\n >\n >();\n\n return max;\n },\n });\n });\n\n it(\"allows adding literals via base.constant\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const dateAndDateReturnDate = base.pivotTo(\"lead\").selectProperty(\n \"dateOfJoining\",\n )\n .min(base.constant.datetime(\"2025-01-01T00:00:00Z\"));\n expectTypeOf(dateAndDateReturnDate).toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"datetime\",\n EmployeeApiTest\n >\n >();\n\n const dateAndTimeReturnTime = base.pivotTo(\"lead\").selectProperty(\n \"dateOfJoining\",\n )\n .min(base.constant.timestamp(\"2025-01-01T00:00:00Z\"));\n expectTypeOf(dateAndTimeReturnTime).toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"timestamp\",\n EmployeeApiTest\n >\n >();\n\n return dateAndTimeReturnTime;\n },\n });\n });\n\n it(\"allows correctly typed nested property definitions\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const nested = base.pivotTo(\"lead\").selectProperty(\"dateOfJoining\")\n .min(\n base.pivotTo(\"lead\").pivotTo(\"lead\").selectProperty(\n \"lastUpdated\",\n ),\n );\n expectTypeOf(nested).toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"timestamp\",\n EmployeeApiTest\n >\n >();\n\n return nested;\n },\n });\n });\n\n it(\"allows correctly typed property keys off the linked OT\", () => {\n const objectSet = fauxObjectSet.withProperties({\n \"myProp1\": (base) => {\n const nested = base.pivotTo(\"lead\").selectProperty(\"dateOfJoining\")\n .min(\n base.selectProperty(\"lastUpdated\"),\n );\n expectTypeOf(nested).toEqualTypeOf<\n DerivedProperty.DatetimePropertyDefinition<\n \"timestamp\",\n EmployeeApiTest\n >\n >();\n\n return nested;\n },\n });\n });\n\n // it(\"allows correctly typed property keys off the base OT\", () => {});\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionDefinition.js","names":["ActionMetadata"],"sources":["ActionDefinition.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OsdkMetadata } from \"../OsdkMetadata.js\";\nimport type { InterfaceDefinition } from \"./InterfaceDefinition.js\";\nimport type {\n ObjectTypeDefinition,\n ReleaseStatus,\n} from \"./ObjectTypeDefinition.js\";\n\nexport interface ActionMetadata {\n type: \"action\";\n apiName: string;\n description?: string;\n displayName?: string;\n parameters: Record<any, ActionMetadata.Parameter<any>>;\n modifiedEntities?: Partial<\n Record<any, {\n created: boolean;\n modified: boolean;\n }>\n >;\n status: ReleaseStatus;\n rid: string;\n}\n\nexport namespace ActionMetadata {\n export interface Parameter<\n T_Target extends ObjectTypeDefinition = never,\n > {\n type:\n | DataType.BaseActionParameterTypes\n | DataType.Object<any>\n | DataType.ObjectSet<any>\n | DataType.Interface<any>\n | DataType.Struct<any>;\n description?: string;\n multiplicity?: boolean;\n nullable?: boolean;\n }\n\n export namespace DataType {\n export type BaseActionParameterTypes =\n | \"boolean\"\n | \"string\"\n | \"integer\"\n | \"long\"\n | \"double\"\n | \"datetime\"\n | \"timestamp\"\n | \"attachment\"\n | \"marking\"\n | \"mediaReference\"\n | \"objectType\";\n\n export interface Object<\n T_Target extends ObjectTypeDefinition = never,\n > {\n __OsdkTargetType?: T_Target;\n type: \"object\";\n object: T_Target[\"apiName\"];\n }\n\n export interface Interface<T_Target extends InterfaceDefinition = never> {\n __OsdkTargetType?: T_Target;\n type: \"interface\";\n interface: T_Target[\"apiName\"];\n }\n\n export interface ObjectSet<\n T_Target extends ObjectTypeDefinition = never,\n > {\n __OsdkTargetType?: T_Target;\n type: \"objectSet\";\n objectSet: T_Target[\"apiName\"];\n }\n\n export interface Struct<\n T extends Record<string, DataType.BaseActionParameterTypes>,\n > {\n type: \"struct\";\n struct: T;\n }\n }\n}\n\nexport interface ActionCompileTimeMetadata<T> {\n signatures: T;\n}\n\nexport interface ActionDefinition<\n T_signatures = never,\n> {\n type: \"action\";\n apiName: string;\n osdkMetadata?: OsdkMetadata;\n __DefinitionMetadata?:\n & ActionCompileTimeMetadata<T_signatures>\n & ActionMetadata;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAuCiBA,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"ActionDefinition.js","names":["ActionMetadata"],"sources":["ActionDefinition.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OsdkMetadata } from \"../OsdkMetadata.js\";\nimport type { InterfaceDefinition } from \"./InterfaceDefinition.js\";\nimport type {\n ObjectTypeDefinition,\n ReleaseStatus,\n} from \"./ObjectTypeDefinition.js\";\n\nexport interface ActionMetadata {\n type: \"action\";\n apiName: string;\n description?: string;\n displayName?: string;\n parameters: Record<any, ActionMetadata.Parameter<any>>;\n modifiedEntities?: Partial<\n Record<any, {\n created: boolean;\n modified: boolean;\n }>\n >;\n status: ReleaseStatus;\n rid: string;\n}\n\nexport namespace ActionMetadata {\n export interface Parameter<\n T_Target extends ObjectTypeDefinition = never,\n > {\n type:\n | DataType.BaseActionParameterTypes\n | DataType.Object<any>\n | DataType.ObjectSet<any>\n | DataType.Interface<any>\n | DataType.Struct<any>;\n description?: string;\n multiplicity?: boolean;\n nullable?: boolean;\n }\n\n export namespace DataType {\n export type BaseActionParameterTypes =\n | \"boolean\"\n | \"string\"\n | \"integer\"\n | \"long\"\n | \"double\"\n | \"datetime\"\n | \"timestamp\"\n | \"attachment\"\n | \"marking\"\n | \"mediaReference\"\n | \"objectType\"\n | \"geoshape\"\n | \"geohash\";\n\n export interface Object<\n T_Target extends ObjectTypeDefinition = never,\n > {\n __OsdkTargetType?: T_Target;\n type: \"object\";\n object: T_Target[\"apiName\"];\n }\n\n export interface Interface<T_Target extends InterfaceDefinition = never> {\n __OsdkTargetType?: T_Target;\n type: \"interface\";\n interface: T_Target[\"apiName\"];\n }\n\n export interface ObjectSet<\n T_Target extends ObjectTypeDefinition = never,\n > {\n __OsdkTargetType?: T_Target;\n type: \"objectSet\";\n objectSet: T_Target[\"apiName\"];\n }\n\n export interface Struct<\n T extends Record<string, DataType.BaseActionParameterTypes>,\n > {\n type: \"struct\";\n struct: T;\n }\n }\n}\n\nexport interface ActionCompileTimeMetadata<T> {\n signatures: T;\n}\n\nexport interface ActionDefinition<\n T_signatures = never,\n> {\n type: \"action\";\n apiName: string;\n osdkMetadata?: OsdkMetadata;\n __DefinitionMetadata?:\n & ActionCompileTimeMetadata<T_signatures>\n & ActionMetadata;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAuCiBA,cAAc","ignoreList":[]}
@@ -14,4 +14,5 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export let DerivedObjectOrInterfaceDefinition;
17
+ export let PropertyKeys;
17
18
  //# sourceMappingURL=ObjectOrInterface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectOrInterface.js","names":["DerivedObjectOrInterfaceDefinition"],"sources":["ObjectOrInterface.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InterfaceDefinition } from \"./InterfaceDefinition.js\";\nimport type { ObjectTypeDefinition } from \"./ObjectTypeDefinition.js\";\nimport type { SimplePropertyDef } from \"./SimplePropertyDef.js\";\n\nexport type ObjectOrInterfaceDefinition =\n | ObjectTypeDefinition\n | InterfaceDefinition;\n\nexport namespace DerivedObjectOrInterfaceDefinition {\n export type WithDerivedProperties<\n K extends ObjectOrInterfaceDefinition,\n D extends Record<string, SimplePropertyDef>,\n > = {\n __DefinitionMetadata: {\n properties: {\n [T in keyof D]: SimplePropertyDef.ToPropertyDef<D[T]>;\n };\n props: {\n [T in keyof D]: SimplePropertyDef.ToRuntimeProperty<D[T]>;\n };\n };\n } & K;\n}\n\nexport type PropertyKeys<\n O extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n> =\n & (keyof NonNullable<O[\"__DefinitionMetadata\"]>[\"properties\"] | keyof RDPs)\n & string;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAwBiBA,kCAAkC","ignoreList":[]}
1
+ {"version":3,"file":"ObjectOrInterface.js","names":["DerivedObjectOrInterfaceDefinition","PropertyKeys"],"sources":["ObjectOrInterface.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { IncludeValuesExtending } from \"../util/IncludeValuesExtending.js\";\nimport type { InterfaceDefinition } from \"./InterfaceDefinition.js\";\nimport type {\n CompileTimeMetadata,\n ObjectTypeDefinition,\n} from \"./ObjectTypeDefinition.js\";\nimport type { SimplePropertyDef } from \"./SimplePropertyDef.js\";\nimport type { WirePropertyTypes } from \"./WirePropertyTypes.js\";\n\nexport type ObjectOrInterfaceDefinition =\n | ObjectTypeDefinition\n | InterfaceDefinition;\n\nexport namespace DerivedObjectOrInterfaceDefinition {\n export type WithDerivedProperties<\n K extends ObjectOrInterfaceDefinition,\n D extends Record<string, SimplePropertyDef>,\n > = {\n __DefinitionMetadata: {\n properties: {\n [T in keyof D]: SimplePropertyDef.ToPropertyDef<D[T]>;\n };\n props: {\n [T in keyof D]: SimplePropertyDef.ToRuntimeProperty<D[T]>;\n };\n };\n } & K;\n}\n\nexport type PropertyKeys<\n O extends ObjectOrInterfaceDefinition,\n> =\n & (keyof CompileTimeMetadata<O>[\"properties\"])\n & string;\n\nexport namespace PropertyKeys {\n export type Filtered<\n Q extends ObjectOrInterfaceDefinition,\n T extends WirePropertyTypes,\n > = keyof IncludeValuesExtending<\n CompileTimeMetadata<Q>[\"properties\"],\n { type: T }\n >;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WA6BiBA,kCAAkC;AAAA,WAsBlCC,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectSpecifier.js","names":[],"sources":["ObjectSpecifier.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 InterfaceDefinition,\n InterfaceMetadata,\n} from \"./InterfaceDefinition.js\";\nimport type { ObjectOrInterfaceDefinition } from \"./ObjectOrInterface.js\";\n\nexport type ObjectSpecifier<Q extends ObjectOrInterfaceDefinition> = string & {\n __apiName:\n | Q[\"apiName\"]\n | (Q extends InterfaceDefinition\n ? NonNullable<Q[\"__DefinitionMetadata\"]> extends InterfaceMetadata\n ? NonNullable<\n NonNullable<Q[\"__DefinitionMetadata\"]>[\"implementedBy\"]\n >[number]\n : never\n : never);\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"ObjectSpecifier.js","names":[],"sources":["ObjectSpecifier.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 InterfaceDefinition,\n InterfaceMetadata,\n} from \"./InterfaceDefinition.js\";\nimport type { ObjectOrInterfaceDefinition } from \"./ObjectOrInterface.js\";\nimport type { CompileTimeMetadata } from \"./ObjectTypeDefinition.js\";\n\nexport type ObjectSpecifier<Q extends ObjectOrInterfaceDefinition> = string & {\n __apiName:\n | Q[\"apiName\"]\n | (Q extends InterfaceDefinition\n ? CompileTimeMetadata<Q> extends InterfaceMetadata\n ? NonNullable<CompileTimeMetadata<Q>[\"implementedBy\"]>[number]\n : never\n : never);\n};\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryKeyTypes.js","names":[],"sources":["PrimaryKeyTypes.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type PrimaryKeyTypes =\n | \"string\"\n | \"datetime\"\n | \"double\"\n | \"boolean\"\n | \"integer\"\n | \"timestamp\"\n | \"short\"\n | \"long\"\n | \"byte\";\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"PrimaryKeyTypes.js","names":[],"sources":["PrimaryKeyTypes.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type PrimaryKeyTypes =\n | \"string\"\n | \"datetime\"\n | \"double\"\n | \"integer\"\n | \"timestamp\"\n | \"short\"\n | \"long\"\n | \"byte\";\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryDefinition.js","names":[],"sources":["QueryDefinition.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OsdkMetadata } from \"../OsdkMetadata.js\";\nimport type { ObjectTypeDefinition } from \"./ObjectTypeDefinition.js\";\n\nexport interface QueryMetadata {\n type: \"query\";\n apiName: string;\n description?: string;\n displayName?: string;\n version: string;\n parameters: Record<string, QueryParameterDefinition<any>>;\n output: QueryDataTypeDefinition;\n rid: string;\n}\n\nexport interface QueryCompileTimeMetadata<T> {\n signature: T;\n}\n\nexport interface QueryDefinition<T = any> {\n type: \"query\";\n apiName: string;\n osdkMetadata?: OsdkMetadata;\n __DefinitionMetadata?:\n & QueryCompileTimeMetadata<T>\n & QueryMetadata;\n}\n\nexport type QueryParameterDefinition<\n T_Target extends ObjectTypeDefinition = any,\n> = {\n description?: string;\n} & QueryDataTypeDefinition<T_Target>;\n\nexport type QueryDataTypeDefinition<\n T_Target extends ObjectTypeDefinition = any,\n> =\n | PrimitiveDataType\n | ObjectQueryDataType<T_Target>\n | ObjectSetQueryDataType<T_Target>\n | SetQueryDataType\n | UnionQueryDataType\n | StructQueryDataType\n | TwoDimensionalAggregationDataType\n | ThreeDimensionalAggregationDataType\n | MapDataType;\n\nexport type BaseQueryDataTypeDefinition<T extends string> = {\n multiplicity?: boolean;\n nullable?: boolean;\n type: T;\n};\n\nexport type WireQueryDataTypes =\n | \"double\"\n | \"float\"\n | \"integer\"\n | \"long\"\n | \"boolean\"\n | \"string\"\n | \"date\"\n | \"timestamp\"\n | \"attachment\";\n\nexport type PrimitiveDataType<\n Q extends WireQueryDataTypes = WireQueryDataTypes,\n> = BaseQueryDataTypeDefinition<Q>;\n\nexport interface ObjectQueryDataType<\n T_Target extends ObjectTypeDefinition = never,\n> extends BaseQueryDataTypeDefinition<\"object\"> {\n object: string;\n __OsdkTargetType?: T_Target;\n}\n\nexport interface ObjectSetQueryDataType<\n T_Target extends ObjectTypeDefinition = never,\n> extends BaseQueryDataTypeDefinition<\"objectSet\"> {\n objectSet: string;\n __OsdkTargetType?: T_Target;\n}\n\nexport interface SetQueryDataType extends BaseQueryDataTypeDefinition<\"set\"> {\n set: QueryDataTypeDefinition;\n}\n\nexport interface UnionQueryDataType\n extends BaseQueryDataTypeDefinition<\"union\">\n{\n union: ReadonlyArray<QueryDataTypeDefinition>;\n}\n\nexport interface StructQueryDataType\n extends BaseQueryDataTypeDefinition<\"struct\">\n{\n struct: Record<string, QueryDataTypeDefinition>;\n}\n\nexport interface TwoDimensionalAggregationDataType\n extends BaseQueryDataTypeDefinition<\"twoDimensionalAggregation\">\n{\n twoDimensionalAggregation: TwoDimensionalQueryAggregationDefinition;\n}\n\nexport interface ThreeDimensionalAggregationDataType\n extends BaseQueryDataTypeDefinition<\"threeDimensionalAggregation\">\n{\n threeDimensionalAggregation: ThreeDimensionalQueryAggregationDefinition;\n}\n\nexport interface MapDataType extends BaseQueryDataTypeDefinition<\"map\"> {\n keyType: QueryDataTypeDefinition;\n valueType: QueryDataTypeDefinition;\n}\n\nexport type AggregationKeyDataType<V = any> =\n | SimpleAggregationKeyDataType<V>\n | RangeAggregationKeyDataType<V>;\n\nexport interface SimpleAggregationKeyDataType<V = any> {\n keyType: Exclude<AggregationKeyTypes, \"range\">;\n valueType: V;\n}\nexport interface RangeAggregationKeyDataType<V = any> {\n keyType: \"range\";\n keySubtype: AggregationRangeKeyTypes;\n valueType: V;\n}\n\nexport type TwoDimensionalQueryAggregationDefinition = AggregationKeyDataType<\n AggregationValueTypes\n>;\n\nexport type ThreeDimensionalQueryAggregationDefinition = AggregationKeyDataType<\n TwoDimensionalQueryAggregationDefinition\n>;\n\nexport type AggregationKeyTypes =\n | \"boolean\"\n | \"string\"\n | \"date\"\n | \"double\"\n | \"integer\"\n | \"timestamp\"\n | \"range\";\n\nexport type AggregationRangeKeyTypes =\n | \"date\"\n | \"double\"\n | \"integer\"\n | \"timestamp\";\n\nexport type AggregationValueTypes = \"date\" | \"double\" | \"timestamp\";\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"QueryDefinition.js","names":[],"sources":["QueryDefinition.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OsdkMetadata } from \"../OsdkMetadata.js\";\nimport type { ObjectTypeDefinition } from \"./ObjectTypeDefinition.js\";\n\nexport interface QueryMetadata {\n type: \"query\";\n apiName: string;\n description?: string;\n displayName?: string;\n version: string;\n parameters: Record<string, QueryParameterDefinition<any>>;\n output: QueryDataTypeDefinition;\n rid: string;\n}\n\nexport interface QueryCompileTimeMetadata<T> {\n signature: T;\n}\n\nexport interface QueryDefinition<T = any> {\n type: \"query\";\n apiName: string;\n version?: string;\n isFixedVersion?: boolean;\n osdkMetadata?: OsdkMetadata;\n __DefinitionMetadata?:\n & QueryCompileTimeMetadata<T>\n & QueryMetadata;\n}\n\nexport type QueryParameterDefinition<\n T_Target extends ObjectTypeDefinition = any,\n> = {\n description?: string;\n} & QueryDataTypeDefinition<T_Target>;\n\nexport type QueryDataTypeDefinition<\n T_Target extends ObjectTypeDefinition = any,\n> =\n | PrimitiveDataType\n | ObjectQueryDataType<T_Target>\n | ObjectSetQueryDataType<T_Target>\n | SetQueryDataType\n | UnionQueryDataType\n | StructQueryDataType\n | TwoDimensionalAggregationDataType\n | ThreeDimensionalAggregationDataType\n | MapDataType;\n\nexport type BaseQueryDataTypeDefinition<T extends string> = {\n multiplicity?: boolean;\n nullable?: boolean;\n type: T;\n};\n\nexport type WireQueryDataTypes =\n | \"double\"\n | \"float\"\n | \"integer\"\n | \"long\"\n | \"boolean\"\n | \"string\"\n | \"date\"\n | \"timestamp\"\n | \"attachment\";\n\nexport type PrimitiveDataType<\n Q extends WireQueryDataTypes = WireQueryDataTypes,\n> = BaseQueryDataTypeDefinition<Q>;\n\nexport interface ObjectQueryDataType<\n T_Target extends ObjectTypeDefinition = never,\n> extends BaseQueryDataTypeDefinition<\"object\"> {\n object: string;\n __OsdkTargetType?: T_Target;\n}\n\nexport interface ObjectSetQueryDataType<\n T_Target extends ObjectTypeDefinition = never,\n> extends BaseQueryDataTypeDefinition<\"objectSet\"> {\n objectSet: string;\n __OsdkTargetType?: T_Target;\n}\n\nexport interface SetQueryDataType extends BaseQueryDataTypeDefinition<\"set\"> {\n set: QueryDataTypeDefinition;\n}\n\nexport interface UnionQueryDataType\n extends BaseQueryDataTypeDefinition<\"union\">\n{\n union: ReadonlyArray<QueryDataTypeDefinition>;\n}\n\nexport interface StructQueryDataType\n extends BaseQueryDataTypeDefinition<\"struct\">\n{\n struct: Record<string, QueryDataTypeDefinition>;\n}\n\nexport interface TwoDimensionalAggregationDataType\n extends BaseQueryDataTypeDefinition<\"twoDimensionalAggregation\">\n{\n twoDimensionalAggregation: TwoDimensionalQueryAggregationDefinition;\n}\n\nexport interface ThreeDimensionalAggregationDataType\n extends BaseQueryDataTypeDefinition<\"threeDimensionalAggregation\">\n{\n threeDimensionalAggregation: ThreeDimensionalQueryAggregationDefinition;\n}\n\nexport interface MapDataType extends BaseQueryDataTypeDefinition<\"map\"> {\n keyType: QueryDataTypeDefinition;\n valueType: QueryDataTypeDefinition;\n}\n\nexport type AggregationKeyDataType<V = any> =\n | SimpleAggregationKeyDataType<V>\n | RangeAggregationKeyDataType<V>;\n\nexport interface SimpleAggregationKeyDataType<V = any> {\n keyType: Exclude<AggregationKeyTypes, \"range\">;\n valueType: V;\n}\nexport interface RangeAggregationKeyDataType<V = any> {\n keyType: \"range\";\n keySubtype: AggregationRangeKeyTypes;\n valueType: V;\n}\n\nexport type TwoDimensionalQueryAggregationDefinition = AggregationKeyDataType<\n AggregationValueTypes\n>;\n\nexport type ThreeDimensionalQueryAggregationDefinition = AggregationKeyDataType<\n TwoDimensionalQueryAggregationDefinition\n>;\n\nexport type AggregationKeyTypes =\n | \"boolean\"\n | \"string\"\n | \"date\"\n | \"double\"\n | \"integer\"\n | \"timestamp\"\n | \"range\";\n\nexport type AggregationRangeKeyTypes =\n | \"date\"\n | \"double\"\n | \"integer\"\n | \"timestamp\";\n\nexport type AggregationValueTypes = \"date\" | \"double\" | \"timestamp\";\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SimplePropertyDef.js","names":["SimplePropertyDef"],"sources":["SimplePropertyDef.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { GetClientPropertyValueFromWire } from \"../mapping/PropertyValueMapping.js\";\nimport type { ObjectMetadata, PropertyDef } from \"./ObjectTypeDefinition.js\";\nimport type { WirePropertyTypes } from \"./WirePropertyTypes.js\";\n\nexport type SimplePropertyDef =\n | WirePropertyTypes\n | undefined\n | Array<WirePropertyTypes>;\n\nexport namespace SimplePropertyDef {\n export type Make<\n T extends WirePropertyTypes,\n N extends boolean | undefined,\n M extends boolean | undefined,\n > =\n // while it is cleaner to just do this as the union of two conditionals, it\n // actually makes it so that it can't be derived inline which we want\n // to keep things simple so instead of :\n // | (P[\"multiplicity\"] extends true ? Array<P[\"type\"]> : P[\"type\"])\n // | (P[\"nullable\"] extends true ? undefined : never);\n // we do:\n M extends true ? N extends true ? Array<T> | undefined\n : Array<T>\n : N extends true ? T | undefined\n : T;\n\n export type FromPropertyMetadata<\n P extends ObjectMetadata.Property,\n > = Make<P[\"type\"], P[\"nullable\"], P[\"multiplicity\"]>;\n\n // exported for testing\n export type ExtractMultiplicity<\n T extends\n | WirePropertyTypes\n | undefined\n | Array<WirePropertyTypes>,\n > = NonNullable<T> extends Array<any> ? \"array\" : \"single\";\n\n // exported for testing\n export type ExtractWirePropertyType<\n T extends SimplePropertyDef,\n > = T extends Array<infer Z> ? NonNullable<Z> : NonNullable<T>;\n\n // exported for testing\n export type ExtractNullable<\n T extends SimplePropertyDef,\n > = [undefined] extends [T] ? \"nullable\"\n : [[undefined]] extends [T] ? \"nullable\"\n : \"non-nullable\";\n\n export type ToPropertyDef<S extends SimplePropertyDef> = PropertyDef<\n SimplePropertyDef.ExtractWirePropertyType<S>,\n SimplePropertyDef.ExtractNullable<S>,\n SimplePropertyDef.ExtractMultiplicity<S>\n >;\n\n export type ExtractRuntimeBaseType<S extends SimplePropertyDef> =\n GetClientPropertyValueFromWire<\n SimplePropertyDef.ExtractWirePropertyType<S>\n >;\n\n export type ToRuntimeProperty<S extends SimplePropertyDef> =\n ExtractMultiplicity<S> extends \"array\"\n ? ExtractNullable<S> extends \"nullable\"\n ? Array<ExtractRuntimeBaseType<S>> | undefined\n : Array<ExtractRuntimeBaseType<S>>\n : ExtractNullable<S> extends \"nullable\"\n ? ExtractRuntimeBaseType<S> | undefined\n : ExtractRuntimeBaseType<S>;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAyBiBA,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"SimplePropertyDef.js","names":["SimplePropertyDef"],"sources":["SimplePropertyDef.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { GetClientPropertyValueFromWire } from \"../mapping/PropertyValueMapping.js\";\nimport type { ObjectMetadata, PropertyDef } from \"./ObjectTypeDefinition.js\";\nimport type { WirePropertyTypes } from \"./WirePropertyTypes.js\";\n\nexport type SimplePropertyDef =\n | WirePropertyTypes\n | undefined\n | Array<WirePropertyTypes>;\n\nexport namespace SimplePropertyDef {\n export type Make<\n T extends WirePropertyTypes,\n N extends \"nullable\" | \"non-nullable\",\n M extends \"array\" | \"single\",\n > =\n // while it is cleaner to just do this as the union of two conditionals, it\n // actually makes it so that it can't be derived inline which we want\n // to keep things simple so instead of :\n // | (P[\"multiplicity\"] extends true ? Array<P[\"type\"]> : P[\"type\"])\n // | (P[\"nullable\"] extends true ? undefined : never);\n // we do:\n M extends \"array\" ? N extends \"nullable\" ? Array<T> | undefined\n : Array<T>\n : N extends \"nullable\" ? T | undefined\n : T;\n\n export type FromPropertyMetadata<\n P extends ObjectMetadata.Property,\n > = Make<\n P[\"type\"],\n P[\"nullable\"] extends true ? \"nullable\" : \"non-nullable\",\n P[\"multiplicity\"] extends true ? \"array\" : \"single\"\n >;\n\n // exported for testing\n export type ExtractMultiplicity<\n T extends\n | WirePropertyTypes\n | undefined\n | Array<WirePropertyTypes>,\n > = NonNullable<T> extends Array<any> ? \"array\" : \"single\";\n\n // exported for testing\n export type ExtractWirePropertyType<\n T extends SimplePropertyDef,\n > = T extends Array<infer Z> ? NonNullable<Z> : NonNullable<T>;\n\n // exported for testing\n export type ExtractNullable<\n T extends SimplePropertyDef,\n > = [undefined] extends [T] ? \"nullable\"\n : [[undefined]] extends [T] ? \"nullable\"\n : \"non-nullable\";\n\n export type ToPropertyDef<S extends SimplePropertyDef> = PropertyDef<\n SimplePropertyDef.ExtractWirePropertyType<S>,\n SimplePropertyDef.ExtractNullable<S>,\n SimplePropertyDef.ExtractMultiplicity<S>\n >;\n\n export type ExtractRuntimeBaseType<S extends SimplePropertyDef> =\n GetClientPropertyValueFromWire<\n SimplePropertyDef.ExtractWirePropertyType<S>\n >;\n\n export type ToRuntimeProperty<S extends SimplePropertyDef> =\n ExtractMultiplicity<S> extends \"array\"\n ? ExtractNullable<S> extends \"nullable\"\n ? Array<ExtractRuntimeBaseType<S>> | undefined\n : Array<ExtractRuntimeBaseType<S>>\n : ExtractNullable<S> extends \"nullable\"\n ? ExtractRuntimeBaseType<S> | undefined\n : ExtractRuntimeBaseType<S>;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAyBiBA,iBAAiB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Queries.js","names":["QueryParam","QueryResult"],"sources":["Queries.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DataValueClientToWire,\n DataValueWireToClient,\n} from \"../mapping/DataValueMapping.js\";\nimport type { ObjectSet } from \"../objectSet/ObjectSet.js\";\nimport type { ObjectTypeDefinition } from \"../ontology/ObjectTypeDefinition.js\";\nimport type {\n AggregationKeyTypes,\n AggregationRangeKeyTypes,\n AggregationValueTypes,\n} from \"../ontology/QueryDefinition.js\";\nimport type { OsdkBase } from \"../OsdkBase.js\";\nimport type { OsdkObjectPrimaryKeyType } from \"../OsdkObjectPrimaryKeyType.js\";\nimport type {\n AggKeyClientToWire,\n AggKeyWireToClient,\n AggValueClientToWire,\n AggValueWireToClient,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"./Aggregations.js\";\n\n/**\n * Helper types for converting query definition parameter types to typescript types\n */\nexport namespace QueryParam {\n /**\n * Helper type to convert action definition parameter primitives to typescript types\n */\n export type PrimitiveType<T extends keyof DataValueClientToWire> =\n DataValueClientToWire[T];\n\n /**\n * Helper type to convert action definition parameter object types to typescript types\n */\n export type ObjectType<T extends ObjectTypeDefinition> =\n | OsdkBase<T>\n | OsdkObjectPrimaryKeyType<T>;\n\n /**\n * Helper type to convert action definition parameter object sets to typescript types\n */\n export type ObjectSetType<T extends ObjectTypeDefinition> = ObjectSet<T>;\n\n export type RangeKey<T extends AggregationRangeKeyTypes> = AggKeyClientToWire<\n \"range\",\n T\n >;\n\n export type TwoDimensionalAggregationType<\n T extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = TwoDimensionalAggregation<\n T extends AggregationKeyTypes ? AggKeyClientToWire<T> : T,\n AggValueClientToWire<V>\n >;\n\n export type ThreeDimensionalAggregationType<\n OUT extends AggregationKeyTypes | RangeKey<any>,\n IN extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = ThreeDimensionalAggregation<\n OUT extends AggregationKeyTypes ? AggKeyClientToWire<OUT> : OUT,\n IN extends AggregationKeyTypes ? AggKeyClientToWire<IN> : IN,\n AggValueClientToWire<V>\n >;\n}\n\n/**\n * Helper types for converting query result types to typescript types\n */\nexport namespace QueryResult {\n /**\n * Helper type to convert action definition parameter primitives to typescript types\n */\n export type PrimitiveType<T extends keyof DataValueClientToWire> =\n DataValueWireToClient[T];\n\n /**\n * Helper type to convert action definition parameter object types to typescript types\n */\n export type ObjectType<T extends ObjectTypeDefinition> = OsdkBase<T>;\n\n /**\n * Helper type to convert action definition parameter object sets to typescript types\n */\n export type ObjectSetType<T extends ObjectTypeDefinition> = ObjectSet<\n T\n >;\n\n export type RangeKey<T extends AggregationRangeKeyTypes> = AggKeyWireToClient<\n \"range\",\n T\n >;\n\n export type TwoDimensionalAggregationType<\n T extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = TwoDimensionalAggregation<\n T extends AggregationKeyTypes ? AggKeyWireToClient<T> : T,\n AggValueWireToClient<V>\n >;\n\n export type ThreeDimensionalAggregationType<\n OUT extends AggregationKeyTypes | RangeKey<any>,\n IN extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = ThreeDimensionalAggregation<\n OUT extends AggregationKeyTypes ? AggKeyWireToClient<OUT> : OUT,\n IN extends AggregationKeyTypes ? AggKeyWireToClient<IN> : IN,\n AggValueWireToClient<V>\n >;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAwBA;AACA;AACA;AAFA,WAGiBA,UAAU;AA2C3B;AACA;AACA;AAFA,WAGiBC,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"Queries.js","names":["QueryParam","QueryResult"],"sources":["Queries.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DataValueClientToWire,\n DataValueWireToClient,\n} from \"../mapping/DataValueMapping.js\";\nimport type { ObjectSet } from \"../objectSet/ObjectSet.js\";\nimport type { ObjectTypeDefinition } from \"../ontology/ObjectTypeDefinition.js\";\nimport type {\n AggregationKeyTypes,\n AggregationRangeKeyTypes,\n AggregationValueTypes,\n} from \"../ontology/QueryDefinition.js\";\nimport type { ObjectIdentifiers, OsdkBase } from \"../OsdkBase.js\";\nimport type { OsdkObjectPrimaryKeyType } from \"../OsdkObjectPrimaryKeyType.js\";\nimport type {\n AggKeyClientToWire,\n AggKeyWireToClient,\n AggValueClientToWire,\n AggValueWireToClient,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"./Aggregations.js\";\n\n/**\n * Helper types for converting query definition parameter types to typescript types\n */\nexport namespace QueryParam {\n /**\n * Helper type to convert action definition parameter primitives to typescript types\n */\n export type PrimitiveType<T extends keyof DataValueClientToWire> =\n DataValueClientToWire[T];\n\n /**\n * Helper type to convert action definition parameter object types to typescript types\n */\n export type ObjectType<T extends ObjectTypeDefinition> =\n | ObjectIdentifiers<T>\n | OsdkObjectPrimaryKeyType<T>;\n\n /**\n * Helper type to convert action definition parameter object sets to typescript types\n */\n export type ObjectSetType<T extends ObjectTypeDefinition> = ObjectSet<T>;\n\n export type RangeKey<T extends AggregationRangeKeyTypes> = AggKeyClientToWire<\n \"range\",\n T\n >;\n\n export type TwoDimensionalAggregationType<\n T extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = TwoDimensionalAggregation<\n T extends AggregationKeyTypes ? AggKeyClientToWire<T> : T,\n AggValueClientToWire<V>\n >;\n\n export type ThreeDimensionalAggregationType<\n OUT extends AggregationKeyTypes | RangeKey<any>,\n IN extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = ThreeDimensionalAggregation<\n OUT extends AggregationKeyTypes ? AggKeyClientToWire<OUT> : OUT,\n IN extends AggregationKeyTypes ? AggKeyClientToWire<IN> : IN,\n AggValueClientToWire<V>\n >;\n}\n\n/**\n * Helper types for converting query result types to typescript types\n */\nexport namespace QueryResult {\n /**\n * Helper type to convert action definition parameter primitives to typescript types\n */\n export type PrimitiveType<T extends keyof DataValueClientToWire> =\n DataValueWireToClient[T];\n\n /**\n * Helper type to convert action definition parameter object types to typescript types\n */\n export type ObjectType<T extends ObjectTypeDefinition> = OsdkBase<T>;\n\n /**\n * Helper type to convert action definition parameter object sets to typescript types\n */\n export type ObjectSetType<T extends ObjectTypeDefinition> = ObjectSet<\n T\n >;\n\n export type RangeKey<T extends AggregationRangeKeyTypes> = AggKeyWireToClient<\n \"range\",\n T\n >;\n\n export type TwoDimensionalAggregationType<\n T extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = TwoDimensionalAggregation<\n T extends AggregationKeyTypes ? AggKeyWireToClient<T> : T,\n AggValueWireToClient<V>\n >;\n\n export type ThreeDimensionalAggregationType<\n OUT extends AggregationKeyTypes | RangeKey<any>,\n IN extends AggregationKeyTypes | RangeKey<any>,\n V extends AggregationValueTypes,\n > = ThreeDimensionalAggregation<\n OUT extends AggregationKeyTypes ? AggKeyWireToClient<OUT> : OUT,\n IN extends AggregationKeyTypes ? AggKeyWireToClient<IN> : IN,\n AggValueWireToClient<V>\n >;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAwBA;AACA;AACA;AAFA,WAGiBA,UAAU;AA2C3B;AACA;AACA;AAFA,WAGiBC,WAAW","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"EmployeeApiTest.js","names":["EmployeeApiTest","type","apiName"],"sources":["EmployeeApiTest.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 ObjectMetadata as $ObjectMetadata,\n ObjectSet as $ObjectSet,\n ObjectTypeDefinition as $ObjectTypeDefinition,\n PropertyDef as $PropertyDef,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n} from \"../index.js\";\n\nexport namespace EmployeeApiTest {\n export type PropertyKeys =\n | \"employeeId\"\n | \"fullName\"\n | \"class\";\n\n export interface Links {\n readonly lead: $SingleLinkAccessor<EmployeeApiTest>;\n readonly peeps: EmployeeApiTest.ObjectSet;\n }\n\n export interface Props {\n readonly class: $PropType[\"string\"] | undefined;\n readonly fullName: $PropType[\"string\"] | undefined;\n readonly employeeId: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet\n extends $ObjectSet<EmployeeApiTest, EmployeeApiTest.ObjectSet>\n {}\n}\n\nexport interface EmployeeApiTest extends $ObjectTypeDefinition {\n type: \"object\";\n apiName: \"Employee\";\n __DefinitionMetadata?: {\n objectSet: EmployeeApiTest.ObjectSet;\n props: EmployeeApiTest.Props;\n linksType: EmployeeApiTest.Links;\n strictProps: EmployeeApiTest.StrictProps;\n apiName: \"Employee\";\n description: \"A full-time or part-time \\n\\n employee of our firm\";\n displayName: \"Employee\";\n icon: {\n type: \"blueprint\";\n color: \"blue\";\n name: \"person\";\n };\n implements: [\"FooInterface\"];\n interfaceMap: {\n FooInterface: {\n fooSpt: \"fullName\";\n };\n };\n inverseInterfaceMap: {\n FooInterface: {\n fullName: \"fooSpt\";\n };\n };\n links: {\n lead: $ObjectMetadata.Link<EmployeeApiTest, false>;\n peeps: $ObjectMetadata.Link<EmployeeApiTest, true>;\n };\n pluralDisplayName: \"Employees\";\n primaryKeyApiName: \"employeeId\";\n primaryKeyType: \"integer\";\n properties: {\n class: $PropertyDef<\"string\", \"nullable\", \"single\">;\n fullName: $PropertyDef<\"string\", \"nullable\", \"single\">;\n employeeId: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"ri.ontology.main.object-type.401ac022-89eb-4591-8b7e-0a912b9efb44\";\n status: \"ACTIVE\";\n titleProperty: \"fullName\";\n type: \"object\";\n visibility: \"NORMAL\";\n };\n}\n\nexport const EmployeeApiTest: EmployeeApiTest = {\n type: \"object\",\n apiName: \"Employee\",\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiFA,OAAO,MAAMA,eAAgC,GAAG;EAC9CC,IAAI,EAAE,QAAQ;EACdC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"EmployeeApiTest.js","names":["EmployeeApiTest","type","apiName"],"sources":["EmployeeApiTest.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 ObjectMetadata as $ObjectMetadata,\n ObjectSet as $ObjectSet,\n ObjectTypeDefinition as $ObjectTypeDefinition,\n PropertyDef as $PropertyDef,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n} from \"../index.js\";\n\nexport namespace EmployeeApiTest {\n export type PropertyKeys =\n | \"employeeId\"\n | \"fullName\"\n | \"class\"\n | \"attachment\"\n | \"geopoint\"\n | \"timeseries\"\n | \"mediaReference\"\n | \"geotimeSeriesReference\"\n | \"isActive\"\n | \"yearsOfExperience\"\n | \"rank\"\n | \"performanceScore\"\n | \"hourlyRate\"\n | \"dateOfJoining\"\n | \"lastUpdated\";\n\n export interface Links {\n readonly lead: $SingleLinkAccessor<EmployeeApiTest>;\n readonly peeps: EmployeeApiTest.ObjectSet;\n }\n\n export interface Props {\n readonly class: $PropType[\"string\"] | undefined;\n readonly fullName: $PropType[\"string\"] | undefined;\n readonly employeeId: $PropType[\"integer\"] | undefined;\n readonly attachment: $PropType[\"attachment\"] | undefined;\n readonly geopoint: $PropType[\"geopoint\"] | undefined;\n readonly timeseries: $PropType[\"numericTimeseries\"] | undefined;\n readonly mediaReference: $PropType[\"mediaReference\"] | undefined;\n readonly geotimeSeriesReference:\n | $PropType[\"geotimeSeriesReference\"]\n | undefined;\n readonly isActive: $PropType[\"boolean\"] | undefined;\n readonly yearsOfExperience: $PropType[\"long\"] | undefined;\n readonly rank: $PropType[\"short\"] | undefined;\n readonly performanceScore: $PropType[\"double\"] | undefined;\n readonly hourlyRate: $PropType[\"float\"] | undefined;\n readonly dateOfJoining: $PropType[\"datetime\"] | undefined;\n readonly lastUpdated: $PropType[\"timestamp\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet\n extends $ObjectSet<EmployeeApiTest, EmployeeApiTest.ObjectSet>\n {}\n}\n\nexport interface EmployeeApiTest extends $ObjectTypeDefinition {\n type: \"object\";\n apiName: \"Employee\";\n __DefinitionMetadata?: {\n objectSet: EmployeeApiTest.ObjectSet;\n props: EmployeeApiTest.Props;\n linksType: EmployeeApiTest.Links;\n strictProps: EmployeeApiTest.StrictProps;\n apiName: \"Employee\";\n description: \"A full-time or part-time \\n\\n employee of our firm\";\n displayName: \"Employee\";\n icon: {\n type: \"blueprint\";\n color: \"blue\";\n name: \"person\";\n };\n implements: [\"FooInterface\"];\n interfaceMap: {\n FooInterface: {\n fooSpt: \"fullName\";\n };\n };\n inverseInterfaceMap: {\n FooInterface: {\n fullName: \"fooSpt\";\n };\n };\n links: {\n lead: $ObjectMetadata.Link<EmployeeApiTest, false>;\n peeps: $ObjectMetadata.Link<EmployeeApiTest, true>;\n };\n pluralDisplayName: \"Employees\";\n primaryKeyApiName: \"employeeId\";\n primaryKeyType: \"integer\";\n properties: {\n class: $PropertyDef<\"string\", \"nullable\", \"single\">;\n fullName: $PropertyDef<\"string\", \"nullable\", \"single\">;\n employeeId: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n attachment: $PropertyDef<\"attachment\", \"nullable\", \"single\">;\n geopoint: $PropertyDef<\"geopoint\", \"nullable\", \"single\">;\n timeseries: $PropertyDef<\"numericTimeseries\", \"nullable\", \"single\">;\n mediaReference: $PropertyDef<\"mediaReference\", \"nullable\", \"single\">;\n geotimeSeriesReference: $PropertyDef<\n \"geotimeSeriesReference\",\n \"nullable\",\n \"single\"\n >;\n isActive: $PropertyDef<\"boolean\", \"nullable\", \"single\">;\n yearsOfExperience: $PropertyDef<\"long\", \"nullable\", \"single\">;\n rank: $PropertyDef<\"short\", \"nullable\", \"single\">;\n performanceScore: $PropertyDef<\"double\", \"nullable\", \"single\">;\n hourlyRate: $PropertyDef<\"float\", \"nullable\", \"single\">;\n dateOfJoining: $PropertyDef<\"datetime\", \"nullable\", \"single\">;\n lastUpdated: $PropertyDef<\"timestamp\", \"nullable\", \"single\">;\n };\n rid: \"ri.ontology.main.object-type.401ac022-89eb-4591-8b7e-0a912b9efb44\";\n status: \"ACTIVE\";\n titleProperty: \"fullName\";\n type: \"object\";\n visibility: \"NORMAL\";\n };\n}\n\nexport const EmployeeApiTest: EmployeeApiTest = {\n type: \"object\",\n apiName: \"Employee\",\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2HA,OAAO,MAAMA,eAAgC,GAAG;EAC9CC,IAAI,EAAE,QAAQ;EACdC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IncludeValuesExtending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncludeValuesExtending.js","names":[],"sources":["IncludeValuesExtending.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\nexport type IncludeValuesExtending<T extends Record<keyof any, any>, M> = {\n [K in keyof T as T[K] extends M ? K : never]: T[K];\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ export interface Logger {
2
+ trace: Logger.LogFn;
3
+ debug: Logger.LogFn;
4
+ fatal: Logger.LogFn;
5
+ error: Logger.LogFn;
6
+ warn: Logger.LogFn;
7
+ info: Logger.LogFn;
8
+ isLevelEnabled(level: string): boolean;
9
+ child(bindings: Record<string, any>, options?: {
10
+ level?: string
11
+ msgPrefix?: string
12
+ }): Logger;
13
+ }
14
+ export declare namespace Logger {
15
+ interface LogFn {
16
+ (obj: unknown, msg?: string, ...args: any[]): void;
17
+ (msg: string, ...args: any[]): void;
18
+ }
19
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,iBAAiB,OAAO;CACtB,OAAO,OAAO;CACd,OAAO,OAAO;CACd,OAAO,OAAO;CACd,OAAO,OAAO;CACd,MAAM,OAAO;CACb,MAAM,OAAO;CAEb,eAAeA;CAEf,MACEC,UAAU,qBACVC,UAAU;EAAE;EAAgB;CAAoB,IAC/C;AACJ;AAED,yBAAiB;WACE,MAAM;GACpBC,cAAcC,cAAc,GAAG;GAC/BC,aAAa,GAAG;CAClB","names":["level: string","bindings: Record<string, any>","options?: { level?: string; msgPrefix?: string }","obj: unknown","msg?: string","msg: string"],"sources":["../../src/Logger.ts"],"version":3,"file":"Logger.d.ts"}
@@ -4,11 +4,13 @@ import type { ObjectSpecifier } from "./ontology/ObjectSpecifier.js";
4
4
  import type { ObjectTypeDefinition } from "./ontology/ObjectTypeDefinition.js";
5
5
  import type { PrimaryKeyTypes } from "./ontology/PrimaryKeyTypes.js";
6
6
  import type { OsdkObjectPrimaryKeyType } from "./OsdkObjectPrimaryKeyType.js";
7
- export type OsdkBase<Q extends ObjectOrInterfaceDefinition> = {
8
- readonly $apiName: Q["apiName"]
9
- readonly $objectType: string
10
- readonly $primaryKey: PrimaryKeyType<Q>
11
- readonly $title: string | undefined
12
- readonly $objectSpecifier: ObjectSpecifier<Q>
13
- };
7
+ export interface ObjectIdentifiers<Q extends ObjectOrInterfaceDefinition> {
8
+ readonly $apiName: Q["apiName"];
9
+ readonly $primaryKey: PrimaryKeyType<Q>;
10
+ }
11
+ export interface OsdkBase<Q extends ObjectOrInterfaceDefinition> extends ObjectIdentifiers<Q> {
12
+ readonly $objectSpecifier: ObjectSpecifier<Q>;
13
+ readonly $objectType: string;
14
+ readonly $title: string | undefined;
15
+ }
14
16
  export type PrimaryKeyType<Q extends ObjectOrInterfaceDefinition> = (Q extends ObjectTypeDefinition ? OsdkObjectPrimaryKeyType<Q> : unknown) & PropertyValueWireToClient[PrimaryKeyTypes];
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,iCAAiC,mCAAoC;AACnF,cAAc,mCAAmC,iCAAkC;AACnF,cAAc,uBAAuB,+BAAgC;AACrE,cAAc,4BAA4B,oCAAqC;AAC/E,cAAc,uBAAuB,+BAAgC;AACrE,cAAc,gCAAgC,+BAAgC;AAE9E,YAAY,SACV,UAAU,+BACR;UACO,UAAU,EAAE;UAEZ;UAEA,aAAa,eAAe;UAE5B;UAEA,kBAAkB,gBAAgB;AAC5C;AAED,YAAY,eAAe,UAAU,gCAChC,UAAU,uBAAuB,yBAAyB,gBAI3D,0BAA0B","names":[],"sources":["../../src/OsdkBase.ts"],"version":3,"file":"OsdkBase.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,iCAAiC,mCAAoC;AACnF,cAAc,mCAAmC,iCAAkC;AACnF,cAAc,uBAAuB,+BAAgC;AACrE,cAAc,4BAA4B,oCAAqC;AAC/E,cAAc,uBAAuB,+BAAgC;AACrE,cAAc,gCAAgC,+BAAgC;AAE9E,iBAAiB,kBACf,UAAU,6BACV;UACS,UAAU,EAAE;UAEZ,aAAa,eAAe;AACtC;AAED,iBAAiB,SACf,UAAU,qCACF,kBAAkB,GAAG;UACpB,kBAAkB,gBAAgB;UAElC;UAEA;AACV;AAED,YAAY,eAAe,UAAU,gCAChC,UAAU,uBAAuB,yBAAyB,gBAI3D,0BAA0B","names":[],"sources":["../../src/OsdkBase.ts"],"version":3,"file":"OsdkBase.d.ts"}
@@ -20,8 +20,9 @@ export type PropMapToObject<
20
20
  export type MapPropNamesToObjectType<
21
21
  FROM extends ObjectOrInterfaceDefinition,
22
22
  TO extends ObjectTypeDefinition,
23
- P extends ValidOsdkPropParams<FROM>
24
- > = PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>];
23
+ P extends ValidOsdkPropParams<FROM>,
24
+ OPTIONS extends never | "$rid" | "$allBaseProperties" = never
25
+ > = "$allBaseProperties" extends OPTIONS ? PropertyKeys<FROM> extends P ? PropertyKeys<TO> : PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>] : PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>];
25
26
  export type PropMapToInterface<
26
27
  FROM extends ObjectTypeDefinition,
27
28
  TO extends InterfaceDefinition
@@ -32,6 +33,8 @@ export type MapPropNamesToInterface<
32
33
  P extends ValidOsdkPropParams<FROM>
33
34
  > = PropMapToInterface<FROM, TO>[JustProps<FROM, P> & keyof PropMapToInterface<FROM, TO>];
34
35
  /**
36
+ * Older version of this helper that allows for `$rid` and co in
37
+ * the properties field.
35
38
  * @param FROM - the interface or object type to convert from
36
39
  * @param TO - the interface or object type to convert to
37
40
  * @param P - the property(s) to convert
@@ -39,8 +42,9 @@ export type MapPropNamesToInterface<
39
42
  export type ConvertProps<
40
43
  FROM extends ObjectOrInterfaceDefinition,
41
44
  TO extends ValidToFrom<FROM>,
42
- P extends ValidOsdkPropParams<FROM>
43
- > = TO extends FROM ? P : TO extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToObjectType<FROM, TO, P>, P extends "$rid" ? true : false, "$rid">) : TO extends InterfaceDefinition ? FROM extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToInterface<FROM, TO, P>, P extends "$rid" ? true : false, "$rid">) : never : never;
45
+ P extends ValidOsdkPropParams<FROM>,
46
+ OPTIONS extends never | "$rid" | "$allBaseProperties" = never
47
+ > = TO extends FROM ? P : TO extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToObjectType<FROM, TO, P, OPTIONS>, P extends "$rid" ? true : false, "$rid">) : TO extends InterfaceDefinition ? FROM extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToInterface<FROM, TO, P>, P extends "$rid" ? true : false, "$rid">) : never : never;
44
48
  /** DO NOT EXPORT FROM PACKAGE */
45
49
  export type ValidToFrom<FROM extends ObjectOrInterfaceDefinition> = FROM extends InterfaceDefinition ? ObjectOrInterfaceDefinition : InterfaceDefinition;
46
50
  export type IsNever<T> = [T] extends [never] ? true : false;
@@ -65,14 +69,14 @@ export type Osdk<
65
69
  export declare namespace Osdk {
66
70
  type Instance<
67
71
  Q extends ObjectOrInterfaceDefinition,
68
- OPTIONS extends never | "$rid" = never,
72
+ OPTIONS extends never | "$rid" | "$allBaseProperties" = never,
69
73
  P extends PropertyKeys<Q> = PropertyKeys<Q>,
70
74
  R extends Record<string, SimplePropertyDef> = {}
71
75
  > = OsdkBase<Q> & Pick<CompileTimeMetadata<Q>["props"], GetPropsKeys<Q, P, [R] extends [{}] ? false : true>> & ([R] extends [never] ? {} : { [A in keyof R] : SimplePropertyDef.ToRuntimeProperty<R[A]> }) & {
72
76
  readonly $link: Q extends {
73
77
  linksType?: any
74
78
  } ? Q["linksType"] : Q extends ObjectTypeDefinition ? OsdkObjectLinksObject<Q> : never
75
- readonly $as: <NEW_Q extends ValidToFrom<Q>>(type: NEW_Q | string) => Osdk.Instance<NEW_Q, OPTIONS, ConvertProps<Q, NEW_Q, P>>
79
+ readonly $as: <NEW_Q extends ValidToFrom<Q>>(type: NEW_Q | string) => Osdk.Instance<NEW_Q, OPTIONS, ConvertProps<Q, NEW_Q, P, OPTIONS>>
76
80
  readonly $clone: <NEW_PROPS extends PropertyKeys<Q>>(updatedObject?: Osdk.Instance<Q, any, NEW_PROPS> | { [K in NEW_PROPS]? : CompileTimeMetadata<Q>["props"][K] }) => Osdk.Instance<Q, OPTIONS, P | NEW_PROPS>
77
81
  } & (IsNever<OPTIONS> extends true ? {} : IsAny<OPTIONS> extends true ? {} : "$rid" extends OPTIONS ? {
78
82
  readonly $rid: string
@@ -92,8 +96,10 @@ export type ExtractStrictOption<S extends NullabilityAdherence> = IsNever<S> ext
92
96
  * Anything you throw at this that is not exactly `true` should always be `never`.
93
97
  */
94
98
  export type ExtractRidOption<R extends boolean> = IsNever<R> extends true ? never : DefaultToFalse<R> extends false ? never : "$rid";
99
+ export type ExtractAllPropertiesOption<T extends boolean> = IsNever<T> extends true ? never : DefaultToFalse<T> extends false ? never : "$allBaseProperties";
95
100
  export type ExtractOptions<
96
101
  R extends boolean,
97
- S extends NullabilityAdherence = NullabilityAdherence.Default
98
- > = ExtractRidOption<R>;
102
+ S extends NullabilityAdherence = NullabilityAdherence.Default,
103
+ T extends boolean = false
104
+ > = ExtractRidOption<R> | ExtractAllPropertiesOption<T>;
99
105
  export {};
@@ -1 +1 @@
1
- {"mappings":"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","names":["type: NEW_Q | string","updatedObject?:\n | Osdk.Instance<Q, any, NEW_PROPS>\n | {\n [K in NEW_PROPS]?: CompileTimeMetadata<\n Q\n >[\"props\"][K];\n }"],"sources":["../../src/OsdkObjectFrom.ts"],"version":3,"file":"OsdkObjectFrom.d.ts"}
1
+ {"mappings":"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","names":["type: NEW_Q | string","updatedObject?:\n | Osdk.Instance<Q, any, NEW_PROPS>\n | {\n [K in NEW_PROPS]?: CompileTimeMetadata<\n Q\n >[\"props\"][K];\n }"],"sources":["../../src/OsdkObjectFrom.ts"],"version":3,"file":"OsdkObjectFrom.d.ts"}
@@ -1,8 +1,8 @@
1
1
  import type { DataValueClientToWire } from "../mapping/DataValueMapping.js";
2
2
  import type { ObjectSet } from "../objectSet/ObjectSet.js";
3
3
  import type { InterfaceDefinition } from "../ontology/InterfaceDefinition.js";
4
- import type { ObjectTypeDefinition } from "../ontology/ObjectTypeDefinition.js";
5
- import type { OsdkBase } from "../OsdkBase.js";
4
+ import type { CompileTimeMetadata, ObjectTypeDefinition } from "../ontology/ObjectTypeDefinition.js";
5
+ import type { ObjectIdentifiers } from "../OsdkBase.js";
6
6
  import type { OsdkObjectPrimaryKeyType } from "../OsdkObjectPrimaryKeyType.js";
7
7
  import type { ActionResults, ValidateActionResponseV2 } from "./ActionResults.js";
8
8
  export type ApplyActionOptions = {
@@ -20,10 +20,10 @@ export type ApplyBatchActionOptions = {
20
20
  */
21
21
  export declare namespace ActionParam {
22
22
  type PrimitiveType<T extends keyof DataValueClientToWire> = DataValueClientToWire[T];
23
- type ObjectType<T extends ObjectTypeDefinition> = OsdkBase<T> | OsdkObjectPrimaryKeyType<T>;
23
+ type ObjectType<T extends ObjectTypeDefinition> = ObjectIdentifiers<T> | OsdkObjectPrimaryKeyType<T>;
24
24
  type ObjectSetType<T extends ObjectTypeDefinition> = ObjectSet<T>;
25
25
  type InterfaceType<T extends InterfaceDefinition> = {
26
- $objectType: NonNullable<T["__DefinitionMetadata"]> extends {
26
+ $objectType: CompileTimeMetadata<T> extends {
27
27
  implementedBy: infer U
28
28
  } ? (U extends ReadonlyArray<never> ? string : U extends ReadonlyArray<string> ? U[number] : string) : string
29
29
  $primaryKey: string | number
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,6BAA6B,gCAAiC;AAC5E,cAAc,iBAAiB,2BAA4B;AAC3D,cAAc,2BAA2B,oCAAqC;AAC9E,cAAc,4BAA4B,qCAAsC;AAChF,cAAc,gBAAgB,gBAAiB;AAC/C,cAAc,gCAAgC,gCAAiC;AAE/E,cACE,eACA,gCACK,oBAAqB;AAE5B,YAAY,qBACR;CAAE,eAAe;CAAM,gBAAgB;AAAO,IAC9C;CACA,gBAAgB;CAChB,eAAe;AAChB;AAEH,YAAY,0BAA0B;CAAE;AAAwB;;;;AAKhE,yBAAiB;MAIH,cAAc,gBAAgB,yBACxC,sBAAsB;MAKZ,WAAW,UAAU,wBAC7B,SAAS,KACT,yBAAyB;MAKjB,cAAc,UAAU,wBAAwB,UAAU;MAK1D,cAAc,UAAU,uBAAuB;EACzD,aAAa,YAAY,EAAE,iCACzB;GAAE,qBAAqB;EAAG,KAAI,UAAU,gCACpC,UAAU,wBAAwB;EAGxC;CACD;MAEW,WACV,UAAU,qBAAqB,6BAC1B,WAAW,KAAI,sBAAsB,EAAE;;AAGhD,YAAY,qBAAqB;AACjC,YAAY,2BAA2B","names":[],"sources":["../../../src/actions/Actions.ts"],"version":3,"file":"Actions.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,6BAA6B,gCAAiC;AAC5E,cAAc,iBAAiB,2BAA4B;AAC3D,cAAc,2BAA2B,oCAAqC;AAC9E,cACE,qBACA,4BACK,qCAAsC;AAC7C,cAAc,yBAAyB,gBAAiB;AACxD,cAAc,gCAAgC,gCAAiC;AAE/E,cACE,eACA,gCACK,oBAAqB;AAE5B,YAAY,qBACR;CAAE,eAAe;CAAM,gBAAgB;AAAO,IAC9C;CACA,gBAAgB;CAChB,eAAe;AAChB;AAEH,YAAY,0BAA0B;CAAE;AAAwB;;;;AAKhE,yBAAiB;MAIH,cAAc,gBAAgB,yBACxC,sBAAsB;MAKZ,WAAW,UAAU,wBAC7B,kBAAkB,KAClB,yBAAyB;MAKjB,cAAc,UAAU,wBAAwB,UAAU;MAK1D,cAAc,UAAU,uBAAuB;EACzD,aAAa,oBAAoB,WAAW;GAAE,qBAAqB;EAAG,KACjE,UAAU,gCACT,UAAU,wBAAwB;EAGxC;CACD;MAEW,WACV,UAAU,qBAAqB,6BAC1B,WAAW,KAAI,sBAAsB,EAAE;;AAGhD,YAAY,qBAAqB;AACjC,YAAY,2BAA2B","names":[],"sources":["../../../src/actions/Actions.ts"],"version":3,"file":"Actions.d.ts"}