@osdk/client 2.1.0-beta.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1167) hide show
  1. package/CHANGELOG.md +529 -0
  2. package/build/browser/Client.js +7 -0
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/Definitions.test.js +1 -0
  5. package/build/browser/Definitions.test.js.map +1 -1
  6. package/build/browser/Logger.js +0 -15
  7. package/build/browser/Logger.js.map +1 -1
  8. package/build/browser/MinimalClientContext.js +0 -15
  9. package/build/browser/MinimalClientContext.js.map +1 -1
  10. package/build/browser/ResultOrError.js +1 -0
  11. package/build/browser/ResultOrError.js.map +1 -1
  12. package/build/browser/SatisfiesSemver.js +0 -15
  13. package/build/browser/SatisfiesSemver.js.map +1 -1
  14. package/build/browser/SatisfiesSemver.test.js +1 -0
  15. package/build/browser/SatisfiesSemver.test.js.map +1 -1
  16. package/build/browser/__unstable/ConjureSupport.js +8 -2
  17. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  18. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
  19. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  20. package/build/browser/actions/ActionValidationError.js +1 -1
  21. package/build/browser/actions/ActionValidationError.js.map +1 -1
  22. package/build/browser/actions/actions.test.js +85 -4
  23. package/build/browser/actions/actions.test.js.map +1 -1
  24. package/build/browser/actions/applyAction.js +2 -1
  25. package/build/browser/actions/applyAction.js.map +1 -1
  26. package/build/browser/createClient.js +37 -26
  27. package/build/browser/createClient.js.map +1 -1
  28. package/build/browser/createClient.test.js +25 -0
  29. package/build/browser/createClient.test.js.map +1 -1
  30. package/build/browser/createGeotimeSeriesProperty.js +5 -3
  31. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  32. package/build/browser/createMediaReferenceProperty.js +47 -0
  33. package/build/browser/createMediaReferenceProperty.js.map +1 -0
  34. package/build/browser/createMinimalClient.js +8 -1
  35. package/build/browser/createMinimalClient.js.map +1 -1
  36. package/build/browser/createPlatformClient.js +1 -0
  37. package/build/browser/createPlatformClient.js.map +1 -1
  38. package/build/browser/createTimeseriesProperty.js +2 -1
  39. package/build/browser/createTimeseriesProperty.js.map +1 -1
  40. package/build/browser/definitions/LinkDefinitions.test.js +4 -0
  41. package/build/browser/definitions/LinkDefinitions.test.js.map +1 -1
  42. package/build/browser/fetchMetadata.js +2 -0
  43. package/build/browser/fetchMetadata.js.map +1 -1
  44. package/build/browser/fetchMetadata.test.js +19 -0
  45. package/build/browser/fetchMetadata.test.js.map +1 -1
  46. package/build/browser/index.js +2 -0
  47. package/build/browser/index.js.map +1 -1
  48. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  49. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  50. package/build/browser/intellisense.test.js +4 -1
  51. package/build/browser/intellisense.test.js.map +1 -1
  52. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  53. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  54. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  55. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  56. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  57. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  58. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +67 -18
  59. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  60. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  61. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  62. package/build/browser/object/AttachmentUpload.js +6 -13
  63. package/build/browser/object/AttachmentUpload.js.map +1 -1
  64. package/build/browser/object/Cache.js +27 -0
  65. package/build/browser/object/Cache.js.map +1 -1
  66. package/build/browser/object/Cache.test.js +10 -3
  67. package/build/browser/object/Cache.test.js.map +1 -1
  68. package/build/browser/object/SimpleCache.js +20 -0
  69. package/build/browser/object/SimpleCache.js.map +1 -1
  70. package/build/browser/object/aggregate.js +7 -9
  71. package/build/browser/object/aggregate.js.map +1 -1
  72. package/build/browser/object/aggregate.test.js +11 -9
  73. package/build/browser/object/aggregate.test.js.map +1 -1
  74. package/build/browser/object/attachment.test.js +1 -0
  75. package/build/browser/object/attachment.test.js.map +1 -1
  76. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  77. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  78. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  79. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  80. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  81. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  82. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  83. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  84. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  85. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  86. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  87. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  88. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  89. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  90. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  91. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  92. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  93. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  94. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  95. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  96. package/build/browser/object/convertWireToOsdkObjects.js +51 -4
  97. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  98. package/build/browser/object/convertWireToOsdkObjects.test.js +197 -44
  99. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  100. package/build/browser/object/fetchPage.js +42 -24
  101. package/build/browser/object/fetchPage.js.map +1 -1
  102. package/build/browser/object/fetchPage.test.js +80 -1
  103. package/build/browser/object/fetchPage.test.js.map +1 -1
  104. package/build/browser/object/fetchSingle.js +3 -0
  105. package/build/browser/object/fetchSingle.js.map +1 -1
  106. package/build/browser/object/geotimeseriesreference.test.js +2 -0
  107. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  108. package/build/browser/object/media.test.js +55 -0
  109. package/build/browser/object/media.test.js.map +1 -0
  110. package/build/browser/object/mediaUpload.js +20 -0
  111. package/build/browser/object/mediaUpload.js.map +1 -0
  112. package/build/browser/object/object.test.js +203 -10
  113. package/build/browser/object/object.test.js.map +1 -1
  114. package/build/browser/object/timeseries.test.js +11 -0
  115. package/build/browser/object/timeseries.test.js.map +1 -1
  116. package/build/browser/objectSet/InterfaceObjectSet.test.js +65 -0
  117. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  118. package/build/browser/objectSet/ObjectSet.test.js +140 -28
  119. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  120. package/build/browser/objectSet/ObjectSetFactory.js +0 -15
  121. package/build/browser/objectSet/ObjectSetFactory.js.map +1 -1
  122. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +117 -37
  123. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  124. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  125. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  126. package/build/browser/objectSet/conjureUnionType.js +1 -0
  127. package/build/browser/objectSet/conjureUnionType.js.map +1 -1
  128. package/build/browser/objectSet/createObjectSet.js +9 -6
  129. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  130. package/build/browser/observable/DebugFlags.js +19 -0
  131. package/build/browser/observable/DebugFlags.js.map +1 -0
  132. package/build/browser/observable/ListPayload.js +2 -0
  133. package/build/browser/observable/ListPayload.js.map +1 -0
  134. package/build/browser/observable/ObjectPayload.js +2 -0
  135. package/build/browser/observable/ObjectPayload.js.map +1 -0
  136. package/build/browser/observable/ObservableClient.js +23 -0
  137. package/build/browser/observable/ObservableClient.js.map +1 -0
  138. package/build/browser/observable/OptimisticBuilder.js +2 -0
  139. package/build/browser/observable/OptimisticBuilder.js.map +1 -0
  140. package/build/browser/observable/internal/CacheKey.js +2 -0
  141. package/build/browser/observable/internal/CacheKey.js.map +1 -0
  142. package/build/browser/observable/internal/CacheKeys.js +60 -0
  143. package/build/browser/observable/internal/CacheKeys.js.map +1 -0
  144. package/build/browser/observable/internal/Canonical.js +2 -0
  145. package/build/browser/observable/internal/Canonical.js.map +1 -0
  146. package/build/browser/observable/internal/ChangedObjects.js +24 -0
  147. package/build/browser/observable/internal/ChangedObjects.js.map +1 -0
  148. package/build/browser/observable/internal/Layer.js +76 -0
  149. package/build/browser/observable/internal/Layer.js.map +1 -0
  150. package/build/browser/observable/internal/ListQuery.js +250 -0
  151. package/build/browser/observable/internal/ListQuery.js.map +1 -0
  152. package/build/browser/observable/internal/ObjectQuery.js +71 -0
  153. package/build/browser/observable/internal/ObjectQuery.js.map +1 -0
  154. package/build/browser/observable/internal/ObservableClientImpl.js +38 -0
  155. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -0
  156. package/build/browser/observable/internal/OptimisticId.js +30 -0
  157. package/build/browser/observable/internal/OptimisticId.js.map +1 -0
  158. package/build/browser/observable/internal/OptimisticJob.js +91 -0
  159. package/build/browser/observable/internal/OptimisticJob.js.map +1 -0
  160. package/build/browser/observable/internal/Query.js +70 -0
  161. package/build/browser/observable/internal/Query.js.map +1 -0
  162. package/build/browser/observable/internal/RefCounts.js +77 -0
  163. package/build/browser/observable/internal/RefCounts.js.map +1 -0
  164. package/build/browser/observable/internal/Store.js +464 -0
  165. package/build/browser/observable/internal/Store.js.map +1 -0
  166. package/build/browser/observable/internal/Store.test.js +765 -0
  167. package/build/browser/observable/internal/Store.test.js.map +1 -0
  168. package/build/browser/observable/internal/WeakMapWithEntries.js +124 -0
  169. package/build/browser/observable/internal/WeakMapWithEntries.js.map +1 -0
  170. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +83 -0
  171. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  172. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  173. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  174. package/build/browser/observable/internal/objectMatchesWhereClause.js +112 -0
  175. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -0
  176. package/build/browser/observable/internal/objectMatchesWhereClause.test.js +121 -0
  177. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  178. package/build/browser/observable/internal/testUtils.js +178 -0
  179. package/build/browser/observable/internal/testUtils.js.map +1 -0
  180. package/build/browser/observable/types.js +2 -0
  181. package/build/browser/observable/types.js.map +1 -0
  182. package/build/browser/ontology/OntologyProvider.js +1 -0
  183. package/build/browser/ontology/OntologyProvider.js.map +1 -1
  184. package/build/browser/ontology/StandardOntologyProvider.js +2 -0
  185. package/build/browser/ontology/StandardOntologyProvider.js.map +1 -1
  186. package/build/browser/ontology/StandardOntologyProvider.test.js +2 -0
  187. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
  188. package/build/browser/ontology/loadActionMetadata.js +2 -1
  189. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  190. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  191. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  192. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  193. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  194. package/build/browser/ontology/loadQueryMetadata.js +2 -1
  195. package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
  196. package/build/browser/ontology/makeConjureContext.js +1 -0
  197. package/build/browser/ontology/makeConjureContext.js.map +1 -1
  198. package/build/browser/pageRequestAsAsyncIter.js +1 -0
  199. package/build/browser/pageRequestAsAsyncIter.js.map +1 -1
  200. package/build/browser/public/internal.js +20 -0
  201. package/build/browser/public/internal.js.map +1 -0
  202. package/build/browser/public/unstable-do-not-use.js +5 -0
  203. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  204. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  205. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  206. package/build/browser/public-utils/hydrateAttachmentFromRid.js +45 -0
  207. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  208. package/build/browser/public-utils/hydrateObjectSetFromRid.js +39 -0
  209. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  210. package/build/browser/queries/applyQuery.js +5 -5
  211. package/build/browser/queries/applyQuery.js.map +1 -1
  212. package/build/browser/queries/queries.test.js +9 -0
  213. package/build/browser/queries/queries.test.js.map +1 -1
  214. package/build/browser/queries/types.js +0 -15
  215. package/build/browser/queries/types.js.map +1 -1
  216. package/build/browser/tsserver.js +1 -0
  217. package/build/browser/tsserver.js.map +1 -1
  218. package/build/browser/util/ArrayElement.js +0 -15
  219. package/build/browser/util/ArrayElement.js.map +1 -1
  220. package/build/browser/util/NOOP.js +0 -15
  221. package/build/browser/util/NOOP.js.map +1 -1
  222. package/build/browser/util/NullableProps.js +0 -15
  223. package/build/browser/util/NullableProps.js.map +1 -1
  224. package/build/browser/util/UserAgent.js +2 -1
  225. package/build/browser/util/UserAgent.js.map +1 -1
  226. package/build/browser/util/WireObjectSet.js +2 -0
  227. package/build/browser/util/WireObjectSet.js.map +1 -1
  228. package/build/browser/util/addUserAgentAndRequestContextHeaders.js +1 -0
  229. package/build/browser/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  230. package/build/browser/util/augmentRequestContext.js +1 -0
  231. package/build/browser/util/augmentRequestContext.js.map +1 -1
  232. package/build/browser/util/datetimeConverters.js +60 -0
  233. package/build/browser/util/datetimeConverters.js.map +1 -0
  234. package/build/browser/util/datetimeConverters.test.js +76 -0
  235. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  236. package/build/browser/util/interfaceUtils.js +21 -0
  237. package/build/browser/util/interfaceUtils.js.map +1 -0
  238. package/build/browser/util/isOntologyObjectV2.js +1 -0
  239. package/build/browser/util/isOntologyObjectV2.js.map +1 -1
  240. package/build/browser/util/isOsdkBaseObject.js +1 -0
  241. package/build/browser/util/isOsdkBaseObject.js.map +1 -1
  242. package/build/browser/util/isOsdkObject.js +1 -0
  243. package/build/browser/util/isOsdkObject.js.map +1 -1
  244. package/build/browser/util/objectSetUtils.js +26 -0
  245. package/build/browser/util/objectSetUtils.js.map +1 -0
  246. package/build/browser/util/partialBy.js +0 -15
  247. package/build/browser/util/partialBy.js.map +1 -1
  248. package/build/browser/util/streamutils.js +7 -0
  249. package/build/browser/util/streamutils.js.map +1 -1
  250. package/build/browser/util/timeseriesUtils.js +2 -1
  251. package/build/browser/util/timeseriesUtils.js.map +1 -1
  252. package/build/browser/util/toDataValue.js +28 -2
  253. package/build/browser/util/toDataValue.js.map +1 -1
  254. package/build/browser/util/toDataValue.test.js +14 -1
  255. package/build/browser/util/toDataValue.test.js.map +1 -1
  256. package/build/browser/util/toDataValueQueries.js +10 -1
  257. package/build/browser/util/toDataValueQueries.js.map +1 -1
  258. package/build/cjs/Client-C8K3E1vH.d.cts +67 -0
  259. package/build/cjs/chunk-65QQ6SME.cjs +922 -0
  260. package/build/cjs/chunk-65QQ6SME.cjs.map +1 -0
  261. package/build/cjs/chunk-FEUFIE6T.cjs +465 -0
  262. package/build/cjs/chunk-FEUFIE6T.cjs.map +1 -0
  263. package/build/cjs/chunk-Q7SFCCGT.cjs +11 -0
  264. package/build/cjs/chunk-Q7SFCCGT.cjs.map +1 -0
  265. package/build/cjs/graphql-JJX5MZPQ.cjs +10491 -0
  266. package/build/cjs/graphql-JJX5MZPQ.cjs.map +1 -0
  267. package/build/cjs/index.cjs +1665 -0
  268. package/build/cjs/index.cjs.map +1 -0
  269. package/build/cjs/index.d.cts +85 -0
  270. package/build/cjs/public/internal.cjs +36 -0
  271. package/build/cjs/public/internal.cjs.map +1 -0
  272. package/build/cjs/public/internal.d.cts +33 -0
  273. package/build/cjs/public/unstable-do-not-use.cjs +1248 -0
  274. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -0
  275. package/build/cjs/public/unstable-do-not-use.d.cts +62 -0
  276. package/build/esm/Client.js +7 -0
  277. package/build/esm/Client.js.map +1 -1
  278. package/build/esm/Definitions.test.js +1 -0
  279. package/build/esm/Definitions.test.js.map +1 -1
  280. package/build/esm/Logger.js +0 -15
  281. package/build/esm/Logger.js.map +1 -1
  282. package/build/esm/MinimalClientContext.js +0 -15
  283. package/build/esm/MinimalClientContext.js.map +1 -1
  284. package/build/esm/ResultOrError.js +1 -0
  285. package/build/esm/ResultOrError.js.map +1 -1
  286. package/build/esm/SatisfiesSemver.js +0 -15
  287. package/build/esm/SatisfiesSemver.js.map +1 -1
  288. package/build/esm/SatisfiesSemver.test.js +1 -0
  289. package/build/esm/SatisfiesSemver.test.js.map +1 -1
  290. package/build/esm/__unstable/ConjureSupport.js +8 -2
  291. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  292. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
  293. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  294. package/build/esm/actions/ActionValidationError.js +1 -1
  295. package/build/esm/actions/ActionValidationError.js.map +1 -1
  296. package/build/esm/actions/actions.test.js +85 -4
  297. package/build/esm/actions/actions.test.js.map +1 -1
  298. package/build/esm/actions/applyAction.js +2 -1
  299. package/build/esm/actions/applyAction.js.map +1 -1
  300. package/build/esm/createClient.js +37 -26
  301. package/build/esm/createClient.js.map +1 -1
  302. package/build/esm/createClient.test.js +25 -0
  303. package/build/esm/createClient.test.js.map +1 -1
  304. package/build/esm/createGeotimeSeriesProperty.js +5 -3
  305. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  306. package/build/esm/createMediaReferenceProperty.js +47 -0
  307. package/build/esm/createMediaReferenceProperty.js.map +1 -0
  308. package/build/esm/createMinimalClient.js +8 -1
  309. package/build/esm/createMinimalClient.js.map +1 -1
  310. package/build/esm/createPlatformClient.js +1 -0
  311. package/build/esm/createPlatformClient.js.map +1 -1
  312. package/build/esm/createTimeseriesProperty.js +2 -1
  313. package/build/esm/createTimeseriesProperty.js.map +1 -1
  314. package/build/esm/definitions/LinkDefinitions.test.js +4 -0
  315. package/build/esm/definitions/LinkDefinitions.test.js.map +1 -1
  316. package/build/esm/fetchMetadata.js +2 -0
  317. package/build/esm/fetchMetadata.js.map +1 -1
  318. package/build/esm/fetchMetadata.test.js +19 -0
  319. package/build/esm/fetchMetadata.test.js.map +1 -1
  320. package/build/esm/index.js +2 -0
  321. package/build/esm/index.js.map +1 -1
  322. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  323. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  324. package/build/esm/intellisense.test.js +4 -1
  325. package/build/esm/intellisense.test.js.map +1 -1
  326. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  327. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  328. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  329. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  330. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  331. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  332. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +67 -18
  333. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  334. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  335. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  336. package/build/esm/object/AttachmentUpload.js +6 -13
  337. package/build/esm/object/AttachmentUpload.js.map +1 -1
  338. package/build/esm/object/Cache.js +27 -0
  339. package/build/esm/object/Cache.js.map +1 -1
  340. package/build/esm/object/Cache.test.js +10 -3
  341. package/build/esm/object/Cache.test.js.map +1 -1
  342. package/build/esm/object/SimpleCache.js +20 -0
  343. package/build/esm/object/SimpleCache.js.map +1 -1
  344. package/build/esm/object/aggregate.js +7 -9
  345. package/build/esm/object/aggregate.js.map +1 -1
  346. package/build/esm/object/aggregate.test.js +11 -9
  347. package/build/esm/object/aggregate.test.js.map +1 -1
  348. package/build/esm/object/attachment.test.js +1 -0
  349. package/build/esm/object/attachment.test.js.map +1 -1
  350. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  351. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  352. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  353. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  354. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  355. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  356. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  357. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  358. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  359. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  360. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  361. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  362. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  363. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  364. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  365. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  366. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  367. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  368. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  369. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  370. package/build/esm/object/convertWireToOsdkObjects.js +51 -4
  371. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  372. package/build/esm/object/convertWireToOsdkObjects.test.js +197 -44
  373. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  374. package/build/esm/object/fetchPage.js +42 -24
  375. package/build/esm/object/fetchPage.js.map +1 -1
  376. package/build/esm/object/fetchPage.test.js +80 -1
  377. package/build/esm/object/fetchPage.test.js.map +1 -1
  378. package/build/esm/object/fetchSingle.js +3 -0
  379. package/build/esm/object/fetchSingle.js.map +1 -1
  380. package/build/esm/object/geotimeseriesreference.test.js +2 -0
  381. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  382. package/build/esm/object/media.test.js +55 -0
  383. package/build/esm/object/media.test.js.map +1 -0
  384. package/build/esm/object/mediaUpload.js +20 -0
  385. package/build/esm/object/mediaUpload.js.map +1 -0
  386. package/build/esm/object/object.test.js +203 -10
  387. package/build/esm/object/object.test.js.map +1 -1
  388. package/build/esm/object/timeseries.test.js +11 -0
  389. package/build/esm/object/timeseries.test.js.map +1 -1
  390. package/build/esm/objectSet/InterfaceObjectSet.test.js +65 -0
  391. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  392. package/build/esm/objectSet/ObjectSet.test.js +140 -28
  393. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  394. package/build/esm/objectSet/ObjectSetFactory.js +0 -15
  395. package/build/esm/objectSet/ObjectSetFactory.js.map +1 -1
  396. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +117 -40
  397. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  398. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  399. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  400. package/build/esm/objectSet/conjureUnionType.js +1 -0
  401. package/build/esm/objectSet/conjureUnionType.js.map +1 -1
  402. package/build/esm/objectSet/createObjectSet.js +9 -6
  403. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  404. package/build/esm/observable/DebugFlags.js +19 -0
  405. package/build/esm/observable/DebugFlags.js.map +1 -0
  406. package/build/esm/observable/ListPayload.js +2 -0
  407. package/build/esm/observable/ListPayload.js.map +1 -0
  408. package/build/esm/observable/ObjectPayload.js +2 -0
  409. package/build/esm/observable/ObjectPayload.js.map +1 -0
  410. package/build/esm/observable/ObservableClient.js +23 -0
  411. package/build/esm/observable/ObservableClient.js.map +1 -0
  412. package/build/esm/observable/OptimisticBuilder.js +2 -0
  413. package/build/esm/observable/OptimisticBuilder.js.map +1 -0
  414. package/build/esm/observable/internal/CacheKey.js +2 -0
  415. package/build/esm/observable/internal/CacheKey.js.map +1 -0
  416. package/build/esm/observable/internal/CacheKeys.js +60 -0
  417. package/build/esm/observable/internal/CacheKeys.js.map +1 -0
  418. package/build/esm/observable/internal/Canonical.js +2 -0
  419. package/build/esm/observable/internal/Canonical.js.map +1 -0
  420. package/build/esm/observable/internal/ChangedObjects.js +24 -0
  421. package/build/esm/observable/internal/ChangedObjects.js.map +1 -0
  422. package/build/esm/observable/internal/Layer.js +76 -0
  423. package/build/esm/observable/internal/Layer.js.map +1 -0
  424. package/build/esm/observable/internal/ListQuery.js +250 -0
  425. package/build/esm/observable/internal/ListQuery.js.map +1 -0
  426. package/build/esm/observable/internal/ObjectQuery.js +71 -0
  427. package/build/esm/observable/internal/ObjectQuery.js.map +1 -0
  428. package/build/esm/observable/internal/ObservableClientImpl.js +38 -0
  429. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -0
  430. package/build/esm/observable/internal/OptimisticId.js +30 -0
  431. package/build/esm/observable/internal/OptimisticId.js.map +1 -0
  432. package/build/esm/observable/internal/OptimisticJob.js +91 -0
  433. package/build/esm/observable/internal/OptimisticJob.js.map +1 -0
  434. package/build/esm/observable/internal/Query.js +70 -0
  435. package/build/esm/observable/internal/Query.js.map +1 -0
  436. package/build/esm/observable/internal/RefCounts.js +77 -0
  437. package/build/esm/observable/internal/RefCounts.js.map +1 -0
  438. package/build/esm/observable/internal/Store.js +464 -0
  439. package/build/esm/observable/internal/Store.js.map +1 -0
  440. package/build/esm/observable/internal/Store.test.js +765 -0
  441. package/build/esm/observable/internal/Store.test.js.map +1 -0
  442. package/build/esm/observable/internal/WeakMapWithEntries.js +124 -0
  443. package/build/esm/observable/internal/WeakMapWithEntries.js.map +1 -0
  444. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +83 -0
  445. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  446. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  447. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  448. package/build/esm/observable/internal/objectMatchesWhereClause.js +112 -0
  449. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -0
  450. package/build/esm/observable/internal/objectMatchesWhereClause.test.js +121 -0
  451. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  452. package/build/esm/observable/internal/testUtils.js +178 -0
  453. package/build/esm/observable/internal/testUtils.js.map +1 -0
  454. package/build/esm/observable/types.js +2 -0
  455. package/build/esm/observable/types.js.map +1 -0
  456. package/build/esm/ontology/OntologyProvider.js +1 -0
  457. package/build/esm/ontology/OntologyProvider.js.map +1 -1
  458. package/build/esm/ontology/StandardOntologyProvider.js +2 -0
  459. package/build/esm/ontology/StandardOntologyProvider.js.map +1 -1
  460. package/build/esm/ontology/StandardOntologyProvider.test.js +2 -0
  461. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
  462. package/build/esm/ontology/loadActionMetadata.js +2 -1
  463. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  464. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  465. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  466. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  467. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  468. package/build/esm/ontology/loadQueryMetadata.js +2 -1
  469. package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
  470. package/build/esm/ontology/makeConjureContext.js +1 -0
  471. package/build/esm/ontology/makeConjureContext.js.map +1 -1
  472. package/build/esm/pageRequestAsAsyncIter.js +1 -0
  473. package/build/esm/pageRequestAsAsyncIter.js.map +1 -1
  474. package/build/esm/public/internal.js +20 -0
  475. package/build/esm/public/internal.js.map +1 -0
  476. package/build/esm/public/unstable-do-not-use.js +5 -0
  477. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  478. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  479. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  480. package/build/esm/public-utils/hydrateAttachmentFromRid.js +45 -0
  481. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  482. package/build/esm/public-utils/hydrateObjectSetFromRid.js +39 -0
  483. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  484. package/build/esm/queries/applyQuery.js +5 -5
  485. package/build/esm/queries/applyQuery.js.map +1 -1
  486. package/build/esm/queries/queries.test.js +9 -0
  487. package/build/esm/queries/queries.test.js.map +1 -1
  488. package/build/esm/queries/types.js +0 -15
  489. package/build/esm/queries/types.js.map +1 -1
  490. package/build/esm/tsserver.js +1 -0
  491. package/build/esm/tsserver.js.map +1 -1
  492. package/build/esm/util/ArrayElement.js +0 -15
  493. package/build/esm/util/ArrayElement.js.map +1 -1
  494. package/build/esm/util/NOOP.js +0 -15
  495. package/build/esm/util/NOOP.js.map +1 -1
  496. package/build/esm/util/NullableProps.js +0 -15
  497. package/build/esm/util/NullableProps.js.map +1 -1
  498. package/build/esm/util/UserAgent.js +2 -1
  499. package/build/esm/util/UserAgent.js.map +1 -1
  500. package/build/esm/util/WireObjectSet.js +2 -0
  501. package/build/esm/util/WireObjectSet.js.map +1 -1
  502. package/build/esm/util/addUserAgentAndRequestContextHeaders.js +1 -0
  503. package/build/esm/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  504. package/build/esm/util/augmentRequestContext.js +1 -0
  505. package/build/esm/util/augmentRequestContext.js.map +1 -1
  506. package/build/esm/util/datetimeConverters.js +60 -0
  507. package/build/esm/util/datetimeConverters.js.map +1 -0
  508. package/build/esm/util/datetimeConverters.test.js +76 -0
  509. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  510. package/build/esm/util/interfaceUtils.js +21 -0
  511. package/build/esm/util/interfaceUtils.js.map +1 -0
  512. package/build/esm/util/isOntologyObjectV2.js +1 -0
  513. package/build/esm/util/isOntologyObjectV2.js.map +1 -1
  514. package/build/esm/util/isOsdkBaseObject.js +1 -0
  515. package/build/esm/util/isOsdkBaseObject.js.map +1 -1
  516. package/build/esm/util/isOsdkObject.js +1 -0
  517. package/build/esm/util/isOsdkObject.js.map +1 -1
  518. package/build/esm/util/objectSetUtils.js +26 -0
  519. package/build/esm/util/objectSetUtils.js.map +1 -0
  520. package/build/esm/util/partialBy.js +0 -15
  521. package/build/esm/util/partialBy.js.map +1 -1
  522. package/build/esm/util/streamutils.js +7 -0
  523. package/build/esm/util/streamutils.js.map +1 -1
  524. package/build/esm/util/timeseriesUtils.js +2 -1
  525. package/build/esm/util/timeseriesUtils.js.map +1 -1
  526. package/build/esm/util/toDataValue.js +28 -2
  527. package/build/esm/util/toDataValue.js.map +1 -1
  528. package/build/esm/util/toDataValue.test.js +14 -1
  529. package/build/esm/util/toDataValue.test.js.map +1 -1
  530. package/build/esm/util/toDataValueQueries.js +10 -1
  531. package/build/esm/util/toDataValueQueries.js.map +1 -1
  532. package/build/types/Client.d.ts +22 -0
  533. package/build/types/Client.d.ts.map +1 -0
  534. package/build/types/Definitions.test.d.ts +1 -0
  535. package/build/types/Definitions.test.d.ts.map +1 -0
  536. package/build/types/Logger.d.ts +18 -0
  537. package/build/types/Logger.d.ts.map +1 -0
  538. package/build/types/MinimalClientContext.d.ts +25 -0
  539. package/build/types/MinimalClientContext.d.ts.map +1 -0
  540. package/build/types/ResultOrError.d.ts +11 -0
  541. package/build/types/ResultOrError.d.ts.map +1 -0
  542. package/build/types/SatisfiesSemver.d.ts +10 -0
  543. package/build/types/SatisfiesSemver.d.ts.map +1 -0
  544. package/build/types/SatisfiesSemver.test.d.ts +1 -0
  545. package/build/types/SatisfiesSemver.test.d.ts.map +1 -0
  546. package/build/types/__unstable/ConjureSupport.d.ts +37 -0
  547. package/build/types/__unstable/ConjureSupport.d.ts.map +1 -0
  548. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts +4 -0
  549. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -0
  550. package/build/types/actions/ActionValidationError.d.ts +5 -0
  551. package/build/types/actions/ActionValidationError.d.ts.map +1 -0
  552. package/build/types/actions/actions.test.d.ts +1 -0
  553. package/build/types/actions/actions.test.d.ts.map +1 -0
  554. package/build/types/actions/applyAction.d.ts +31 -0
  555. package/build/types/actions/applyAction.d.ts.map +1 -0
  556. package/build/types/createClient.d.ts +5 -0
  557. package/build/types/createClient.d.ts.map +1 -0
  558. package/build/types/createClient.test.d.ts +1 -0
  559. package/build/types/createClient.test.d.ts.map +1 -0
  560. package/build/types/createGeotimeSeriesProperty.d.ts +13 -0
  561. package/build/types/createGeotimeSeriesProperty.d.ts.map +1 -0
  562. package/build/types/createMediaReferenceProperty.d.ts +13 -0
  563. package/build/types/createMediaReferenceProperty.d.ts.map +1 -0
  564. package/build/types/createMinimalClient.d.ts +1 -0
  565. package/build/types/createMinimalClient.d.ts.map +1 -0
  566. package/build/types/createPlatformClient.d.ts +15 -0
  567. package/build/types/createPlatformClient.d.ts.map +1 -0
  568. package/build/types/createTimeseriesProperty.d.ts +13 -0
  569. package/build/types/createTimeseriesProperty.d.ts.map +1 -0
  570. package/build/types/definitions/LinkDefinitions.test.d.ts +1 -0
  571. package/build/types/definitions/LinkDefinitions.test.d.ts.map +1 -0
  572. package/build/types/fetchMetadata.d.ts +1 -0
  573. package/build/types/fetchMetadata.d.ts.map +1 -0
  574. package/build/types/fetchMetadata.test.d.ts +1 -0
  575. package/build/types/fetchMetadata.test.d.ts.map +1 -0
  576. package/build/types/index.d.ts +12 -0
  577. package/build/types/index.d.ts.map +1 -0
  578. package/build/types/intellisense.test.d.ts +1 -0
  579. package/build/types/intellisense.test.d.ts.map +1 -0
  580. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +1 -0
  581. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +1 -0
  582. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts +1 -0
  583. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +1 -0
  584. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts +1 -0
  585. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts.map +1 -0
  586. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts +1 -0
  587. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts.map +1 -0
  588. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts +1 -0
  589. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -0
  590. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts +1 -0
  591. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +1 -0
  592. package/build/types/object/AttachmentUpload.d.ts +3 -0
  593. package/build/types/object/AttachmentUpload.d.ts.map +1 -0
  594. package/build/types/object/Cache.d.ts +17 -0
  595. package/build/types/object/Cache.d.ts.map +1 -0
  596. package/build/types/object/Cache.test.d.ts +1 -0
  597. package/build/types/object/Cache.test.d.ts.map +1 -0
  598. package/build/types/object/SimpleCache.d.ts +52 -0
  599. package/build/types/object/SimpleCache.d.ts.map +1 -0
  600. package/build/types/object/aggregate.d.ts +1 -0
  601. package/build/types/object/aggregate.d.ts.map +1 -0
  602. package/build/types/object/aggregate.test.d.ts +1 -0
  603. package/build/types/object/aggregate.test.d.ts.map +1 -0
  604. package/build/types/object/attachment.test.d.ts +1 -0
  605. package/build/types/object/attachment.test.d.ts.map +1 -0
  606. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -0
  607. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -0
  608. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +6 -0
  609. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -0
  610. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts +1 -0
  611. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +1 -0
  612. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -0
  613. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -0
  614. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +5 -0
  615. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +1 -0
  616. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +1 -0
  617. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +1 -0
  618. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +1 -0
  619. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +1 -0
  620. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts +1 -0
  621. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +1 -0
  622. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts +2 -0
  623. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -0
  624. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts +1 -0
  625. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +1 -0
  626. package/build/types/object/convertWireToOsdkObjects.d.ts +1 -0
  627. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -0
  628. package/build/types/object/convertWireToOsdkObjects.test.d.ts +1 -0
  629. package/build/types/object/convertWireToOsdkObjects.test.d.ts.map +1 -0
  630. package/build/types/object/fetchPage.d.ts +5 -0
  631. package/build/types/object/fetchPage.d.ts.map +1 -0
  632. package/build/types/object/fetchPage.test.d.ts +1 -0
  633. package/build/types/object/fetchPage.test.d.ts.map +1 -0
  634. package/build/types/object/fetchSingle.d.ts +1 -0
  635. package/build/types/object/fetchSingle.d.ts.map +1 -0
  636. package/build/types/object/geotimeseriesreference.test.d.ts +1 -0
  637. package/build/types/object/geotimeseriesreference.test.d.ts.map +1 -0
  638. package/build/types/object/media.test.d.ts +1 -0
  639. package/build/types/object/media.test.d.ts.map +1 -0
  640. package/build/types/object/mediaUpload.d.ts +2 -0
  641. package/build/types/object/mediaUpload.d.ts.map +1 -0
  642. package/build/types/object/object.test.d.ts +11 -0
  643. package/build/types/object/object.test.d.ts.map +1 -0
  644. package/build/types/object/timeseries.test.d.ts +1 -0
  645. package/build/types/object/timeseries.test.d.ts.map +1 -0
  646. package/build/types/objectSet/InterfaceObjectSet.test.d.ts +1 -0
  647. package/build/types/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  648. package/build/types/objectSet/ObjectSet.test.d.ts +7 -0
  649. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -0
  650. package/build/types/objectSet/ObjectSetFactory.d.ts +1 -0
  651. package/build/types/objectSet/ObjectSetFactory.d.ts.map +1 -0
  652. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts +1 -0
  653. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts.map +1 -0
  654. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts +1 -0
  655. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +1 -0
  656. package/build/types/objectSet/conjureUnionType.d.ts +13 -0
  657. package/build/types/objectSet/conjureUnionType.d.ts.map +1 -0
  658. package/build/types/objectSet/createObjectSet.d.ts +1 -0
  659. package/build/types/objectSet/createObjectSet.d.ts.map +1 -0
  660. package/build/types/observable/DebugFlags.d.ts +2 -0
  661. package/build/types/observable/DebugFlags.d.ts.map +1 -0
  662. package/build/types/observable/ListPayload.d.ts +10 -0
  663. package/build/types/observable/ListPayload.d.ts.map +1 -0
  664. package/build/types/observable/ObjectPayload.d.ts +8 -0
  665. package/build/types/observable/ObjectPayload.d.ts.map +1 -0
  666. package/build/types/observable/ObservableClient.d.ts +36 -0
  667. package/build/types/observable/ObservableClient.d.ts.map +1 -0
  668. package/build/types/observable/OptimisticBuilder.d.ts +5 -0
  669. package/build/types/observable/OptimisticBuilder.d.ts.map +1 -0
  670. package/build/types/observable/internal/CacheKey.d.ts +15 -0
  671. package/build/types/observable/internal/CacheKey.d.ts.map +1 -0
  672. package/build/types/observable/internal/CacheKeys.d.ts +8 -0
  673. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -0
  674. package/build/types/observable/internal/Canonical.d.ts +3 -0
  675. package/build/types/observable/internal/Canonical.d.ts.map +1 -0
  676. package/build/types/observable/internal/ChangedObjects.d.ts +7 -0
  677. package/build/types/observable/internal/ChangedObjects.d.ts.map +1 -0
  678. package/build/types/observable/internal/Layer.d.ts +19 -0
  679. package/build/types/observable/internal/Layer.d.ts.map +1 -0
  680. package/build/types/observable/internal/ListQuery.d.ts +42 -0
  681. package/build/types/observable/internal/ListQuery.d.ts.map +1 -0
  682. package/build/types/observable/internal/ObjectQuery.d.ts +19 -0
  683. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -0
  684. package/build/types/observable/internal/ObservableClientImpl.d.ts +1 -0
  685. package/build/types/observable/internal/ObservableClientImpl.d.ts.map +1 -0
  686. package/build/types/observable/internal/OptimisticId.d.ts +4 -0
  687. package/build/types/observable/internal/OptimisticId.d.ts.map +1 -0
  688. package/build/types/observable/internal/OptimisticJob.d.ts +11 -0
  689. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -0
  690. package/build/types/observable/internal/Query.d.ts +29 -0
  691. package/build/types/observable/internal/Query.d.ts.map +1 -0
  692. package/build/types/observable/internal/RefCounts.d.ts +12 -0
  693. package/build/types/observable/internal/RefCounts.d.ts.map +1 -0
  694. package/build/types/observable/internal/Store.d.ts +73 -0
  695. package/build/types/observable/internal/Store.d.ts.map +1 -0
  696. package/build/types/observable/internal/Store.test.d.ts +1 -0
  697. package/build/types/observable/internal/Store.test.d.ts.map +1 -0
  698. package/build/types/observable/internal/WeakMapWithEntries.d.ts +50 -0
  699. package/build/types/observable/internal/WeakMapWithEntries.d.ts.map +1 -0
  700. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +6 -0
  701. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -0
  702. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts +1 -0
  703. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts.map +1 -0
  704. package/build/types/observable/internal/objectMatchesWhereClause.d.ts +2 -0
  705. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -0
  706. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts +1 -0
  707. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts.map +1 -0
  708. package/build/types/observable/internal/testUtils.d.ts +40 -0
  709. package/build/types/observable/internal/testUtils.d.ts.map +1 -0
  710. package/build/types/observable/types.d.ts +1 -0
  711. package/build/types/observable/types.d.ts.map +1 -0
  712. package/build/types/ontology/OntologyProvider.d.ts +31 -0
  713. package/build/types/ontology/OntologyProvider.d.ts.map +1 -0
  714. package/build/types/ontology/StandardOntologyProvider.d.ts +3 -0
  715. package/build/types/ontology/StandardOntologyProvider.d.ts.map +1 -0
  716. package/build/types/ontology/StandardOntologyProvider.test.d.ts +1 -0
  717. package/build/types/ontology/StandardOntologyProvider.test.d.ts.map +1 -0
  718. package/build/types/ontology/loadActionMetadata.d.ts +3 -0
  719. package/build/types/ontology/loadActionMetadata.d.ts.map +1 -0
  720. package/build/types/ontology/loadFullObjectMetadata.d.ts +5 -0
  721. package/build/types/ontology/loadFullObjectMetadata.d.ts.map +1 -0
  722. package/build/types/ontology/loadInterfaceMetadata.d.ts +3 -0
  723. package/build/types/ontology/loadInterfaceMetadata.d.ts.map +1 -0
  724. package/build/types/ontology/loadQueryMetadata.d.ts +3 -0
  725. package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -0
  726. package/build/types/ontology/makeConjureContext.d.ts +3 -0
  727. package/build/types/ontology/makeConjureContext.d.ts.map +1 -0
  728. package/build/types/pageRequestAsAsyncIter.d.ts +16 -0
  729. package/build/types/pageRequestAsAsyncIter.d.ts.map +1 -0
  730. package/build/types/public/internal.d.ts +3 -0
  731. package/build/types/public/internal.d.ts.map +1 -0
  732. package/build/types/public/unstable-do-not-use.d.ts +7 -0
  733. package/build/types/public/unstable-do-not-use.d.ts.map +1 -0
  734. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts +10 -0
  735. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  736. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts +9 -0
  737. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  738. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts +10 -0
  739. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  740. package/build/types/queries/applyQuery.d.ts +8 -0
  741. package/build/types/queries/applyQuery.d.ts.map +1 -0
  742. package/build/types/queries/queries.test.d.ts +1 -0
  743. package/build/types/queries/queries.test.d.ts.map +1 -0
  744. package/build/types/queries/types.d.ts +15 -0
  745. package/build/types/queries/types.d.ts.map +1 -0
  746. package/build/types/tsserver.d.ts +34 -0
  747. package/build/types/tsserver.d.ts.map +1 -0
  748. package/build/types/util/ArrayElement.d.ts +1 -0
  749. package/build/types/util/ArrayElement.d.ts.map +1 -0
  750. package/build/types/util/NOOP.d.ts +1 -0
  751. package/build/types/util/NOOP.d.ts.map +1 -0
  752. package/build/types/util/NullableProps.d.ts +3 -0
  753. package/build/types/util/NullableProps.d.ts.map +1 -0
  754. package/build/types/util/UserAgent.d.ts +1 -0
  755. package/build/types/util/UserAgent.d.ts.map +1 -0
  756. package/build/types/util/WireObjectSet.d.ts +1 -0
  757. package/build/types/util/WireObjectSet.d.ts.map +1 -0
  758. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts +3 -0
  759. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts.map +1 -0
  760. package/build/types/util/augmentRequestContext.d.ts +31 -0
  761. package/build/types/util/augmentRequestContext.d.ts.map +1 -0
  762. package/build/types/util/datetimeConverters.d.ts +21 -0
  763. package/build/types/util/datetimeConverters.d.ts.map +1 -0
  764. package/build/types/util/datetimeConverters.test.d.ts +1 -0
  765. package/build/types/util/datetimeConverters.test.d.ts.map +1 -0
  766. package/build/types/util/interfaceUtils.d.ts +1 -0
  767. package/build/types/util/interfaceUtils.d.ts.map +1 -0
  768. package/build/types/util/isOntologyObjectV2.d.ts +1 -0
  769. package/build/types/util/isOntologyObjectV2.d.ts.map +1 -0
  770. package/build/types/util/isOsdkBaseObject.d.ts +2 -0
  771. package/build/types/util/isOsdkBaseObject.d.ts.map +1 -0
  772. package/build/types/util/isOsdkObject.d.ts +2 -0
  773. package/build/types/util/isOsdkObject.d.ts.map +1 -0
  774. package/build/types/util/objectSetUtils.d.ts +3 -0
  775. package/build/types/util/objectSetUtils.d.ts.map +1 -0
  776. package/build/types/util/partialBy.d.ts +8 -0
  777. package/build/types/util/partialBy.d.ts.map +1 -0
  778. package/build/types/util/streamutils.d.ts +2 -0
  779. package/build/types/util/streamutils.d.ts.map +1 -0
  780. package/build/types/util/timeseriesUtils.d.ts +7 -0
  781. package/build/types/util/timeseriesUtils.d.ts.map +1 -0
  782. package/build/types/util/toDataValue.d.ts +1 -0
  783. package/build/types/util/toDataValue.d.ts.map +1 -0
  784. package/build/types/util/toDataValue.test.d.ts +1 -0
  785. package/build/types/util/toDataValue.test.d.ts.map +1 -0
  786. package/build/types/util/toDataValueQueries.d.ts +1 -0
  787. package/build/types/util/toDataValueQueries.d.ts.map +1 -0
  788. package/index.d.ts +17 -0
  789. package/internal.d.ts +17 -0
  790. package/package.json +57 -23
  791. package/unstable-do-not-use.d.ts +1 -1
  792. package/build/browser/Client.d.ts +0 -26
  793. package/build/browser/Client.d.ts.map +0 -1
  794. package/build/browser/Definitions.test.d.ts +0 -2
  795. package/build/browser/Definitions.test.d.ts.map +0 -1
  796. package/build/browser/Logger.d.ts +0 -19
  797. package/build/browser/Logger.d.ts.map +0 -1
  798. package/build/browser/MinimalClientContext.d.ts +0 -26
  799. package/build/browser/MinimalClientContext.d.ts.map +0 -1
  800. package/build/browser/ResultOrError.d.ts +0 -12
  801. package/build/browser/ResultOrError.d.ts.map +0 -1
  802. package/build/browser/SatisfiesSemver.d.ts +0 -4
  803. package/build/browser/SatisfiesSemver.d.ts.map +0 -1
  804. package/build/browser/SatisfiesSemver.test.d.ts +0 -2
  805. package/build/browser/SatisfiesSemver.test.d.ts.map +0 -1
  806. package/build/browser/__unstable/ConjureSupport.d.ts +0 -55
  807. package/build/browser/__unstable/ConjureSupport.d.ts.map +0 -1
  808. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  809. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  810. package/build/browser/actions/ActionValidationError.d.ts +0 -6
  811. package/build/browser/actions/ActionValidationError.d.ts.map +0 -1
  812. package/build/browser/actions/actions.test.d.ts +0 -2
  813. package/build/browser/actions/actions.test.d.ts.map +0 -1
  814. package/build/browser/actions/applyAction.d.ts +0 -30
  815. package/build/browser/actions/applyAction.d.ts.map +0 -1
  816. package/build/browser/createAttachmentFromRid.d.ts +0 -10
  817. package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
  818. package/build/browser/createAttachmentFromRid.js +0 -38
  819. package/build/browser/createAttachmentFromRid.js.map +0 -1
  820. package/build/browser/createClient.d.ts +0 -6
  821. package/build/browser/createClient.d.ts.map +0 -1
  822. package/build/browser/createClient.test.d.ts +0 -2
  823. package/build/browser/createClient.test.d.ts.map +0 -1
  824. package/build/browser/createGeotimeSeriesProperty.d.ts +0 -14
  825. package/build/browser/createGeotimeSeriesProperty.d.ts.map +0 -1
  826. package/build/browser/createMinimalClient.d.ts +0 -2
  827. package/build/browser/createMinimalClient.d.ts.map +0 -1
  828. package/build/browser/createPlatformClient.d.ts +0 -17
  829. package/build/browser/createPlatformClient.d.ts.map +0 -1
  830. package/build/browser/createTimeseriesProperty.d.ts +0 -14
  831. package/build/browser/createTimeseriesProperty.d.ts.map +0 -1
  832. package/build/browser/definitions/LinkDefinitions.test.d.ts +0 -2
  833. package/build/browser/definitions/LinkDefinitions.test.d.ts.map +0 -1
  834. package/build/browser/fetchMetadata.d.ts +0 -2
  835. package/build/browser/fetchMetadata.d.ts.map +0 -1
  836. package/build/browser/fetchMetadata.test.d.ts +0 -2
  837. package/build/browser/fetchMetadata.test.d.ts.map +0 -1
  838. package/build/browser/index.d.ts +0 -12
  839. package/build/browser/index.d.ts.map +0 -1
  840. package/build/browser/intellisense.test.d.ts +0 -2
  841. package/build/browser/intellisense.test.d.ts.map +0 -1
  842. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  843. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  844. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  845. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  846. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  847. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  848. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  849. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  850. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  851. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  852. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  853. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  854. package/build/browser/object/AttachmentUpload.d.ts +0 -4
  855. package/build/browser/object/AttachmentUpload.d.ts.map +0 -1
  856. package/build/browser/object/Cache.d.ts +0 -2
  857. package/build/browser/object/Cache.d.ts.map +0 -1
  858. package/build/browser/object/Cache.test.d.ts +0 -11
  859. package/build/browser/object/Cache.test.d.ts.map +0 -1
  860. package/build/browser/object/SimpleCache.d.ts +0 -38
  861. package/build/browser/object/SimpleCache.d.ts.map +0 -1
  862. package/build/browser/object/aggregate.d.ts +0 -2
  863. package/build/browser/object/aggregate.d.ts.map +0 -1
  864. package/build/browser/object/aggregate.test.d.ts +0 -2
  865. package/build/browser/object/aggregate.test.d.ts.map +0 -1
  866. package/build/browser/object/attachment.test.d.ts +0 -2
  867. package/build/browser/object/attachment.test.d.ts.map +0 -1
  868. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  869. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  870. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  871. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  872. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  873. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  874. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  875. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  876. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  877. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  878. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  879. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  880. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  881. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  882. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  883. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  884. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  885. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  886. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  887. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  888. package/build/browser/object/convertWireToOsdkObjects.d.ts +0 -2
  889. package/build/browser/object/convertWireToOsdkObjects.d.ts.map +0 -1
  890. package/build/browser/object/convertWireToOsdkObjects.test.d.ts +0 -2
  891. package/build/browser/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  892. package/build/browser/object/fetchPage.d.ts +0 -3
  893. package/build/browser/object/fetchPage.d.ts.map +0 -1
  894. package/build/browser/object/fetchPage.test.d.ts +0 -2
  895. package/build/browser/object/fetchPage.test.d.ts.map +0 -1
  896. package/build/browser/object/fetchSingle.d.ts +0 -2
  897. package/build/browser/object/fetchSingle.d.ts.map +0 -1
  898. package/build/browser/object/geotimeseriesreference.test.d.ts +0 -2
  899. package/build/browser/object/geotimeseriesreference.test.d.ts.map +0 -1
  900. package/build/browser/object/object.test.d.ts +0 -12
  901. package/build/browser/object/object.test.d.ts.map +0 -1
  902. package/build/browser/object/timeseries.test.d.ts +0 -2
  903. package/build/browser/object/timeseries.test.d.ts.map +0 -1
  904. package/build/browser/objectSet/ObjectSet.test.d.ts +0 -2
  905. package/build/browser/objectSet/ObjectSet.test.d.ts.map +0 -1
  906. package/build/browser/objectSet/ObjectSetFactory.d.ts +0 -2
  907. package/build/browser/objectSet/ObjectSetFactory.d.ts.map +0 -1
  908. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  909. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  910. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  911. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  912. package/build/browser/objectSet/conjureUnionType.d.ts +0 -13
  913. package/build/browser/objectSet/conjureUnionType.d.ts.map +0 -1
  914. package/build/browser/objectSet/createObjectSet.d.ts +0 -2
  915. package/build/browser/objectSet/createObjectSet.d.ts.map +0 -1
  916. package/build/browser/objectSet/toConjureObjectSet.d.ts +0 -2
  917. package/build/browser/objectSet/toConjureObjectSet.d.ts.map +0 -1
  918. package/build/browser/objectSet/toConjureObjectSet.js +0 -165
  919. package/build/browser/objectSet/toConjureObjectSet.js.map +0 -1
  920. package/build/browser/ontology/OntologyProvider.d.ts +0 -32
  921. package/build/browser/ontology/OntologyProvider.d.ts.map +0 -1
  922. package/build/browser/ontology/StandardOntologyProvider.d.ts +0 -5
  923. package/build/browser/ontology/StandardOntologyProvider.d.ts.map +0 -1
  924. package/build/browser/ontology/StandardOntologyProvider.test.d.ts +0 -2
  925. package/build/browser/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  926. package/build/browser/ontology/loadActionMetadata.d.ts +0 -4
  927. package/build/browser/ontology/loadActionMetadata.d.ts.map +0 -1
  928. package/build/browser/ontology/loadFullObjectMetadata.d.ts +0 -6
  929. package/build/browser/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  930. package/build/browser/ontology/loadInterfaceMetadata.d.ts +0 -4
  931. package/build/browser/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  932. package/build/browser/ontology/loadQueryMetadata.d.ts +0 -4
  933. package/build/browser/ontology/loadQueryMetadata.d.ts.map +0 -1
  934. package/build/browser/ontology/makeConjureContext.d.ts +0 -4
  935. package/build/browser/ontology/makeConjureContext.d.ts.map +0 -1
  936. package/build/browser/pageRequestAsAsyncIter.d.ts +0 -10
  937. package/build/browser/pageRequestAsAsyncIter.d.ts.map +0 -1
  938. package/build/browser/public/unstable-do-not-use.d.ts +0 -2
  939. package/build/browser/public/unstable-do-not-use.d.ts.map +0 -1
  940. package/build/browser/queries/applyQuery.d.ts +0 -6
  941. package/build/browser/queries/applyQuery.d.ts.map +0 -1
  942. package/build/browser/queries/queries.test.d.ts +0 -2
  943. package/build/browser/queries/queries.test.d.ts.map +0 -1
  944. package/build/browser/queries/types.d.ts +0 -20
  945. package/build/browser/queries/types.d.ts.map +0 -1
  946. package/build/browser/tsserver.d.ts +0 -34
  947. package/build/browser/tsserver.d.ts.map +0 -1
  948. package/build/browser/util/ArrayElement.d.ts +0 -2
  949. package/build/browser/util/ArrayElement.d.ts.map +0 -1
  950. package/build/browser/util/NOOP.d.ts +0 -4
  951. package/build/browser/util/NOOP.d.ts.map +0 -1
  952. package/build/browser/util/NullableProps.d.ts +0 -6
  953. package/build/browser/util/NullableProps.d.ts.map +0 -1
  954. package/build/browser/util/UserAgent.d.ts +0 -2
  955. package/build/browser/util/UserAgent.d.ts.map +0 -1
  956. package/build/browser/util/WireObjectSet.d.ts +0 -2
  957. package/build/browser/util/WireObjectSet.d.ts.map +0 -1
  958. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  959. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  960. package/build/browser/util/augmentRequestContext.d.ts +0 -32
  961. package/build/browser/util/augmentRequestContext.d.ts.map +0 -1
  962. package/build/browser/util/isOntologyObjectV2.d.ts +0 -2
  963. package/build/browser/util/isOntologyObjectV2.d.ts.map +0 -1
  964. package/build/browser/util/isOsdkBaseObject.d.ts +0 -3
  965. package/build/browser/util/isOsdkBaseObject.d.ts.map +0 -1
  966. package/build/browser/util/isOsdkObject.d.ts +0 -3
  967. package/build/browser/util/isOsdkObject.d.ts.map +0 -1
  968. package/build/browser/util/partialBy.d.ts +0 -3
  969. package/build/browser/util/partialBy.d.ts.map +0 -1
  970. package/build/browser/util/streamutils.d.ts +0 -3
  971. package/build/browser/util/streamutils.d.ts.map +0 -1
  972. package/build/browser/util/timeseriesUtils.d.ts +0 -8
  973. package/build/browser/util/timeseriesUtils.d.ts.map +0 -1
  974. package/build/browser/util/toDataValue.d.ts +0 -2
  975. package/build/browser/util/toDataValue.d.ts.map +0 -1
  976. package/build/browser/util/toDataValue.test.d.ts +0 -2
  977. package/build/browser/util/toDataValue.test.d.ts.map +0 -1
  978. package/build/browser/util/toDataValueQueries.d.ts +0 -2
  979. package/build/browser/util/toDataValueQueries.d.ts.map +0 -1
  980. package/build/esm/Client.d.ts +0 -26
  981. package/build/esm/Client.d.ts.map +0 -1
  982. package/build/esm/Definitions.test.d.ts +0 -2
  983. package/build/esm/Definitions.test.d.ts.map +0 -1
  984. package/build/esm/Logger.d.ts +0 -19
  985. package/build/esm/Logger.d.ts.map +0 -1
  986. package/build/esm/MinimalClientContext.d.ts +0 -26
  987. package/build/esm/MinimalClientContext.d.ts.map +0 -1
  988. package/build/esm/ResultOrError.d.ts +0 -12
  989. package/build/esm/ResultOrError.d.ts.map +0 -1
  990. package/build/esm/SatisfiesSemver.d.ts +0 -4
  991. package/build/esm/SatisfiesSemver.d.ts.map +0 -1
  992. package/build/esm/SatisfiesSemver.test.d.ts +0 -2
  993. package/build/esm/SatisfiesSemver.test.d.ts.map +0 -1
  994. package/build/esm/__unstable/ConjureSupport.d.ts +0 -55
  995. package/build/esm/__unstable/ConjureSupport.d.ts.map +0 -1
  996. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  997. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  998. package/build/esm/actions/ActionValidationError.d.ts +0 -6
  999. package/build/esm/actions/ActionValidationError.d.ts.map +0 -1
  1000. package/build/esm/actions/actions.test.d.ts +0 -2
  1001. package/build/esm/actions/actions.test.d.ts.map +0 -1
  1002. package/build/esm/actions/applyAction.d.ts +0 -30
  1003. package/build/esm/actions/applyAction.d.ts.map +0 -1
  1004. package/build/esm/createAttachmentFromRid.d.ts +0 -10
  1005. package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
  1006. package/build/esm/createAttachmentFromRid.js +0 -38
  1007. package/build/esm/createAttachmentFromRid.js.map +0 -1
  1008. package/build/esm/createClient.d.ts +0 -6
  1009. package/build/esm/createClient.d.ts.map +0 -1
  1010. package/build/esm/createClient.test.d.ts +0 -2
  1011. package/build/esm/createClient.test.d.ts.map +0 -1
  1012. package/build/esm/createGeotimeSeriesProperty.d.ts +0 -14
  1013. package/build/esm/createGeotimeSeriesProperty.d.ts.map +0 -1
  1014. package/build/esm/createMinimalClient.d.ts +0 -2
  1015. package/build/esm/createMinimalClient.d.ts.map +0 -1
  1016. package/build/esm/createPlatformClient.d.ts +0 -17
  1017. package/build/esm/createPlatformClient.d.ts.map +0 -1
  1018. package/build/esm/createTimeseriesProperty.d.ts +0 -14
  1019. package/build/esm/createTimeseriesProperty.d.ts.map +0 -1
  1020. package/build/esm/definitions/LinkDefinitions.test.d.ts +0 -2
  1021. package/build/esm/definitions/LinkDefinitions.test.d.ts.map +0 -1
  1022. package/build/esm/fetchMetadata.d.ts +0 -2
  1023. package/build/esm/fetchMetadata.d.ts.map +0 -1
  1024. package/build/esm/fetchMetadata.test.d.ts +0 -2
  1025. package/build/esm/fetchMetadata.test.d.ts.map +0 -1
  1026. package/build/esm/index.d.ts +0 -12
  1027. package/build/esm/index.d.ts.map +0 -1
  1028. package/build/esm/intellisense.test.d.ts +0 -2
  1029. package/build/esm/intellisense.test.d.ts.map +0 -1
  1030. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  1031. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  1032. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  1033. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  1034. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  1035. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  1036. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  1037. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  1038. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  1039. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  1040. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  1041. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  1042. package/build/esm/object/AttachmentUpload.d.ts +0 -4
  1043. package/build/esm/object/AttachmentUpload.d.ts.map +0 -1
  1044. package/build/esm/object/Cache.d.ts +0 -2
  1045. package/build/esm/object/Cache.d.ts.map +0 -1
  1046. package/build/esm/object/Cache.test.d.ts +0 -11
  1047. package/build/esm/object/Cache.test.d.ts.map +0 -1
  1048. package/build/esm/object/SimpleCache.d.ts +0 -38
  1049. package/build/esm/object/SimpleCache.d.ts.map +0 -1
  1050. package/build/esm/object/aggregate.d.ts +0 -2
  1051. package/build/esm/object/aggregate.d.ts.map +0 -1
  1052. package/build/esm/object/aggregate.test.d.ts +0 -2
  1053. package/build/esm/object/aggregate.test.d.ts.map +0 -1
  1054. package/build/esm/object/attachment.test.d.ts +0 -2
  1055. package/build/esm/object/attachment.test.d.ts.map +0 -1
  1056. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  1057. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  1058. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  1059. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  1060. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  1061. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  1062. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  1063. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  1064. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  1065. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  1066. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  1067. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  1068. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  1069. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  1070. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  1071. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  1072. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  1073. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  1074. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  1075. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  1076. package/build/esm/object/convertWireToOsdkObjects.d.ts +0 -2
  1077. package/build/esm/object/convertWireToOsdkObjects.d.ts.map +0 -1
  1078. package/build/esm/object/convertWireToOsdkObjects.test.d.ts +0 -2
  1079. package/build/esm/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  1080. package/build/esm/object/fetchPage.d.ts +0 -3
  1081. package/build/esm/object/fetchPage.d.ts.map +0 -1
  1082. package/build/esm/object/fetchPage.test.d.ts +0 -2
  1083. package/build/esm/object/fetchPage.test.d.ts.map +0 -1
  1084. package/build/esm/object/fetchSingle.d.ts +0 -2
  1085. package/build/esm/object/fetchSingle.d.ts.map +0 -1
  1086. package/build/esm/object/geotimeseriesreference.test.d.ts +0 -2
  1087. package/build/esm/object/geotimeseriesreference.test.d.ts.map +0 -1
  1088. package/build/esm/object/object.test.d.ts +0 -12
  1089. package/build/esm/object/object.test.d.ts.map +0 -1
  1090. package/build/esm/object/timeseries.test.d.ts +0 -2
  1091. package/build/esm/object/timeseries.test.d.ts.map +0 -1
  1092. package/build/esm/objectSet/ObjectSet.test.d.ts +0 -2
  1093. package/build/esm/objectSet/ObjectSet.test.d.ts.map +0 -1
  1094. package/build/esm/objectSet/ObjectSetFactory.d.ts +0 -2
  1095. package/build/esm/objectSet/ObjectSetFactory.d.ts.map +0 -1
  1096. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  1097. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  1098. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  1099. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  1100. package/build/esm/objectSet/conjureUnionType.d.ts +0 -13
  1101. package/build/esm/objectSet/conjureUnionType.d.ts.map +0 -1
  1102. package/build/esm/objectSet/createObjectSet.d.ts +0 -2
  1103. package/build/esm/objectSet/createObjectSet.d.ts.map +0 -1
  1104. package/build/esm/objectSet/toConjureObjectSet.d.ts +0 -2
  1105. package/build/esm/objectSet/toConjureObjectSet.d.ts.map +0 -1
  1106. package/build/esm/objectSet/toConjureObjectSet.js +0 -165
  1107. package/build/esm/objectSet/toConjureObjectSet.js.map +0 -1
  1108. package/build/esm/ontology/OntologyProvider.d.ts +0 -32
  1109. package/build/esm/ontology/OntologyProvider.d.ts.map +0 -1
  1110. package/build/esm/ontology/StandardOntologyProvider.d.ts +0 -5
  1111. package/build/esm/ontology/StandardOntologyProvider.d.ts.map +0 -1
  1112. package/build/esm/ontology/StandardOntologyProvider.test.d.ts +0 -2
  1113. package/build/esm/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  1114. package/build/esm/ontology/loadActionMetadata.d.ts +0 -4
  1115. package/build/esm/ontology/loadActionMetadata.d.ts.map +0 -1
  1116. package/build/esm/ontology/loadFullObjectMetadata.d.ts +0 -6
  1117. package/build/esm/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  1118. package/build/esm/ontology/loadInterfaceMetadata.d.ts +0 -4
  1119. package/build/esm/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  1120. package/build/esm/ontology/loadQueryMetadata.d.ts +0 -4
  1121. package/build/esm/ontology/loadQueryMetadata.d.ts.map +0 -1
  1122. package/build/esm/ontology/makeConjureContext.d.ts +0 -4
  1123. package/build/esm/ontology/makeConjureContext.d.ts.map +0 -1
  1124. package/build/esm/pageRequestAsAsyncIter.d.ts +0 -10
  1125. package/build/esm/pageRequestAsAsyncIter.d.ts.map +0 -1
  1126. package/build/esm/public/unstable-do-not-use.d.ts +0 -2
  1127. package/build/esm/public/unstable-do-not-use.d.ts.map +0 -1
  1128. package/build/esm/queries/applyQuery.d.ts +0 -6
  1129. package/build/esm/queries/applyQuery.d.ts.map +0 -1
  1130. package/build/esm/queries/queries.test.d.ts +0 -2
  1131. package/build/esm/queries/queries.test.d.ts.map +0 -1
  1132. package/build/esm/queries/types.d.ts +0 -20
  1133. package/build/esm/queries/types.d.ts.map +0 -1
  1134. package/build/esm/tsserver.d.ts +0 -34
  1135. package/build/esm/tsserver.d.ts.map +0 -1
  1136. package/build/esm/util/ArrayElement.d.ts +0 -2
  1137. package/build/esm/util/ArrayElement.d.ts.map +0 -1
  1138. package/build/esm/util/NOOP.d.ts +0 -4
  1139. package/build/esm/util/NOOP.d.ts.map +0 -1
  1140. package/build/esm/util/NullableProps.d.ts +0 -6
  1141. package/build/esm/util/NullableProps.d.ts.map +0 -1
  1142. package/build/esm/util/UserAgent.d.ts +0 -2
  1143. package/build/esm/util/UserAgent.d.ts.map +0 -1
  1144. package/build/esm/util/WireObjectSet.d.ts +0 -2
  1145. package/build/esm/util/WireObjectSet.d.ts.map +0 -1
  1146. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  1147. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  1148. package/build/esm/util/augmentRequestContext.d.ts +0 -32
  1149. package/build/esm/util/augmentRequestContext.d.ts.map +0 -1
  1150. package/build/esm/util/isOntologyObjectV2.d.ts +0 -2
  1151. package/build/esm/util/isOntologyObjectV2.d.ts.map +0 -1
  1152. package/build/esm/util/isOsdkBaseObject.d.ts +0 -3
  1153. package/build/esm/util/isOsdkBaseObject.d.ts.map +0 -1
  1154. package/build/esm/util/isOsdkObject.d.ts +0 -3
  1155. package/build/esm/util/isOsdkObject.d.ts.map +0 -1
  1156. package/build/esm/util/partialBy.d.ts +0 -3
  1157. package/build/esm/util/partialBy.d.ts.map +0 -1
  1158. package/build/esm/util/streamutils.d.ts +0 -3
  1159. package/build/esm/util/streamutils.d.ts.map +0 -1
  1160. package/build/esm/util/timeseriesUtils.d.ts +0 -8
  1161. package/build/esm/util/timeseriesUtils.d.ts.map +0 -1
  1162. package/build/esm/util/toDataValue.d.ts +0 -2
  1163. package/build/esm/util/toDataValue.d.ts.map +0 -1
  1164. package/build/esm/util/toDataValue.test.d.ts +0 -2
  1165. package/build/esm/util/toDataValue.test.d.ts.map +0 -1
  1166. package/build/esm/util/toDataValueQueries.d.ts +0 -2
  1167. package/build/esm/util/toDataValueQueries.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Store.test.js","names":["$ontologyRid","createOffice","Employee","Todo","apiServer","afterAll","afterEach","beforeAll","beforeEach","describe","expect","it","vi","vitest","createClient","createOptimisticId","Store","applyCustomMatchers","createClientMockHelper","createDefer","expectSingleListCallAndClear","expectSingleObjectCallAndClear","listPayloadContaining","mockListSubCallback","mockSingleSubCallback","objectPayloadContaining","waitForCall","defer","setConfig","fakeTimers","toFake","resetConfig","ANY_INIT_ENTRY","object","undefined","lastUpdated","status","client","cache","employeesAsServerReturns","mutatedEmployees","listen","fetchPage","data","$clone","fullName","slice","close","emp","getObject","$primaryKey","toBeUndefined","result","updateObject","toBe","toEqual","updatedEmpFromCache","not","subFn","observeObject","mode","optimisticId","removeLayer","useFakeTimers","updateList","empSubFn","listSubFn","observeList","optimisticEmployee","truthUpdatedEmployee","toHaveBeenCalled","useRealTimers","toHaveBeenCalledExactlyOnceWith","mockClear","staleEmp","invalidateObject","waitFor","subListFn","resolvedList","invalidateList","invalidateObjectType","subFn1","subFn2","likeEmployee50030","objectContaining","isOptimistic","firstLoad","mock","lastCall","s","toBeGreaterThan","sub","unsubscribe","toHaveBeenCalledTimes","calls","listSub1","mockReset","runOnlyPendingTimers","employeeId","$gt","listSub","pageSize","fetchMore","toHaveBeenCalledWith","mockClient","mockFetchOneOnce","resolve","$apiName","todoSubFn","expectLoadingAndLoaded","loading","loaded","mockApplyActionOnce","addedObjects","objectType","primaryKey","text","actionPromise","applyAction","officeId","fauxObject","$objectType","$title","applyActionResult","optimisticUpdate","ctx","someValue","reject","rejects","toThrow","store","baseObjects","map","i","cacheKeys","obj","getCacheKey","layerIds","batch","write"],"sources":["Store.test.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { Osdk } from \"@osdk/api\";\nimport {\n $ontologyRid,\n createOffice,\n Employee,\n Todo,\n} from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport type { Mock } from \"vitest\";\nimport {\n afterAll,\n afterEach,\n beforeAll,\n beforeEach,\n describe,\n expect,\n it,\n vi,\n vitest,\n} from \"vitest\";\nimport type { Client } from \"../../Client.js\";\nimport { createClient } from \"../../createClient.js\";\nimport type { Unsubscribable } from \"../ObservableClient.js\";\nimport { createOptimisticId } from \"./OptimisticId.js\";\nimport { Store } from \"./Store.js\";\nimport type { MockClientHelper } from \"./testUtils.js\";\nimport {\n applyCustomMatchers,\n createClientMockHelper,\n createDefer,\n expectSingleListCallAndClear,\n expectSingleObjectCallAndClear,\n listPayloadContaining,\n mockListSubCallback,\n mockSingleSubCallback,\n objectPayloadContaining,\n waitForCall,\n} from \"./testUtils.js\";\n\nconst defer = createDefer();\n\nbeforeAll(() => {\n vi.setConfig({\n fakeTimers: {\n toFake: [\n \"setTimeout\",\n \"clearTimeout\",\n \"Date\",\n \"setInterval\",\n \"clearInterval\",\n ],\n },\n });\n});\nafterAll(() => {\n vi.resetConfig();\n});\n\nconst ANY_INIT_ENTRY = {\n // cacheKey: expect.any(Object),\n object: undefined,\n lastUpdated: 0,\n status: \"init\",\n};\n\napplyCustomMatchers();\n\ndescribe(Store, () => {\n describe(\"with mock server\", () => {\n let client: Client;\n let cache: Store;\n\n let employeesAsServerReturns: Osdk.Instance<Employee>[];\n let mutatedEmployees: Osdk.Instance<Employee>[];\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n\n employeesAsServerReturns = (await client(Employee).fetchPage()).data;\n mutatedEmployees = [\n employeesAsServerReturns[0],\n employeesAsServerReturns[1].$clone({\n fullName: \"foo\",\n }),\n ...employeesAsServerReturns.slice(2),\n ];\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n beforeEach(() => {\n cache = new Store(client);\n });\n\n afterEach(() => {\n cache = undefined!;\n });\n\n it(\"basic single object works\", async () => {\n const emp = employeesAsServerReturns[0];\n\n // starts empty\n expect(\n cache.getObject(Employee, emp.$primaryKey),\n ).toBeUndefined();\n\n const result = cache.updateObject(Employee, emp);\n expect(emp).toBe(result);\n\n // getting the object now matches the result\n expect(cache.getObject(Employee, emp.$primaryKey)).toEqual(\n result,\n );\n\n const updatedEmpFromCache = cache.updateObject(\n Employee,\n emp.$clone({ fullName: \"new name\" }),\n );\n expect(updatedEmpFromCache).not.toBe(emp);\n\n // getting it again is the updated object\n expect(cache.getObject(Employee, emp.$primaryKey)).toEqual(\n updatedEmpFromCache,\n );\n });\n\n describe(\"optimistic updates\", () => {\n it(\"rolls back objects\", async () => {\n const emp = employeesAsServerReturns[0];\n cache.updateObject(Employee, emp); // pre-seed the cache with the \"real\" value\n\n const subFn = mockSingleSubCallback();\n defer(\n cache.observeObject(\n Employee,\n emp.$primaryKey,\n { mode: \"offline\" },\n subFn,\n ),\n );\n\n expectSingleObjectCallAndClear(subFn, emp, \"loaded\");\n\n const optimisticId = createOptimisticId();\n // update with an optimistic write\n cache.updateObject(Employee, emp.$clone({ fullName: \"new name\" }), {\n optimisticId,\n });\n expectSingleObjectCallAndClear(\n subFn,\n emp.$clone({ fullName: \"new name\" }),\n \"loaded\",\n );\n\n // remove the optimistic write\n cache.removeLayer(optimisticId);\n\n expectSingleObjectCallAndClear(subFn, emp, \"loaded\");\n });\n\n it(\"rolls back to an updated real value\", async () => {\n vi.useFakeTimers();\n\n // pre-seed the cache with the \"real\" value\n cache.updateList(Employee, {}, employeesAsServerReturns);\n\n const emp = employeesAsServerReturns[0];\n\n const empSubFn = mockSingleSubCallback();\n defer(\n cache.observeObject(\n Employee,\n emp.$primaryKey,\n { mode: \"offline\" },\n empSubFn,\n ),\n );\n\n expectSingleObjectCallAndClear(empSubFn, emp, \"loaded\");\n\n const listSubFn = mockListSubCallback();\n defer(\n cache.observeList(Employee, {}, { mode: \"offline\" }, listSubFn),\n );\n\n expectSingleListCallAndClear(listSubFn, employeesAsServerReturns);\n\n const optimisticEmployee = emp.$clone({ fullName: \"new name\" });\n\n const optimisticId = createOptimisticId();\n\n // update with an optimistic write\n cache.updateObject(Employee, optimisticEmployee, {\n optimisticId,\n });\n\n // expect optimistic write\n expectSingleObjectCallAndClear(empSubFn, optimisticEmployee);\n\n // expect optimistic write to the list\n expectSingleListCallAndClear(\n listSubFn,\n [\n optimisticEmployee,\n ...employeesAsServerReturns.slice(1),\n ],\n );\n\n // write the real update, via the earlier list definition\n const truthUpdatedEmployee = emp.$clone({\n fullName: \"real update\",\n });\n cache.updateList(Employee, {}, [truthUpdatedEmployee]);\n\n // we shouldn't expect an update because the top layer has a value\n expect(empSubFn).not.toHaveBeenCalled();\n\n // we do get an update to the list but we still see the optimistic value\n // for the object\n expectSingleListCallAndClear(listSubFn, [optimisticEmployee]);\n\n // remove the optimistic write\n cache.removeLayer(optimisticId);\n\n // see the object observation get updated\n expectSingleObjectCallAndClear(empSubFn, truthUpdatedEmployee);\n\n // see the list get updated\n expectSingleListCallAndClear(listSubFn, [truthUpdatedEmployee]);\n\n vi.useRealTimers();\n });\n\n it(\"rolls back to an updated real value via list\", async () => {\n const emp = employeesAsServerReturns[0];\n cache.updateObject(Employee, emp); // pre-seed the cache with the \"real\" value\n\n const subFn = mockSingleSubCallback();\n defer(\n cache.observeObject(\n Employee,\n emp.$primaryKey,\n { mode: \"offline\" },\n subFn,\n ),\n );\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: emp,\n status: \"loaded\",\n }),\n );\n subFn.mockClear();\n\n const optimisticEmployee = emp.$clone({ fullName: \"new name\" });\n\n // update with an optimistic write\n const optimisticId = createOptimisticId();\n cache.updateObject(Employee, optimisticEmployee, {\n optimisticId,\n });\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: optimisticEmployee,\n }),\n );\n subFn.mockClear();\n\n const truthUpdatedEmployee = emp.$clone({\n fullName: \"real update\",\n });\n cache.updateObject(Employee, truthUpdatedEmployee);\n\n // we shouldn't expect an update because the top layer has a value\n expect(subFn).not.toHaveBeenCalled();\n\n // remove the optimistic write\n cache.removeLayer(optimisticId);\n\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: truthUpdatedEmployee,\n }),\n );\n });\n });\n\n describe(\".invalidateObject\", () => {\n it(\"triggers an update\", async () => {\n const emp = employeesAsServerReturns[0];\n const staleEmp = emp.$clone({ fullName: \"stale\" });\n cache.updateObject(Employee, staleEmp);\n\n const subFn = mockSingleSubCallback();\n defer(\n cache.observeObject(\n Employee,\n emp.$primaryKey,\n { mode: \"offline\" },\n subFn,\n ),\n );\n\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: staleEmp,\n status: \"loaded\",\n }),\n );\n subFn.mockClear();\n\n // invalidate\n void cache.invalidateObject(Employee, staleEmp.$primaryKey);\n\n await vi.waitFor(() => expect(subFn).toHaveBeenCalled());\n\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: staleEmp,\n status: \"loading\",\n }),\n );\n subFn.mockClear();\n\n await vi.waitFor(() => expect(subFn).toHaveBeenCalled());\n\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: emp,\n }),\n );\n });\n });\n\n describe(\".invalidateList\", () => {\n beforeEach(() => {\n vi.useFakeTimers({});\n });\n afterEach(() => {\n vi.useRealTimers();\n });\n\n it(\"triggers an update\", async () => {\n const emp = employeesAsServerReturns[0];\n const staleEmp = emp.$clone({ fullName: \"stale\" });\n cache.updateList(Employee, {}, [staleEmp]);\n\n const subFn = mockSingleSubCallback();\n defer(\n cache.observeObject(\n Employee,\n emp.$primaryKey,\n { mode: \"offline\" },\n subFn,\n ),\n );\n expectSingleObjectCallAndClear(subFn, staleEmp);\n\n const subListFn = mockListSubCallback();\n defer(cache.observeList(Employee, {}, { mode: \"offline\" }, subListFn));\n\n await vi.waitFor(() => expect(subListFn).toHaveBeenCalled());\n expect(subListFn).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: [staleEmp],\n status: \"loaded\",\n }),\n );\n subListFn.mockClear();\n\n cache.invalidateList(Employee, {});\n\n await vi.waitFor(() => expect(subListFn).toHaveBeenCalled());\n expect(subListFn).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: [staleEmp],\n status: \"loading\",\n }),\n );\n subListFn.mockClear();\n\n await vi.waitFor(() => expect(subListFn).toHaveBeenCalled());\n expect(subListFn).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: employeesAsServerReturns,\n }),\n );\n subListFn.mockClear();\n\n await vi.waitFor(() => expect(subFn).toHaveBeenCalled());\n\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n status: \"loaded\",\n object: emp,\n }),\n );\n });\n });\n\n describe(\".invalidateObjectType\", () => {\n beforeEach(() => {\n vi.useFakeTimers({});\n });\n afterEach(() => {\n vi.useRealTimers();\n });\n\n it(\"triggers an update\", async () => {\n const emp = employeesAsServerReturns[0];\n const staleEmp = emp.$clone({ fullName: \"stale\" });\n cache.updateList(Employee, {}, [staleEmp]);\n\n const subFn = mockSingleSubCallback();\n defer(\n cache.observeObject(\n Employee,\n emp.$primaryKey,\n { mode: \"offline\" },\n subFn,\n ),\n );\n expectSingleObjectCallAndClear(subFn, staleEmp);\n\n const subListFn = mockListSubCallback();\n defer(cache.observeList(Employee, {}, { mode: \"offline\" }, subListFn));\n\n await vi.waitFor(() => expect(subListFn).toHaveBeenCalled());\n expect(subListFn).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: [staleEmp],\n status: \"loaded\",\n }),\n );\n subListFn.mockClear();\n\n cache.invalidateObjectType(Employee);\n\n await vi.waitFor(() => expect(subListFn).toHaveBeenCalled());\n expect(subListFn).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: [staleEmp],\n status: \"loading\",\n }),\n );\n subListFn.mockClear();\n\n await vi.waitFor(() => expect(subListFn).toHaveBeenCalled());\n expect(subListFn).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: employeesAsServerReturns,\n }),\n );\n subListFn.mockClear();\n\n await vi.waitFor(() => expect(subFn).toHaveBeenCalled());\n\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n status: \"loaded\",\n object: emp,\n }),\n );\n });\n });\n\n describe(\".observeObject (force)\", () => {\n const subFn1 = mockSingleSubCallback();\n const subFn2 = mockSingleSubCallback();\n\n beforeEach(async () => {\n subFn1.mockClear();\n subFn2.mockClear();\n });\n\n const likeEmployee50030 = expect.objectContaining({\n $primaryKey: 50030,\n fullName: \"John Doe\",\n });\n\n it(\"fetches and updates twice\", async () => {\n defer(\n cache.observeObject(Employee, 50030, { mode: \"force\" }, subFn1),\n );\n expect(subFn1).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n status: \"loading\",\n object: undefined,\n isOptimistic: false,\n }),\n );\n\n subFn1.mockClear();\n\n await vi.waitFor(() => expect(subFn1).toHaveBeenCalled());\n expect(subFn1).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: likeEmployee50030,\n isOptimistic: false,\n }),\n );\n\n const firstLoad = subFn1.mock.lastCall?.[0]!;\n\n subFn1.mockClear();\n\n defer(\n cache.observeObject(Employee, 50030, { mode: \"force\" }, subFn2),\n );\n expect(subFn1).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({ status: \"loading\" }),\n );\n subFn1.mockClear();\n\n // should be the earlier results\n expect(subFn2).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({ status: \"loading\" }),\n );\n subFn2.mockClear();\n\n // both will be updated\n for (const s of [subFn1, subFn2]) {\n // wait for the result to come in\n await vi.waitFor(() => expect(s).toHaveBeenCalled());\n\n expect(s).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n ...firstLoad,\n lastUpdated: expect.toBeGreaterThan(firstLoad.lastUpdated),\n }),\n );\n\n s.mockClear();\n }\n });\n });\n\n describe(\".observeObject (offline)\", () => {\n const subFn = mockSingleSubCallback();\n let sub: Unsubscribable;\n\n beforeEach(() => {\n subFn.mockClear();\n\n sub = defer(\n cache.observeObject(Employee, 50030, { mode: \"offline\" }, subFn),\n );\n\n expect(subFn).toHaveBeenCalledExactlyOnceWith(objectPayloadContaining({\n status: \"init\",\n object: undefined,\n }));\n subFn.mockClear();\n });\n\n it(\"does basic observation and unsubscribe\", async () => {\n const emp = employeesAsServerReturns[0];\n\n // force an update\n cache.updateObject(Employee, emp);\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({ object: emp }),\n );\n subFn.mockClear();\n\n // force again\n cache.updateObject(Employee, emp.$clone({ fullName: \"new name\" }));\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: expect.objectContaining({ fullName: \"new name\" }),\n }),\n );\n subFn.mockClear();\n\n sub.unsubscribe();\n\n // force again but no subscription update\n cache.updateObject(\n Employee,\n emp.$clone({ fullName: \"new name 2\" }),\n );\n expect(subFn).not.toHaveBeenCalled();\n });\n\n it(\"observes with list update\", async () => {\n const emp = employeesAsServerReturns[0];\n\n // force an update\n cache.updateObject(Employee, emp.$clone({ fullName: \"not the name\" }));\n expect(subFn).toHaveBeenCalledTimes(1);\n\n cache.updateList(Employee, {}, employeesAsServerReturns);\n expect(subFn).toHaveBeenCalledTimes(2);\n\n expect(subFn.mock.calls[1][0]).toEqual(\n objectPayloadContaining({ object: emp }),\n );\n });\n });\n\n describe(\".observeList\", () => {\n const listSub1 = mockListSubCallback();\n\n beforeEach(() => {\n vi.useFakeTimers({});\n listSub1.mockReset();\n });\n afterEach(() => {\n vi.useRealTimers();\n });\n\n describe(\"mode=force\", () => {\n it(\"initial load\", async () => {\n defer(\n cache.observeList(Employee, {}, { mode: \"force\" }, listSub1),\n );\n vitest.runOnlyPendingTimers();\n await vi.waitFor(() => expect(listSub1).toHaveBeenCalled());\n\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n status: \"loading\",\n resolvedList: [],\n }),\n );\n listSub1.mockClear();\n\n await vi.waitFor(() => expect(listSub1).toHaveBeenCalled());\n\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: employeesAsServerReturns,\n status: \"loaded\",\n }),\n );\n });\n\n it(\"subsequent load\", async () => {\n // Pre-seed with data the server doesn't return\n cache.updateList(Employee, {}, mutatedEmployees);\n\n defer(\n cache.observeList(Employee, {}, { mode: \"force\" }, listSub1),\n );\n\n await vi.waitFor(() => expect(listSub1).toHaveBeenCalled());\n\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: mutatedEmployees,\n status: \"loading\",\n }),\n );\n const firstLoad = listSub1.mock.calls[0][0]!;\n listSub1.mockClear();\n\n await vi.waitFor(() => expect(listSub1).toHaveBeenCalled());\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: employeesAsServerReturns,\n status: \"loaded\",\n lastUpdated: expect.toBeGreaterThan(\n firstLoad.lastUpdated,\n ),\n }),\n );\n listSub1.mockClear();\n });\n });\n\n describe(\"mode = offline\", () => {\n it(\"updates with list updates\", async () => {\n defer(\n cache.observeList(Employee, {}, { mode: \"offline\" }, listSub1),\n );\n expect(listSub1).toHaveBeenCalledTimes(0);\n\n cache.updateList(Employee, {}, employeesAsServerReturns);\n vitest.runOnlyPendingTimers();\n\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({ resolvedList: employeesAsServerReturns }),\n );\n listSub1.mockClear();\n\n // list is just now one object\n cache.updateList(Employee, {}, [employeesAsServerReturns[0]]);\n vitest.runOnlyPendingTimers();\n\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: [employeesAsServerReturns[0]],\n }),\n );\n });\n\n it(\"updates with different list updates\", async () => {\n defer(\n cache.observeList(Employee, {}, { mode: \"offline\" }, listSub1),\n );\n\n expect(listSub1).toHaveBeenCalledTimes(0);\n\n cache.updateList(Employee, {}, employeesAsServerReturns);\n vitest.runOnlyPendingTimers();\n\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({ resolvedList: employeesAsServerReturns }),\n );\n listSub1.mockClear();\n\n // new where === different list\n cache.updateList(\n Employee,\n { employeeId: { $gt: 0 } },\n mutatedEmployees,\n );\n vitest.runOnlyPendingTimers();\n\n // original list updates still\n expect(listSub1).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: mutatedEmployees,\n }),\n );\n });\n });\n });\n\n describe(\".fetchMore\", () => {\n beforeEach(() => {\n vi.useFakeTimers({});\n });\n afterEach(() => {\n vi.useRealTimers();\n });\n\n it(\"works in the solo case\", async () => {\n const listSub = mockListSubCallback();\n defer(cache.observeList(\n Employee,\n {},\n { mode: \"force\", pageSize: 1 },\n listSub,\n ));\n\n expect(listSub).not.toHaveBeenCalled();\n await vi.waitFor(() => expect(listSub).toHaveBeenCalled());\n\n expect(listSub).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n status: \"loading\",\n }),\n );\n listSub.mockClear();\n await vi.waitFor(() => expect(listSub).toHaveBeenCalled());\n\n expect(listSub).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: employeesAsServerReturns.slice(0, 1),\n status: \"loaded\",\n }),\n );\n const { fetchMore } = listSub.mock.calls[0][0]!;\n listSub.mockClear();\n\n void fetchMore();\n\n await vi.waitFor(() => expect(listSub).toHaveBeenCalledTimes(1));\n expect(listSub).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n resolvedList: employeesAsServerReturns.slice(0, 1),\n status: \"loading\",\n }),\n );\n listSub.mockClear();\n\n await vi.waitFor(() => expect(listSub).toHaveBeenCalledTimes(1));\n expect(listSub).toHaveBeenCalledWith(\n listPayloadContaining({\n resolvedList: employeesAsServerReturns.slice(0, 2),\n status: \"loaded\",\n }),\n );\n });\n });\n });\n\n describe(\"with mock client\", () => {\n let client: Mock<Client> & Client;\n let mockClient: MockClientHelper;\n let cache: Store;\n\n let employeesAsServerReturns: Osdk.Instance<Employee>[];\n let mutatedEmployees: Osdk.Instance<Employee>[];\n\n beforeEach(async () => {\n mockClient = createClientMockHelper();\n client = mockClient.client;\n cache = new Store(client);\n });\n\n describe(\"actions\", () => {\n it(\"properly invalidates objects\", async () => {\n // after the below `observeObject`, the cache will need to load from the server\n mockClient.mockFetchOneOnce().resolve({\n $apiName: \"Todo\",\n });\n\n const todoSubFn = mockSingleSubCallback();\n defer(cache.observeObject(Todo, 0, {}, todoSubFn));\n\n await todoSubFn.expectLoadingAndLoaded({\n loading: objectPayloadContaining({\n status: \"loading\",\n object: undefined,\n }),\n loaded: objectPayloadContaining({\n object: expect.objectContaining({\n $primaryKey: 0,\n }),\n }),\n });\n\n // at this point we have an observation properly set up\n mockClient.mockApplyActionOnce().resolve({\n addedObjects: [{\n objectType: \"Todo\",\n primaryKey: 0,\n }],\n });\n\n // after we apply the action, the object is invalidated and gets re-requested\n\n mockClient.mockFetchOneOnce<Todo>().resolve({\n $apiName: \"Todo\",\n text: \"hello there kind sir\",\n });\n\n const actionPromise = cache.applyAction(createOffice, {\n officeId: \"whatever\",\n });\n\n await actionPromise;\n await todoSubFn.expectLoadingAndLoaded({\n loading: objectPayloadContaining({\n status: \"loading\",\n }),\n loaded: objectPayloadContaining({\n object: expect.objectContaining({\n text: \"hello there kind sir\",\n }),\n }),\n });\n });\n\n it(\"rolls back optimistic updates on error\", async () => {\n const fauxObject = {\n $apiName: \"Todo\",\n $objectType: \"Todo\",\n $primaryKey: 0,\n $title: \"does not matter\",\n } as Osdk.Instance<Todo>;\n\n // after the below `observeObject`, the cache will need to load from the server\n mockClient.mockFetchOneOnce<Todo>()\n .resolve(fauxObject);\n\n const todoSubFn = mockSingleSubCallback();\n defer(\n cache.observeObject(Todo, 0, {}, todoSubFn),\n );\n\n await todoSubFn.expectLoadingAndLoaded({\n loading: objectPayloadContaining({\n status: \"loading\",\n object: undefined,\n isOptimistic: false,\n }),\n loaded: objectPayloadContaining({\n object: fauxObject,\n status: \"loaded\",\n isOptimistic: false,\n }),\n });\n\n // at this point we have an observation properly set up\n const applyActionResult = mockClient.mockApplyActionOnce();\n\n const actionPromise = cache.applyAction(createOffice, {\n officeId: \"whatever\",\n }, {\n optimisticUpdate: (ctx) => {\n ctx.updateObject({ ...fauxObject, someValue: \"optimistic\" });\n },\n });\n\n await waitForCall(todoSubFn, 1);\n expect(todoSubFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: {\n ...fauxObject,\n someValue: \"optimistic\",\n },\n status: \"loading\",\n isOptimistic: true,\n }),\n );\n todoSubFn.mockClear();\n\n // let the action error out\n applyActionResult.reject(\"an error thrown\");\n await expect(actionPromise).rejects.toThrow(\"an error thrown\");\n\n // back to the original object\n await waitForCall(todoSubFn, 1);\n expect(todoSubFn).toHaveBeenCalledExactlyOnceWith(\n objectPayloadContaining({\n object: fauxObject,\n status: \"loaded\",\n isOptimistic: false,\n }),\n );\n });\n });\n });\n\n describe(\"layers\", () => {\n it(\"properly remove\", () => {\n const store = new Store({} as any);\n\n const baseObjects = [1, 2].map((i) => ({\n $primaryKey: i,\n $objectType: \"Employee\",\n $apiName: \"Employee\",\n $title: `truth ${i}`,\n } as Osdk.Instance<Employee>));\n\n const cacheKeys = baseObjects.map((obj) =>\n store.getCacheKey(\"object\", \"Employee\", obj.$primaryKey)\n );\n\n // set the truth\n for (const obj of baseObjects) {\n store.updateObject(\"Employee\", obj);\n }\n\n // expect the truth\n for (const obj of baseObjects) {\n expect(store.getObject(\"Employee\", obj.$primaryKey)).toEqual(\n expect.objectContaining({ $title: `truth ${obj.$primaryKey}` }),\n );\n }\n\n const layerIds = [1, 2].map(createOptimisticId);\n\n // optimistically set the objects in their own layers\n for (let i = 0; i < 2; i++) {\n store.batch({ optimisticId: layerIds[i] }, (batch) => {\n batch.write(\n cacheKeys[i],\n {\n ...baseObjects[i],\n $title: `optimistic ${baseObjects[i].$primaryKey}`,\n },\n \"loading\",\n );\n });\n }\n\n // expect the optimistic values\n for (let i = 0; i < 2; i++) {\n expect(store.getObject(\"Employee\", baseObjects[i].$primaryKey)).toEqual(\n expect.objectContaining({\n $title: `optimistic ${baseObjects[i].$primaryKey}`,\n }),\n );\n }\n\n // remove the first layer\n store.removeLayer(layerIds[0]);\n\n // should have truth object 1 and optimistic object 2\n expect(store.getObject(\"Employee\", 1)).toEqual(\n expect.objectContaining({ $title: \"truth 1\" }),\n );\n expect(store.getObject(\"Employee\", 2)).toEqual(\n expect.objectContaining({ $title: \"optimistic 2\" }),\n );\n\n // remove the second layer\n store.removeLayer(layerIds[1]);\n\n // should have truth objects\n for (const obj of baseObjects) {\n expect(store.getObject(\"Employee\", obj.$primaryKey)).toEqual(\n expect.objectContaining({ $title: `truth ${obj.$primaryKey}` }),\n );\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,124 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export class WeakMapWithEntries {
