@osdk/client 2.2.0-beta.8 → 2.2.0-rc.24

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 (485) hide show
  1. package/CHANGELOG.md +401 -0
  2. package/build/browser/MinimalClientContext.js.map +1 -1
  3. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  4. package/build/browser/actions/ActionValidationError.js +1 -1
  5. package/build/browser/actions/ActionValidationError.js.map +1 -1
  6. package/build/browser/actions/actions.test.js +134 -89
  7. package/build/browser/actions/actions.test.js.map +1 -1
  8. package/build/browser/actions/applyAction.js.map +1 -1
  9. package/build/browser/createClient.js +5 -1
  10. package/build/browser/createClient.js.map +1 -1
  11. package/build/browser/createClient.test.js +14 -6
  12. package/build/browser/createClient.test.js.map +1 -1
  13. package/build/browser/createMinimalClient.js +2 -2
  14. package/build/browser/createMinimalClient.js.map +1 -1
  15. package/build/browser/createMinimalClientHelper.js +25 -0
  16. package/build/browser/createMinimalClientHelper.js.map +1 -0
  17. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +4 -21
  18. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  19. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +14 -14
  20. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  21. package/build/browser/fetchMetadata.js +1 -1
  22. package/build/browser/fetchMetadata.js.map +1 -1
  23. package/build/browser/fetchMetadata.test.js +11 -9
  24. package/build/browser/fetchMetadata.test.js.map +1 -1
  25. package/build/browser/index.js +0 -1
  26. package/build/browser/index.js.map +1 -1
  27. package/build/{esm/util/isOsdkBaseObject.js → browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js} +9 -4
  28. package/build/browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
  29. package/build/browser/intellisense.test.js +17 -1
  30. package/build/browser/intellisense.test.js.map +1 -1
  31. package/build/browser/logger/BaseLogger.js +59 -0
  32. package/build/browser/logger/BaseLogger.js.map +1 -0
  33. package/build/browser/logger/BrowserLogger.js +67 -0
  34. package/build/browser/logger/BrowserLogger.js.map +1 -0
  35. package/build/browser/logger/MinimalLogger.js +39 -0
  36. package/build/browser/logger/MinimalLogger.js.map +1 -0
  37. package/build/browser/logger/MinimalLogger.test.js +60 -0
  38. package/build/browser/logger/MinimalLogger.test.js.map +1 -0
  39. package/build/browser/logger/TestLogger.js +56 -0
  40. package/build/browser/logger/TestLogger.js.map +1 -0
  41. package/build/browser/object/SimpleOsdkProperties.js +2 -0
  42. package/build/browser/object/SimpleOsdkProperties.js.map +1 -0
  43. package/build/browser/object/attachment.test.js +20 -7
  44. package/build/browser/object/attachment.test.js.map +1 -1
  45. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
  46. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
  47. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  48. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  49. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  50. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  51. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +53 -35
  52. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  53. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  54. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  55. package/build/browser/object/convertWireToOsdkObjects.js +7 -15
  56. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  57. package/build/browser/object/convertWireToOsdkObjects.test.js +39 -33
  58. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  59. package/build/browser/object/fetchPage.js +17 -4
  60. package/build/browser/object/fetchPage.js.map +1 -1
  61. package/build/browser/object/fetchPage.test.js +56 -2
  62. package/build/browser/object/fetchPage.test.js.map +1 -1
  63. package/build/browser/object/geotimeseriesreference.test.js +56 -134
  64. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  65. package/build/browser/object/media.test.js +19 -14
  66. package/build/browser/object/media.test.js.map +1 -1
  67. package/build/browser/object/object.test.js +96 -89
  68. package/build/browser/object/object.test.js.map +1 -1
  69. package/build/browser/object/timeseries.test.js +119 -85
  70. package/build/browser/object/timeseries.test.js.map +1 -1
  71. package/build/browser/objectSet/InterfaceObjectSet.test.js +37 -17
  72. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
  73. package/build/browser/objectSet/ObjectSet.test.js +266 -161
  74. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  75. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +20 -16
  76. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  77. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +19 -12
  78. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  79. package/build/browser/objectSet/createObjectSet.js +2 -1
  80. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  81. package/build/browser/observable/ListPayload.js.map +1 -1
  82. package/build/browser/observable/ObjectPayload.js.map +1 -1
  83. package/build/browser/observable/ObservableClient.js.map +1 -1
  84. package/build/browser/observable/internal/ActionApplication.js +32 -32
  85. package/build/browser/observable/internal/ActionApplication.js.map +1 -1
  86. package/build/browser/observable/internal/BulkObjectLoader.js +93 -0
  87. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -0
  88. package/build/browser/observable/internal/BulkObjectLoader.test.js +112 -0
  89. package/build/browser/observable/internal/BulkObjectLoader.test.js.map +1 -0
  90. package/build/browser/observable/internal/CacheKey.js +1 -1
  91. package/build/browser/observable/internal/CacheKey.js.map +1 -1
  92. package/build/browser/observable/internal/CacheKeys.js +2 -2
  93. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  94. package/build/browser/observable/internal/{ChangedObjects.js → Changes.js} +20 -9
  95. package/build/browser/observable/internal/Changes.js.map +1 -0
  96. package/build/browser/observable/internal/Layer.js +3 -0
  97. package/build/browser/observable/internal/Layer.js.map +1 -1
  98. package/build/browser/observable/internal/ListQuery.js +414 -170
  99. package/build/browser/observable/internal/ListQuery.js.map +1 -1
  100. package/build/browser/observable/internal/ObjectQuery.js +34 -21
  101. package/build/browser/observable/internal/ObjectQuery.js.map +1 -1
  102. package/build/browser/observable/internal/ObservableClientImpl.js +4 -12
  103. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  104. package/build/browser/observable/internal/OptimisticJob.js +1 -1
  105. package/build/browser/observable/internal/OptimisticJob.js.map +1 -1
  106. package/build/browser/observable/internal/OrderByCanonicalizer.js +73 -0
  107. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -0
  108. package/build/browser/observable/internal/OrderByCanonicalizer.test.js +78 -0
  109. package/build/browser/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
  110. package/build/browser/observable/internal/Query.js +64 -31
  111. package/build/browser/observable/internal/Query.js.map +1 -1
  112. package/build/browser/observable/internal/RefCounts.js +7 -2
  113. package/build/browser/observable/internal/RefCounts.js.map +1 -1
  114. package/build/browser/observable/internal/SimpleWhereClause.js +2 -0
  115. package/build/browser/observable/internal/SimpleWhereClause.js.map +1 -0
  116. package/build/browser/observable/internal/Store.js +86 -269
  117. package/build/browser/observable/internal/Store.js.map +1 -1
  118. package/build/browser/observable/internal/Store.test.js +401 -375
  119. package/build/browser/observable/internal/Store.test.js.map +1 -1
  120. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +11 -3
  121. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  122. package/build/browser/observable/internal/objectMatchesWhereClause.js +0 -2
  123. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -1
  124. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  125. package/build/browser/observable/internal/testUtils.js +85 -20
  126. package/build/browser/observable/internal/testUtils.js.map +1 -1
  127. package/build/browser/ontology/OntologyProvider.js.map +1 -1
  128. package/build/browser/ontology/StandardOntologyProvider.js +12 -5
  129. package/build/browser/ontology/StandardOntologyProvider.js.map +1 -1
  130. package/build/browser/ontology/StandardOntologyProvider.test.js +17 -16
  131. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
  132. package/build/browser/ontology/loadFullObjectMetadata.js +0 -1
  133. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  134. package/build/browser/ontology/loadQueryMetadata.js +5 -2
  135. package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
  136. package/build/browser/public/internal.js +2 -0
  137. package/build/browser/public/internal.js.map +1 -1
  138. package/build/browser/public/unstable-do-not-use.js +1 -0
  139. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  140. package/build/browser/public-utils/osdkConfig.js +49 -0
  141. package/build/browser/public-utils/osdkConfig.js.map +1 -0
  142. package/build/browser/{object/createObjectSpecifierFromPrimaryKey.js → public-utils/vite-env.d.ts} +2 -3
  143. package/build/browser/queries/applyQuery.js +6 -4
  144. package/build/browser/queries/applyQuery.js.map +1 -1
  145. package/build/browser/queries/queries.test.js +93 -27
  146. package/build/browser/queries/queries.test.js.map +1 -1
  147. package/build/browser/queries/types.js.map +1 -1
  148. package/build/browser/tsserver.js.map +1 -1
  149. package/build/browser/util/UserAgent.js +1 -1
  150. package/build/browser/util/UserAgent.js.map +1 -1
  151. package/build/browser/util/extractRdpDefinition.js +140 -0
  152. package/build/browser/util/extractRdpDefinition.js.map +1 -0
  153. package/build/browser/util/extractRdpDefinition.test.js +233 -0
  154. package/build/browser/util/extractRdpDefinition.test.js.map +1 -0
  155. package/build/browser/util/{isOsdkBaseObject.js → isObjectSpecifiersObject.js} +2 -2
  156. package/build/browser/util/isObjectSpecifiersObject.js.map +1 -0
  157. package/build/browser/util/isPoint.js +20 -0
  158. package/build/browser/util/isPoint.js.map +1 -0
  159. package/build/browser/util/objectSpecifierUtils.js +48 -0
  160. package/build/browser/util/objectSpecifierUtils.js.map +1 -0
  161. package/build/browser/util/objectSpecifierUtils.test.js +42 -0
  162. package/build/browser/util/objectSpecifierUtils.test.js.map +1 -0
  163. package/build/browser/util/toDataValue.js +6 -2
  164. package/build/browser/util/toDataValue.js.map +1 -1
  165. package/build/browser/util/toDataValue.test.js +37 -16
  166. package/build/browser/util/toDataValue.test.js.map +1 -1
  167. package/build/browser/util/toDataValueQueries.js +4 -6
  168. package/build/browser/util/toDataValueQueries.js.map +1 -1
  169. package/build/cjs/{Client-DBTcM9gB.d.cts → Client-CgL2LKN9.d.cts} +6 -7
  170. package/build/cjs/{chunk-IU47QMYO.cjs → chunk-GTDO4U7H.cjs} +142 -86
  171. package/build/cjs/chunk-GTDO4U7H.cjs.map +1 -0
  172. package/build/cjs/chunk-T4NIFYZS.cjs +14 -0
  173. package/build/cjs/chunk-T4NIFYZS.cjs.map +1 -0
  174. package/build/cjs/{chunk-JPENHIJB.cjs → chunk-W5PFESFR.cjs} +174 -35
  175. package/build/cjs/chunk-W5PFESFR.cjs.map +1 -0
  176. package/build/cjs/index.cjs +212 -193
  177. package/build/cjs/index.cjs.map +1 -1
  178. package/build/cjs/index.d.cts +4 -24
  179. package/build/cjs/public/internal.cjs +61 -7
  180. package/build/cjs/public/internal.cjs.map +1 -1
  181. package/build/cjs/public/internal.d.cts +50 -3
  182. package/build/cjs/public/unstable-do-not-use.cjs +885 -620
  183. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  184. package/build/cjs/public/unstable-do-not-use.d.cts +35 -25
  185. package/build/esm/MinimalClientContext.js.map +1 -1
  186. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  187. package/build/esm/actions/ActionValidationError.js +1 -1
  188. package/build/esm/actions/ActionValidationError.js.map +1 -1
  189. package/build/esm/actions/actions.test.js +134 -89
  190. package/build/esm/actions/actions.test.js.map +1 -1
  191. package/build/esm/actions/applyAction.js.map +1 -1
  192. package/build/esm/createClient.js +5 -1
  193. package/build/esm/createClient.js.map +1 -1
  194. package/build/esm/createClient.test.js +14 -6
  195. package/build/esm/createClient.test.js.map +1 -1
  196. package/build/esm/createMinimalClient.js +2 -2
  197. package/build/esm/createMinimalClient.js.map +1 -1
  198. package/build/esm/createMinimalClientHelper.js +25 -0
  199. package/build/esm/createMinimalClientHelper.js.map +1 -0
  200. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +4 -21
  201. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  202. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +14 -14
  203. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  204. package/build/esm/fetchMetadata.js +1 -1
  205. package/build/esm/fetchMetadata.js.map +1 -1
  206. package/build/esm/fetchMetadata.test.js +11 -9
  207. package/build/esm/fetchMetadata.test.js.map +1 -1
  208. package/build/esm/index.js +0 -1
  209. package/build/esm/index.js.map +1 -1
  210. package/build/esm/{util/isOsdkObject.js → intellisense.test.helpers/showsObjectPropertyJsdoc.js} +9 -4
  211. package/build/esm/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
  212. package/build/esm/intellisense.test.js +17 -1
  213. package/build/esm/intellisense.test.js.map +1 -1
  214. package/build/esm/logger/BaseLogger.js +59 -0
  215. package/build/esm/logger/BaseLogger.js.map +1 -0
  216. package/build/esm/logger/BrowserLogger.js +67 -0
  217. package/build/esm/logger/BrowserLogger.js.map +1 -0
  218. package/build/esm/logger/MinimalLogger.js +39 -0
  219. package/build/esm/logger/MinimalLogger.js.map +1 -0
  220. package/build/esm/logger/MinimalLogger.test.js +60 -0
  221. package/build/esm/logger/MinimalLogger.test.js.map +1 -0
  222. package/build/esm/logger/TestLogger.js +56 -0
  223. package/build/esm/logger/TestLogger.js.map +1 -0
  224. package/build/esm/object/SimpleOsdkProperties.js +2 -0
  225. package/build/esm/object/SimpleOsdkProperties.js.map +1 -0
  226. package/build/esm/object/attachment.test.js +20 -7
  227. package/build/esm/object/attachment.test.js.map +1 -1
  228. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
  229. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
  230. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  231. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  232. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  233. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  234. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +53 -35
  235. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  236. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  237. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  238. package/build/esm/object/convertWireToOsdkObjects.js +7 -15
  239. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  240. package/build/esm/object/convertWireToOsdkObjects.test.js +39 -33
  241. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  242. package/build/esm/object/fetchPage.js +17 -4
  243. package/build/esm/object/fetchPage.js.map +1 -1
  244. package/build/esm/object/fetchPage.test.js +56 -2
  245. package/build/esm/object/fetchPage.test.js.map +1 -1
  246. package/build/esm/object/geotimeseriesreference.test.js +56 -134
  247. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  248. package/build/esm/object/media.test.js +19 -14
  249. package/build/esm/object/media.test.js.map +1 -1
  250. package/build/esm/object/object.test.js +96 -89
  251. package/build/esm/object/object.test.js.map +1 -1
  252. package/build/esm/object/timeseries.test.js +119 -85
  253. package/build/esm/object/timeseries.test.js.map +1 -1
  254. package/build/esm/objectSet/InterfaceObjectSet.test.js +37 -17
  255. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
  256. package/build/esm/objectSet/ObjectSet.test.js +266 -161
  257. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  258. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +20 -16
  259. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  260. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +19 -12
  261. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  262. package/build/esm/objectSet/createObjectSet.js +2 -1
  263. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  264. package/build/esm/observable/ListPayload.js.map +1 -1
  265. package/build/esm/observable/ObjectPayload.js.map +1 -1
  266. package/build/esm/observable/ObservableClient.js.map +1 -1
  267. package/build/esm/observable/internal/ActionApplication.js +32 -32
  268. package/build/esm/observable/internal/ActionApplication.js.map +1 -1
  269. package/build/esm/observable/internal/BulkObjectLoader.js +93 -0
  270. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -0
  271. package/build/esm/observable/internal/BulkObjectLoader.test.js +112 -0
  272. package/build/esm/observable/internal/BulkObjectLoader.test.js.map +1 -0
  273. package/build/esm/observable/internal/CacheKey.js +1 -1
  274. package/build/esm/observable/internal/CacheKey.js.map +1 -1
  275. package/build/esm/observable/internal/CacheKeys.js +2 -2
  276. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  277. package/build/esm/observable/internal/{ChangedObjects.js → Changes.js} +20 -9
  278. package/build/esm/observable/internal/Changes.js.map +1 -0
  279. package/build/esm/observable/internal/Layer.js +3 -0
  280. package/build/esm/observable/internal/Layer.js.map +1 -1
  281. package/build/esm/observable/internal/ListQuery.js +414 -170
  282. package/build/esm/observable/internal/ListQuery.js.map +1 -1
  283. package/build/esm/observable/internal/ObjectQuery.js +34 -21
  284. package/build/esm/observable/internal/ObjectQuery.js.map +1 -1
  285. package/build/esm/observable/internal/ObservableClientImpl.js +4 -12
  286. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  287. package/build/esm/observable/internal/OptimisticJob.js +1 -1
  288. package/build/esm/observable/internal/OptimisticJob.js.map +1 -1
  289. package/build/esm/observable/internal/OrderByCanonicalizer.js +73 -0
  290. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -0
  291. package/build/esm/observable/internal/OrderByCanonicalizer.test.js +78 -0
  292. package/build/esm/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
  293. package/build/esm/observable/internal/Query.js +64 -31
  294. package/build/esm/observable/internal/Query.js.map +1 -1
  295. package/build/esm/observable/internal/RefCounts.js +7 -2
  296. package/build/esm/observable/internal/RefCounts.js.map +1 -1
  297. package/build/esm/observable/internal/SimpleWhereClause.js +2 -0
  298. package/build/esm/observable/internal/SimpleWhereClause.js.map +1 -0
  299. package/build/esm/observable/internal/Store.js +86 -269
  300. package/build/esm/observable/internal/Store.js.map +1 -1
  301. package/build/esm/observable/internal/Store.test.js +401 -375
  302. package/build/esm/observable/internal/Store.test.js.map +1 -1
  303. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +11 -3
  304. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  305. package/build/esm/observable/internal/objectMatchesWhereClause.js +0 -2
  306. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -1
  307. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  308. package/build/esm/observable/internal/testUtils.js +85 -20
  309. package/build/esm/observable/internal/testUtils.js.map +1 -1
  310. package/build/esm/ontology/OntologyProvider.js.map +1 -1
  311. package/build/esm/ontology/StandardOntologyProvider.js +12 -5
  312. package/build/esm/ontology/StandardOntologyProvider.js.map +1 -1
  313. package/build/esm/ontology/StandardOntologyProvider.test.js +17 -16
  314. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
  315. package/build/esm/ontology/loadFullObjectMetadata.js +0 -1
  316. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  317. package/build/esm/ontology/loadQueryMetadata.js +5 -2
  318. package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
  319. package/build/esm/public/internal.js +2 -0
  320. package/build/esm/public/internal.js.map +1 -1
  321. package/build/esm/public/unstable-do-not-use.js +1 -0
  322. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  323. package/build/esm/public-utils/osdkConfig.js +49 -0
  324. package/build/esm/public-utils/osdkConfig.js.map +1 -0
  325. package/build/esm/{object/createObjectSpecifierFromPrimaryKey.js → public-utils/vite-env.d.ts} +2 -3
  326. package/build/esm/queries/applyQuery.js +6 -4
  327. package/build/esm/queries/applyQuery.js.map +1 -1
  328. package/build/esm/queries/queries.test.js +93 -27
  329. package/build/esm/queries/queries.test.js.map +1 -1
  330. package/build/esm/queries/types.js.map +1 -1
  331. package/build/esm/tsserver.js.map +1 -1
  332. package/build/esm/util/UserAgent.js +1 -1
  333. package/build/esm/util/UserAgent.js.map +1 -1
  334. package/build/esm/util/extractRdpDefinition.js +140 -0
  335. package/build/esm/util/extractRdpDefinition.js.map +1 -0
  336. package/build/esm/util/extractRdpDefinition.test.js +233 -0
  337. package/build/esm/util/extractRdpDefinition.test.js.map +1 -0
  338. package/build/{browser/util/isOsdkObject.js → esm/util/isObjectSpecifiersObject.js} +2 -2
  339. package/build/esm/util/isObjectSpecifiersObject.js.map +1 -0
  340. package/build/esm/util/isPoint.js +20 -0
  341. package/build/esm/util/isPoint.js.map +1 -0
  342. package/build/esm/util/objectSpecifierUtils.js +48 -0
  343. package/build/esm/util/objectSpecifierUtils.js.map +1 -0
  344. package/build/esm/util/objectSpecifierUtils.test.js +42 -0
  345. package/build/esm/util/objectSpecifierUtils.test.js.map +1 -0
  346. package/build/esm/util/toDataValue.js +6 -2
  347. package/build/esm/util/toDataValue.js.map +1 -1
  348. package/build/esm/util/toDataValue.test.js +37 -16
  349. package/build/esm/util/toDataValue.test.js.map +1 -1
  350. package/build/esm/util/toDataValueQueries.js +4 -6
  351. package/build/esm/util/toDataValueQueries.js.map +1 -1
  352. package/build/types/MinimalClientContext.d.ts +1 -1
  353. package/build/types/MinimalClientContext.d.ts.map +1 -1
  354. package/build/types/__unstable/ConjureSupport.d.ts +2 -2
  355. package/build/types/actions/applyAction.d.ts +1 -2
  356. package/build/types/actions/applyAction.d.ts.map +1 -1
  357. package/build/types/createClient.d.ts +1 -1
  358. package/build/types/createClient.d.ts.map +1 -1
  359. package/build/types/createClient.test.d.ts +2 -1
  360. package/build/types/createClient.test.d.ts.map +1 -1
  361. package/build/types/createMinimalClientHelper.d.ts +1 -0
  362. package/build/types/createMinimalClientHelper.d.ts.map +1 -0
  363. package/build/types/index.d.ts +4 -6
  364. package/build/types/index.d.ts.map +1 -1
  365. package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts +1 -0
  366. package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts.map +1 -0
  367. package/build/types/logger/BaseLogger.d.ts +33 -0
  368. package/build/types/logger/BaseLogger.d.ts.map +1 -0
  369. package/build/types/logger/BrowserLogger.d.ts +9 -0
  370. package/build/types/logger/BrowserLogger.d.ts.map +1 -0
  371. package/build/types/logger/MinimalLogger.d.ts +9 -0
  372. package/build/types/logger/MinimalLogger.d.ts.map +1 -0
  373. package/build/types/logger/MinimalLogger.test.d.ts +1 -0
  374. package/build/types/logger/MinimalLogger.test.d.ts.map +1 -0
  375. package/build/types/logger/TestLogger.d.ts +14 -0
  376. package/build/types/logger/TestLogger.d.ts.map +1 -0
  377. package/build/types/object/SimpleOsdkProperties.d.ts +1 -0
  378. package/build/types/object/SimpleOsdkProperties.d.ts.map +1 -0
  379. package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts +1 -0
  380. package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts.map +1 -0
  381. package/build/types/object/convertWireToOsdkObjects.d.ts +8 -1
  382. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
  383. package/build/types/object/fetchPage.d.ts.map +1 -1
  384. package/build/types/object/object.test.d.ts.map +1 -1
  385. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -1
  386. package/build/types/observable/ListPayload.d.ts +5 -9
  387. package/build/types/observable/ListPayload.d.ts.map +1 -1
  388. package/build/types/observable/ObjectPayload.d.ts +4 -7
  389. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  390. package/build/types/observable/ObservableClient.d.ts +27 -11
  391. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  392. package/build/types/observable/internal/ActionApplication.d.ts +2 -2
  393. package/build/types/observable/internal/ActionApplication.d.ts.map +1 -1
  394. package/build/types/observable/internal/BulkObjectLoader.d.ts +8 -0
  395. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -0
  396. package/build/types/observable/internal/BulkObjectLoader.test.d.ts +1 -0
  397. package/build/types/observable/internal/BulkObjectLoader.test.d.ts.map +1 -0
  398. package/build/types/observable/internal/CacheKeys.d.ts +1 -1
  399. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  400. package/build/types/observable/internal/Changes.d.ts +15 -0
  401. package/build/types/observable/internal/Changes.d.ts.map +1 -0
  402. package/build/types/observable/internal/Layer.d.ts +1 -0
  403. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  404. package/build/types/observable/internal/ListQuery.d.ts +59 -14
  405. package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
  406. package/build/types/observable/internal/ObjectQuery.d.ts +5 -6
  407. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
  408. package/build/types/observable/internal/OptimisticJob.d.ts +1 -1
  409. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
  410. package/build/types/observable/internal/OrderByCanonicalizer.d.ts +12 -0
  411. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -0
  412. package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts +1 -0
  413. package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts.map +1 -0
  414. package/build/types/observable/internal/Query.d.ts +41 -6
  415. package/build/types/observable/internal/Query.d.ts.map +1 -1
  416. package/build/types/observable/internal/RefCounts.d.ts.map +1 -1
  417. package/build/types/observable/internal/SimpleWhereClause.d.ts +2 -0
  418. package/build/types/observable/internal/SimpleWhereClause.d.ts.map +1 -0
  419. package/build/types/observable/internal/Store.d.ts +20 -44
  420. package/build/types/observable/internal/Store.d.ts.map +1 -1
  421. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +2 -1
  422. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -1
  423. package/build/types/observable/internal/objectMatchesWhereClause.d.ts +4 -2
  424. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -1
  425. package/build/types/observable/internal/testUtils.d.ts +39 -10
  426. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  427. package/build/types/ontology/OntologyProvider.d.ts +1 -1
  428. package/build/types/ontology/OntologyProvider.d.ts.map +1 -1
  429. package/build/types/ontology/loadQueryMetadata.d.ts +1 -1
  430. package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -1
  431. package/build/types/public/internal.d.ts +2 -0
  432. package/build/types/public/internal.d.ts.map +1 -1
  433. package/build/types/public/unstable-do-not-use.d.ts +4 -5
  434. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  435. package/build/types/public-utils/osdkConfig.d.ts +8 -0
  436. package/build/types/public-utils/osdkConfig.d.ts.map +1 -0
  437. package/build/types/public-utils/vite-env.d.d.ts +3 -0
  438. package/build/types/public-utils/vite-env.d.d.ts.map +1 -0
  439. package/build/types/queries/applyQuery.d.ts +2 -2
  440. package/build/types/queries/applyQuery.d.ts.map +1 -1
  441. package/build/types/queries/types.d.ts +1 -1
  442. package/build/types/queries/types.d.ts.map +1 -1
  443. package/build/types/tsserver.d.ts +1 -1
  444. package/build/types/tsserver.d.ts.map +1 -1
  445. package/build/types/util/extractRdpDefinition.d.ts +4 -0
  446. package/build/types/util/extractRdpDefinition.d.ts.map +1 -0
  447. package/build/types/util/extractRdpDefinition.test.d.ts +1 -0
  448. package/build/types/util/extractRdpDefinition.test.d.ts.map +1 -0
  449. package/build/types/util/isObjectSpecifiersObject.d.ts +5 -0
  450. package/build/types/util/isObjectSpecifiersObject.d.ts.map +1 -0
  451. package/build/types/util/isPoint.d.ts +1 -0
  452. package/build/types/util/isPoint.d.ts.map +1 -0
  453. package/build/types/util/objectSpecifierUtils.d.ts +24 -0
  454. package/build/types/util/objectSpecifierUtils.d.ts.map +1 -0
  455. package/build/types/util/objectSpecifierUtils.test.d.ts +1 -0
  456. package/build/types/util/objectSpecifierUtils.test.d.ts.map +1 -0
  457. package/package.json +16 -13
  458. package/build/browser/Logger.js +0 -2
  459. package/build/browser/Logger.js.map +0 -1
  460. package/build/browser/object/createObjectSpecifierFromPrimaryKey.js.map +0 -1
  461. package/build/browser/observable/internal/ChangedObjects.js.map +0 -1
  462. package/build/browser/util/isOsdkBaseObject.js.map +0 -1
  463. package/build/browser/util/isOsdkObject.js.map +0 -1
  464. package/build/cjs/chunk-IU47QMYO.cjs.map +0 -1
  465. package/build/cjs/chunk-JPENHIJB.cjs.map +0 -1
  466. package/build/cjs/chunk-Q7SFCCGT.cjs +0 -11
  467. package/build/cjs/chunk-Q7SFCCGT.cjs.map +0 -1
  468. package/build/cjs/graphql-RGM5SRWV.cjs +0 -10532
  469. package/build/cjs/graphql-RGM5SRWV.cjs.map +0 -1
  470. package/build/esm/Logger.js +0 -2
  471. package/build/esm/Logger.js.map +0 -1
  472. package/build/esm/object/createObjectSpecifierFromPrimaryKey.js.map +0 -1
  473. package/build/esm/observable/internal/ChangedObjects.js.map +0 -1
  474. package/build/esm/util/isOsdkBaseObject.js.map +0 -1
  475. package/build/esm/util/isOsdkObject.js.map +0 -1
  476. package/build/types/Logger.d.ts +0 -17
  477. package/build/types/Logger.d.ts.map +0 -1
  478. package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts +0 -2
  479. package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts.map +0 -1
  480. package/build/types/observable/internal/ChangedObjects.d.ts +0 -11
  481. package/build/types/observable/internal/ChangedObjects.d.ts.map +0 -1
  482. package/build/types/util/isOsdkBaseObject.d.ts +0 -2
  483. package/build/types/util/isOsdkBaseObject.d.ts.map +0 -1
  484. package/build/types/util/isOsdkObject.d.ts +0 -2
  485. package/build/types/util/isOsdkObject.d.ts.map +0 -1
