@osdk/client 2.1.0-beta.9 → 2.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1179) hide show
  1. package/CHANGELOG.md +342 -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/derivedProperties/createWithPropertiesObjectSet.js +106 -0
  43. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -0
  44. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +100 -0
  45. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -0
  46. package/build/browser/fetchMetadata.js +2 -0
  47. package/build/browser/fetchMetadata.js.map +1 -1
  48. package/build/browser/fetchMetadata.test.js +19 -0
  49. package/build/browser/fetchMetadata.test.js.map +1 -1
  50. package/build/browser/index.js +2 -0
  51. package/build/browser/index.js.map +1 -1
  52. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  53. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  54. package/build/browser/intellisense.test.js +4 -1
  55. package/build/browser/intellisense.test.js.map +1 -1
  56. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  57. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  58. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  59. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  60. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  61. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  62. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +67 -18
  63. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  64. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  65. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  66. package/build/browser/object/AttachmentUpload.js +6 -13
  67. package/build/browser/object/AttachmentUpload.js.map +1 -1
  68. package/build/browser/object/Cache.js +27 -0
  69. package/build/browser/object/Cache.js.map +1 -1
  70. package/build/browser/object/Cache.test.js +10 -3
  71. package/build/browser/object/Cache.test.js.map +1 -1
  72. package/build/browser/object/SimpleCache.js +20 -0
  73. package/build/browser/object/SimpleCache.js.map +1 -1
  74. package/build/browser/object/aggregate.js +7 -9
  75. package/build/browser/object/aggregate.js.map +1 -1
  76. package/build/browser/object/aggregate.test.js +11 -9
  77. package/build/browser/object/aggregate.test.js.map +1 -1
  78. package/build/browser/object/attachment.test.js +1 -0
  79. package/build/browser/object/attachment.test.js.map +1 -1
  80. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  81. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  82. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  83. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  84. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  85. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  86. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  87. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  88. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  89. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  90. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  91. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  92. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  93. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  94. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  95. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  96. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  97. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  98. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  99. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  100. package/build/browser/object/convertWireToOsdkObjects.js +51 -4
  101. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  102. package/build/browser/object/convertWireToOsdkObjects.test.js +197 -44
  103. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  104. package/build/browser/object/fetchPage.js +42 -24
  105. package/build/browser/object/fetchPage.js.map +1 -1
  106. package/build/browser/object/fetchPage.test.js +80 -1
  107. package/build/browser/object/fetchPage.test.js.map +1 -1
  108. package/build/browser/object/fetchSingle.js +3 -0
  109. package/build/browser/object/fetchSingle.js.map +1 -1
  110. package/build/browser/object/geotimeseriesreference.test.js +2 -0
  111. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  112. package/build/browser/object/media.test.js +55 -0
  113. package/build/browser/object/media.test.js.map +1 -0
  114. package/build/browser/object/mediaUpload.js +20 -0
  115. package/build/browser/object/mediaUpload.js.map +1 -0
  116. package/build/browser/object/object.test.js +203 -10
  117. package/build/browser/object/object.test.js.map +1 -1
  118. package/build/browser/object/timeseries.test.js +11 -0
  119. package/build/browser/object/timeseries.test.js.map +1 -1
  120. package/build/browser/objectSet/InterfaceObjectSet.test.js +65 -0
  121. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  122. package/build/browser/objectSet/ObjectSet.test.js +339 -1
  123. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  124. package/build/browser/objectSet/ObjectSetFactory.js +0 -15
  125. package/build/browser/objectSet/ObjectSetFactory.js.map +1 -1
  126. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +117 -37
  127. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  128. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  129. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  130. package/build/browser/objectSet/conjureUnionType.js +1 -0
  131. package/build/browser/objectSet/conjureUnionType.js.map +1 -1
  132. package/build/browser/objectSet/createObjectSet.js +25 -6
  133. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  134. package/build/browser/observable/DebugFlags.js +19 -0
  135. package/build/browser/observable/DebugFlags.js.map +1 -0
  136. package/build/browser/observable/ListPayload.js +2 -0
  137. package/build/browser/observable/ListPayload.js.map +1 -0
  138. package/build/browser/observable/ObjectPayload.js +2 -0
  139. package/build/browser/observable/ObjectPayload.js.map +1 -0
  140. package/build/browser/observable/ObservableClient.js +23 -0
  141. package/build/browser/observable/ObservableClient.js.map +1 -0
  142. package/build/browser/observable/OptimisticBuilder.js +2 -0
  143. package/build/browser/observable/OptimisticBuilder.js.map +1 -0
  144. package/build/browser/observable/internal/CacheKey.js +2 -0
  145. package/build/browser/observable/internal/CacheKey.js.map +1 -0
  146. package/build/browser/observable/internal/CacheKeys.js +60 -0
  147. package/build/browser/observable/internal/CacheKeys.js.map +1 -0
  148. package/build/browser/observable/internal/Canonical.js +2 -0
  149. package/build/browser/observable/internal/Canonical.js.map +1 -0
  150. package/build/browser/observable/internal/ChangedObjects.js +24 -0
  151. package/build/browser/observable/internal/ChangedObjects.js.map +1 -0
  152. package/build/browser/observable/internal/Layer.js +76 -0
  153. package/build/browser/observable/internal/Layer.js.map +1 -0
  154. package/build/browser/observable/internal/ListQuery.js +250 -0
  155. package/build/browser/observable/internal/ListQuery.js.map +1 -0
  156. package/build/browser/observable/internal/ObjectQuery.js +71 -0
  157. package/build/browser/observable/internal/ObjectQuery.js.map +1 -0
  158. package/build/browser/observable/internal/ObservableClientImpl.js +38 -0
  159. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -0
  160. package/build/browser/observable/internal/OptimisticId.js +30 -0
  161. package/build/browser/observable/internal/OptimisticId.js.map +1 -0
  162. package/build/browser/observable/internal/OptimisticJob.js +91 -0
  163. package/build/browser/observable/internal/OptimisticJob.js.map +1 -0
  164. package/build/browser/observable/internal/Query.js +70 -0
  165. package/build/browser/observable/internal/Query.js.map +1 -0
  166. package/build/browser/observable/internal/RefCounts.js +77 -0
  167. package/build/browser/observable/internal/RefCounts.js.map +1 -0
  168. package/build/browser/observable/internal/Store.js +464 -0
  169. package/build/browser/observable/internal/Store.js.map +1 -0
  170. package/build/browser/observable/internal/Store.test.js +765 -0
  171. package/build/browser/observable/internal/Store.test.js.map +1 -0
  172. package/build/browser/observable/internal/WeakMapWithEntries.js +124 -0
  173. package/build/browser/observable/internal/WeakMapWithEntries.js.map +1 -0
  174. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +83 -0
  175. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  176. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  177. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  178. package/build/browser/observable/internal/objectMatchesWhereClause.js +112 -0
  179. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -0
  180. package/build/browser/observable/internal/objectMatchesWhereClause.test.js +121 -0
  181. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  182. package/build/browser/observable/internal/testUtils.js +178 -0
  183. package/build/browser/observable/internal/testUtils.js.map +1 -0
  184. package/build/browser/observable/types.js +2 -0
  185. package/build/browser/observable/types.js.map +1 -0
  186. package/build/browser/ontology/OntologyProvider.js +1 -0
  187. package/build/browser/ontology/OntologyProvider.js.map +1 -1
  188. package/build/browser/ontology/StandardOntologyProvider.js +2 -0
  189. package/build/browser/ontology/StandardOntologyProvider.js.map +1 -1
  190. package/build/browser/ontology/StandardOntologyProvider.test.js +2 -0
  191. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
  192. package/build/browser/ontology/loadActionMetadata.js +2 -1
  193. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  194. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  195. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  196. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  197. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  198. package/build/browser/ontology/loadQueryMetadata.js +2 -1
  199. package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
  200. package/build/browser/ontology/makeConjureContext.js +1 -0
  201. package/build/browser/ontology/makeConjureContext.js.map +1 -1
  202. package/build/browser/pageRequestAsAsyncIter.js +1 -0
  203. package/build/browser/pageRequestAsAsyncIter.js.map +1 -1
  204. package/build/browser/public/internal.js +20 -0
  205. package/build/browser/public/internal.js.map +1 -0
  206. package/build/browser/public/unstable-do-not-use.js +5 -0
  207. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  208. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  209. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  210. package/build/browser/public-utils/hydrateAttachmentFromRid.js +45 -0
  211. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  212. package/build/browser/public-utils/hydrateObjectSetFromRid.js +39 -0
  213. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  214. package/build/browser/queries/applyQuery.js +5 -5
  215. package/build/browser/queries/applyQuery.js.map +1 -1
  216. package/build/browser/queries/queries.test.js +9 -0
  217. package/build/browser/queries/queries.test.js.map +1 -1
  218. package/build/browser/queries/types.js +0 -15
  219. package/build/browser/queries/types.js.map +1 -1
  220. package/build/browser/tsserver.js +1 -0
  221. package/build/browser/tsserver.js.map +1 -1
  222. package/build/browser/util/ArrayElement.js +0 -15
  223. package/build/browser/util/ArrayElement.js.map +1 -1
  224. package/build/browser/util/NOOP.js +0 -15
  225. package/build/browser/util/NOOP.js.map +1 -1
  226. package/build/browser/util/NullableProps.js +0 -15
  227. package/build/browser/util/NullableProps.js.map +1 -1
  228. package/build/browser/util/UserAgent.js +2 -1
  229. package/build/browser/util/UserAgent.js.map +1 -1
  230. package/build/browser/util/WireObjectSet.js +2 -0
  231. package/build/browser/util/WireObjectSet.js.map +1 -1
  232. package/build/browser/util/addUserAgentAndRequestContextHeaders.js +1 -0
  233. package/build/browser/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  234. package/build/browser/util/augmentRequestContext.js +1 -0
  235. package/build/browser/util/augmentRequestContext.js.map +1 -1
  236. package/build/browser/util/datetimeConverters.js +60 -0
  237. package/build/browser/util/datetimeConverters.js.map +1 -0
  238. package/build/browser/util/datetimeConverters.test.js +76 -0
  239. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  240. package/build/browser/util/interfaceUtils.js +21 -0
  241. package/build/browser/util/interfaceUtils.js.map +1 -0
  242. package/build/browser/util/isOntologyObjectV2.js +1 -0
  243. package/build/browser/util/isOntologyObjectV2.js.map +1 -1
  244. package/build/browser/util/isOsdkBaseObject.js +1 -0
  245. package/build/browser/util/isOsdkBaseObject.js.map +1 -1
  246. package/build/browser/util/isOsdkObject.js +1 -0
  247. package/build/browser/util/isOsdkObject.js.map +1 -1
  248. package/build/browser/util/objectSetUtils.js +26 -0
  249. package/build/browser/util/objectSetUtils.js.map +1 -0
  250. package/build/browser/util/partialBy.js +0 -15
  251. package/build/browser/util/partialBy.js.map +1 -1
  252. package/build/browser/util/streamutils.js +7 -0
  253. package/build/browser/util/streamutils.js.map +1 -1
  254. package/build/browser/util/timeseriesUtils.js +2 -1
  255. package/build/browser/util/timeseriesUtils.js.map +1 -1
  256. package/build/browser/util/toDataValue.js +28 -2
  257. package/build/browser/util/toDataValue.js.map +1 -1
  258. package/build/browser/util/toDataValue.test.js +14 -1
  259. package/build/browser/util/toDataValue.test.js.map +1 -1
  260. package/build/browser/util/toDataValueQueries.js +10 -1
  261. package/build/browser/util/toDataValueQueries.js.map +1 -1
  262. package/build/cjs/Client-C8K3E1vH.d.cts +67 -0
  263. package/build/cjs/chunk-ACX536BS.cjs +1024 -0
  264. package/build/cjs/chunk-ACX536BS.cjs.map +1 -0
  265. package/build/cjs/chunk-FEUFIE6T.cjs +465 -0
  266. package/build/cjs/chunk-FEUFIE6T.cjs.map +1 -0
  267. package/build/cjs/chunk-Q7SFCCGT.cjs +11 -0
  268. package/build/cjs/chunk-Q7SFCCGT.cjs.map +1 -0
  269. package/build/cjs/graphql-JJX5MZPQ.cjs +10491 -0
  270. package/build/cjs/graphql-JJX5MZPQ.cjs.map +1 -0
  271. package/build/cjs/index.cjs +1665 -0
  272. package/build/cjs/index.cjs.map +1 -0
  273. package/build/cjs/index.d.cts +85 -0
  274. package/build/cjs/public/internal.cjs +36 -0
  275. package/build/cjs/public/internal.cjs.map +1 -0
  276. package/build/cjs/public/internal.d.cts +33 -0
  277. package/build/cjs/public/unstable-do-not-use.cjs +1248 -0
  278. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -0
  279. package/build/cjs/public/unstable-do-not-use.d.cts +62 -0
  280. package/build/esm/Client.js +7 -0
  281. package/build/esm/Client.js.map +1 -1
  282. package/build/esm/Definitions.test.js +1 -0
  283. package/build/esm/Definitions.test.js.map +1 -1
  284. package/build/esm/Logger.js +0 -15
  285. package/build/esm/Logger.js.map +1 -1
  286. package/build/esm/MinimalClientContext.js +0 -15
  287. package/build/esm/MinimalClientContext.js.map +1 -1
  288. package/build/esm/ResultOrError.js +1 -0
  289. package/build/esm/ResultOrError.js.map +1 -1
  290. package/build/esm/SatisfiesSemver.js +0 -15
  291. package/build/esm/SatisfiesSemver.js.map +1 -1
  292. package/build/esm/SatisfiesSemver.test.js +1 -0
  293. package/build/esm/SatisfiesSemver.test.js.map +1 -1
  294. package/build/esm/__unstable/ConjureSupport.js +8 -2
  295. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  296. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
  297. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  298. package/build/esm/actions/ActionValidationError.js +1 -1
  299. package/build/esm/actions/ActionValidationError.js.map +1 -1
  300. package/build/esm/actions/actions.test.js +85 -4
  301. package/build/esm/actions/actions.test.js.map +1 -1
  302. package/build/esm/actions/applyAction.js +2 -1
  303. package/build/esm/actions/applyAction.js.map +1 -1
  304. package/build/esm/createClient.js +37 -26
  305. package/build/esm/createClient.js.map +1 -1
  306. package/build/esm/createClient.test.js +25 -0
  307. package/build/esm/createClient.test.js.map +1 -1
  308. package/build/esm/createGeotimeSeriesProperty.js +5 -3
  309. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  310. package/build/esm/createMediaReferenceProperty.js +47 -0
  311. package/build/esm/createMediaReferenceProperty.js.map +1 -0
  312. package/build/esm/createMinimalClient.js +8 -1
  313. package/build/esm/createMinimalClient.js.map +1 -1
  314. package/build/esm/createPlatformClient.js +1 -0
  315. package/build/esm/createPlatformClient.js.map +1 -1
  316. package/build/esm/createTimeseriesProperty.js +2 -1
  317. package/build/esm/createTimeseriesProperty.js.map +1 -1
  318. package/build/esm/definitions/LinkDefinitions.test.js +4 -0
  319. package/build/esm/definitions/LinkDefinitions.test.js.map +1 -1
  320. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +106 -0
  321. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -0
  322. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +100 -0
  323. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -0
  324. package/build/esm/fetchMetadata.js +2 -0
  325. package/build/esm/fetchMetadata.js.map +1 -1
  326. package/build/esm/fetchMetadata.test.js +19 -0
  327. package/build/esm/fetchMetadata.test.js.map +1 -1
  328. package/build/esm/index.js +2 -0
  329. package/build/esm/index.js.map +1 -1
  330. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  331. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  332. package/build/esm/intellisense.test.js +4 -1
  333. package/build/esm/intellisense.test.js.map +1 -1
  334. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  335. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  336. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  337. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  338. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  339. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  340. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +67 -18
  341. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  342. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  343. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  344. package/build/esm/object/AttachmentUpload.js +6 -13
  345. package/build/esm/object/AttachmentUpload.js.map +1 -1
  346. package/build/esm/object/Cache.js +27 -0
  347. package/build/esm/object/Cache.js.map +1 -1
  348. package/build/esm/object/Cache.test.js +10 -3
  349. package/build/esm/object/Cache.test.js.map +1 -1
  350. package/build/esm/object/SimpleCache.js +20 -0
  351. package/build/esm/object/SimpleCache.js.map +1 -1
  352. package/build/esm/object/aggregate.js +7 -9
  353. package/build/esm/object/aggregate.js.map +1 -1
  354. package/build/esm/object/aggregate.test.js +11 -9
  355. package/build/esm/object/aggregate.test.js.map +1 -1
  356. package/build/esm/object/attachment.test.js +1 -0
  357. package/build/esm/object/attachment.test.js.map +1 -1
  358. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  359. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  360. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  361. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  362. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  363. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  364. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  365. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  366. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  367. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  368. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  369. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  370. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  371. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  372. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  373. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  374. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  375. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  376. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  377. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  378. package/build/esm/object/convertWireToOsdkObjects.js +51 -4
  379. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  380. package/build/esm/object/convertWireToOsdkObjects.test.js +197 -44
  381. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  382. package/build/esm/object/fetchPage.js +42 -24
  383. package/build/esm/object/fetchPage.js.map +1 -1
  384. package/build/esm/object/fetchPage.test.js +80 -1
  385. package/build/esm/object/fetchPage.test.js.map +1 -1
  386. package/build/esm/object/fetchSingle.js +3 -0
  387. package/build/esm/object/fetchSingle.js.map +1 -1
  388. package/build/esm/object/geotimeseriesreference.test.js +2 -0
  389. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  390. package/build/esm/object/media.test.js +55 -0
  391. package/build/esm/object/media.test.js.map +1 -0
  392. package/build/esm/object/mediaUpload.js +20 -0
  393. package/build/esm/object/mediaUpload.js.map +1 -0
  394. package/build/esm/object/object.test.js +203 -10
  395. package/build/esm/object/object.test.js.map +1 -1
  396. package/build/esm/object/timeseries.test.js +11 -0
  397. package/build/esm/object/timeseries.test.js.map +1 -1
  398. package/build/esm/objectSet/InterfaceObjectSet.test.js +65 -0
  399. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  400. package/build/esm/objectSet/ObjectSet.test.js +339 -1
  401. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  402. package/build/esm/objectSet/ObjectSetFactory.js +0 -15
  403. package/build/esm/objectSet/ObjectSetFactory.js.map +1 -1
  404. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +117 -40
  405. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  406. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  407. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  408. package/build/esm/objectSet/conjureUnionType.js +1 -0
  409. package/build/esm/objectSet/conjureUnionType.js.map +1 -1
  410. package/build/esm/objectSet/createObjectSet.js +25 -6
  411. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  412. package/build/esm/observable/DebugFlags.js +19 -0
  413. package/build/esm/observable/DebugFlags.js.map +1 -0
  414. package/build/esm/observable/ListPayload.js +2 -0
  415. package/build/esm/observable/ListPayload.js.map +1 -0
  416. package/build/esm/observable/ObjectPayload.js +2 -0
  417. package/build/esm/observable/ObjectPayload.js.map +1 -0
  418. package/build/esm/observable/ObservableClient.js +23 -0
  419. package/build/esm/observable/ObservableClient.js.map +1 -0
  420. package/build/esm/observable/OptimisticBuilder.js +2 -0
  421. package/build/esm/observable/OptimisticBuilder.js.map +1 -0
  422. package/build/esm/observable/internal/CacheKey.js +2 -0
  423. package/build/esm/observable/internal/CacheKey.js.map +1 -0
  424. package/build/esm/observable/internal/CacheKeys.js +60 -0
  425. package/build/esm/observable/internal/CacheKeys.js.map +1 -0
  426. package/build/esm/observable/internal/Canonical.js +2 -0
  427. package/build/esm/observable/internal/Canonical.js.map +1 -0
  428. package/build/esm/observable/internal/ChangedObjects.js +24 -0
  429. package/build/esm/observable/internal/ChangedObjects.js.map +1 -0
  430. package/build/esm/observable/internal/Layer.js +76 -0
  431. package/build/esm/observable/internal/Layer.js.map +1 -0
  432. package/build/esm/observable/internal/ListQuery.js +250 -0
  433. package/build/esm/observable/internal/ListQuery.js.map +1 -0
  434. package/build/esm/observable/internal/ObjectQuery.js +71 -0
  435. package/build/esm/observable/internal/ObjectQuery.js.map +1 -0
  436. package/build/esm/observable/internal/ObservableClientImpl.js +38 -0
  437. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -0
  438. package/build/esm/observable/internal/OptimisticId.js +30 -0
  439. package/build/esm/observable/internal/OptimisticId.js.map +1 -0
  440. package/build/esm/observable/internal/OptimisticJob.js +91 -0
  441. package/build/esm/observable/internal/OptimisticJob.js.map +1 -0
  442. package/build/esm/observable/internal/Query.js +70 -0
  443. package/build/esm/observable/internal/Query.js.map +1 -0
  444. package/build/esm/observable/internal/RefCounts.js +77 -0
  445. package/build/esm/observable/internal/RefCounts.js.map +1 -0
  446. package/build/esm/observable/internal/Store.js +464 -0
  447. package/build/esm/observable/internal/Store.js.map +1 -0
  448. package/build/esm/observable/internal/Store.test.js +765 -0
  449. package/build/esm/observable/internal/Store.test.js.map +1 -0
  450. package/build/esm/observable/internal/WeakMapWithEntries.js +124 -0
  451. package/build/esm/observable/internal/WeakMapWithEntries.js.map +1 -0
  452. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +83 -0
  453. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  454. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  455. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  456. package/build/esm/observable/internal/objectMatchesWhereClause.js +112 -0
  457. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -0
  458. package/build/esm/observable/internal/objectMatchesWhereClause.test.js +121 -0
  459. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  460. package/build/esm/observable/internal/testUtils.js +178 -0
  461. package/build/esm/observable/internal/testUtils.js.map +1 -0
  462. package/build/esm/observable/types.js +2 -0
  463. package/build/esm/observable/types.js.map +1 -0
  464. package/build/esm/ontology/OntologyProvider.js +1 -0
  465. package/build/esm/ontology/OntologyProvider.js.map +1 -1
  466. package/build/esm/ontology/StandardOntologyProvider.js +2 -0
  467. package/build/esm/ontology/StandardOntologyProvider.js.map +1 -1
  468. package/build/esm/ontology/StandardOntologyProvider.test.js +2 -0
  469. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
  470. package/build/esm/ontology/loadActionMetadata.js +2 -1
  471. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  472. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  473. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  474. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  475. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  476. package/build/esm/ontology/loadQueryMetadata.js +2 -1
  477. package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
  478. package/build/esm/ontology/makeConjureContext.js +1 -0
  479. package/build/esm/ontology/makeConjureContext.js.map +1 -1
  480. package/build/esm/pageRequestAsAsyncIter.js +1 -0
  481. package/build/esm/pageRequestAsAsyncIter.js.map +1 -1
  482. package/build/esm/public/internal.js +20 -0
  483. package/build/esm/public/internal.js.map +1 -0
  484. package/build/esm/public/unstable-do-not-use.js +5 -0
  485. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  486. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  487. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  488. package/build/esm/public-utils/hydrateAttachmentFromRid.js +45 -0
  489. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  490. package/build/esm/public-utils/hydrateObjectSetFromRid.js +39 -0
  491. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  492. package/build/esm/queries/applyQuery.js +5 -5
  493. package/build/esm/queries/applyQuery.js.map +1 -1
  494. package/build/esm/queries/queries.test.js +9 -0
  495. package/build/esm/queries/queries.test.js.map +1 -1
  496. package/build/esm/queries/types.js +0 -15
  497. package/build/esm/queries/types.js.map +1 -1
  498. package/build/esm/tsserver.js +1 -0
  499. package/build/esm/tsserver.js.map +1 -1
  500. package/build/esm/util/ArrayElement.js +0 -15
  501. package/build/esm/util/ArrayElement.js.map +1 -1
  502. package/build/esm/util/NOOP.js +0 -15
  503. package/build/esm/util/NOOP.js.map +1 -1
  504. package/build/esm/util/NullableProps.js +0 -15
  505. package/build/esm/util/NullableProps.js.map +1 -1
  506. package/build/esm/util/UserAgent.js +2 -1
  507. package/build/esm/util/UserAgent.js.map +1 -1
  508. package/build/esm/util/WireObjectSet.js +2 -0
  509. package/build/esm/util/WireObjectSet.js.map +1 -1
  510. package/build/esm/util/addUserAgentAndRequestContextHeaders.js +1 -0
  511. package/build/esm/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  512. package/build/esm/util/augmentRequestContext.js +1 -0
  513. package/build/esm/util/augmentRequestContext.js.map +1 -1
  514. package/build/esm/util/datetimeConverters.js +60 -0
  515. package/build/esm/util/datetimeConverters.js.map +1 -0
  516. package/build/esm/util/datetimeConverters.test.js +76 -0
  517. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  518. package/build/esm/util/interfaceUtils.js +21 -0
  519. package/build/esm/util/interfaceUtils.js.map +1 -0
  520. package/build/esm/util/isOntologyObjectV2.js +1 -0
  521. package/build/esm/util/isOntologyObjectV2.js.map +1 -1
  522. package/build/esm/util/isOsdkBaseObject.js +1 -0
  523. package/build/esm/util/isOsdkBaseObject.js.map +1 -1
  524. package/build/esm/util/isOsdkObject.js +1 -0
  525. package/build/esm/util/isOsdkObject.js.map +1 -1
  526. package/build/esm/util/objectSetUtils.js +26 -0
  527. package/build/esm/util/objectSetUtils.js.map +1 -0
  528. package/build/esm/util/partialBy.js +0 -15
  529. package/build/esm/util/partialBy.js.map +1 -1
  530. package/build/esm/util/streamutils.js +7 -0
  531. package/build/esm/util/streamutils.js.map +1 -1
  532. package/build/esm/util/timeseriesUtils.js +2 -1
  533. package/build/esm/util/timeseriesUtils.js.map +1 -1
  534. package/build/esm/util/toDataValue.js +28 -2
  535. package/build/esm/util/toDataValue.js.map +1 -1
  536. package/build/esm/util/toDataValue.test.js +14 -1
  537. package/build/esm/util/toDataValue.test.js.map +1 -1
  538. package/build/esm/util/toDataValueQueries.js +10 -1
  539. package/build/esm/util/toDataValueQueries.js.map +1 -1
  540. package/build/types/Client.d.ts +22 -0
  541. package/build/types/Client.d.ts.map +1 -0
  542. package/build/types/Definitions.test.d.ts +1 -0
  543. package/build/types/Definitions.test.d.ts.map +1 -0
  544. package/build/types/Logger.d.ts +18 -0
  545. package/build/types/Logger.d.ts.map +1 -0
  546. package/build/types/MinimalClientContext.d.ts +25 -0
  547. package/build/types/MinimalClientContext.d.ts.map +1 -0
  548. package/build/types/ResultOrError.d.ts +11 -0
  549. package/build/types/ResultOrError.d.ts.map +1 -0
  550. package/build/types/SatisfiesSemver.d.ts +10 -0
  551. package/build/types/SatisfiesSemver.d.ts.map +1 -0
  552. package/build/types/SatisfiesSemver.test.d.ts +1 -0
  553. package/build/types/SatisfiesSemver.test.d.ts.map +1 -0
  554. package/build/types/__unstable/ConjureSupport.d.ts +37 -0
  555. package/build/types/__unstable/ConjureSupport.d.ts.map +1 -0
  556. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts +4 -0
  557. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -0
  558. package/build/types/actions/ActionValidationError.d.ts +5 -0
  559. package/build/types/actions/ActionValidationError.d.ts.map +1 -0
  560. package/build/types/actions/actions.test.d.ts +1 -0
  561. package/build/types/actions/actions.test.d.ts.map +1 -0
  562. package/build/types/actions/applyAction.d.ts +31 -0
  563. package/build/types/actions/applyAction.d.ts.map +1 -0
  564. package/build/types/createClient.d.ts +5 -0
  565. package/build/types/createClient.d.ts.map +1 -0
  566. package/build/types/createClient.test.d.ts +1 -0
  567. package/build/types/createClient.test.d.ts.map +1 -0
  568. package/build/types/createGeotimeSeriesProperty.d.ts +13 -0
  569. package/build/types/createGeotimeSeriesProperty.d.ts.map +1 -0
  570. package/build/types/createMediaReferenceProperty.d.ts +13 -0
  571. package/build/types/createMediaReferenceProperty.d.ts.map +1 -0
  572. package/build/types/createMinimalClient.d.ts +1 -0
  573. package/build/types/createMinimalClient.d.ts.map +1 -0
  574. package/build/types/createPlatformClient.d.ts +15 -0
  575. package/build/types/createPlatformClient.d.ts.map +1 -0
  576. package/build/types/createTimeseriesProperty.d.ts +13 -0
  577. package/build/types/createTimeseriesProperty.d.ts.map +1 -0
  578. package/build/types/definitions/LinkDefinitions.test.d.ts +1 -0
  579. package/build/types/definitions/LinkDefinitions.test.d.ts.map +1 -0
  580. package/build/types/derivedProperties/createWithPropertiesObjectSet.d.ts +1 -0
  581. package/build/types/derivedProperties/createWithPropertiesObjectSet.d.ts.map +1 -0
  582. package/build/types/derivedProperties/createWithPropertiesObjectSet.test.d.ts +1 -0
  583. package/build/types/derivedProperties/createWithPropertiesObjectSet.test.d.ts.map +1 -0
  584. package/build/types/fetchMetadata.d.ts +1 -0
  585. package/build/types/fetchMetadata.d.ts.map +1 -0
  586. package/build/types/fetchMetadata.test.d.ts +1 -0
  587. package/build/types/fetchMetadata.test.d.ts.map +1 -0
  588. package/build/types/index.d.ts +12 -0
  589. package/build/types/index.d.ts.map +1 -0
  590. package/build/types/intellisense.test.d.ts +1 -0
  591. package/build/types/intellisense.test.d.ts.map +1 -0
  592. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +1 -0
  593. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +1 -0
  594. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts +1 -0
  595. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +1 -0
  596. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts +1 -0
  597. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts.map +1 -0
  598. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts +1 -0
  599. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts.map +1 -0
  600. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts +1 -0
  601. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -0
  602. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts +1 -0
  603. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +1 -0
  604. package/build/types/object/AttachmentUpload.d.ts +3 -0
  605. package/build/types/object/AttachmentUpload.d.ts.map +1 -0
  606. package/build/types/object/Cache.d.ts +17 -0
  607. package/build/types/object/Cache.d.ts.map +1 -0
  608. package/build/types/object/Cache.test.d.ts +1 -0
  609. package/build/types/object/Cache.test.d.ts.map +1 -0
  610. package/build/types/object/SimpleCache.d.ts +52 -0
  611. package/build/types/object/SimpleCache.d.ts.map +1 -0
  612. package/build/types/object/aggregate.d.ts +1 -0
  613. package/build/types/object/aggregate.d.ts.map +1 -0
  614. package/build/types/object/aggregate.test.d.ts +1 -0
  615. package/build/types/object/aggregate.test.d.ts.map +1 -0
  616. package/build/types/object/attachment.test.d.ts +1 -0
  617. package/build/types/object/attachment.test.d.ts.map +1 -0
  618. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -0
  619. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -0
  620. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +6 -0
  621. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -0
  622. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts +1 -0
  623. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +1 -0
  624. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -0
  625. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -0
  626. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +5 -0
  627. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +1 -0
  628. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +1 -0
  629. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +1 -0
  630. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +1 -0
  631. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +1 -0
  632. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts +1 -0
  633. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +1 -0
  634. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts +2 -0
  635. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -0
  636. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts +1 -0
  637. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +1 -0
  638. package/build/types/object/convertWireToOsdkObjects.d.ts +1 -0
  639. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -0
  640. package/build/types/object/convertWireToOsdkObjects.test.d.ts +1 -0
  641. package/build/types/object/convertWireToOsdkObjects.test.d.ts.map +1 -0
  642. package/build/types/object/fetchPage.d.ts +5 -0
  643. package/build/types/object/fetchPage.d.ts.map +1 -0
  644. package/build/types/object/fetchPage.test.d.ts +1 -0
  645. package/build/types/object/fetchPage.test.d.ts.map +1 -0
  646. package/build/types/object/fetchSingle.d.ts +1 -0
  647. package/build/types/object/fetchSingle.d.ts.map +1 -0
  648. package/build/types/object/geotimeseriesreference.test.d.ts +1 -0
  649. package/build/types/object/geotimeseriesreference.test.d.ts.map +1 -0
  650. package/build/types/object/media.test.d.ts +1 -0
  651. package/build/types/object/media.test.d.ts.map +1 -0
  652. package/build/types/object/mediaUpload.d.ts +2 -0
  653. package/build/types/object/mediaUpload.d.ts.map +1 -0
  654. package/build/types/object/object.test.d.ts +11 -0
  655. package/build/types/object/object.test.d.ts.map +1 -0
  656. package/build/types/object/timeseries.test.d.ts +1 -0
  657. package/build/types/object/timeseries.test.d.ts.map +1 -0
  658. package/build/types/objectSet/InterfaceObjectSet.test.d.ts +1 -0
  659. package/build/types/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  660. package/build/types/objectSet/ObjectSet.test.d.ts +7 -0
  661. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -0
  662. package/build/types/objectSet/ObjectSetFactory.d.ts +1 -0
  663. package/build/types/objectSet/ObjectSetFactory.d.ts.map +1 -0
  664. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts +1 -0
  665. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts.map +1 -0
  666. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts +1 -0
  667. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +1 -0
  668. package/build/types/objectSet/conjureUnionType.d.ts +13 -0
  669. package/build/types/objectSet/conjureUnionType.d.ts.map +1 -0
  670. package/build/types/objectSet/createObjectSet.d.ts +1 -0
  671. package/build/types/objectSet/createObjectSet.d.ts.map +1 -0
  672. package/build/types/observable/DebugFlags.d.ts +2 -0
  673. package/build/types/observable/DebugFlags.d.ts.map +1 -0
  674. package/build/types/observable/ListPayload.d.ts +10 -0
  675. package/build/types/observable/ListPayload.d.ts.map +1 -0
  676. package/build/types/observable/ObjectPayload.d.ts +8 -0
  677. package/build/types/observable/ObjectPayload.d.ts.map +1 -0
  678. package/build/types/observable/ObservableClient.d.ts +36 -0
  679. package/build/types/observable/ObservableClient.d.ts.map +1 -0
  680. package/build/types/observable/OptimisticBuilder.d.ts +5 -0
  681. package/build/types/observable/OptimisticBuilder.d.ts.map +1 -0
  682. package/build/types/observable/internal/CacheKey.d.ts +15 -0
  683. package/build/types/observable/internal/CacheKey.d.ts.map +1 -0
  684. package/build/types/observable/internal/CacheKeys.d.ts +8 -0
  685. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -0
  686. package/build/types/observable/internal/Canonical.d.ts +3 -0
  687. package/build/types/observable/internal/Canonical.d.ts.map +1 -0
  688. package/build/types/observable/internal/ChangedObjects.d.ts +7 -0
  689. package/build/types/observable/internal/ChangedObjects.d.ts.map +1 -0
  690. package/build/types/observable/internal/Layer.d.ts +19 -0
  691. package/build/types/observable/internal/Layer.d.ts.map +1 -0
  692. package/build/types/observable/internal/ListQuery.d.ts +42 -0
  693. package/build/types/observable/internal/ListQuery.d.ts.map +1 -0
  694. package/build/types/observable/internal/ObjectQuery.d.ts +19 -0
  695. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -0
  696. package/build/types/observable/internal/ObservableClientImpl.d.ts +1 -0
  697. package/build/types/observable/internal/ObservableClientImpl.d.ts.map +1 -0
  698. package/build/types/observable/internal/OptimisticId.d.ts +4 -0
  699. package/build/types/observable/internal/OptimisticId.d.ts.map +1 -0
  700. package/build/types/observable/internal/OptimisticJob.d.ts +11 -0
  701. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -0
  702. package/build/types/observable/internal/Query.d.ts +29 -0
  703. package/build/types/observable/internal/Query.d.ts.map +1 -0
  704. package/build/types/observable/internal/RefCounts.d.ts +12 -0
  705. package/build/types/observable/internal/RefCounts.d.ts.map +1 -0
  706. package/build/types/observable/internal/Store.d.ts +73 -0
  707. package/build/types/observable/internal/Store.d.ts.map +1 -0
  708. package/build/types/observable/internal/Store.test.d.ts +1 -0
  709. package/build/types/observable/internal/Store.test.d.ts.map +1 -0
  710. package/build/types/observable/internal/WeakMapWithEntries.d.ts +50 -0
  711. package/build/types/observable/internal/WeakMapWithEntries.d.ts.map +1 -0
  712. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +6 -0
  713. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -0
  714. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts +1 -0
  715. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts.map +1 -0
  716. package/build/types/observable/internal/objectMatchesWhereClause.d.ts +2 -0
  717. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -0
  718. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts +1 -0
  719. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts.map +1 -0
  720. package/build/types/observable/internal/testUtils.d.ts +40 -0
  721. package/build/types/observable/internal/testUtils.d.ts.map +1 -0
  722. package/build/types/observable/types.d.ts +1 -0
  723. package/build/types/observable/types.d.ts.map +1 -0
  724. package/build/types/ontology/OntologyProvider.d.ts +31 -0
  725. package/build/types/ontology/OntologyProvider.d.ts.map +1 -0
  726. package/build/types/ontology/StandardOntologyProvider.d.ts +3 -0
  727. package/build/types/ontology/StandardOntologyProvider.d.ts.map +1 -0
  728. package/build/types/ontology/StandardOntologyProvider.test.d.ts +1 -0
  729. package/build/types/ontology/StandardOntologyProvider.test.d.ts.map +1 -0
  730. package/build/types/ontology/loadActionMetadata.d.ts +3 -0
  731. package/build/types/ontology/loadActionMetadata.d.ts.map +1 -0
  732. package/build/types/ontology/loadFullObjectMetadata.d.ts +5 -0
  733. package/build/types/ontology/loadFullObjectMetadata.d.ts.map +1 -0
  734. package/build/types/ontology/loadInterfaceMetadata.d.ts +3 -0
  735. package/build/types/ontology/loadInterfaceMetadata.d.ts.map +1 -0
  736. package/build/types/ontology/loadQueryMetadata.d.ts +3 -0
  737. package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -0
  738. package/build/types/ontology/makeConjureContext.d.ts +3 -0
  739. package/build/types/ontology/makeConjureContext.d.ts.map +1 -0
  740. package/build/types/pageRequestAsAsyncIter.d.ts +16 -0
  741. package/build/types/pageRequestAsAsyncIter.d.ts.map +1 -0
  742. package/build/types/public/internal.d.ts +3 -0
  743. package/build/types/public/internal.d.ts.map +1 -0
  744. package/build/types/public/unstable-do-not-use.d.ts +7 -0
  745. package/build/types/public/unstable-do-not-use.d.ts.map +1 -0
  746. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts +10 -0
  747. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  748. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts +9 -0
  749. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  750. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts +10 -0
  751. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  752. package/build/types/queries/applyQuery.d.ts +8 -0
  753. package/build/types/queries/applyQuery.d.ts.map +1 -0
  754. package/build/types/queries/queries.test.d.ts +1 -0
  755. package/build/types/queries/queries.test.d.ts.map +1 -0
  756. package/build/types/queries/types.d.ts +15 -0
  757. package/build/types/queries/types.d.ts.map +1 -0
  758. package/build/types/tsserver.d.ts +34 -0
  759. package/build/types/tsserver.d.ts.map +1 -0
  760. package/build/types/util/ArrayElement.d.ts +1 -0
  761. package/build/types/util/ArrayElement.d.ts.map +1 -0
  762. package/build/types/util/NOOP.d.ts +1 -0
  763. package/build/types/util/NOOP.d.ts.map +1 -0
  764. package/build/types/util/NullableProps.d.ts +3 -0
  765. package/build/types/util/NullableProps.d.ts.map +1 -0
  766. package/build/types/util/UserAgent.d.ts +1 -0
  767. package/build/types/util/UserAgent.d.ts.map +1 -0
  768. package/build/types/util/WireObjectSet.d.ts +1 -0
  769. package/build/types/util/WireObjectSet.d.ts.map +1 -0
  770. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts +3 -0
  771. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts.map +1 -0
  772. package/build/types/util/augmentRequestContext.d.ts +31 -0
  773. package/build/types/util/augmentRequestContext.d.ts.map +1 -0
  774. package/build/types/util/datetimeConverters.d.ts +21 -0
  775. package/build/types/util/datetimeConverters.d.ts.map +1 -0
  776. package/build/types/util/datetimeConverters.test.d.ts +1 -0
  777. package/build/types/util/datetimeConverters.test.d.ts.map +1 -0
  778. package/build/types/util/interfaceUtils.d.ts +1 -0
  779. package/build/types/util/interfaceUtils.d.ts.map +1 -0
  780. package/build/types/util/isOntologyObjectV2.d.ts +1 -0
  781. package/build/types/util/isOntologyObjectV2.d.ts.map +1 -0
  782. package/build/types/util/isOsdkBaseObject.d.ts +2 -0
  783. package/build/types/util/isOsdkBaseObject.d.ts.map +1 -0
  784. package/build/types/util/isOsdkObject.d.ts +2 -0
  785. package/build/types/util/isOsdkObject.d.ts.map +1 -0
  786. package/build/types/util/objectSetUtils.d.ts +3 -0
  787. package/build/types/util/objectSetUtils.d.ts.map +1 -0
  788. package/build/types/util/partialBy.d.ts +8 -0
  789. package/build/types/util/partialBy.d.ts.map +1 -0
  790. package/build/types/util/streamutils.d.ts +2 -0
  791. package/build/types/util/streamutils.d.ts.map +1 -0
  792. package/build/types/util/timeseriesUtils.d.ts +7 -0
  793. package/build/types/util/timeseriesUtils.d.ts.map +1 -0
  794. package/build/types/util/toDataValue.d.ts +1 -0
  795. package/build/types/util/toDataValue.d.ts.map +1 -0
  796. package/build/types/util/toDataValue.test.d.ts +1 -0
  797. package/build/types/util/toDataValue.test.d.ts.map +1 -0
  798. package/build/types/util/toDataValueQueries.d.ts +1 -0
  799. package/build/types/util/toDataValueQueries.d.ts.map +1 -0
  800. package/index.d.ts +17 -0
  801. package/internal.d.ts +17 -0
  802. package/package.json +58 -24
  803. package/unstable-do-not-use.d.ts +1 -1
  804. package/build/browser/Client.d.ts +0 -26
  805. package/build/browser/Client.d.ts.map +0 -1
  806. package/build/browser/Definitions.test.d.ts +0 -2
  807. package/build/browser/Definitions.test.d.ts.map +0 -1
  808. package/build/browser/Logger.d.ts +0 -19
  809. package/build/browser/Logger.d.ts.map +0 -1
  810. package/build/browser/MinimalClientContext.d.ts +0 -26
  811. package/build/browser/MinimalClientContext.d.ts.map +0 -1
  812. package/build/browser/ResultOrError.d.ts +0 -12
  813. package/build/browser/ResultOrError.d.ts.map +0 -1
  814. package/build/browser/SatisfiesSemver.d.ts +0 -4
  815. package/build/browser/SatisfiesSemver.d.ts.map +0 -1
  816. package/build/browser/SatisfiesSemver.test.d.ts +0 -2
  817. package/build/browser/SatisfiesSemver.test.d.ts.map +0 -1
  818. package/build/browser/__unstable/ConjureSupport.d.ts +0 -55
  819. package/build/browser/__unstable/ConjureSupport.d.ts.map +0 -1
  820. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  821. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  822. package/build/browser/actions/ActionValidationError.d.ts +0 -6
  823. package/build/browser/actions/ActionValidationError.d.ts.map +0 -1
  824. package/build/browser/actions/actions.test.d.ts +0 -2
  825. package/build/browser/actions/actions.test.d.ts.map +0 -1
  826. package/build/browser/actions/applyAction.d.ts +0 -30
  827. package/build/browser/actions/applyAction.d.ts.map +0 -1
  828. package/build/browser/createAttachmentFromRid.d.ts +0 -10
  829. package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
  830. package/build/browser/createAttachmentFromRid.js +0 -38
  831. package/build/browser/createAttachmentFromRid.js.map +0 -1
  832. package/build/browser/createClient.d.ts +0 -6
  833. package/build/browser/createClient.d.ts.map +0 -1
  834. package/build/browser/createClient.test.d.ts +0 -2
  835. package/build/browser/createClient.test.d.ts.map +0 -1
  836. package/build/browser/createGeotimeSeriesProperty.d.ts +0 -14
  837. package/build/browser/createGeotimeSeriesProperty.d.ts.map +0 -1
  838. package/build/browser/createMinimalClient.d.ts +0 -2
  839. package/build/browser/createMinimalClient.d.ts.map +0 -1
  840. package/build/browser/createPlatformClient.d.ts +0 -17
  841. package/build/browser/createPlatformClient.d.ts.map +0 -1
  842. package/build/browser/createTimeseriesProperty.d.ts +0 -14
  843. package/build/browser/createTimeseriesProperty.d.ts.map +0 -1
  844. package/build/browser/definitions/LinkDefinitions.test.d.ts +0 -2
  845. package/build/browser/definitions/LinkDefinitions.test.d.ts.map +0 -1
  846. package/build/browser/fetchMetadata.d.ts +0 -2
  847. package/build/browser/fetchMetadata.d.ts.map +0 -1
  848. package/build/browser/fetchMetadata.test.d.ts +0 -2
  849. package/build/browser/fetchMetadata.test.d.ts.map +0 -1
  850. package/build/browser/index.d.ts +0 -12
  851. package/build/browser/index.d.ts.map +0 -1
  852. package/build/browser/intellisense.test.d.ts +0 -2
  853. package/build/browser/intellisense.test.d.ts.map +0 -1
  854. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  855. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  856. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  857. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  858. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  859. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  860. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  861. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  862. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  863. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  864. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  865. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  866. package/build/browser/object/AttachmentUpload.d.ts +0 -4
  867. package/build/browser/object/AttachmentUpload.d.ts.map +0 -1
  868. package/build/browser/object/Cache.d.ts +0 -2
  869. package/build/browser/object/Cache.d.ts.map +0 -1
  870. package/build/browser/object/Cache.test.d.ts +0 -11
  871. package/build/browser/object/Cache.test.d.ts.map +0 -1
  872. package/build/browser/object/SimpleCache.d.ts +0 -38
  873. package/build/browser/object/SimpleCache.d.ts.map +0 -1
  874. package/build/browser/object/aggregate.d.ts +0 -2
  875. package/build/browser/object/aggregate.d.ts.map +0 -1
  876. package/build/browser/object/aggregate.test.d.ts +0 -2
  877. package/build/browser/object/aggregate.test.d.ts.map +0 -1
  878. package/build/browser/object/attachment.test.d.ts +0 -2
  879. package/build/browser/object/attachment.test.d.ts.map +0 -1
  880. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  881. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  882. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  883. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  884. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  885. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  886. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  887. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  888. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  889. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  890. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  891. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  892. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  893. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  894. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  895. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  896. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  897. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  898. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  899. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  900. package/build/browser/object/convertWireToOsdkObjects.d.ts +0 -2
  901. package/build/browser/object/convertWireToOsdkObjects.d.ts.map +0 -1
  902. package/build/browser/object/convertWireToOsdkObjects.test.d.ts +0 -2
  903. package/build/browser/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  904. package/build/browser/object/fetchPage.d.ts +0 -3
  905. package/build/browser/object/fetchPage.d.ts.map +0 -1
  906. package/build/browser/object/fetchPage.test.d.ts +0 -2
  907. package/build/browser/object/fetchPage.test.d.ts.map +0 -1
  908. package/build/browser/object/fetchSingle.d.ts +0 -2
  909. package/build/browser/object/fetchSingle.d.ts.map +0 -1
  910. package/build/browser/object/geotimeseriesreference.test.d.ts +0 -2
  911. package/build/browser/object/geotimeseriesreference.test.d.ts.map +0 -1
  912. package/build/browser/object/object.test.d.ts +0 -12
  913. package/build/browser/object/object.test.d.ts.map +0 -1
  914. package/build/browser/object/timeseries.test.d.ts +0 -2
  915. package/build/browser/object/timeseries.test.d.ts.map +0 -1
  916. package/build/browser/objectSet/ObjectSet.test.d.ts +0 -2
  917. package/build/browser/objectSet/ObjectSet.test.d.ts.map +0 -1
  918. package/build/browser/objectSet/ObjectSetFactory.d.ts +0 -2
  919. package/build/browser/objectSet/ObjectSetFactory.d.ts.map +0 -1
  920. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  921. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  922. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  923. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  924. package/build/browser/objectSet/conjureUnionType.d.ts +0 -13
  925. package/build/browser/objectSet/conjureUnionType.d.ts.map +0 -1
  926. package/build/browser/objectSet/createObjectSet.d.ts +0 -2
  927. package/build/browser/objectSet/createObjectSet.d.ts.map +0 -1
  928. package/build/browser/objectSet/toConjureObjectSet.d.ts +0 -2
  929. package/build/browser/objectSet/toConjureObjectSet.d.ts.map +0 -1
  930. package/build/browser/objectSet/toConjureObjectSet.js +0 -165
  931. package/build/browser/objectSet/toConjureObjectSet.js.map +0 -1
  932. package/build/browser/ontology/OntologyProvider.d.ts +0 -32
  933. package/build/browser/ontology/OntologyProvider.d.ts.map +0 -1
  934. package/build/browser/ontology/StandardOntologyProvider.d.ts +0 -5
  935. package/build/browser/ontology/StandardOntologyProvider.d.ts.map +0 -1
  936. package/build/browser/ontology/StandardOntologyProvider.test.d.ts +0 -2
  937. package/build/browser/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  938. package/build/browser/ontology/loadActionMetadata.d.ts +0 -4
  939. package/build/browser/ontology/loadActionMetadata.d.ts.map +0 -1
  940. package/build/browser/ontology/loadFullObjectMetadata.d.ts +0 -6
  941. package/build/browser/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  942. package/build/browser/ontology/loadInterfaceMetadata.d.ts +0 -4
  943. package/build/browser/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  944. package/build/browser/ontology/loadQueryMetadata.d.ts +0 -4
  945. package/build/browser/ontology/loadQueryMetadata.d.ts.map +0 -1
  946. package/build/browser/ontology/makeConjureContext.d.ts +0 -4
  947. package/build/browser/ontology/makeConjureContext.d.ts.map +0 -1
  948. package/build/browser/pageRequestAsAsyncIter.d.ts +0 -10
  949. package/build/browser/pageRequestAsAsyncIter.d.ts.map +0 -1
  950. package/build/browser/public/unstable-do-not-use.d.ts +0 -2
  951. package/build/browser/public/unstable-do-not-use.d.ts.map +0 -1
  952. package/build/browser/queries/applyQuery.d.ts +0 -6
  953. package/build/browser/queries/applyQuery.d.ts.map +0 -1
  954. package/build/browser/queries/queries.test.d.ts +0 -2
  955. package/build/browser/queries/queries.test.d.ts.map +0 -1
  956. package/build/browser/queries/types.d.ts +0 -20
  957. package/build/browser/queries/types.d.ts.map +0 -1
  958. package/build/browser/tsserver.d.ts +0 -34
  959. package/build/browser/tsserver.d.ts.map +0 -1
  960. package/build/browser/util/ArrayElement.d.ts +0 -2
  961. package/build/browser/util/ArrayElement.d.ts.map +0 -1
  962. package/build/browser/util/NOOP.d.ts +0 -4
  963. package/build/browser/util/NOOP.d.ts.map +0 -1
  964. package/build/browser/util/NullableProps.d.ts +0 -6
  965. package/build/browser/util/NullableProps.d.ts.map +0 -1
  966. package/build/browser/util/UserAgent.d.ts +0 -2
  967. package/build/browser/util/UserAgent.d.ts.map +0 -1
  968. package/build/browser/util/WireObjectSet.d.ts +0 -2
  969. package/build/browser/util/WireObjectSet.d.ts.map +0 -1
  970. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  971. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  972. package/build/browser/util/augmentRequestContext.d.ts +0 -32
  973. package/build/browser/util/augmentRequestContext.d.ts.map +0 -1
  974. package/build/browser/util/isOntologyObjectV2.d.ts +0 -2
  975. package/build/browser/util/isOntologyObjectV2.d.ts.map +0 -1
  976. package/build/browser/util/isOsdkBaseObject.d.ts +0 -3
  977. package/build/browser/util/isOsdkBaseObject.d.ts.map +0 -1
  978. package/build/browser/util/isOsdkObject.d.ts +0 -3
  979. package/build/browser/util/isOsdkObject.d.ts.map +0 -1
  980. package/build/browser/util/partialBy.d.ts +0 -3
  981. package/build/browser/util/partialBy.d.ts.map +0 -1
  982. package/build/browser/util/streamutils.d.ts +0 -3
  983. package/build/browser/util/streamutils.d.ts.map +0 -1
  984. package/build/browser/util/timeseriesUtils.d.ts +0 -8
  985. package/build/browser/util/timeseriesUtils.d.ts.map +0 -1
  986. package/build/browser/util/toDataValue.d.ts +0 -2
  987. package/build/browser/util/toDataValue.d.ts.map +0 -1
  988. package/build/browser/util/toDataValue.test.d.ts +0 -2
  989. package/build/browser/util/toDataValue.test.d.ts.map +0 -1
  990. package/build/browser/util/toDataValueQueries.d.ts +0 -2
  991. package/build/browser/util/toDataValueQueries.d.ts.map +0 -1
  992. package/build/esm/Client.d.ts +0 -26
  993. package/build/esm/Client.d.ts.map +0 -1
  994. package/build/esm/Definitions.test.d.ts +0 -2
  995. package/build/esm/Definitions.test.d.ts.map +0 -1
  996. package/build/esm/Logger.d.ts +0 -19
  997. package/build/esm/Logger.d.ts.map +0 -1
  998. package/build/esm/MinimalClientContext.d.ts +0 -26
  999. package/build/esm/MinimalClientContext.d.ts.map +0 -1
  1000. package/build/esm/ResultOrError.d.ts +0 -12
  1001. package/build/esm/ResultOrError.d.ts.map +0 -1
  1002. package/build/esm/SatisfiesSemver.d.ts +0 -4
  1003. package/build/esm/SatisfiesSemver.d.ts.map +0 -1
  1004. package/build/esm/SatisfiesSemver.test.d.ts +0 -2
  1005. package/build/esm/SatisfiesSemver.test.d.ts.map +0 -1
  1006. package/build/esm/__unstable/ConjureSupport.d.ts +0 -55
  1007. package/build/esm/__unstable/ConjureSupport.d.ts.map +0 -1
  1008. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  1009. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  1010. package/build/esm/actions/ActionValidationError.d.ts +0 -6
  1011. package/build/esm/actions/ActionValidationError.d.ts.map +0 -1
  1012. package/build/esm/actions/actions.test.d.ts +0 -2
  1013. package/build/esm/actions/actions.test.d.ts.map +0 -1
  1014. package/build/esm/actions/applyAction.d.ts +0 -30
  1015. package/build/esm/actions/applyAction.d.ts.map +0 -1
  1016. package/build/esm/createAttachmentFromRid.d.ts +0 -10
  1017. package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
  1018. package/build/esm/createAttachmentFromRid.js +0 -38
  1019. package/build/esm/createAttachmentFromRid.js.map +0 -1
  1020. package/build/esm/createClient.d.ts +0 -6
  1021. package/build/esm/createClient.d.ts.map +0 -1
  1022. package/build/esm/createClient.test.d.ts +0 -2
  1023. package/build/esm/createClient.test.d.ts.map +0 -1
  1024. package/build/esm/createGeotimeSeriesProperty.d.ts +0 -14
  1025. package/build/esm/createGeotimeSeriesProperty.d.ts.map +0 -1
  1026. package/build/esm/createMinimalClient.d.ts +0 -2
  1027. package/build/esm/createMinimalClient.d.ts.map +0 -1
  1028. package/build/esm/createPlatformClient.d.ts +0 -17
  1029. package/build/esm/createPlatformClient.d.ts.map +0 -1
  1030. package/build/esm/createTimeseriesProperty.d.ts +0 -14
  1031. package/build/esm/createTimeseriesProperty.d.ts.map +0 -1
  1032. package/build/esm/definitions/LinkDefinitions.test.d.ts +0 -2
  1033. package/build/esm/definitions/LinkDefinitions.test.d.ts.map +0 -1
  1034. package/build/esm/fetchMetadata.d.ts +0 -2
  1035. package/build/esm/fetchMetadata.d.ts.map +0 -1
  1036. package/build/esm/fetchMetadata.test.d.ts +0 -2
  1037. package/build/esm/fetchMetadata.test.d.ts.map +0 -1
  1038. package/build/esm/index.d.ts +0 -12
  1039. package/build/esm/index.d.ts.map +0 -1
  1040. package/build/esm/intellisense.test.d.ts +0 -2
  1041. package/build/esm/intellisense.test.d.ts.map +0 -1
  1042. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  1043. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  1044. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  1045. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  1046. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  1047. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  1048. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  1049. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  1050. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  1051. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  1052. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  1053. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  1054. package/build/esm/object/AttachmentUpload.d.ts +0 -4
  1055. package/build/esm/object/AttachmentUpload.d.ts.map +0 -1
  1056. package/build/esm/object/Cache.d.ts +0 -2
  1057. package/build/esm/object/Cache.d.ts.map +0 -1
  1058. package/build/esm/object/Cache.test.d.ts +0 -11
  1059. package/build/esm/object/Cache.test.d.ts.map +0 -1
  1060. package/build/esm/object/SimpleCache.d.ts +0 -38
  1061. package/build/esm/object/SimpleCache.d.ts.map +0 -1
  1062. package/build/esm/object/aggregate.d.ts +0 -2
  1063. package/build/esm/object/aggregate.d.ts.map +0 -1
  1064. package/build/esm/object/aggregate.test.d.ts +0 -2
  1065. package/build/esm/object/aggregate.test.d.ts.map +0 -1
  1066. package/build/esm/object/attachment.test.d.ts +0 -2
  1067. package/build/esm/object/attachment.test.d.ts.map +0 -1
  1068. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  1069. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  1070. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  1071. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  1072. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  1073. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  1074. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  1075. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  1076. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  1077. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  1078. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  1079. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  1080. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  1081. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  1082. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  1083. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  1084. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  1085. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  1086. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  1087. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  1088. package/build/esm/object/convertWireToOsdkObjects.d.ts +0 -2
  1089. package/build/esm/object/convertWireToOsdkObjects.d.ts.map +0 -1
  1090. package/build/esm/object/convertWireToOsdkObjects.test.d.ts +0 -2
  1091. package/build/esm/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  1092. package/build/esm/object/fetchPage.d.ts +0 -3
  1093. package/build/esm/object/fetchPage.d.ts.map +0 -1
  1094. package/build/esm/object/fetchPage.test.d.ts +0 -2
  1095. package/build/esm/object/fetchPage.test.d.ts.map +0 -1
  1096. package/build/esm/object/fetchSingle.d.ts +0 -2
  1097. package/build/esm/object/fetchSingle.d.ts.map +0 -1
  1098. package/build/esm/object/geotimeseriesreference.test.d.ts +0 -2
  1099. package/build/esm/object/geotimeseriesreference.test.d.ts.map +0 -1
  1100. package/build/esm/object/object.test.d.ts +0 -12
  1101. package/build/esm/object/object.test.d.ts.map +0 -1
  1102. package/build/esm/object/timeseries.test.d.ts +0 -2
  1103. package/build/esm/object/timeseries.test.d.ts.map +0 -1
  1104. package/build/esm/objectSet/ObjectSet.test.d.ts +0 -2
  1105. package/build/esm/objectSet/ObjectSet.test.d.ts.map +0 -1
  1106. package/build/esm/objectSet/ObjectSetFactory.d.ts +0 -2
  1107. package/build/esm/objectSet/ObjectSetFactory.d.ts.map +0 -1
  1108. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  1109. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  1110. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  1111. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  1112. package/build/esm/objectSet/conjureUnionType.d.ts +0 -13
  1113. package/build/esm/objectSet/conjureUnionType.d.ts.map +0 -1
  1114. package/build/esm/objectSet/createObjectSet.d.ts +0 -2
  1115. package/build/esm/objectSet/createObjectSet.d.ts.map +0 -1
  1116. package/build/esm/objectSet/toConjureObjectSet.d.ts +0 -2
  1117. package/build/esm/objectSet/toConjureObjectSet.d.ts.map +0 -1
  1118. package/build/esm/objectSet/toConjureObjectSet.js +0 -165
  1119. package/build/esm/objectSet/toConjureObjectSet.js.map +0 -1
  1120. package/build/esm/ontology/OntologyProvider.d.ts +0 -32
  1121. package/build/esm/ontology/OntologyProvider.d.ts.map +0 -1
  1122. package/build/esm/ontology/StandardOntologyProvider.d.ts +0 -5
  1123. package/build/esm/ontology/StandardOntologyProvider.d.ts.map +0 -1
  1124. package/build/esm/ontology/StandardOntologyProvider.test.d.ts +0 -2
  1125. package/build/esm/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  1126. package/build/esm/ontology/loadActionMetadata.d.ts +0 -4
  1127. package/build/esm/ontology/loadActionMetadata.d.ts.map +0 -1
  1128. package/build/esm/ontology/loadFullObjectMetadata.d.ts +0 -6
  1129. package/build/esm/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  1130. package/build/esm/ontology/loadInterfaceMetadata.d.ts +0 -4
  1131. package/build/esm/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  1132. package/build/esm/ontology/loadQueryMetadata.d.ts +0 -4
  1133. package/build/esm/ontology/loadQueryMetadata.d.ts.map +0 -1
  1134. package/build/esm/ontology/makeConjureContext.d.ts +0 -4
  1135. package/build/esm/ontology/makeConjureContext.d.ts.map +0 -1
  1136. package/build/esm/pageRequestAsAsyncIter.d.ts +0 -10
  1137. package/build/esm/pageRequestAsAsyncIter.d.ts.map +0 -1
  1138. package/build/esm/public/unstable-do-not-use.d.ts +0 -2
  1139. package/build/esm/public/unstable-do-not-use.d.ts.map +0 -1
  1140. package/build/esm/queries/applyQuery.d.ts +0 -6
  1141. package/build/esm/queries/applyQuery.d.ts.map +0 -1
  1142. package/build/esm/queries/queries.test.d.ts +0 -2
  1143. package/build/esm/queries/queries.test.d.ts.map +0 -1
  1144. package/build/esm/queries/types.d.ts +0 -20
  1145. package/build/esm/queries/types.d.ts.map +0 -1
  1146. package/build/esm/tsserver.d.ts +0 -34
  1147. package/build/esm/tsserver.d.ts.map +0 -1
  1148. package/build/esm/util/ArrayElement.d.ts +0 -2
  1149. package/build/esm/util/ArrayElement.d.ts.map +0 -1
  1150. package/build/esm/util/NOOP.d.ts +0 -4
  1151. package/build/esm/util/NOOP.d.ts.map +0 -1
  1152. package/build/esm/util/NullableProps.d.ts +0 -6
  1153. package/build/esm/util/NullableProps.d.ts.map +0 -1
  1154. package/build/esm/util/UserAgent.d.ts +0 -2
  1155. package/build/esm/util/UserAgent.d.ts.map +0 -1
  1156. package/build/esm/util/WireObjectSet.d.ts +0 -2
  1157. package/build/esm/util/WireObjectSet.d.ts.map +0 -1
  1158. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  1159. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  1160. package/build/esm/util/augmentRequestContext.d.ts +0 -32
  1161. package/build/esm/util/augmentRequestContext.d.ts.map +0 -1
  1162. package/build/esm/util/isOntologyObjectV2.d.ts +0 -2
  1163. package/build/esm/util/isOntologyObjectV2.d.ts.map +0 -1
  1164. package/build/esm/util/isOsdkBaseObject.d.ts +0 -3
  1165. package/build/esm/util/isOsdkBaseObject.d.ts.map +0 -1
  1166. package/build/esm/util/isOsdkObject.d.ts +0 -3
  1167. package/build/esm/util/isOsdkObject.d.ts.map +0 -1
  1168. package/build/esm/util/partialBy.d.ts +0 -3
  1169. package/build/esm/util/partialBy.d.ts.map +0 -1
  1170. package/build/esm/util/streamutils.d.ts +0 -3
  1171. package/build/esm/util/streamutils.d.ts.map +0 -1
  1172. package/build/esm/util/timeseriesUtils.d.ts +0 -8
  1173. package/build/esm/util/timeseriesUtils.d.ts.map +0 -1
  1174. package/build/esm/util/toDataValue.d.ts +0 -2
  1175. package/build/esm/util/toDataValue.d.ts.map +0 -1
  1176. package/build/esm/util/toDataValue.test.d.ts +0 -2
  1177. package/build/esm/util/toDataValue.test.d.ts.map +0 -1
  1178. package/build/esm/util/toDataValueQueries.d.ts +0 -2
  1179. package/build/esm/util/toDataValueQueries.d.ts.map +0 -1