18
+ #map = new WeakMap();
19
+ #list = [];
20
+ #toClean = [];
21
+ #needsCleaning = false;
22
+ #registry = new FinalizationRegistry(() => {
23
+ this.#toClean.push(new WeakRef({}));
24
+ this.#needsCleaning = true;
25
+ });
26
+ constructor() {
27
+ const weakThis = new WeakRef(this);
28
+ const intervalId = setInterval(() => {
29
+ const self = weakThis.deref();
30
+ if (self) {
31
+ if (this.#needsCleaning) {
32
+ this.#clean();
33
+ }
34
+ } else {
35
+ clearInterval(intervalId);
36
+ }
37
+ }, 1000);
38
+ }
39
+ #clean() {
40
+ this.#list = this.#list.filter(ref => ref.deref() !== undefined);
41
+ }
42
+
43
+ // functions for WeakMap
44
+ delete(key) {
45
+ const ret = this.#map.delete(key);
46
+ this.#toClean.push(new WeakRef(key));
47
+ this.#needsCleaning = true;
48
+ return ret;
49
+ }
50
+ get(key) {
51
+ return this.#map.get(key);
52
+ }
53
+ has(key) {
54
+ return this.#map.has(key);
55
+ }
56
+
57
+ /**
58
+ * Adds a new element with a specified key and value.
59
+ * @param key Must be an object or symbol.
60
+ */
61
+ set(key, value) {
62
+ if (!this.#map.has(key)) {
63
+ this.#list.push(new WeakRef(key));
64
+ }
65
+ this.#map.set(key, value);
66
+ return this;
67
+ }
68
+ [Symbol.toStringTag] = "WeakMap";
69
+
70
+ // functions for iterables
71
+ /** Returns an iterable of entries in the map. */
72
+ [Symbol.iterator]() {
73
+ return this.entries();
74
+ }
75
+
76
+ /**
77
+ * Returns an iterable of key, value pairs for every entry in the map.
78
+ */
79
+ entries() {
80
+ const self = this;
81
+ return function* () {
82
+ for (const ref of self.#list) {
83
+ const key = ref.deref();
84
+ if (key !== undefined) {
85
+ yield [key, self.#map.get(key)];
86
+ }
87
+ }
88
+ }();
89
+ }
90
+
91
+ /**
92
+ * Returns an iterable of keys in the map
93
+ */
94
+ keys() {
95
+ const self = this;
96
+ return function* () {
97
+ for (const ref of self.#list) {
98
+ const key = ref.deref();
99
+ if (key !== undefined) {
100
+ yield key;
101
+ }
102
+ }
103
+ }();
104
+ }
105
+
106
+ /**
107
+ * Returns an iterable of values in the map
108
+ */
109
+ values() {
110
+ const self = this;
111
+ return function* () {
112
+ for (const ref of self.#list) {
113
+ const key = ref.deref();
114
+ if (key !== undefined) {
115
+ const value = self.#map.get(key);
116
+ if (value !== undefined) {
117
+ yield value;
118
+ }
119
+ }
120
+ }
121
+ }();
122
+ }
123
+ }
124
+ //# sourceMappingURL=WeakMapWithEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeakMapWithEntries.js","names":["WeakMapWithEntries","map","WeakMap","list","toClean","needsCleaning","registry","FinalizationRegistry","push","WeakRef","constructor","weakThis","intervalId","setInterval","self","deref","clean","clearInterval","#clean","filter","ref","undefined","delete","key","ret","get","has","set","value","Symbol","toStringTag","iterator","entries","keys","values"],"sources":["WeakMapWithEntries.ts"],"sourcesContent":["/*\n * Copyright 2025 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\ninterface WeakMapIterables<K extends WeakKey, V> {\n /** Returns an iterable of entries in the map. */\n [Symbol.iterator](): IterableIterator<[K, V]>;\n\n /**\n * Returns an iterable of key, value pairs for every entry in the map.\n */\n entries(): IterableIterator<[K, V]>;\n\n /**\n * Returns an iterable of keys in the map\n */\n keys(): IterableIterator<K>;\n\n /**\n * Returns an iterable of values in the map\n */\n values(): IterableIterator<V>;\n}\n\nexport class WeakMapWithEntries<K extends WeakKey, V>\n implements WeakMap<K, V>, WeakMapIterables<K, V>\n{\n #map = new WeakMap<K, V>();\n #list: WeakRef<K>[] = [];\n #toClean: WeakRef<WeakKey>[] = [];\n #needsCleaning = false;\n\n #registry = new FinalizationRegistry(() => {\n this.#toClean.push(new WeakRef({}));\n this.#needsCleaning = true;\n });\n\n constructor() {\n const weakThis = new WeakRef(this);\n const intervalId = setInterval(() => {\n const self = weakThis.deref();\n if (self) {\n if (this.#needsCleaning) {\n this.#clean();\n }\n } else {\n clearInterval(intervalId);\n }\n }, 1000);\n }\n\n #clean() {\n this.#list = this.#list.filter((ref) => ref.deref() !== undefined);\n }\n\n // functions for WeakMap\n delete(key: K): boolean {\n const ret = this.#map.delete(key);\n this.#toClean.push(new WeakRef(key));\n this.#needsCleaning = true;\n\n return ret;\n }\n\n get(key: K): V | undefined {\n return this.#map.get(key);\n }\n\n has(key: K): boolean {\n return this.#map.has(key);\n }\n\n /**\n * Adds a new element with a specified key and value.\n * @param key Must be an object or symbol.\n */\n set(key: K, value: V): this {\n if (!this.#map.has(key)) {\n this.#list.push(new WeakRef(key));\n }\n this.#map.set(key, value);\n\n return this;\n }\n\n [Symbol.toStringTag] = \"WeakMap\";\n\n // functions for iterables\n /** Returns an iterable of entries in the map. */\n [Symbol.iterator](): IterableIterator<[K, V]> {\n return this.entries();\n }\n\n /**\n * Returns an iterable of key, value pairs for every entry in the map.\n */\n entries(): IterableIterator<[K, V]> {\n const self = this;\n function* iter(): IterableIterator<[K, V]> {\n for (const ref of self.#list) {\n const key = ref.deref();\n if (key !== undefined) {\n yield [key, self.#map.get(key)] as [K, V];\n }\n }\n }\n return iter();\n }\n\n /**\n * Returns an iterable of keys in the map\n */\n keys(): IterableIterator<K> {\n const self = this;\n function* iter(): IterableIterator<K> {\n for (const ref of self.#list) {\n const key = ref.deref();\n if (key !== undefined) {\n yield key;\n }\n }\n }\n return iter();\n }\n\n /**\n * Returns an iterable of values in the map\n */\n values(): IterableIterator<V> {\n const self = this;\n function* iter(): IterableIterator<V> {\n for (const ref of self.#list) {\n const key = ref.deref();\n if (key !== undefined) {\n const value = self.#map.get(key);\n if (value !== undefined) {\n yield value;\n }\n }\n }\n }\n return iter();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { Trie } from "@wry/trie";
18
+ import deepEqual from "fast-deep-equal";
19
+ import invariant from "tiny-invariant";
20
+ export class WhereClauseCanonicalizer {
21
+ #cache = new WeakMap();
22
+
23
+ /**
24
+ * This is a trie that stores the sorted collapsed keys of a where clause to
25
+ * the cache key for canonicalized options. In theory this keeps the number of
26
+ * deepEqual comparisons down to a minimum but its probably overkill.
27
+ */
28
+ #trie = new Trie();
29
+
30
+ /**
31
+ * This is a cache from the cacheKey provided by `this.#trie` to the potential
32
+ * canonicalized options.
33
+ */
34
+ #existingOptions = new Map();
35
+ canonicalize(where) {
36
+ // fastest shortcut
37
+ if (this.#cache.has(where)) {
38
+ return this.#cache.get(where);
39
+ }
40
+ const keysSet = new Set();
41
+ const tmpCanon = this.#toCanon(where, keysSet);
42
+ const cacheKey = this.#trie.lookupArray(Array.from(keysSet).sort());
43
+ const lookupEntry = this.#existingOptions.get(cacheKey) ?? {
44
+ options: []
45
+ };
46
+ this.#existingOptions.set(cacheKey, lookupEntry);
47
+ const canon = lookupEntry.options.find(ref => deepEqual(ref.deref(), tmpCanon))?.deref() ?? tmpCanon;
48
+ if (canon === tmpCanon) {
49
+ // This means no existing options were found
50
+ lookupEntry.options.push(new WeakRef(canon));
51
+ }
52
+ this.#cache.set(where, canon);
53
+ return canon;
54
+ }
55
+ #toCanon = (where, set = new Set()) => {
56
+ if ("$and" in where) {
57
+ if (process.env.NODE_ENV !== "production") {
58
+ !Array.isArray(where.$and) ? process.env.NODE_ENV !== "production" ? invariant(false, "expected $and to be an array") : invariant(false) : void 0;
59
+ !(Object.keys(where).length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, "expected only $and to be present") : invariant(false) : void 0;
60
+ }
61
+ if (where.$and.length === 0) {
62
+ // empty $and is a no-op
63
+ return {};
64
+ }
65
+ if (where.$and.length === 1) {
66
+ return this.#toCanon(where.$and[0], set);
67
+ }
68
+ }
69
+ // This is incomplete for all the cases possible but it gets us started
70
+
71
+ return Object.fromEntries(Object.entries(where).sort(([a], [b]) => a.localeCompare(b)).map(([k, v]) => {
72
+ set.add(k);
73
+ if (k === "$and" || k === "$or") {
74
+ return [k, v.map(x => this.#toCanon(x, set))];
75
+ }
76
+ if (k !== "$not" && typeof v === "object" && "$eq" in v) {
77
+ return [k, v["$eq"]];
78
+ }
79
+ return [k, v];
80
+ }));
81
+ };
82
+ }
83
+ //# sourceMappingURL=WhereClauseCanonicalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhereClauseCanonicalizer.js","names":["Trie","deepEqual","invariant","WhereClauseCanonicalizer","cache","WeakMap","trie","existingOptions","Map","canonicalize","where","has","get","keysSet","Set","tmpCanon","toCanon","cacheKey","lookupArray","Array","from","sort","lookupEntry","options","set","canon","find","ref","deref","push","WeakRef","#toCanon","process","env","NODE_ENV","isArray","$and","Object","keys","length","fromEntries","entries","a","b","localeCompare","map","k","v","add","x"],"sources":["WhereClauseCanonicalizer.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectOrInterfaceDefinition, WhereClause } from \"@osdk/api\";\nimport { Trie } from \"@wry/trie\";\nimport deepEqual from \"fast-deep-equal\";\nimport invariant from \"tiny-invariant\";\nimport type { Canonical } from \"./Canonical.js\";\n\nexport class WhereClauseCanonicalizer {\n #cache = new WeakMap<WhereClause<any>, Canonical<WhereClause<any>>>();\n\n /**\n * This is a trie that stores the sorted collapsed keys of a where clause to\n * the cache key for canonicalized options. In theory this keeps the number of\n * deepEqual comparisons down to a minimum but its probably overkill.\n */\n #trie = new Trie<object>();\n\n /**\n * This is a cache from the cacheKey provided by `this.#trie` to the potential\n * canonicalized options.\n */\n #existingOptions: Map<object, {\n options: WeakRef<Canonical<WhereClause<any>>>[];\n }> = new Map();\n\n public canonicalize<T extends ObjectOrInterfaceDefinition>(\n where: WhereClause<T>,\n ): Canonical<WhereClause<T>> {\n // fastest shortcut\n if (this.#cache.has(where)) {\n return this.#cache.get(where)! as Canonical<WhereClause<T>>;\n }\n\n const keysSet = new Set<string>();\n const tmpCanon = this.#toCanon(where, keysSet);\n const cacheKey = this.#trie.lookupArray(Array.from(keysSet).sort());\n const lookupEntry = this.#existingOptions.get(cacheKey)\n ?? { options: [] as WeakRef<Canonical<WhereClause<T>>>[] };\n this.#existingOptions.set(cacheKey, lookupEntry);\n\n const canon =\n lookupEntry.options.find((ref) => deepEqual(ref.deref(), tmpCanon))\n ?.deref()\n ?? tmpCanon;\n\n if (canon === tmpCanon) {\n // This means no existing options were found\n lookupEntry.options.push(new WeakRef(canon));\n }\n\n this.#cache.set(where, canon);\n return canon as Canonical<WhereClause<T>>;\n }\n\n #toCanon = <T extends ObjectOrInterfaceDefinition>(\n where: WhereClause<T>,\n set: Set<string> = new Set<string>(),\n ): Canonical<WhereClause<T>> => {\n if (\"$and\" in where) {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(Array.isArray(where.$and), \"expected $and to be an array\");\n invariant(\n Object.keys(where).length === 1,\n \"expected only $and to be present\",\n );\n }\n if ((where as { $and: WhereClause<T>[] }).$and.length === 0) {\n // empty $and is a no-op\n return {} as Canonical<WhereClause<T>>;\n }\n if ((where as { $and: WhereClause<T>[] }).$and.length === 1) {\n return this.#toCanon(\n (where as { $and: WhereClause<T>[] }).$and[0],\n set,\n );\n }\n }\n // This is incomplete for all the cases possible but it gets us started\n\n return Object.fromEntries(\n Object.entries(where)\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([k, v]) => {\n set.add(k);\n if (k === \"$and\" || k === \"$or\") {\n return [k, (v as Array<any>).map(x => this.#toCanon(x, set))];\n }\n if (k !== \"$not\" && typeof v === \"object\" && \"$eq\" in v) {\n return [k, v[\"$eq\"]];\n }\n return [k, v];\n }),\n ) as Canonical<WhereClause<T>>;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,131 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { describe, expect, it } from "vitest";
18
+ import { WhereClauseCanonicalizer } from "./WhereClauseCanonicalizer.js";
19
+ describe(WhereClauseCanonicalizer, () => {
20
+ it("does not merge unrelated queries", () => {
21
+ const c = new WhereClauseCanonicalizer();
22
+ const r1 = c.canonicalize({
23
+ $and: [{
24
+ employeeId: 5
25
+ }]
26
+ });
27
+ const r2 = c.canonicalize({
28
+ $and: [{
29
+ class: "hi"
30
+ }]
31
+ });
32
+
33
+ // ref equals
34
+ expect(r1).not.toBe(r2);
35
+ });
36
+ it("canonizes two equal (but not ref equal) where clauses", () => {
37
+ const c = new WhereClauseCanonicalizer();
38
+ const w1 = {
39
+ $and: [{
40
+ employeeId: 5
41
+ }]
42
+ };
43
+ const w2 = {
44
+ $and: [{
45
+ employeeId: 5
46
+ }]
47
+ };
48
+
49
+ // objects are deep equal
50
+ expect(w1).toEqual(w2);
51
+ const r1 = c.canonicalize(w1);
52
+ const r2 = c.canonicalize(w2);
53
+
54
+ // ref equals (since they are the same)
55
+ expect(r1).toBe(r2);
56
+ });
57
+ it("flattens $eq", () => {
58
+ const c = new WhereClauseCanonicalizer();
59
+ const r1 = c.canonicalize({
60
+ employeeId: {
61
+ $eq: 5
62
+ }
63
+ });
64
+ const r2 = c.canonicalize({
65
+ employeeId: 5
66
+ });
67
+
68
+ // ref equals (since they are the same)
69
+ expect(r1).toBe(r2);
70
+
71
+ // deep equals
72
+ expect(r1).toEqual({
73
+ employeeId: 5
74
+ });
75
+ });
76
+ it("flattens an $and with one entry", () => {
77
+ const c = new WhereClauseCanonicalizer();
78
+ const r1 = c.canonicalize({
79
+ $and: [{
80
+ employeeId: 5
81
+ }]
82
+ });
83
+ const r2 = c.canonicalize({
84
+ employeeId: 5
85
+ });
86
+
87
+ // ref equals (since they are the same)
88
+ expect(r1).toBe(r2);
89
+
90
+ // deep equals
91
+ expect(r1).toEqual({
92
+ employeeId: 5
93
+ });
94
+ });
95
+ it("flattens an $and with one entry", () => {
96
+ const c = new WhereClauseCanonicalizer();
97
+ const r1 = c.canonicalize({
98
+ $and: [{
99
+ employeeId: 5,
100
+ class: "what"
101
+ }]
102
+ });
103
+ const r2 = c.canonicalize({
104
+ employeeId: 5,
105
+ class: "what"
106
+ });
107
+
108
+ // ref equals (since they are the same)
109
+ expect(r1).toBe(r2);
110
+
111
+ // deep equals
112
+ expect(r1).toEqual({
113
+ employeeId: 5,
114
+ class: "what"
115
+ });
116
+ });
117
+ it("flattens an $and with zero entries", () => {
118
+ const c = new WhereClauseCanonicalizer();
119
+ const r1 = c.canonicalize({
120
+ $and: []
121
+ });
122
+ const r2 = c.canonicalize({});
123
+
124
+ // ref equals (since they are the same)
125
+ expect(r1).toBe(r2);
126
+
127
+ // deep equals
128
+ expect(r1).toEqual({});
129
+ });
130
+ });
131
+ //# sourceMappingURL=WhereClauseCanonicalizer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhereClauseCanonicalizer.test.js","names":["describe","expect","it","WhereClauseCanonicalizer","c","r1","canonicalize","$and","employeeId","r2","class","not","toBe","w1","w2","toEqual","$eq"],"sources":["WhereClauseCanonicalizer.test.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { WhereClause } from \"@osdk/api\";\nimport type { Employee } from \"@osdk/client.test.ontology\";\nimport { describe, expect, it } from \"vitest\";\nimport { WhereClauseCanonicalizer } from \"./WhereClauseCanonicalizer.js\";\n\ndescribe(WhereClauseCanonicalizer, () => {\n it(\"does not merge unrelated queries\", () => {\n const c = new WhereClauseCanonicalizer();\n const w1: WhereClause<Employee> = {\n $and: [\n {\n employeeId: 5,\n },\n ],\n };\n\n const w2: WhereClause<Employee> = {\n $and: [\n {\n class: \"hi\",\n },\n ],\n };\n\n const r1 = c.canonicalize(w1);\n const r2 = c.canonicalize(w2);\n\n // ref equals\n expect(r1).not.toBe(r2);\n });\n\n it(\"canonizes two equal (but not ref equal) where clauses\", () => {\n const c = new WhereClauseCanonicalizer();\n const w1: WhereClause<Employee> = {\n $and: [\n {\n employeeId: 5,\n },\n ],\n };\n\n const w2: WhereClause<Employee> = {\n $and: [\n {\n employeeId: 5,\n },\n ],\n };\n\n // objects are deep equal\n expect(w1).toEqual(w2);\n\n const r1 = c.canonicalize(w1);\n const r2 = c.canonicalize(w2);\n\n // ref equals (since they are the same)\n expect(r1).toBe(r2);\n });\n\n it(\"flattens $eq\", () => {\n const c = new WhereClauseCanonicalizer();\n const w1: WhereClause<Employee> = {\n employeeId: { $eq: 5 },\n };\n\n const w2: WhereClause<Employee> = {\n employeeId: 5,\n };\n\n const r1 = c.canonicalize(w1);\n const r2 = c.canonicalize(w2);\n\n // ref equals (since they are the same)\n expect(r1).toBe(r2);\n\n // deep equals\n expect(r1).toEqual({ employeeId: 5 });\n });\n\n it(\"flattens an $and with one entry\", () => {\n const c = new WhereClauseCanonicalizer();\n const w1: WhereClause<Employee> = {\n $and: [\n {\n employeeId: 5,\n },\n ],\n };\n\n const w2: WhereClause<Employee> = {\n employeeId: 5,\n };\n\n const r1 = c.canonicalize(w1);\n const r2 = c.canonicalize(w2);\n\n // ref equals (since they are the same)\n expect(r1).toBe(r2);\n\n // deep equals\n expect(r1).toEqual({ employeeId: 5 });\n });\n\n it(\"flattens an $and with one entry\", () => {\n const c = new WhereClauseCanonicalizer();\n const w1: WhereClause<Employee> = {\n $and: [\n {\n employeeId: 5,\n class: \"what\",\n },\n ],\n };\n\n const w2: WhereClause<Employee> = {\n employeeId: 5,\n class: \"what\",\n };\n\n const r1 = c.canonicalize(w1);\n const r2 = c.canonicalize(w2);\n\n // ref equals (since they are the same)\n expect(r1).toBe(r2);\n\n // deep equals\n expect(r1).toEqual({ employeeId: 5, class: \"what\" });\n });\n\n it(\"flattens an $and with zero entries\", () => {\n const c = new WhereClauseCanonicalizer();\n const w1: WhereClause<Employee> = {\n $and: [],\n };\n\n const w2: WhereClause<Employee> = {};\n\n const r1 = c.canonicalize(w1);\n const r2 = c.canonicalize(w2);\n\n // ref equals (since they are the same)\n expect(r1).toBe(r2);\n\n // deep equals\n expect(r1).toEqual({});\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import deepEqual from "fast-deep-equal";
18
+ import invariant from "tiny-invariant";
19
+ function is$and(whereClause) {
20
+ if (process.env.NODE_ENV !== "production") {
21
+ if ("$and" in whereClause) {
22
+ !Array.isArray(whereClause.$and) ? process.env.NODE_ENV !== "production" ? invariant(false, "expected $and to be an array") : invariant(false) : void 0;
23
+ !(Object.keys(whereClause).length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, "expected only $and to be present") : invariant(false) : void 0;
24
+ }
25
+ }
26
+ return "$and" in whereClause;
27
+ }
28
+ function is$or(whereClause) {
29
+ if (process.env.NODE_ENV !== "production") {
30
+ if ("$or" in whereClause) {
31
+ !Array.isArray(whereClause.$or) ? process.env.NODE_ENV !== "production" ? invariant(false, "expected $or to be an array") : invariant(false) : void 0;
32
+ !(Object.keys(whereClause).length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, "expected only $or to be present") : invariant(false) : void 0;
33
+ }
34
+ }
35
+ return "$or" in whereClause;
36
+ }
37
+ function is$not(whereClause) {
38
+ if (process.env.NODE_ENV !== "production") {
39
+ if ("$not" in whereClause) {
40
+ !(Object.keys(whereClause).length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, "expected only $not to be present") : invariant(false) : void 0;
41
+ }
42
+ }
43
+ return "$not" in whereClause;
44
+ }
45
+ export function objectSortaMatchesWhereClause(o, whereClause, strict) {
46
+ if (deepEqual({}, whereClause)) {
47
+ return true;
48
+ }
49
+ if (is$and(whereClause)) {
50
+ return whereClause.$and.every(w => objectSortaMatchesWhereClause(o, w, strict));
51
+ }
52
+ if (is$or(whereClause)) {
53
+ return whereClause.$or.some(w => objectSortaMatchesWhereClause(o, w, strict));
54
+ }
55
+ if (is$not(whereClause)) {
56
+ return !objectSortaMatchesWhereClause(o, whereClause.$not, strict);
57
+ }
58
+ return Object.entries(whereClause).every(([key, filter]) => {
59
+ if (typeof filter === "object") {
60
+ const realValue = o[key];
61
+ const [f] = Object.keys(filter);
62
+ const expected = filter[f];
63
+ switch (f) {
64
+ case "$eq":
65
+ return realValue === expected;
66
+ case "$gt":
67
+ return realValue > expected;
68
+ case "$lt":
69
+ return realValue < expected;
70
+ case "$gte":
71
+ return realValue >= expected;
72
+ case "$lte":
73
+ return realValue <= expected;
74
+ case "$ne":
75
+ return realValue !== expected;
76
+ case "$in":
77
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
78
+ return expected.$in.includes(realValue);
79
+ case "$isNull":
80
+ return realValue == null;
81
+ case "$startsWith":
82
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
83
+ return realValue.startsWith(expected);
84
+ case "$contains":
85
+ case "$containsAllTerms":
86
+ case "$containsAllTermsInOrder":
87
+ case "$containsAnyTerm":
88
+ case "$intersects":
89
+ case "$within":
90
+ // for these we will strictly say no and loosely say yes
91
+ // so that they don't change things now but may if reloaded
92
+ return !strict;
93
+ default:
94
+ // same thing here as the above cases but we will catch the
95
+ // exhaustive check in dev
96
+ if (process.env.NODE_ENV !== "production") {
97
+ process.env.NODE_ENV !== "production" ? invariant(false, `Unknown where filter ${f}`) : invariant(false);
98
+ }
99
+ return !strict;
100
+ }
101
+ }
102
+
103
+ // console.log("AAAA", key in o, o[key], filter);
104
+ if (key in o) {
105
+ if (o[key] === filter) {
106
+ return true;
107
+ }
108
+ }
109
+ return false;
110
+ });
111
+ }
112
+ //# sourceMappingURL=objectMatchesWhereClause.js.map