@osdk/client 2.6.0-beta.2 → 2.6.0-beta.4

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 (267) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +2 -1
  3. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  4. package/build/browser/index.js.map +1 -1
  5. package/build/browser/internal/conversions/extractNamespace.js +22 -0
  6. package/build/browser/internal/conversions/extractNamespace.js.map +1 -0
  7. package/build/browser/internal/conversions/fullyQualifyPropName.js +26 -0
  8. package/build/browser/internal/conversions/fullyQualifyPropName.js.map +1 -0
  9. package/build/browser/internal/conversions/makeGeoFilterBbox.js +41 -0
  10. package/build/browser/internal/conversions/makeGeoFilterBbox.js.map +1 -0
  11. package/build/browser/internal/conversions/makeGeoFilterIntersects.js +29 -0
  12. package/build/browser/internal/conversions/makeGeoFilterIntersects.js.map +1 -0
  13. package/build/browser/internal/conversions/makeGeoFilterPolygon.js +30 -0
  14. package/build/browser/internal/conversions/makeGeoFilterPolygon.js.map +1 -0
  15. package/build/browser/internal/conversions/makeGeoFilterWithin.js +48 -0
  16. package/build/browser/internal/conversions/makeGeoFilterWithin.js.map +1 -0
  17. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +30 -99
  18. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  19. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +139 -0
  20. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  21. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +1 -1
  22. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  23. package/build/browser/object/fetchPage.js +1 -1
  24. package/build/browser/object/fetchPage.js.map +1 -1
  25. package/build/browser/object/formatting/applyPropertyFormatter.js +7 -1
  26. package/build/browser/object/formatting/applyPropertyFormatter.js.map +1 -1
  27. package/build/browser/object/formatting/applyPropertyFormatter.test.js +305 -2
  28. package/build/browser/object/formatting/applyPropertyFormatter.test.js.map +1 -1
  29. package/build/browser/object/formatting/formatDateTime.js +158 -0
  30. package/build/browser/object/formatting/formatDateTime.js.map +1 -0
  31. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +17 -0
  32. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  33. package/build/browser/observable/ObservableClient.js.map +1 -1
  34. package/build/browser/observable/internal/BulkObjectLoader.js +12 -4
  35. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
  36. package/build/browser/observable/internal/BulkObjectLoader.test.js +48 -0
  37. package/build/browser/observable/internal/BulkObjectLoader.test.js.map +1 -1
  38. package/build/browser/observable/internal/CacheKeys.js +9 -3
  39. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  40. package/build/browser/observable/internal/Canonicalizer.js +51 -0
  41. package/build/browser/observable/internal/Canonicalizer.js.map +1 -0
  42. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  43. package/build/browser/observable/internal/OrderByCanonicalizer.js +1 -4
  44. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -1
  45. package/build/browser/observable/internal/RdpCanonicalizer.js +66 -0
  46. package/build/browser/observable/internal/RdpCanonicalizer.js.map +1 -0
  47. package/build/browser/observable/internal/RdpCanonicalizer.test.js +68 -0
  48. package/build/browser/observable/internal/RdpCanonicalizer.test.js.map +1 -0
  49. package/build/browser/observable/internal/SimpleWhereClause.js.map +1 -1
  50. package/build/browser/observable/internal/Store.js +160 -6
  51. package/build/browser/observable/internal/Store.js.map +1 -1
  52. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +1 -1
  53. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  54. package/build/browser/observable/internal/actions/ActionApplication.js +1 -1
  55. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -1
  56. package/build/browser/observable/internal/actions/OptimisticJob.js +3 -3
  57. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -1
  58. package/build/browser/observable/internal/base-list/BaseListQuery.js +12 -3
  59. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  60. package/build/browser/observable/internal/base-list/createCollectionConnectable.js +0 -5
  61. package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
  62. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js +26 -13
  63. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
  64. package/build/browser/observable/internal/evaluateFilter.js +61 -0
  65. package/build/browser/observable/internal/evaluateFilter.js.map +1 -0
  66. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js +33 -1
  67. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -1
  68. package/build/browser/observable/internal/list/InterfaceListQuery.js +8 -3
  69. package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -1
  70. package/build/browser/observable/internal/list/ListCacheKey.js +22 -1
  71. package/build/browser/observable/internal/list/ListCacheKey.js.map +1 -1
  72. package/build/browser/observable/internal/list/ListQuery.js +19 -13
  73. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  74. package/build/browser/observable/internal/list/ListsHelper.js +12 -8
  75. package/build/browser/observable/internal/list/ListsHelper.js.map +1 -1
  76. package/build/browser/observable/internal/list/ObjectListQuery.js +10 -1
  77. package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -1
  78. package/build/browser/observable/internal/object/ObjectCacheKey.js +20 -1
  79. package/build/browser/observable/internal/object/ObjectCacheKey.js.map +1 -1
  80. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.js +126 -0
  81. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.js.map +1 -0
  82. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.test.js +173 -0
  83. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.test.js.map +1 -0
  84. package/build/browser/observable/internal/object/ObjectQuery.js +10 -58
  85. package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -1
  86. package/build/browser/observable/internal/object/ObjectsHelper.js +65 -5
  87. package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -1
  88. package/build/browser/observable/internal/objectMatchesWhereClause.js +3 -37
  89. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -1
  90. package/build/browser/observable/internal/testUtils.js +3 -2
  91. package/build/browser/observable/internal/testUtils.js.map +1 -1
  92. package/build/browser/observable/internal/utils/rdpFieldOperations.js +83 -0
  93. package/build/browser/observable/internal/utils/rdpFieldOperations.js.map +1 -0
  94. package/build/browser/util/UserAgent.js +2 -2
  95. package/build/cjs/{chunk-X7WMWKLM.cjs → chunk-7567LSZD.cjs} +192 -55
  96. package/build/cjs/chunk-7567LSZD.cjs.map +1 -0
  97. package/build/cjs/{chunk-6L3MX4LH.cjs → chunk-VNLY3YOJ.cjs} +241 -196
  98. package/build/cjs/chunk-VNLY3YOJ.cjs.map +1 -0
  99. package/build/cjs/index.cjs +8 -8
  100. package/build/cjs/index.d.cts +1 -1
  101. package/build/cjs/public/internal.cjs +8 -8
  102. package/build/cjs/public/unstable-do-not-use.cjs +633 -208
  103. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  104. package/build/cjs/public/unstable-do-not-use.d.cts +6 -5
  105. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +2 -1
  106. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  107. package/build/esm/index.js.map +1 -1
  108. package/build/esm/internal/conversions/extractNamespace.js +22 -0
  109. package/build/esm/internal/conversions/extractNamespace.js.map +1 -0
  110. package/build/esm/internal/conversions/fullyQualifyPropName.js +26 -0
  111. package/build/esm/internal/conversions/fullyQualifyPropName.js.map +1 -0
  112. package/build/esm/internal/conversions/makeGeoFilterBbox.js +41 -0
  113. package/build/esm/internal/conversions/makeGeoFilterBbox.js.map +1 -0
  114. package/build/esm/internal/conversions/makeGeoFilterIntersects.js +29 -0
  115. package/build/esm/internal/conversions/makeGeoFilterIntersects.js.map +1 -0
  116. package/build/esm/internal/conversions/makeGeoFilterPolygon.js +30 -0
  117. package/build/esm/internal/conversions/makeGeoFilterPolygon.js.map +1 -0
  118. package/build/esm/internal/conversions/makeGeoFilterWithin.js +48 -0
  119. package/build/esm/internal/conversions/makeGeoFilterWithin.js.map +1 -0
  120. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +30 -99
  121. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  122. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +139 -0
  123. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  124. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +1 -1
  125. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  126. package/build/esm/object/fetchPage.js +1 -1
  127. package/build/esm/object/fetchPage.js.map +1 -1
  128. package/build/esm/object/formatting/applyPropertyFormatter.js +7 -1
  129. package/build/esm/object/formatting/applyPropertyFormatter.js.map +1 -1
  130. package/build/esm/object/formatting/applyPropertyFormatter.test.js +305 -2
  131. package/build/esm/object/formatting/applyPropertyFormatter.test.js.map +1 -1
  132. package/build/esm/object/formatting/formatDateTime.js +158 -0
  133. package/build/esm/object/formatting/formatDateTime.js.map +1 -0
  134. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +17 -0
  135. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  136. package/build/esm/observable/ObservableClient.js.map +1 -1
  137. package/build/esm/observable/internal/BulkObjectLoader.js +12 -4
  138. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
  139. package/build/esm/observable/internal/BulkObjectLoader.test.js +48 -0
  140. package/build/esm/observable/internal/BulkObjectLoader.test.js.map +1 -1
  141. package/build/esm/observable/internal/CacheKeys.js +9 -3
  142. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  143. package/build/esm/observable/internal/Canonicalizer.js +51 -0
  144. package/build/esm/observable/internal/Canonicalizer.js.map +1 -0
  145. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  146. package/build/esm/observable/internal/OrderByCanonicalizer.js +1 -4
  147. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -1
  148. package/build/esm/observable/internal/RdpCanonicalizer.js +66 -0
  149. package/build/esm/observable/internal/RdpCanonicalizer.js.map +1 -0
  150. package/build/esm/observable/internal/RdpCanonicalizer.test.js +68 -0
  151. package/build/esm/observable/internal/RdpCanonicalizer.test.js.map +1 -0
  152. package/build/esm/observable/internal/SimpleWhereClause.js.map +1 -1
  153. package/build/esm/observable/internal/Store.js +160 -6
  154. package/build/esm/observable/internal/Store.js.map +1 -1
  155. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +1 -1
  156. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  157. package/build/esm/observable/internal/actions/ActionApplication.js +1 -1
  158. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -1
  159. package/build/esm/observable/internal/actions/OptimisticJob.js +3 -3
  160. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -1
  161. package/build/esm/observable/internal/base-list/BaseListQuery.js +12 -3
  162. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  163. package/build/esm/observable/internal/base-list/createCollectionConnectable.js +0 -5
  164. package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
  165. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js +26 -13
  166. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
  167. package/build/esm/observable/internal/evaluateFilter.js +61 -0
  168. package/build/esm/observable/internal/evaluateFilter.js.map +1 -0
  169. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js +33 -1
  170. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -1
  171. package/build/esm/observable/internal/list/InterfaceListQuery.js +8 -3
  172. package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -1
  173. package/build/esm/observable/internal/list/ListCacheKey.js +22 -1
  174. package/build/esm/observable/internal/list/ListCacheKey.js.map +1 -1
  175. package/build/esm/observable/internal/list/ListQuery.js +19 -13
  176. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  177. package/build/esm/observable/internal/list/ListsHelper.js +12 -8
  178. package/build/esm/observable/internal/list/ListsHelper.js.map +1 -1
  179. package/build/esm/observable/internal/list/ObjectListQuery.js +10 -1
  180. package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -1
  181. package/build/esm/observable/internal/object/ObjectCacheKey.js +20 -1
  182. package/build/esm/observable/internal/object/ObjectCacheKey.js.map +1 -1
  183. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.js +126 -0
  184. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.js.map +1 -0
  185. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.test.js +173 -0
  186. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.test.js.map +1 -0
  187. package/build/esm/observable/internal/object/ObjectQuery.js +10 -58
  188. package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -1
  189. package/build/esm/observable/internal/object/ObjectsHelper.js +65 -5
  190. package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -1
  191. package/build/esm/observable/internal/objectMatchesWhereClause.js +3 -37
  192. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -1
  193. package/build/esm/observable/internal/testUtils.js +3 -2
  194. package/build/esm/observable/internal/testUtils.js.map +1 -1
  195. package/build/esm/observable/internal/utils/rdpFieldOperations.js +83 -0
  196. package/build/esm/observable/internal/utils/rdpFieldOperations.js.map +1 -0
  197. package/build/esm/util/UserAgent.js +2 -2
  198. package/build/types/index.d.ts +1 -1
  199. package/build/types/index.d.ts.map +1 -1
  200. package/build/types/internal/conversions/extractNamespace.d.ts +1 -0
  201. package/build/types/internal/conversions/extractNamespace.d.ts.map +1 -0
  202. package/build/types/internal/conversions/fullyQualifyPropName.d.ts +2 -0
  203. package/build/types/internal/conversions/fullyQualifyPropName.d.ts.map +1 -0
  204. package/build/types/internal/conversions/makeGeoFilterBbox.d.ts +3 -0
  205. package/build/types/internal/conversions/makeGeoFilterBbox.d.ts.map +1 -0
  206. package/build/types/internal/conversions/makeGeoFilterIntersects.d.ts +3 -0
  207. package/build/types/internal/conversions/makeGeoFilterIntersects.d.ts.map +1 -0
  208. package/build/types/internal/conversions/makeGeoFilterPolygon.d.ts +3 -0
  209. package/build/types/internal/conversions/makeGeoFilterPolygon.d.ts.map +1 -0
  210. package/build/types/internal/conversions/makeGeoFilterWithin.d.ts +3 -0
  211. package/build/types/internal/conversions/makeGeoFilterWithin.d.ts.map +1 -0
  212. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts +1 -1
  213. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -1
  214. package/build/types/object/formatting/applyPropertyFormatter.d.ts.map +1 -1
  215. package/build/types/object/formatting/formatDateTime.d.ts +6 -0
  216. package/build/types/object/formatting/formatDateTime.d.ts.map +1 -0
  217. package/build/types/observable/ObservableClient.d.ts +15 -5
  218. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  219. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
  220. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  221. package/build/types/observable/internal/Canonicalizer.d.ts +37 -0
  222. package/build/types/observable/internal/Canonicalizer.d.ts.map +1 -0
  223. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -1
  224. package/build/types/observable/internal/RdpCanonicalizer.d.ts +8 -0
  225. package/build/types/observable/internal/RdpCanonicalizer.d.ts.map +1 -0
  226. package/build/types/observable/internal/RdpCanonicalizer.test.d.ts +1 -0
  227. package/build/types/observable/internal/RdpCanonicalizer.test.d.ts.map +1 -0
  228. package/build/types/observable/internal/SimpleWhereClause.d.ts +6 -2
  229. package/build/types/observable/internal/SimpleWhereClause.d.ts.map +1 -1
  230. package/build/types/observable/internal/Store.d.ts +4 -0
  231. package/build/types/observable/internal/Store.d.ts.map +1 -1
  232. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +5 -2
  233. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -1
  234. package/build/types/observable/internal/actions/ActionApplication.d.ts.map +1 -1
  235. package/build/types/observable/internal/base-list/BaseListQuery.d.ts +6 -0
  236. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -1
  237. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts +1 -23
  238. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts.map +1 -1
  239. package/build/types/observable/internal/evaluateFilter.d.ts +6 -0
  240. package/build/types/observable/internal/evaluateFilter.d.ts.map +1 -0
  241. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +5 -0
  242. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -1
  243. package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -1
  244. package/build/types/observable/internal/list/ListCacheKey.d.ts +7 -1
  245. package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -1
  246. package/build/types/observable/internal/list/ListQuery.d.ts +7 -7
  247. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
  248. package/build/types/observable/internal/list/ListsHelper.d.ts +3 -1
  249. package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -1
  250. package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -1
  251. package/build/types/observable/internal/object/ObjectCacheKey.d.ts +6 -1
  252. package/build/types/observable/internal/object/ObjectCacheKey.d.ts.map +1 -1
  253. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.d.ts +60 -0
  254. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.d.ts.map +1 -0
  255. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.test.d.ts +1 -0
  256. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.test.d.ts.map +1 -0
  257. package/build/types/observable/internal/object/ObjectQuery.d.ts +1 -1
  258. package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -1
  259. package/build/types/observable/internal/object/ObjectsHelper.d.ts +15 -1
  260. package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -1
  261. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -1
  262. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  263. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts +5 -0
  264. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts.map +1 -0
  265. package/package.json +9 -9
  266. package/build/cjs/chunk-6L3MX4LH.cjs.map +0 -1
  267. package/build/cjs/chunk-X7WMWKLM.cjs.map +0 -1
