@osdk/client 2.1.0-beta.9 → 2.1.0

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 (1167) hide show
  1. package/CHANGELOG.md +529 -0
  2. package/build/browser/Client.js +7 -0
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/Definitions.test.js +1 -0
  5. package/build/browser/Definitions.test.js.map +1 -1
  6. package/build/browser/Logger.js +0 -15
  7. package/build/browser/Logger.js.map +1 -1
  8. package/build/browser/MinimalClientContext.js +0 -15
  9. package/build/browser/MinimalClientContext.js.map +1 -1
  10. package/build/browser/ResultOrError.js +1 -0
  11. package/build/browser/ResultOrError.js.map +1 -1
  12. package/build/browser/SatisfiesSemver.js +0 -15
  13. package/build/browser/SatisfiesSemver.js.map +1 -1
  14. package/build/browser/SatisfiesSemver.test.js +1 -0
  15. package/build/browser/SatisfiesSemver.test.js.map +1 -1
  16. package/build/browser/__unstable/ConjureSupport.js +8 -2
  17. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  18. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
  19. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  20. package/build/browser/actions/ActionValidationError.js +1 -1
  21. package/build/browser/actions/ActionValidationError.js.map +1 -1
  22. package/build/browser/actions/actions.test.js +85 -4
  23. package/build/browser/actions/actions.test.js.map +1 -1
  24. package/build/browser/actions/applyAction.js +2 -1
  25. package/build/browser/actions/applyAction.js.map +1 -1
  26. package/build/browser/createClient.js +37 -26
  27. package/build/browser/createClient.js.map +1 -1
  28. package/build/browser/createClient.test.js +25 -0
  29. package/build/browser/createClient.test.js.map +1 -1
  30. package/build/browser/createGeotimeSeriesProperty.js +5 -3
  31. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  32. package/build/browser/createMediaReferenceProperty.js +47 -0
  33. package/build/browser/createMediaReferenceProperty.js.map +1 -0
  34. package/build/browser/createMinimalClient.js +8 -1
  35. package/build/browser/createMinimalClient.js.map +1 -1
  36. package/build/browser/createPlatformClient.js +1 -0
  37. package/build/browser/createPlatformClient.js.map +1 -1
  38. package/build/browser/createTimeseriesProperty.js +2 -1
  39. package/build/browser/createTimeseriesProperty.js.map +1 -1
  40. package/build/browser/definitions/LinkDefinitions.test.js +4 -0
  41. package/build/browser/definitions/LinkDefinitions.test.js.map +1 -1
  42. package/build/browser/fetchMetadata.js +2 -0
  43. package/build/browser/fetchMetadata.js.map +1 -1
  44. package/build/browser/fetchMetadata.test.js +19 -0
  45. package/build/browser/fetchMetadata.test.js.map +1 -1
  46. package/build/browser/index.js +2 -0
  47. package/build/browser/index.js.map +1 -1
  48. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  49. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  50. package/build/browser/intellisense.test.js +4 -1
  51. package/build/browser/intellisense.test.js.map +1 -1
  52. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  53. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  54. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  55. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  56. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  57. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  58. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +67 -18
  59. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  60. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  61. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  62. package/build/browser/object/AttachmentUpload.js +6 -13
  63. package/build/browser/object/AttachmentUpload.js.map +1 -1
  64. package/build/browser/object/Cache.js +27 -0
  65. package/build/browser/object/Cache.js.map +1 -1
  66. package/build/browser/object/Cache.test.js +10 -3
  67. package/build/browser/object/Cache.test.js.map +1 -1
  68. package/build/browser/object/SimpleCache.js +20 -0
  69. package/build/browser/object/SimpleCache.js.map +1 -1
  70. package/build/browser/object/aggregate.js +7 -9
  71. package/build/browser/object/aggregate.js.map +1 -1
  72. package/build/browser/object/aggregate.test.js +11 -9
  73. package/build/browser/object/aggregate.test.js.map +1 -1
  74. package/build/browser/object/attachment.test.js +1 -0
  75. package/build/browser/object/attachment.test.js.map +1 -1
  76. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  77. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  78. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  79. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  80. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  81. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  82. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  83. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  84. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  85. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  86. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  87. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  88. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  89. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  90. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  91. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  92. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  93. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  94. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  95. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  96. package/build/browser/object/convertWireToOsdkObjects.js +51 -4
  97. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  98. package/build/browser/object/convertWireToOsdkObjects.test.js +197 -44
  99. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  100. package/build/browser/object/fetchPage.js +42 -24
  101. package/build/browser/object/fetchPage.js.map +1 -1
  102. package/build/browser/object/fetchPage.test.js +80 -1
  103. package/build/browser/object/fetchPage.test.js.map +1 -1
  104. package/build/browser/object/fetchSingle.js +3 -0
  105. package/build/browser/object/fetchSingle.js.map +1 -1
  106. package/build/browser/object/geotimeseriesreference.test.js +2 -0
  107. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  108. package/build/browser/object/media.test.js +55 -0
  109. package/build/browser/object/media.test.js.map +1 -0
  110. package/build/browser/object/mediaUpload.js +20 -0
  111. package/build/browser/object/mediaUpload.js.map +1 -0
  112. package/build/browser/object/object.test.js +203 -10
  113. package/build/browser/object/object.test.js.map +1 -1
  114. package/build/browser/object/timeseries.test.js +11 -0
  115. package/build/browser/object/timeseries.test.js.map +1 -1
  116. package/build/browser/objectSet/InterfaceObjectSet.test.js +65 -0
  117. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  118. package/build/browser/objectSet/ObjectSet.test.js +140 -28
  119. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  120. package/build/browser/objectSet/ObjectSetFactory.js +0 -15
  121. package/build/browser/objectSet/ObjectSetFactory.js.map +1 -1
  122. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +117 -37
  123. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  124. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  125. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  126. package/build/browser/objectSet/conjureUnionType.js +1 -0
  127. package/build/browser/objectSet/conjureUnionType.js.map +1 -1
  128. package/build/browser/objectSet/createObjectSet.js +9 -6
  129. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  130. package/build/browser/observable/DebugFlags.js +19 -0
  131. package/build/browser/observable/DebugFlags.js.map +1 -0
  132. package/build/browser/observable/ListPayload.js +2 -0
  133. package/build/browser/observable/ListPayload.js.map +1 -0
  134. package/build/browser/observable/ObjectPayload.js +2 -0
  135. package/build/browser/observable/ObjectPayload.js.map +1 -0
  136. package/build/browser/observable/ObservableClient.js +23 -0
  137. package/build/browser/observable/ObservableClient.js.map +1 -0
  138. package/build/browser/observable/OptimisticBuilder.js +2 -0
  139. package/build/browser/observable/OptimisticBuilder.js.map +1 -0
  140. package/build/browser/observable/internal/CacheKey.js +2 -0
  141. package/build/browser/observable/internal/CacheKey.js.map +1 -0
  142. package/build/browser/observable/internal/CacheKeys.js +60 -0
  143. package/build/browser/observable/internal/CacheKeys.js.map +1 -0
  144. package/build/browser/observable/internal/Canonical.js +2 -0
  145. package/build/browser/observable/internal/Canonical.js.map +1 -0
  146. package/build/browser/observable/internal/ChangedObjects.js +24 -0
  147. package/build/browser/observable/internal/ChangedObjects.js.map +1 -0
  148. package/build/browser/observable/internal/Layer.js +76 -0
  149. package/build/browser/observable/internal/Layer.js.map +1 -0
  150. package/build/browser/observable/internal/ListQuery.js +250 -0
  151. package/build/browser/observable/internal/ListQuery.js.map +1 -0
  152. package/build/browser/observable/internal/ObjectQuery.js +71 -0
  153. package/build/browser/observable/internal/ObjectQuery.js.map +1 -0
  154. package/build/browser/observable/internal/ObservableClientImpl.js +38 -0
  155. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -0
  156. package/build/browser/observable/internal/OptimisticId.js +30 -0
  157. package/build/browser/observable/internal/OptimisticId.js.map +1 -0
  158. package/build/browser/observable/internal/OptimisticJob.js +91 -0
  159. package/build/browser/observable/internal/OptimisticJob.js.map +1 -0
  160. package/build/browser/observable/internal/Query.js +70 -0
  161. package/build/browser/observable/internal/Query.js.map +1 -0
  162. package/build/browser/observable/internal/RefCounts.js +77 -0
  163. package/build/browser/observable/internal/RefCounts.js.map +1 -0
  164. package/build/browser/observable/internal/Store.js +464 -0
  165. package/build/browser/observable/internal/Store.js.map +1 -0
  166. package/build/browser/observable/internal/Store.test.js +765 -0
  167. package/build/browser/observable/internal/Store.test.js.map +1 -0
  168. package/build/browser/observable/internal/WeakMapWithEntries.js +124 -0
  169. package/build/browser/observable/internal/WeakMapWithEntries.js.map +1 -0
  170. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +83 -0
  171. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  172. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  173. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  174. package/build/browser/observable/internal/objectMatchesWhereClause.js +112 -0
  175. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -0
  176. package/build/browser/observable/internal/objectMatchesWhereClause.test.js +121 -0
  177. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  178. package/build/browser/observable/internal/testUtils.js +178 -0
  179. package/build/browser/observable/internal/testUtils.js.map +1 -0
  180. package/build/browser/observable/types.js +2 -0
  181. package/build/browser/observable/types.js.map +1 -0
  182. package/build/browser/ontology/OntologyProvider.js +1 -0
  183. package/build/browser/ontology/OntologyProvider.js.map +1 -1
  184. package/build/browser/ontology/StandardOntologyProvider.js +2 -0
  185. package/build/browser/ontology/StandardOntologyProvider.js.map +1 -1
  186. package/build/browser/ontology/StandardOntologyProvider.test.js +2 -0
  187. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
  188. package/build/browser/ontology/loadActionMetadata.js +2 -1
  189. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  190. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  191. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  192. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  193. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  194. package/build/browser/ontology/loadQueryMetadata.js +2 -1
  195. package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
  196. package/build/browser/ontology/makeConjureContext.js +1 -0
  197. package/build/browser/ontology/makeConjureContext.js.map +1 -1
  198. package/build/browser/pageRequestAsAsyncIter.js +1 -0
  199. package/build/browser/pageRequestAsAsyncIter.js.map +1 -1
  200. package/build/browser/public/internal.js +20 -0
  201. package/build/browser/public/internal.js.map +1 -0
  202. package/build/browser/public/unstable-do-not-use.js +5 -0
  203. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  204. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  205. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  206. package/build/browser/public-utils/hydrateAttachmentFromRid.js +45 -0
  207. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  208. package/build/browser/public-utils/hydrateObjectSetFromRid.js +39 -0
  209. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  210. package/build/browser/queries/applyQuery.js +5 -5
  211. package/build/browser/queries/applyQuery.js.map +1 -1
  212. package/build/browser/queries/queries.test.js +9 -0
  213. package/build/browser/queries/queries.test.js.map +1 -1
  214. package/build/browser/queries/types.js +0 -15
  215. package/build/browser/queries/types.js.map +1 -1
  216. package/build/browser/tsserver.js +1 -0
  217. package/build/browser/tsserver.js.map +1 -1
  218. package/build/browser/util/ArrayElement.js +0 -15
  219. package/build/browser/util/ArrayElement.js.map +1 -1
  220. package/build/browser/util/NOOP.js +0 -15
  221. package/build/browser/util/NOOP.js.map +1 -1
  222. package/build/browser/util/NullableProps.js +0 -15
  223. package/build/browser/util/NullableProps.js.map +1 -1
  224. package/build/browser/util/UserAgent.js +2 -1
  225. package/build/browser/util/UserAgent.js.map +1 -1
  226. package/build/browser/util/WireObjectSet.js +2 -0
  227. package/build/browser/util/WireObjectSet.js.map +1 -1
  228. package/build/browser/util/addUserAgentAndRequestContextHeaders.js +1 -0
  229. package/build/browser/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  230. package/build/browser/util/augmentRequestContext.js +1 -0
  231. package/build/browser/util/augmentRequestContext.js.map +1 -1
  232. package/build/browser/util/datetimeConverters.js +60 -0
  233. package/build/browser/util/datetimeConverters.js.map +1 -0
  234. package/build/browser/util/datetimeConverters.test.js +76 -0
  235. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  236. package/build/browser/util/interfaceUtils.js +21 -0
  237. package/build/browser/util/interfaceUtils.js.map +1 -0
  238. package/build/browser/util/isOntologyObjectV2.js +1 -0
  239. package/build/browser/util/isOntologyObjectV2.js.map +1 -1
  240. package/build/browser/util/isOsdkBaseObject.js +1 -0
  241. package/build/browser/util/isOsdkBaseObject.js.map +1 -1
  242. package/build/browser/util/isOsdkObject.js +1 -0
  243. package/build/browser/util/isOsdkObject.js.map +1 -1
  244. package/build/browser/util/objectSetUtils.js +26 -0
  245. package/build/browser/util/objectSetUtils.js.map +1 -0
  246. package/build/browser/util/partialBy.js +0 -15
  247. package/build/browser/util/partialBy.js.map +1 -1
  248. package/build/browser/util/streamutils.js +7 -0
  249. package/build/browser/util/streamutils.js.map +1 -1
  250. package/build/browser/util/timeseriesUtils.js +2 -1
  251. package/build/browser/util/timeseriesUtils.js.map +1 -1
  252. package/build/browser/util/toDataValue.js +28 -2
  253. package/build/browser/util/toDataValue.js.map +1 -1
  254. package/build/browser/util/toDataValue.test.js +14 -1
  255. package/build/browser/util/toDataValue.test.js.map +1 -1
  256. package/build/browser/util/toDataValueQueries.js +10 -1
  257. package/build/browser/util/toDataValueQueries.js.map +1 -1
  258. package/build/cjs/Client-C8K3E1vH.d.cts +67 -0
  259. package/build/cjs/chunk-65QQ6SME.cjs +922 -0
  260. package/build/cjs/chunk-65QQ6SME.cjs.map +1 -0
  261. package/build/cjs/chunk-FEUFIE6T.cjs +465 -0
  262. package/build/cjs/chunk-FEUFIE6T.cjs.map +1 -0
  263. package/build/cjs/chunk-Q7SFCCGT.cjs +11 -0
  264. package/build/cjs/chunk-Q7SFCCGT.cjs.map +1 -0
  265. package/build/cjs/graphql-JJX5MZPQ.cjs +10491 -0
  266. package/build/cjs/graphql-JJX5MZPQ.cjs.map +1 -0
  267. package/build/cjs/index.cjs +1665 -0
  268. package/build/cjs/index.cjs.map +1 -0
  269. package/build/cjs/index.d.cts +85 -0
  270. package/build/cjs/public/internal.cjs +36 -0
  271. package/build/cjs/public/internal.cjs.map +1 -0
  272. package/build/cjs/public/internal.d.cts +33 -0
  273. package/build/cjs/public/unstable-do-not-use.cjs +1248 -0
  274. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -0
  275. package/build/cjs/public/unstable-do-not-use.d.cts +62 -0
  276. package/build/esm/Client.js +7 -0
  277. package/build/esm/Client.js.map +1 -1
  278. package/build/esm/Definitions.test.js +1 -0
  279. package/build/esm/Definitions.test.js.map +1 -1
  280. package/build/esm/Logger.js +0 -15
  281. package/build/esm/Logger.js.map +1 -1
  282. package/build/esm/MinimalClientContext.js +0 -15
  283. package/build/esm/MinimalClientContext.js.map +1 -1
  284. package/build/esm/ResultOrError.js +1 -0
  285. package/build/esm/ResultOrError.js.map +1 -1
  286. package/build/esm/SatisfiesSemver.js +0 -15
  287. package/build/esm/SatisfiesSemver.js.map +1 -1
  288. package/build/esm/SatisfiesSemver.test.js +1 -0
  289. package/build/esm/SatisfiesSemver.test.js.map +1 -1
  290. package/build/esm/__unstable/ConjureSupport.js +8 -2
  291. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  292. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
  293. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  294. package/build/esm/actions/ActionValidationError.js +1 -1
  295. package/build/esm/actions/ActionValidationError.js.map +1 -1
  296. package/build/esm/actions/actions.test.js +85 -4
  297. package/build/esm/actions/actions.test.js.map +1 -1
  298. package/build/esm/actions/applyAction.js +2 -1
  299. package/build/esm/actions/applyAction.js.map +1 -1
  300. package/build/esm/createClient.js +37 -26
  301. package/build/esm/createClient.js.map +1 -1
  302. package/build/esm/createClient.test.js +25 -0
  303. package/build/esm/createClient.test.js.map +1 -1
  304. package/build/esm/createGeotimeSeriesProperty.js +5 -3
  305. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  306. package/build/esm/createMediaReferenceProperty.js +47 -0
  307. package/build/esm/createMediaReferenceProperty.js.map +1 -0
  308. package/build/esm/createMinimalClient.js +8 -1
  309. package/build/esm/createMinimalClient.js.map +1 -1
  310. package/build/esm/createPlatformClient.js +1 -0
  311. package/build/esm/createPlatformClient.js.map +1 -1
  312. package/build/esm/createTimeseriesProperty.js +2 -1
  313. package/build/esm/createTimeseriesProperty.js.map +1 -1
  314. package/build/esm/definitions/LinkDefinitions.test.js +4 -0
  315. package/build/esm/definitions/LinkDefinitions.test.js.map +1 -1
  316. package/build/esm/fetchMetadata.js +2 -0
  317. package/build/esm/fetchMetadata.js.map +1 -1
  318. package/build/esm/fetchMetadata.test.js +19 -0
  319. package/build/esm/fetchMetadata.test.js.map +1 -1
  320. package/build/esm/index.js +2 -0
  321. package/build/esm/index.js.map +1 -1
  322. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  323. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  324. package/build/esm/intellisense.test.js +4 -1
  325. package/build/esm/intellisense.test.js.map +1 -1
  326. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  327. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  328. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  329. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  330. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  331. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  332. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +67 -18
  333. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  334. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  335. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  336. package/build/esm/object/AttachmentUpload.js +6 -13
  337. package/build/esm/object/AttachmentUpload.js.map +1 -1
  338. package/build/esm/object/Cache.js +27 -0
  339. package/build/esm/object/Cache.js.map +1 -1
  340. package/build/esm/object/Cache.test.js +10 -3
  341. package/build/esm/object/Cache.test.js.map +1 -1
  342. package/build/esm/object/SimpleCache.js +20 -0
  343. package/build/esm/object/SimpleCache.js.map +1 -1
  344. package/build/esm/object/aggregate.js +7 -9
  345. package/build/esm/object/aggregate.js.map +1 -1
  346. package/build/esm/object/aggregate.test.js +11 -9
  347. package/build/esm/object/aggregate.test.js.map +1 -1
  348. package/build/esm/object/attachment.test.js +1 -0
  349. package/build/esm/object/attachment.test.js.map +1 -1
  350. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  351. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  352. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  353. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  354. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  355. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  356. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  357. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  358. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  359. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  360. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  361. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  362. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  363. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  364. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  365. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  366. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  367. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  368. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  369. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  370. package/build/esm/object/convertWireToOsdkObjects.js +51 -4
  371. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  372. package/build/esm/object/convertWireToOsdkObjects.test.js +197 -44
  373. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  374. package/build/esm/object/fetchPage.js +42 -24
  375. package/build/esm/object/fetchPage.js.map +1 -1
  376. package/build/esm/object/fetchPage.test.js +80 -1
  377. package/build/esm/object/fetchPage.test.js.map +1 -1
  378. package/build/esm/object/fetchSingle.js +3 -0
  379. package/build/esm/object/fetchSingle.js.map +1 -1
  380. package/build/esm/object/geotimeseriesreference.test.js +2 -0
  381. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  382. package/build/esm/object/media.test.js +55 -0
  383. package/build/esm/object/media.test.js.map +1 -0
  384. package/build/esm/object/mediaUpload.js +20 -0
  385. package/build/esm/object/mediaUpload.js.map +1 -0
  386. package/build/esm/object/object.test.js +203 -10
  387. package/build/esm/object/object.test.js.map +1 -1
  388. package/build/esm/object/timeseries.test.js +11 -0
  389. package/build/esm/object/timeseries.test.js.map +1 -1
  390. package/build/esm/objectSet/InterfaceObjectSet.test.js +65 -0
  391. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  392. package/build/esm/objectSet/ObjectSet.test.js +140 -28
  393. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  394. package/build/esm/objectSet/ObjectSetFactory.js +0 -15
  395. package/build/esm/objectSet/ObjectSetFactory.js.map +1 -1
  396. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +117 -40
  397. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  398. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  399. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  400. package/build/esm/objectSet/conjureUnionType.js +1 -0
  401. package/build/esm/objectSet/conjureUnionType.js.map +1 -1
  402. package/build/esm/objectSet/createObjectSet.js +9 -6
  403. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  404. package/build/esm/observable/DebugFlags.js +19 -0
  405. package/build/esm/observable/DebugFlags.js.map +1 -0
  406. package/build/esm/observable/ListPayload.js +2 -0
  407. package/build/esm/observable/ListPayload.js.map +1 -0
  408. package/build/esm/observable/ObjectPayload.js +2 -0
  409. package/build/esm/observable/ObjectPayload.js.map +1 -0
  410. package/build/esm/observable/ObservableClient.js +23 -0
  411. package/build/esm/observable/ObservableClient.js.map +1 -0
  412. package/build/esm/observable/OptimisticBuilder.js +2 -0
  413. package/build/esm/observable/OptimisticBuilder.js.map +1 -0
  414. package/build/esm/observable/internal/CacheKey.js +2 -0
  415. package/build/esm/observable/internal/CacheKey.js.map +1 -0
  416. package/build/esm/observable/internal/CacheKeys.js +60 -0
  417. package/build/esm/observable/internal/CacheKeys.js.map +1 -0
  418. package/build/esm/observable/internal/Canonical.js +2 -0
  419. package/build/esm/observable/internal/Canonical.js.map +1 -0
  420. package/build/esm/observable/internal/ChangedObjects.js +24 -0
  421. package/build/esm/observable/internal/ChangedObjects.js.map +1 -0
  422. package/build/esm/observable/internal/Layer.js +76 -0
  423. package/build/esm/observable/internal/Layer.js.map +1 -0
  424. package/build/esm/observable/internal/ListQuery.js +250 -0
  425. package/build/esm/observable/internal/ListQuery.js.map +1 -0
  426. package/build/esm/observable/internal/ObjectQuery.js +71 -0
  427. package/build/esm/observable/internal/ObjectQuery.js.map +1 -0
  428. package/build/esm/observable/internal/ObservableClientImpl.js +38 -0
  429. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -0
  430. package/build/esm/observable/internal/OptimisticId.js +30 -0
  431. package/build/esm/observable/internal/OptimisticId.js.map +1 -0
  432. package/build/esm/observable/internal/OptimisticJob.js +91 -0
  433. package/build/esm/observable/internal/OptimisticJob.js.map +1 -0
  434. package/build/esm/observable/internal/Query.js +70 -0
  435. package/build/esm/observable/internal/Query.js.map +1 -0
  436. package/build/esm/observable/internal/RefCounts.js +77 -0
  437. package/build/esm/observable/internal/RefCounts.js.map +1 -0
  438. package/build/esm/observable/internal/Store.js +464 -0
  439. package/build/esm/observable/internal/Store.js.map +1 -0
  440. package/build/esm/observable/internal/Store.test.js +765 -0
  441. package/build/esm/observable/internal/Store.test.js.map +1 -0
  442. package/build/esm/observable/internal/WeakMapWithEntries.js +124 -0
  443. package/build/esm/observable/internal/WeakMapWithEntries.js.map +1 -0
  444. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +83 -0
  445. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  446. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  447. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  448. package/build/esm/observable/internal/objectMatchesWhereClause.js +112 -0
  449. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -0
  450. package/build/esm/observable/internal/objectMatchesWhereClause.test.js +121 -0
  451. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  452. package/build/esm/observable/internal/testUtils.js +178 -0
  453. package/build/esm/observable/internal/testUtils.js.map +1 -0
  454. package/build/esm/observable/types.js +2 -0
  455. package/build/esm/observable/types.js.map +1 -0
  456. package/build/esm/ontology/OntologyProvider.js +1 -0
  457. package/build/esm/ontology/OntologyProvider.js.map +1 -1
  458. package/build/esm/ontology/StandardOntologyProvider.js +2 -0
  459. package/build/esm/ontology/StandardOntologyProvider.js.map +1 -1
  460. package/build/esm/ontology/StandardOntologyProvider.test.js +2 -0
  461. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
  462. package/build/esm/ontology/loadActionMetadata.js +2 -1
  463. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  464. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  465. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  466. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  467. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  468. package/build/esm/ontology/loadQueryMetadata.js +2 -1
  469. package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
  470. package/build/esm/ontology/makeConjureContext.js +1 -0
  471. package/build/esm/ontology/makeConjureContext.js.map +1 -1
  472. package/build/esm/pageRequestAsAsyncIter.js +1 -0
  473. package/build/esm/pageRequestAsAsyncIter.js.map +1 -1
  474. package/build/esm/public/internal.js +20 -0
  475. package/build/esm/public/internal.js.map +1 -0
  476. package/build/esm/public/unstable-do-not-use.js +5 -0
  477. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  478. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  479. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  480. package/build/esm/public-utils/hydrateAttachmentFromRid.js +45 -0
  481. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  482. package/build/esm/public-utils/hydrateObjectSetFromRid.js +39 -0
  483. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  484. package/build/esm/queries/applyQuery.js +5 -5
  485. package/build/esm/queries/applyQuery.js.map +1 -1
  486. package/build/esm/queries/queries.test.js +9 -0
  487. package/build/esm/queries/queries.test.js.map +1 -1
  488. package/build/esm/queries/types.js +0 -15
  489. package/build/esm/queries/types.js.map +1 -1
  490. package/build/esm/tsserver.js +1 -0
  491. package/build/esm/tsserver.js.map +1 -1
  492. package/build/esm/util/ArrayElement.js +0 -15
  493. package/build/esm/util/ArrayElement.js.map +1 -1
  494. package/build/esm/util/NOOP.js +0 -15
  495. package/build/esm/util/NOOP.js.map +1 -1
  496. package/build/esm/util/NullableProps.js +0 -15
  497. package/build/esm/util/NullableProps.js.map +1 -1
  498. package/build/esm/util/UserAgent.js +2 -1
  499. package/build/esm/util/UserAgent.js.map +1 -1
  500. package/build/esm/util/WireObjectSet.js +2 -0
  501. package/build/esm/util/WireObjectSet.js.map +1 -1
  502. package/build/esm/util/addUserAgentAndRequestContextHeaders.js +1 -0
  503. package/build/esm/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  504. package/build/esm/util/augmentRequestContext.js +1 -0
  505. package/build/esm/util/augmentRequestContext.js.map +1 -1
  506. package/build/esm/util/datetimeConverters.js +60 -0
  507. package/build/esm/util/datetimeConverters.js.map +1 -0
  508. package/build/esm/util/datetimeConverters.test.js +76 -0
  509. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  510. package/build/esm/util/interfaceUtils.js +21 -0
  511. package/build/esm/util/interfaceUtils.js.map +1 -0
  512. package/build/esm/util/isOntologyObjectV2.js +1 -0
  513. package/build/esm/util/isOntologyObjectV2.js.map +1 -1
  514. package/build/esm/util/isOsdkBaseObject.js +1 -0
  515. package/build/esm/util/isOsdkBaseObject.js.map +1 -1
  516. package/build/esm/util/isOsdkObject.js +1 -0
  517. package/build/esm/util/isOsdkObject.js.map +1 -1
  518. package/build/esm/util/objectSetUtils.js +26 -0
  519. package/build/esm/util/objectSetUtils.js.map +1 -0
  520. package/build/esm/util/partialBy.js +0 -15
  521. package/build/esm/util/partialBy.js.map +1 -1
  522. package/build/esm/util/streamutils.js +7 -0
  523. package/build/esm/util/streamutils.js.map +1 -1
  524. package/build/esm/util/timeseriesUtils.js +2 -1
  525. package/build/esm/util/timeseriesUtils.js.map +1 -1
  526. package/build/esm/util/toDataValue.js +28 -2
  527. package/build/esm/util/toDataValue.js.map +1 -1
  528. package/build/esm/util/toDataValue.test.js +14 -1
  529. package/build/esm/util/toDataValue.test.js.map +1 -1
  530. package/build/esm/util/toDataValueQueries.js +10 -1
  531. package/build/esm/util/toDataValueQueries.js.map +1 -1
  532. package/build/types/Client.d.ts +22 -0
  533. package/build/types/Client.d.ts.map +1 -0
  534. package/build/types/Definitions.test.d.ts +1 -0
  535. package/build/types/Definitions.test.d.ts.map +1 -0
  536. package/build/types/Logger.d.ts +18 -0
  537. package/build/types/Logger.d.ts.map +1 -0
  538. package/build/types/MinimalClientContext.d.ts +25 -0
  539. package/build/types/MinimalClientContext.d.ts.map +1 -0
  540. package/build/types/ResultOrError.d.ts +11 -0
  541. package/build/types/ResultOrError.d.ts.map +1 -0
  542. package/build/types/SatisfiesSemver.d.ts +10 -0
  543. package/build/types/SatisfiesSemver.d.ts.map +1 -0
  544. package/build/types/SatisfiesSemver.test.d.ts +1 -0
  545. package/build/types/SatisfiesSemver.test.d.ts.map +1 -0
  546. package/build/types/__unstable/ConjureSupport.d.ts +37 -0
  547. package/build/types/__unstable/ConjureSupport.d.ts.map +1 -0
  548. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts +4 -0
  549. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -0
  550. package/build/types/actions/ActionValidationError.d.ts +5 -0
  551. package/build/types/actions/ActionValidationError.d.ts.map +1 -0
  552. package/build/types/actions/actions.test.d.ts +1 -0
  553. package/build/types/actions/actions.test.d.ts.map +1 -0
  554. package/build/types/actions/applyAction.d.ts +31 -0
  555. package/build/types/actions/applyAction.d.ts.map +1 -0
  556. package/build/types/createClient.d.ts +5 -0
  557. package/build/types/createClient.d.ts.map +1 -0
  558. package/build/types/createClient.test.d.ts +1 -0
  559. package/build/types/createClient.test.d.ts.map +1 -0
  560. package/build/types/createGeotimeSeriesProperty.d.ts +13 -0
  561. package/build/types/createGeotimeSeriesProperty.d.ts.map +1 -0
  562. package/build/types/createMediaReferenceProperty.d.ts +13 -0
  563. package/build/types/createMediaReferenceProperty.d.ts.map +1 -0
  564. package/build/types/createMinimalClient.d.ts +1 -0
  565. package/build/types/createMinimalClient.d.ts.map +1 -0
  566. package/build/types/createPlatformClient.d.ts +15 -0
  567. package/build/types/createPlatformClient.d.ts.map +1 -0
  568. package/build/types/createTimeseriesProperty.d.ts +13 -0
  569. package/build/types/createTimeseriesProperty.d.ts.map +1 -0
  570. package/build/types/definitions/LinkDefinitions.test.d.ts +1 -0
  571. package/build/types/definitions/LinkDefinitions.test.d.ts.map +1 -0
  572. package/build/types/fetchMetadata.d.ts +1 -0
  573. package/build/types/fetchMetadata.d.ts.map +1 -0
  574. package/build/types/fetchMetadata.test.d.ts +1 -0
  575. package/build/types/fetchMetadata.test.d.ts.map +1 -0
  576. package/build/types/index.d.ts +12 -0
  577. package/build/types/index.d.ts.map +1 -0
  578. package/build/types/intellisense.test.d.ts +1 -0
  579. package/build/types/intellisense.test.d.ts.map +1 -0
  580. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +1 -0
  581. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +1 -0
  582. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts +1 -0
  583. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +1 -0
  584. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts +1 -0
  585. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts.map +1 -0
  586. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts +1 -0
  587. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts.map +1 -0
  588. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts +1 -0
  589. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -0
  590. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts +1 -0
  591. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +1 -0
  592. package/build/types/object/AttachmentUpload.d.ts +3 -0
  593. package/build/types/object/AttachmentUpload.d.ts.map +1 -0
  594. package/build/types/object/Cache.d.ts +17 -0
  595. package/build/types/object/Cache.d.ts.map +1 -0
  596. package/build/types/object/Cache.test.d.ts +1 -0
  597. package/build/types/object/Cache.test.d.ts.map +1 -0
  598. package/build/types/object/SimpleCache.d.ts +52 -0
  599. package/build/types/object/SimpleCache.d.ts.map +1 -0
  600. package/build/types/object/aggregate.d.ts +1 -0
  601. package/build/types/object/aggregate.d.ts.map +1 -0
  602. package/build/types/object/aggregate.test.d.ts +1 -0
  603. package/build/types/object/aggregate.test.d.ts.map +1 -0
  604. package/build/types/object/attachment.test.d.ts +1 -0
  605. package/build/types/object/attachment.test.d.ts.map +1 -0
  606. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -0
  607. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -0
  608. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +6 -0
  609. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -0
  610. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts +1 -0
  611. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +1 -0
  612. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -0
  613. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -0
  614. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +5 -0
  615. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +1 -0
  616. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +1 -0
  617. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +1 -0
  618. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +1 -0
  619. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +1 -0
  620. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts +1 -0
  621. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +1 -0
  622. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts +2 -0
  623. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -0
  624. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts +1 -0
  625. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +1 -0
  626. package/build/types/object/convertWireToOsdkObjects.d.ts +1 -0
  627. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -0
  628. package/build/types/object/convertWireToOsdkObjects.test.d.ts +1 -0
  629. package/build/types/object/convertWireToOsdkObjects.test.d.ts.map +1 -0
  630. package/build/types/object/fetchPage.d.ts +5 -0
  631. package/build/types/object/fetchPage.d.ts.map +1 -0
  632. package/build/types/object/fetchPage.test.d.ts +1 -0
  633. package/build/types/object/fetchPage.test.d.ts.map +1 -0
  634. package/build/types/object/fetchSingle.d.ts +1 -0
  635. package/build/types/object/fetchSingle.d.ts.map +1 -0
  636. package/build/types/object/geotimeseriesreference.test.d.ts +1 -0
  637. package/build/types/object/geotimeseriesreference.test.d.ts.map +1 -0
  638. package/build/types/object/media.test.d.ts +1 -0
  639. package/build/types/object/media.test.d.ts.map +1 -0
  640. package/build/types/object/mediaUpload.d.ts +2 -0
  641. package/build/types/object/mediaUpload.d.ts.map +1 -0
  642. package/build/types/object/object.test.d.ts +11 -0
  643. package/build/types/object/object.test.d.ts.map +1 -0
  644. package/build/types/object/timeseries.test.d.ts +1 -0
  645. package/build/types/object/timeseries.test.d.ts.map +1 -0
  646. package/build/types/objectSet/InterfaceObjectSet.test.d.ts +1 -0
  647. package/build/types/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  648. package/build/types/objectSet/ObjectSet.test.d.ts +7 -0
  649. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -0
  650. package/build/types/objectSet/ObjectSetFactory.d.ts +1 -0
  651. package/build/types/objectSet/ObjectSetFactory.d.ts.map +1 -0
  652. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts +1 -0
  653. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts.map +1 -0
  654. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts +1 -0
  655. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +1 -0
  656. package/build/types/objectSet/conjureUnionType.d.ts +13 -0
  657. package/build/types/objectSet/conjureUnionType.d.ts.map +1 -0
  658. package/build/types/objectSet/createObjectSet.d.ts +1 -0
  659. package/build/types/objectSet/createObjectSet.d.ts.map +1 -0
  660. package/build/types/observable/DebugFlags.d.ts +2 -0
  661. package/build/types/observable/DebugFlags.d.ts.map +1 -0
  662. package/build/types/observable/ListPayload.d.ts +10 -0
  663. package/build/types/observable/ListPayload.d.ts.map +1 -0
  664. package/build/types/observable/ObjectPayload.d.ts +8 -0
  665. package/build/types/observable/ObjectPayload.d.ts.map +1 -0
  666. package/build/types/observable/ObservableClient.d.ts +36 -0
  667. package/build/types/observable/ObservableClient.d.ts.map +1 -0
  668. package/build/types/observable/OptimisticBuilder.d.ts +5 -0
  669. package/build/types/observable/OptimisticBuilder.d.ts.map +1 -0
  670. package/build/types/observable/internal/CacheKey.d.ts +15 -0
  671. package/build/types/observable/internal/CacheKey.d.ts.map +1 -0
  672. package/build/types/observable/internal/CacheKeys.d.ts +8 -0
  673. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -0
  674. package/build/types/observable/internal/Canonical.d.ts +3 -0
  675. package/build/types/observable/internal/Canonical.d.ts.map +1 -0
  676. package/build/types/observable/internal/ChangedObjects.d.ts +7 -0
  677. package/build/types/observable/internal/ChangedObjects.d.ts.map +1 -0
  678. package/build/types/observable/internal/Layer.d.ts +19 -0
  679. package/build/types/observable/internal/Layer.d.ts.map +1 -0
  680. package/build/types/observable/internal/ListQuery.d.ts +42 -0
  681. package/build/types/observable/internal/ListQuery.d.ts.map +1 -0
  682. package/build/types/observable/internal/ObjectQuery.d.ts +19 -0
  683. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -0
  684. package/build/types/observable/internal/ObservableClientImpl.d.ts +1 -0
  685. package/build/types/observable/internal/ObservableClientImpl.d.ts.map +1 -0
  686. package/build/types/observable/internal/OptimisticId.d.ts +4 -0
  687. package/build/types/observable/internal/OptimisticId.d.ts.map +1 -0
  688. package/build/types/observable/internal/OptimisticJob.d.ts +11 -0
  689. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -0
  690. package/build/types/observable/internal/Query.d.ts +29 -0
  691. package/build/types/observable/internal/Query.d.ts.map +1 -0
  692. package/build/types/observable/internal/RefCounts.d.ts +12 -0
  693. package/build/types/observable/internal/RefCounts.d.ts.map +1 -0
  694. package/build/types/observable/internal/Store.d.ts +73 -0
  695. package/build/types/observable/internal/Store.d.ts.map +1 -0
  696. package/build/types/observable/internal/Store.test.d.ts +1 -0
  697. package/build/types/observable/internal/Store.test.d.ts.map +1 -0
  698. package/build/types/observable/internal/WeakMapWithEntries.d.ts +50 -0
  699. package/build/types/observable/internal/WeakMapWithEntries.d.ts.map +1 -0
  700. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +6 -0
  701. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -0
  702. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts +1 -0
  703. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts.map +1 -0
  704. package/build/types/observable/internal/objectMatchesWhereClause.d.ts +2 -0
  705. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -0
  706. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts +1 -0
  707. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts.map +1 -0
  708. package/build/types/observable/internal/testUtils.d.ts +40 -0
  709. package/build/types/observable/internal/testUtils.d.ts.map +1 -0
  710. package/build/types/observable/types.d.ts +1 -0
  711. package/build/types/observable/types.d.ts.map +1 -0
  712. package/build/types/ontology/OntologyProvider.d.ts +31 -0
  713. package/build/types/ontology/OntologyProvider.d.ts.map +1 -0
  714. package/build/types/ontology/StandardOntologyProvider.d.ts +3 -0
  715. package/build/types/ontology/StandardOntologyProvider.d.ts.map +1 -0
  716. package/build/types/ontology/StandardOntologyProvider.test.d.ts +1 -0
  717. package/build/types/ontology/StandardOntologyProvider.test.d.ts.map +1 -0
  718. package/build/types/ontology/loadActionMetadata.d.ts +3 -0
  719. package/build/types/ontology/loadActionMetadata.d.ts.map +1 -0
  720. package/build/types/ontology/loadFullObjectMetadata.d.ts +5 -0
  721. package/build/types/ontology/loadFullObjectMetadata.d.ts.map +1 -0
  722. package/build/types/ontology/loadInterfaceMetadata.d.ts +3 -0
  723. package/build/types/ontology/loadInterfaceMetadata.d.ts.map +1 -0
  724. package/build/types/ontology/loadQueryMetadata.d.ts +3 -0
  725. package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -0
  726. package/build/types/ontology/makeConjureContext.d.ts +3 -0
  727. package/build/types/ontology/makeConjureContext.d.ts.map +1 -0
  728. package/build/types/pageRequestAsAsyncIter.d.ts +16 -0
  729. package/build/types/pageRequestAsAsyncIter.d.ts.map +1 -0
  730. package/build/types/public/internal.d.ts +3 -0
  731. package/build/types/public/internal.d.ts.map +1 -0
  732. package/build/types/public/unstable-do-not-use.d.ts +7 -0
  733. package/build/types/public/unstable-do-not-use.d.ts.map +1 -0
  734. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts +10 -0
  735. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  736. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts +9 -0
  737. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  738. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts +10 -0
  739. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  740. package/build/types/queries/applyQuery.d.ts +8 -0
  741. package/build/types/queries/applyQuery.d.ts.map +1 -0
  742. package/build/types/queries/queries.test.d.ts +1 -0
  743. package/build/types/queries/queries.test.d.ts.map +1 -0
  744. package/build/types/queries/types.d.ts +15 -0
  745. package/build/types/queries/types.d.ts.map +1 -0
  746. package/build/types/tsserver.d.ts +34 -0
  747. package/build/types/tsserver.d.ts.map +1 -0
  748. package/build/types/util/ArrayElement.d.ts +1 -0
  749. package/build/types/util/ArrayElement.d.ts.map +1 -0
  750. package/build/types/util/NOOP.d.ts +1 -0
  751. package/build/types/util/NOOP.d.ts.map +1 -0
  752. package/build/types/util/NullableProps.d.ts +3 -0
  753. package/build/types/util/NullableProps.d.ts.map +1 -0
  754. package/build/types/util/UserAgent.d.ts +1 -0
  755. package/build/types/util/UserAgent.d.ts.map +1 -0
  756. package/build/types/util/WireObjectSet.d.ts +1 -0
  757. package/build/types/util/WireObjectSet.d.ts.map +1 -0
  758. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts +3 -0
  759. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts.map +1 -0
  760. package/build/types/util/augmentRequestContext.d.ts +31 -0
  761. package/build/types/util/augmentRequestContext.d.ts.map +1 -0
  762. package/build/types/util/datetimeConverters.d.ts +21 -0
  763. package/build/types/util/datetimeConverters.d.ts.map +1 -0
  764. package/build/types/util/datetimeConverters.test.d.ts +1 -0
  765. package/build/types/util/datetimeConverters.test.d.ts.map +1 -0
  766. package/build/types/util/interfaceUtils.d.ts +1 -0
  767. package/build/types/util/interfaceUtils.d.ts.map +1 -0
  768. package/build/types/util/isOntologyObjectV2.d.ts +1 -0
  769. package/build/types/util/isOntologyObjectV2.d.ts.map +1 -0
  770. package/build/types/util/isOsdkBaseObject.d.ts +2 -0
  771. package/build/types/util/isOsdkBaseObject.d.ts.map +1 -0
  772. package/build/types/util/isOsdkObject.d.ts +2 -0
  773. package/build/types/util/isOsdkObject.d.ts.map +1 -0
  774. package/build/types/util/objectSetUtils.d.ts +3 -0
  775. package/build/types/util/objectSetUtils.d.ts.map +1 -0
  776. package/build/types/util/partialBy.d.ts +8 -0
  777. package/build/types/util/partialBy.d.ts.map +1 -0
  778. package/build/types/util/streamutils.d.ts +2 -0
  779. package/build/types/util/streamutils.d.ts.map +1 -0
  780. package/build/types/util/timeseriesUtils.d.ts +7 -0
  781. package/build/types/util/timeseriesUtils.d.ts.map +1 -0
  782. package/build/types/util/toDataValue.d.ts +1 -0
  783. package/build/types/util/toDataValue.d.ts.map +1 -0
  784. package/build/types/util/toDataValue.test.d.ts +1 -0
  785. package/build/types/util/toDataValue.test.d.ts.map +1 -0
  786. package/build/types/util/toDataValueQueries.d.ts +1 -0
  787. package/build/types/util/toDataValueQueries.d.ts.map +1 -0
  788. package/index.d.ts +17 -0
  789. package/internal.d.ts +17 -0
  790. package/package.json +57 -23
  791. package/unstable-do-not-use.d.ts +1 -1
  792. package/build/browser/Client.d.ts +0 -26
  793. package/build/browser/Client.d.ts.map +0 -1
  794. package/build/browser/Definitions.test.d.ts +0 -2
  795. package/build/browser/Definitions.test.d.ts.map +0 -1
  796. package/build/browser/Logger.d.ts +0 -19
  797. package/build/browser/Logger.d.ts.map +0 -1
  798. package/build/browser/MinimalClientContext.d.ts +0 -26
  799. package/build/browser/MinimalClientContext.d.ts.map +0 -1
  800. package/build/browser/ResultOrError.d.ts +0 -12
  801. package/build/browser/ResultOrError.d.ts.map +0 -1
  802. package/build/browser/SatisfiesSemver.d.ts +0 -4
  803. package/build/browser/SatisfiesSemver.d.ts.map +0 -1
  804. package/build/browser/SatisfiesSemver.test.d.ts +0 -2
  805. package/build/browser/SatisfiesSemver.test.d.ts.map +0 -1
  806. package/build/browser/__unstable/ConjureSupport.d.ts +0 -55
  807. package/build/browser/__unstable/ConjureSupport.d.ts.map +0 -1
  808. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  809. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  810. package/build/browser/actions/ActionValidationError.d.ts +0 -6
  811. package/build/browser/actions/ActionValidationError.d.ts.map +0 -1
  812. package/build/browser/actions/actions.test.d.ts +0 -2
  813. package/build/browser/actions/actions.test.d.ts.map +0 -1
  814. package/build/browser/actions/applyAction.d.ts +0 -30
  815. package/build/browser/actions/applyAction.d.ts.map +0 -1
  816. package/build/browser/createAttachmentFromRid.d.ts +0 -10
  817. package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
  818. package/build/browser/createAttachmentFromRid.js +0 -38
  819. package/build/browser/createAttachmentFromRid.js.map +0 -1
  820. package/build/browser/createClient.d.ts +0 -6
  821. package/build/browser/createClient.d.ts.map +0 -1
  822. package/build/browser/createClient.test.d.ts +0 -2
  823. package/build/browser/createClient.test.d.ts.map +0 -1
  824. package/build/browser/createGeotimeSeriesProperty.d.ts +0 -14
  825. package/build/browser/createGeotimeSeriesProperty.d.ts.map +0 -1
  826. package/build/browser/createMinimalClient.d.ts +0 -2
  827. package/build/browser/createMinimalClient.d.ts.map +0 -1
  828. package/build/browser/createPlatformClient.d.ts +0 -17
  829. package/build/browser/createPlatformClient.d.ts.map +0 -1
  830. package/build/browser/createTimeseriesProperty.d.ts +0 -14
  831. package/build/browser/createTimeseriesProperty.d.ts.map +0 -1
  832. package/build/browser/definitions/LinkDefinitions.test.d.ts +0 -2
  833. package/build/browser/definitions/LinkDefinitions.test.d.ts.map +0 -1
  834. package/build/browser/fetchMetadata.d.ts +0 -2
  835. package/build/browser/fetchMetadata.d.ts.map +0 -1
  836. package/build/browser/fetchMetadata.test.d.ts +0 -2
  837. package/build/browser/fetchMetadata.test.d.ts.map +0 -1
  838. package/build/browser/index.d.ts +0 -12
  839. package/build/browser/index.d.ts.map +0 -1
  840. package/build/browser/intellisense.test.d.ts +0 -2
  841. package/build/browser/intellisense.test.d.ts.map +0 -1
  842. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  843. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  844. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  845. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  846. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  847. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  848. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  849. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  850. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  851. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  852. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  853. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  854. package/build/browser/object/AttachmentUpload.d.ts +0 -4
  855. package/build/browser/object/AttachmentUpload.d.ts.map +0 -1
  856. package/build/browser/object/Cache.d.ts +0 -2
  857. package/build/browser/object/Cache.d.ts.map +0 -1
  858. package/build/browser/object/Cache.test.d.ts +0 -11
  859. package/build/browser/object/Cache.test.d.ts.map +0 -1
  860. package/build/browser/object/SimpleCache.d.ts +0 -38
  861. package/build/browser/object/SimpleCache.d.ts.map +0 -1
  862. package/build/browser/object/aggregate.d.ts +0 -2
  863. package/build/browser/object/aggregate.d.ts.map +0 -1
  864. package/build/browser/object/aggregate.test.d.ts +0 -2
  865. package/build/browser/object/aggregate.test.d.ts.map +0 -1
  866. package/build/browser/object/attachment.test.d.ts +0 -2
  867. package/build/browser/object/attachment.test.d.ts.map +0 -1
  868. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  869. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  870. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  871. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  872. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  873. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  874. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  875. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  876. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  877. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  878. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  879. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  880. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  881. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  882. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  883. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  884. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  885. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  886. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  887. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  888. package/build/browser/object/convertWireToOsdkObjects.d.ts +0 -2
  889. package/build/browser/object/convertWireToOsdkObjects.d.ts.map +0 -1
  890. package/build/browser/object/convertWireToOsdkObjects.test.d.ts +0 -2
  891. package/build/browser/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  892. package/build/browser/object/fetchPage.d.ts +0 -3
  893. package/build/browser/object/fetchPage.d.ts.map +0 -1
  894. package/build/browser/object/fetchPage.test.d.ts +0 -2
  895. package/build/browser/object/fetchPage.test.d.ts.map +0 -1
  896. package/build/browser/object/fetchSingle.d.ts +0 -2
  897. package/build/browser/object/fetchSingle.d.ts.map +0 -1
  898. package/build/browser/object/geotimeseriesreference.test.d.ts +0 -2
  899. package/build/browser/object/geotimeseriesreference.test.d.ts.map +0 -1
  900. package/build/browser/object/object.test.d.ts +0 -12
  901. package/build/browser/object/object.test.d.ts.map +0 -1
  902. package/build/browser/object/timeseries.test.d.ts +0 -2
  903. package/build/browser/object/timeseries.test.d.ts.map +0 -1
  904. package/build/browser/objectSet/ObjectSet.test.d.ts +0 -2
  905. package/build/browser/objectSet/ObjectSet.test.d.ts.map +0 -1
  906. package/build/browser/objectSet/ObjectSetFactory.d.ts +0 -2
  907. package/build/browser/objectSet/ObjectSetFactory.d.ts.map +0 -1
  908. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  909. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  910. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  911. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  912. package/build/browser/objectSet/conjureUnionType.d.ts +0 -13
  913. package/build/browser/objectSet/conjureUnionType.d.ts.map +0 -1
  914. package/build/browser/objectSet/createObjectSet.d.ts +0 -2
  915. package/build/browser/objectSet/createObjectSet.d.ts.map +0 -1
  916. package/build/browser/objectSet/toConjureObjectSet.d.ts +0 -2
  917. package/build/browser/objectSet/toConjureObjectSet.d.ts.map +0 -1
  918. package/build/browser/objectSet/toConjureObjectSet.js +0 -165
  919. package/build/browser/objectSet/toConjureObjectSet.js.map +0 -1
  920. package/build/browser/ontology/OntologyProvider.d.ts +0 -32
  921. package/build/browser/ontology/OntologyProvider.d.ts.map +0 -1
  922. package/build/browser/ontology/StandardOntologyProvider.d.ts +0 -5
  923. package/build/browser/ontology/StandardOntologyProvider.d.ts.map +0 -1
  924. package/build/browser/ontology/StandardOntologyProvider.test.d.ts +0 -2
  925. package/build/browser/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  926. package/build/browser/ontology/loadActionMetadata.d.ts +0 -4
  927. package/build/browser/ontology/loadActionMetadata.d.ts.map +0 -1
  928. package/build/browser/ontology/loadFullObjectMetadata.d.ts +0 -6
  929. package/build/browser/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  930. package/build/browser/ontology/loadInterfaceMetadata.d.ts +0 -4
  931. package/build/browser/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  932. package/build/browser/ontology/loadQueryMetadata.d.ts +0 -4
  933. package/build/browser/ontology/loadQueryMetadata.d.ts.map +0 -1
  934. package/build/browser/ontology/makeConjureContext.d.ts +0 -4
  935. package/build/browser/ontology/makeConjureContext.d.ts.map +0 -1
  936. package/build/browser/pageRequestAsAsyncIter.d.ts +0 -10
  937. package/build/browser/pageRequestAsAsyncIter.d.ts.map +0 -1
  938. package/build/browser/public/unstable-do-not-use.d.ts +0 -2
  939. package/build/browser/public/unstable-do-not-use.d.ts.map +0 -1
  940. package/build/browser/queries/applyQuery.d.ts +0 -6
  941. package/build/browser/queries/applyQuery.d.ts.map +0 -1
  942. package/build/browser/queries/queries.test.d.ts +0 -2
  943. package/build/browser/queries/queries.test.d.ts.map +0 -1
  944. package/build/browser/queries/types.d.ts +0 -20
  945. package/build/browser/queries/types.d.ts.map +0 -1
  946. package/build/browser/tsserver.d.ts +0 -34
  947. package/build/browser/tsserver.d.ts.map +0 -1
  948. package/build/browser/util/ArrayElement.d.ts +0 -2
  949. package/build/browser/util/ArrayElement.d.ts.map +0 -1
  950. package/build/browser/util/NOOP.d.ts +0 -4
  951. package/build/browser/util/NOOP.d.ts.map +0 -1
  952. package/build/browser/util/NullableProps.d.ts +0 -6
  953. package/build/browser/util/NullableProps.d.ts.map +0 -1
  954. package/build/browser/util/UserAgent.d.ts +0 -2
  955. package/build/browser/util/UserAgent.d.ts.map +0 -1
  956. package/build/browser/util/WireObjectSet.d.ts +0 -2
  957. package/build/browser/util/WireObjectSet.d.ts.map +0 -1
  958. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  959. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  960. package/build/browser/util/augmentRequestContext.d.ts +0 -32
  961. package/build/browser/util/augmentRequestContext.d.ts.map +0 -1
  962. package/build/browser/util/isOntologyObjectV2.d.ts +0 -2
  963. package/build/browser/util/isOntologyObjectV2.d.ts.map +0 -1
  964. package/build/browser/util/isOsdkBaseObject.d.ts +0 -3
  965. package/build/browser/util/isOsdkBaseObject.d.ts.map +0 -1
  966. package/build/browser/util/isOsdkObject.d.ts +0 -3
  967. package/build/browser/util/isOsdkObject.d.ts.map +0 -1
  968. package/build/browser/util/partialBy.d.ts +0 -3
  969. package/build/browser/util/partialBy.d.ts.map +0 -1
  970. package/build/browser/util/streamutils.d.ts +0 -3
  971. package/build/browser/util/streamutils.d.ts.map +0 -1
  972. package/build/browser/util/timeseriesUtils.d.ts +0 -8
  973. package/build/browser/util/timeseriesUtils.d.ts.map +0 -1
  974. package/build/browser/util/toDataValue.d.ts +0 -2
  975. package/build/browser/util/toDataValue.d.ts.map +0 -1
  976. package/build/browser/util/toDataValue.test.d.ts +0 -2
  977. package/build/browser/util/toDataValue.test.d.ts.map +0 -1
  978. package/build/browser/util/toDataValueQueries.d.ts +0 -2
  979. package/build/browser/util/toDataValueQueries.d.ts.map +0 -1
  980. package/build/esm/Client.d.ts +0 -26
  981. package/build/esm/Client.d.ts.map +0 -1
  982. package/build/esm/Definitions.test.d.ts +0 -2
  983. package/build/esm/Definitions.test.d.ts.map +0 -1
  984. package/build/esm/Logger.d.ts +0 -19
  985. package/build/esm/Logger.d.ts.map +0 -1
  986. package/build/esm/MinimalClientContext.d.ts +0 -26
  987. package/build/esm/MinimalClientContext.d.ts.map +0 -1
  988. package/build/esm/ResultOrError.d.ts +0 -12
  989. package/build/esm/ResultOrError.d.ts.map +0 -1
  990. package/build/esm/SatisfiesSemver.d.ts +0 -4
  991. package/build/esm/SatisfiesSemver.d.ts.map +0 -1
  992. package/build/esm/SatisfiesSemver.test.d.ts +0 -2
  993. package/build/esm/SatisfiesSemver.test.d.ts.map +0 -1
  994. package/build/esm/__unstable/ConjureSupport.d.ts +0 -55
  995. package/build/esm/__unstable/ConjureSupport.d.ts.map +0 -1
  996. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  997. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  998. package/build/esm/actions/ActionValidationError.d.ts +0 -6
  999. package/build/esm/actions/ActionValidationError.d.ts.map +0 -1
  1000. package/build/esm/actions/actions.test.d.ts +0 -2
  1001. package/build/esm/actions/actions.test.d.ts.map +0 -1
  1002. package/build/esm/actions/applyAction.d.ts +0 -30
  1003. package/build/esm/actions/applyAction.d.ts.map +0 -1
  1004. package/build/esm/createAttachmentFromRid.d.ts +0 -10
  1005. package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
  1006. package/build/esm/createAttachmentFromRid.js +0 -38
  1007. package/build/esm/createAttachmentFromRid.js.map +0 -1
  1008. package/build/esm/createClient.d.ts +0 -6
  1009. package/build/esm/createClient.d.ts.map +0 -1
  1010. package/build/esm/createClient.test.d.ts +0 -2
  1011. package/build/esm/createClient.test.d.ts.map +0 -1
  1012. package/build/esm/createGeotimeSeriesProperty.d.ts +0 -14
  1013. package/build/esm/createGeotimeSeriesProperty.d.ts.map +0 -1
  1014. package/build/esm/createMinimalClient.d.ts +0 -2
  1015. package/build/esm/createMinimalClient.d.ts.map +0 -1
  1016. package/build/esm/createPlatformClient.d.ts +0 -17
  1017. package/build/esm/createPlatformClient.d.ts.map +0 -1
  1018. package/build/esm/createTimeseriesProperty.d.ts +0 -14
  1019. package/build/esm/createTimeseriesProperty.d.ts.map +0 -1
  1020. package/build/esm/definitions/LinkDefinitions.test.d.ts +0 -2
  1021. package/build/esm/definitions/LinkDefinitions.test.d.ts.map +0 -1
  1022. package/build/esm/fetchMetadata.d.ts +0 -2
  1023. package/build/esm/fetchMetadata.d.ts.map +0 -1
  1024. package/build/esm/fetchMetadata.test.d.ts +0 -2
  1025. package/build/esm/fetchMetadata.test.d.ts.map +0 -1
  1026. package/build/esm/index.d.ts +0 -12
  1027. package/build/esm/index.d.ts.map +0 -1
  1028. package/build/esm/intellisense.test.d.ts +0 -2
  1029. package/build/esm/intellisense.test.d.ts.map +0 -1
  1030. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  1031. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  1032. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  1033. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  1034. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  1035. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  1036. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  1037. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  1038. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  1039. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  1040. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  1041. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  1042. package/build/esm/object/AttachmentUpload.d.ts +0 -4
  1043. package/build/esm/object/AttachmentUpload.d.ts.map +0 -1
  1044. package/build/esm/object/Cache.d.ts +0 -2
  1045. package/build/esm/object/Cache.d.ts.map +0 -1
  1046. package/build/esm/object/Cache.test.d.ts +0 -11
  1047. package/build/esm/object/Cache.test.d.ts.map +0 -1
  1048. package/build/esm/object/SimpleCache.d.ts +0 -38
  1049. package/build/esm/object/SimpleCache.d.ts.map +0 -1
  1050. package/build/esm/object/aggregate.d.ts +0 -2
  1051. package/build/esm/object/aggregate.d.ts.map +0 -1
  1052. package/build/esm/object/aggregate.test.d.ts +0 -2
  1053. package/build/esm/object/aggregate.test.d.ts.map +0 -1
  1054. package/build/esm/object/attachment.test.d.ts +0 -2
  1055. package/build/esm/object/attachment.test.d.ts.map +0 -1
  1056. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  1057. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  1058. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  1059. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  1060. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  1061. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  1062. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  1063. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  1064. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  1065. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  1066. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  1067. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  1068. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  1069. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  1070. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  1071. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  1072. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  1073. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  1074. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  1075. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  1076. package/build/esm/object/convertWireToOsdkObjects.d.ts +0 -2
  1077. package/build/esm/object/convertWireToOsdkObjects.d.ts.map +0 -1
  1078. package/build/esm/object/convertWireToOsdkObjects.test.d.ts +0 -2
  1079. package/build/esm/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  1080. package/build/esm/object/fetchPage.d.ts +0 -3
  1081. package/build/esm/object/fetchPage.d.ts.map +0 -1
  1082. package/build/esm/object/fetchPage.test.d.ts +0 -2
  1083. package/build/esm/object/fetchPage.test.d.ts.map +0 -1
  1084. package/build/esm/object/fetchSingle.d.ts +0 -2
  1085. package/build/esm/object/fetchSingle.d.ts.map +0 -1
  1086. package/build/esm/object/geotimeseriesreference.test.d.ts +0 -2
  1087. package/build/esm/object/geotimeseriesreference.test.d.ts.map +0 -1
  1088. package/build/esm/object/object.test.d.ts +0 -12
  1089. package/build/esm/object/object.test.d.ts.map +0 -1
  1090. package/build/esm/object/timeseries.test.d.ts +0 -2
  1091. package/build/esm/object/timeseries.test.d.ts.map +0 -1
  1092. package/build/esm/objectSet/ObjectSet.test.d.ts +0 -2
  1093. package/build/esm/objectSet/ObjectSet.test.d.ts.map +0 -1
  1094. package/build/esm/objectSet/ObjectSetFactory.d.ts +0 -2
  1095. package/build/esm/objectSet/ObjectSetFactory.d.ts.map +0 -1
  1096. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  1097. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  1098. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  1099. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  1100. package/build/esm/objectSet/conjureUnionType.d.ts +0 -13
  1101. package/build/esm/objectSet/conjureUnionType.d.ts.map +0 -1
  1102. package/build/esm/objectSet/createObjectSet.d.ts +0 -2
  1103. package/build/esm/objectSet/createObjectSet.d.ts.map +0 -1
  1104. package/build/esm/objectSet/toConjureObjectSet.d.ts +0 -2
  1105. package/build/esm/objectSet/toConjureObjectSet.d.ts.map +0 -1
  1106. package/build/esm/objectSet/toConjureObjectSet.js +0 -165
  1107. package/build/esm/objectSet/toConjureObjectSet.js.map +0 -1
  1108. package/build/esm/ontology/OntologyProvider.d.ts +0 -32
  1109. package/build/esm/ontology/OntologyProvider.d.ts.map +0 -1
  1110. package/build/esm/ontology/StandardOntologyProvider.d.ts +0 -5
  1111. package/build/esm/ontology/StandardOntologyProvider.d.ts.map +0 -1
  1112. package/build/esm/ontology/StandardOntologyProvider.test.d.ts +0 -2
  1113. package/build/esm/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  1114. package/build/esm/ontology/loadActionMetadata.d.ts +0 -4
  1115. package/build/esm/ontology/loadActionMetadata.d.ts.map +0 -1
  1116. package/build/esm/ontology/loadFullObjectMetadata.d.ts +0 -6
  1117. package/build/esm/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  1118. package/build/esm/ontology/loadInterfaceMetadata.d.ts +0 -4
  1119. package/build/esm/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  1120. package/build/esm/ontology/loadQueryMetadata.d.ts +0 -4
  1121. package/build/esm/ontology/loadQueryMetadata.d.ts.map +0 -1
  1122. package/build/esm/ontology/makeConjureContext.d.ts +0 -4
  1123. package/build/esm/ontology/makeConjureContext.d.ts.map +0 -1
  1124. package/build/esm/pageRequestAsAsyncIter.d.ts +0 -10
  1125. package/build/esm/pageRequestAsAsyncIter.d.ts.map +0 -1
  1126. package/build/esm/public/unstable-do-not-use.d.ts +0 -2
  1127. package/build/esm/public/unstable-do-not-use.d.ts.map +0 -1
  1128. package/build/esm/queries/applyQuery.d.ts +0 -6
  1129. package/build/esm/queries/applyQuery.d.ts.map +0 -1
  1130. package/build/esm/queries/queries.test.d.ts +0 -2
  1131. package/build/esm/queries/queries.test.d.ts.map +0 -1
  1132. package/build/esm/queries/types.d.ts +0 -20
  1133. package/build/esm/queries/types.d.ts.map +0 -1
  1134. package/build/esm/tsserver.d.ts +0 -34
  1135. package/build/esm/tsserver.d.ts.map +0 -1
  1136. package/build/esm/util/ArrayElement.d.ts +0 -2
  1137. package/build/esm/util/ArrayElement.d.ts.map +0 -1
  1138. package/build/esm/util/NOOP.d.ts +0 -4
  1139. package/build/esm/util/NOOP.d.ts.map +0 -1
  1140. package/build/esm/util/NullableProps.d.ts +0 -6
  1141. package/build/esm/util/NullableProps.d.ts.map +0 -1
  1142. package/build/esm/util/UserAgent.d.ts +0 -2
  1143. package/build/esm/util/UserAgent.d.ts.map +0 -1
  1144. package/build/esm/util/WireObjectSet.d.ts +0 -2
  1145. package/build/esm/util/WireObjectSet.d.ts.map +0 -1
  1146. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  1147. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  1148. package/build/esm/util/augmentRequestContext.d.ts +0 -32
  1149. package/build/esm/util/augmentRequestContext.d.ts.map +0 -1
  1150. package/build/esm/util/isOntologyObjectV2.d.ts +0 -2
  1151. package/build/esm/util/isOntologyObjectV2.d.ts.map +0 -1
  1152. package/build/esm/util/isOsdkBaseObject.d.ts +0 -3
  1153. package/build/esm/util/isOsdkBaseObject.d.ts.map +0 -1
  1154. package/build/esm/util/isOsdkObject.d.ts +0 -3
  1155. package/build/esm/util/isOsdkObject.d.ts.map +0 -1
  1156. package/build/esm/util/partialBy.d.ts +0 -3
  1157. package/build/esm/util/partialBy.d.ts.map +0 -1
  1158. package/build/esm/util/streamutils.d.ts +0 -3
  1159. package/build/esm/util/streamutils.d.ts.map +0 -1
  1160. package/build/esm/util/timeseriesUtils.d.ts +0 -8
  1161. package/build/esm/util/timeseriesUtils.d.ts.map +0 -1
  1162. package/build/esm/util/toDataValue.d.ts +0 -2
  1163. package/build/esm/util/toDataValue.d.ts.map +0 -1
  1164. package/build/esm/util/toDataValue.test.d.ts +0 -2
  1165. package/build/esm/util/toDataValue.test.d.ts.map +0 -1
  1166. package/build/esm/util/toDataValueQueries.d.ts +0 -2
  1167. package/build/esm/util/toDataValueQueries.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"modernToLegacyWhereClause.test.js","names":["objectTypeWithAllPropertyTypes","expectType","describe","expect","it","modernToLegacyWhereClause","r","prop","type","apiName","toMatchInlineSnapshot","foo","geoPoint","$within","$bbox","$distance","$of","coordinates","$polygon","geoShape","$intersects","integer","$ne","decimal","$and","$or"],"sources":["modernToLegacyWhereClause.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { objectTypeWithAllPropertyTypes } from \"@osdk/client.test.ontology\";\nimport { expectType } from \"ts-expect\";\nimport { describe, expect, it } from \"vitest\";\nimport { modernToLegacyWhereClause } from \"./modernToLegacyWhereClause.js\";\ndescribe(modernToLegacyWhereClause, () => {\n describe(\"api namespaces\", () => {\n describe(\"interfaces\", () => {\n it(\"properly converts shortname to fqApiName\", () => {\n const T = {\n type: \"interface\",\n apiName: \"a.Foo\",\n };\n const r = modernToLegacyWhereClause({\n prop: 5,\n }, T);\n expect(r).toMatchInlineSnapshot(`\n {\n \"field\": \"a.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n }\n `);\n });\n it(\"properly does not convert when interface has no apiNamespace\", () => {\n const T = {\n type: \"interface\",\n apiName: \"Foo\",\n };\n const r = modernToLegacyWhereClause({\n \"b.prop\": 5,\n foo: 6,\n }, T);\n expect(r).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"b.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"foo\",\n \"type\": \"eq\",\n \"value\": 6,\n },\n ],\n }\n `);\n });\n it(\"gracefully handles redundant apiNamespace in property\", () => {\n const T = {\n type: \"interface\",\n apiName: \"a.Foo\",\n };\n const r = modernToLegacyWhereClause({\n \"b.prop\": 5,\n \"a.foo\": 6,\n }, T);\n expect(r).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"b.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"a.foo\",\n \"type\": \"eq\",\n \"value\": 6,\n },\n ],\n }\n `);\n });\n it(\"properly does not convert different apiNamespaces\", () => {\n const T = {\n type: \"interface\",\n apiName: \"a.Foo\",\n };\n expect(modernToLegacyWhereClause({\n \"b.prop\": 5,\n }, T)).toMatchInlineSnapshot(`\n {\n \"field\": \"b.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n }\n `);\n });\n });\n describe(\"objects\", () => {\n it(\"does not convert object short property names to fq\", () => {\n const T = {\n type: \"object\",\n apiName: \"a.Foo\",\n };\n const r = modernToLegacyWhereClause({\n prop: 5,\n }, T);\n expect(r).toMatchInlineSnapshot(`\n {\n \"field\": \"prop\",\n \"type\": \"eq\",\n \"value\": 5,\n }\n `);\n });\n });\n });\n describe(\"single checks\", () => {\n describe(\"$within\", () => {\n it(\"properly generates bbox shortcut\", async () => {\n expect(modernToLegacyWhereClause({\n geoPoint: {\n $within: [-5, 5, -10, 10],\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n it(\"properly generates bbox long form\", async () => {\n expect(modernToLegacyWhereClause({\n geoPoint: {\n $within: {\n $bbox: [-5, 5, -10, 10],\n },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n it(\"properly generates within radius\", async () => {\n expect(modernToLegacyWhereClause({\n geoPoint: {\n $within: { $distance: [5, \"km\"], $of: [-5, 5] },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinDistanceOf\",\n \"value\": {\n \"center\": {\n \"coordinates\": [\n -5,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"distance\": {\n \"unit\": \"KILOMETERS\",\n \"value\": 5,\n },\n },\n }\n `);\n });\n it(\"properly generates within radius of geopoint\", async () => {\n // suppose you loaded an object with a geopoint field\n // and you want to find all objects within 5 km of that point\n const pointAsGeoJsonPoint = {\n type: \"Point\",\n coordinates: [-5, 5],\n };\n expect(modernToLegacyWhereClause({\n geoPoint: {\n $within: { $distance: [5, \"km\"], $of: pointAsGeoJsonPoint },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinDistanceOf\",\n \"value\": {\n \"center\": {\n \"coordinates\": [\n -5,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"distance\": {\n \"unit\": \"KILOMETERS\",\n \"value\": 5,\n },\n },\n }\n `);\n });\n it(\"properly generates within polygon\", async () => {\n expect(modernToLegacyWhereClause({\n geoPoint: {\n $within: { $polygon: [[[0, 1], [3, 2], [0, 1]]] },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n it(\"properly generates within polygon geojson\", async () => {\n expect(modernToLegacyWhereClause({\n geoPoint: {\n $within: {\n type: \"Polygon\",\n coordinates: [[[0, 1], [3, 2], [0, 1]]],\n },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n it(\"check types\", async () => {\n expectType({\n geoPoint: {\n $within: [-5, 5, -10, 10],\n },\n });\n expectType({\n geoPoint: {\n $within: { $distance: [2, \"centimeter\"], $of: [2, 2] },\n },\n });\n expectType({\n geoPoint: {\n $within: { $polygon: [[[0, 1], [3, 2], [0, 1]]] },\n },\n });\n expectType({\n geoPoint: {\n $within: {\n type: \"Polygon\",\n coordinates: [[[0, 1], [3, 2], [0, 1]]],\n },\n },\n });\n expectType({\n geoPoint: {\n $within: { $bbox: [-5, 5, -10, 10] },\n },\n });\n expectType({\n geoPoint: {\n $within: {\n $bbox: [-5, 5, -10, 10],\n // @ts-expect-error\n $distance: [2, \"centimeter\"],\n // @ts-expect-error\n $of: [2, 2],\n },\n },\n });\n expectType({\n geoPoint: {\n $within: {\n $polygon: [[[0, 1], [3, 2], [0, 1]]],\n // @ts-expect-error\n $bbox: [2, 2, 2, 2],\n },\n },\n });\n });\n describe(\"$intersects\", () => {\n it(\"properly generates bbox shortcut\", async () => {\n expect(modernToLegacyWhereClause({\n geoShape: {\n $intersects: [-5, 5, -10, 10],\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n it(\"properly generates bbox long form\", async () => {\n expect(modernToLegacyWhereClause({\n geoShape: {\n $intersects: {\n $bbox: [-5, 5, -10, 10],\n },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n it(\"properly generates intersects polygon\", async () => {\n expect(modernToLegacyWhereClause({\n geoShape: {\n $intersects: { $polygon: [[[0, 1], [3, 2], [0, 1]]] },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n it(\"properly generates within polygon geojson\", async () => {\n expect(modernToLegacyWhereClause({\n geoShape: {\n $intersects: {\n type: \"Polygon\",\n coordinates: [[[0, 1], [3, 2], [0, 1]]],\n },\n },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n });\n it(\"inverts ne short hand properly\", () => {\n expect(modernToLegacyWhereClause({\n integer: { $ne: 5 },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"type\": \"not\",\n \"value\": {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n }\n `);\n });\n });\n describe(\"multiple checks\", () => {\n it(\"properly handles multiple simple where checks\", () => {\n expect(modernToLegacyWhereClause({\n decimal: 5,\n integer: 10,\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"decimal\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 10,\n },\n ],\n }\n `);\n });\n it(\"properly handles $and\", () => {\n expect(modernToLegacyWhereClause({\n $and: [{\n decimal: 5,\n }, {\n integer: 10,\n }],\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"decimal\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 10,\n },\n ],\n }\n `);\n });\n it(\"properly handles $or\", () => {\n expect(modernToLegacyWhereClause({\n $or: [{\n decimal: 5,\n }, {\n integer: 10,\n }],\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"type\": \"or\",\n \"value\": [\n {\n \"field\": \"decimal\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 10,\n },\n ],\n }\n `);\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"modernToLegacyWhereClause.test.js","names":["BgaoNflPlayer","objectTypeWithAllPropertyTypes","expectType","describe","expect","it","modernToLegacyWhereClause","r","$and","prop","$eq","prop2","innerProp1","type","apiName","__DefinitionMetadata","properties","displayName","links","rid","toMatchInlineSnapshot","foo","geoPoint","$within","$bbox","$distance","$of","coordinates","$polygon","geoShape","$intersects","integer","$ne","string","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","address","state","city","$or","gamesPlayed","$gt","decimal"],"sources":["modernToLegacyWhereClause.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 { ObjectOrInterfaceDefinition, WhereClause } from \"@osdk/api\";\nimport {\n BgaoNflPlayer,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport type { Point } from \"geojson\";\nimport { expectType } from \"ts-expect\";\nimport { describe, expect, it } from \"vitest\";\nimport { modernToLegacyWhereClause } from \"./modernToLegacyWhereClause.js\";\n\ntype ObjAllProps = objectTypeWithAllPropertyTypes;\ntype structObj = BgaoNflPlayer;\ndescribe(modernToLegacyWhereClause, () => {\n describe(\"api namespaces\", () => {\n describe(\"interfaces\", () => {\n it(\"properly converts shortname to fqApiName\", () => {\n const T = {\n type: \"interface\",\n apiName: \"a.Foo\",\n __DefinitionMetadata: {\n type: \"interface\",\n properties: {\n \"prop\": { type: \"integer\" },\n \"prop2\": {\n type: { \"innerProp1\": \"string\", \"innerProp2\": \"float\" },\n },\n },\n apiName: \"a.Foo\",\n displayName: \"\",\n links: {},\n rid: \"\",\n },\n } as const satisfies ObjectOrInterfaceDefinition;\n\n const r = modernToLegacyWhereClause({\n $and: [\n { prop: { $eq: 5 } },\n { prop2: { innerProp1: { $eq: \"myProp\" } } },\n ],\n }, T);\n\n expect(r).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"a.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": undefined,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"a.prop2\",\n \"structFieldApiName\": \"innerProp1\",\n \"type\": \"structField\",\n },\n \"type\": \"eq\",\n \"value\": \"myProp\",\n },\n ],\n }\n `);\n });\n\n it(\"properly does not convert when interface has no apiNamespace\", () => {\n const T = {\n type: \"interface\",\n apiName: \"Foo\",\n __DefinitionMetadata: {\n type: \"interface\",\n properties: {\n \"foo\": { type: \"integer\" },\n \"b.prop\": { type: \"integer\" },\n \"prop\": { type: \"integer\" },\n \"c.prop2\": {\n type: { \"innerProp1\": \"string\", \"innerProp2\": \"float\" },\n },\n },\n apiName: \"Foo\",\n displayName: \"\",\n links: {},\n rid: \"\",\n },\n } as const satisfies ObjectOrInterfaceDefinition;\n\n const r = modernToLegacyWhereClause({\n \"b.prop\": 5,\n foo: 6,\n \"c.prop2\": { innerProp1: { $eq: \"myProp\" } },\n }, T);\n\n expect(r).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"b.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"foo\",\n \"type\": \"eq\",\n \"value\": 6,\n },\n {\n \"field\": undefined,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"c.prop2\",\n \"structFieldApiName\": \"innerProp1\",\n \"type\": \"structField\",\n },\n \"type\": \"eq\",\n \"value\": \"myProp\",\n },\n ],\n }\n `);\n });\n\n it(\"gracefully handles redundant apiNamespace in property\", () => {\n const T = {\n type: \"interface\",\n apiName: \"a.Foo\",\n __DefinitionMetadata: {\n type: \"interface\",\n properties: {\n \"a.foo\": { type: \"integer\" },\n \"b.prop\": { type: \"integer\" },\n \"prop\": { type: \"integer\" },\n \"c.prop2\": {\n type: { \"innerProp1\": \"string\", \"innerProp2\": \"float\" },\n },\n },\n apiName: \"a.Foo\",\n displayName: \"\",\n links: {},\n rid: \"\",\n },\n } as const satisfies ObjectOrInterfaceDefinition;\n\n const r = modernToLegacyWhereClause({\n \"b.prop\": 5,\n \"a.foo\": 6,\n \"c.prop2\": { innerProp1: { $eq: \"myProp\" } },\n }, T);\n\n expect(r).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"b.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"a.foo\",\n \"type\": \"eq\",\n \"value\": 6,\n },\n {\n \"field\": undefined,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"c.prop2\",\n \"structFieldApiName\": \"innerProp1\",\n \"type\": \"structField\",\n },\n \"type\": \"eq\",\n \"value\": \"myProp\",\n },\n ],\n }\n `);\n });\n\n it(\"properly does not convert different apiNamespaces\", () => {\n const T = {\n type: \"interface\",\n apiName: \"a.Foo\",\n __DefinitionMetadata: {\n type: \"interface\",\n properties: {\n \"a.foo\": { type: \"integer\" },\n \"b.prop\": { type: \"integer\" },\n \"prop\": { type: \"integer\" },\n },\n apiName: \"a.Foo\",\n displayName: \"\",\n links: {},\n rid: \"\",\n },\n } as const satisfies ObjectOrInterfaceDefinition;\n\n expect(modernToLegacyWhereClause({\n \"b.prop\": 5,\n }, T)).toMatchInlineSnapshot(`\n {\n \"field\": \"b.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n }\n `);\n });\n });\n\n describe(\"objects\", () => {\n it(\"does not convert object short property names to fq\", () => {\n const T = {\n type: \"interface\",\n apiName: \"a.Foo\",\n __DefinitionMetadata: {\n type: \"interface\",\n properties: {\n \"a.foo\": { type: \"integer\" },\n \"prop\": { type: \"integer\" },\n },\n apiName: \"a.Foo\",\n displayName: \"\",\n links: {},\n rid: \"\",\n },\n } as const satisfies ObjectOrInterfaceDefinition;\n const r = modernToLegacyWhereClause({\n prop: 5,\n }, T);\n\n expect(r).toMatchInlineSnapshot(`\n {\n \"field\": \"a.prop\",\n \"type\": \"eq\",\n \"value\": 5,\n }\n `);\n });\n });\n });\n\n describe(\"single checks\", () => {\n describe(\"$within\", () => {\n it(\"properly generates bbox shortcut\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoPoint: {\n $within: [-5, 5, -10, 10],\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n\n it(\"properly generates bbox long form\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoPoint: {\n $within: {\n $bbox: [-5, 5, -10, 10],\n },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n\n it(\"properly generates within radius\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoPoint: {\n $within: { $distance: [5, \"km\"], $of: [-5, 5] },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinDistanceOf\",\n \"value\": {\n \"center\": {\n \"coordinates\": [\n -5,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"distance\": {\n \"unit\": \"KILOMETERS\",\n \"value\": 5,\n },\n },\n }\n `);\n });\n\n it(\"properly generates within radius of geopoint\", async () => {\n // suppose you loaded an object with a geopoint field\n // and you want to find all objects within 5 km of that point\n const pointAsGeoJsonPoint: Point = {\n type: \"Point\",\n coordinates: [-5, 5],\n };\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoPoint: {\n $within: { $distance: [5, \"km\"], $of: pointAsGeoJsonPoint },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinDistanceOf\",\n \"value\": {\n \"center\": {\n \"coordinates\": [\n -5,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"distance\": {\n \"unit\": \"KILOMETERS\",\n \"value\": 5,\n },\n },\n }\n `);\n });\n\n it(\"properly generates within polygon\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoPoint: {\n $within: { $polygon: [[[0, 1], [3, 2], [0, 1]]] },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n\n it(\"properly generates within polygon geojson\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoPoint: {\n $within: {\n type: \"Polygon\",\n coordinates: [[[0, 1], [3, 2], [0, 1]]],\n },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoPoint\",\n \"type\": \"withinPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n it(\"check types\", async () => {\n expectType<WhereClause<ObjAllProps>>({\n geoPoint: {\n $within: [-5, 5, -10, 10],\n },\n });\n\n expectType<WhereClause<ObjAllProps>>({\n geoPoint: {\n $within: { $distance: [2, \"centimeter\"], $of: [2, 2] },\n },\n });\n\n expectType<WhereClause<ObjAllProps>>({\n geoPoint: {\n $within: { $polygon: [[[0, 1], [3, 2], [0, 1]]] },\n },\n });\n\n expectType<WhereClause<ObjAllProps>>({\n geoPoint: {\n $within: {\n type: \"Polygon\",\n coordinates: [[[0, 1], [3, 2], [0, 1]]],\n },\n },\n });\n\n expectType<WhereClause<ObjAllProps>>({\n geoPoint: {\n $within: { $bbox: [-5, 5, -10, 10] },\n },\n });\n\n expectType<WhereClause<ObjAllProps>>({\n geoPoint: {\n $within: {\n $bbox: [-5, 5, -10, 10],\n // @ts-expect-error\n $distance: [2, \"centimeter\"],\n // @ts-expect-error\n $of: [2, 2],\n },\n },\n });\n expectType<WhereClause<ObjAllProps>>({\n geoPoint: {\n $within: {\n $polygon: [[[0, 1], [3, 2], [0, 1]]],\n // @ts-expect-error\n $bbox: [2, 2, 2, 2],\n },\n },\n });\n });\n describe(\"$intersects\", () => {\n it(\"properly generates bbox shortcut\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoShape: {\n $intersects: [-5, 5, -10, 10],\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n it(\"properly generates bbox long form\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoShape: {\n $intersects: {\n $bbox: [-5, 5, -10, 10],\n },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsBoundingBox\",\n \"value\": {\n \"bottomRight\": {\n \"coordinates\": [\n -10,\n 5,\n ],\n \"type\": \"Point\",\n },\n \"topLeft\": {\n \"coordinates\": [\n -5,\n 10,\n ],\n \"type\": \"Point\",\n },\n },\n }\n `);\n });\n\n it(\"properly generates intersects polygon\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoShape: {\n $intersects: { $polygon: [[[0, 1], [3, 2], [0, 1]]] },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n\n it(\"properly generates within polygon geojson\", async () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n geoShape: {\n $intersects: {\n type: \"Polygon\",\n coordinates: [[[0, 1], [3, 2], [0, 1]]],\n },\n },\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"field\": \"geoShape\",\n \"type\": \"intersectsPolygon\",\n \"value\": {\n \"coordinates\": [\n [\n [\n 0,\n 1,\n ],\n [\n 3,\n 2,\n ],\n [\n 0,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n }\n `);\n });\n });\n\n it(\"inverts ne short hand properly\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>({\n integer: { $ne: 5 },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"type\": \"not\",\n \"value\": {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n }\n `);\n });\n it(\"converts $containsAllTerms correctly if using new type\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAllTerms: { term: \"test\", fuzzySearch: true } },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": true,\n \"type\": \"containsAllTerms\",\n \"value\": \"test\",\n }\n `);\n\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAllTerms: { term: \"test\", fuzzySearch: false } },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": false,\n \"type\": \"containsAllTerms\",\n \"value\": \"test\",\n }\n `);\n\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAllTerms: { term: \"test\" } },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": false,\n \"type\": \"containsAllTerms\",\n \"value\": \"test\",\n }\n `);\n });\n\n it(\"converts $containsAllTerms correctly if using old type\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAllTerms: \"test\" },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": false,\n \"type\": \"containsAllTerms\",\n \"value\": \"test\",\n }\n `);\n });\n it(\"converts $containsAnyTerm correctly if using new type\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAnyTerm: { term: \"test\", fuzzySearch: true } },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": true,\n \"type\": \"containsAnyTerm\",\n \"value\": \"test\",\n }\n `);\n\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAnyTerm: { term: \"test\", fuzzySearch: false } },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": false,\n \"type\": \"containsAnyTerm\",\n \"value\": \"test\",\n }\n `);\n\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAnyTerm: { term: \"test\" } },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": false,\n \"type\": \"containsAnyTerm\",\n \"value\": \"test\",\n }\n `);\n });\n\n it(\"converts $containsAnyTerm correctly if using old type\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>({\n string: { $containsAnyTerm: \"test\" },\n }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`\n {\n \"field\": \"string\",\n \"fuzzy\": false,\n \"type\": \"containsAnyTerm\",\n \"value\": \"test\",\n }\n `);\n });\n it(\"converts struct where clauses correctly\", () => {\n expect(modernToLegacyWhereClause<structObj>({\n address: { state: { $eq: \"NJ\" } },\n }, BgaoNflPlayer)).toMatchInlineSnapshot(`\n {\n \"field\": undefined,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"address\",\n \"structFieldApiName\": \"state\",\n \"type\": \"structField\",\n },\n \"type\": \"eq\",\n \"value\": \"NJ\",\n }\n `);\n\n expect(modernToLegacyWhereClause<structObj>({\n $and: [\n { address: { state: { $eq: \"NJ\" } } },\n { address: { city: { $containsAnyTerm: \"N\" } } },\n ],\n }, BgaoNflPlayer)).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": undefined,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"address\",\n \"structFieldApiName\": \"state\",\n \"type\": \"structField\",\n },\n \"type\": \"eq\",\n \"value\": \"NJ\",\n },\n {\n \"field\": undefined,\n \"fuzzy\": false,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"address\",\n \"structFieldApiName\": \"city\",\n \"type\": \"structField\",\n },\n \"type\": \"containsAnyTerm\",\n \"value\": \"N\",\n },\n ],\n }\n `);\n\n expect(modernToLegacyWhereClause<structObj>({\n $or: [\n { address: { state: { $eq: \"NJ\" } } },\n { address: { city: { $containsAnyTerm: \"N\" } } },\n { gamesPlayed: { $gt: 5 } },\n ],\n }, BgaoNflPlayer)).toMatchInlineSnapshot(`\n {\n \"type\": \"or\",\n \"value\": [\n {\n \"field\": undefined,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"address\",\n \"structFieldApiName\": \"state\",\n \"type\": \"structField\",\n },\n \"type\": \"eq\",\n \"value\": \"NJ\",\n },\n {\n \"field\": undefined,\n \"fuzzy\": false,\n \"propertyIdentifier\": {\n \"propertyApiName\": \"address\",\n \"structFieldApiName\": \"city\",\n \"type\": \"structField\",\n },\n \"type\": \"containsAnyTerm\",\n \"value\": \"N\",\n },\n {\n \"field\": \"gamesPlayed\",\n \"type\": \"gt\",\n \"value\": 5,\n },\n ],\n }\n `);\n });\n });\n\n describe(\"multiple checks\", () => {\n it(\"properly handles multiple simple where checks\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n decimal: 5,\n integer: 10,\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"decimal\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 10,\n },\n ],\n }\n `);\n });\n\n it(\"properly handles $and\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n $and: [{\n decimal: 5,\n }, {\n integer: 10,\n }],\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"type\": \"and\",\n \"value\": [\n {\n \"field\": \"decimal\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 10,\n },\n ],\n }\n `);\n });\n\n it(\"properly handles $or\", () => {\n expect(modernToLegacyWhereClause<ObjAllProps>(\n {\n $or: [{\n decimal: 5,\n }, {\n integer: 10,\n }],\n },\n objectTypeWithAllPropertyTypes,\n )).toMatchInlineSnapshot(`\n {\n \"type\": \"or\",\n \"value\": [\n {\n \"field\": \"decimal\",\n \"type\": \"eq\",\n \"value\": 5,\n },\n {\n \"field\": \"integer\",\n \"type\": \"eq\",\n \"value\": 10,\n },\n ],\n }\n `);\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -13,21 +13,14 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+
16
17
  export function isAttachmentUpload(o) {
17
- return o instanceof Blob && "name" in o;
18
+ return typeof o === `object` && "name" in o && "data" in o && o.data instanceof Blob;
18
19
  }
19
20
  export function createAttachmentUpload(data, name) {
20
- const attachmentUpload = Object.create(data, {
21
- name: {
22
- value: name
23
- },
24
- size: {
25
- value: data.size
26
- },
27
- type: {
28
- value: data.type
29
- }
30
- });
31
- return attachmentUpload;
21
+ return {
22
+ data,
23
+ name
24
+ };
32
25
  }
33
26
  //# sourceMappingURL=AttachmentUpload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentUpload.js","names":["isAttachmentUpload","o","Blob","createAttachmentUpload","data","name","attachmentUpload","Object","create","value","size","type"],"sources":["AttachmentUpload.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport function isAttachmentUpload(o) {\n return o instanceof Blob && \"name\" in o;\n}\nexport function createAttachmentUpload(data, name) {\n const attachmentUpload = Object.create(data, {\n name: { value: name },\n size: { value: data.size },\n type: { value: data.type },\n });\n return attachmentUpload;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,kBAAkBA,CAACC,CAAC,EAAE;EAClC,OAAOA,CAAC,YAAYC,IAAI,IAAI,MAAM,IAAID,CAAC;AAC3C;AACA,OAAO,SAASE,sBAAsBA,CAACC,IAAI,EAAEC,IAAI,EAAE;EAC/C,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACJ,IAAI,EAAE;IACzCC,IAAI,EAAE;MAAEI,KAAK,EAAEJ;IAAK,CAAC;IACrBK,IAAI,EAAE;MAAED,KAAK,EAAEL,IAAI,CAACM;IAAK,CAAC;IAC1BC,IAAI,EAAE;MAAEF,KAAK,EAAEL,IAAI,CAACO;IAAK;EAC7B,CAAC,CAAC;EACF,OAAOL,gBAAgB;AAC3B","ignoreList":[]}
1
+ {"version":3,"file":"AttachmentUpload.js","names":["isAttachmentUpload","o","data","Blob","createAttachmentUpload","name"],"sources":["AttachmentUpload.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 { AttachmentUpload } from \"@osdk/api\";\n\nexport function isAttachmentUpload(o: any): o is AttachmentUpload {\n return typeof o === `object` && \"name\" in o && \"data\" in o\n && o.data instanceof Blob;\n}\n\nexport function createAttachmentUpload(\n data: Blob,\n name: string,\n): AttachmentUpload {\n return { data, name };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,SAASA,kBAAkBA,CAACC,CAAM,EAAyB;EAChE,OAAO,OAAOA,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAIA,CAAC,IAAI,MAAM,IAAIA,CAAC,IACrDA,CAAC,CAACC,IAAI,YAAYC,IAAI;AAC7B;AAEA,OAAO,SAASC,sBAAsBA,CACpCF,IAAU,EACVG,IAAY,EACM;EAClB,OAAO;IAAEH,IAAI;IAAEG;EAAK,CAAC;AACvB","ignoreList":[]}
@@ -13,6 +13,29 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+
17
+ /**
18
+ * A simple cache that can be used to store values for a given client.
19
+ */
20
+
21
+ /**
22
+ * @internal
23
+ * A simple async cache that can be used to store values for a given client.
24
+ */
25
+
26
+ /** @internal */
27
+
28
+ /**
29
+ * @internal
30
+ * Create a new cache without a factory function.
31
+ */
32
+
33
+ /**
34
+ * @internal
35
+ * Create a new cache with a factory function.
36
+ * @param fn A factory function that will be used to create the value if it does not exist in the cache.
37
+ */
38
+
16
39
  export function createClientCache(fn) {
17
40
  const cache = new WeakMap();
18
41
  function set(client, key, value) {
@@ -41,6 +64,9 @@ export function createClientCache(fn) {
41
64
  }
42
65
  };
43
66
  }
67
+
68
+ /** @internal */
69
+
44
70
  /**
45
71
  * @internal
46
72
  * Create a new cache with an async factory function.
@@ -61,6 +87,7 @@ export function createAsyncClientCache(fn, createCacheLocal = createClientCache)
61
87
  // the `.set` happens first to prevent races.
62
88
  try {
63
89
  const r = await inProgress.set(client, k, v); // returns v
90
+
64
91
  cache.set(client, k, r);
65
92
  inProgress.remove(client, k);
66
93
  return r;
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.js","names":["createClientCache","fn","cache","WeakMap","set","client","key","value","get","clientCacheKey","Map","r","undefined","remove","delete","createAsyncClientCache","createCacheLocal","inProgress","ret","getOrUndefined","k","v","e"],"sources":["Cache.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport function createClientCache(fn) {\n const cache = new WeakMap();\n function get(client, key) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n let r = cache.get(client.clientCacheKey).get(key);\n if (r === undefined && fn !== undefined) {\n return set(client, key, fn(client, key));\n }\n else {\n return r;\n }\n }\n function set(client, key, value) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n cache.get(client.clientCacheKey).set(key, value);\n return value;\n }\n function remove(client, key) {\n if (cache.get(client.clientCacheKey) == null)\n return false;\n return cache.get(client.clientCacheKey).delete(key);\n }\n return { get, set, remove };\n}\n/**\n * @internal\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\nexport function createAsyncClientCache(fn, createCacheLocal = createClientCache) {\n const cache = createCacheLocal();\n const inProgress = createCacheLocal();\n const ret = {\n getOrUndefined: function getOrUndefined(client, key) {\n return cache.get(client, key);\n },\n get: async function get(client, key) {\n return cache.get(client, key) ?? inProgress.get(client, key)\n ?? ret.set(client, key, fn(client, key));\n },\n set: async function set(client, k, v) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(client, k, v); // returns v\n cache.set(client, k, r);\n inProgress.remove(client, k);\n return r;\n }\n catch (e) {\n // we don't want to cache failures\n inProgress.remove(client, k);\n throw e;\n }\n },\n };\n return ret;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Cache.js","names":["createClientCache","fn","cache","WeakMap","set","client","key","value","get","clientCacheKey","Map","r","undefined","remove","delete","createAsyncClientCache","createCacheLocal","inProgress","ret","getOrUndefined","k","v","e"],"sources":["Cache.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 { ClientCacheKey, MinimalClient } from \"../MinimalClientContext.js\";\n\n/**\n * A simple cache that can be used to store values for a given client.\n */\ninterface ClientCache<K, V> {\n get: (client: MinimalClient, key: K) => V;\n set: <X extends V>(client: MinimalClient, key: K, value: X) => X;\n remove: (client: MinimalClient, key: K) => boolean;\n}\n\n/**\n * @internal\n * A simple async cache that can be used to store values for a given client.\n */\nexport interface AsyncClientCache<K, V> {\n getOrUndefined: (client: MinimalClient, key: K) => V | undefined;\n\n get: (client: MinimalClient, key: K) => Promise<V>;\n\n /**\n * @param client the client to key from\n * @param key the sub-key to use\n * @param value the value or a promise to the value\n * @returns a new promise to the resolved value\n */\n set: (\n client: MinimalClient,\n key: K,\n value: V | Promise<V>,\n ) => Promise<V>;\n}\n\n/** @internal */\nexport type Factory<K, V> = (client: MinimalClient, key: K) => V;\n\n/**\n * @internal\n * Create a new cache without a factory function.\n */\nexport function createClientCache<K, V extends {}>(): ClientCache<\n K,\n V | undefined\n>;\n/**\n * @internal\n * Create a new cache with a factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n */\nexport function createClientCache<K, V extends {}>(\n fn: Factory<K, V>,\n): ClientCache<K, V>;\nexport function createClientCache<K, V extends {}>(\n fn?: Factory<K, V>,\n): typeof fn extends undefined ? ClientCache<K, V | undefined>\n : ClientCache<K, V>\n{\n const cache = new WeakMap<\n ClientCacheKey,\n typeof fn extends undefined ? Map<K, V | undefined> : Map<K, V>\n >();\n\n function get(client: MinimalClient, key: K) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n let r = cache.get(client.clientCacheKey)!.get(key);\n if (r === undefined && fn !== undefined) {\n return set(client, key, fn(client, key));\n } else {\n return r;\n }\n }\n\n function set(client: MinimalClient, key: K, value: V) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n\n cache.get(client.clientCacheKey)!.set(key, value);\n return value;\n }\n\n function remove(client: MinimalClient, key: K) {\n if (cache.get(client.clientCacheKey) == null) return false;\n return cache.get(client.clientCacheKey)!.delete(key);\n }\n\n return { get, set, remove } as ClientCache<K, V>;\n}\n\n/** @internal */\nexport type AsyncFactory<K, V extends {}> = (\n client: MinimalClient,\n key: K,\n) => Promise<V>;\n\n/**\n * @internal\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\nexport function createAsyncClientCache<K, V extends {}>(\n fn: AsyncFactory<K, V>,\n createCacheLocal: typeof createClientCache = createClientCache,\n): AsyncClientCache<K, V> {\n const cache = createCacheLocal<K, V>();\n const inProgress = createCacheLocal<K, Promise<V> | V>();\n\n const ret = {\n getOrUndefined: function getOrUndefined(client: MinimalClient, key: K) {\n return cache.get(client, key);\n },\n\n get: async function get(client: MinimalClient, key: K) {\n return cache.get(client, key) ?? inProgress.get(client, key)\n ?? ret.set(client, key, fn(client, key));\n },\n\n set: async function set(client: MinimalClient, k: K, v: V | Promise<V>) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(client, k, v); // returns v\n\n cache.set(client, k, r);\n inProgress.remove(client, k);\n return r;\n } catch (e) {\n // we don't want to cache failures\n inProgress.remove(client, k);\n throw e;\n }\n },\n };\n\n return ret;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,12 +13,11 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import * as matchers from "jest-extended";
16
+
17
17
  import pDefer from "p-defer";
18
18
  import { promiseStateAsync as pStateAsync } from "p-state";
19
19
  import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
20
20
  import { createAsyncClientCache, createClientCache } from "./Cache.js";
21
- expect.extend(matchers);
22
21
  function createSpys(cache) {
23
22
  return {
24
23
  get: vi.spyOn(cache, "get"),
@@ -106,6 +105,7 @@ describe("AsyncCache", () => {
106
105
  expectedAsyncSets++;
107
106
  }
108
107
  }
108
+
109
109
  // check before and after make sense so that `expectSaneCalls` can work
110
110
  const before = await getStats();
111
111
  getPromises.push(asyncCache.get(fauxClient, key));
@@ -125,9 +125,11 @@ describe("AsyncCache", () => {
125
125
  expect(pendingFetches).toContain(key);
126
126
  expect(successfulFetches).not.toContain(key);
127
127
  // </preconditions>
128
+
128
129
  // Update expectations
129
130
  pendingFetches.delete(value);
130
131
  successfulFetches.add(value);
132
+
131
133
  // check before and after make sense so that `expectSaneCalls` can work
132
134
  const before = await getStats();
133
135
  factoryDefers[num].resolve(value);
@@ -144,11 +146,12 @@ describe("AsyncCache", () => {
144
146
  expect(pendingFetches).toContain(key);
145
147
  pendingFetches.delete(key);
146
148
  factoryDefers[num].reject(new Error(error));
149
+
147
150
  // we need to ensure the outstanding get promises are rejected
148
151
  for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {
149
152
  if (asyncCacheSpies.get.mock.calls[i][1] === key) {
150
153
  if (asyncCacheSpies.get.mock.results[i].type === "return") {
151
- expect(getPromises[i]).toReject();
154
+ await expect(getPromises[i]).rejects.toThrowError();
152
155
  }
153
156
  }
154
157
  }
@@ -164,14 +167,18 @@ describe("AsyncCache", () => {
164
167
  }
165
168
  async function expectSaneCalls() {
166
169
  const stats = await getStats();
170
+
167
171
  // both of these should be connected
168
172
  expect(factoryFn).toHaveBeenCalledTimes(expectedFactoryCalls);
169
173
  expect(inProgress.set).toHaveBeenCalledTimes(expectedFactoryCalls);
170
174
  expect(asyncSetSpy).toHaveBeenCalledTimes(expectedAsyncSets);
175
+
171
176
  // inProgress should be removed after a success or failure
172
177
  expect(inProgress.remove).toHaveBeenCalledTimes(stats.fulfilledFactoryCalls + stats.rejectedFactoryCalls);
178
+
173
179
  // the inner cache gets checked once per async get
174
180
  expect(cache.get).toHaveBeenCalledTimes(stats.asyncCacheGetCalls);
181
+
175
182
  // the inner cache only gets set after a successful factory call
176
183
  expect(cache.set).toHaveBeenCalledTimes(successfulFetches.size);
177
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.test.js","names":["matchers","pDefer","promiseStateAsync","pStateAsync","beforeAll","beforeEach","describe","expect","it","vi","createAsyncClientCache","createClientCache","extend","createSpys","cache","get","spyOn","remove","set","fauxClient","clientCacheKey","fauxClient2","client","key","Promise","resolve","toEqual","mock","fn","setTimeout","all","toHaveBeenCalledTimes","factoryFn","inProgress","asyncCache","asyncCacheSpies","asyncSetSpy","factoryDefers","getPromises","expectedAsyncSets","expectedFactoryCalls","successfulFetches","pendingFetches","expectedPending","mockImplementation","defer","push","promise","Set","createSyncCacheMock","mockReturnValueOnce","getOrUndefined","expectSaneCalls","initiateAsyncCacheGetFor","has","add","before","getStats","toStrictEqual","asyncCacheGetCalls","resolveFactoryCall","num","value","toBe","calls","toContain","not","delete","fulfilledFactoryCalls","rejectFactoryCall","error","reject","Error","i","length","results","type","toReject","map","d","filter","a","rejectedFactoryCalls","stats","size","itRejectsAllRequestsOf","settledResults","toMatchObject","itDoesNotRejectLastRequestRightAway","at","describeRejectsFactoryCall","describeResolvesFactoryCall","describeAsyncCacheGetFor","itFulfillsAsyncCacheGets","indexes","join","itLeavesAsyncGetPromisesInStates","states","p","itHasOnlyInvokedFactoryNTimes","n","itReturnsForAsyncGet","toHaveBeenCalled","undefined"],"sources":["Cache.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as matchers from \"jest-extended\";\nimport pDefer from \"p-defer\";\nimport { promiseStateAsync as pStateAsync } from \"p-state\";\nimport { beforeAll, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { createAsyncClientCache, createClientCache } from \"./Cache.js\";\nexpect.extend(matchers);\nfunction createSpys(cache) {\n return {\n get: vi.spyOn(cache, \"get\"),\n remove: vi.spyOn(cache, \"remove\"),\n set: vi.spyOn(cache, \"set\"),\n };\n}\ndescribe(\"AsyncCache\", () => {\n beforeAll(() => {\n });\n const fauxClient = { clientCacheKey: {} };\n const fauxClient2 = { clientCacheKey: {} };\n it(\"keeps clients separate\", async () => {\n const cache = createAsyncClientCache((client, key) => Promise.resolve(key));\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get(fauxClient2, \"k\")).toEqual(\"k\");\n });\n it(\"has a client and its copy access the same cache\", async () => {\n const cache = createAsyncClientCache((client, key) => Promise.resolve(key));\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get({ ...fauxClient }, \"k\")).toEqual(\"v\");\n });\n it(\"does not double factory\", async () => {\n const resolveToKey = (client, key) => new Promise((resolve, reject) => {\n setTimeout(() => resolve(key), 100);\n });\n const mock = vi.fn(resolveToKey);\n const cache = createAsyncClientCache(mock);\n await Promise.all([\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n ]);\n expect(mock).toHaveBeenCalledTimes(2);\n });\n describe(\"race checks\", () => {\n let factoryFn;\n let cache;\n let inProgress;\n let asyncCache;\n let asyncCacheSpies;\n let asyncSetSpy;\n let factoryDefers;\n let getPromises;\n let expectedAsyncSets;\n let expectedFactoryCalls;\n let successfulFetches;\n let pendingFetches;\n let expectedPending = {};\n beforeEach(async () => {\n factoryFn = vi.fn();\n factoryFn.mockImplementation(() => {\n const defer = pDefer();\n factoryDefers.push(defer);\n return defer.promise;\n });\n getPromises = [];\n factoryDefers = [];\n expectedAsyncSets = 0;\n expectedFactoryCalls = 0;\n successfulFetches = new Set();\n pendingFetches = new Set();\n expectedPending = {};\n const createSyncCacheMock = vi.fn();\n cache = createSpys(createClientCache());\n inProgress = createSpys(createClientCache());\n createSyncCacheMock.mockReturnValueOnce(cache);\n createSyncCacheMock.mockReturnValueOnce(inProgress);\n asyncCache = createAsyncClientCache(factoryFn, createSyncCacheMock);\n asyncSetSpy = vi.spyOn(asyncCache, \"set\");\n asyncCacheSpies = {\n get: vi.spyOn(asyncCache, \"get\"),\n set: vi.spyOn(asyncCache, \"set\"),\n getOrUndefined: vi.spyOn(asyncCache, \"getOrUndefined\"),\n };\n await expectSaneCalls();\n });\n function initiateAsyncCacheGetFor(key) {\n return async () => {\n if (!successfulFetches.has(key)) {\n expectedPending[key] = (expectedPending[key] ?? 0) + 1;\n if (!pendingFetches.has(key)) {\n pendingFetches.add(key);\n expectedFactoryCalls++;\n expectedAsyncSets++;\n }\n }\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n getPromises.push(asyncCache.get(fauxClient, key));\n expect(await getStats()).toStrictEqual({\n ...before,\n asyncCacheGetCalls: before.asyncCacheGetCalls + 1,\n // may or may not bump the unique keys\n });\n await expectSaneCalls();\n };\n }\n function resolveFactoryCall(num, key, value = `${key}Result`) {\n return async () => {\n // <preconditions>\n expect(await pStateAsync(factoryDefers[num].promise)).toBe(\"pending\");\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n expect(successfulFetches).not.toContain(key);\n // </preconditions>\n // Update expectations\n pendingFetches.delete(value);\n successfulFetches.add(value);\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n factoryDefers[num].resolve(value);\n expect(await getStats()).toStrictEqual({\n ...before,\n fulfilledFactoryCalls: before.fulfilledFactoryCalls + 1,\n });\n await expectSaneCalls();\n };\n }\n function rejectFactoryCall(num, key, error = `${key}Error`) {\n return async () => {\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n pendingFetches.delete(key);\n factoryDefers[num].reject(new Error(error));\n // we need to ensure the outstanding get promises are rejected\n for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n if (asyncCacheSpies.get.mock.results[i].type === \"return\") {\n expect(getPromises[i]).toReject();\n }\n }\n }\n await expectSaneCalls();\n };\n }\n async function getStats() {\n return {\n fulfilledFactoryCalls: (await Promise.all(factoryDefers.map(d => pStateAsync(d.promise)))).filter(a => a === \"fulfilled\").length,\n rejectedFactoryCalls: (await Promise.all(factoryDefers.map(d => pStateAsync(d.promise)))).filter(a => a === \"rejected\").length,\n asyncCacheGetCalls: asyncCacheSpies.get.mock.calls.length,\n };\n }\n async function expectSaneCalls() {\n const stats = await getStats();\n // both of these should be connected\n expect(factoryFn).toHaveBeenCalledTimes(expectedFactoryCalls);\n expect(inProgress.set).toHaveBeenCalledTimes(expectedFactoryCalls);\n expect(asyncSetSpy).toHaveBeenCalledTimes(expectedAsyncSets);\n // inProgress should be removed after a success or failure\n expect(inProgress.remove).toHaveBeenCalledTimes(stats.fulfilledFactoryCalls + stats.rejectedFactoryCalls);\n // the inner cache gets checked once per async get\n expect(cache.get).toHaveBeenCalledTimes(stats.asyncCacheGetCalls);\n // the inner cache only gets set after a successful factory call\n expect(cache.set).toHaveBeenCalledTimes(successfulFetches.size);\n }\n function itRejectsAllRequestsOf(key) {\n it(`rejects all ${key} requests`, () => {\n for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n expect(asyncCacheSpies.get.mock.settledResults[i].type).toBe(\"rejected\");\n expect(asyncCacheSpies.get.mock.settledResults[i].value)\n .toMatchObject(new Error(\"aError\"));\n }\n }\n });\n }\n function itDoesNotRejectLastRequestRightAway() {\n it(\"does not reject right away\", () => {\n expect(asyncCacheSpies.get.mock.results.at(-1)?.type).toBe(\"return\");\n });\n }\n function describeRejectsFactoryCall(num, key, fn) {\n return describe(`rejects factory request ${num} for ${key}`, () => {\n beforeEach(rejectFactoryCall(num, key));\n itRejectsAllRequestsOf(\"a\");\n fn();\n });\n }\n function describeResolvesFactoryCall(num, key, fn) {\n return describe(`resolves factory request ${num} for ${key}`, () => {\n beforeEach(resolveFactoryCall(num, key));\n fn();\n });\n }\n function describeAsyncCacheGetFor(key, fn) {\n return describe(`gets a request for '${key}'`, () => {\n beforeEach(initiateAsyncCacheGetFor(key));\n itDoesNotRejectLastRequestRightAway();\n fn();\n });\n }\n function itFulfillsAsyncCacheGets(indexes, value) {\n it(`fulfills the AsyncCache.get()'s ${indexes.join(\", \")} with '${value}'`, async () => {\n for (const i of indexes) {\n expect(await pStateAsync(getPromises[i])).toBe(\"fulfilled\");\n expect(await getPromises[i]).toBe(value);\n }\n });\n }\n function itLeavesAsyncGetPromisesInStates(states) {\n it(`leaves the AsyncCache.get()'s in states [${states.join(\", \")}]`, async () => {\n expect(await Promise.all(getPromises.map(p => pStateAsync(p))))\n .toStrictEqual(states);\n for (let i = 0; i < states.length; i++) {\n expect(await pStateAsync(getPromises[i])).toBe(states[i]);\n }\n });\n }\n function itHasOnlyInvokedFactoryNTimes(n) {\n it(`has only invoked the factory ${n} times`, () => {\n expect(factoryFn).toHaveBeenCalledTimes(n);\n });\n }\n function itReturnsForAsyncGet(results) {\n it(\"returns for async get\", () => {\n expect(asyncCacheSpies.get.mock.settledResults.map(a => a.value))\n .toEqual(results);\n });\n }\n it(\"has a minimal base state\", () => {\n expect(cache.get).not.toHaveBeenCalled();\n expect(inProgress.get).not.toHaveBeenCalled();\n expect(factoryFn).not.toHaveBeenCalled();\n expect(inProgress.set).not.toHaveBeenCalled();\n });\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describe(\"before the first resolves\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describeRejectsFactoryCall(0, \"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"rejected\", \"rejected\"]);\n describeAsyncCacheGetFor(\"a\", () => {\n itDoesNotRejectLastRequestRightAway();\n itHasOnlyInvokedFactoryNTimes(2);\n });\n });\n describeAsyncCacheGetFor(\"b\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(2);\n describeResolvesFactoryCall(1, \"b\", () => {\n itLeavesAsyncGetPromisesInStates([\n \"pending\",\n \"pending\",\n \"fulfilled\",\n ]);\n itReturnsForAsyncGet([\n undefined,\n undefined,\n \"bResult\",\n ]);\n });\n });\n describeResolvesFactoryCall(0, \"a\", () => {\n itFulfillsAsyncCacheGets([0, 1], \"aResult\");\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n ]);\n describeAsyncCacheGetFor(\"a\", () => {\n itHasOnlyInvokedFactoryNTimes(1);\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n \"fulfilled\",\n ]);\n itReturnsForAsyncGet([\n \"aResult\",\n \"aResult\",\n \"aResult\",\n ]);\n });\n });\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Cache.test.js","names":["pDefer","promiseStateAsync","pStateAsync","beforeAll","beforeEach","describe","expect","it","vi","createAsyncClientCache","createClientCache","createSpys","cache","get","spyOn","remove","set","fauxClient","clientCacheKey","fauxClient2","client","key","Promise","resolve","toEqual","mock","fn","setTimeout","all","toHaveBeenCalledTimes","factoryFn","inProgress","asyncCache","asyncCacheSpies","asyncSetSpy","factoryDefers","getPromises","expectedAsyncSets","expectedFactoryCalls","successfulFetches","pendingFetches","expectedPending","mockImplementation","defer","push","promise","Set","createSyncCacheMock","mockReturnValueOnce","getOrUndefined","expectSaneCalls","initiateAsyncCacheGetFor","has","add","before","getStats","toStrictEqual","asyncCacheGetCalls","resolveFactoryCall","num","value","toBe","calls","toContain","not","delete","fulfilledFactoryCalls","rejectFactoryCall","error","reject","Error","i","length","results","type","rejects","toThrowError","map","d","filter","a","rejectedFactoryCalls","stats","size","itRejectsAllRequestsOf","settledResults","toMatchObject","itDoesNotRejectLastRequestRightAway","at","describeRejectsFactoryCall","describeResolvesFactoryCall","describeAsyncCacheGetFor","itFulfillsAsyncCacheGets","indexes","join","itLeavesAsyncGetPromisesInStates","states","p","itHasOnlyInvokedFactoryNTimes","n","itReturnsForAsyncGet","toHaveBeenCalled","undefined"],"sources":["Cache.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 { DeferredPromise } from \"p-defer\";\nimport pDefer from \"p-defer\";\nimport type { PromiseState } from \"p-state\";\nimport { promiseStateAsync as pStateAsync } from \"p-state\";\nimport type { Mock, MockInstance } from \"vitest\";\nimport { beforeAll, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport type { AsyncClientCache, AsyncFactory } from \"./Cache.js\";\nimport { createAsyncClientCache, createClientCache } from \"./Cache.js\";\n\nfunction createSpys(cache: ReturnType<typeof createClientCache>) {\n return {\n get: vi.spyOn(cache, \"get\"),\n remove: vi.spyOn(cache, \"remove\"),\n set: vi.spyOn(cache, \"set\"),\n };\n}\n\ndescribe(\"AsyncCache\", () => {\n beforeAll(() => {\n });\n const fauxClient = { clientCacheKey: {} } as MinimalClient;\n const fauxClient2 = { clientCacheKey: {} } as MinimalClient;\n\n it(\"keeps clients separate\", async () => {\n const cache = createAsyncClientCache((client: MinimalClient, key: string) =>\n Promise.resolve(key)\n );\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get(fauxClient2, \"k\")).toEqual(\"k\");\n });\n\n it(\"has a client and its copy access the same cache\", async () => {\n const cache = createAsyncClientCache((client: MinimalClient, key: string) =>\n Promise.resolve(key)\n );\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get({ ...fauxClient }, \"k\")).toEqual(\"v\");\n });\n\n it(\"does not double factory\", async () => {\n const resolveToKey = (client: MinimalClient, key: string) =>\n new Promise<string>((resolve, reject) => {\n setTimeout(() => resolve(key), 100);\n });\n\n const mock = vi.fn(resolveToKey);\n const cache = createAsyncClientCache(mock);\n\n await Promise.all([\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n ]);\n\n expect(mock).toHaveBeenCalledTimes(2);\n });\n\n describe(\"race checks\", () => {\n let factoryFn: Mock<AsyncFactory<any, any>>;\n let cache: ReturnType<typeof createSpys>;\n let inProgress: ReturnType<typeof createSpys>;\n let asyncCache: AsyncClientCache<string, string>;\n let asyncCacheSpies: {\n [K in keyof typeof asyncCache]: MockInstance<typeof asyncCache[K]>;\n };\n let asyncSetSpy: MockInstance<typeof asyncCache.set>;\n let factoryDefers: DeferredPromise<string>[];\n let getPromises: Promise<string>[];\n\n let expectedAsyncSets: number;\n let expectedFactoryCalls: number;\n\n let successfulFetches: Set<string>;\n let pendingFetches: Set<string>;\n let expectedPending: Record<string, number> = {};\n\n beforeEach(async () => {\n factoryFn = vi.fn();\n factoryFn.mockImplementation(() => {\n const defer = pDefer<string>();\n factoryDefers.push(defer);\n return defer.promise;\n });\n\n getPromises = [];\n factoryDefers = [];\n\n expectedAsyncSets = 0;\n expectedFactoryCalls = 0;\n\n successfulFetches = new Set();\n pendingFetches = new Set();\n expectedPending = {};\n\n const createSyncCacheMock = vi.fn();\n\n cache = createSpys(createClientCache() as any);\n inProgress = createSpys(createClientCache() as any);\n createSyncCacheMock.mockReturnValueOnce(cache);\n createSyncCacheMock.mockReturnValueOnce(inProgress);\n\n asyncCache = createAsyncClientCache<string, string>(\n factoryFn,\n createSyncCacheMock as any,\n );\n\n asyncSetSpy = vi.spyOn(asyncCache, \"set\");\n asyncCacheSpies = {\n get: vi.spyOn(asyncCache, \"get\"),\n set: vi.spyOn(asyncCache, \"set\"),\n getOrUndefined: vi.spyOn(asyncCache, \"getOrUndefined\"),\n };\n\n await expectSaneCalls();\n });\n\n function initiateAsyncCacheGetFor(key: string) {\n return async () => {\n if (!successfulFetches.has(key)) {\n expectedPending[key] = (expectedPending[key] ?? 0) + 1;\n if (!pendingFetches.has(key)) {\n pendingFetches.add(key);\n expectedFactoryCalls++;\n expectedAsyncSets++;\n }\n }\n\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n getPromises.push(asyncCache.get(fauxClient, key));\n expect(await getStats()).toStrictEqual({\n ...before,\n asyncCacheGetCalls: before.asyncCacheGetCalls + 1,\n // may or may not bump the unique keys\n });\n\n await expectSaneCalls();\n };\n }\n\n function resolveFactoryCall(\n num: number,\n key: string,\n value = `${key}Result`,\n ) {\n return async () => {\n // <preconditions>\n expect(await pStateAsync(factoryDefers[num].promise)).toBe(\n \"pending\",\n );\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n expect(successfulFetches).not.toContain(key);\n // </preconditions>\n\n // Update expectations\n pendingFetches.delete(value);\n successfulFetches.add(value);\n\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n factoryDefers[num].resolve(value);\n expect(await getStats()).toStrictEqual({\n ...before,\n fulfilledFactoryCalls: before.fulfilledFactoryCalls + 1,\n });\n\n await expectSaneCalls();\n };\n }\n\n function rejectFactoryCall(\n num: number,\n key: string,\n error = `${key}Error`,\n ) {\n return async () => {\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n\n pendingFetches.delete(key);\n factoryDefers[num].reject(new Error(error));\n\n // we need to ensure the outstanding get promises are rejected\n for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n if (asyncCacheSpies.get.mock.results[i].type === \"return\") {\n await expect(getPromises[i]).rejects.toThrowError();\n }\n }\n }\n\n await expectSaneCalls();\n };\n }\n\n async function getStats() {\n return {\n fulfilledFactoryCalls: (await Promise.all(\n factoryDefers.map(d => pStateAsync(d.promise)),\n )).filter(a => a === \"fulfilled\").length,\n rejectedFactoryCalls: (await Promise.all(\n factoryDefers.map(d => pStateAsync(d.promise)),\n )).filter(a => a === \"rejected\").length,\n asyncCacheGetCalls: asyncCacheSpies.get.mock.calls.length,\n };\n }\n\n async function expectSaneCalls() {\n const stats = await getStats();\n\n // both of these should be connected\n expect(factoryFn).toHaveBeenCalledTimes(expectedFactoryCalls);\n expect(inProgress.set).toHaveBeenCalledTimes(expectedFactoryCalls);\n\n expect(asyncSetSpy).toHaveBeenCalledTimes(expectedAsyncSets);\n\n // inProgress should be removed after a success or failure\n expect(inProgress.remove).toHaveBeenCalledTimes(\n stats.fulfilledFactoryCalls + stats.rejectedFactoryCalls,\n );\n\n // the inner cache gets checked once per async get\n expect(cache.get).toHaveBeenCalledTimes(stats.asyncCacheGetCalls);\n\n // the inner cache only gets set after a successful factory call\n expect(cache.set).toHaveBeenCalledTimes(successfulFetches.size);\n }\n\n function itRejectsAllRequestsOf(key: string) {\n it(`rejects all ${key} requests`, () => {\n for (\n let i = 0;\n i < asyncCacheSpies.get.mock.calls.length;\n i++\n ) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n expect(asyncCacheSpies.get.mock.settledResults[i].type).toBe(\n \"rejected\",\n );\n expect(asyncCacheSpies.get.mock.settledResults[i].value)\n .toMatchObject(new Error(\"aError\"));\n }\n }\n });\n }\n\n function itDoesNotRejectLastRequestRightAway() {\n it(\"does not reject right away\", () => {\n expect(asyncCacheSpies.get.mock.results.at(-1)?.type).toBe(\n \"return\",\n );\n });\n }\n\n function describeRejectsFactoryCall(\n num: number,\n key: string,\n fn: () => void,\n ) {\n return describe(`rejects factory request ${num} for ${key}`, () => {\n beforeEach(rejectFactoryCall(num, key));\n itRejectsAllRequestsOf(\"a\");\n\n fn();\n });\n }\n\n function describeResolvesFactoryCall(\n num: number,\n key: string,\n fn: () => void,\n ) {\n return describe(`resolves factory request ${num} for ${key}`, () => {\n beforeEach(resolveFactoryCall(num, key));\n fn();\n });\n }\n\n function describeAsyncCacheGetFor(key: string, fn: () => void) {\n return describe(`gets a request for '${key}'`, () => {\n beforeEach(initiateAsyncCacheGetFor(key));\n itDoesNotRejectLastRequestRightAway();\n\n fn();\n });\n }\n\n function itFulfillsAsyncCacheGets(indexes: number[], value: string) {\n it(`fulfills the AsyncCache.get()'s ${indexes.join(\", \")} with '${value}'`, async () => {\n for (const i of indexes) {\n expect(await pStateAsync(getPromises[i])).toBe(\"fulfilled\");\n expect(await getPromises[i]).toBe(value);\n }\n });\n }\n\n function itLeavesAsyncGetPromisesInStates(states: PromiseState[]) {\n it(`leaves the AsyncCache.get()'s in states [${states.join(\", \")}]`, async () => {\n expect(await Promise.all(getPromises.map(p => pStateAsync(p))))\n .toStrictEqual(states);\n for (let i = 0; i < states.length; i++) {\n expect(await pStateAsync(getPromises[i])).toBe(states[i]);\n }\n });\n }\n\n function itHasOnlyInvokedFactoryNTimes(n: number) {\n it(`has only invoked the factory ${n} times`, () => {\n expect(factoryFn).toHaveBeenCalledTimes(n);\n });\n }\n\n function itReturnsForAsyncGet(results: any[]) {\n it(\"returns for async get\", () => {\n expect(asyncCacheSpies.get.mock.settledResults.map(a => a.value))\n .toEqual(results);\n });\n }\n\n it(\"has a minimal base state\", () => {\n expect(cache.get).not.toHaveBeenCalled();\n expect(inProgress.get).not.toHaveBeenCalled();\n expect(factoryFn).not.toHaveBeenCalled();\n expect(inProgress.set).not.toHaveBeenCalled();\n });\n\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n\n describe(\"before the first resolves\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n\n describeRejectsFactoryCall(0, \"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"rejected\", \"rejected\"]);\n describeAsyncCacheGetFor(\"a\", () => {\n itDoesNotRejectLastRequestRightAway();\n itHasOnlyInvokedFactoryNTimes(2);\n });\n });\n\n describeAsyncCacheGetFor(\"b\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(2);\n\n describeResolvesFactoryCall(1, \"b\", () => {\n itLeavesAsyncGetPromisesInStates([\n \"pending\",\n \"pending\",\n \"fulfilled\",\n ]);\n\n itReturnsForAsyncGet([\n undefined,\n undefined,\n \"bResult\",\n ]);\n });\n });\n\n describeResolvesFactoryCall(0, \"a\", () => {\n itFulfillsAsyncCacheGets([0, 1], \"aResult\");\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n ]);\n\n describeAsyncCacheGetFor(\"a\", () => {\n itHasOnlyInvokedFactoryNTimes(1);\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n \"fulfilled\",\n ]);\n itReturnsForAsyncGet([\n \"aResult\",\n \"aResult\",\n \"aResult\",\n ]);\n });\n });\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,20 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+
17
+ /**
18
+ * A simple cache that can be used to store values for a given client.
19
+ */
20
+
21
+ /**
22
+ * Create a new cache with a factory function.
23
+ * @param fn A factory function that will be used to create the value if it does not exist in the cache.
24
+ */
25
+
26
+ /**
27
+ * Create a new cache without a factory function.
28
+ */
29
+
16
30
  export function createSimpleCache(map = new Map(), fn) {
17
31
  function set(key, value) {
18
32
  map.set(key, value);
@@ -33,11 +47,16 @@ export function createSimpleCache(map = new Map(), fn) {
33
47
  }
34
48
  };
35
49
  }