@@ -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":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,QAAQ,MAAM,eAAe;AACzC,OAAOC,MAAM,MAAM,SAAS;AAC5B,SAASC,iBAAiB,IAAIC,WAAW,QAAQ,SAAS;AAC1D,SAASC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AACxE,SAASC,sBAAsB,EAAEC,iBAAiB,QAAQ,YAAY;AACtEJ,MAAM,CAACK,MAAM,CAACZ,QAAQ,CAAC;AACvB,SAASa,UAAUA,CAACC,KAAK,EAAE;EACvB,OAAO;IACHC,GAAG,EAAEN,EAAE,CAACO,KAAK,CAACF,KAAK,EAAE,KAAK,CAAC;IAC3BG,MAAM,EAAER,EAAE,CAACO,KAAK,CAACF,KAAK,EAAE,QAAQ,CAAC;IACjCI,GAAG,EAAET,EAAE,CAACO,KAAK,CAACF,KAAK,EAAE,KAAK;EAC9B,CAAC;AACL;AACAR,QAAQ,CAAC,YAAY,EAAE,MAAM;EACzBF,SAAS,CAAC,MAAM,CAChB,CAAC,CAAC;EACF,MAAMe,UAAU,GAAG;IAAEC,cAAc,EAAE,CAAC;EAAE,CAAC;EACzC,MAAMC,WAAW,GAAG;IAAED,cAAc,EAAE,CAAC;EAAE,CAAC;EAC1CZ,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACrC,MAAMM,KAAK,GAAGJ,sBAAsB,CAAC,CAACY,MAAM,EAAEC,GAAG,KAAKC,OAAO,CAACC,OAAO,CAACF,GAAG,CAAC,CAAC;IAC3E,MAAMT,KAAK,CAACI,GAAG,CAACC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;IACrCZ,MAAM,CAAC,MAAMO,KAAK,CAACC,GAAG,CAACM,WAAW,EAAE,GAAG,CAAC,CAAC,CAACK,OAAO,CAAC,GAAG,CAAC;EAC1D,CAAC,CAAC;EACFlB,EAAE,CAAC,iDAAiD,EAAE,YAAY;IAC9D,MAAMM,KAAK,GAAGJ,sBAAsB,CAAC,CAACY,MAAM,EAAEC,GAAG,KAAKC,OAAO,CAACC,OAAO,CAACF,GAAG,CAAC,CAAC;IAC3E,MAAMT,KAAK,CAACI,GAAG,CAACC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;IACrCZ,MAAM,CAAC,MAAMO,KAAK,CAACC,GAAG,CAAC;MAAE,GAAGI;IAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAACO,OAAO,CAAC,GAAG,CAAC;EAChE,CAAC,CAAC;EACFlB,EAAE,CAAC,yBAAyB,EAAE,YAAY;IAItC,MAAMmB,IAAI,GAAGlB,EAAE,CAACmB,EAAE,CAHG,CAACN,MAAM,EAAEC,GAAG,KAAK,IAAIC,OAAO,CAAEC,OAAO,IAAa;MACnEI,UAAU,CAAC,MAAMJ,OAAO,CAACF,GAAG,CAAC,EAAE,GAAG,CAAC;IACvC,CAAC,CAC8B,CAAC;IAChC,MAAMT,KAAK,GAAGJ,sBAAsB,CAACiB,IAAI,CAAC;IAC1C,MAAMH,OAAO,CAACM,GAAG,CAAC,CACdhB,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,CAC7B,CAAC;IACFZ,MAAM,CAACoB,IAAI,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC;EACzC,CAAC,CAAC;EACFzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC1B,IAAI0B,SAAS;IACb,IAAIlB,KAAK;IACT,IAAImB,UAAU;IACd,IAAIC,UAAU;IACd,IAAIC,eAAe;IACnB,IAAIC,WAAW;IACf,IAAIC,aAAa;IACjB,IAAIC,WAAW;IACf,IAAIC,iBAAiB;IACrB,IAAIC,oBAAoB;IACxB,IAAIC,iBAAiB;IACrB,IAAIC,cAAc;IAClB,IAAIC,eAAe,GAAG,CAAC,CAAC;IACxBtC,UAAU,CAAC,YAAY;MACnB2B,SAAS,GAAGvB,EAAE,CAACmB,EAAE,CAAC,CAAC;MACnBI,SAAS,CAACY,kBAAkB,CAAC,MAAM;QAC/B,MAAMC,KAAK,GAAG5C,MAAM,CAAC,CAAC;QACtBoC,aAAa,CAACS,IAAI,CAACD,KAAK,CAAC;QACzB,OAAOA,KAAK,CAACE,OAAO;MACxB,CAAC,CAAC;MACFT,WAAW,GAAG,EAAE;MAChBD,aAAa,GAAG,EAAE;MAClBE,iBAAiB,GAAG,CAAC;MACrBC,oBAAoB,GAAG,CAAC;MACxBC,iBAAiB,GAAG,IAAIO,GAAG,CAAC,CAAC;MAC7BN,cAAc,GAAG,IAAIM,GAAG,CAAC,CAAC;MAC1BL,eAAe,GAAG,CAAC,CAAC;MACpB,MAAMM,mBAAmB,GAAGxC,EAAE,CAACmB,EAAE,CAAC,CAAC;MACnCd,KAAK,GAAGD,UAAU,CAACF,iBAAiB,CAAC,CAAC,CAAC;MACvCsB,UAAU,GAAGpB,UAAU,CAACF,iBAAiB,CAAC,CAAC,CAAC;MAC5CsC,mBAAmB,CAACC,mBAAmB,CAACpC,KAAK,CAAC;MAC9CmC,mBAAmB,CAACC,mBAAmB,CAACjB,UAAU,CAAC;MACnDC,UAAU,GAAGxB,sBAAsB,CAACsB,SAAS,EAAEiB,mBAAmB,CAAC;MACnEb,WAAW,GAAG3B,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,KAAK,CAAC;MACzCC,eAAe,GAAG;QACdpB,GAAG,EAAEN,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,KAAK,CAAC;QAChChB,GAAG,EAAET,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,KAAK,CAAC;QAChCiB,cAAc,EAAE1C,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,gBAAgB;MACzD,CAAC;MACD,MAAMkB,eAAe,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,SAASC,wBAAwBA,CAAC9B,GAAG,EAAE;MACnC,OAAO,YAAY;QACf,IAAI,CAACkB,iBAAiB,CAACa,GAAG,CAAC/B,GAAG,CAAC,EAAE;UAC7BoB,eAAe,CAACpB,GAAG,CAAC,GAAG,CAACoB,eAAe,CAACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;UACtD,IAAI,CAACmB,cAAc,CAACY,GAAG,CAAC/B,GAAG,CAAC,EAAE;YAC1BmB,cAAc,CAACa,GAAG,CAAChC,GAAG,CAAC;YACvBiB,oBAAoB,EAAE;YACtBD,iBAAiB,EAAE;UACvB;QACJ;QACA;QACA,MAAMiB,MAAM,GAAG,MAAMC,QAAQ,CAAC,CAAC;QAC/BnB,WAAW,CAACQ,IAAI,CAACZ,UAAU,CAACnB,GAAG,CAACI,UAAU,EAAEI,GAAG,CAAC,CAAC;QACjDhB,MAAM,CAAC,MAAMkD,QAAQ,CAAC,CAAC,CAAC,CAACC,aAAa,CAAC;UACnC,GAAGF,MAAM;UACTG,kBAAkB,EAAEH,MAAM,CAACG,kBAAkB,GAAG;UAChD;QACJ,CAAC,CAAC;QACF,MAAMP,eAAe,CAAC,CAAC;MAC3B,CAAC;IACL;IACA,SAASQ,kBAAkBA,CAACC,GAAG,EAAEtC,GAAG,EAAEuC,KAAK,GAAG,GAAGvC,GAAG,QAAQ,EAAE;MAC1D,OAAO,YAAY;QACf;QACAhB,MAAM,CAAC,MAAMJ,WAAW,CAACkC,aAAa,CAACwB,GAAG,CAAC,CAACd,OAAO,CAAC,CAAC,CAACgB,IAAI,CAAC,SAAS,CAAC;QACrExD,MAAM,CAACyB,SAAS,CAACL,IAAI,CAACqC,KAAK,CAACH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAACxC,GAAG,CAAC;QAC9ChB,MAAM,CAACmC,cAAc,CAAC,CAACuB,SAAS,CAAC1C,GAAG,CAAC;QACrChB,MAAM,CAACkC,iBAAiB,CAAC,CAACyB,GAAG,CAACD,SAAS,CAAC1C,GAAG,CAAC;QAC5C;QACA;QACAmB,cAAc,CAACyB,MAAM,CAACL,KAAK,CAAC;QAC5BrB,iBAAiB,CAACc,GAAG,CAACO,KAAK,CAAC;QAC5B;QACA,MAAMN,MAAM,GAAG,MAAMC,QAAQ,CAAC,CAAC;QAC/BpB,aAAa,CAACwB,GAAG,CAAC,CAACpC,OAAO,CAACqC,KAAK,CAAC;QACjCvD,MAAM,CAAC,MAAMkD,QAAQ,CAAC,CAAC,CAAC,CAACC,aAAa,CAAC;UACnC,GAAGF,MAAM;UACTY,qBAAqB,EAAEZ,MAAM,CAACY,qBAAqB,GAAG;QAC1D,CAAC,CAAC;QACF,MAAMhB,eAAe,CAAC,CAAC;MAC3B,CAAC;IACL;IACA,SAASiB,iBAAiBA,CAACR,GAAG,EAAEtC,GAAG,EAAE+C,KAAK,GAAG,GAAG/C,GAAG,OAAO,EAAE;MACxD,OAAO,YAAY;QACfhB,MAAM,CAACyB,SAAS,CAACL,IAAI,CAACqC,KAAK,CAACH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAACxC,GAAG,CAAC;QAC9ChB,MAAM,CAACmC,cAAc,CAAC,CAACuB,SAAS,CAAC1C,GAAG,CAAC;QACrCmB,cAAc,CAACyB,MAAM,CAAC5C,GAAG,CAAC;QAC1Bc,aAAa,CAACwB,GAAG,CAAC,CAACU,MAAM,CAAC,IAAIC,KAAK,CAACF,KAAK,CAAC,CAAC;QAC3C;QACA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGtC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACU,MAAM,EAAED,CAAC,EAAE,EAAE;UAC5D,IAAItC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKlD,GAAG,EAAE;YAC9C,IAAIY,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACgD,OAAO,CAACF,CAAC,CAAC,CAACG,IAAI,KAAK,QAAQ,EAAE;cACvDrE,MAAM,CAAC+B,WAAW,CAACmC,CAAC,CAAC,CAAC,CAACI,QAAQ,CAAC,CAAC;YACrC;UACJ;QACJ;QACA,MAAMzB,eAAe,CAAC,CAAC;MAC3B,CAAC;IACL;IACA,eAAeK,QAAQA,CAAA,EAAG;MACtB,OAAO;QACHW,qBAAqB,EAAE,CAAC,MAAM5C,OAAO,CAACM,GAAG,CAACO,aAAa,CAACyC,GAAG,CAACC,CAAC,IAAI5E,WAAW,CAAC4E,CAAC,CAAChC,OAAO,CAAC,CAAC,CAAC,EAAEiC,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAK,WAAW,CAAC,CAACP,MAAM;QAChIQ,oBAAoB,EAAE,CAAC,MAAM1D,OAAO,CAACM,GAAG,CAACO,aAAa,CAACyC,GAAG,CAACC,CAAC,IAAI5E,WAAW,CAAC4E,CAAC,CAAChC,OAAO,CAAC,CAAC,CAAC,EAAEiC,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAK,UAAU,CAAC,CAACP,MAAM;QAC9Hf,kBAAkB,EAAExB,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACU;MACvD,CAAC;IACL;IACA,eAAetB,eAAeA,CAAA,EAAG;MAC7B,MAAM+B,KAAK,GAAG,MAAM1B,QAAQ,CAAC,CAAC;MAC9B;MACAlD,MAAM,CAACyB,SAAS,CAAC,CAACD,qBAAqB,CAACS,oBAAoB,CAAC;MAC7DjC,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC,CAACa,qBAAqB,CAACS,oBAAoB,CAAC;MAClEjC,MAAM,CAAC6B,WAAW,CAAC,CAACL,qBAAqB,CAACQ,iBAAiB,CAAC;MAC5D;MACAhC,MAAM,CAAC0B,UAAU,CAAChB,MAAM,CAAC,CAACc,qBAAqB,CAACoD,KAAK,CAACf,qBAAqB,GAAGe,KAAK,CAACD,oBAAoB,CAAC;MACzG;MACA3E,MAAM,CAACO,KAAK,CAACC,GAAG,CAAC,CAACgB,qBAAqB,CAACoD,KAAK,CAACxB,kBAAkB,CAAC;MACjE;MACApD,MAAM,CAACO,KAAK,CAACI,GAAG,CAAC,CAACa,qBAAqB,CAACU,iBAAiB,CAAC2C,IAAI,CAAC;IACnE;IACA,SAASC,sBAAsBA,CAAC9D,GAAG,EAAE;MACjCf,EAAE,CAAC,eAAee,GAAG,WAAW,EAAE,MAAM;QACpC,KAAK,IAAIkD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGtC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACU,MAAM,EAAED,CAAC,EAAE,EAAE;UAC5D,IAAItC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKlD,GAAG,EAAE;YAC9ChB,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAAC2D,cAAc,CAACb,CAAC,CAAC,CAACG,IAAI,CAAC,CAACb,IAAI,CAAC,UAAU,CAAC;YACxExD,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAAC2D,cAAc,CAACb,CAAC,CAAC,CAACX,KAAK,CAAC,CACnDyB,aAAa,CAAC,IAAIf,KAAK,CAAC,QAAQ,CAAC,CAAC;UAC3C;QACJ;MACJ,CAAC,CAAC;IACN;IACA,SAASgB,mCAAmCA,CAAA,EAAG;MAC3ChF,EAAE,CAAC,4BAA4B,EAAE,MAAM;QACnCD,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACgD,OAAO,CAACc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEb,IAAI,CAAC,CAACb,IAAI,CAAC,QAAQ,CAAC;MACxE,CAAC,CAAC;IACN;IACA,SAAS2B,0BAA0BA,CAAC7B,GAAG,EAAEtC,GAAG,EAAEK,EAAE,EAAE;MAC9C,OAAOtB,QAAQ,CAAC,2BAA2BuD,GAAG,QAAQtC,GAAG,EAAE,EAAE,MAAM;QAC/DlB,UAAU,CAACgE,iBAAiB,CAACR,GAAG,EAAEtC,GAAG,CAAC,CAAC;QACvC8D,sBAAsB,CAAC,GAAG,CAAC;QAC3BzD,EAAE,CAAC,CAAC;MACR,CAAC,CAAC;IACN;IACA,SAAS+D,2BAA2BA,CAAC9B,GAAG,EAAEtC,GAAG,EAAEK,EAAE,EAAE;MAC/C,OAAOtB,QAAQ,CAAC,4BAA4BuD,GAAG,QAAQtC,GAAG,EAAE,EAAE,MAAM;QAChElB,UAAU,CAACuD,kBAAkB,CAACC,GAAG,EAAEtC,GAAG,CAAC,CAAC;QACxCK,EAAE,CAAC,CAAC;MACR,CAAC,CAAC;IACN;IACA,SAASgE,wBAAwBA,CAACrE,GAAG,EAAEK,EAAE,EAAE;MACvC,OAAOtB,QAAQ,CAAC,uBAAuBiB,GAAG,GAAG,EAAE,MAAM;QACjDlB,UAAU,CAACgD,wBAAwB,CAAC9B,GAAG,CAAC,CAAC;QACzCiE,mCAAmC,CAAC,CAAC;QACrC5D,EAAE,CAAC,CAAC;MACR,CAAC,CAAC;IACN;IACA,SAASiE,wBAAwBA,CAACC,OAAO,EAAEhC,KAAK,EAAE;MAC9CtD,EAAE,CAAC,mCAAmCsF,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,UAAUjC,KAAK,GAAG,EAAE,YAAY;QACpF,KAAK,MAAMW,CAAC,IAAIqB,OAAO,EAAE;UACrBvF,MAAM,CAAC,MAAMJ,WAAW,CAACmC,WAAW,CAACmC,CAAC,CAAC,CAAC,CAAC,CAACV,IAAI,CAAC,WAAW,CAAC;UAC3DxD,MAAM,CAAC,MAAM+B,WAAW,CAACmC,CAAC,CAAC,CAAC,CAACV,IAAI,CAACD,KAAK,CAAC;QAC5C;MACJ,CAAC,CAAC;IACN;IACA,SAASkC,gCAAgCA,CAACC,MAAM,EAAE;MAC9CzF,EAAE,CAAC,4CAA4CyF,MAAM,CAACF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY;QAC7ExF,MAAM,CAAC,MAAMiB,OAAO,CAACM,GAAG,CAACQ,WAAW,CAACwC,GAAG,CAACoB,CAAC,IAAI/F,WAAW,CAAC+F,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1DxC,aAAa,CAACuC,MAAM,CAAC;QAC1B,KAAK,IAAIxB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwB,MAAM,CAACvB,MAAM,EAAED,CAAC,EAAE,EAAE;UACpClE,MAAM,CAAC,MAAMJ,WAAW,CAACmC,WAAW,CAACmC,CAAC,CAAC,CAAC,CAAC,CAACV,IAAI,CAACkC,MAAM,CAACxB,CAAC,CAAC,CAAC;QAC7D;MACJ,CAAC,CAAC;IACN;IACA,SAAS0B,6BAA6BA,CAACC,CAAC,EAAE;MACtC5F,EAAE,CAAC,gCAAgC4F,CAAC,QAAQ,EAAE,MAAM;QAChD7F,MAAM,CAACyB,SAAS,CAAC,CAACD,qBAAqB,CAACqE,CAAC,CAAC;MAC9C,CAAC,CAAC;IACN;IACA,SAASC,oBAAoBA,CAAC1B,OAAO,EAAE;MACnCnE,EAAE,CAAC,uBAAuB,EAAE,MAAM;QAC9BD,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAAC2D,cAAc,CAACR,GAAG,CAACG,CAAC,IAAIA,CAAC,CAACnB,KAAK,CAAC,CAAC,CAC5DpC,OAAO,CAACiD,OAAO,CAAC;MACzB,CAAC,CAAC;IACN;IACAnE,EAAE,CAAC,0BAA0B,EAAE,MAAM;MACjCD,MAAM,CAACO,KAAK,CAACC,GAAG,CAAC,CAACmD,GAAG,CAACoC,gBAAgB,CAAC,CAAC;MACxC/F,MAAM,CAAC0B,UAAU,CAAClB,GAAG,CAAC,CAACmD,GAAG,CAACoC,gBAAgB,CAAC,CAAC;MAC7C/F,MAAM,CAACyB,SAAS,CAAC,CAACkC,GAAG,CAACoC,gBAAgB,CAAC,CAAC;MACxC/F,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC,CAACgD,GAAG,CAACoC,gBAAgB,CAAC,CAAC;IACjD,CAAC,CAAC;IACFV,wBAAwB,CAAC,GAAG,EAAE,MAAM;MAChCI,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC;MAC7CG,6BAA6B,CAAC,CAAC,CAAC;MAChCP,wBAAwB,CAAC,GAAG,EAAE,MAAM;QAChCI,gCAAgC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxDG,6BAA6B,CAAC,CAAC,CAAC;QAChC7F,QAAQ,CAAC,2BAA2B,EAAE,MAAM;UACxC0F,gCAAgC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;UACxDG,6BAA6B,CAAC,CAAC,CAAC;UAChCT,0BAA0B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;YACrCM,gCAAgC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1DJ,wBAAwB,CAAC,GAAG,EAAE,MAAM;cAChCJ,mCAAmC,CAAC,CAAC;cACrCW,6BAA6B,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC;UACN,CAAC,CAAC;UACFP,wBAAwB,CAAC,GAAG,EAAE,MAAM;YAChCI,gCAAgC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACnEG,6BAA6B,CAAC,CAAC,CAAC;YAChCR,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;cACtCK,gCAAgC,CAAC,CAC7B,SAAS,EACT,SAAS,EACT,WAAW,CACd,CAAC;cACFK,oBAAoB,CAAC,CACjBE,SAAS,EACTA,SAAS,EACT,SAAS,CACZ,CAAC;YACN,CAAC,CAAC;UACN,CAAC,CAAC;UACFZ,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;YACtCE,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;YAC3CG,gCAAgC,CAAC,CAC7B,WAAW,EACX,WAAW,CACd,CAAC;YACFJ,wBAAwB,CAAC,GAAG,EAAE,MAAM;cAChCO,6BAA6B,CAAC,CAAC,CAAC;cAChCH,gCAAgC,CAAC,CAC7B,WAAW,EACX,WAAW,EACX,WAAW,CACd,CAAC;cACFK,oBAAoB,CAAC,CACjB,SAAS,EACT,SAAS,EACT,SAAS,CACZ,CAAC;YACN,CAAC,CAAC;UACN,CAAC,CAAC;QACN,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","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":[]}
@@ -13,18 +13,18 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import * as OntologiesV2 from "@osdk/internal.foundry.ontologiesv2";
16
+
17
+ import * as OntologiesV2 from "@osdk/foundry.ontologies";
17
18
  import invariant from "tiny-invariant";
