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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/CHANGELOG.md +388 -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 +36 -13
  18. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  19. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +133 -0
  20. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  21. package/build/browser/derivedProperties/derivedPropertyDefinitionFactory.js +93 -0
  22. package/build/browser/derivedProperties/derivedPropertyDefinitionFactory.js.map +1 -0
  23. package/build/browser/fetchMetadata.js +1 -1
  24. package/build/browser/fetchMetadata.js.map +1 -1
  25. package/build/browser/fetchMetadata.test.js +11 -9
  26. package/build/browser/fetchMetadata.test.js.map +1 -1
  27. package/build/browser/index.js +0 -1
  28. package/build/browser/index.js.map +1 -1
  29. package/build/{esm/util/isOsdkBaseObject.js → browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js} +9 -4
  30. package/build/browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
  31. package/build/browser/intellisense.test.js +17 -1
  32. package/build/browser/intellisense.test.js.map +1 -1
  33. package/build/browser/logger/BaseLogger.js +59 -0
  34. package/build/browser/logger/BaseLogger.js.map +1 -0
  35. package/build/browser/logger/BrowserLogger.js +67 -0
  36. package/build/browser/logger/BrowserLogger.js.map +1 -0
  37. package/build/browser/logger/MinimalLogger.js +39 -0
  38. package/build/browser/logger/MinimalLogger.js.map +1 -0
  39. package/build/browser/logger/MinimalLogger.test.js +60 -0
  40. package/build/browser/logger/MinimalLogger.test.js.map +1 -0
  41. package/build/browser/logger/TestLogger.js +56 -0
  42. package/build/browser/logger/TestLogger.js.map +1 -0
  43. package/build/browser/object/SimpleOsdkProperties.js +2 -0
  44. package/build/browser/object/SimpleOsdkProperties.js.map +1 -0
  45. package/build/browser/object/attachment.test.js +20 -7
  46. package/build/browser/object/attachment.test.js.map +1 -1
  47. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
  48. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
  49. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  50. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  51. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  52. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  53. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +53 -35
  54. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  55. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  56. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  57. package/build/browser/object/convertWireToOsdkObjects.js +7 -15
  58. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  59. package/build/browser/object/convertWireToOsdkObjects.test.js +39 -33
  60. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  61. package/build/browser/object/fetchPage.js +17 -4
  62. package/build/browser/object/fetchPage.js.map +1 -1
  63. package/build/browser/object/fetchPage.test.js +56 -2
  64. package/build/browser/object/fetchPage.test.js.map +1 -1
  65. package/build/browser/object/geotimeseriesreference.test.js +56 -134
  66. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  67. package/build/browser/object/media.test.js +19 -14
  68. package/build/browser/object/media.test.js.map +1 -1
  69. package/build/browser/object/object.test.js +96 -89
  70. package/build/browser/object/object.test.js.map +1 -1
  71. package/build/browser/object/timeseries.test.js +119 -85
  72. package/build/browser/object/timeseries.test.js.map +1 -1
  73. package/build/browser/objectSet/InterfaceObjectSet.test.js +37 -17
  74. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
  75. package/build/browser/objectSet/ObjectSet.test.js +200 -116
  76. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  77. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +20 -16
  78. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  79. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +19 -12
  80. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  81. package/build/browser/objectSet/createObjectSet.js +2 -1
  82. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  83. package/build/browser/observable/ListPayload.js.map +1 -1
  84. package/build/browser/observable/ObjectPayload.js.map +1 -1
  85. package/build/browser/observable/ObservableClient.js.map +1 -1
  86. package/build/browser/observable/internal/ActionApplication.js +32 -32
  87. package/build/browser/observable/internal/ActionApplication.js.map +1 -1
  88. package/build/browser/observable/internal/BulkObjectLoader.js +93 -0
  89. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -0
  90. package/build/browser/observable/internal/BulkObjectLoader.test.js +112 -0
  91. package/build/browser/observable/internal/BulkObjectLoader.test.js.map +1 -0
  92. package/build/browser/observable/internal/CacheKey.js +1 -1
  93. package/build/browser/observable/internal/CacheKey.js.map +1 -1
  94. package/build/browser/observable/internal/CacheKeys.js +2 -2
  95. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  96. package/build/browser/observable/internal/{ChangedObjects.js → Changes.js} +20 -9
  97. package/build/browser/observable/internal/Changes.js.map +1 -0
  98. package/build/browser/observable/internal/Layer.js +3 -0
  99. package/build/browser/observable/internal/Layer.js.map +1 -1
  100. package/build/browser/observable/internal/ListQuery.js +414 -170
  101. package/build/browser/observable/internal/ListQuery.js.map +1 -1
  102. package/build/browser/observable/internal/ObjectQuery.js +34 -21
  103. package/build/browser/observable/internal/ObjectQuery.js.map +1 -1
  104. package/build/browser/observable/internal/ObservableClientImpl.js +4 -12
  105. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  106. package/build/browser/observable/internal/OptimisticJob.js +1 -1
  107. package/build/browser/observable/internal/OptimisticJob.js.map +1 -1
  108. package/build/browser/observable/internal/OrderByCanonicalizer.js +73 -0
  109. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -0
  110. package/build/browser/observable/internal/OrderByCanonicalizer.test.js +78 -0
  111. package/build/browser/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
  112. package/build/browser/observable/internal/Query.js +64 -31
  113. package/build/browser/observable/internal/Query.js.map +1 -1
  114. package/build/browser/observable/internal/RefCounts.js +7 -2
  115. package/build/browser/observable/internal/RefCounts.js.map +1 -1
  116. package/build/browser/observable/internal/SimpleWhereClause.js +2 -0
  117. package/build/browser/observable/internal/SimpleWhereClause.js.map +1 -0
  118. package/build/browser/observable/internal/Store.js +86 -269
  119. package/build/browser/observable/internal/Store.js.map +1 -1
  120. package/build/browser/observable/internal/Store.test.js +401 -375
  121. package/build/browser/observable/internal/Store.test.js.map +1 -1
  122. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +11 -3
  123. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  124. package/build/browser/observable/internal/objectMatchesWhereClause.js +0 -2
  125. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -1
  126. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  127. package/build/browser/observable/internal/testUtils.js +85 -20
  128. package/build/browser/observable/internal/testUtils.js.map +1 -1
  129. package/build/browser/ontology/OntologyProvider.js.map +1 -1
  130. package/build/browser/ontology/StandardOntologyProvider.js +12 -5
  131. package/build/browser/ontology/StandardOntologyProvider.js.map +1 -1
  132. package/build/browser/ontology/StandardOntologyProvider.test.js +17 -16
  133. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
  134. package/build/browser/ontology/loadFullObjectMetadata.js +0 -1
  135. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  136. package/build/browser/ontology/loadQueryMetadata.js +5 -2
  137. package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
  138. package/build/browser/public/internal.js +2 -0
  139. package/build/browser/public/internal.js.map +1 -1
  140. package/build/browser/public/unstable-do-not-use.js +1 -0
  141. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  142. package/build/browser/public-utils/osdkConfig.js +49 -0
  143. package/build/browser/public-utils/osdkConfig.js.map +1 -0
  144. package/build/browser/{object/createObjectSpecifierFromPrimaryKey.js → public-utils/vite-env.d.ts} +2 -3
  145. package/build/browser/queries/applyQuery.js +6 -4
  146. package/build/browser/queries/applyQuery.js.map +1 -1
  147. package/build/browser/queries/queries.test.js +93 -27
  148. package/build/browser/queries/queries.test.js.map +1 -1
  149. package/build/browser/queries/types.js.map +1 -1
  150. package/build/browser/tsserver.js.map +1 -1
  151. package/build/browser/util/UserAgent.js +1 -1
  152. package/build/browser/util/extractRdpDefinition.js +140 -0
  153. package/build/browser/util/extractRdpDefinition.js.map +1 -0
  154. package/build/browser/util/extractRdpDefinition.test.js +233 -0
  155. package/build/browser/util/extractRdpDefinition.test.js.map +1 -0
  156. package/build/browser/util/{isOsdkBaseObject.js → isObjectSpecifiersObject.js} +2 -2
  157. package/build/browser/util/isObjectSpecifiersObject.js.map +1 -0
  158. package/build/browser/util/isPoint.js +20 -0
  159. package/build/browser/util/isPoint.js.map +1 -0
  160. package/build/browser/util/objectSpecifierUtils.js +48 -0
  161. package/build/browser/util/objectSpecifierUtils.js.map +1 -0
  162. package/build/browser/util/objectSpecifierUtils.test.js +42 -0
  163. package/build/browser/util/objectSpecifierUtils.test.js.map +1 -0
  164. package/build/browser/util/toDataValue.js +6 -2
  165. package/build/browser/util/toDataValue.js.map +1 -1
  166. package/build/browser/util/toDataValue.test.js +37 -16
  167. package/build/browser/util/toDataValue.test.js.map +1 -1
  168. package/build/browser/util/toDataValueQueries.js +4 -6
  169. package/build/browser/util/toDataValueQueries.js.map +1 -1
  170. package/build/cjs/{Client-DBTcM9gB.d.cts → Client-CgL2LKN9.d.cts} +6 -7
  171. package/build/cjs/{chunk-IU47QMYO.cjs → chunk-FKI2LO2O.cjs} +250 -82
  172. package/build/cjs/chunk-FKI2LO2O.cjs.map +1 -0
  173. package/build/cjs/chunk-T4NIFYZS.cjs +14 -0
  174. package/build/cjs/chunk-T4NIFYZS.cjs.map +1 -0
  175. package/build/cjs/{chunk-JPENHIJB.cjs → chunk-W5PFESFR.cjs} +174 -35
  176. package/build/cjs/chunk-W5PFESFR.cjs.map +1 -0
  177. package/build/cjs/index.cjs +212 -193
  178. package/build/cjs/index.cjs.map +1 -1
  179. package/build/cjs/index.d.cts +4 -24
  180. package/build/cjs/public/internal.cjs +61 -7
  181. package/build/cjs/public/internal.cjs.map +1 -1
  182. package/build/cjs/public/internal.d.cts +50 -3
  183. package/build/cjs/public/unstable-do-not-use.cjs +885 -620
  184. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  185. package/build/cjs/public/unstable-do-not-use.d.cts +35 -25
  186. package/build/esm/MinimalClientContext.js.map +1 -1
  187. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  188. package/build/esm/actions/ActionValidationError.js +1 -1
  189. package/build/esm/actions/ActionValidationError.js.map +1 -1
  190. package/build/esm/actions/actions.test.js +134 -89
  191. package/build/esm/actions/actions.test.js.map +1 -1
  192. package/build/esm/actions/applyAction.js.map +1 -1
  193. package/build/esm/createClient.js +5 -1
  194. package/build/esm/createClient.js.map +1 -1
  195. package/build/esm/createClient.test.js +14 -6
  196. package/build/esm/createClient.test.js.map +1 -1
  197. package/build/esm/createMinimalClient.js +2 -2
  198. package/build/esm/createMinimalClient.js.map +1 -1
  199. package/build/esm/createMinimalClientHelper.js +25 -0
  200. package/build/esm/createMinimalClientHelper.js.map +1 -0
  201. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +36 -13
  202. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  203. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +133 -0
  204. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  205. package/build/esm/derivedProperties/derivedPropertyDefinitionFactory.js +93 -0
  206. package/build/esm/derivedProperties/derivedPropertyDefinitionFactory.js.map +1 -0
  207. package/build/esm/fetchMetadata.js +1 -1
  208. package/build/esm/fetchMetadata.js.map +1 -1
  209. package/build/esm/fetchMetadata.test.js +11 -9
  210. package/build/esm/fetchMetadata.test.js.map +1 -1
  211. package/build/esm/index.js +0 -1
  212. package/build/esm/index.js.map +1 -1
  213. package/build/esm/{util/isOsdkObject.js → intellisense.test.helpers/showsObjectPropertyJsdoc.js} +9 -4
  214. package/build/esm/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
  215. package/build/esm/intellisense.test.js +17 -1
  216. package/build/esm/intellisense.test.js.map +1 -1
  217. package/build/esm/logger/BaseLogger.js +59 -0
  218. package/build/esm/logger/BaseLogger.js.map +1 -0
  219. package/build/esm/logger/BrowserLogger.js +67 -0
  220. package/build/esm/logger/BrowserLogger.js.map +1 -0
  221. package/build/esm/logger/MinimalLogger.js +39 -0
  222. package/build/esm/logger/MinimalLogger.js.map +1 -0
  223. package/build/esm/logger/MinimalLogger.test.js +60 -0
  224. package/build/esm/logger/MinimalLogger.test.js.map +1 -0
  225. package/build/esm/logger/TestLogger.js +56 -0
  226. package/build/esm/logger/TestLogger.js.map +1 -0
  227. package/build/esm/object/SimpleOsdkProperties.js +2 -0
  228. package/build/esm/object/SimpleOsdkProperties.js.map +1 -0
  229. package/build/esm/object/attachment.test.js +20 -7
  230. package/build/esm/object/attachment.test.js.map +1 -1
  231. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
  232. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
  233. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  234. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  235. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  236. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  237. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +53 -35
  238. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  239. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  240. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  241. package/build/esm/object/convertWireToOsdkObjects.js +7 -15
  242. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  243. package/build/esm/object/convertWireToOsdkObjects.test.js +39 -33
  244. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  245. package/build/esm/object/fetchPage.js +17 -4
  246. package/build/esm/object/fetchPage.js.map +1 -1
  247. package/build/esm/object/fetchPage.test.js +56 -2
  248. package/build/esm/object/fetchPage.test.js.map +1 -1
  249. package/build/esm/object/geotimeseriesreference.test.js +56 -134
  250. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  251. package/build/esm/object/media.test.js +19 -14
  252. package/build/esm/object/media.test.js.map +1 -1
  253. package/build/esm/object/object.test.js +96 -89
  254. package/build/esm/object/object.test.js.map +1 -1
  255. package/build/esm/object/timeseries.test.js +119 -85
  256. package/build/esm/object/timeseries.test.js.map +1 -1
  257. package/build/esm/objectSet/InterfaceObjectSet.test.js +37 -17
  258. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
  259. package/build/esm/objectSet/ObjectSet.test.js +200 -116
  260. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  261. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +20 -16
  262. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  263. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +19 -12
  264. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  265. package/build/esm/objectSet/createObjectSet.js +2 -1
  266. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  267. package/build/esm/observable/ListPayload.js.map +1 -1
  268. package/build/esm/observable/ObjectPayload.js.map +1 -1
  269. package/build/esm/observable/ObservableClient.js.map +1 -1
  270. package/build/esm/observable/internal/ActionApplication.js +32 -32
  271. package/build/esm/observable/internal/ActionApplication.js.map +1 -1
  272. package/build/esm/observable/internal/BulkObjectLoader.js +93 -0
  273. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -0
  274. package/build/esm/observable/internal/BulkObjectLoader.test.js +112 -0
  275. package/build/esm/observable/internal/BulkObjectLoader.test.js.map +1 -0
  276. package/build/esm/observable/internal/CacheKey.js +1 -1
  277. package/build/esm/observable/internal/CacheKey.js.map +1 -1
  278. package/build/esm/observable/internal/CacheKeys.js +2 -2
  279. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  280. package/build/esm/observable/internal/{ChangedObjects.js → Changes.js} +20 -9
  281. package/build/esm/observable/internal/Changes.js.map +1 -0
  282. package/build/esm/observable/internal/Layer.js +3 -0
  283. package/build/esm/observable/internal/Layer.js.map +1 -1
  284. package/build/esm/observable/internal/ListQuery.js +414 -170
  285. package/build/esm/observable/internal/ListQuery.js.map +1 -1
  286. package/build/esm/observable/internal/ObjectQuery.js +34 -21
  287. package/build/esm/observable/internal/ObjectQuery.js.map +1 -1
  288. package/build/esm/observable/internal/ObservableClientImpl.js +4 -12
  289. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  290. package/build/esm/observable/internal/OptimisticJob.js +1 -1
  291. package/build/esm/observable/internal/OptimisticJob.js.map +1 -1
  292. package/build/esm/observable/internal/OrderByCanonicalizer.js +73 -0
  293. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -0
  294. package/build/esm/observable/internal/OrderByCanonicalizer.test.js +78 -0
  295. package/build/esm/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
  296. package/build/esm/observable/internal/Query.js +64 -31
  297. package/build/esm/observable/internal/Query.js.map +1 -1
  298. package/build/esm/observable/internal/RefCounts.js +7 -2
  299. package/build/esm/observable/internal/RefCounts.js.map +1 -1
  300. package/build/esm/observable/internal/SimpleWhereClause.js +2 -0
  301. package/build/esm/observable/internal/SimpleWhereClause.js.map +1 -0
  302. package/build/esm/observable/internal/Store.js +86 -269
  303. package/build/esm/observable/internal/Store.js.map +1 -1
  304. package/build/esm/observable/internal/Store.test.js +401 -375
  305. package/build/esm/observable/internal/Store.test.js.map +1 -1
  306. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +11 -3
  307. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  308. package/build/esm/observable/internal/objectMatchesWhereClause.js +0 -2
  309. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -1
  310. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  311. package/build/esm/observable/internal/testUtils.js +85 -20
  312. package/build/esm/observable/internal/testUtils.js.map +1 -1
  313. package/build/esm/ontology/OntologyProvider.js.map +1 -1
  314. package/build/esm/ontology/StandardOntologyProvider.js +12 -5
  315. package/build/esm/ontology/StandardOntologyProvider.js.map +1 -1
  316. package/build/esm/ontology/StandardOntologyProvider.test.js +17 -16
  317. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
  318. package/build/esm/ontology/loadFullObjectMetadata.js +0 -1
  319. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  320. package/build/esm/ontology/loadQueryMetadata.js +5 -2
  321. package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
  322. package/build/esm/public/internal.js +2 -0
  323. package/build/esm/public/internal.js.map +1 -1
  324. package/build/esm/public/unstable-do-not-use.js +1 -0
  325. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  326. package/build/esm/public-utils/osdkConfig.js +49 -0
  327. package/build/esm/public-utils/osdkConfig.js.map +1 -0
  328. package/build/esm/{object/createObjectSpecifierFromPrimaryKey.js → public-utils/vite-env.d.ts} +2 -3
  329. package/build/esm/queries/applyQuery.js +6 -4
  330. package/build/esm/queries/applyQuery.js.map +1 -1
  331. package/build/esm/queries/queries.test.js +93 -27
  332. package/build/esm/queries/queries.test.js.map +1 -1
  333. package/build/esm/queries/types.js.map +1 -1
  334. package/build/esm/tsserver.js.map +1 -1
  335. package/build/esm/util/UserAgent.js +1 -1
  336. package/build/esm/util/extractRdpDefinition.js +140 -0
  337. package/build/esm/util/extractRdpDefinition.js.map +1 -0
  338. package/build/esm/util/extractRdpDefinition.test.js +233 -0
  339. package/build/esm/util/extractRdpDefinition.test.js.map +1 -0
  340. package/build/{browser/util/isOsdkObject.js → esm/util/isObjectSpecifiersObject.js} +2 -2
  341. package/build/esm/util/isObjectSpecifiersObject.js.map +1 -0
  342. package/build/esm/util/isPoint.js +20 -0
  343. package/build/esm/util/isPoint.js.map +1 -0
  344. package/build/esm/util/objectSpecifierUtils.js +48 -0
  345. package/build/esm/util/objectSpecifierUtils.js.map +1 -0
  346. package/build/esm/util/objectSpecifierUtils.test.js +42 -0
  347. package/build/esm/util/objectSpecifierUtils.test.js.map +1 -0
  348. package/build/esm/util/toDataValue.js +6 -2
  349. package/build/esm/util/toDataValue.js.map +1 -1
  350. package/build/esm/util/toDataValue.test.js +37 -16
  351. package/build/esm/util/toDataValue.test.js.map +1 -1
  352. package/build/esm/util/toDataValueQueries.js +4 -6
  353. package/build/esm/util/toDataValueQueries.js.map +1 -1
  354. package/build/types/MinimalClientContext.d.ts +1 -1
  355. package/build/types/MinimalClientContext.d.ts.map +1 -1
  356. package/build/types/__unstable/ConjureSupport.d.ts +2 -2
  357. package/build/types/actions/applyAction.d.ts +1 -2
  358. package/build/types/actions/applyAction.d.ts.map +1 -1
  359. package/build/types/createClient.d.ts +1 -1
  360. package/build/types/createClient.d.ts.map +1 -1
  361. package/build/types/createClient.test.d.ts +2 -1
  362. package/build/types/createClient.test.d.ts.map +1 -1
  363. package/build/types/createMinimalClientHelper.d.ts +1 -0
  364. package/build/types/createMinimalClientHelper.d.ts.map +1 -0
  365. package/build/types/derivedProperties/derivedPropertyDefinitionFactory.d.ts +1 -0
  366. package/build/types/derivedProperties/derivedPropertyDefinitionFactory.d.ts.map +1 -0
  367. package/build/types/index.d.ts +4 -6
  368. package/build/types/index.d.ts.map +1 -1
  369. package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts +1 -0
  370. package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts.map +1 -0
  371. package/build/types/logger/BaseLogger.d.ts +33 -0
  372. package/build/types/logger/BaseLogger.d.ts.map +1 -0
  373. package/build/types/logger/BrowserLogger.d.ts +9 -0
  374. package/build/types/logger/BrowserLogger.d.ts.map +1 -0
  375. package/build/types/logger/MinimalLogger.d.ts +9 -0
  376. package/build/types/logger/MinimalLogger.d.ts.map +1 -0
  377. package/build/types/logger/MinimalLogger.test.d.ts +1 -0
  378. package/build/types/logger/MinimalLogger.test.d.ts.map +1 -0
  379. package/build/types/logger/TestLogger.d.ts +14 -0
  380. package/build/types/logger/TestLogger.d.ts.map +1 -0
  381. package/build/types/object/SimpleOsdkProperties.d.ts +1 -0
  382. package/build/types/object/SimpleOsdkProperties.d.ts.map +1 -0
  383. package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts +1 -0
  384. package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts.map +1 -0
  385. package/build/types/object/convertWireToOsdkObjects.d.ts +8 -1
  386. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
  387. package/build/types/object/fetchPage.d.ts.map +1 -1
  388. package/build/types/object/object.test.d.ts.map +1 -1
  389. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -1
  390. package/build/types/observable/ListPayload.d.ts +5 -9
  391. package/build/types/observable/ListPayload.d.ts.map +1 -1
  392. package/build/types/observable/ObjectPayload.d.ts +4 -7
  393. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  394. package/build/types/observable/ObservableClient.d.ts +27 -11
  395. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  396. package/build/types/observable/internal/ActionApplication.d.ts +2 -2
  397. package/build/types/observable/internal/ActionApplication.d.ts.map +1 -1
  398. package/build/types/observable/internal/BulkObjectLoader.d.ts +8 -0
  399. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -0
  400. package/build/types/observable/internal/BulkObjectLoader.test.d.ts +1 -0
  401. package/build/types/observable/internal/BulkObjectLoader.test.d.ts.map +1 -0
  402. package/build/types/observable/internal/CacheKeys.d.ts +1 -1
  403. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  404. package/build/types/observable/internal/Changes.d.ts +15 -0
  405. package/build/types/observable/internal/Changes.d.ts.map +1 -0
  406. package/build/types/observable/internal/Layer.d.ts +1 -0
  407. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  408. package/build/types/observable/internal/ListQuery.d.ts +59 -14
  409. package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
  410. package/build/types/observable/internal/ObjectQuery.d.ts +5 -6
  411. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
  412. package/build/types/observable/internal/OptimisticJob.d.ts +1 -1
  413. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
  414. package/build/types/observable/internal/OrderByCanonicalizer.d.ts +12 -0
  415. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -0
  416. package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts +1 -0
  417. package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts.map +1 -0
  418. package/build/types/observable/internal/Query.d.ts +41 -6
  419. package/build/types/observable/internal/Query.d.ts.map +1 -1
  420. package/build/types/observable/internal/RefCounts.d.ts.map +1 -1
  421. package/build/types/observable/internal/SimpleWhereClause.d.ts +2 -0
  422. package/build/types/observable/internal/SimpleWhereClause.d.ts.map +1 -0
  423. package/build/types/observable/internal/Store.d.ts +20 -44
  424. package/build/types/observable/internal/Store.d.ts.map +1 -1
  425. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +2 -1
  426. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -1
  427. package/build/types/observable/internal/objectMatchesWhereClause.d.ts +4 -2
  428. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -1
  429. package/build/types/observable/internal/testUtils.d.ts +39 -10
  430. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  431. package/build/types/ontology/OntologyProvider.d.ts +1 -1
  432. package/build/types/ontology/OntologyProvider.d.ts.map +1 -1
  433. package/build/types/ontology/loadQueryMetadata.d.ts +1 -1
  434. package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -1
  435. package/build/types/public/internal.d.ts +2 -0
  436. package/build/types/public/internal.d.ts.map +1 -1
  437. package/build/types/public/unstable-do-not-use.d.ts +4 -5
  438. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  439. package/build/types/public-utils/osdkConfig.d.ts +8 -0
  440. package/build/types/public-utils/osdkConfig.d.ts.map +1 -0
  441. package/build/types/public-utils/vite-env.d.d.ts +3 -0
  442. package/build/types/public-utils/vite-env.d.d.ts.map +1 -0
  443. package/build/types/queries/applyQuery.d.ts +2 -2
  444. package/build/types/queries/applyQuery.d.ts.map +1 -1
  445. package/build/types/queries/types.d.ts +1 -1
  446. package/build/types/queries/types.d.ts.map +1 -1
  447. package/build/types/tsserver.d.ts +1 -1
  448. package/build/types/tsserver.d.ts.map +1 -1
  449. package/build/types/util/extractRdpDefinition.d.ts +4 -0
  450. package/build/types/util/extractRdpDefinition.d.ts.map +1 -0
  451. package/build/types/util/extractRdpDefinition.test.d.ts +1 -0
  452. package/build/types/util/extractRdpDefinition.test.d.ts.map +1 -0
  453. package/build/types/util/isObjectSpecifiersObject.d.ts +5 -0
  454. package/build/types/util/isObjectSpecifiersObject.d.ts.map +1 -0
  455. package/build/types/util/isPoint.d.ts +1 -0
  456. package/build/types/util/isPoint.d.ts.map +1 -0
  457. package/build/types/util/objectSpecifierUtils.d.ts +24 -0
  458. package/build/types/util/objectSpecifierUtils.d.ts.map +1 -0
  459. package/build/types/util/objectSpecifierUtils.test.d.ts +1 -0
  460. package/build/types/util/objectSpecifierUtils.test.d.ts.map +1 -0
  461. package/package.json +21 -18
  462. package/build/browser/Logger.js +0 -2
  463. package/build/browser/Logger.js.map +0 -1
  464. package/build/browser/object/createObjectSpecifierFromPrimaryKey.js.map +0 -1
  465. package/build/browser/observable/internal/ChangedObjects.js.map +0 -1
  466. package/build/browser/util/isOsdkBaseObject.js.map +0 -1
  467. package/build/browser/util/isOsdkObject.js.map +0 -1
  468. package/build/cjs/chunk-IU47QMYO.cjs.map +0 -1
  469. package/build/cjs/chunk-JPENHIJB.cjs.map +0 -1
  470. package/build/cjs/chunk-Q7SFCCGT.cjs +0 -11
  471. package/build/cjs/chunk-Q7SFCCGT.cjs.map +0 -1
  472. package/build/cjs/graphql-RGM5SRWV.cjs +0 -10532
  473. package/build/cjs/graphql-RGM5SRWV.cjs.map +0 -1
  474. package/build/esm/Logger.js +0 -2
  475. package/build/esm/Logger.js.map +0 -1
  476. package/build/esm/object/createObjectSpecifierFromPrimaryKey.js.map +0 -1
  477. package/build/esm/observable/internal/ChangedObjects.js.map +0 -1
  478. package/build/esm/util/isOsdkBaseObject.js.map +0 -1
  479. package/build/esm/util/isOsdkObject.js.map +0 -1
  480. package/build/types/Logger.d.ts +0 -17
  481. package/build/types/Logger.d.ts.map +0 -1
  482. package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts +0 -2
  483. package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts.map +0 -1
  484. package/build/types/observable/internal/ChangedObjects.d.ts +0 -11
  485. package/build/types/observable/internal/ChangedObjects.d.ts.map +0 -1
  486. package/build/types/util/isOsdkBaseObject.d.ts +0 -2
  487. package/build/types/util/isOsdkBaseObject.d.ts.map +0 -1
  488. package/build/types/util/isOsdkObject.d.ts +0 -2
  489. package/build/types/util/isOsdkObject.d.ts.map +0 -1
