@osdk/client 2.1.0-beta.2 → 2.1.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/CHANGELOG.md +297 -0
  2. package/build/browser/Client.d.ts +6 -22
  3. package/build/browser/Client.d.ts.map +1 -1
  4. package/build/browser/Client.js +3 -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 +5 -5
  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 +2 -2
  13. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  14. package/build/browser/actions/actions.test.js +28 -0
  15. package/build/browser/actions/actions.test.js.map +1 -1
  16. package/build/browser/actions/applyAction.js +1 -1
  17. package/build/browser/actions/applyAction.js.map +1 -1
  18. package/build/browser/createClient.d.ts +1 -1
  19. package/build/browser/createClient.d.ts.map +1 -1
  20. package/build/browser/createClient.js +41 -19
  21. package/build/browser/createClient.js.map +1 -1
  22. package/build/browser/createClient.test.js +24 -0
  23. package/build/browser/createClient.test.js.map +1 -1
  24. package/build/browser/createGeotimeSeriesProperty.d.ts +1 -1
  25. package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -1
  26. package/build/browser/createGeotimeSeriesProperty.js +4 -1
  27. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  28. package/build/browser/createMinimalClient.js +9 -4
  29. package/build/browser/createMinimalClient.js.map +1 -1
  30. package/build/browser/createPlatformClient.d.ts +1 -1
  31. package/build/browser/createPlatformClient.d.ts.map +1 -1
  32. package/build/browser/createTimeseriesProperty.d.ts.map +1 -1
  33. package/build/browser/fetchMetadata.test.js +14 -0
  34. package/build/browser/fetchMetadata.test.js.map +1 -1
  35. package/build/browser/index.d.ts +2 -2
  36. package/build/browser/index.d.ts.map +1 -1
  37. package/build/browser/index.js +1 -1
  38. package/build/browser/index.js.map +1 -1
  39. package/build/browser/intellisense.test.js +1 -1
  40. package/build/browser/intellisense.test.js.map +1 -1
  41. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  42. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  43. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +11 -3
  44. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  45. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +208 -7
  46. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  47. package/build/browser/object/AttachmentUpload.d.ts.map +1 -1
  48. package/build/browser/object/AttachmentUpload.js +5 -7
  49. package/build/browser/object/AttachmentUpload.js.map +1 -1
  50. package/build/browser/object/aggregate.js +4 -5
  51. package/build/browser/object/aggregate.js.map +1 -1
  52. package/build/browser/object/aggregate.test.js +6 -9
  53. package/build/browser/object/aggregate.test.js.map +1 -1
  54. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  55. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  56. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  57. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  58. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -3
  59. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  60. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +41 -85
  61. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  62. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +0 -6
  63. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  64. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +60 -89
  65. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  66. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +2 -2
  67. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  68. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +14 -38
  69. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  70. package/build/browser/object/convertWireToOsdkObjects.js +42 -6
  71. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  72. package/build/browser/object/convertWireToOsdkObjects.test.js +177 -45
  73. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  74. package/build/browser/object/fetchPage.d.ts.map +1 -1
  75. package/build/browser/object/fetchPage.js +34 -23
  76. package/build/browser/object/fetchPage.js.map +1 -1
  77. package/build/browser/object/fetchPage.test.js +75 -1
  78. package/build/browser/object/fetchPage.test.js.map +1 -1
  79. package/build/browser/object/object.test.d.ts.map +1 -1
  80. package/build/browser/object/object.test.js +25 -1
  81. package/build/browser/object/object.test.js.map +1 -1
  82. package/build/browser/object/timeseries.test.js +10 -0
  83. package/build/browser/object/timeseries.test.js.map +1 -1
  84. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  85. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  86. package/build/browser/objectSet/InterfaceObjectSet.test.js +61 -0
  87. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  88. package/build/browser/objectSet/ObjectSet.test.js +162 -48
  89. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  90. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +136 -74
  91. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  92. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +150 -42
  93. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  94. package/build/browser/objectSet/createObjectSet.js +10 -8
  95. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  96. package/build/browser/objectSet/toConjureObjectSet.js +2 -0
  97. package/build/browser/objectSet/toConjureObjectSet.js.map +1 -1
  98. package/build/browser/ontology/makeConjureContext.d.ts +1 -1
  99. package/build/browser/ontology/makeConjureContext.d.ts.map +1 -1
  100. package/build/browser/public/internal.d.ts +4 -0
  101. package/build/browser/public/internal.d.ts.map +1 -0
  102. package/build/browser/public/internal.js +19 -0
  103. package/build/browser/public/internal.js.map +1 -0
  104. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
  105. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  106. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +32 -0
  107. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  108. package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
  109. package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  110. package/build/{esm/createAttachmentFromRid.js → browser/public-utils/hydrateAttachmentFromRid.js} +9 -4
  111. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  112. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
  113. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  114. package/build/browser/public-utils/hydrateObjectSetFromRid.js +37 -0
  115. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  116. package/build/browser/queries/applyQuery.d.ts.map +1 -1
  117. package/build/browser/queries/applyQuery.js +3 -4
  118. package/build/browser/queries/applyQuery.js.map +1 -1
  119. package/build/browser/queries/queries.test.js +30 -2
  120. package/build/browser/queries/queries.test.js.map +1 -1
  121. package/build/browser/tsserver.js +1 -1
  122. package/build/browser/tsserver.js.map +1 -1
  123. package/build/browser/util/UserAgent.js +1 -1
  124. package/build/browser/util/UserAgent.js.map +1 -1
  125. package/build/browser/util/datetimeConverters.d.ts +22 -0
  126. package/build/browser/util/datetimeConverters.d.ts.map +1 -0
  127. package/build/browser/util/datetimeConverters.js +55 -0
  128. package/build/browser/util/datetimeConverters.js.map +1 -0
  129. package/build/browser/util/datetimeConverters.test.d.ts +2 -0
  130. package/build/browser/util/datetimeConverters.test.d.ts.map +1 -0
  131. package/build/browser/util/datetimeConverters.test.js +75 -0
  132. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  133. package/build/browser/util/objectSetUtils.d.ts +4 -0
  134. package/build/browser/util/objectSetUtils.d.ts.map +1 -0
  135. package/build/browser/util/objectSetUtils.js +25 -0
  136. package/build/browser/util/objectSetUtils.js.map +1 -0
  137. package/build/browser/util/timeseriesUtils.d.ts +1 -1
  138. package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
  139. package/build/browser/util/timeseriesUtils.js +1 -1
  140. package/build/browser/util/timeseriesUtils.js.map +1 -1
  141. package/build/browser/util/toDataValue.js +6 -0
  142. package/build/browser/util/toDataValue.js.map +1 -1
  143. package/build/browser/util/toDataValue.test.js +9 -1
  144. package/build/browser/util/toDataValue.test.js.map +1 -1
  145. package/build/browser/util/toDataValueQueries.js +6 -0
  146. package/build/browser/util/toDataValueQueries.js.map +1 -1
  147. package/build/esm/Client.d.ts +6 -22
  148. package/build/esm/Client.d.ts.map +1 -1
  149. package/build/esm/Client.js +3 -1
  150. package/build/esm/Client.js.map +1 -1
  151. package/build/esm/MinimalClientContext.d.ts +1 -1
  152. package/build/esm/MinimalClientContext.d.ts.map +1 -1
  153. package/build/esm/__unstable/ConjureSupport.js +5 -5
  154. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  155. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
  156. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  157. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +2 -2
  158. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  159. package/build/esm/actions/actions.test.js +28 -0
  160. package/build/esm/actions/actions.test.js.map +1 -1
  161. package/build/esm/actions/applyAction.js +1 -1
  162. package/build/esm/actions/applyAction.js.map +1 -1
  163. package/build/esm/createClient.d.ts +1 -1
  164. package/build/esm/createClient.d.ts.map +1 -1
  165. package/build/esm/createClient.js +41 -19
  166. package/build/esm/createClient.js.map +1 -1
  167. package/build/esm/createClient.test.js +24 -0
  168. package/build/esm/createClient.test.js.map +1 -1
  169. package/build/esm/createGeotimeSeriesProperty.d.ts +1 -1
  170. package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -1
  171. package/build/esm/createGeotimeSeriesProperty.js +4 -1
  172. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  173. package/build/esm/createMinimalClient.js +9 -4
  174. package/build/esm/createMinimalClient.js.map +1 -1
  175. package/build/esm/createPlatformClient.d.ts +1 -1
  176. package/build/esm/createPlatformClient.d.ts.map +1 -1
  177. package/build/esm/createTimeseriesProperty.d.ts.map +1 -1
  178. package/build/esm/fetchMetadata.test.js +14 -0
  179. package/build/esm/fetchMetadata.test.js.map +1 -1
  180. package/build/esm/index.d.ts +2 -2
  181. package/build/esm/index.d.ts.map +1 -1
  182. package/build/esm/index.js +1 -1
  183. package/build/esm/index.js.map +1 -1
  184. package/build/esm/intellisense.test.js +1 -1
  185. package/build/esm/intellisense.test.js.map +1 -1
  186. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  187. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  188. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +11 -3
  189. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  190. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +208 -7
  191. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  192. package/build/esm/object/AttachmentUpload.d.ts.map +1 -1
  193. package/build/esm/object/AttachmentUpload.js +5 -7
  194. package/build/esm/object/AttachmentUpload.js.map +1 -1
  195. package/build/esm/object/aggregate.js +4 -5
  196. package/build/esm/object/aggregate.js.map +1 -1
  197. package/build/esm/object/aggregate.test.js +6 -9
  198. package/build/esm/object/aggregate.test.js.map +1 -1
  199. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  200. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  201. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  202. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  203. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -3
  204. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  205. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +41 -85
  206. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  207. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +0 -6
  208. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  209. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +60 -89
  210. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  211. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +2 -2
  212. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  213. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +14 -38
  214. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  215. package/build/esm/object/convertWireToOsdkObjects.js +42 -6
  216. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  217. package/build/esm/object/convertWireToOsdkObjects.test.js +177 -45
  218. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  219. package/build/esm/object/fetchPage.d.ts.map +1 -1
  220. package/build/esm/object/fetchPage.js +34 -23
  221. package/build/esm/object/fetchPage.js.map +1 -1
  222. package/build/esm/object/fetchPage.test.js +75 -1
  223. package/build/esm/object/fetchPage.test.js.map +1 -1
  224. package/build/esm/object/object.test.d.ts.map +1 -1
  225. package/build/esm/object/object.test.js +25 -1
  226. package/build/esm/object/object.test.js.map +1 -1
  227. package/build/esm/object/timeseries.test.js +10 -0
  228. package/build/esm/object/timeseries.test.js.map +1 -1
  229. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  230. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  231. package/build/esm/objectSet/InterfaceObjectSet.test.js +61 -0
  232. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  233. package/build/esm/objectSet/ObjectSet.test.js +162 -48
  234. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  235. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +136 -77
  236. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  237. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +150 -42
  238. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  239. package/build/esm/objectSet/createObjectSet.js +10 -8
  240. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  241. package/build/esm/objectSet/toConjureObjectSet.js +2 -0
  242. package/build/esm/objectSet/toConjureObjectSet.js.map +1 -1
  243. package/build/esm/ontology/makeConjureContext.d.ts +1 -1
  244. package/build/esm/ontology/makeConjureContext.d.ts.map +1 -1
  245. package/build/esm/public/internal.d.ts +4 -0
  246. package/build/esm/public/internal.d.ts.map +1 -0
  247. package/build/esm/public/internal.js +19 -0
  248. package/build/esm/public/internal.js.map +1 -0
  249. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
  250. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  251. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +32 -0
  252. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  253. package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
  254. package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  255. package/build/{browser/createAttachmentFromRid.js → esm/public-utils/hydrateAttachmentFromRid.js} +9 -4
  256. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  257. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
  258. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  259. package/build/esm/public-utils/hydrateObjectSetFromRid.js +37 -0
  260. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  261. package/build/esm/queries/applyQuery.d.ts.map +1 -1
  262. package/build/esm/queries/applyQuery.js +3 -4
  263. package/build/esm/queries/applyQuery.js.map +1 -1
  264. package/build/esm/queries/queries.test.js +30 -2
  265. package/build/esm/queries/queries.test.js.map +1 -1
  266. package/build/esm/tsserver.js +1 -1
  267. package/build/esm/tsserver.js.map +1 -1
  268. package/build/esm/util/UserAgent.js +1 -1
  269. package/build/esm/util/UserAgent.js.map +1 -1
  270. package/build/esm/util/datetimeConverters.d.ts +22 -0
  271. package/build/esm/util/datetimeConverters.d.ts.map +1 -0
  272. package/build/esm/util/datetimeConverters.js +55 -0
  273. package/build/esm/util/datetimeConverters.js.map +1 -0
  274. package/build/esm/util/datetimeConverters.test.d.ts +2 -0
  275. package/build/esm/util/datetimeConverters.test.d.ts.map +1 -0
  276. package/build/esm/util/datetimeConverters.test.js +75 -0
  277. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  278. package/build/esm/util/objectSetUtils.d.ts +4 -0
  279. package/build/esm/util/objectSetUtils.d.ts.map +1 -0
  280. package/build/esm/util/objectSetUtils.js +25 -0
  281. package/build/esm/util/objectSetUtils.js.map +1 -0
  282. package/build/esm/util/timeseriesUtils.d.ts +1 -1
  283. package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
  284. package/build/esm/util/timeseriesUtils.js +1 -1
  285. package/build/esm/util/timeseriesUtils.js.map +1 -1
  286. package/build/esm/util/toDataValue.js +6 -0
  287. package/build/esm/util/toDataValue.js.map +1 -1
  288. package/build/esm/util/toDataValue.test.js +9 -1
  289. package/build/esm/util/toDataValue.test.js.map +1 -1
  290. package/build/esm/util/toDataValueQueries.js +6 -0
  291. package/build/esm/util/toDataValueQueries.js.map +1 -1
  292. package/package.json +23 -19
  293. package/build/browser/createAttachmentFromRid.d.ts +0 -10
  294. package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
  295. package/build/browser/createAttachmentFromRid.js.map +0 -1
  296. package/build/esm/createAttachmentFromRid.d.ts +0 -10
  297. package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
  298. package/build/esm/createAttachmentFromRid.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"timeseries.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","$primaryKey","toEqual","point","employeeStatus","getFirstPoint","time","value","getLastPoint","points","getAllPoints","$before","$unit","toBeDefined","$after","$startTime","$endTime","pointsIter","asyncIterPoints","push"],"sources":["timeseries.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 } 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(\"Timeseries\", () => {\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(\"get first points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getFirstPoint();\n expect(point?.time).toEqual(\"2012-02-12\");\n expect(point?.value).toEqual(10);\n });\n it(\"get last points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getLastPoint();\n expect(point?.time).toEqual(\"2014-04-14\");\n expect(point?.value).toEqual(30);\n });\n it(\"getAll points with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2014-04-14\",\n value: 30,\n }]);\n });\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints();\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints();\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"timeseries.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","$primaryKey","toEqual","point","employeeStatus","getFirstPoint","time","value","getLastPoint","firstPoint","employeeSensor","lastPoint","points","getAllPoints","$before","$unit","toBeDefined","$after","$startTime","$endTime","pointsIter","asyncIterPoints","push"],"sources":["timeseries.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 } 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(\"Timeseries\", () => {\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(\"get first points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getFirstPoint();\n expect(point?.time).toEqual(\"2012-02-12\");\n expect(point?.value).toEqual(10);\n });\n it(\"get last points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getLastPoint();\n expect(point?.time).toEqual(\"2014-04-14\");\n expect(point?.value).toEqual(30);\n });\n it(\"get last and first points works with sensor object\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const firstPoint = await employee.employeeSensor?.getFirstPoint();\n const lastPoint = await employee.employeeSensor?.getLastPoint();\n expect(firstPoint?.time).toEqual(\"2015-05-15\");\n expect(firstPoint?.value).toEqual(40);\n expect(lastPoint?.time).toEqual(\"2014-04-14\");\n expect(lastPoint?.value).toEqual(30);\n });\n it(\"getAll points with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2014-04-14\",\n value: 30,\n }]);\n });\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints();\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints();\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,QAAQ,QAAQ,4BAA4B;AACnE,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,YAAY,EAAE,MAAM;EACzB,IAAII,MAAM;EACVL,SAAS,CAAC,YAAY;IAClBF,SAAS,CAACQ,MAAM,CAAC,CAAC;IAClBD,MAAM,GAAGD,YAAY,CAAC,4BAA4B,EAAER,YAAY,EAAE,YAAY,eAAe,CAAC;EAClG,CAAC,CAAC;EACFG,QAAQ,CAAC,MAAM;IACXD,SAAS,CAACS,KAAK,CAAC,CAAC;EACrB,CAAC,CAAC;EACFJ,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACrC,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMC,KAAK,GAAG,MAAMJ,QAAQ,CAACK,cAAc,EAAEC,aAAa,CAAC,CAAC;IAC5DZ,MAAM,CAACU,KAAK,EAAEG,IAAI,CAAC,CAACJ,OAAO,CAAC,YAAY,CAAC;IACzCT,MAAM,CAACU,KAAK,EAAEI,KAAK,CAAC,CAACL,OAAO,CAAC,EAAE,CAAC;EACpC,CAAC,CAAC;EACFR,EAAE,CAAC,uBAAuB,EAAE,YAAY;IACpC,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMC,KAAK,GAAG,MAAMJ,QAAQ,CAACK,cAAc,EAAEI,YAAY,CAAC,CAAC;IAC3Df,MAAM,CAACU,KAAK,EAAEG,IAAI,CAAC,CAACJ,OAAO,CAAC,YAAY,CAAC;IACzCT,MAAM,CAACU,KAAK,EAAEI,KAAK,CAAC,CAACL,OAAO,CAAC,EAAE,CAAC;EACpC,CAAC,CAAC;EACFR,EAAE,CAAC,oDAAoD,EAAE,YAAY;IACjE,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMO,UAAU,GAAG,MAAMV,QAAQ,CAACW,cAAc,EAAEL,aAAa,CAAC,CAAC;IACjE,MAAMM,SAAS,GAAG,MAAMZ,QAAQ,CAACW,cAAc,EAAEF,YAAY,CAAC,CAAC;IAC/Df,MAAM,CAACgB,UAAU,EAAEH,IAAI,CAAC,CAACJ,OAAO,CAAC,YAAY,CAAC;IAC9CT,MAAM,CAACgB,UAAU,EAAEF,KAAK,CAAC,CAACL,OAAO,CAAC,EAAE,CAAC;IACrCT,MAAM,CAACkB,SAAS,EAAEL,IAAI,CAAC,CAACJ,OAAO,CAAC,YAAY,CAAC;IAC7CT,MAAM,CAACkB,SAAS,EAAEJ,KAAK,CAAC,CAACL,OAAO,CAAC,EAAE,CAAC;EACxC,CAAC,CAAC;EACFR,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAC9C,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMU,MAAM,GAAG,MAAMb,QAAQ,CAACK,cAAc,EAAES,YAAY,CAAC;MACvDC,OAAO,EAAE,CAAC;MACVC,KAAK,EAAE;IACX,CAAC,CAAC;IACFtB,MAAM,CAACmB,MAAM,CAAC,CAACI,WAAW,CAAC,CAAC;IAC5BvB,MAAM,CAACmB,MAAM,CAAC,CAACV,OAAO,CAAC,CAAC;MAAEI,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EAAE;MACnDD,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACX,CAAC,EAAE;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC;EACFb,EAAE,CAAC,gCAAgC,EAAE,YAAY;IAC7C,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMU,MAAM,GAAG,MAAMb,QAAQ,CAACK,cAAc,EAAES,YAAY,CAAC;MACvDI,MAAM,EAAE,CAAC;MACTF,KAAK,EAAE;IACX,CAAC,CAAC;IACFtB,MAAM,CAACmB,MAAM,CAAC,CAACI,WAAW,CAAC,CAAC;IAC5BvB,MAAM,CAACmB,MAAM,CAAC,CAACV,OAAO,CAAC,CAAC;MAAEI,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EAAE;MACnDD,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACX,CAAC,CAAC,CAAC;EACX,CAAC,CAAC;EACFb,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACtD,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMU,MAAM,GAAG,MAAMb,QAAQ,CAACK,cAAc,EAAES,YAAY,CAAC;MACvDK,UAAU,EAAE,0BAA0B;MACtCC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF1B,MAAM,CAACmB,MAAM,CAAC,CAACI,WAAW,CAAC,CAAC;IAC5BvB,MAAM,CAACmB,MAAM,CAAC,CAACV,OAAO,CAAC,CAAC;MAChBI,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACX,CAAC,EAAE;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC;EACFb,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAChD,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMU,MAAM,GAAG,MAAMb,QAAQ,CAACK,cAAc,EAAES,YAAY,CAAC,CAAC;IAC5DpB,MAAM,CAACmB,MAAM,CAAC,CAACI,WAAW,CAAC,CAAC;IAC5BvB,MAAM,CAACmB,MAAM,CAAC,CAACV,OAAO,CAAC,CACnB;MAAEI,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EACjC;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EACjC;MACID,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACX,CAAC,EACD;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EACjC;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,CACpC,CAAC;EACN,CAAC,CAAC;EACFb,EAAE,CAAC,6CAA6C,EAAE,YAAY;IAC1D,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMkB,UAAU,GAAGrB,QAAQ,CAACK,cAAc,EAAEiB,eAAe,CAAC;MACxDH,UAAU,EAAE,0BAA0B;MACtCC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,MAAMP,MAAM,GAAG,EAAE;IACjB,WAAW,MAAMT,KAAK,IAAIiB,UAAU,EAAE;MAClCR,MAAM,CAACU,IAAI,CAACnB,KAAK,CAAC;IACtB;IACAV,MAAM,CAACmB,MAAM,CAAC,CAACI,WAAW,CAAC,CAAC;IAC5BvB,MAAM,CAACmB,MAAM,CAAC,CAACV,OAAO,CAAC,CAAC;MAChBI,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACX,CAAC,EAAE;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC;EACFb,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAC9C,MAAMK,QAAQ,GAAG,MAAMH,MAAM,CAACR,QAAQ,CAAC,CAACY,QAAQ,CAAC,KAAK,CAAC;IACvDP,MAAM,CAACM,QAAQ,CAACE,WAAW,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAC3C,MAAMkB,UAAU,GAAGrB,QAAQ,CAACK,cAAc,EAAEiB,eAAe,CAAC,CAAC;IAC7D,MAAMT,MAAM,GAAG,EAAE;IACjB,WAAW,MAAMT,KAAK,IAAIiB,UAAU,EAAE;MAClCR,MAAM,CAACU,IAAI,CAACnB,KAAK,CAAC;IACtB;IACAV,MAAM,CAACmB,MAAM,CAAC,CAACI,WAAW,CAAC,CAAC;IAC5BvB,MAAM,CAACmB,MAAM,CAAC,CAACV,OAAO,CAAC,CACnB;MAAEI,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EACjC;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EACjC;MACID,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACX,CAAC,EACD;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,EACjC;MAAED,IAAI,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAG,CAAC,CACpC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","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,8 @@
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 { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from "@osdk/api/unstable";
18
+ import { $ontologyRid, BarInterface, BgaoNflPlayer, Employee, FooInterface, Office } from "@osdk/client.test.ontology";
18
19
  import { apiServer, stubData } from "@osdk/shared.test";
19
20
  import { afterAll, beforeAll, describe, expect, expectTypeOf, it } from "vitest";
20
21
  import { createClient } from "../createClient.js";
@@ -95,6 +96,7 @@ describe("ObjectSet", () => {
95
96
  class: "Red",
96
97
  employeeId: 50030,
97
98
  employeeStatus: expect.anything(),
99
+ employeeSensor: expect.anything(),
98
100
  fullName: "John Doe",
99
101
  office: "NYC",
100
102
  startDate: "2019-01-01",
@@ -107,6 +109,7 @@ describe("ObjectSet", () => {
107
109
  class: "Blue",
108
110
  employeeId: 50031,
109
111
  employeeStatus: expect.anything(),
112
+ employeeSensor: expect.anything(),
110
113
  fullName: "Jane Doe",
111
114
  office: "SEA",
112
115
  startDate: "2012-02-12",
@@ -119,6 +122,7 @@ describe("ObjectSet", () => {
119
122
  class: "Red",
120
123
  employeeId: 50032,
121
124
  employeeStatus: expect.anything(),
125
+ employeeSensor: expect.anything(),
122
126
  fullName: "Jack Smith",
123
127
  office: "LON",
124
128
  startDate: "2015-05-15",
@@ -130,6 +134,40 @@ describe("ObjectSet", () => {
130
134
  expectTypeOf().toMatchTypeOf;
131
135
  expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
132
136
  });
137
+ it("allows fetching by rid with experimental function", async () => {
138
+ const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, "ri.employee.i.look.for");
139
+ expectTypeOf().toMatchTypeOf;
140
+ expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
141
+ });
142
+ it("allows fetching by rid with experimental function, with select", async () => {
143
+ const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, "ri.employee.i.look.for", {
144
+ $select: ["fullName"]
145
+ });
146
+ expectTypeOf().toMatchTypeOf;
147
+ expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);
148
+ });
149
+ it("check struct parsing", async () => {
150
+ const player = await client(BgaoNflPlayer).fetchOne("tkelce");
151
+ expectTypeOf().toMatchTypeOf;
152
+ expectTypeOf().toMatchTypeOf;
153
+ const address1 = player.address.addressLine1;
154
+ expectTypeOf().toMatchTypeOf;
155
+ expect(address1).toEqual("15 Muppets Lane");
156
+ const address2 = player.address?.addressLine2;
157
+ expectTypeOf().toMatchTypeOf;
158
+ expect(address2).toEqual("Resort No 4");
159
+ const city = player.address?.city;
160
+ expectTypeOf().toMatchTypeOf;
161
+ expect(city).toEqual("Memphis");
162
+ const state = player.address?.state;
163
+ expectTypeOf().toMatchTypeOf;
164
+ expect(state).toEqual("TN");
165
+ const zipCode = player.address?.zipCode;
166
+ expectTypeOf().toMatchTypeOf;
167
+ expect(zipCode).toEqual(11100);
168
+ expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);
169
+ expect(player.address).toEqual(stubData.travisPlayer.address);
170
+ });
133
171
  it("allows fetching by PK from a base object set - fetchOneWithErrors", async () => {
134
172
  const employeeResult = await client(Employee).fetchOneWithErrors(stubData.employee1.employeeId);
135
173
  expectTypeOf().toMatchTypeOf;
@@ -192,34 +230,126 @@ describe("ObjectSet", () => {
192
230
  expect(iter).toEqual(2);
193
231
  }
194
232
  });
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
- });
233
+ it("allows $in filter with ReadonlyArrays", () => {
234
+ const objectSet = client(Employee).where({
235
+ employeeId: {
236
+ $in: [50030, 50031]
237
+ }
222
238
  });
239
+ expect(objectSet).toBeDefined();
240
+ });
241
+ it("does not allow arbitrary keys when no properties", () => {
242
+ client(Employee).where({
243
+ // @ts-expect-error
244
+ employeeIdNonExistent: {
245
+ $in: [50030, 50031]
246
+ }
247
+ });
248
+ client(BarInterface).where({
249
+ // @ts-expect-error
250
+ nonExistentProp: ""
251
+ });
252
+ });
253
+ it("type checking containsallterm and containsanyterm", () => {
254
+ client(Employee).where({
255
+ $or: [{
256
+ fullName: {
257
+ $containsAllTerms: "John Smith"
258
+ }
259
+ }, {
260
+ office: {
261
+ $containsAllTerms: {
262
+ term: "NYC DC"
263
+ }
264
+ }
265
+ }, {
266
+ fullName: {
267
+ $containsAllTerms: {
268
+ term: "John Smith",
269
+ fuzzySearch: false
270
+ }
271
+ }
272
+ }, {
273
+ // @ts-expect-error
274
+ fullName: {
275
+ $containsAllTerms: {
276
+ fuzzySearch: false
277
+ }
278
+ }
279
+ }]
280
+ });
281
+ client(Employee).where({
282
+ $or: [{
283
+ fullName: {
284
+ $containsAnyTerm: "John Smith"
285
+ }
286
+ }, {
287
+ office: {
288
+ $containsAnyTerm: {
289
+ term: "NYC DC"
290
+ }
291
+ }
292
+ }, {
293
+ fullName: {
294
+ $containsAnyTerm: {
295
+ term: "John Smith",
296
+ fuzzySearch: false
297
+ }
298
+ }
299
+ }, {
300
+ // @ts-expect-error
301
+ fullName: {
302
+ $containsAnyTerm: {
303
+ fuzzySearch: false
304
+ }
305
+ }
306
+ }]
307
+ });
308
+ client(BarInterface).where({
309
+ // @ts-expect-error
310
+ nonExistentProp: ""
311
+ });
312
+ });
313
+ describe.each(["fetchPage", "fetchPageWithErrors"])("%s", k => {
314
+ // describe("strictNonNull: \"drop\"", () => {
315
+ // describe("includeRid: true", () => {
316
+ // it("drops bad data", async () => {
317
+ // const opts = {
318
+ // $__EXPERIMENTAL_strictNonNull: "drop",
319
+ // $includeRid: true,
320
+ // } as const;
321
+ // const result = k === "fetchPage"
322
+ // ? await client(Employee).fetchPage(opts)
323
+ // : (await client(Employee).fetchPageWithErrors(opts)).value!;
324
+ // expect(result.data).toHaveLength(3);
325
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
326
+ // Osdk<Employee, "$rid" | "$all">
327
+ // >();
328
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
329
+ // Employee.OsdkObject<"$rid">
330
+ // >();
331
+ // });
332
+ // });
333
+ // describe("includeRid: false", () => {
334
+ // it("drops bad data", async () => {
335
+ // const opts = {
336
+ // $__EXPERIMENTAL_strictNonNull: "drop",
337
+ // $includeRid: false,
338
+ // } as const;
339
+ // const result = k === "fetchPage"
340
+ // ? await client(Employee).fetchPage(opts)
341
+ // : (await client(Employee).fetchPageWithErrors(opts)).value!;
342
+ // expect(result.data).toHaveLength(3);
343
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();
344
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
345
+ // Employee.OsdkObject
346
+ // >();
347
+ // expectTypeOf(result.data[0]).branded.toEqualTypeOf<
348
+ // Employee.OsdkObject<never>
349
+ // >();
350
+ // });
351
+ // });
352
+ // });
223
353
  describe("strictNonNull: false", () => {
224
354
  describe("includeRid: true", () => {
225
355
  it("returns bad data", async () => {
@@ -235,8 +365,7 @@ describe("ObjectSet", () => {
235
365
  describe("includeRid: false", () => {
236
366
  it("returns bad data", async () => {
237
367
  const opts = {
238
- $__EXPERIMENTAL_strictNonNull: false,
239
- includeRid: false
368
+ $includeRid: false
240
369
  };
241
370
  const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
242
371
  expect(result.data).toHaveLength(4);
@@ -245,17 +374,11 @@ describe("ObjectSet", () => {
245
374
  });
246
375
  });
247
376
  });
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
377
  describe.each(["fetchOne", "fetchOneWithErrors"])("%s", k => {
256
378
  describe("strictNonNull: false", () => {
257
379
  describe("includeRid: true", () => {
258
380
  it("returns bad data", async () => {
381
+ // Look at this
259
382
  const opts = {
260
383
  $__EXPERIMENTAL_strictNonNull: false,
261
384
  $includeRid: true
@@ -269,7 +392,7 @@ describe("ObjectSet", () => {
269
392
  it("returns bad data", async () => {
270
393
  const opts = {
271
394
  $__EXPERIMENTAL_strictNonNull: false,
272
- includeRid: false
395
+ $includeRid: false
273
396
  };
274
397
  const result = k === "fetchOne" ? await client(Employee).fetchOne(50033, opts) : (await client(Employee).fetchOneWithErrors(50033, opts)).value;
275
398
  expect(result).not.toBeUndefined();
@@ -278,19 +401,10 @@ describe("ObjectSet", () => {
278
401
  });
279
402
  });
280
403
  });
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
404
  describe("conversions", () => {
289
405
  describe("strictNonNull: false", () => {
290
406
  it("returns bad data", async () => {
291
- const result = await client(Employee).fetchPage({
292
- $__EXPERIMENTAL_strictNonNull: false
293
- });
407
+ const result = await client(Employee).fetchPage({});
294
408
  const empNotStrict = result.data[0];
295
409
  expectTypeOf(empNotStrict).branded.toEqualTypeOf();
296
410
  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","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","$ontologyRid","BarInterface","BgaoNflPlayer","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","employeeSensor","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","fetchOneByRid","$select","employee2","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","__primaryKey","employeeResult","fetchOneWithErrors","value","branded","toEqualTypeOf","rejects","toThrow","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","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 { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from \"@osdk/api/unstable\";\nimport { $ontologyRid, BarInterface, BgaoNflPlayer, 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 employeeSensor: 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 employeeSensor: 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 employeeSensor: 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 rid with experimental function\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\");\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\", { $select: [\"fullName\"] });\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\"tkelce\");\n expectTypeOf().toMatchTypeOf;\n expectTypeOf().toMatchTypeOf;\n const address1 = player.address.addressLine1;\n expectTypeOf().toMatchTypeOf;\n expect(address1).toEqual(\"15 Muppets Lane\");\n const address2 = player.address?.addressLine2;\n expectTypeOf().toMatchTypeOf;\n expect(address2).toEqual(\"Resort No 4\");\n const city = player.address?.city;\n expectTypeOf().toMatchTypeOf;\n expect(city).toEqual(\"Memphis\");\n const state = player.address?.state;\n expectTypeOf().toMatchTypeOf;\n expect(state).toEqual(\"TN\");\n const zipCode = player.address?.zipCode;\n expectTypeOf().toMatchTypeOf;\n expect(zipCode).toEqual(11100);\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\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 it(\"type checking containsallterm and containsanyterm\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\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":[]}