18
19
  import { legacyToModernSingleAggregationResult } from "../internal/conversions/legacyToModernSingleAggregationResult.js";
19
20
  import { modernToLegacyAggregationClause } from "../internal/conversions/modernToLegacyAggregationClause.js";
20
21
  import { modernToLegacyGroupByClause } from "../internal/conversions/modernToLegacyGroupByClause.js";
21
- import { modernToLegacyWhereClause } from "../internal/conversions/modernToLegacyWhereClause.js";
22
22
  import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
23
+ import { resolveBaseObjectSetType } from "../util/objectSetUtils.js";
24
+
23
25
  /** @internal */
24
- export async function aggregate(clientCtx, objectType, objectSet = {
25
- type: "base",
26
- objectType: objectType["apiName"]
27
- }, req) {
26
+ export async function aggregate(clientCtx, objectType, objectSet = resolveBaseObjectSetType(objectType), req) {
27
+ resolveBaseObjectSetType(objectType);
28
28
  const body = {
29
29
  aggregation: modernToLegacyAggregationClause(req.$select),
30
30
  groupBy: [],
@@ -33,9 +33,6 @@ export async function aggregate(clientCtx, objectType, objectSet = {
33
33
  if (req.$groupBy) {
34
34
  body.groupBy = modernToLegacyGroupByClause(req.$groupBy);
35
35
  }
36
- if (req.$where) {
37
- body.where = modernToLegacyWhereClause(req.$where, objectType);
38
- }
39
36
  const result = await OntologiesV2.OntologyObjectSets.aggregate(addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {
40
37
  objectSet,
41
38
  groupBy: body.groupBy,
@@ -55,6 +52,7 @@ export async function aggregate(clientCtx, objectType, objectSet = {
55
52
  ...legacyToModernSingleAggregationResult(entry)
56
53
  };
57
54
  }); // fixme
55
+
58
56
  return ret; // FIXME
59
57
  }
60
58
  function aggregationToCountResult(entry) {
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","names":["OntologiesV2","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","modernToLegacyWhereClause","addUserAgentAndRequestContextHeaders","aggregate","clientCtx","objectType","objectSet","type","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","$where","result","OntologyObjectSets","ontologyRid","data","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\n/** @internal */\nexport async function aggregate(clientCtx, objectType, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"],\n}, req) {\n const body = {\n aggregation: modernToLegacyAggregationClause(req.$select),\n groupBy: [],\n where: undefined,\n };\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n if (req.$where) {\n body.where = modernToLegacyWhereClause(req.$where, objectType);\n }\n const result = await OntologiesV2.OntologyObjectSets.aggregate(addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n });\n if (!req.$groupBy) {\n invariant(result.data.length === 1, \"no group by clause should mean only one data result\");\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(result.data[0]),\n };\n }\n const ret = result.data\n .map((entry) => {\n return {\n $group: entry.group,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry),\n };\n }); // fixme\n return ret; // FIXME\n}\nfunction aggregationToCountResult(entry) {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return { $count: aggregateResult.value };\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,OAAOC,SAAS,MAAM,gBAAgB;AACtC,SAASC,qCAAqC,QAAQ,kEAAkE;AACxH,SAASC,+BAA+B,QAAQ,4DAA4D;AAC5G,SAASC,2BAA2B,QAAQ,wDAAwD;AACpG,SAASC,yBAAyB,QAAQ,sDAAsD;AAChG,SAASC,oCAAoC,QAAQ,iDAAiD;AACtG;AACA,OAAO,eAAeC,SAASA,CAACC,SAAS,EAAEC,UAAU,EAAEC,SAAS,GAAG;EAC/DC,IAAI,EAAE,MAAM;EACZF,UAAU,EAAEA,UAAU,CAAC,SAAS;AACpC,CAAC,EAAEG,GAAG,EAAE;EACJ,MAAMC,IAAI,GAAG;IACTC,WAAW,EAAEX,+BAA+B,CAACS,GAAG,CAACG,OAAO,CAAC;IACzDC,OAAO,EAAE,EAAE;IACXC,KAAK,EAAEC;EACX,CAAC;EACD,IAAIN,GAAG,CAACO,QAAQ,EAAE;IACdN,IAAI,CAACG,OAAO,GAAGZ,2BAA2B,CAACQ,GAAG,CAACO,QAAQ,CAAC;EAC5D;EACA,IAAIP,GAAG,CAACQ,MAAM,EAAE;IACZP,IAAI,CAACI,KAAK,GAAGZ,yBAAyB,CAACO,GAAG,CAACQ,MAAM,EAAEX,UAAU,CAAC;EAClE;EACA,MAAMY,MAAM,GAAG,MAAMrB,YAAY,CAACsB,kBAAkB,CAACf,SAAS,CAACD,oCAAoC,CAACE,SAAS,EAAEC,UAAU,CAAC,EAAE,MAAMD,SAAS,CAACe,WAAW,EAAE;IACrJb,SAAS;IACTM,OAAO,EAAEH,IAAI,CAACG,OAAO;IACrBF,WAAW,EAAED,IAAI,CAACC;EACtB,CAAC,CAAC;EACF,IAAI,CAACF,GAAG,CAACO,QAAQ,EAAE;IACf,EAAUE,MAAM,CAACG,IAAI,CAACC,MAAM,KAAK,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAlC3B,SAAS,QAA2B,qDAAqD,IAAzFA,SAAS;IACT,OAAO;MACH,GAAG4B,wBAAwB,CAACR,MAAM,CAACG,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3C,GAAGtB,qCAAqC,CAACmB,MAAM,CAACG,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;EACL;EACA,MAAMM,GAAG,GAAGT,MAAM,CAACG,IAAI,CAClBO,GAAG,CAAEC,KAAK,IAAK;IAChB,OAAO;MACHC,MAAM,EAAED,KAAK,CAACE,KAAK;MACnB,GAAGL,wBAAwB,CAACG,KAAK,CAAC;MAClC,GAAG9B,qCAAqC,CAAC8B,KAAK;IAClD,CAAC;EACL,CAAC,CAAC,CAAC,CAAC;EACJ,OAAOF,GAAG,CAAC,CAAC;AAChB;AACA,SAASD,wBAAwBA,CAACG,KAAK,EAAE;EACrC,KAAK,MAAMG,eAAe,IAAIH,KAAK,CAACI,OAAO,EAAE;IACzC,IAAID,eAAe,CAACE,IAAI,KAAK,OAAO,EAAE;MAClC,OAAO;QAAEC,MAAM,EAAEH,eAAe,CAACI;MAAM,CAAC;IAC5C;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"aggregate.js","names":["OntologiesV2","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","aggregate","clientCtx","objectType","objectSet","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","result","OntologyObjectSets","ontologyRid","data","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AggregateOpts,\n AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy,\n AggregationResultsWithGroups,\n AggregationsResults,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n AggregateObjectsRequestV2,\n AggregateObjectsResponseV2,\n ObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport type { ArrayElement } from \"../util/ArrayElement.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate<\n Q extends ObjectOrInterfaceDefinition,\n AO extends AggregateOpts<Q>,\n>(\n clientCtx: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n req: AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<Q, AO>,\n): Promise<AggregationsResults<Q, AO>> {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body: AggregateObjectsRequestV2 = {\n aggregation: modernToLegacyAggregationClause<AO[\"$select\"]>(\n req.$select,\n ),\n groupBy: [],\n where: undefined,\n };\n\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n\n const result = await OntologiesV2.OntologyObjectSets.aggregate(\n addUserAgentAndRequestContextHeaders(clientCtx, objectType),\n await clientCtx.ontologyRid,\n {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n },\n );\n\n if (!req.$groupBy) {\n invariant(\n result.data.length === 1,\n \"no group by clause should mean only one data result\",\n );\n\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(\n result.data[0],\n ),\n } as any;\n }\n\n const ret: AggregationResultsWithGroups<Q, AO[\"$select\"], any> = result.data\n .map((entry) => {\n return {\n $group: entry.group as any,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry),\n };\n }) as any; // fixme\n\n return ret as any; // FIXME\n}\n\nfunction aggregationToCountResult(\n entry: ArrayElement<AggregateObjectsResponseV2[\"data\"]>,\n): { $count: number } | undefined {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return { $count: aggregateResult.value };\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,OAAOC,SAAS,MAAM,gBAAgB;AACtC,SAASC,qCAAqC,QAAQ,kEAAkE;AACxH,SAASC,+BAA+B,QAAQ,4DAA4D;AAC5G,SAASC,2BAA2B,QAAQ,wDAAwD;AAEpG,SAASC,oCAAoC,QAAQ,iDAAiD;AAEtG,SAASC,wBAAwB,QAAQ,2BAA2B;;AAEpE;AACA,OAAO,eAAeC,SAASA,CAI7BC,SAAwB,EACxBC,UAAa,EACbC,SAAoB,GAAGJ,wBAAwB,CAACG,UAAU,CAAC,EAC3DE,GAA0E,EACrC;EACXL,wBAAwB,CAACG,UAAU,CAAC;EAC9D,MAAMG,IAA+B,GAAG;IACtCC,WAAW,EAAEV,+BAA+B,CAC1CQ,GAAG,CAACG,OACN,CAAC;IACDC,OAAO,EAAE,EAAE;IACXC,KAAK,EAAEC;EACT,CAAC;EAED,IAAIN,GAAG,CAACO,QAAQ,EAAE;IAChBN,IAAI,CAACG,OAAO,GAAGX,2BAA2B,CAACO,GAAG,CAACO,QAAQ,CAAC;EAC1D;EAEA,MAAMC,MAAM,GAAG,MAAMnB,YAAY,CAACoB,kBAAkB,CAACb,SAAS,CAC5DF,oCAAoC,CAACG,SAAS,EAAEC,UAAU,CAAC,EAC3D,MAAMD,SAAS,CAACa,WAAW,EAC3B;IACEX,SAAS;IACTK,OAAO,EAAEH,IAAI,CAACG,OAAO;IACrBF,WAAW,EAAED,IAAI,CAACC;EACpB,CACF,CAAC;EAED,IAAI,CAACF,GAAG,CAACO,QAAQ,EAAE;IACjB,EACEC,MAAM,CAACG,IAAI,CAACC,MAAM,KAAK,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD1BzB,SAAS,QAEP,qDAAqD,IAFvDA,SAAS;IAKT,OAAO;MACL,GAAG0B,wBAAwB,CAACR,MAAM,CAACG,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3C,GAAGpB,qCAAqC,CACtCiB,MAAM,CAACG,IAAI,CAAC,CAAC,CACf;IACF,CAAC;EACH;EAEA,MAAMM,GAAwD,GAAGT,MAAM,CAACG,IAAI,CACzEO,GAAG,CAAEC,KAAK,IAAK;IACd,OAAO;MACLC,MAAM,EAAED,KAAK,CAACE,KAAY;MAC1B,GAAGL,wBAAwB,CAACG,KAAK,CAAC;MAClC,GAAG5B,qCAAqC,CAAC4B,KAAK;IAChD,CAAC;EACH,CAAC,CAAQ,CAAC,CAAC;;EAEb,OAAOF,GAAG,CAAQ,CAAC;AACrB;AAEA,SAASD,wBAAwBA,CAC/BG,KAAuD,EACvB;EAChC,KAAK,MAAMG,eAAe,IAAIH,KAAK,CAACI,OAAO,EAAE;IAC3C,IAAID,eAAe,CAACE,IAAI,KAAK,OAAO,EAAE;MACpC,OAAO;QAAEC,MAAM,EAAEH,eAAe,CAACI;MAAM,CAAC;IAC1C;EACF;AACF","ignoreList":[]}
@@ -13,9 +13,11 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+
16
17
  import { objectTypeWithAllPropertyTypes, Todo } from "@osdk/client.test.ontology";
17
18
  import { expectType } from "ts-expect";
18
19
  import { beforeAll, describe, expect, expectTypeOf, it, vi } from "vitest";
20
+ import { createClient } from "../createClient.js";
19
21
  import { createMinimalClient } from "../createMinimalClient.js";
20
22
  import { aggregate } from "./aggregate.js";
21
23
  const metadata = {
@@ -26,6 +28,7 @@ const metadata = {
26
28
  };
27
29
  let mockFetch;
28
30
  let clientCtx;
31
+ let client;
29
32
  beforeAll(() => {
30
33
  mockFetch = vi.fn();
31
34
  mockFetch.mockResolvedValue({
@@ -33,7 +36,8 @@ beforeAll(() => {
33
36
  status: 200,
34
37
  json: () => new Promise(resolve => resolve(aggregationResponse))
35
38
  });
36
- clientCtx = createMinimalClient(metadata, "https://host.com", async () => "", {}, mockFetch);
39
+ clientCtx = createMinimalClient(metadata, "https://host.com", async () => "myAccessToken", {}, mockFetch);
40
+ client = createClient("https://host.com", metadata.ontologyRid, async () => "", undefined, mockFetch);
37
41
  });
38
42
  const aggregationResponse = {
39
43
  accuracy: "APPROXIMATE",
@@ -108,10 +112,8 @@ describe("aggregate", () => {
108
112
  expectType(notGrouped.id.avg);
109
113
  expectType(notGrouped.$count);
110
114
  expectType(false); // subSelect should hide unused keys
111
- const grouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {
112
- type: "base",
113
- objectType: "ToDo"
114
- }, {
115
+
116
+ const grouped = await client(objectTypeWithAllPropertyTypes).aggregate({
115
117
  $select: {
116
118
  "id:approximateDistinct": "unordered",
117
119
  "id:exactDistinct": "unordered",
@@ -235,6 +237,7 @@ describe("aggregate", () => {
235
237
  $duration: [1, "years"]
236
238
  }
237
239
  });
240
+
238
241
  // Can't use value greater than 1 for years
239
242
  expectType({
240
243
  // @ts-expect-error
@@ -242,6 +245,7 @@ describe("aggregate", () => {
242
245
  $duration: [10, "years"]
243
246
  }
244
247
  });
248
+
245
249
  // Can't use arbitrary string for time unit
246
250
  expectType({
247
251
  // @ts-expect-error
@@ -249,6 +253,7 @@ describe("aggregate", () => {
249
253
  $duration: [1, "nonexistentTimeUnit"]
250
254
  }
251
255
  });
256
+
252
257
  // Can't use time unit smaller than days for date type
253
258
  expectType({
254
259
  // @ts-expect-error
@@ -373,10 +378,7 @@ describe("aggregate", () => {
373
378
  expectType(false); // subselect should hide unused keys
374
379
  });
375
380
  it("prohibits ordered select with multiple groupBy", async () => {
376
- aggregate(clientCtx, Todo, {
377
- type: "base",
378
- objectType: "ToDo"
379
- }, {
381
+ await client(Todo).aggregate({
380
382
  $select: {
381
383
  // @ts-expect-error
382
384
  "id:max": "desc",