50
+ /**
51
+ * A simple async cache that can be used to store values for a given client.
52
+ */
53
+
36
54
  /**
37
55
  * Create a new cache with an async factory function.
38
56
  * @param fn A factory function that will be used to create the value if it does not exist in the cache.
39
57
  * @returns
40
58
  */
59
+
41
60
  export function createSimpleAsyncCache(type, fn, createCacheLocal = createSimpleCache) {
42
61
  const cache = createCacheLocal(type === "weak" ? new WeakMap() : new Map());
43
62
  const inProgress = createCacheLocal(type === "weak" ? new WeakMap() : new Map());
@@ -52,6 +71,7 @@ export function createSimpleAsyncCache(type, fn, createCacheLocal = createSimple
52
71
  // the `.set` happens first to prevent races.
53
72
  try {
54
73
  const r = await inProgress.set(k, v); // returns v
74
+
55
75
  cache.set(k, r);
56
76
  inProgress.remove(k);
57
77
  return r;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleCache.js","names":["createSimpleCache","map","Map","fn","set","key","value","get","r","undefined","remove","delete","createSimpleAsyncCache","type","createCacheLocal","cache","WeakMap","inProgress","ret","getOrUndefined","k","v","e"],"sources":["SimpleCache.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport function createSimpleCache(map = new Map(), fn) {\n function get(key) {\n let r = map.get(key);\n if (r === undefined && fn !== undefined) {\n return set(key, fn(key));\n }\n else {\n return r;\n }\n }\n function set(key, value) {\n map.set(key, value);\n return value;\n }\n function remove(key) {\n return map.delete(key);\n }\n return { get, set, remove };\n}\n/**\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\nexport function createSimpleAsyncCache(type, fn, createCacheLocal = createSimpleCache) {\n const cache = createCacheLocal((type === \"weak\" ? new WeakMap() : new Map()));\n const inProgress = createCacheLocal((type === \"weak\" ? new WeakMap() : new Map()));\n const ret = {\n getOrUndefined: function getOrUndefined(key) {\n return cache.get(key);\n },\n get: async function get(key) {\n return cache.get(key) ?? inProgress.get(key)\n ?? ret.set(key, fn(key));\n },\n set: async function set(k, v) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(k, v); // returns v\n cache.set(k, r);\n inProgress.remove(k);\n return r;\n }\n catch (e) {\n // we don't want to cache failures\n inProgress.remove(k);\n throw e;\n }\n },\n };\n return ret;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,iBAAiBA,CAACC,GAAG,GAAG,IAAIC,GAAG,CAAC,CAAC,EAAEC,EAAE,EAAE;EAUnD,SAASC,GAAGA,CAACC,GAAG,EAAEC,KAAK,EAAE;IACrBL,GAAG,CAACG,GAAG,CAACC,GAAG,EAAEC,KAAK,CAAC;IACnB,OAAOA,KAAK;EAChB;EAIA,OAAO;IAAEC,GAAG,EAhBZ,SAAAA,CAAaF,GAAG,EAAE;MACd,IAAIG,CAAC,GAAGP,GAAG,CAACM,GAAG,CAACF,GAAG,CAAC;MACpB,IAAIG,CAAC,KAAKC,SAAS,IAAIN,EAAE,KAAKM,SAAS,EAAE;QACrC,OAAOL,GAAG,CAACC,GAAG,EAAEF,EAAE,CAACE,GAAG,CAAC,CAAC;MAC5B,CAAC,MACI;QACD,OAAOG,CAAC;MACZ;IACJ,CAQY;IAAEJ,GAAG;IAAEM,MAAM,EAHzB,SAAAA,CAAgBL,GAAG,EAAE;MACjB,OAAOJ,GAAG,CAACU,MAAM,CAACN,GAAG,CAAC;IAC1B;EAC0B,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,sBAAsBA,CAACC,IAAI,EAAEV,EAAE,EAAEW,gBAAgB,GAAGd,iBAAiB,EAAE;EACnF,MAAMe,KAAK,GAAGD,gBAAgB,CAAED,IAAI,KAAK,MAAM,GAAG,IAAIG,OAAO,CAAC,CAAC,GAAG,IAAId,GAAG,CAAC,CAAE,CAAC;EAC7E,MAAMe,UAAU,GAAGH,gBAAgB,CAAED,IAAI,KAAK,MAAM,GAAG,IAAIG,OAAO,CAAC,CAAC,GAAG,IAAId,GAAG,CAAC,CAAE,CAAC;EAClF,MAAMgB,GAAG,GAAG;IACRC,cAAc,EAAE,SAAAA,CAAwBd,GAAG,EAAE;MACzC,OAAOU,KAAK,CAACR,GAAG,CAACF,GAAG,CAAC;IACzB,CAAC;IACDE,GAAG,EAAE,eAAAA,CAAmBF,GAAG,EAAE;MACzB,OAAOU,KAAK,CAACR,GAAG,CAACF,GAAG,CAAC,IAAIY,UAAU,CAACV,GAAG,CAACF,GAAG,CAAC,IACrCa,GAAG,CAACd,GAAG,CAACC,GAAG,EAAEF,EAAE,CAACE,GAAG,CAAC,CAAC;IAChC,CAAC;IACDD,GAAG,EAAE,eAAAA,CAAmBgB,CAAC,EAAEC,CAAC,EAAE;MAC1B;MACA,IAAI;QACA,MAAMb,CAAC,GAAG,MAAMS,UAAU,CAACb,GAAG,CAACgB,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC;QACtCN,KAAK,CAACX,GAAG,CAACgB,CAAC,EAAEZ,CAAC,CAAC;QACfS,UAAU,CAACP,MAAM,CAACU,CAAC,CAAC;QACpB,OAAOZ,CAAC;MACZ,CAAC,CACD,OAAOc,CAAC,EAAE;QACN;QACAL,UAAU,CAACP,MAAM,CAACU,CAAC,CAAC;QACpB,MAAME,CAAC;MACX;IACJ;EACJ,CAAC;EACD,OAAOJ,GAAG;AACd","ignoreList":[]}
1
+ {"version":3,"file":"SimpleCache.js","names":["createSimpleCache","map","Map","fn","set","key","value","get","r","undefined","remove","delete","createSimpleAsyncCache","type","createCacheLocal","cache","WeakMap","inProgress","ret","getOrUndefined","k","v","e"],"sources":["SimpleCache.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\n/**\n * A simple cache that can be used to store values for a given client.\n */\n\nexport interface SimpleCache<K, V> {\n get: (key: K) => V;\n set: <X extends V>(key: K, value: X) => X;\n remove: (key: K) => boolean;\n}\n/**\n * Create a new cache with a factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n */\n\nexport function createSimpleCache<K, V>(\n map: Map<K, V> | (K extends object ? WeakMap<K, V> : never),\n fn: (k: K) => V,\n): SimpleCache<K, V>;\n/**\n * Create a new cache without a factory function.\n */\nexport function createSimpleCache<K, V>(\n map?: Map<K, V> | (K extends object ? WeakMap<K, V> : never),\n): SimpleCache<\n K,\n V | undefined\n>;\nexport function createSimpleCache<K, V>(\n map: Map<K, V> | (K extends object ? WeakMap<K, V> : never) =\n new Map() as any,\n fn?: undefined | ((k: K) => V),\n): typeof fn extends undefined ? SimpleCache<K, V | undefined>\n : SimpleCache<K, V>\n{\n function get(key: K) {\n let r = (map as Map<K, V>).get(key as any);\n if (r === undefined && fn !== undefined) {\n return set(key, fn(key));\n } else {\n return r;\n }\n }\n\n function set(key: K, value: V) {\n map.set(key as any, value);\n return value;\n }\n\n function remove(key: K) {\n return map.delete(key as any);\n }\n\n return { get, set, remove } as SimpleCache<K, V>;\n}\n/**\n * A simple async cache that can be used to store values for a given client.\n */\n\nexport interface WeakAsyncCache<K, V> {\n getOrUndefined: (key: K) => V | undefined;\n\n get: (key: K) => Promise<V>;\n\n /**\n * @param client the client to key from\n * @param key the sub-key to use\n * @param value the value or a promise to the value\n * @returns a new promise to the resolved value\n */\n set: (\n key: K,\n value: V | Promise<V>,\n ) => Promise<V>;\n}\n/**\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\n\nexport function createSimpleAsyncCache<K, V>(\n type: \"weak\" | \"strong\",\n fn: (key: K) => Promise<V>,\n createCacheLocal: typeof createSimpleCache = createSimpleCache,\n): WeakAsyncCache<K, V> {\n const cache = createCacheLocal<K, V>(\n (type === \"weak\" ? new WeakMap() : new Map()) as Map<K, V>,\n );\n const inProgress = createCacheLocal<K, Promise<V> | V>(\n (type === \"weak\" ? new WeakMap() : new Map()) as Map<K, V>,\n );\n\n const ret = {\n getOrUndefined: function getOrUndefined(key: K) {\n return cache.get(key);\n },\n\n get: async function get(key: K) {\n return cache.get(key) ?? inProgress.get(key)\n ?? ret.set(key, fn(key));\n },\n\n set: async function set(k: K, v: V | Promise<V>) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(k, v); // returns v\n\n cache.set(k, r);\n inProgress.remove(k);\n return r;\n } catch (e) {\n // we don't want to cache failures\n inProgress.remove(k);\n throw e;\n }\n },\n };\n\n return ret;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAMA;AACA;AACA;;AAOA,OAAO,SAASA,iBAAiBA,CAC/BC,GAA2D,GACzD,IAAIC,GAAG,CAAC,CAAQ,EAClBC,EAA8B,EAGhC;EAUE,SAASC,GAAGA,CAACC,GAAM,EAAEC,KAAQ,EAAE;IAC7BL,GAAG,CAACG,GAAG,CAACC,GAAG,EAASC,KAAK,CAAC;IAC1B,OAAOA,KAAK;EACd;EAMA,OAAO;IAAEC,GAAG,EAlBZ,SAAAA,CAAaF,GAAM,EAAE;MACnB,IAAIG,CAAC,GAAIP,GAAG,CAAeM,GAAG,CAACF,GAAU,CAAC;MAC1C,IAAIG,CAAC,KAAKC,SAAS,IAAIN,EAAE,KAAKM,SAAS,EAAE;QACvC,OAAOL,GAAG,CAACC,GAAG,EAAEF,EAAE,CAACE,GAAG,CAAC,CAAC;MAC1B,CAAC,MAAM;QACL,OAAOG,CAAC;MACV;IACF,CAWY;IAAEJ,GAAG;IAAEM,MAAM,EAJzB,SAAAA,CAAgBL,GAAM,EAAE;MACtB,OAAOJ,GAAG,CAACU,MAAM,CAACN,GAAU,CAAC;IAC/B;EAE0B,CAAC;AAC7B;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASO,sBAAsBA,CACpCC,IAAuB,EACvBV,EAA0B,EAC1BW,gBAA0C,GAAGd,iBAAiB,EACxC;EACtB,MAAMe,KAAK,GAAGD,gBAAgB,CAC3BD,IAAI,KAAK,MAAM,GAAG,IAAIG,OAAO,CAAC,CAAC,GAAG,IAAId,GAAG,CAAC,CAC7C,CAAC;EACD,MAAMe,UAAU,GAAGH,gBAAgB,CAChCD,IAAI,KAAK,MAAM,GAAG,IAAIG,OAAO,CAAC,CAAC,GAAG,IAAId,GAAG,CAAC,CAC7C,CAAC;EAED,MAAMgB,GAAG,GAAG;IACVC,cAAc,EAAE,SAAAA,CAAwBd,GAAM,EAAE;MAC9C,OAAOU,KAAK,CAACR,GAAG,CAACF,GAAG,CAAC;IACvB,CAAC;IAEDE,GAAG,EAAE,eAAAA,CAAmBF,GAAM,EAAE;MAC9B,OAAOU,KAAK,CAACR,GAAG,CAACF,GAAG,CAAC,IAAIY,UAAU,CAACV,GAAG,CAACF,GAAG,CAAC,IACvCa,GAAG,CAACd,GAAG,CAACC,GAAG,EAAEF,EAAE,CAACE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEDD,GAAG,EAAE,eAAAA,CAAmBgB,CAAI,EAAEC,CAAiB,EAAE;MAC/C;MACA,IAAI;QACF,MAAMb,CAAC,GAAG,MAAMS,UAAU,CAACb,GAAG,CAACgB,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC;;QAEtCN,KAAK,CAACX,GAAG,CAACgB,CAAC,EAAEZ,CAAC,CAAC;QACfS,UAAU,CAACP,MAAM,CAACU,CAAC,CAAC;QACpB,OAAOZ,CAAC;MACV,CAAC,CAAC,OAAOc,CAAC,EAAE;QACV;QACAL,UAAU,CAACP,MAAM,CAACU,CAAC,CAAC;QACpB,MAAME,CAAC;MACT;IACF;EACF,CAAC;EAED,OAAOJ,GAAG;AACZ","ignoreList":[]}