@@ -2,9 +2,9 @@
2
2
 
3
3
  var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
4
4
  var shared_net_errors = require('@osdk/shared.net.errors');
5
- var api = require('@osdk/api');
6
- var invariant5 = require('tiny-invariant');
7
5
  var shared_net_fetch = require('@osdk/shared.net.fetch');
6
+ var invariant5 = require('tiny-invariant');
7
+ var api = require('@osdk/api');
8
8
  var WebSocket = require('isomorphic-ws');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -342,202 +342,13 @@ var _streamValues = [1, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/strea
342
342
  function streamValues($ctx, ...args) {
343
343
  return foundryPlatformFetch($ctx, _streamValues, ...args);
344
344
  }
345
+
346
+ // src/internal/conversions/extractNamespace.ts
345
347
  function extractNamespace(fqApiName) {
346
348
  const last = fqApiName.lastIndexOf(".");
347
349
  if (last === -1) return [void 0, fqApiName];
348
350
  return [fqApiName.slice(0, last), fqApiName.slice(last + 1)];
349
351
  }
350
- function modernToLegacyWhereClause(whereClause, objectOrInterface) {
351
- if ("$and" in whereClause) {
352
- return {
353
- type: "and",
354
- value: whereClause.$and.map((clause) => modernToLegacyWhereClause(clause, objectOrInterface))
355
- };
356
- } else if ("$or" in whereClause) {
357
- return {
358
- type: "or",
359
- value: whereClause.$or.map((clause) => modernToLegacyWhereClause(clause, objectOrInterface))
360
- };
361
- } else if ("$not" in whereClause) {
362
- return {
363
- type: "not",
364
- value: modernToLegacyWhereClause(whereClause.$not, objectOrInterface)
365
- };
366
- }
367
- const parts = Object.entries(whereClause);
368
- if (parts.length === 1) {
369
- return handleWherePair(parts[0], objectOrInterface);
370
- }
371
- return {
372
- type: "and",
373
- value: parts.map((v) => handleWherePair(v, objectOrInterface))
374
- };
375
- }
376
- function makeGeoFilterBbox(bbox, filterType, propertyIdentifier, field) {
377
- return {
378
- type: filterType === "$within" ? "withinBoundingBox" : "intersectsBoundingBox",
379
- /**
380
- * This is a bit ugly, but did this so that propertyIdentifier only shows up in the return object if its defined,
381
- * this makes it so we don't need to go update our entire test bed either to include a field which may change in near future.
382
- * Once we solidify that this is the way forward, I can remove field and clean this up
383
- */
384
- ...propertyIdentifier != null && {
385
- propertyIdentifier
386
- },
387
- field,
388
- value: {
389
- topLeft: {
390
- type: "Point",
391
- coordinates: [bbox[0], bbox[3]]
392
- },
393
- bottomRight: {
394
- type: "Point",
395
- coordinates: [bbox[2], bbox[1]]
396
- }
397
- }
398
- };
399
- }
400
- function makeGeoFilterPolygon(coordinates, filterType, propertyIdentifier, field) {
401
- return {
402
- type: filterType,
403
- ...propertyIdentifier != null && {
404
- propertyIdentifier
405
- },
406
- field,
407
- value: {
408
- type: "Polygon",
409
- coordinates
410
- }
411
- };
412
- }
413
- function handleWherePair([fieldName, filter], objectOrInterface, structFieldSelector) {
414
- !(filter != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Defined key values are only allowed when they are not undefined.") : invariant5__default.default(false) : void 0;
415
- const propertyIdentifier = structFieldSelector != null ? {
416
- type: "structField",
417
- ...structFieldSelector,
418
- propertyApiName: fullyQualifyPropName(structFieldSelector.propertyApiName, objectOrInterface)
419
- } : void 0;
420
- const field = structFieldSelector == null ? fullyQualifyPropName(fieldName, objectOrInterface) : void 0;
421
- if (typeof filter === "string" || typeof filter === "number" || typeof filter === "boolean") {
422
- return {
423
- type: "eq",
424
- ...propertyIdentifier != null && {
425
- propertyIdentifier
426
- },
427
- field,
428
- value: filter
429
- };
430
- }
431
- const keysOfFilter = Object.keys(filter);
432
- const hasDollarSign = keysOfFilter.some((key) => key.startsWith("$"));
433
- !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.") : invariant5__default.default(false) : void 0;
434
- if (!hasDollarSign) {
435
- const structFilter = Object.entries(filter);
436
- !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant5__default.default(false) : void 0;
437
- const structFieldApiName = keysOfFilter[0];
438
- return handleWherePair(Object.entries(filter)[0], objectOrInterface, {
439
- propertyApiName: fieldName,
440
- structFieldApiName
441
- });
442
- }
443
- const firstKey = keysOfFilter[0];
444
- !(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false) : invariant5__default.default(false) : void 0;
445
- if (firstKey === "$ne") {
446
- return {
447
- type: "not",
448
- value: {
449
- type: "eq",
450
- ...propertyIdentifier != null && {
451
- propertyIdentifier
452
- },
453
- field,
454
- value: filter[firstKey]
455
- }
456
- };
457
- }
458
- if (firstKey === "$within") {
459
- const withinBody = filter[firstKey];
460
- if (Array.isArray(withinBody)) {
461
- return makeGeoFilterBbox(withinBody, firstKey, propertyIdentifier, field);
462
- } else if ("$bbox" in withinBody && withinBody.$bbox != null) {
463
- return makeGeoFilterBbox(withinBody.$bbox, firstKey, propertyIdentifier, field);
464
- } else if ("$distance" in withinBody && "$of" in withinBody && withinBody.$distance != null && withinBody.$of != null) {
465
- return {
466
- type: "withinDistanceOf",
467
- ...propertyIdentifier != null && {
468
- propertyIdentifier
469
- },
470
- field,
471
- value: {
472
- center: Array.isArray(withinBody.$of) ? {
473
- type: "Point",
474
- coordinates: withinBody.$of
475
- } : withinBody.$of,
476
- distance: {
477
- value: withinBody.$distance[0],
478
- unit: api.DistanceUnitMapping[withinBody.$distance[1]]
479
- }
480
- }
481
- };
482
- } else {
483
- const coordinates = "$polygon" in withinBody ? withinBody.$polygon : withinBody.coordinates;
484
- return makeGeoFilterPolygon(coordinates, "withinPolygon", propertyIdentifier, fieldName);
485
- }
486
- }
487
- if (firstKey === "$intersects") {
488
- const intersectsBody = filter[firstKey];
489
- if (Array.isArray(intersectsBody)) {
490
- return makeGeoFilterBbox(intersectsBody, firstKey, propertyIdentifier, field);
491
- } else if ("$bbox" in intersectsBody && intersectsBody.$bbox != null) {
492
- return makeGeoFilterBbox(intersectsBody.$bbox, firstKey, propertyIdentifier, field);
493
- } else {
494
- const coordinates = "$polygon" in intersectsBody ? intersectsBody.$polygon : intersectsBody.coordinates;
495
- return makeGeoFilterPolygon(coordinates, "intersectsPolygon", propertyIdentifier, field);
496
- }
497
- }
498
- if (firstKey === "$containsAllTerms" || firstKey === "$containsAnyTerm") {
499
- return {
500
- type: firstKey.substring(1),
501
- ...propertyIdentifier != null && {
502
- propertyIdentifier
503
- },
504
- field,
505
- value: typeof filter[firstKey] === "string" ? filter[firstKey] : filter[firstKey]["term"],
506
- fuzzy: typeof filter[firstKey] === "string" ? false : filter[firstKey]["fuzzySearch"] ?? false
507
- };
508
- }
509
- if (firstKey === "$contains" && filter[firstKey] instanceof Object) {
510
- const structFilter = Object.entries(filter[firstKey]);
511
- !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant5__default.default(false) : void 0;
512
- const structFieldApiName = structFilter[0][0];
513
- !(structFilter[0][1] != null && Object.keys(structFilter[0][1]).length === 1 && "$eq" in structFilter[0][1]) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on a struct field in an array with anything other than a single $eq") : invariant5__default.default(false) : void 0;
514
- return {
515
- type: "contains",
516
- propertyIdentifier: {
517
- type: "structField",
518
- propertyApiName: fieldName,
519
- structFieldApiName
520
- },
521
- value: structFilter[0][1]["$eq"]
522
- };
523
- }
524
- return {
525
- type: firstKey.substring(1),
526
- ...propertyIdentifier != null && {
527
- propertyIdentifier
528
- },
529
- field,
530
- value: filter[firstKey]
531
- };
532
- }
533
- function fullyQualifyPropName(fieldName, objectOrInterface) {
534
- if (objectOrInterface.type === "interface") {
535
- const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);
536
- const [fieldApiNamespace, fieldShortName] = extractNamespace(fieldName);
537
- return fieldApiNamespace == null && objApiNamespace != null ? `${objApiNamespace}.${fieldShortName}` : fieldName;
538
- }
539
- return fieldName;
540
- }
541
352
  var addUserAgentAndRequestContextHeaders = (client, withMetadata) => ({
542
353
  ...client,
543
354
  fetch: shared_net_fetch.createFetchHeaderMutator(client.fetch, (headers) => {
@@ -1087,6 +898,224 @@ async function fetchSingleWithErrors(client, objectType, args, objectSet) {
1087
898
  };
1088
899
  }
1089
900
  }
901
+
902
+ // src/internal/conversions/fullyQualifyPropName.ts
903
+ function fullyQualifyPropName(fieldName, objectOrInterface) {
904
+ if (objectOrInterface.type === "interface") {
905
+ const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);
906
+ const [fieldApiNamespace, fieldShortName] = extractNamespace(fieldName);
907
+ return fieldApiNamespace == null && objApiNamespace != null ? `${objApiNamespace}.${fieldShortName}` : fieldName;
908
+ }
909
+ return fieldName;
910
+ }
911
+
912
+ // src/internal/conversions/makeGeoFilterBbox.ts
913
+ function makeGeoFilterBbox(bbox, filterType, propertyIdentifier, field) {
914
+ return {
915
+ type: filterType === "$within" ? "withinBoundingBox" : "intersectsBoundingBox",
916
+ /**
917
+ * This is a bit ugly, but did this so that propertyIdentifier only shows up in the return object if its defined,
918
+ * this makes it so we don't need to go update our entire test bed either to include a field which may change in near future.
919
+ * Once we solidify that this is the way forward, I can remove field and clean this up
920
+ */
921
+ ...propertyIdentifier != null && {
922
+ propertyIdentifier
923
+ },
924
+ field,
925
+ value: {
926
+ topLeft: {
927
+ type: "Point",
928
+ coordinates: [bbox[0], bbox[3]]
929
+ },
930
+ bottomRight: {
931
+ type: "Point",
932
+ coordinates: [bbox[2], bbox[1]]
933
+ }
934
+ }
935
+ };
936
+ }
937
+
938
+ // src/internal/conversions/makeGeoFilterPolygon.ts
939
+ function makeGeoFilterPolygon(coordinates, filterType, propertyIdentifier, field) {
940
+ return {
941
+ type: filterType,
942
+ ...propertyIdentifier != null && {
943
+ propertyIdentifier
944
+ },
945
+ field,
946
+ value: {
947
+ type: "Polygon",
948
+ coordinates
949
+ }
950
+ };
951
+ }
952
+
953
+ // src/internal/conversions/makeGeoFilterIntersects.ts
954
+ function makeGeoFilterIntersects(intersectsBody, propertyIdentifier, field) {
955
+ if (Array.isArray(intersectsBody)) {
956
+ return makeGeoFilterBbox(intersectsBody, "$intersects", propertyIdentifier, field);
957
+ } else if ("$bbox" in intersectsBody && intersectsBody.$bbox != null) {
958
+ return makeGeoFilterBbox(intersectsBody.$bbox, "$intersects", propertyIdentifier, field);
959
+ } else {
960
+ const coordinates = "$polygon" in intersectsBody ? intersectsBody.$polygon : intersectsBody.coordinates;
961
+ return makeGeoFilterPolygon(coordinates, "intersectsPolygon", propertyIdentifier, field);
962
+ }
963
+ }
964
+ function makeGeoFilterWithin(withinBody, propertyIdentifier, field) {
965
+ if (Array.isArray(withinBody)) {
966
+ return makeGeoFilterBbox(withinBody, "$within", propertyIdentifier, field);
967
+ } else if ("$bbox" in withinBody && withinBody.$bbox != null) {
968
+ return makeGeoFilterBbox(withinBody.$bbox, "$within", propertyIdentifier, field);
969
+ } else if ("$distance" in withinBody && "$of" in withinBody && withinBody.$distance != null && withinBody.$of != null) {
970
+ return {
971
+ type: "withinDistanceOf",
972
+ ...propertyIdentifier != null && {
973
+ propertyIdentifier
974
+ },
975
+ field,
976
+ value: {
977
+ center: Array.isArray(withinBody.$of) ? {
978
+ type: "Point",
979
+ coordinates: withinBody.$of
980
+ } : withinBody.$of,
981
+ distance: {
982
+ value: withinBody.$distance[0],
983
+ unit: api.DistanceUnitMapping[withinBody.$distance[1]]
984
+ }
985
+ }
986
+ };
987
+ } else {
988
+ const coordinates = "$polygon" in withinBody ? withinBody.$polygon : withinBody.coordinates;
989
+ return makeGeoFilterPolygon(coordinates, "withinPolygon", propertyIdentifier, field);
990
+ }
991
+ }
992
+
993
+ // src/internal/conversions/modernToLegacyWhereClause.ts
994
+ function isAndClause(whereClause) {
995
+ return "$and" in whereClause && whereClause.$and !== void 0;
996
+ }
997
+ function isOrClause(whereClause) {
998
+ return "$or" in whereClause && whereClause.$or !== void 0;
999
+ }
1000
+ function isNotClause(whereClause) {
1001
+ return "$not" in whereClause && whereClause.$not !== void 0;
1002
+ }
1003
+ function modernToLegacyWhereClause(whereClause, objectOrInterface, rdpNames) {
1004
+ if (isAndClause(whereClause)) {
1005
+ return {
1006
+ type: "and",
1007
+ value: whereClause.$and.map((clause) => modernToLegacyWhereClause(clause, objectOrInterface, rdpNames))
1008
+ };
1009
+ } else if (isOrClause(whereClause)) {
1010
+ return {
1011
+ type: "or",
1012
+ value: whereClause.$or.map((clause) => modernToLegacyWhereClause(clause, objectOrInterface, rdpNames))
1013
+ };
1014
+ } else if (isNotClause(whereClause)) {
1015
+ return {
1016
+ type: "not",
1017
+ value: modernToLegacyWhereClause(whereClause.$not, objectOrInterface, rdpNames)
1018
+ };
1019
+ }
1020
+ const parts = Object.entries(whereClause);
1021
+ if (parts.length === 1) {
1022
+ return handleWherePair(parts[0], objectOrInterface, void 0, rdpNames);
1023
+ }
1024
+ return {
1025
+ type: "and",
1026
+ value: parts.map((v) => handleWherePair(v, objectOrInterface, void 0, rdpNames))
1027
+ };
1028
+ }
1029
+ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSelector, rdpNames) {
1030
+ !(filter != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Defined key values are only allowed when they are not undefined.") : invariant5__default.default(false) : void 0;
1031
+ const isRdp = !structFieldSelector && rdpNames?.has(fieldName);
1032
+ const propertyIdentifier = isRdp ? {
1033
+ type: "property",
1034
+ apiName: fieldName
1035
+ } : structFieldSelector != null ? {
1036
+ type: "structField",
1037
+ ...structFieldSelector,
1038
+ propertyApiName: fullyQualifyPropName(structFieldSelector.propertyApiName, objectOrInterface)
1039
+ } : void 0;
1040
+ const field = !isRdp && structFieldSelector == null ? fullyQualifyPropName(fieldName, objectOrInterface) : void 0;
1041
+ if (typeof filter === "string" || typeof filter === "number" || typeof filter === "boolean") {
1042
+ return {
1043
+ type: "eq",
1044
+ ...propertyIdentifier != null && {
1045
+ propertyIdentifier
1046
+ },
1047
+ field,
1048
+ value: filter
1049
+ };
1050
+ }
1051
+ const keysOfFilter = Object.keys(filter);
1052
+ const hasDollarSign = keysOfFilter.some((key) => key.startsWith("$"));
1053
+ !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.") : invariant5__default.default(false) : void 0;
1054
+ if (!hasDollarSign) {
1055
+ const structFilter = Object.entries(filter);
1056
+ !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant5__default.default(false) : void 0;
1057
+ const structFieldApiName = keysOfFilter[0];
1058
+ return handleWherePair(Object.entries(filter)[0], objectOrInterface, {
1059
+ propertyApiName: fieldName,
1060
+ structFieldApiName
1061
+ }, rdpNames);
1062
+ }
1063
+ const firstKey = keysOfFilter[0];
1064
+ !(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false) : invariant5__default.default(false) : void 0;
1065
+ if (firstKey === "$ne") {
1066
+ return {
1067
+ type: "not",
1068
+ value: {
1069
+ type: "eq",
1070
+ ...propertyIdentifier != null && {
1071
+ propertyIdentifier
1072
+ },
1073
+ field,
1074
+ value: filter[firstKey]
1075
+ }
1076
+ };
1077
+ }
1078
+ if (firstKey === "$within") {
1079
+ return makeGeoFilterWithin(filter[firstKey], propertyIdentifier, field);
1080
+ }
1081
+ if (firstKey === "$intersects") {
1082
+ return makeGeoFilterIntersects(filter[firstKey], propertyIdentifier, field);
1083
+ }
1084
+ if (firstKey === "$containsAllTerms" || firstKey === "$containsAnyTerm") {
1085
+ return {
1086
+ type: firstKey.substring(1),
1087
+ ...propertyIdentifier != null && {
1088
+ propertyIdentifier
1089
+ },
1090
+ field,
1091
+ value: typeof filter[firstKey] === "string" ? filter[firstKey] : filter[firstKey]["term"],
1092
+ fuzzy: typeof filter[firstKey] === "string" ? false : filter[firstKey]["fuzzySearch"] ?? false
1093
+ };
1094
+ }
1095
+ if (firstKey === "$contains" && filter[firstKey] instanceof Object) {
1096
+ const structFilter = Object.entries(filter[firstKey]);
1097
+ !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant5__default.default(false) : void 0;
1098
+ const structFieldApiName = structFilter[0][0];
1099
+ !(structFilter[0][1] != null && Object.keys(structFilter[0][1]).length === 1 && "$eq" in structFilter[0][1]) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on a struct field in an array with anything other than a single $eq") : invariant5__default.default(false) : void 0;
1100
+ return {
1101
+ type: "contains",
1102
+ propertyIdentifier: {
1103
+ type: "structField",
1104
+ propertyApiName: fieldName,
1105
+ structFieldApiName
1106
+ },
1107
+ value: structFilter[0][1]["$eq"]
1108
+ };
1109
+ }
1110
+ return {
1111
+ type: firstKey.substring(1),
1112
+ ...propertyIdentifier != null && {
1113
+ propertyIdentifier
1114
+ },
1115
+ field,
1116
+ value: filter[firstKey]
1117
+ };
1118
+ }
1090
1119
  function derivedPropertyDefinitionFactory(wireDefinition, definitionMap) {
1091
1120
  const definition = {
1092
1121
  abs() {
@@ -1172,10 +1201,11 @@ function createWithPropertiesObjectSet(objectType, objectSet, definitionMap, fro
1172
1201
  }, definitionMap);
1173
1202
  },
1174
1203
  where: (clause) => {
1204
+ const rdpNames = new Set(definitionMap.keys());
1175
1205
  return createWithPropertiesObjectSet(objectType, {
1176
1206
  type: "filter",
1177
1207
  objectSet,
1178
- where: modernToLegacyWhereClause(clause, objectType)
1208
+ where: modernToLegacyWhereClause(clause, objectType, rdpNames)
1179
1209
  }, definitionMap);
1180
1210
  },
1181
1211
  aggregate: (aggregation, opt) => {
@@ -1462,6 +1492,7 @@ var EXPONENTIAL_BACKOFF_MAX_DELAY_MS = 6e4;
1462
1492
  var EXPONENTIAL_BACKOFF_MULTIPLIER = 2;
1463
1493
  var EXPONENTIAL_BACKOFF_JITTER_FACTOR = 0.3;
1464
1494
  var WEBSOCKET_IDLE_DISCONNECT_DELAY_MS = 15e3;
1495
+ var WEBSOCKET_HEARTBEAT_INTERVAL_MS = 45 * 1e3;
1465
1496
  function doNothing() {
1466
1497
  }
1467
1498
  function fillOutListener({
@@ -1511,6 +1542,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1511
1542
  #subscriptions = /* @__PURE__ */ new Map();
1512
1543
  #endedSubscriptions = /* @__PURE__ */ new Set();
1513
1544
  #maybeDisconnectTimeout;
1545
+ #heartbeatInterval;
1514
1546
  // DO NOT CONSTRUCT DIRECTLY. ONLY EXPOSED AS A TESTING SEAM
1515
1547
  constructor(client, {
1516
1548
  minimumReconnectDelayMs = MINIMUM_RECONNECT_DELAY_MS
@@ -1689,6 +1721,14 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1689
1721
  this.#isFirstConnection = false;
1690
1722
  this.#backoff.reset();
1691
1723
  this.#sendSubscribeMessage();
1724
+ if (this.#heartbeatInterval) {
1725
+ clearInterval(this.#heartbeatInterval);
1726
+ }
1727
+ this.#heartbeatInterval = setInterval(() => {
1728
+ if (this.#ws?.readyState === WebSocket__default.default.OPEN) {
1729
+ this.#sendSubscribeMessage();
1730
+ }
1731
+ }, WEBSOCKET_HEARTBEAT_INTERVAL_MS);
1692
1732
  };
1693
1733
  #onMessage = async (message) => {
1694
1734
  const data = JSON.parse(String(message.data));
@@ -1846,6 +1886,10 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1846
1886
  this.#cycleWebsocket();
1847
1887
  };
1848
1888
  #cycleWebsocket = () => {
1889
+ if (this.#heartbeatInterval) {
1890
+ clearInterval(this.#heartbeatInterval);
1891
+ this.#heartbeatInterval = void 0;
1892
+ }
1849
1893
  if (this.#ws) {
1850
1894
  this.#ws.removeEventListener("open", this.#onOpen);
1851
1895
  this.#ws.removeEventListener("message", this.#onMessage);
@@ -2077,6 +2121,7 @@ exports.additionalContext = additionalContext;
2077
2121
  exports.augment = augment;
2078
2122
  exports.augmentRequestContext = augmentRequestContext;
2079
2123
  exports.createObjectSet = createObjectSet;
2124
+ exports.createWithPropertiesObjectSet = createWithPropertiesObjectSet;
2080
2125
  exports.extractNamespace = extractNamespace;
2081
2126
  exports.fetchPage = fetchPage;
2082
2127
  exports.fetchSingle = fetchSingle;
@@ -2088,5 +2133,5 @@ exports.hydrateAttachmentFromRidInternal = hydrateAttachmentFromRidInternal;
2088
2133
  exports.isObjectSet = isObjectSet;
2089
2134
  exports.isWireObjectSet = isWireObjectSet;
2090
2135
  exports.symbolClientContext = symbolClientContext;
2091
- //# sourceMappingURL=chunk-6L3MX4LH.cjs.map
2092
- //# sourceMappingURL=chunk-6L3MX4LH.cjs.map
2136
+ //# sourceMappingURL=chunk-VNLY3YOJ.cjs.map
2137
+ //# sourceMappingURL=chunk-VNLY3YOJ.cjs.map