@@ -16,18 +16,20 @@
16
16
 
17
17
  import { isOk } from "@osdk/api";
18
18
  import { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid } from "@osdk/api/unstable";
19
- import { $ontologyRid, BarInterface, BgaoNflPlayer, Employee, FooInterface, Office } from "@osdk/client.test.ontology";
20
- import { apiServer, stubData } from "@osdk/shared.test";
21
- import { afterAll, beforeAll, describe, expect, expectTypeOf, it } from "vitest";
19
+ import { BarInterface, BgaoNflPlayer, Employee, FooInterface, objectTypeWithAllPropertyTypes, Office } from "@osdk/client.test.ontology";
20
+ import { LegacyFauxFoundry, startNodeApiServer, stubData } from "@osdk/shared.test";
21
+ import { beforeAll, describe, expect, expectTypeOf, it } from "vitest";
22
22
  import { createClient } from "../createClient.js";
23
23
  describe("ObjectSet", () => {
24
24
  let client;
25
- beforeAll(async () => {
26
- apiServer.listen();
27
- client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
28
- });
29
- afterAll(() => {
30
- apiServer.close();
25
+ beforeAll(() => {
26
+ const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);
27
+ ({
28
+ client
29
+ } = testSetup);
30
+ return () => {
31
+ testSetup.apiServer.close();
32
+ };
31
33
  });
32
34
  it("does not allow intersect/union/subtract with different object types", () => {
33
35
  const employeeObjectSet = client(Employee);
@@ -46,15 +48,20 @@ describe("ObjectSet", () => {
46
48
  it("objects set union", async () => {
47
49
  const objectSet = client(Employee);
48
50
  const unionedObjectSet = objectSet.union(objectSet);
49
- let iter = 0;
50
51
  const {
51
52
  data: employees
52
53
  } = await unionedObjectSet.fetchPage();
54
+ const pks = new Set();
53
55
  for (const emp of employees) {
54
- expect(emp.employeeId).toEqual(50030 + iter);
55
- iter += 1;
56
+ pks.add(emp.$primaryKey);
56
57
  }
57
- expect(iter).toEqual(2);
58
+ expect(pks.size).toEqual(6);
59
+ expect(pks.has(stubData.employee1.employeeId)).toBe(true);
60
+ expect(pks.has(stubData.employee2.employeeId)).toBe(true);
61
+ expect(pks.has(stubData.employee3.employeeId)).toBe(true);
62
+ expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);
63
+ expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);
64
+ expect(pks.has(stubData.employee50050.employeeId)).toBe(true);
58
65
  });
59
66
  it("objects set subtract", async () => {
60
67
  const objectSet = client(Employee);
@@ -62,76 +69,44 @@ describe("ObjectSet", () => {
62
69
  employeeId: 50030
63
70
  });
64
71
  const subtractedObjectSet = objectSet.subtract(objectSet2);
65
- let iter = 0;
66
- const {
67
- data: employees
68
- } = await subtractedObjectSet.fetchPage();
69
- for (const emp of employees) {
70
- expect(emp.employeeId).toEqual(50031 + iter);
71
- iter += 1;
72
- }
73
- expect(iter).toEqual(2);
72
+ const objectSetResults = await objectSet.fetchPage();
73
+ const objectSet2Results = await objectSet2.fetchPage();
74
+ const subtractedObjectSetResults = await subtractedObjectSet.fetchPage();
75
+ expect(objectSet2Results.data).toHaveLength(1);
76
+ expect(subtractedObjectSetResults.data).toHaveLength(objectSetResults.data.length - objectSet2Results.data.length);
77
+ expect(subtractedObjectSetResults.data.find(x => x.$primaryKey === 50030)).toBeUndefined();
74
78
  });
75
79
  it("objects set intersect", async () => {
76
80
  const objectSet = client(Employee);
77
81
  const intersectedObjectSet = objectSet.intersect(objectSet);
78
- let iter = 0;
79
82
  const {
80
83
  data: employees
81
84
  } = await intersectedObjectSet.fetchPage();
85
+ const pks = new Set();
82
86
  for (const emp of employees) {
83
- expect(emp.employeeId).toEqual(50032);
84
- iter += 1;
87
+ pks.add(emp.$primaryKey);
85
88
  }
86
- expect(iter).toEqual(1);
89
+ expect(pks.size).toEqual(6);
90
+ expect(pks.has(stubData.employee1.employeeId)).toBe(true);
91
+ expect(pks.has(stubData.employee2.employeeId)).toBe(true);
92
+ expect(pks.has(stubData.employee3.employeeId)).toBe(true);
93
+ expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);
94
+ expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);
95
+ expect(pks.has(stubData.employee50050.employeeId)).toBe(true);
87
96
  });
88
97
  it("orders objects in ascending order without a filter, and returns all results", async () => {
89
98
  const {
90
99
  data: employees
91
- } = await client(Employee).fetchPage({
100
+ } = await client(Employee).where({
101
+ employeeId: {
102
+ $isNull: false
103
+ }
104
+ }).fetchPage({
92
105
  $orderBy: {
93
106
  "employeeId": "asc"
94
107
  }
95
108
  });
96
- expect(employees).toMatchObject([{
97
- $apiName: "Employee",
98
- $objectType: "Employee",
99
- $primaryKey: 50030,
100
- class: "Red",
101
- employeeId: 50030,
102
- employeeStatus: expect.anything(),
103
- employeeSensor: expect.anything(),
104
- fullName: "John Doe",
105
- office: "NYC",
106
- startDate: "2019-01-01",
107
- employeeLocation: expect.anything()
108
- }, {
109
- $apiName: "Employee",
110
- $objectType: "Employee",
111
- $primaryKey: 50031,
112
- $title: "Jane Doe",
113
- class: "Blue",
114
- employeeId: 50031,
115
- employeeStatus: expect.anything(),
116
- employeeSensor: expect.anything(),
117
- fullName: "Jane Doe",
118
- office: "SEA",
119
- startDate: "2012-02-12",
120
- employeeLocation: expect.anything()
121
- }, {
122
- $apiName: "Employee",
123
- $objectType: "Employee",
124
- $primaryKey: 50032,
125
- $title: "Jack Smith",
126
- class: "Red",
127
- employeeId: 50032,
128
- employeeStatus: expect.anything(),
129
- employeeSensor: expect.anything(),
130
- fullName: "Jack Smith",
131
- office: "LON",
132
- startDate: "2015-05-15",
133
- employeeLocation: expect.anything()
134
- }]);
109
+ expect(employees.map(e => e.$primaryKey)).toEqual([50030, 50031, 50032, 50033, 50035, stubData.employee50050.employeeId]);
135
110
  });
136
111
  it("allows fetching by PK from a base object set - fetchOne", async () => {
137
112
  const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);
@@ -139,25 +114,25 @@ describe("ObjectSet", () => {
139
114
  expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
140
115
  });
141
116
  it("allows fetching by rid with experimental function", async () => {
142
- const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, "ri.employee.i.look.for");
117
+ const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, stubData.employee1.__rid);
143
118
  expectTypeOf().toMatchTypeOf;
144
119
  expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
145
120
  });
146
121
  it("allows fetching page of rids with experimental function", async () => {
147
- const employees = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid).fetchPageByRid(Employee, ["ri.employee.i.look.for", "ri.employee.i.look.for.2"], {});
122
+ const employees = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid).fetchPageByRid(Employee, [stubData.employee1.__rid, stubData.employee2.__rid], {});
148
123
  expectTypeOf().toMatchTypeOf;
149
124
  expect(employees.data[0].$primaryKey).toBe(stubData.employee1.employeeId);
150
125
  expect(employees.data[1].$primaryKey).toBe(stubData.employee2.employeeId);
151
126
  });
152
127
  it("allows fetching by rid with experimental function, with select", async () => {
153
- const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, "ri.employee.i.look.for", {
128
+ const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, stubData.employee2.__rid, {
154
129
  $select: ["fullName"]
155
130
  });
156
131
  expectTypeOf().toMatchTypeOf;
157
132
  expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);
158
133
  });
