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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/build/browser/Client.d.ts +8 -21
  3. package/build/browser/Client.d.ts.map +1 -1
  4. package/build/browser/Client.js +2 -1
  5. package/build/browser/Client.js.map +1 -1
  6. package/build/browser/MinimalClientContext.d.ts +1 -1
  7. package/build/browser/MinimalClientContext.d.ts.map +1 -1
  8. package/build/browser/__unstable/ConjureSupport.js +4 -4
  9. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  10. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
  11. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  12. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +1 -1
  13. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  14. package/build/browser/actions/applyAction.js +1 -1
  15. package/build/browser/actions/applyAction.js.map +1 -1
  16. package/build/browser/createClient.d.ts +1 -1
  17. package/build/browser/createClient.d.ts.map +1 -1
  18. package/build/browser/createClient.js +43 -19
  19. package/build/browser/createClient.js.map +1 -1
  20. package/build/browser/createGeotimeSeriesProperty.d.ts +1 -1
  21. package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -1
  22. package/build/browser/createGeotimeSeriesProperty.js +4 -1
  23. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  24. package/build/browser/createMinimalClient.js +3 -3
  25. package/build/browser/createMinimalClient.js.map +1 -1
  26. package/build/browser/createPlatformClient.d.ts +1 -1
  27. package/build/browser/createPlatformClient.d.ts.map +1 -1
  28. package/build/browser/index.d.ts +2 -2
  29. package/build/browser/index.d.ts.map +1 -1
  30. package/build/browser/index.js +1 -1
  31. package/build/browser/index.js.map +1 -1
  32. package/build/browser/intellisense.test.js +1 -1
  33. package/build/browser/intellisense.test.js.map +1 -1
  34. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  35. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  36. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +3 -3
  37. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  38. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +88 -7
  39. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  40. package/build/browser/object/AttachmentUpload.d.ts.map +1 -1
  41. package/build/browser/object/AttachmentUpload.js +6 -0
  42. package/build/browser/object/AttachmentUpload.js.map +1 -1
  43. package/build/browser/object/aggregate.js +4 -5
  44. package/build/browser/object/aggregate.js.map +1 -1
  45. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  46. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  47. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  48. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  49. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +6 -0
  50. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  51. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +56 -1
  52. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  53. package/build/browser/object/convertWireToOsdkObjects.js +42 -6
  54. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  55. package/build/browser/object/convertWireToOsdkObjects.test.js +197 -15
  56. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  57. package/build/browser/object/fetchPage.d.ts.map +1 -1
  58. package/build/browser/object/fetchPage.js +35 -25
  59. package/build/browser/object/fetchPage.js.map +1 -1
  60. package/build/browser/object/fetchPage.test.js +75 -1
  61. package/build/browser/object/fetchPage.test.js.map +1 -1
  62. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  63. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  64. package/build/browser/objectSet/InterfaceObjectSet.test.js +61 -0
  65. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  66. package/build/browser/objectSet/ObjectSet.test.js +64 -48
  67. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  68. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +65 -57
  69. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  70. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +116 -26
  71. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  72. package/build/browser/objectSet/createObjectSet.js +10 -8
  73. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  74. package/build/browser/ontology/makeConjureContext.d.ts +1 -1
  75. package/build/browser/ontology/makeConjureContext.d.ts.map +1 -1
  76. package/build/browser/queries/applyQuery.js +1 -1
  77. package/build/browser/queries/applyQuery.js.map +1 -1
  78. package/build/browser/queries/queries.test.js +30 -2
  79. package/build/browser/queries/queries.test.js.map +1 -1
  80. package/build/browser/tsserver.js +1 -1
  81. package/build/browser/tsserver.js.map +1 -1
  82. package/build/browser/util/UserAgent.js +1 -1
  83. package/build/browser/util/UserAgent.js.map +1 -1
  84. package/build/browser/util/datetimeConverters.d.ts +22 -0
  85. package/build/browser/util/datetimeConverters.d.ts.map +1 -0
  86. package/build/browser/util/datetimeConverters.js +55 -0
  87. package/build/browser/util/datetimeConverters.js.map +1 -0
  88. package/build/browser/util/datetimeConverters.test.d.ts +2 -0
  89. package/build/browser/util/datetimeConverters.test.d.ts.map +1 -0
  90. package/build/browser/util/datetimeConverters.test.js +75 -0
  91. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  92. package/build/browser/util/objectSetUtils.d.ts +4 -0
  93. package/build/browser/util/objectSetUtils.d.ts.map +1 -0
  94. package/build/browser/util/objectSetUtils.js +25 -0
  95. package/build/browser/util/objectSetUtils.js.map +1 -0
  96. package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
  97. package/build/esm/Client.d.ts +8 -21
  98. package/build/esm/Client.d.ts.map +1 -1
  99. package/build/esm/Client.js +2 -1
  100. package/build/esm/Client.js.map +1 -1
  101. package/build/esm/MinimalClientContext.d.ts +1 -1
  102. package/build/esm/MinimalClientContext.d.ts.map +1 -1
  103. package/build/esm/__unstable/ConjureSupport.js +4 -4
  104. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  105. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
  106. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  107. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +1 -1
  108. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  109. package/build/esm/actions/applyAction.js +1 -1
  110. package/build/esm/actions/applyAction.js.map +1 -1
  111. package/build/esm/createClient.d.ts +1 -1
  112. package/build/esm/createClient.d.ts.map +1 -1
  113. package/build/esm/createClient.js +43 -19
  114. package/build/esm/createClient.js.map +1 -1
  115. package/build/esm/createGeotimeSeriesProperty.d.ts +1 -1
  116. package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -1
  117. package/build/esm/createGeotimeSeriesProperty.js +4 -1
  118. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  119. package/build/esm/createMinimalClient.js +3 -3
  120. package/build/esm/createMinimalClient.js.map +1 -1
  121. package/build/esm/createPlatformClient.d.ts +1 -1
  122. package/build/esm/createPlatformClient.d.ts.map +1 -1
  123. package/build/esm/index.d.ts +2 -2
  124. package/build/esm/index.d.ts.map +1 -1
  125. package/build/esm/index.js +1 -1
  126. package/build/esm/index.js.map +1 -1
  127. package/build/esm/intellisense.test.js +1 -1
  128. package/build/esm/intellisense.test.js.map +1 -1
  129. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  130. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  131. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +3 -3
  132. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  133. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +88 -7
  134. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  135. package/build/esm/object/AttachmentUpload.d.ts.map +1 -1
  136. package/build/esm/object/AttachmentUpload.js +6 -0
  137. package/build/esm/object/AttachmentUpload.js.map +1 -1
  138. package/build/esm/object/aggregate.js +4 -5
  139. package/build/esm/object/aggregate.js.map +1 -1
  140. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  141. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  142. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  143. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  144. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +6 -0
  145. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  146. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +56 -1
  147. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  148. package/build/esm/object/convertWireToOsdkObjects.js +42 -6
  149. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  150. package/build/esm/object/convertWireToOsdkObjects.test.js +197 -15
  151. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  152. package/build/esm/object/fetchPage.d.ts.map +1 -1
  153. package/build/esm/object/fetchPage.js +35 -25
  154. package/build/esm/object/fetchPage.js.map +1 -1
  155. package/build/esm/object/fetchPage.test.js +75 -1
  156. package/build/esm/object/fetchPage.test.js.map +1 -1
  157. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  158. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  159. package/build/esm/objectSet/InterfaceObjectSet.test.js +61 -0
  160. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  161. package/build/esm/objectSet/ObjectSet.test.js +64 -48
  162. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  163. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +65 -57
  164. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  165. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +116 -26
  166. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  167. package/build/esm/objectSet/createObjectSet.js +10 -8
  168. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  169. package/build/esm/ontology/makeConjureContext.d.ts +1 -1
  170. package/build/esm/ontology/makeConjureContext.d.ts.map +1 -1
  171. package/build/esm/queries/applyQuery.js +1 -1
  172. package/build/esm/queries/applyQuery.js.map +1 -1
  173. package/build/esm/queries/queries.test.js +30 -2
  174. package/build/esm/queries/queries.test.js.map +1 -1
  175. package/build/esm/tsserver.js +1 -1
  176. package/build/esm/tsserver.js.map +1 -1
  177. package/build/esm/util/UserAgent.js +1 -1
  178. package/build/esm/util/UserAgent.js.map +1 -1
  179. package/build/esm/util/datetimeConverters.d.ts +22 -0
  180. package/build/esm/util/datetimeConverters.d.ts.map +1 -0
  181. package/build/esm/util/datetimeConverters.js +55 -0
  182. package/build/esm/util/datetimeConverters.js.map +1 -0
  183. package/build/esm/util/datetimeConverters.test.d.ts +2 -0
  184. package/build/esm/util/datetimeConverters.test.d.ts.map +1 -0
  185. package/build/esm/util/datetimeConverters.test.js +75 -0
  186. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  187. package/build/esm/util/objectSetUtils.d.ts +4 -0
  188. package/build/esm/util/objectSetUtils.d.ts.map +1 -0
  189. package/build/esm/util/objectSetUtils.js +25 -0
  190. package/build/esm/util/objectSetUtils.js.map +1 -0
  191. package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
  192. package/package.json +21 -17
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPage.js","names":["OntologiesV2","addUserAgentAndRequestContextHeaders","convertWireToOsdkObjects","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","where","value","fetchInterfacePage","client","interfaceType","args","result","OntologyInterfaces","search","ontologyRid","applyFetchArgs","augmentedProperties","$augment","augmentedSharedPropertyTypes","otherInterfaceTypes","selectedObjectTypes","$__EXPERIMENTAL_selectedObjectTypes","selectedSharedPropertyTypes","$select","preview","data","$includeRid","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","body","$nextPageToken","pageToken","$pageSize","pageSize","$orderBy","orderBy","fields","Object","entries","map","field","direction","r","OntologyObjectSets","load","select","excludeRid","Promise","resolve","$__EXPERIMENTAL_strictNonNull","nextPageToken","totalCount"],"sources":["fetchPage.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport function augment(type, ...properties) {\n return { [type.apiName]: properties };\n}\n/** @internal */\nexport function objectSetToSearchJsonV2(objectSet, expectedApiName, existingWhere = undefined) {\n if (objectSet.type === \"base\") {\n if (objectSet.objectType !== expectedApiName) {\n throw new Error(`Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`);\n }\n return existingWhere;\n }\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(objectSet.objectSet, expectedApiName, existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n });\n }\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\nasync function fetchInterfacePage(client, interfaceType, args, objectSet) {\n const result = await OntologiesV2.OntologyInterfaces\n .search(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, interfaceType.apiName, applyFetchArgs(args, {\n augmentedProperties: args.$augment ?? {},\n augmentedSharedPropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: args.$__EXPERIMENTAL_selectedObjectTypes ?? [],\n selectedSharedPropertyTypes: args.$select ?? [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n }), { preview: true });\n result.data = await convertWireToOsdkObjects(client, result.data, // drop readonly\n interfaceType.apiName, !args.$includeRid);\n return result;\n}\n/** @internal */\nexport async function fetchPageInternal(client, objectType, objectSet, args = {}) {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(client, objectType, args, objectSet); // fixme\n }\n else {\n return await fetchObjectPage(client, objectType, args, objectSet); // fixme\n }\n}\n/** @internal */\nexport async function fetchPageWithErrorsInternal(client, objectType, objectSet, args = {}) {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n }\n catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e };\n }\n}\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage(client, objectType, args, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"],\n}) {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n/** @internal */\nexport async function fetchPageWithErrors(client, objectType, args, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"],\n}) {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\nfunction applyFetchArgs(args, body) {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n if (args?.$orderBy != null) {\n body.orderBy = {\n fields: Object.entries(args.$orderBy).map(([field, direction]) => ({\n field,\n direction,\n })),\n };\n }\n return body;\n}\n/** @internal */\nexport async function fetchObjectPage(client, objectType, args, objectSet) {\n const r = await OntologiesV2.OntologyObjectSets.load(addUserAgentAndRequestContextHeaders(client, objectType), await client.ontologyRid, applyFetchArgs(args, {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isn't readonly\n select: (args?.$select ?? []), // FIXME?\n excludeRid: !args?.$includeRid,\n }));\n return Promise.resolve({\n data: await convertWireToOsdkObjects(client, r.data, undefined, undefined, args.$select, args.$__EXPERIMENTAL_strictNonNull),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fetchPage.js","names":["OntologiesV2","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","convertWireToOsdkObjects","convertWireToOsdkObjects2","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","interfaceType","where","value","fetchInterfacePage","client","args","$__UNSTABLE_useOldInterfaceApis","result","OntologyInterfaces","search","ontologyRid","applyFetchArgs","augmentedProperties","augmentedSharedPropertyTypes","otherInterfaceTypes","selectedObjectTypes","selectedSharedPropertyTypes","$select","preview","data","$includeRid","OntologyObjectSets","loadMultipleObjectTypes","select","excludeRid","Promise","resolve","interfaceToObjectTypeMappings","nextPageToken","totalCount","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","body","$nextPageToken","pageToken","$pageSize","pageSize","$orderBy","orderBy","fields","Object","entries","map","field","direction","r","load"],"sources":["fetchPage.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { convertWireToOsdkObjects, convertWireToOsdkObjects2, } from \"./convertWireToOsdkObjects.js\";\nexport function augment(type, ...properties) {\n return { [type.apiName]: properties };\n}\n/** @internal */\nexport function objectSetToSearchJsonV2(objectSet, expectedApiName, existingWhere = undefined) {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(`Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`);\n }\n if (objectSet.type === \"interfaceBase\"\n && objectSet.interfaceType !== expectedApiName) {\n throw new Error(`Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`);\n }\n return existingWhere;\n }\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(objectSet.objectSet, expectedApiName, existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n });\n }\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\nasync function fetchInterfacePage(client, interfaceType, args, objectSet) {\n if (args.$__UNSTABLE_useOldInterfaceApis) {\n const result = await OntologiesV2.OntologyInterfaces\n .search(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, interfaceType.apiName, applyFetchArgs(args, {\n augmentedProperties: {},\n augmentedSharedPropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: [],\n selectedSharedPropertyTypes: args.$select\n ?? [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n }), { preview: true });\n result.data = await convertWireToOsdkObjects(client, result.data, // drop readonly\n interfaceType.apiName, !args.$includeRid);\n return result;\n }\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, applyFetchArgs(args, {\n objectSet,\n select: (args?.$select ?? []),\n excludeRid: !args?.$includeRid,\n }));\n return Promise.resolve({\n data: await convertWireToOsdkObjects2(client, result.data, interfaceType.apiName, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n });\n}\n/** @internal */\nexport async function fetchPageInternal(client, objectType, objectSet, args = {}) {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(client, objectType, args, objectSet); // fixme\n }\n else {\n return await fetchObjectPage(client, objectType, args, objectSet); // fixme\n }\n}\n/** @internal */\nexport async function fetchPageWithErrorsInternal(client, objectType, objectSet, args = {}) {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n }\n catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e };\n }\n}\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage(client, objectType, args, objectSet = resolveBaseObjectSetType(objectType)) {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n/** @internal */\nexport async function fetchPageWithErrors(client, objectType, args, objectSet = resolveBaseObjectSetType(objectType)) {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\nfunction applyFetchArgs(args, body) {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n if (args?.$orderBy != null) {\n body.orderBy = {\n fields: Object.entries(args.$orderBy).map(([field, direction]) => ({\n field,\n direction,\n })),\n };\n }\n return body;\n}\n/** @internal */\nexport async function fetchObjectPage(client, objectType, args, objectSet) {\n const r = await OntologiesV2.OntologyObjectSets.load(addUserAgentAndRequestContextHeaders(client, objectType), await client.ontologyRid, applyFetchArgs(args, {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isn't readonly\n select: (args?.$select ?? []), // FIXME?\n excludeRid: !args?.$includeRid,\n }));\n return Promise.resolve({\n data: await convertWireToOsdkObjects(client, r.data, undefined, undefined, args.$select),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Todo } from "@osdk/client.test.ontology";
16
+ import { Employee, Todo } from "@osdk/client.test.ontology";
17
17
  import { describe, expect, expectTypeOf, it } from "vitest";
18
18
  import { createMinimalClient } from "../createMinimalClient.js";
19
19
  import { fetchPage, objectSetToSearchJsonV2 } from "../object/fetchPage.js";
@@ -89,6 +89,80 @@ describe(fetchPage, () => {
89
89
  }]
90
90
  });
91
91
  });