@@ -14,10 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { Employee, Todo } from "@osdk/client.test.ontology";
17
+ import { Employee, FooInterface, Todo } from "@osdk/client.test.ontology";
18
18
  import { describe, expect, expectTypeOf, it } from "vitest";
19
19
  import { createMinimalClient } from "../createMinimalClient.js";
20
- import { fetchPage, objectSetToSearchJsonV2 } from "../object/fetchPage.js";
20
+ import { fetchPage, objectSetToSearchJsonV2, resolveInterfaceObjectSet } from "../object/fetchPage.js";
21
21
  import { createObjectSet, getWireObjectSet } from "../objectSet/createObjectSet.js";
22
22
  const metadata = {
23
23
  ontologyRid: "asdf"
@@ -93,6 +93,60 @@ describe(fetchPage, () => {
93
93
  }]
94
94
  });
95
95
  });
96
+ it("converts interface object set for new API correctly", () => {
97
+ const client = createMinimalClient(metadata, "https://foo", async () => "");
98
+ const objectSet = createObjectSet(FooInterface, client).where({
99
+ fooSpt: "hello"
100
+ });
101
+ const wireObjectSet = getWireObjectSet(objectSet);
102
+ expect(resolveInterfaceObjectSet(wireObjectSet, "FooInterface", {
103
+ $includeAllBaseObjectProperties: true
104
+ })).toEqual({
105
+ type: "intersect",
106
+ objectSets: [{
107
+ type: "filter",
108
+ where: {
109
+ type: "eq",
110
+ field: "fooSpt",
111
+ value: "hello"
112
+ },
113
+ objectSet: {
114
+ interfaceType: "FooInterface",
115
+ type: "interfaceBase"
116
+ }
117
+ }, {
118
+ type: "interfaceBase",
119
+ interfaceType: "FooInterface",
120
+ includeAllBaseObjectProperties: true
121
+ }]
122
+ });
123
+ expect(resolveInterfaceObjectSet(wireObjectSet, "FooInterface", {})).toEqual({
124
+ type: "filter",
125
+ where: {
126
+ type: "eq",
127
+ field: "fooSpt",
128
+ value: "hello"
129
+ },
130
+ objectSet: {
131
+ interfaceType: "FooInterface",
132
+ type: "interfaceBase"
133
+ }
134
+ });
135
+ expect(resolveInterfaceObjectSet(wireObjectSet, "FooInterface", {
136
+ $includeAllBaseObjectProperties: false
137
+ })).toEqual({
138
+ type: "filter",
139
+ where: {
140
+ type: "eq",
141
+ field: "fooSpt",
142
+ value: "hello"
143
+ },
144
+ objectSet: {
145
+ interfaceType: "FooInterface",
146
+ type: "interfaceBase"
147
+ }
148
+ });
149
+ });
96
150
  it("where clause keys correctly typed", () => {
97
151
  const client = createMinimalClient(metadata, "https://foo", async () => "");
98
152
  const objectSet = createObjectSet(Todo, client);
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPage.test.js","names":["Employee","Todo","describe","expect","expectTypeOf","it","createMinimalClient","fetchPage","objectSetToSearchJsonV2","createObjectSet","getWireObjectSet","metadata","ontologyRid","branded","toEqualTypeOf","type","objectSet","objectType","where","field","value","undefined","toEqual","client","text","id","$gt","wireObjectSet","objectSetWithSpecialPropertyTypes","toBeCallableWith","$and","$lte","employeeLocation","$eq","$ne","$isNull","employeeStatus"],"sources":["fetchPage.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n FetchPageArgs,\n FetchPageResult,\n ObjectTypeDefinition,\n Osdk,\n PageResult,\n PropertyKeys,\n SelectArgToKeys,\n} from \"@osdk/api\";\nimport type { FooInterface } from \"@osdk/client.test.ontology\";\nimport { Employee, Todo } from \"@osdk/client.test.ontology\";\nimport type { SearchJsonQueryV2 } from \"@osdk/foundry.ontologies\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { fetchPage, objectSetToSearchJsonV2 } from \"../object/fetchPage.js\";\nimport {\n createObjectSet,\n getWireObjectSet,\n} from \"../objectSet/createObjectSet.js\";\n\nconst metadata = {\n ontologyRid: \"asdf\",\n};\ntype TodoDef = Todo;\n\ndescribe(fetchPage, () => {\n it(\"infers select properly\", () => {\n // this helper lets us get return types of functions that are generic\n class Helper<\n T extends ObjectTypeDefinition,\n const A extends FetchPageArgs<T>,\n > {\n public fetchPage<\n L extends SelectArgToKeys<T, A>,\n R extends A[\"$includeRid\"] extends true ? true : false,\n >() {\n return fetchPage<\n T,\n L & PropertyKeys<T>,\n R,\n \"drop\"\n >({} as any, {} as any, {} as any);\n }\n }\n\n expectTypeOf<Awaited<ReturnType<Helper<TodoDef, {}>[\"fetchPage\"]>>>()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ select: [] });\n expectTypeOf<\n Awaited<ReturnType<Helper<TodoDef, { $select: [] }>[\"fetchPage\"]>>\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage()\n expectTypeOf<\n Awaited<\n ReturnType<\n Helper<TodoDef, FetchPageArgs<TodoDef>>[\"fetchPage\"]\n >\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ $select: [\"text\"]}\n expectTypeOf<\n Awaited<\n ReturnType<Helper<TodoDef, { $select: [\"text\"] }>[\"fetchPage\"]>\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"text\">>>();\n });\n\n it(\"converts interface objectsets to search properly\", () => {\n expect(objectSetToSearchJsonV2(\n {\n type: \"filter\",\n objectSet: {\n type: \"filter\",\n objectSet: {\n type: \"base\",\n objectType: \"Todo\",\n },\n where: {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n },\n\n where: {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n },\n \"Todo\",\n undefined,\n )).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"converts interface objectsets to search properly part 2\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client).where({\n text: \"hello\",\n }).where({\n id: { $gt: 2 },\n });\n\n const wireObjectSet = getWireObjectSet(objectSet);\n\n expect(objectSetToSearchJsonV2(wireObjectSet, \"Todo\", undefined)).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"where clause keys correctly typed\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client);\n const objectSetWithSpecialPropertyTypes = createObjectSet(Employee, client);\n\n expectTypeOf(objectSet.where).toBeCallableWith({\n $and: [{ id: { $gt: 2 } }, { id: { $lte: 2 } }],\n });\n expectTypeOf(objectSet.where).toBeCallableWith({\n // @ts-expect-error\n id: { $gt: 2, $lte: 2 },\n });\n\n // We used to default to number filters for other types, like geotimeseries reference and timeseries. These tests will make sure\n // we don't do that anymore\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeLocation: { $eq: \"myLocation\" } },\n {\n employeeLocation: { $ne: \"notMyLocation\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $isNull: false, $eq: \"myLocation\" } },\n // @ts-expect-error\n { employeeLocation: { $gt: 5 } },\n ],\n });\n\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeStatus: { $eq: \"myStatus\" } },\n {\n employeeLocation: { $ne: \"notMyStatus\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $lte: 5 } },\n ],\n });\n });\n\n describe(\"includeRid\", () => {\n it(\"properly returns the correct string for includeRid\", () => {\n expectTypeOf<Awaited<FetchPageResult<TodoDef, \"text\", false, \"throw\">>>()\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<Awaited<FetchPageResult<TodoDef, \"text\", true, false>>>()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\" | \"$rid\" | \"$notStrict\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n\n it(\"works with $all\", () => {\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", false, \"drop\">>\n >().branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef>[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fetchPage.test.js","names":["Employee","FooInterface","Todo","describe","expect","expectTypeOf","it","createMinimalClient","fetchPage","objectSetToSearchJsonV2","resolveInterfaceObjectSet","createObjectSet","getWireObjectSet","metadata","ontologyRid","branded","toEqualTypeOf","type","objectSet","objectType","where","field","value","undefined","toEqual","client","text","id","$gt","wireObjectSet","fooSpt","$includeAllBaseObjectProperties","objectSets","interfaceType","includeAllBaseObjectProperties","objectSetWithSpecialPropertyTypes","toBeCallableWith","$and","$lte","employeeLocation","$eq","$ne","$isNull","employeeStatus"],"sources":["fetchPage.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n FetchPageArgs,\n FetchPageResult,\n ObjectTypeDefinition,\n Osdk,\n PageResult,\n PropertyKeys,\n SelectArgToKeys,\n} from \"@osdk/api\";\nimport { Employee, FooInterface, Todo } from \"@osdk/client.test.ontology\";\nimport type { SearchJsonQueryV2 } from \"@osdk/foundry.ontologies\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n fetchPage,\n objectSetToSearchJsonV2,\n resolveInterfaceObjectSet,\n} from \"../object/fetchPage.js\";\nimport {\n createObjectSet,\n getWireObjectSet,\n} from \"../objectSet/createObjectSet.js\";\n\nconst metadata = {\n ontologyRid: \"asdf\",\n};\ntype TodoDef = Todo;\n\ndescribe(fetchPage, () => {\n it(\"infers select properly\", () => {\n // this helper lets us get return types of functions that are generic\n class Helper<\n T extends ObjectTypeDefinition,\n const A extends FetchPageArgs<T>,\n > {\n public fetchPage<\n L extends SelectArgToKeys<T, A>,\n R extends A[\"$includeRid\"] extends true ? true : false,\n >() {\n return fetchPage<\n T,\n L & PropertyKeys<T>,\n R,\n \"drop\",\n false\n >({} as any, {} as any, {} as any);\n }\n }\n\n expectTypeOf<Awaited<ReturnType<Helper<TodoDef, {}>[\"fetchPage\"]>>>()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ select: [] });\n expectTypeOf<\n Awaited<ReturnType<Helper<TodoDef, { $select: [] }>[\"fetchPage\"]>>\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage()\n expectTypeOf<\n Awaited<\n ReturnType<\n Helper<TodoDef, FetchPageArgs<TodoDef>>[\"fetchPage\"]\n >\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ $select: [\"text\"]}\n expectTypeOf<\n Awaited<\n ReturnType<Helper<TodoDef, { $select: [\"text\"] }>[\"fetchPage\"]>\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"text\">>>();\n });\n\n it(\"converts interface objectsets to search properly\", () => {\n expect(objectSetToSearchJsonV2(\n {\n type: \"filter\",\n objectSet: {\n type: \"filter\",\n objectSet: {\n type: \"base\",\n objectType: \"Todo\",\n },\n where: {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n },\n\n where: {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n },\n \"Todo\",\n undefined,\n )).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"converts interface objectsets to search properly part 2\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client).where({\n text: \"hello\",\n }).where({\n id: { $gt: 2 },\n });\n\n const wireObjectSet = getWireObjectSet(objectSet);\n\n expect(objectSetToSearchJsonV2(wireObjectSet, \"Todo\", undefined)).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"converts interface object set for new API correctly\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(FooInterface, client).where({\n fooSpt: \"hello\",\n });\n\n const wireObjectSet = getWireObjectSet(objectSet);\n\n expect(\n resolveInterfaceObjectSet(wireObjectSet, \"FooInterface\", {\n $includeAllBaseObjectProperties: true,\n }),\n ).toEqual(\n {\n type: \"intersect\",\n objectSets: [\n {\n type: \"filter\",\n where: {\n type: \"eq\",\n field: \"fooSpt\",\n value: \"hello\",\n },\n objectSet: { interfaceType: \"FooInterface\", type: \"interfaceBase\" },\n },\n {\n type: \"interfaceBase\",\n interfaceType: \"FooInterface\",\n includeAllBaseObjectProperties: true,\n },\n ],\n },\n );\n\n expect(\n resolveInterfaceObjectSet(wireObjectSet, \"FooInterface\", {}),\n ).toEqual(\n {\n type: \"filter\",\n where: {\n type: \"eq\",\n field: \"fooSpt\",\n value: \"hello\",\n },\n objectSet: { interfaceType: \"FooInterface\", type: \"interfaceBase\" },\n },\n );\n expect(\n resolveInterfaceObjectSet(wireObjectSet, \"FooInterface\", {\n $includeAllBaseObjectProperties: false,\n }),\n ).toEqual(\n {\n type: \"filter\",\n where: {\n type: \"eq\",\n field: \"fooSpt\",\n value: \"hello\",\n },\n objectSet: { interfaceType: \"FooInterface\", type: \"interfaceBase\" },\n },\n );\n });\n\n it(\"where clause keys correctly typed\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client);\n const objectSetWithSpecialPropertyTypes = createObjectSet(Employee, client);\n\n expectTypeOf(objectSet.where).toBeCallableWith({\n $and: [{ id: { $gt: 2 } }, { id: { $lte: 2 } }],\n });\n expectTypeOf(objectSet.where).toBeCallableWith({\n // @ts-expect-error\n id: { $gt: 2, $lte: 2 },\n });\n\n // We used to default to number filters for other types, like geotimeseries reference and timeseries. These tests will make sure\n // we don't do that anymore\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeLocation: { $eq: \"myLocation\" } },\n {\n employeeLocation: { $ne: \"notMyLocation\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $isNull: false, $eq: \"myLocation\" } },\n // @ts-expect-error\n { employeeLocation: { $gt: 5 } },\n ],\n });\n\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeStatus: { $eq: \"myStatus\" } },\n {\n employeeLocation: { $ne: \"notMyStatus\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $lte: 5 } },\n ],\n });\n });\n\n describe(\"includeRid\", () => {\n it(\"properly returns the correct string for includeRid\", () => {\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\", false, \"throw\", false>>\n >()\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\", true, false, false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\" | \"$rid\" | \"$notStrict\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n\n it(\"works with $all\", () => {\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", false, \"drop\", false>>\n >().branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef>[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -15,17 +15,56 @@
15
15
  */
16
16
 
17
17
  import { $ontologyRid, Employee } from "@osdk/client.test.ontology";
18
- import { apiServer } from "@osdk/shared.test";
19
- import { afterAll, beforeAll, describe, expect, it } from "vitest";
18
+ import { LegacyFauxFoundry, startNodeApiServer } from "@osdk/shared.test";
19
+ import { formatISO, sub } from "date-fns";
20
+ import { beforeAll, describe, expect, it, vi } from "vitest";
20
21
  import { createClient } from "../createClient.js";
21
22
  describe("Timeseries", () => {
22
23
  let client;
24
+ const locationGeotimeData = {
25
+ 50030: [{
26
+ time: "2012-02-12",
27
+ value: {
28
+ type: "Point",
29
+ coordinates: [1.1, 1.1]
30
+ }
31
+ }, {
32
+ time: "2013-03-13",
33
+ value: {
34
+ type: "Point",
35
+ coordinates: [2.2, 2.2]
36
+ }
37
+ }, {
38
+ time: "2014-04-14",
39
+ value: {
40
+ type: "Point",
41
+ coordinates: [3.3, 3.3]
42
+ }
43
+ }],
44
+ 50031: [{
45
+ time: formatISO(sub(Date.now(), {
46
+ "days": 2
47
+ })),
48
+ value: {
49
+ type: "Point",
50
+ coordinates: [2.2, 2.2]
51
+ }
52
+ }]
53
+ };
23
54
  beforeAll(async () => {
24
- apiServer.listen();
25
- client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
26
- });
27
- afterAll(() => {
28
- apiServer.close();
55
+ const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);
56
+ ({
57
+ client
58
+ } = testSetup);
59
+ for (const [pk, data] of Object.entries(locationGeotimeData)) {
60
+ testSetup.fauxFoundry.getDataStore($ontologyRid).registerTimeSeriesData("Employee", pk, "employeeLocation", data);
61
+ }
62
+ vi.useFakeTimers();
63
+ vi.setSystemTime(new Date("2013-03-13"));
64
+ return () => {
65
+ testSetup.apiServer.close();
66
+ vi.useRealTimers();
67
+ };
29
68
  });
30
69
  it("get latest value works", async () => {
31
70
  const employee = await client(Employee).fetchOne(50030);
@@ -40,16 +79,8 @@ describe("Timeseries", () => {
40
79
  const nextLastPoint = employee.employeeLocation?.lastFetchedValue;
41
80
  expect(employee.employeeLocation?.lastFetchedValue).toBeDefined();
42
81
  expect(nextLastPoint).toEqual(fetchedPoint);
43
- expect(nextLastPoint?.time).toEqual("2014-04-14");
44
- expect(nextLastPoint?.value).toEqual({
45
- type: "Point",
46
- coordinates: [3.3, 3.3]
47
- });
48
- expect(fetchedPoint?.time).toEqual("2014-04-14");
49
- expect(fetchedPoint?.value).toEqual({
50
- type: "Point",
51
- coordinates: [3.3, 3.3]
52
- });
82
+ expect(nextLastPoint).toEqual(locationGeotimeData[50030][2]);
83
+ expect(fetchedPoint).toEqual(locationGeotimeData[50030][2]);
53
84
 
54
85
  // Making sure caching working as expected
55
86
  const initialPointEmployee2 = employee2.employeeLocation?.lastFetchedValue;
@@ -58,16 +89,8 @@ describe("Timeseries", () => {
58
89
  const nextLastPoint2 = employee2.employeeLocation?.lastFetchedValue;
59
90
  expect(employee2.employeeLocation?.lastFetchedValue).toBeDefined();
60
91
  expect(nextLastPoint2).toEqual(fetchedPoint2);
61
- expect(nextLastPoint2?.time).toEqual("2013-03-13");
62
- expect(nextLastPoint2?.value).toEqual({
63
- type: "Point",
64
- coordinates: [2.2, 2.2]
65
- });
66
- expect(fetchedPoint2?.time).toEqual("2013-03-13");
67
- expect(fetchedPoint2?.value).toEqual({
68
- type: "Point",
69
- coordinates: [2.2, 2.2]
70
- });
92
+ expect(nextLastPoint2).toEqual(locationGeotimeData[50031][0]);
93
+ expect(fetchedPoint2).toEqual(locationGeotimeData[50031][0]);
71
94
  });
72
95
  it("getAll values with before works", async () => {
73
96
  const employee = await client(Employee).fetchOne(50030);
@@ -77,25 +100,7 @@ describe("Timeseries", () => {
77
100
  $unit: "month"
78
101
  });
79
102
  expect(points).toBeDefined();
80
- expect(points).toEqual([{
81
- time: "2012-02-12",
82
- value: {
83
- type: "Point",
84
- coordinates: [1.1, 1.1]
85
- }
86
- }, {
87
- time: "2013-03-13",
88
- value: {
89
- type: "Point",
90
- coordinates: [2.2, 2.2]
91
- }
92
- }, {
93
- time: "2014-04-14",
94
- value: {
95
- type: "Point",
96
- coordinates: [3.3, 3.3]
97
- }
98
- }]);
103
+ expect(points).toEqual([locationGeotimeData[50030][1], locationGeotimeData[50030][2]]);
99
104
  });
100
105
  it("getAll values with after works", async () => {
101
106
  const employee = await client(Employee).fetchOne(50030);
@@ -105,19 +110,8 @@ describe("Timeseries", () => {
105
110
  $unit: "month"
106
111
  });
107
112
  expect(points).toBeDefined();
108
- expect(points).toEqual([{
109
- time: "2012-02-12",
110
- value: {
111
- type: "Point",
112
- coordinates: [1.1, 1.1]
113
- }
114
- }, {
115
- time: "2014-04-14",
116
- value: {
117
- type: "Point",
118
- coordinates: [3.3, 3.3]
119
- }
120
- }]);
113
+ expect(points).toEqual([locationGeotimeData[50030][0], locationGeotimeData[50030][1]]);
114
+ vi.useRealTimers();
121
115
  });
122
116
  it("getAll points with absolute range works", async () => {
123
117
  const employee = await client(Employee).fetchOne(50030);
@@ -146,37 +140,7 @@ describe("Timeseries", () => {
146
140
  expect(employee.$primaryKey).toEqual(50030);
147
141
  const points = await employee.employeeLocation?.getAllValues();
148
142
  expect(points).toBeDefined();
149
- expect(points).toEqual([{
150
- time: "2012-02-12",
151
- value: {
152
- type: "Point",
153
- coordinates: [1.1, 1.1]
154
- }
155
- }, {
156
- time: "2012-02-12",
157
- value: {
158
- type: "Point",
159
- coordinates: [1.1, 1.1]
160
- }
161
- }, {
162
- time: "2013-03-13",
163
- value: {
164
- type: "Point",
165
- coordinates: [2.2, 2.2]
166
- }
167
- }, {
168
- time: "2014-04-14",
169
- value: {
170
- type: "Point",
171
- coordinates: [3.3, 3.3]
172
- }
173
- }, {
174
- time: "2014-04-14",
175
- value: {
176
- type: "Point",
177
- coordinates: [3.3, 3.3]
178
- }
179
- }]);
143
+ expect(points).toEqual(locationGeotimeData[50030]);
180
144
  });
181
145
  it("getAll points with no data works", async () => {
182
146
  const employee = await client(Employee).fetchOne(50030);
@@ -200,19 +164,7 @@ describe("Timeseries", () => {
200
164
  points.push(point);
201
165
  }
202
166
  expect(points).toBeDefined();
203
- expect(points).toEqual([{
204
- time: "2013-03-13",
205
- value: {
206
- type: "Point",
207
- coordinates: [2.2, 2.2]
208
- }
209
- }, {
210
- time: "2014-04-14",
211
- value: {
212
- type: "Point",
213
- coordinates: [3.3, 3.3]
214
- }
215
- }]);
167
+ expect(points).toEqual([locationGeotimeData[50030][1], locationGeotimeData[50030][2]]);
216
168
  });
217
169
  it("async iter points with no query", async () => {
218
170
  const employee = await client(Employee).fetchOne(50030);
@@ -223,37 +175,7 @@ describe("Timeseries", () => {
223
175
  points.push(point);
224
176
  }
225
177
  expect(points).toBeDefined();
226
- expect(points).toEqual([{
227
- time: "2012-02-12",
228
- value: {
229
- type: "Point",
230
- coordinates: [1.1, 1.1]
231
- }
232
- }, {
233
- time: "2012-02-12",
234
- value: {
235
- type: "Point",
236
- coordinates: [1.1, 1.1]
237
- }
238
- }, {
239
- time: "2013-03-13",
240
- value: {
241
- type: "Point",
242
- coordinates: [2.2, 2.2]
243
- }
244
- }, {
245
- time: "2014-04-14",
246
- value: {
247
- type: "Point",
248
- coordinates: [3.3, 3.3]
249
- }
250
- }, {
251
- time: "2014-04-14",
252
- value: {
253
- type: "Point",
254
- coordinates: [3.3, 3.3]
255
- }
256
- }]);
178
+ expect(points).toEqual(locationGeotimeData[50030]);
257
179
  });
258
180
  });
259
181
  //# sourceMappingURL=geotimeseriesreference.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geotimeseriesreference.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","employee2","$primaryKey","toEqual","location","employeeLocation","toBeDefined","initialLastPoint","lastFetchedValue","toBeUndefined","fetchedPoint","getLatestValue","nextLastPoint","time","value","type","coordinates","initialPointEmployee2","fetchedPoint2","nextLastPoint2","points","getAllValues","$before","$unit","$after","$startTime","$endTime","pointsIter","asyncIterValues","point","push"],"sources":["geotimeseriesreference.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { TimeSeriesPoint } from \"@osdk/api\";\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"Timeseries\", () => {\n let client: Client;\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"get latest value works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n const employee2 = await client(Employee).fetchOne(50031);\n expect(employee.$primaryKey).toEqual(50030);\n expect(employee2.$primaryKey).toEqual(50031);\n const location = employee.employeeLocation;\n\n expect(location).toBeDefined();\n\n const initialLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(initialLastPoint).toBeUndefined();\n\n const fetchedPoint = await employee.employeeLocation?.getLatestValue();\n const nextLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(employee.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint).toEqual(fetchedPoint);\n expect(nextLastPoint?.time).toEqual(\"2014-04-14\");\n expect(nextLastPoint?.value).toEqual({\n type: \"Point\",\n coordinates: [3.3, 3.3],\n });\n\n expect(fetchedPoint?.time).toEqual(\"2014-04-14\");\n expect(fetchedPoint?.value).toEqual({\n type: \"Point\",\n coordinates: [3.3, 3.3],\n });\n\n // Making sure caching working as expected\n const initialPointEmployee2 = employee2.employeeLocation?.lastFetchedValue;\n expect(initialPointEmployee2).toBeUndefined();\n\n const fetchedPoint2 = await employee2.employeeLocation?.getLatestValue();\n const nextLastPoint2 = employee2.employeeLocation?.lastFetchedValue;\n expect(employee2.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint2).toEqual(fetchedPoint2);\n expect(nextLastPoint2?.time).toEqual(\"2013-03-13\");\n expect(nextLastPoint2?.value).toEqual({\n type: \"Point\",\n coordinates: [2.2, 2.2],\n });\n\n expect(fetchedPoint2?.time).toEqual(\"2013-03-13\");\n expect(fetchedPoint2?.value).toEqual({\n type: \"Point\",\n coordinates: [2.2, 2.2],\n });\n });\n\n it(\"getAll values with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([{\n time: \"2012-02-12\",\n value: { type: \"Point\", coordinates: [1.1, 1.1] },\n }, {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\n\n it(\"getAll values with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([{\n time: \"2012-02-12\",\n value: { type: \"Point\", coordinates: [1.1, 1.1] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\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.employeeLocation?.getAllValues({\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: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\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.employeeLocation?.getAllValues();\n expect(points).toBeDefined();\n expect(points!).toEqual([\n { time: \"2012-02-12\", value: { type: \"Point\", coordinates: [1.1, 1.1] } },\n { time: \"2012-02-12\", value: { type: \"Point\", coordinates: [1.1, 1.1] } },\n {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n ]);\n });\n\n it(\"getAll points with no data works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $startTime: \"2021-03-12T12:00:00.000Z\",\n $endTime: \"2022-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([]);\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.employeeLocation?.asyncIterValues({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\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: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\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.employeeLocation?.asyncIterValues();\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\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: { type: \"Point\", coordinates: [1.1, 1.1] } },\n { time: \"2012-02-12\", value: { type: \"Point\", coordinates: [1.1, 1.1] } },\n {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"geotimeseriesreference.test.js","names":["$ontologyRid","Employee","LegacyFauxFoundry","startNodeApiServer","formatISO","sub","beforeAll","describe","expect","it","vi","createClient","client","locationGeotimeData","time","value","type","coordinates","Date","now","testSetup","pk","data","Object","entries","fauxFoundry","getDataStore","registerTimeSeriesData","useFakeTimers","setSystemTime","apiServer","close","useRealTimers","employee","fetchOne","employee2","$primaryKey","toEqual","location","employeeLocation","toBeDefined","initialLastPoint","lastFetchedValue","toBeUndefined","fetchedPoint","getLatestValue","nextLastPoint","initialPointEmployee2","fetchedPoint2","nextLastPoint2","points","getAllValues","$before","$unit","$after","$startTime","$endTime","pointsIter","asyncIterValues","point","push"],"sources":["geotimeseriesreference.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { TimeSeriesPoint } from \"@osdk/api\";\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { formatISO, sub } from \"date-fns\";\nimport { beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"Timeseries\", () => {\n let client: Client;\n const locationGeotimeData = {\n 50030: [\n {\n time: \"2012-02-12\",\n value: { type: \"Point\", coordinates: [1.1, 1.1] },\n },\n {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n },\n {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n },\n ],\n 50031: [\n {\n time: formatISO(sub(Date.now(), { \"days\": 2 })),\n value: {\n type: \"Point\",\n coordinates: [2.2, 2.2],\n },\n },\n ],\n };\n\n beforeAll(async () => {\n const testSetup = startNodeApiServer(\n new LegacyFauxFoundry(),\n createClient,\n );\n ({ client } = testSetup);\n\n for (const [pk, data] of Object.entries(locationGeotimeData)) {\n testSetup.fauxFoundry.getDataStore($ontologyRid)\n .registerTimeSeriesData(\n \"Employee\",\n pk,\n \"employeeLocation\",\n data,\n );\n }\n\n vi.useFakeTimers();\n vi.setSystemTime(new Date(\"2013-03-13\"));\n\n return () => {\n testSetup.apiServer.close();\n vi.useRealTimers();\n };\n });\n\n it(\"get latest value works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n const employee2 = await client(Employee).fetchOne(50031);\n expect(employee.$primaryKey).toEqual(50030);\n expect(employee2.$primaryKey).toEqual(50031);\n const location = employee.employeeLocation;\n\n expect(location).toBeDefined();\n\n const initialLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(initialLastPoint).toBeUndefined();\n\n const fetchedPoint = await employee.employeeLocation?.getLatestValue();\n const nextLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(employee.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint).toEqual(fetchedPoint);\n expect(nextLastPoint).toEqual(locationGeotimeData[50030][2]);\n\n expect(fetchedPoint).toEqual(locationGeotimeData[50030][2]);\n\n // Making sure caching working as expected\n const initialPointEmployee2 = employee2.employeeLocation?.lastFetchedValue;\n expect(initialPointEmployee2).toBeUndefined();\n\n const fetchedPoint2 = await employee2.employeeLocation?.getLatestValue();\n const nextLastPoint2 = employee2.employeeLocation?.lastFetchedValue;\n expect(employee2.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint2).toEqual(fetchedPoint2);\n expect(nextLastPoint2).toEqual(locationGeotimeData[50031][0]);\n\n expect(fetchedPoint2).toEqual(locationGeotimeData[50031][0]);\n });\n\n it(\"getAll values with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([\n locationGeotimeData[50030][1],\n locationGeotimeData[50030][2],\n ]);\n });\n\n it(\"getAll values with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([\n locationGeotimeData[50030][0],\n locationGeotimeData[50030][1],\n ]);\n\n vi.useRealTimers();\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.employeeLocation?.getAllValues({\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: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\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.employeeLocation?.getAllValues();\n expect(points).toBeDefined();\n expect(points!).toEqual(\n locationGeotimeData[50030],\n );\n });\n\n it(\"getAll points with no data works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $startTime: \"2021-03-12T12:00:00.000Z\",\n $endTime: \"2022-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([]);\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.employeeLocation?.asyncIterValues({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\n for await (const point of pointsIter!) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points!).toEqual([\n locationGeotimeData[50030][1],\n locationGeotimeData[50030][2],\n ]);\n });\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.employeeLocation?.asyncIterValues();\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\n for await (const point of pointsIter!) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points!).toEqual(\n locationGeotimeData[50030],\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -15,17 +15,22 @@
15
15
  */
16
16
 
17
17
  import { $ontologyRid, objectTypeWithAllPropertyTypes } from "@osdk/client.test.ontology";
18
- import { apiServer, stubData } from "@osdk/shared.test";
19
- import { afterAll, beforeAll, describe, expect, it } from "vitest";
18
+ import { LegacyFauxFoundry, startNodeApiServer, stubData } from "@osdk/shared.test";
19
+ import { beforeAll, describe, expect, it } from "vitest";
20
20
  import { createClient } from "../createClient.js";
21
21
  describe("media", () => {
22
22
  let client;
23
- beforeAll(async () => {
24
- apiServer.listen();
25
- client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
26
- });
27
- afterAll(() => {
28
- apiServer.close();
23
+ beforeAll(() => {
24
+ const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);
25
+ ({
26
+ client
27
+ } = testSetup);
28
+ testSetup.fauxFoundry.getDataStore($ontologyRid).registerMedia(objectTypeWithAllPropertyTypes.apiName, "mediaReference", new TextEncoder().encode(JSON.stringify({
29
+ content: "Hello World"
30
+ })), "application/json", "file1.txt", stubData.objectWithAllPropertyTypes1.mediaReference);
31
+ return () => {
32
+ testSetup.apiServer.close();
33
+ };
29
34
  });
30
35
  it("reads media metadata successfully", async () => {
31
36
  const result = await client(objectTypeWithAllPropertyTypes).where({
@@ -34,10 +39,11 @@ describe("media", () => {
34
39
  const object1 = result.data[0];
35
40
  expect(object1.mediaReference).toBeDefined();
36
41
  const mediaMetadata = await object1.mediaReference?.fetchMetadata();
37
- expect(mediaMetadata).toBeDefined();
38
- expect(mediaMetadata?.path).toEqual("file1.txt");
39
- expect(mediaMetadata?.mediaType).toEqual("application/json");
40
- expect(mediaMetadata?.sizeBytes).toEqual(20);
42
+ expect(mediaMetadata).toEqual({
43
+ path: "file1.txt",
44
+ mediaType: "application/json",
45
+ sizeBytes: 25
46
+ });
41
47
  });
42
48
  it("reads media content successfully", async () => {
43
49
  const result = await client(objectTypeWithAllPropertyTypes).where({
@@ -46,8 +52,7 @@ describe("media", () => {
46
52
  const object1 = result.data[0];
47
53
  expect(object1.mediaReference).toBeDefined();
48
54
  const mediaContent = await object1?.mediaReference?.fetchContents();
49
- const mediaText = await mediaContent.text();
50
- expect(JSON.parse(mediaText)).toEqual({
55
+ expect(await mediaContent.json()).toEqual({
51
56
  content: "Hello World"
52
57
  });
53
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"media.test.js","names":["$ontologyRid","objectTypeWithAllPropertyTypes","apiServer","stubData","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","result","where","id","objectWithAllPropertyTypes1","fetchPage","object1","data","mediaReference","toBeDefined","mediaMetadata","fetchMetadata","path","toEqual","mediaType","sizeBytes","mediaContent","fetchContents","mediaText","text","JSON","parse","content"],"sources":["media.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n $ontologyRid,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"media\", () => {\n let client: Client;\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"reads media metadata successfully\", async () => {\n const result = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: stubData.objectWithAllPropertyTypes1.id }).fetchPage();\n\n const object1 = result.data[0];\n expect(object1.mediaReference).toBeDefined();\n const mediaMetadata = await object1.mediaReference?.fetchMetadata();\n expect(mediaMetadata).toBeDefined();\n expect(mediaMetadata?.path).toEqual(\"file1.txt\");\n expect(mediaMetadata?.mediaType).toEqual(\"application/json\");\n expect(mediaMetadata?.sizeBytes).toEqual(20);\n });\n\n it(\"reads media content successfully\", async () => {\n const result = await client(objectTypeWithAllPropertyTypes)\n .where({ id: stubData.objectWithAllPropertyTypes1.id }).fetchPage();\n\n const object1 = result.data[0];\n expect(object1.mediaReference).toBeDefined();\n const mediaContent = await object1?.mediaReference?.fetchContents();\n const mediaText = await mediaContent!.text();\n expect(JSON.parse(mediaText)).toEqual({\n content: \"Hello World\",\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,YAAY,EACZC,8BAA8B,QACzB,4BAA4B;AACnC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,mBAAmB;AACvD,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAElE,SAASC,YAAY,QAAQ,oBAAoB;AAEjDH,QAAQ,CAAC,OAAO,EAAE,MAAM;EACtB,IAAII,MAAc;EAElBL,SAAS,CAAC,YAAY;IACpBH,SAAS,CAACS,MAAM,CAAC,CAAC;IAClBD,MAAM,GAAGD,YAAY,CACnB,4BAA4B,EAC5BT,YAAY,EACZ,YAAY,eACd,CAAC;EACH,CAAC,CAAC;EAEFI,QAAQ,CAAC,MAAM;IACbF,SAAS,CAACU,KAAK,CAAC,CAAC;EACnB,CAAC,CAAC;EAEFJ,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAClD,MAAMK,MAAM,GAAG,MAAMH,MAAM,CACzBT,8BACF,CAAC,CACEa,KAAK,CAAC;MAAEC,EAAE,EAAEZ,QAAQ,CAACa,2BAA2B,CAACD;IAAG,CAAC,CAAC,CAACE,SAAS,CAAC,CAAC;IAErE,MAAMC,OAAO,GAAGL,MAAM,CAACM,IAAI,CAAC,CAAC,CAAC;IAC9BZ,MAAM,CAACW,OAAO,CAACE,cAAc,CAAC,CAACC,WAAW,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAAG,MAAMJ,OAAO,CAACE,cAAc,EAAEG,aAAa,CAAC,CAAC;IACnEhB,MAAM,CAACe,aAAa,CAAC,CAACD,WAAW,CAAC,CAAC;IACnCd,MAAM,CAACe,aAAa,EAAEE,IAAI,CAAC,CAACC,OAAO,CAAC,WAAW,CAAC;IAChDlB,MAAM,CAACe,aAAa,EAAEI,SAAS,CAAC,CAACD,OAAO,CAAC,kBAAkB,CAAC;IAC5DlB,MAAM,CAACe,aAAa,EAAEK,SAAS,CAAC,CAACF,OAAO,CAAC,EAAE,CAAC;EAC9C,CAAC,CAAC;EAEFjB,EAAE,CAAC,kCAAkC,EAAE,YAAY;IACjD,MAAMK,MAAM,GAAG,MAAMH,MAAM,CAACT,8BAA8B,CAAC,CACxDa,KAAK,CAAC;MAAEC,EAAE,EAAEZ,QAAQ,CAACa,2BAA2B,CAACD;IAAG,CAAC,CAAC,CAACE,SAAS,CAAC,CAAC;IAErE,MAAMC,OAAO,GAAGL,MAAM,CAACM,IAAI,CAAC,CAAC,CAAC;IAC9BZ,MAAM,CAACW,OAAO,CAACE,cAAc,CAAC,CAACC,WAAW,CAAC,CAAC;IAC5C,MAAMO,YAAY,GAAG,MAAMV,OAAO,EAAEE,cAAc,EAAES,aAAa,CAAC,CAAC;IACnE,MAAMC,SAAS,GAAG,MAAMF,YAAY,CAAEG,IAAI,CAAC,CAAC;IAC5CxB,MAAM,CAACyB,IAAI,CAACC,KAAK,CAACH,SAAS,CAAC,CAAC,CAACL,OAAO,CAAC;MACpCS,OAAO,EAAE;IACX,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"media.test.js","names":["$ontologyRid","objectTypeWithAllPropertyTypes","LegacyFauxFoundry","startNodeApiServer","stubData","beforeAll","describe","expect","it","createClient","client","testSetup","fauxFoundry","getDataStore","registerMedia","apiName","TextEncoder","encode","JSON","stringify","content","objectWithAllPropertyTypes1","mediaReference","apiServer","close","result","where","id","fetchPage","object1","data","toBeDefined","mediaMetadata","fetchMetadata","toEqual","path","mediaType","sizeBytes","mediaContent","fetchContents","json"],"sources":["media.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n $ontologyRid,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport {\n LegacyFauxFoundry,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"media\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(\n new LegacyFauxFoundry(),\n createClient,\n );\n\n ({ client } = testSetup);\n\n testSetup.fauxFoundry\n .getDataStore($ontologyRid)\n .registerMedia(\n objectTypeWithAllPropertyTypes.apiName,\n \"mediaReference\",\n new TextEncoder().encode(\n JSON.stringify({ content: \"Hello World\" }),\n ),\n \"application/json\",\n \"file1.txt\",\n stubData.objectWithAllPropertyTypes1.mediaReference,\n );\n\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"reads media metadata successfully\", async () => {\n const result = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: stubData.objectWithAllPropertyTypes1.id }).fetchPage();\n\n const object1 = result.data[0];\n expect(object1.mediaReference).toBeDefined();\n const mediaMetadata = await object1.mediaReference?.fetchMetadata();\n expect(mediaMetadata).toEqual({\n path: \"file1.txt\",\n mediaType: \"application/json\",\n sizeBytes: 25,\n });\n });\n\n it(\"reads media content successfully\", async () => {\n const result = await client(objectTypeWithAllPropertyTypes)\n .where({ id: stubData.objectWithAllPropertyTypes1.id }).fetchPage();\n\n const object1 = result.data[0];\n expect(object1.mediaReference).toBeDefined();\n const mediaContent = await object1?.mediaReference?.fetchContents();\n expect(await mediaContent!.json()).toEqual({\n content: \"Hello World\",\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,YAAY,EACZC,8BAA8B,QACzB,4BAA4B;AACnC,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,QAAQ,QACH,mBAAmB;AAC1B,SAASC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAExD,SAASC,YAAY,QAAQ,oBAAoB;AAEjDH,QAAQ,CAAC,OAAO,EAAE,MAAM;EACtB,IAAII,MAAc;EAElBL,SAAS,CAAC,MAAM;IACd,MAAMM,SAAS,GAAGR,kBAAkB,CAClC,IAAID,iBAAiB,CAAC,CAAC,EACvBO,YACF,CAAC;IAED,CAAC;MAAEC;IAAO,CAAC,GAAGC,SAAS;IAEvBA,SAAS,CAACC,WAAW,CAClBC,YAAY,CAACb,YAAY,CAAC,CAC1Bc,aAAa,CACZb,8BAA8B,CAACc,OAAO,EACtC,gBAAgB,EAChB,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CACtBC,IAAI,CAACC,SAAS,CAAC;MAAEC,OAAO,EAAE;IAAc,CAAC,CAC3C,CAAC,EACD,kBAAkB,EAClB,WAAW,EACXhB,QAAQ,CAACiB,2BAA2B,CAACC,cACvC,CAAC;IAEH,OAAO,MAAM;MACXX,SAAS,CAACY,SAAS,CAACC,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEFhB,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAClD,MAAMiB,MAAM,GAAG,MAAMf,MAAM,CACzBT,8BACF,CAAC,CACEyB,KAAK,CAAC;MAAEC,EAAE,EAAEvB,QAAQ,CAACiB,2BAA2B,CAACM;IAAG,CAAC,CAAC,CAACC,SAAS,CAAC,CAAC;IAErE,MAAMC,OAAO,GAAGJ,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC;IAC9BvB,MAAM,CAACsB,OAAO,CAACP,cAAc,CAAC,CAACS,WAAW,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAAG,MAAMH,OAAO,CAACP,cAAc,EAAEW,aAAa,CAAC,CAAC;IACnE1B,MAAM,CAACyB,aAAa,CAAC,CAACE,OAAO,CAAC;MAC5BC,IAAI,EAAE,WAAW;MACjBC,SAAS,EAAE,kBAAkB;MAC7BC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF7B,EAAE,CAAC,kCAAkC,EAAE,YAAY;IACjD,MAAMiB,MAAM,GAAG,MAAMf,MAAM,CAACT,8BAA8B,CAAC,CACxDyB,KAAK,CAAC;MAAEC,EAAE,EAAEvB,QAAQ,CAACiB,2BAA2B,CAACM;IAAG,CAAC,CAAC,CAACC,SAAS,CAAC,CAAC;IAErE,MAAMC,OAAO,GAAGJ,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC;IAC9BvB,MAAM,CAACsB,OAAO,CAACP,cAAc,CAAC,CAACS,WAAW,CAAC,CAAC;IAC5C,MAAMO,YAAY,GAAG,MAAMT,OAAO,EAAEP,cAAc,EAAEiB,aAAa,CAAC,CAAC;IACnEhC,MAAM,CAAC,MAAM+B,YAAY,CAAEE,IAAI,CAAC,CAAC,CAAC,CAACN,OAAO,CAAC;MACzCd,OAAO,EAAE;IACX,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}