159
- it("allows fetching by rid with experimental function, with select", async () => {
160
- const employees = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid).fetchPageByRid(Employee, ["ri.employee.i.look.for2", "ri.employee.i.look.for.3"], {
134
+ it("allows fetching by rid with experimental function, with select 2", async () => {
135
+ const employees = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid).fetchPageByRid(Employee, [stubData.employee2.__rid, stubData.employee3.__rid], {
161
136
  $select: ["fullName"]
162
137
  });
163
138
  expectTypeOf().toMatchTypeOf;
@@ -237,16 +212,18 @@ describe("ObjectSet", () => {
237
212
  it(" object set union works with fetchPageWithErrors", async () => {
238
213
  const objectSet = client(Employee);
239
214
  const unionedObjectSet = objectSet.union(objectSet);
240
- let iter = 0;
241
215
  const result = await unionedObjectSet.fetchPageWithErrors();
242
- if (isOk(result)) {
243
- const employees = result.value.data;
244
- for (const emp of employees) {
245
- expect(emp.employeeId).toEqual(50030 + iter);
246
- iter += 1;
247
- }
248
- expect(iter).toEqual(2);
216
+ const pks = new Set();
217
+ for (const emp of result.value.data) {
218
+ pks.add(emp.$primaryKey);
249
219
  }
220
+ expect(pks.size).toEqual(6);
221
+ expect(pks.has(stubData.employee1.employeeId)).toBe(true);
222
+ expect(pks.has(stubData.employee2.employeeId)).toBe(true);
223
+ expect(pks.has(stubData.employee3.employeeId)).toBe(true);
224
+ expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);
225
+ expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);
226
+ expect(pks.has(stubData.employee50050.employeeId)).toBe(true);
250
227
  });
251
228
  it("allows $in filter with ReadonlyArrays", () => {
252
229
  const objectSet = client(Employee).where({
@@ -408,7 +385,7 @@ describe("ObjectSet", () => {
408
385
  $includeRid: true
409
386
  };
410
387
  const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
411
- expect(result.data).toHaveLength(4);
388
+ expect(result.data).toHaveLength(6);
412
389
  expectTypeOf(result.data[0]).branded.toEqualTypeOf();
413
390
  });
414
391
  });
@@ -418,37 +395,35 @@ describe("ObjectSet", () => {
418
395
  $includeRid: false
419
396
  };
420
397
  const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
421
- expect(result.data).toHaveLength(4);
398
+ expect(result.data).toHaveLength(6);
422
399
  expectTypeOf(result.data[0]).branded.toEqualTypeOf();
423
400
  });
424
401
  });
425
402
  });
426
403
  });