92
+ it("where clause keys correctly typed", () => {
93
+ const client = createMinimalClient(metadata, "https://foo", async () => "");
94
+ const objectSet = createObjectSet(Todo, client);
95
+ const objectSetWithSpecialPropertyTypes = createObjectSet(Employee, client);
96
+ expectTypeOf(objectSet.where).toBeCallableWith({
97
+ $and: [{
98
+ id: {
99
+ $gt: 2
100
+ }
101
+ }, {
102
+ id: {
103
+ $lte: 2
104
+ }
105
+ }]
106
+ });
107
+ expectTypeOf(objectSet.where).toBeCallableWith({
108
+ // @ts-expect-error
109
+ id: {
110
+ $gt: 2,
111
+ $lte: 2
112
+ }
113
+ });
114
+ // We used to default to number filters for other types, like geotimeseries reference and timeseries. These tests will make sure
115
+ // we don't do that anymore
116
+ expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({
117
+ $and: [{
118
+ employeeLocation: {
119
+ $eq: "myLocation"
120
+ }
121
+ }, {
122
+ employeeLocation: {
123
+ $ne: "notMyLocation"
124
+ }
125
+ }, {
126
+ employeeLocation: {
127
+ $isNull: false
128
+ }
129
+ },
130
+ // @ts-expect-error
131
+ {
132
+ employeeLocation: {
133
+ $isNull: false,
134
+ $eq: "myLocation"
135
+ }
136
+ },
137
+ // @ts-expect-error
138
+ {
139
+ employeeLocation: {
140
+ $gt: 5
141
+ }
142
+ }]
143
+ });
144
+ expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({
145
+ $and: [{
146
+ employeeStatus: {
147
+ $eq: "myStatus"
148
+ }
149
+ }, {
150
+ employeeLocation: {
151
+ $ne: "notMyStatus"
152
+ }
153
+ }, {
154
+ employeeLocation: {
155
+ $isNull: false
156
+ }
157
+ },
158
+ // @ts-expect-error
159
+ {
160
+ employeeLocation: {
161
+ $lte: 5
162
+ }
163
+ }]
164
+ });
165
+ });
92
166
  describe("includeRid", () => {
93
167
  it("properly returns the correct string for includeRid", () => {
94
168
  expectTypeOf().toEqualTypeOf();
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPage.test.js","names":["Todo","describe","expect","expectTypeOf","it","createMinimalClient","fetchPage","objectSetToSearchJsonV2","createObjectSet","getWireObjectSet","metadata","ontologyRid","branded","toEqualTypeOf","type","objectSet","objectType","where","field","value","undefined","toEqual","client","text","id","$gt","wireObjectSet"],"sources":["fetchPage.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Todo } from \"@osdk/client.test.ontology\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { fetchPage, objectSetToSearchJsonV2 } from \"../object/fetchPage.js\";\nimport { createObjectSet, getWireObjectSet, } from \"../objectSet/createObjectSet.js\";\nconst metadata = {\n ontologyRid: \"asdf\",\n};\ndescribe(fetchPage, () => {\n it(\"infers select properly\", () => {\n // this helper lets us get return types of functions that are generic\n class Helper {\n fetchPage() {\n return fetchPage({}, {}, {});\n }\n }\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n // e.g. fetchPage({ select: [] });\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n // e.g. fetchPage()\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n // e.g. fetchPage({ $select: [\"text\"]}\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n });\n it(\"converts interface objectsets to search properly\", () => {\n expect(objectSetToSearchJsonV2({\n type: \"filter\",\n objectSet: {\n type: \"filter\",\n objectSet: {\n type: \"base\",\n objectType: \"Todo\",\n },\n where: {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n },\n where: {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n }, \"Todo\", undefined)).toEqual({\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n });\n });\n it(\"converts interface objectsets to search properly part 2\", () => {\n const client = createMinimalClient(metadata, \"https://foo\", async () => \"\");\n const objectSet = createObjectSet(Todo, client).where({\n text: \"hello\",\n }).where({\n id: { $gt: 2 },\n });\n const wireObjectSet = getWireObjectSet(objectSet);\n expect(objectSetToSearchJsonV2(wireObjectSet, \"Todo\", undefined)).toEqual({\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n });\n });\n describe(\"includeRid\", () => {\n it(\"properly returns the correct string for includeRid\", () => {\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n });\n it(\"works with $all\", () => {\n expectTypeOf().branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fetchPage.test.js","names":["Employee","Todo","describe","expect","expectTypeOf","it","createMinimalClient","fetchPage","objectSetToSearchJsonV2","createObjectSet","getWireObjectSet","metadata","ontologyRid","branded","toEqualTypeOf","type","objectSet","objectType","where","field","value","undefined","toEqual","client","text","id","$gt","wireObjectSet","objectSetWithSpecialPropertyTypes","toBeCallableWith","$and","$lte","employeeLocation","$eq","$ne","$isNull","employeeStatus"],"sources":["fetchPage.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Employee, Todo } from \"@osdk/client.test.ontology\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { fetchPage, objectSetToSearchJsonV2 } from \"../object/fetchPage.js\";\nimport { createObjectSet, getWireObjectSet, } from \"../objectSet/createObjectSet.js\";\nconst metadata = {\n ontologyRid: \"asdf\",\n};\ndescribe(fetchPage, () => {\n it(\"infers select properly\", () => {\n // this helper lets us get return types of functions that are generic\n class Helper {\n fetchPage() {\n return fetchPage({}, {}, {});\n }\n }\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n // e.g. fetchPage({ select: [] });\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n // e.g. fetchPage()\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n // e.g. fetchPage({ $select: [\"text\"]}\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n });\n it(\"converts interface objectsets to search properly\", () => {\n expect(objectSetToSearchJsonV2({\n type: \"filter\",\n objectSet: {\n type: \"filter\",\n objectSet: {\n type: \"base\",\n objectType: \"Todo\",\n },\n where: {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n },\n where: {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n }, \"Todo\", undefined)).toEqual({\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n });\n });\n it(\"converts interface objectsets to search properly part 2\", () => {\n const client = createMinimalClient(metadata, \"https://foo\", async () => \"\");\n const objectSet = createObjectSet(Todo, client).where({\n text: \"hello\",\n }).where({\n id: { $gt: 2 },\n });\n const wireObjectSet = getWireObjectSet(objectSet);\n expect(objectSetToSearchJsonV2(wireObjectSet, \"Todo\", undefined)).toEqual({\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n });\n });\n it(\"where clause keys correctly typed\", () => {\n const client = createMinimalClient(metadata, \"https://foo\", async () => \"\");\n const objectSet = createObjectSet(Todo, client);\n const objectSetWithSpecialPropertyTypes = createObjectSet(Employee, client);\n expectTypeOf(objectSet.where).toBeCallableWith({\n $and: [{ id: { $gt: 2 } }, { id: { $lte: 2 } }],\n });\n expectTypeOf(objectSet.where).toBeCallableWith({\n // @ts-expect-error\n id: { $gt: 2, $lte: 2 },\n });\n // We used to default to number filters for other types, like geotimeseries reference and timeseries. These tests will make sure\n // we don't do that anymore\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeLocation: { $eq: \"myLocation\" } },\n {\n employeeLocation: { $ne: \"notMyLocation\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $isNull: false, $eq: \"myLocation\" } },\n // @ts-expect-error\n { employeeLocation: { $gt: 5 } },\n ],\n });\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeStatus: { $eq: \"myStatus\" } },\n {\n employeeLocation: { $ne: \"notMyStatus\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $lte: 5 } },\n ],\n });\n });\n describe(\"includeRid\", () => {\n it(\"properly returns the correct string for includeRid\", () => {\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n });\n it(\"works with $all\", () => {\n expectTypeOf().branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n expectTypeOf()\n .branded\n .toEqualTypeOf();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=InterfaceObjectSet.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InterfaceObjectSet.test.d.ts","sourceRoot":"","sources":["../../../src/objectSet/InterfaceObjectSet.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ /*
2
+ * Copyright 2024 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { $ontologyRid, Employee, FooInterface } from "@osdk/client.test.ontology";
17
+ import { apiServer } from "@osdk/shared.test";
18
+ import { afterAll, beforeAll, describe, expect, it } from "vitest";
19
+ import { createClient } from "../createClient.js";
20
+ describe("ObjectSet", () => {
21
+ let client;
22
+ beforeAll(async () => {
23
+ apiServer.listen();
24
+ client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
25
+ });
26
+ afterAll(() => {
27
+ apiServer.close();
28
+ });
29
+ it("does not allow intersect/union/subtract with implementing interface types, for now", () => {
30
+ const employeeObjectSet = client(Employee);
31
+ const fooInterfaceSet = client(FooInterface);
32
+ // @ts-expect-error
33
+ employeeObjectSet.union(fooInterfaceSet);
34
+ // @ts-expect-error
35
+ employeeObjectSet.subtract(fooInterfaceSet);
36
+ // @ts-expect-error
37
+ employeeObjectSet.intersect(fooInterfaceSet);
38
+ });
39
+ it("interface objects set loading", async () => {
40
+ const objectSet = client(FooInterface);
41
+ let iter = 0;
42
+ const {
43
+ data: interfacers
44
+ } = await objectSet.fetchPage();
45
+ for (const foo of interfacers) {
46
+ expect(foo.fooSpt).toEqual("Santa Claus");
47
+ iter++;
48
+ }
49
+ expect(iter).toEqual(1);
50
+ });
51
+ it("allows fetching by field from a interface object set - where clause", async () => {
52
+ const whereClausedInterface = await client(FooInterface).where({
53
+ fooSpt: "The Grinch"
54
+ }).fetchPage();
55
+ const interfaceObj = whereClausedInterface.data[0];
56
+ expect(interfaceObj.fooSpt).toEqual("The Grinch");
57
+ const asEmployee = interfaceObj.$as(Employee);
58
+ expect(asEmployee.fullName).toEqual("The Grinch");
59
+ });
60
+ });
61
+ //# sourceMappingURL=InterfaceObjectSet.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InterfaceObjectSet.test.js","names":["$ontologyRid","Employee","FooInterface","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employeeObjectSet","fooInterfaceSet","union","subtract","intersect","objectSet","iter","data","interfacers","fetchPage","foo","fooSpt","toEqual","whereClausedInterface","where","interfaceObj","asEmployee","$as","fullName"],"sources":["InterfaceObjectSet.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { $ontologyRid, Employee, FooInterface, } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with implementing interface types, for now\", () => {\n const employeeObjectSet = client(Employee);\n const fooInterfaceSet = client(FooInterface);\n // @ts-expect-error\n employeeObjectSet.union(fooInterfaceSet);\n // @ts-expect-error\n employeeObjectSet.subtract(fooInterfaceSet);\n // @ts-expect-error\n employeeObjectSet.intersect(fooInterfaceSet);\n });\n it(\"interface objects set loading\", async () => {\n const objectSet = client(FooInterface);\n let iter = 0;\n const { data: interfacers } = await objectSet.fetchPage();\n for (const foo of interfacers) {\n expect(foo.fooSpt).toEqual(\"Santa Claus\");\n iter++;\n }\n expect(iter).toEqual(1);\n });\n it(\"allows fetching by field from a interface object set - where clause\", async () => {\n const whereClausedInterface = await client(FooInterface).where({\n fooSpt: \"The Grinch\",\n }).fetchPage();\n const interfaceObj = whereClausedInterface.data[0];\n expect(interfaceObj.fooSpt).toEqual(\"The Grinch\");\n const asEmployee = interfaceObj.$as(Employee);\n expect(asEmployee.fullName).toEqual(\"The Grinch\");\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,QAAQ,EAAEC,YAAY,QAAS,4BAA4B;AAClF,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAClE,SAASC,YAAY,QAAQ,oBAAoB;AACjDH,QAAQ,CAAC,WAAW,EAAE,MAAM;EACxB,IAAII,MAAM;EACVL,SAAS,CAAC,YAAY;IAClBF,SAAS,CAACQ,MAAM,CAAC,CAAC;IAClBD,MAAM,GAAGD,YAAY,CAAC,4BAA4B,EAAET,YAAY,EAAE,YAAY,eAAe,CAAC;EAClG,CAAC,CAAC;EACFI,QAAQ,CAAC,MAAM;IACXD,SAAS,CAACS,KAAK,CAAC,CAAC;EACrB,CAAC,CAAC;EACFJ,EAAE,CAAC,oFAAoF,EAAE,MAAM;IAC3F,MAAMK,iBAAiB,GAAGH,MAAM,CAACT,QAAQ,CAAC;IAC1C,MAAMa,eAAe,GAAGJ,MAAM,CAACR,YAAY,CAAC;IAC5C;IACAW,iBAAiB,CAACE,KAAK,CAACD,eAAe,CAAC;IACxC;IACAD,iBAAiB,CAACG,QAAQ,CAACF,eAAe,CAAC;IAC3C;IACAD,iBAAiB,CAACI,SAAS,CAACH,eAAe,CAAC;EAChD,CAAC,CAAC;EACFN,EAAE,CAAC,+BAA+B,EAAE,YAAY;IAC5C,MAAMU,SAAS,GAAGR,MAAM,CAACR,YAAY,CAAC;IACtC,IAAIiB,IAAI,GAAG,CAAC;IACZ,MAAM;MAAEC,IAAI,EAAEC;IAAY,CAAC,GAAG,MAAMH,SAAS,CAACI,SAAS,CAAC,CAAC;IACzD,KAAK,MAAMC,GAAG,IAAIF,WAAW,EAAE;MAC3Bd,MAAM,CAACgB,GAAG,CAACC,MAAM,CAAC,CAACC,OAAO,CAAC,aAAa,CAAC;MACzCN,IAAI,EAAE;IACV;IACAZ,MAAM,CAACY,IAAI,CAAC,CAACM,OAAO,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC;EACFjB,EAAE,CAAC,qEAAqE,EAAE,YAAY;IAClF,MAAMkB,qBAAqB,GAAG,MAAMhB,MAAM,CAACR,YAAY,CAAC,CAACyB,KAAK,CAAC;MAC3DH,MAAM,EAAE;IACZ,CAAC,CAAC,CAACF,SAAS,CAAC,CAAC;IACd,MAAMM,YAAY,GAAGF,qBAAqB,CAACN,IAAI,CAAC,CAAC,CAAC;IAClDb,MAAM,CAACqB,YAAY,CAACJ,MAAM,CAAC,CAACC,OAAO,CAAC,YAAY,CAAC;IACjD,MAAMI,UAAU,GAAGD,YAAY,CAACE,GAAG,CAAC7B,QAAQ,CAAC;IAC7CM,MAAM,CAACsB,UAAU,CAACE,QAAQ,CAAC,CAACN,OAAO,CAAC,YAAY,CAAC;EACrD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { isOk } from "@osdk/api";
17
- import { $ontologyRid, Employee, FooInterface, Office } from "@osdk/client.test.ontology";
17
+ import { $ontologyRid, BarInterface, Employee, FooInterface, Office } from "@osdk/client.test.ontology";
18
18
  import { apiServer, stubData } from "@osdk/shared.test";
19
19
  import { afterAll, beforeAll, describe, expect, expectTypeOf, it } from "vitest";
20
20
  import { createClient } from "../createClient.js";
@@ -192,34 +192,66 @@ describe("ObjectSet", () => {
192
192
  expect(iter).toEqual(2);
193
193
  }
194
194
  });
195
- describe.each(["fetchPage", "fetchPageWithErrors"])("%s", k => {
196
- describe("strictNonNull: \"drop\"", () => {
197
- describe("includeRid: true", () => {
198
- it("drops bad data", async () => {
199
- const opts = {
200
- $__EXPERIMENTAL_strictNonNull: "drop",
201
- $includeRid: true
202
- };
203
- const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
204
- expect(result.data).toHaveLength(3);
205
- expectTypeOf(result.data[0]).branded.toEqualTypeOf();
206
- expectTypeOf(result.data[0]).branded.toEqualTypeOf();
207
- });
208
- });
209
- describe("includeRid: false", () => {
210
- it("drops bad data", async () => {
211
- const opts = {
212
- $__EXPERIMENTAL_strictNonNull: "drop",
213
- $includeRid: false
214
- };
215
- const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
216
- expect(result.data).toHaveLength(3);
217
- expectTypeOf(result.data[0]).branded.toEqualTypeOf();
218
- expectTypeOf(result.data[0]).branded.toEqualTypeOf();
219
- expectTypeOf(result.data[0]).branded.toEqualTypeOf();
220
- });
221
- });
195
+ it("allows $in filter with ReadonlyArrays", () => {
196
+ const objectSet = client(Employee).where({
197
+ employeeId: {
198
+ $in: [50030, 50031]
199
+ }
222
200
  });
201
+ expect(objectSet).toBeDefined();
202
+ });
203
+ it("does not allow arbitrary keys when no properties", () => {
204
+ client(Employee).where({
205
+ // @ts-expect-error
206
+ employeeIdNonExistent: {
207
+ $in: [50030, 50031]
208
+ }
209
+ });
210
+ client(BarInterface).where({
211
+ // @ts-expect-error
212
+ nonExistentProp: ""
213
+ });
214
+ });
215
+ describe.each(["fetchPage", "fetchPageWithErrors"])("%s", k => {
216
+ // describe("strictNonNull: \"drop\"", () => {
217
+ // describe("includeRid: true", () => {
218
+ // it("drops bad data", async () => {
219
+ // const opts = {
220
+ // $__EXPERIMENTAL_strictNonNull: "drop",
221
+ // $includeRid: true,
222
+ // } as const;
223
+ // const result = k === "fetchPage"
224
+ // ? await client(Employee).fetchPage(opts)
225
+ // : (await client(Employee).fetchPageWithErrors(opts)).value!;
226
+ // expect(result.data).toHaveLength(3);
227
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
228
+ // Osdk<Employee, "$rid" | "$all">
229
+ // >();
230
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
231
+ // Employee.OsdkObject<"$rid">
232
+ // >();
233
+ // });
234
+ // });
235
+ // describe("includeRid: false", () => {
236
+ // it("drops bad data", async () => {
237
+ // const opts = {
238
+ // $__EXPERIMENTAL_strictNonNull: "drop",
239
+ // $includeRid: false,
240
+ // } as const;
241
+ // const result = k === "fetchPage"
242
+ // ? await client(Employee).fetchPage(opts)
243
+ // : (await client(Employee).fetchPageWithErrors(opts)).value!;
244
+ // expect(result.data).toHaveLength(3);
245
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();
246
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
247
+ // Employee.OsdkObject
248
+ // >();
249
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
250
+ // Employee.OsdkObject<never>
251
+ // >();
252
+ // });
253
+ // });
254
+ // });
223
255
  describe("strictNonNull: false", () => {
224
256
  describe("includeRid: true", () => {
225
257
  it("returns bad data", async () => {
@@ -235,8 +267,7 @@ describe("ObjectSet", () => {
235
267
  describe("includeRid: false", () => {
236
268
  it("returns bad data", async () => {
237
269
  const opts = {
238
- $__EXPERIMENTAL_strictNonNull: false,
239
- includeRid: false
270
+ $includeRid: false
240
271
  };
241
272
  const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
242
273
  expect(result.data).toHaveLength(4);
@@ -245,17 +276,11 @@ describe("ObjectSet", () => {
245
276
  });
246
277
  });
247
278
  });
248
- describe("strictNonNull: \"throw\"", () => {
249
- it("throws when getting bad data", () => {
250
- expect(() => client(Employee).fetchPage({
251
- $__EXPERIMENTAL_strictNonNull: "throw"
252
- })).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
253
- });
254
- });
255
279
  describe.each(["fetchOne", "fetchOneWithErrors"])("%s", k => {
256
280
  describe("strictNonNull: false", () => {
257
281
  describe("includeRid: true", () => {
258
282
  it("returns bad data", async () => {
283
+ // Look at this
259
284
  const opts = {
260
285
  $__EXPERIMENTAL_strictNonNull: false,
261
286
  $includeRid: true
@@ -269,7 +294,7 @@ describe("ObjectSet", () => {
269
294
  it("returns bad data", async () => {
270
295
  const opts = {
271
296
  $__EXPERIMENTAL_strictNonNull: false,
272
- includeRid: false
297
+ $includeRid: false
273
298
  };
274
299
  const result = k === "fetchOne" ? await client(Employee).fetchOne(50033, opts) : (await client(Employee).fetchOneWithErrors(50033, opts)).value;
275
300
  expect(result).not.toBeUndefined();
@@ -278,19 +303,10 @@ describe("ObjectSet", () => {
278
303
  });
279
304
  });
280
305
  });
281
- describe("strictNonNull: \"throw\"", () => {
282
- it("throws when getting bad data", () => {
283
- expect(() => client(Employee).fetchPage({
284
- $__EXPERIMENTAL_strictNonNull: "throw"
285
- })).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
286
- });
287
- });
288
306
  describe("conversions", () => {
289
307
  describe("strictNonNull: false", () => {
290
308
  it("returns bad data", async () => {
291
- const result = await client(Employee).fetchPage({
292
- $__EXPERIMENTAL_strictNonNull: false
293
- });
309
+ const result = await client(Employee).fetchPage({});
294
310
  const empNotStrict = result.data[0];
295
311
  expectTypeOf(empNotStrict).branded.toEqualTypeOf();
296
312
  expectTypeOf(empNotStrict).branded.toEqualTypeOf();
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectSet.test.js","names":["isOk","$ontologyRid","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","employeeResult","fetchOneWithErrors","value","$select","branded","toEqualTypeOf","rejects","toThrow","employee2","pivotTo","result","fetchPageWithErrors","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","includeRid","toThrowErrorMatchingInlineSnapshot","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { isOk } from \"@osdk/api\";\nimport { $ontologyRid, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: \\\"drop\\\"\", () => {\n describe(\"includeRid: true\", () => {\n it(\"drops bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: \"drop\",\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(3);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"drops bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: \"drop\",\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(3);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"strictNonNull: \\\"throw\\\"\", () => {\n it(\"throws when getting bad data\", () => {\n expect(() => client(Employee).fetchPage({\n $__EXPERIMENTAL_strictNonNull: \"throw\",\n })).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"strictNonNull: \\\"throw\\\"\", () => {\n it(\"throws when getting bad data\", () => {\n expect(() => client(Employee).fetchPage({\n $__EXPERIMENTAL_strictNonNull: \"throw\",\n })).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);\n });\n });\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({\n $__EXPERIMENTAL_strictNonNull: false,\n });\n const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ObjectSet.test.js","names":["isOk","$ontologyRid","BarInterface","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","employeeResult","fetchOneWithErrors","value","$select","branded","toEqualTypeOf","rejects","toThrow","employee2","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { isOk } from \"@osdk/api\";\nimport { $ontologyRid, BarInterface, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n // Look at this\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}