427
404
  describe("Derived Properties Object Set", () => {
428
- it("does not allow aggregate or selectProperty before a link type is selected", () => {
405
+ it("does not allow aggregate before a link type is selected", () => {
429
406
  client(Employee).withProperties({
430
407
  "derivedPropertyName": base =>
431
408
  // @ts-expect-error
432
409
  base.aggregate("employeeId:exactDistinct")
433
410
  });
434
- client(Employee).withProperties({
435
- "derivedPropertyName": base =>
436
- // @ts-expect-error
437
- base.selectProperty("employeeId")
438
- });
439
411
  });
440
- it("does not allow selectProperty when a many link was selected at any point", () => {
441
- client(Employee).withProperties({
442
- "derivedPropertyName": base => {
443
- // @ts-expect-error
444
- base.pivotTo("peeps").selectProperty("employeeId");
445
412
 
446
- // @ts-expect-error
447
- base.pivotTo("lead").pivotTo("peeps").selectProperty("employeeId");
448
- return base.pivotTo("lead").selectProperty("employeeId");
449
- }
450
- });
451
- });
413
+ // it("does not allow selectProperty when a many link was selected at any point", () => {
414
+ // client(Employee).withProperties({
415
+ // "derivedPropertyName": (base) => {
416
+ // // @ts-expect-error
417
+ // base.pivotTo("peeps").selectProperty("employeeId");
418
+
419
+ // // @ts-expect-error
420
+ // base.pivotTo("lead").pivotTo("peeps").selectProperty("employeeId");
421
+
422
+ // return base.pivotTo("lead").selectProperty("employeeId");
423
+ // },
424
+ // });
425
+ // });
426
+
452
427
  it("enforces a return only of correct type", () => {
453
428
  client(Employee).withProperties({
454
429
  // @ts-expect-error
@@ -510,15 +485,23 @@ describe("ObjectSet", () => {
510
485
  });
511
486
  expectTypeOf(objectSet).branded.toEqualTypeOf();
512
487
  });
513
- it("correctly narrows types of selectProperty function", () => {
514
- client(Employee).withProperties({
515
- "derivedPropertyName": base => {
516
- // @ts-expect-error
517
- base.pivotTo("lead").selectProperty("notAProperty");
518
- return base.pivotTo("lead").selectProperty("employeeStatus");
519
- }
520
- });
521
- });
488
+
489
+ // it("correctly narrows types of selectProperty function", () => {
490
+ // client(Employee).withProperties({
491
+ // "derivedPropertyName": (base) => {
492
+ // // @ts-expect-error
493
+ // base.pivotTo("lead").selectProperty("notAProperty");
494
+
495
+ // return base.pivotTo("lead").selectProperty("employeeStatus");
496
+ // },
497
+ // }) satisfies ObjectSet<
498
+ // Employee,
499
+ // {
500
+ // "derivedPropertyName": "stringTimeseries" | undefined;
501
+ // }
502
+ // >;
503
+ // });
504
+
522
505
  it("propagates derived property type to future object set operations with correct types", () => {
523
506
  client(Employee).withProperties({
524
507
  "derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:sum")
@@ -564,47 +547,48 @@ describe("ObjectSet", () => {
564
547
  }
565
548
  });
566
549
  expectTypeOf(setAggregationObjectSet).toEqualTypeOf();
567
- const selectPropertyObjectSet = client(Employee).withProperties({
568
- "derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
569
- }).where({
570
- "derivedPropertyName": {
571
- "$eq": 3
572
- }
573
- });
574
- expectTypeOf(selectPropertyObjectSet).toEqualTypeOf();
575
- client(Employee).withProperties({
576
- "derivedPropertyName": base => base.pivotTo("lead").selectProperty("startDate")
577
- }).where({
578
- "derivedPropertyName": {
579
- "$eq": "datetimeFilter"
580
- }
581
- });
550
+
551
+ // const selectPropertyObjectSet = client(Employee).withProperties({
552
+ // "derivedPropertyName": (base) =>
553
+ // base.pivotTo("lead").selectProperty("employeeId"),
554
+ // }).where({ "derivedPropertyName": { "$eq": 3 } });
555
+
556
+ // expectTypeOf(selectPropertyObjectSet).toEqualTypeOf<
557
+ // ObjectSet<Employee, {
558
+ // derivedPropertyName: "integer";
559
+ // }>
560
+ // >();
561
+
562
+ // client(Employee).withProperties({
563
+ // "derivedPropertyName": (base) =>
564
+ // base.pivotTo("lead").selectProperty("startDate"),
565
+ // }).where({ "derivedPropertyName": { "$eq": "datetimeFilter" } });
582
566
  });
583
567
  it("correctly types multiple property definitions in one clause", () => {
584
568
  const objectSet = client(Employee).withProperties({
585
569
  "derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:sum"),
586
- "derivedPropertyName2": base => base.pivotTo("lead").selectProperty("fullName")
570
+ "derivedPropertyName2": base => base.pivotTo("lead").aggregate("fullName:approximateDistinct")
587
571
  }).where({
588
572
  "derivedPropertyName": {
589
573
  "$eq": 3
590
574
  }
591
575
  }).where({
592
576
  "derivedPropertyName2": {
593
- "$eq": "name"
577
+ "$eq": 5
594
578
  }
595
579
  });
596
580
  expectTypeOf(objectSet).toEqualTypeOf();
597
581
  });
598
582
  it("ensures other properties are consistently typed", () => {
599
583
  client(Employee).withProperties({
600
- "derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
584
+ "derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:collectList")
601
585
  }).where({
602
586
  "fullName": {
603
587
  "$eq": "A"
604
588
  }
605
589
  });
606
590
  client(Employee).withProperties({
607
- "derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
591
+ "derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:collectList")
608
592
  }).where({
609
593
  "employeeId": {
610
594
  "$eq": 2
@@ -613,45 +597,165 @@ describe("ObjectSet", () => {
613
597
  });
614
598
  it("allows fetching derived properties with correctly typed Osdk.Instance types", async () => {
615
599
  const objectWithRdp = await client(Employee).withProperties({
616
- "derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
617
- }).fetchOne(50035);
600
+ "derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:collectList")
601
+ }).fetchOne(stubData.employee1.employeeId);
618
602
  expectTypeOf(objectWithRdp.derivedPropertyName).toEqualTypeOf();
619
- expect(objectWithRdp.derivedPropertyName).toBe(1);
620
- const objectWithUndefinedRdp = await client(Employee).withProperties({
621
- "derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
622
- }).fetchOne(50036, {
623
- $select: ["derivedPropertyName"]
624
- });
625
- expect(objectWithUndefinedRdp.derivedPropertyName).toBeUndefined();
603
+ expect(objectWithRdp.derivedPropertyName).toEqual([stubData.employee2.__primaryKey]);
604
+
605
+ // const objectWithUndefinedRdp = await client(Employee).withProperties({
606
+ // "derivedPropertyName": (base) =>
607
+ // base.pivotTo("lead").aggregate("employeeId:collectList"),
608
+ // }).fetchOne(stubData.employee2.employeeId, {
609
+ // $select: ["derivedPropertyName"],
610
+ // });
611
+
612
+ // expect(objectWithUndefinedRdp.derivedPropertyName).toBeUndefined();
626
613
  });
627
- });
628
- describe.each(["fetchOne", "fetchOneWithErrors"])("%s", k => {
629
- describe("strictNonNull: false", () => {
630
- describe("includeRid: true", () => {
631
- it("returns bad data", async () => {
632
- // Look at this
633
- const opts = {
634
- $__EXPERIMENTAL_strictNonNull: false,
635
- $includeRid: true
636
- };
637
- const result = k === "fetchOne" ? await client(Employee).fetchOne(50033, opts) : (await client(Employee).fetchOneWithErrors(50033, opts)).value;
638
- expect(result).not.toBeUndefined();
639
- expectTypeOf(result).branded.toEqualTypeOf();
640
- });
641
- });
642
- describe("includeRid: false", () => {
643
- it("returns bad data", async () => {
644
- const opts = {
645
- $__EXPERIMENTAL_strictNonNull: false,
646
- $includeRid: false
647
- };
648
- const result = k === "fetchOne" ? await client(Employee).fetchOne(50033, opts) : (await client(Employee).fetchOneWithErrors(50033, opts)).value;
649
- expect(result).not.toBeUndefined();
650
- expectTypeOf(result).branded.toEqualTypeOf();
651
- });
652
- });
614
+ it("correctly deserializes attachments and geo properties", async () => {
615
+ const objectWithRdp = await client(objectTypeWithAllPropertyTypes).withProperties({
616
+ "attachmentSelectDp": base => base.pivotTo("linkedObjectType").aggregate("attachment:collectSet"),
617
+ "geoSelectDp": base => base.pivotTo("linkedObjectType").aggregate("geoShape:collectSet"),
618
+ "geoCollectListDp": base => base.pivotTo("linkedObjectType").aggregate("geoShapeArray:collectList")
619
+ }).fetchOne(5);
620
+ expectTypeOf(objectWithRdp.attachmentSelectDp).toEqualTypeOf();
621
+ expect(objectWithRdp.attachmentSelectDp).toMatchInlineSnapshot(`
622
+ [
623
+ {
624
+ "fetchContents": [Function],
625
+ "fetchMetadata": [Function],
626
+ "rid": "ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75",
627
+ },
628
+ ]
629
+ `);
630
+ expectTypeOf(objectWithRdp.geoSelectDp).toEqualTypeOf();
631
+ expect(objectWithRdp.geoSelectDp).toMatchInlineSnapshot(`
632
+ [
633
+ {
634
+ "coordinates": [
635
+ [
636
+ [
637
+ 1,
638
+ 1,
639
+ ],
640
+ [
641
+ 1,
642
+ 2,
643
+ ],
644
+ [
645
+ 2,
646
+ 2,
647
+ ],
648
+ [
649
+ 2,
650
+ 1,
651
+ ],
652
+ [
653
+ 1,
654
+ 1,
655
+ ],
656
+ ],
657
+ ],
658
+ "type": "Polygon",
659
+ },
660
+ ]
661
+ `);
662
+ expectTypeOf(objectWithRdp.geoCollectListDp).toEqualTypeOf();
663
+ expect(objectWithRdp.geoCollectListDp).toMatchInlineSnapshot(`
664
+ [
665
+ [
666
+ {
667
+ "coordinates": [
668
+ [
669
+ [
670
+ 1,
671
+ 1,
672
+ ],
673
+ [
674
+ 1,
675
+ 2,
676
+ ],
677
+ [
678
+ 2,
679
+ 2,
680
+ ],
681
+ [
682
+ 2,
683
+ 1,
684
+ ],
685
+ [
686
+ 1,
687
+ 1,
688
+ ],
689
+ ],
690
+ ],
691
+ "type": "Polygon",
692
+ },
693
+ ],
694
+ ]
695
+ `);
696
+
697
+ // Tests that we deserialize properly for fetchPage as well
698
+ const fetchPageTest = await client(objectTypeWithAllPropertyTypes).withProperties({
699
+ "attachmentSelectDp": base => base.pivotTo("linkedObjectType").aggregate("attachment:collectList"),
700
+ "geoSelectDp": base => base.pivotTo("linkedObjectType").aggregate("geoShape:collectList"),
701
+ "geoCollectListDp": base => base.pivotTo("linkedObjectType").aggregate("geoShapeArray:collectList")
702
+ }).where({
703
+ "id": {
704
+ "$eq": 5
705
+ }
706
+ }).fetchPage();
707
+ expect(fetchPageTest.data[0].attachmentSelectDp).toMatchInlineSnapshot(`
708
+ [
709
+ {
710
+ "fetchContents": [Function],
711
+ "fetchMetadata": [Function],
712
+ "rid": "ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75",
713
+ },
714
+ ]
715
+ `);
653
716
  });
654
717
  });
718
+
719
+ // Can't run these tests because we can't load by primary key!
720
+ // describe.each(["fetchOne", "fetchOneWithErrors"] as const)("%s", (k) => {
721
+ // describe("strictNonNull: false", () => {
722
+ // describe("includeRid: true", () => {
723
+ // it("returns bad data", async () => {
724
+ // // Look at this
725
+ // const opts = {
726
+ // $__EXPERIMENTAL_strictNonNull: false,
727
+ // $includeRid: true,
728
+ // } as const;
729
+ // const result = k === "fetchOne"
730
+ // ? await client(Employee).fetchOne(50033, opts)
731
+ // : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;
732
+
733
+ // expect(result).not.toBeUndefined();
734
+ // expectTypeOf(result).branded.toEqualTypeOf<
735
+ // Osdk<Employee, "$all" | "$notStrict" | "$rid">
736
+ // >();
737
+ // });
738
+ // });
739
+
740
+ // describe("includeRid: false", () => {
741
+ // it("returns bad data", async () => {
742
+ // const opts = {
743
+ // $__EXPERIMENTAL_strictNonNull: false,
744
+ // $includeRid: false,
745
+ // } as const;
746
+ // const result = k === "fetchOne"
747
+ // ? await client(Employee).fetchOne(50033, opts)
748
+ // : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;
749
+
750
+ // expect(result).not.toBeUndefined();
751
+ // expectTypeOf(result).branded.toEqualTypeOf<
752
+ // Osdk<Employee, "$all" | "$notStrict">
753
+ // >();
754
+ // });
755
+ // });
756
+ // });
757
+ // });
758
+
655
759
  describe("conversions", () => {
656
760
  describe("strictNonNull: false", () => {
657
761
  it("returns bad data", async () => {
@@ -670,6 +774,7 @@ describe("ObjectSet", () => {
670
774
  expectTypeOf().toEqualTypeOf();
671
775
  expectTypeOf().toEqualTypeOf();
672
776
  expectTypeOf().toEqualTypeOf();
777
+ expectTypeOf().toEqualTypeOf();
673
778
 
674
779
  // We don't have a proper definition that has
675
780
  // a non-null property on an interface so