@osdk/client 2.2.0-beta.1 → 2.2.0-beta.11

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 (392) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/MinimalClientContext.js.map +1 -1
  5. package/build/browser/actions/ActionValidationError.js +1 -1
  6. package/build/browser/actions/ActionValidationError.js.map +1 -1
  7. package/build/browser/actions/actions.test.js +164 -87
  8. package/build/browser/actions/actions.test.js.map +1 -1
  9. package/build/browser/actions/applyAction.js +21 -15
  10. package/build/browser/actions/applyAction.js.map +1 -1
  11. package/build/browser/createClient.js +19 -8
  12. package/build/browser/createClient.js.map +1 -1
  13. package/build/browser/createClient.test.js +14 -6
  14. package/build/browser/createClient.test.js.map +1 -1
  15. package/build/browser/createMinimalClient.js +2 -2
  16. package/build/browser/createMinimalClient.js.map +1 -1
  17. package/build/browser/createMinimalClientHelper.js +25 -0
  18. package/build/browser/createMinimalClientHelper.js.map +1 -0
  19. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +2 -2
  20. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  21. package/build/browser/fetchMetadata.test.js +11 -9
  22. package/build/browser/fetchMetadata.test.js.map +1 -1
  23. package/build/browser/index.js +1 -0
  24. package/build/browser/index.js.map +1 -1
  25. package/build/browser/intellisense.test.js +5 -1
  26. package/build/browser/intellisense.test.js.map +1 -1
  27. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +7 -0
  28. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  29. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +1 -1
  30. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  31. package/build/browser/logger/BaseLogger.js +53 -0
  32. package/build/browser/logger/BaseLogger.js.map +1 -0
  33. package/build/{esm → browser/logger}/Logger.js.map +1 -1
  34. package/build/browser/logger/MinimalLogger.js +41 -0
  35. package/build/browser/logger/MinimalLogger.js.map +1 -0
  36. package/build/browser/object/AttachmentUpload.js +3 -0
  37. package/build/browser/object/AttachmentUpload.js.map +1 -1
  38. package/build/browser/object/SimpleOsdkProperties.js +2 -0
  39. package/build/browser/object/SimpleOsdkProperties.js.map +1 -0
  40. package/build/browser/object/aggregate.test.js +12 -2
  41. package/build/browser/object/aggregate.test.js.map +1 -1
  42. package/build/browser/object/attachment.test.js +20 -7
  43. package/build/browser/object/attachment.test.js.map +1 -1
  44. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
  45. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
  46. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  47. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  48. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +25 -0
  49. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  50. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +10 -3
  51. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  52. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  53. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  54. package/build/browser/object/convertWireToOsdkObjects.js +13 -4
  55. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  56. package/build/browser/object/convertWireToOsdkObjects.test.js +17 -11
  57. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  58. package/build/{esm/observable/internal/ChangedObjects.js → browser/object/createObjectSpecifierFromPrimaryKey.js} +3 -7
  59. package/build/browser/object/createObjectSpecifierFromPrimaryKey.js.map +1 -0
  60. package/build/browser/object/fetchPage.js +13 -1
  61. package/build/browser/object/fetchPage.js.map +1 -1
  62. package/build/browser/object/fetchPage.test.js +56 -2
  63. package/build/browser/object/fetchPage.test.js.map +1 -1
  64. package/build/browser/object/geotimeseriesreference.test.js +56 -134
  65. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  66. package/build/browser/object/media.test.js +19 -14
  67. package/build/browser/object/media.test.js.map +1 -1
  68. package/build/browser/object/object.test.js +166 -66
  69. package/build/browser/object/object.test.js.map +1 -1
  70. package/build/browser/object/timeseries.test.js +119 -85
  71. package/build/browser/object/timeseries.test.js.map +1 -1
  72. package/build/browser/objectSet/InterfaceObjectSet.test.js +37 -17
  73. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
  74. package/build/browser/objectSet/ObjectSet.test.js +117 -109
  75. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  76. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +18 -14
  77. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  78. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +16 -9
  79. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  80. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  81. package/build/browser/observable/ListPayload.js.map +1 -1
  82. package/build/browser/observable/ObjectPayload.js.map +1 -1
  83. package/build/browser/observable/ObservableClient.js.map +1 -1
  84. package/build/browser/observable/OptimisticBuilder.js.map +1 -1
  85. package/build/browser/observable/internal/ActionApplication.js +102 -0
  86. package/build/browser/observable/internal/ActionApplication.js.map +1 -0
  87. package/build/browser/observable/internal/BulkObjectLoader.js +93 -0
  88. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -0
  89. package/build/browser/observable/internal/BulkObjectLoader.test.js +112 -0
  90. package/build/browser/observable/internal/BulkObjectLoader.test.js.map +1 -0
  91. package/build/browser/observable/internal/CacheKey.js +38 -1
  92. package/build/browser/observable/internal/CacheKey.js.map +1 -1
  93. package/build/browser/observable/internal/CacheKeys.js +4 -4
  94. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  95. package/build/browser/observable/internal/Changes.js +58 -0
  96. package/build/browser/observable/internal/Changes.js.map +1 -0
  97. package/build/browser/observable/internal/Layer.js +6 -3
  98. package/build/browser/observable/internal/Layer.js.map +1 -1
  99. package/build/browser/observable/internal/ListQuery.js +495 -129
  100. package/build/browser/observable/internal/ListQuery.js.map +1 -1
  101. package/build/browser/observable/internal/ObjectQuery.js +40 -14
  102. package/build/browser/observable/internal/ObjectQuery.js.map +1 -1
  103. package/build/browser/observable/internal/ObservableClientImpl.js +4 -12
  104. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  105. package/build/browser/observable/internal/OptimisticJob.js +30 -29
  106. package/build/browser/observable/internal/OptimisticJob.js.map +1 -1
  107. package/build/browser/observable/internal/OrderByCanonicalizer.js +73 -0
  108. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -0
  109. package/build/browser/observable/internal/OrderByCanonicalizer.test.js +78 -0
  110. package/build/browser/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
  111. package/build/browser/observable/internal/Query.js +79 -6
  112. package/build/browser/observable/internal/Query.js.map +1 -1
  113. package/build/browser/observable/internal/RefCounts.js +7 -2
  114. package/build/browser/observable/internal/RefCounts.js.map +1 -1
  115. package/build/browser/observable/internal/SimpleWhereClause.js +2 -0
  116. package/build/browser/observable/internal/SimpleWhereClause.js.map +1 -0
  117. package/build/browser/observable/internal/Store.js +138 -188
  118. package/build/browser/observable/internal/Store.js.map +1 -1
  119. package/build/browser/observable/internal/Store.test.js +664 -255
  120. package/build/browser/observable/internal/Store.test.js.map +1 -1
  121. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +11 -3
  122. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  123. package/build/browser/observable/internal/objectMatchesWhereClause.js +0 -4
  124. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -1
  125. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  126. package/build/browser/observable/internal/testUtils.js +222 -19
  127. package/build/browser/observable/internal/testUtils.js.map +1 -1
  128. package/build/browser/ontology/StandardOntologyProvider.test.js +17 -16
  129. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
  130. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  131. package/build/browser/queries/applyQuery.js +33 -1
  132. package/build/browser/queries/applyQuery.js.map +1 -1
  133. package/build/browser/queries/queries.test.js +36 -13
  134. package/build/browser/queries/queries.test.js.map +1 -1
  135. package/build/browser/tsserver.js.map +1 -1
  136. package/build/browser/util/UserAgent.js +1 -1
  137. package/build/browser/util/UserAgent.js.map +1 -1
  138. package/build/browser/util/toDataValue.js +10 -2
  139. package/build/browser/util/toDataValue.js.map +1 -1
  140. package/build/browser/util/toDataValue.test.js +37 -16
  141. package/build/browser/util/toDataValue.test.js.map +1 -1
  142. package/build/browser/util/toDataValueQueries.js +27 -2
  143. package/build/browser/util/toDataValueQueries.js.map +1 -1
  144. package/build/cjs/{Client-C8K3E1vH.d.cts → Client-DBTcM9gB.d.cts} +1 -1
  145. package/build/cjs/{chunk-FEUFIE6T.cjs → chunk-EY52J5Z4.cjs} +25 -15
  146. package/build/cjs/chunk-EY52J5Z4.cjs.map +1 -0
  147. package/build/cjs/{chunk-ACX536BS.cjs → chunk-MCQVHD2F.cjs} +40 -29
  148. package/build/cjs/chunk-MCQVHD2F.cjs.map +1 -0
  149. package/build/cjs/chunk-T4NIFYZS.cjs +14 -0
  150. package/build/cjs/chunk-T4NIFYZS.cjs.map +1 -0
  151. package/build/cjs/{graphql-JJX5MZPQ.cjs → graphql-RGM5SRWV.cjs} +43 -2
  152. package/build/cjs/graphql-RGM5SRWV.cjs.map +1 -0
  153. package/build/cjs/index.cjs +265 -94
  154. package/build/cjs/index.cjs.map +1 -1
  155. package/build/cjs/index.d.cts +6 -4
  156. package/build/cjs/public/internal.cjs +6 -6
  157. package/build/cjs/public/internal.d.cts +1 -1
  158. package/build/cjs/public/unstable-do-not-use.cjs +1087 -470
  159. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  160. package/build/cjs/public/unstable-do-not-use.d.cts +37 -27
  161. package/build/esm/Client.js +1 -1
  162. package/build/esm/Client.js.map +1 -1
  163. package/build/esm/MinimalClientContext.js.map +1 -1
  164. package/build/esm/actions/ActionValidationError.js +1 -1
  165. package/build/esm/actions/ActionValidationError.js.map +1 -1
  166. package/build/esm/actions/actions.test.js +164 -87
  167. package/build/esm/actions/actions.test.js.map +1 -1
  168. package/build/esm/actions/applyAction.js +21 -15
  169. package/build/esm/actions/applyAction.js.map +1 -1
  170. package/build/esm/createClient.js +19 -8
  171. package/build/esm/createClient.js.map +1 -1
  172. package/build/esm/createClient.test.js +14 -6
  173. package/build/esm/createClient.test.js.map +1 -1
  174. package/build/esm/createMinimalClient.js +2 -2
  175. package/build/esm/createMinimalClient.js.map +1 -1
  176. package/build/esm/createMinimalClientHelper.js +25 -0
  177. package/build/esm/createMinimalClientHelper.js.map +1 -0
  178. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +2 -2
  179. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  180. package/build/esm/fetchMetadata.test.js +11 -9
  181. package/build/esm/fetchMetadata.test.js.map +1 -1
  182. package/build/esm/index.js +1 -0
  183. package/build/esm/index.js.map +1 -1
  184. package/build/esm/intellisense.test.js +5 -1
  185. package/build/esm/intellisense.test.js.map +1 -1
  186. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +7 -0
  187. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  188. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +1 -1
  189. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  190. package/build/esm/logger/BaseLogger.js +53 -0
  191. package/build/esm/logger/BaseLogger.js.map +1 -0
  192. package/build/{browser → esm/logger}/Logger.js.map +1 -1
  193. package/build/esm/logger/MinimalLogger.js +41 -0
  194. package/build/esm/logger/MinimalLogger.js.map +1 -0
  195. package/build/esm/object/AttachmentUpload.js +3 -0
  196. package/build/esm/object/AttachmentUpload.js.map +1 -1
  197. package/build/esm/object/SimpleOsdkProperties.js +2 -0
  198. package/build/esm/object/SimpleOsdkProperties.js.map +1 -0
  199. package/build/esm/object/aggregate.test.js +12 -2
  200. package/build/esm/object/aggregate.test.js.map +1 -1
  201. package/build/esm/object/attachment.test.js +20 -7
  202. package/build/esm/object/attachment.test.js.map +1 -1
  203. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
  204. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
  205. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  206. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  207. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +25 -0
  208. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  209. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +10 -3
  210. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  211. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  212. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  213. package/build/esm/object/convertWireToOsdkObjects.js +13 -4
  214. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  215. package/build/esm/object/convertWireToOsdkObjects.test.js +17 -11
  216. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  217. package/build/{browser/observable/internal/ChangedObjects.js → esm/object/createObjectSpecifierFromPrimaryKey.js} +3 -7
  218. package/build/esm/object/createObjectSpecifierFromPrimaryKey.js.map +1 -0
  219. package/build/esm/object/fetchPage.js +13 -1
  220. package/build/esm/object/fetchPage.js.map +1 -1
  221. package/build/esm/object/fetchPage.test.js +56 -2
  222. package/build/esm/object/fetchPage.test.js.map +1 -1
  223. package/build/esm/object/geotimeseriesreference.test.js +56 -134
  224. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  225. package/build/esm/object/media.test.js +19 -14
  226. package/build/esm/object/media.test.js.map +1 -1
  227. package/build/esm/object/object.test.js +166 -66
  228. package/build/esm/object/object.test.js.map +1 -1
  229. package/build/esm/object/timeseries.test.js +119 -85
  230. package/build/esm/object/timeseries.test.js.map +1 -1
  231. package/build/esm/objectSet/InterfaceObjectSet.test.js +37 -17
  232. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
  233. package/build/esm/objectSet/ObjectSet.test.js +117 -109
  234. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  235. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +18 -14
  236. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  237. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +16 -9
  238. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  239. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  240. package/build/esm/observable/ListPayload.js.map +1 -1
  241. package/build/esm/observable/ObjectPayload.js.map +1 -1
  242. package/build/esm/observable/ObservableClient.js.map +1 -1
  243. package/build/esm/observable/OptimisticBuilder.js.map +1 -1
  244. package/build/esm/observable/internal/ActionApplication.js +102 -0
  245. package/build/esm/observable/internal/ActionApplication.js.map +1 -0
  246. package/build/esm/observable/internal/BulkObjectLoader.js +93 -0
  247. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -0
  248. package/build/esm/observable/internal/BulkObjectLoader.test.js +112 -0
  249. package/build/esm/observable/internal/BulkObjectLoader.test.js.map +1 -0
  250. package/build/esm/observable/internal/CacheKey.js +38 -1
  251. package/build/esm/observable/internal/CacheKey.js.map +1 -1
  252. package/build/esm/observable/internal/CacheKeys.js +4 -4
  253. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  254. package/build/esm/observable/internal/Changes.js +58 -0
  255. package/build/esm/observable/internal/Changes.js.map +1 -0
  256. package/build/esm/observable/internal/Layer.js +6 -3
  257. package/build/esm/observable/internal/Layer.js.map +1 -1
  258. package/build/esm/observable/internal/ListQuery.js +495 -129
  259. package/build/esm/observable/internal/ListQuery.js.map +1 -1
  260. package/build/esm/observable/internal/ObjectQuery.js +40 -14
  261. package/build/esm/observable/internal/ObjectQuery.js.map +1 -1
  262. package/build/esm/observable/internal/ObservableClientImpl.js +4 -12
  263. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  264. package/build/esm/observable/internal/OptimisticJob.js +30 -29
  265. package/build/esm/observable/internal/OptimisticJob.js.map +1 -1
  266. package/build/esm/observable/internal/OrderByCanonicalizer.js +73 -0
  267. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -0
  268. package/build/esm/observable/internal/OrderByCanonicalizer.test.js +78 -0
  269. package/build/esm/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
  270. package/build/esm/observable/internal/Query.js +79 -6
  271. package/build/esm/observable/internal/Query.js.map +1 -1
  272. package/build/esm/observable/internal/RefCounts.js +7 -2
  273. package/build/esm/observable/internal/RefCounts.js.map +1 -1
  274. package/build/esm/observable/internal/SimpleWhereClause.js +2 -0
  275. package/build/esm/observable/internal/SimpleWhereClause.js.map +1 -0
  276. package/build/esm/observable/internal/Store.js +138 -188
  277. package/build/esm/observable/internal/Store.js.map +1 -1
  278. package/build/esm/observable/internal/Store.test.js +664 -255
  279. package/build/esm/observable/internal/Store.test.js.map +1 -1
  280. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +11 -3
  281. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  282. package/build/esm/observable/internal/objectMatchesWhereClause.js +0 -4
  283. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -1
  284. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  285. package/build/esm/observable/internal/testUtils.js +222 -19
  286. package/build/esm/observable/internal/testUtils.js.map +1 -1
  287. package/build/esm/ontology/StandardOntologyProvider.test.js +17 -16
  288. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
  289. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  290. package/build/esm/queries/applyQuery.js +33 -1
  291. package/build/esm/queries/applyQuery.js.map +1 -1
  292. package/build/esm/queries/queries.test.js +36 -13
  293. package/build/esm/queries/queries.test.js.map +1 -1
  294. package/build/esm/tsserver.js.map +1 -1
  295. package/build/esm/util/UserAgent.js +1 -1
  296. package/build/esm/util/UserAgent.js.map +1 -1
  297. package/build/esm/util/toDataValue.js +10 -2
  298. package/build/esm/util/toDataValue.js.map +1 -1
  299. package/build/esm/util/toDataValue.test.js +37 -16
  300. package/build/esm/util/toDataValue.test.js.map +1 -1
  301. package/build/esm/util/toDataValueQueries.js +27 -2
  302. package/build/esm/util/toDataValueQueries.js.map +1 -1
  303. package/build/types/Client.d.ts +2 -2
  304. package/build/types/Client.d.ts.map +1 -1
  305. package/build/types/MinimalClientContext.d.ts +1 -1
  306. package/build/types/MinimalClientContext.d.ts.map +1 -1
  307. package/build/types/actions/applyAction.d.ts.map +1 -1
  308. package/build/types/createClient.d.ts +1 -1
  309. package/build/types/createClient.d.ts.map +1 -1
  310. package/build/types/createClient.test.d.ts +2 -1
  311. package/build/types/createClient.test.d.ts.map +1 -1
  312. package/build/types/createMinimalClientHelper.d.ts +1 -0
  313. package/build/types/createMinimalClientHelper.d.ts.map +1 -0
  314. package/build/types/index.d.ts +3 -2
  315. package/build/types/index.d.ts.map +1 -1
  316. package/build/types/logger/BaseLogger.d.ts +31 -0
  317. package/build/types/logger/BaseLogger.d.ts.map +1 -0
  318. package/build/types/{Logger.d.ts → logger/Logger.d.ts} +1 -2
  319. package/build/types/logger/Logger.d.ts.map +1 -0
  320. package/build/types/logger/MinimalLogger.d.ts +8 -0
  321. package/build/types/logger/MinimalLogger.d.ts.map +1 -0
  322. package/build/types/object/AttachmentUpload.d.ts +3 -0
  323. package/build/types/object/AttachmentUpload.d.ts.map +1 -1
  324. package/build/types/object/SimpleOsdkProperties.d.ts +1 -0
  325. package/build/types/object/SimpleOsdkProperties.d.ts.map +1 -0
  326. package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts +1 -0
  327. package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts.map +1 -0
  328. package/build/types/object/convertWireToOsdkObjects.d.ts +8 -1
  329. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
  330. package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts +2 -0
  331. package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts.map +1 -0
  332. package/build/types/object/object.test.d.ts.map +1 -1
  333. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -1
  334. package/build/types/observable/ListPayload.d.ts +5 -9
  335. package/build/types/observable/ListPayload.d.ts.map +1 -1
  336. package/build/types/observable/ObjectPayload.d.ts +4 -7
  337. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  338. package/build/types/observable/ObservableClient.d.ts +33 -10
  339. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  340. package/build/types/observable/OptimisticBuilder.d.ts +1 -1
  341. package/build/types/observable/OptimisticBuilder.d.ts.map +1 -1
  342. package/build/types/observable/internal/ActionApplication.d.ts +9 -0
  343. package/build/types/observable/internal/ActionApplication.d.ts.map +1 -0
  344. package/build/types/observable/internal/BulkObjectLoader.d.ts +8 -0
  345. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -0
  346. package/build/types/observable/internal/BulkObjectLoader.test.d.ts +1 -0
  347. package/build/types/observable/internal/BulkObjectLoader.test.d.ts.map +1 -0
  348. package/build/types/observable/internal/CacheKeys.d.ts +2 -1
  349. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  350. package/build/types/observable/internal/Changes.d.ts +15 -0
  351. package/build/types/observable/internal/Changes.d.ts.map +1 -0
  352. package/build/types/observable/internal/Layer.d.ts +2 -1
  353. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  354. package/build/types/observable/internal/ListQuery.d.ts +69 -23
  355. package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
  356. package/build/types/observable/internal/ObjectQuery.d.ts +8 -9
  357. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
  358. package/build/types/observable/internal/OptimisticJob.d.ts +2 -2
  359. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
  360. package/build/types/observable/internal/OrderByCanonicalizer.d.ts +12 -0
  361. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -0
  362. package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts +1 -0
  363. package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts.map +1 -0
  364. package/build/types/observable/internal/Query.d.ts +45 -9
  365. package/build/types/observable/internal/Query.d.ts.map +1 -1
  366. package/build/types/observable/internal/RefCounts.d.ts.map +1 -1
  367. package/build/types/observable/internal/SimpleWhereClause.d.ts +2 -0
  368. package/build/types/observable/internal/SimpleWhereClause.d.ts.map +1 -0
  369. package/build/types/observable/internal/Store.d.ts +33 -29
  370. package/build/types/observable/internal/Store.d.ts.map +1 -1
  371. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +2 -1
  372. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -1
  373. package/build/types/observable/internal/objectMatchesWhereClause.d.ts +4 -2
  374. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -1
  375. package/build/types/observable/internal/testUtils.d.ts +49 -9
  376. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  377. package/build/types/public/unstable-do-not-use.d.ts +1 -4
  378. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  379. package/build/types/queries/applyQuery.d.ts.map +1 -1
  380. package/build/types/tsserver.d.ts +1 -1
  381. package/build/types/tsserver.d.ts.map +1 -1
  382. package/package.json +18 -14
  383. package/build/browser/observable/internal/ChangedObjects.js.map +0 -1
  384. package/build/cjs/chunk-ACX536BS.cjs.map +0 -1
  385. package/build/cjs/chunk-FEUFIE6T.cjs.map +0 -1
  386. package/build/cjs/graphql-JJX5MZPQ.cjs.map +0 -1
  387. package/build/esm/observable/internal/ChangedObjects.js.map +0 -1
  388. package/build/types/Logger.d.ts.map +0 -1
  389. package/build/types/observable/internal/ChangedObjects.d.ts +0 -7
  390. package/build/types/observable/internal/ChangedObjects.d.ts.map +0 -1
  391. /package/build/browser/{Logger.js → logger/Logger.js} +0 -0
  392. /package/build/esm/{Logger.js → logger/Logger.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkFEUFIE6T_cjs = require('./chunk-FEUFIE6T.cjs');
3
+ var chunkEY52J5Z4_cjs = require('./chunk-EY52J5Z4.cjs');
4
4
  var shared_net_errors = require('@osdk/shared.net.errors');
5
5
  var invariant5 = require('tiny-invariant');
6
6
  var api = require('@osdk/api');
@@ -13,16 +13,16 @@ var WebSocket__default = /*#__PURE__*/_interopDefault(WebSocket);
13
13
 
14
14
  // src/public-utils/hydrateAttachmentFromRid.ts
15
15
  function hydrateAttachmentFromRid(client, rid) {
16
- return hydrateAttachmentFromRidInternal(client[chunkFEUFIE6T_cjs.additionalContext], rid);
16
+ return hydrateAttachmentFromRidInternal(client[chunkEY52J5Z4_cjs.additionalContext], rid);
17
17
  }
18
18
  function hydrateAttachmentFromRidInternal(client, rid) {
19
19
  return {
20
20
  rid,
21
21
  async fetchContents() {
22
- return chunkFEUFIE6T_cjs.Attachment_exports.read(client, rid);
22
+ return chunkEY52J5Z4_cjs.Attachment_exports.read(client, rid);
23
23
  },
24
24
  async fetchMetadata() {
25
- const r = await chunkFEUFIE6T_cjs.Attachment_exports.get(client, rid);
25
+ const r = await chunkEY52J5Z4_cjs.Attachment_exports.get(client, rid);
26
26
  return {
27
27
  ...r,
28
28
  sizeBytes: Number(r.sizeBytes)
@@ -31,7 +31,7 @@ function hydrateAttachmentFromRidInternal(client, rid) {
31
31
  };
32
32
  }
33
33
  async function fetchSingle(client, objectType, args, objectSet) {
34
- const result = await chunkFEUFIE6T_cjs.fetchPage(client, objectType, {
34
+ const result = await chunkEY52J5Z4_cjs.fetchPage(client, objectType, {
35
35
  ...args,
36
36
  $pageSize: 1
37
37
  }, objectSet);
@@ -145,7 +145,7 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
145
145
  }
146
146
  const keysOfFilter = Object.keys(filter);
147
147
  const hasDollarSign = keysOfFilter.some((key) => key.startsWith("$"));
148
- !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "WhereClause Filter with multiple clauses isn't allowed") : invariant5__default.default(false) : undefined;
148
+ !(!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) : undefined;
149
149
  if (!hasDollarSign) {
150
150
  const structFilter = Object.entries(filter);
151
151
  !(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) : undefined;
@@ -380,6 +380,13 @@ function modernToLegacyGroupByClause(groupByClause) {
380
380
  maxGroupCount: type.$exactWithLimit
381
381
  }];
382
382
  }
383
+ } else if ("$exact" in type) {
384
+ return [{
385
+ type: "exact",
386
+ field,
387
+ maxGroupCount: type.$exact?.$limit ?? undefined,
388
+ defaultValue: type.$exact.$defaultValue ?? undefined
389
+ }];
383
390
  } else if ("$fixedWidth" in type) {
384
391
  return [{
385
392
  type: "fixedWidth",
@@ -410,8 +417,8 @@ function convertRange(range) {
410
417
  }
411
418
 
412
419
  // src/object/aggregate.ts
413
- async function aggregate(clientCtx, objectType, objectSet = chunkFEUFIE6T_cjs.resolveBaseObjectSetType(objectType), req) {
414
- chunkFEUFIE6T_cjs.resolveBaseObjectSetType(objectType);
420
+ async function aggregate(clientCtx, objectType, objectSet = chunkEY52J5Z4_cjs.resolveBaseObjectSetType(objectType), req) {
421
+ chunkEY52J5Z4_cjs.resolveBaseObjectSetType(objectType);
415
422
  const body = {
416
423
  aggregation: modernToLegacyAggregationClause(req.$select),
417
424
  groupBy: [],
@@ -420,7 +427,7 @@ async function aggregate(clientCtx, objectType, objectSet = chunkFEUFIE6T_cjs.re
420
427
  if (req.$groupBy) {
421
428
  body.groupBy = modernToLegacyGroupByClause(req.$groupBy);
422
429
  }
423
- const result = await chunkFEUFIE6T_cjs.OntologyObjectSet_exports.aggregate(chunkFEUFIE6T_cjs.addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {
430
+ const result = await chunkEY52J5Z4_cjs.OntologyObjectSet_exports.aggregate(chunkEY52J5Z4_cjs.addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {
424
431
  objectSet,
425
432
  groupBy: body.groupBy,
426
433
  aggregation: body.aggregation
@@ -562,7 +569,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
562
569
  */
563
570
  async #initiateSubscribe(sub) {
564
571
  if (process.env.NODE_ENV !== "production") {
565
- this.#logger?.trace("#initiateSubscribe()");
572
+ this.#logger?.debug("#initiateSubscribe()");
566
573
  }
567
574
  try {
568
575
  await this.#ensureWebsocket();
@@ -580,7 +587,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
580
587
  }
581
588
  #sendSubscribeMessage() {
582
589
  if (process.env.NODE_ENV !== "production") {
583
- this.#logger?.trace("#sendSubscribeMessage()");
590
+ this.#logger?.debug("#sendSubscribeMessage()");
584
591
  }
585
592
  const readySubs = [...this.#subscriptions.values()].filter(isReady);
586
593
  const id = nextUuid();
@@ -601,7 +608,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
601
608
  })
602
609
  };
603
610
  if (process.env.NODE_ENV !== "production") {
604
- this.#logger?.trace({
611
+ this.#logger?.debug({
605
612
  payload: subscribe
606
613
  }, "sending subscribe message");
607
614
  }
@@ -648,7 +655,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
648
655
  this.#lastWsConnect = Date.now();
649
656
  if (this.#ws == null) {
650
657
  if (process.env.NODE_ENV !== "production") {
651
- this.#logger?.trace("Creating websocket");
658
+ this.#logger?.debug("Creating websocket");
652
659
  }
653
660
  this.#ws = new WebSocket__default.default(url, [`Bearer-${token}`]);
654
661
  this.#ws.addEventListener("close", this.#onClose);
@@ -685,19 +692,23 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
685
692
  #onMessage = async (message) => {
686
693
  const data = JSON.parse(message.data.toString());
687
694
  if (process.env.NODE_ENV !== "production") {
688
- this.#logger?.trace({
695
+ this.#logger?.debug({
689
696
  payload: data
690
697
  }, "received message from ws");
691
698
  }
692
699
  switch (data.type) {
693
700
  case "objectSetChanged":
694
- return void this.#handleMessage_objectSetChanged(data);
701
+ await this.#handleMessage_objectSetChanged(data);
702
+ return;
695
703
  case "refreshObjectSet":
696
- return void this.#handleMessage_refreshObjectSet(data);
704
+ this.#handleMessage_refreshObjectSet(data);
705
+ return;
697
706
  case "subscribeResponses":
698
- return void this.#handleMessage_subscribeResponses(data);
707
+ this.#handleMessage_subscribeResponses(data);
708
+ return;
699
709
  case "subscriptionClosed": {
700
- return void this.#handleMessage_subscriptionClosed(data);
710
+ this.#handleMessage_subscriptionClosed(data);
711
+ return;
701
712
  }
702
713
  default:
703
714
  process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Unexpected message type") : invariant5__default.default(false) ;
@@ -721,10 +732,10 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
721
732
  state: "ADDED_OR_UPDATED"
722
733
  } : undefined;
723
734
  }));
724
- for (const osdkObject of osdkObjectsWithReferenceUpdates) {
725
- if (osdkObject != null) {
735
+ for (const update of osdkObjectsWithReferenceUpdates) {
736
+ if (update != null) {
726
737
  try {
727
- sub.listener.onChange?.(osdkObject);
738
+ sub.listener.onChange?.(update);
728
739
  } catch (error) {
729
740
  this.#logger?.error(error, "Error in onChange callback");
730
741
  this.#tryCatchOnError(sub, false, error);
@@ -795,7 +806,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
795
806
  case "success":
796
807
  const shouldFireOutOfDate = sub.status === "expired" || sub.status === "reconnecting";
797
808
  if (process.env.NODE_ENV !== "production") {
798
- this.#logger?.trace({
809
+ this.#logger?.debug({
799
810
  shouldFireOutOfDate
800
811
  }, "success");
801
812
  }
@@ -827,7 +838,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
827
838
  }
828
839
  #onClose = (event) => {
829
840
  if (process.env.NODE_ENV !== "production") {
830
- this.#logger?.trace({
841
+ this.#logger?.debug({
831
842
  event
832
843
  }, "Received close event from ws", event);
833
844
  }
@@ -895,15 +906,15 @@ function getWireObjectSet(objectSet) {
895
906
  return objectSetDefinitions.get(objectSet);
896
907
  }
897
908
  var objectSetDefinitions = /* @__PURE__ */ new WeakMap();
898
- function createObjectSet(objectType, clientCtx, objectSet = chunkFEUFIE6T_cjs.resolveBaseObjectSetType(objectType)) {
909
+ function createObjectSet(objectType, clientCtx, objectSet = chunkEY52J5Z4_cjs.resolveBaseObjectSetType(objectType)) {
899
910
  const base = {
900
911
  aggregate: aggregate.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
901
912
  finalMethodCall: "aggregate"
902
913
  })), objectType, objectSet),
903
- fetchPage: chunkFEUFIE6T_cjs.fetchPageInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
914
+ fetchPage: chunkEY52J5Z4_cjs.fetchPageInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
904
915
  finalMethodCall: "fetchPage"
905
916
  })), objectType, objectSet),
906
- fetchPageWithErrors: chunkFEUFIE6T_cjs.fetchPageWithErrorsInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
917
+ fetchPageWithErrors: chunkEY52J5Z4_cjs.fetchPageWithErrorsInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
907
918
  finalMethodCall: "fetchPageWithErrors"
908
919
  })), objectType, objectSet),
909
920
  where: (clause) => {
@@ -937,7 +948,7 @@ function createObjectSet(objectType, clientCtx, objectSet = chunkFEUFIE6T_cjs.re
937
948
  asyncIter: async function* (args) {
938
949
  let $nextPageToken = undefined;
939
950
  do {
940
- const result = await chunkFEUFIE6T_cjs.fetchPageInternal(augmentRequestContext(clientCtx, (_) => ({
951
+ const result = await chunkEY52J5Z4_cjs.fetchPageInternal(augmentRequestContext(clientCtx, (_) => ({
941
952
  finalMethodCall: "asyncIter"
942
953
  })), objectType, objectSet, {
943
954
  ...args,
@@ -1020,5 +1031,5 @@ exports.hydrateAttachmentFromRid = hydrateAttachmentFromRid;
1020
1031
  exports.hydrateAttachmentFromRidInternal = hydrateAttachmentFromRidInternal;
1021
1032
  exports.isObjectSet = isObjectSet;
1022
1033
  exports.isWireObjectSet = isWireObjectSet;
1023
- //# sourceMappingURL=chunk-ACX536BS.cjs.map
1024
- //# sourceMappingURL=chunk-ACX536BS.cjs.map
1034
+ //# sourceMappingURL=chunk-MCQVHD2F.cjs.map
1035
+ //# sourceMappingURL=chunk-MCQVHD2F.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/public-utils/hydrateAttachmentFromRid.ts","../../src/object/fetchSingle.ts","../../src/internal/conversions/modernToLegacyWhereClause.ts","../../src/derivedProperties/createWithPropertiesObjectSet.ts","../../src/internal/conversions/legacyToModernSingleAggregationResult.ts","../../src/internal/conversions/modernToLegacyAggregationClause.ts","../../src/internal/conversions/modernToLegacyGroupByClause.ts","../../src/object/aggregate.ts","../../src/util/augmentRequestContext.ts","../../src/util/WireObjectSet.ts","../../src/objectSet/ObjectSetListenerWebsocket.ts","../../src/objectSet/createObjectSet.ts"],"names":["additionalContext","Attachment_exports","fetchPage","PalantirApiError","invariant","DistanceUnitMapping","DurationMapping","resolveBaseObjectSetType","OntologyObjectSet_exports","addUserAgentAndRequestContextHeaders","WebSocket","fetchPageInternal","fetchPageWithErrorsInternal"],"mappings":"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","file":"chunk-MCQVHD2F.cjs","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { additionalContext } from \"../Client.js\";\n/**\n * Helper function to create an attachment type from a rid\n * @param client - An OSDK client.\n * @param rid - The rid of attachment in Foundry.\n * @returns An OSDK attachment object\n */\nexport function hydrateAttachmentFromRid(client, rid) {\n return hydrateAttachmentFromRidInternal(client[additionalContext], rid);\n}\n\n/** @internal */\nexport function hydrateAttachmentFromRidInternal(client, rid) {\n return {\n rid,\n async fetchContents() {\n return OntologiesV2.Attachments.read(client, rid);\n },\n async fetchMetadata() {\n const r = await OntologiesV2.Attachments.get(client, rid);\n return {\n ...r,\n sizeBytes: Number(r.sizeBytes)\n };\n }\n };\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PalantirApiError } from \"@osdk/shared.net.errors\";\nimport { fetchPage } from \"./fetchPage.js\";\n\n/** @internal */\nexport async function fetchSingle(client, objectType, args, objectSet) {\n const result = await fetchPage(client, objectType, {\n ...args,\n $pageSize: 1\n }, objectSet);\n if (result.data.length !== 1 || result.nextPageToken != null) {\n throw new PalantirApiError(`Expected a single result but got ${result.data.length} instead${result.nextPageToken != null ? \" with nextPageToken set\" : \"\"}`);\n }\n return result.data[0];\n}\n\n/** @internal */\nexport async function fetchSingleWithErrors(client, objectType, args, objectSet) {\n try {\n const result = await fetchSingle(client, objectType, args, objectSet);\n return {\n value: result\n };\n } catch (e) {\n if (e instanceof Error) {\n return {\n error: e\n };\n }\n return {\n error: e\n };\n }\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DistanceUnitMapping } from \"@osdk/api\";\nimport invariant from \"tiny-invariant\";\nexport function extractNamespace(fqApiName) {\n const last = fqApiName.lastIndexOf(\".\");\n if (last === -1) return [undefined, fqApiName];\n return [fqApiName.slice(0, last), fqApiName.slice(last + 1)];\n}\n\n/** @internal */\nexport function modernToLegacyWhereClause(whereClause, objectOrInterface) {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: whereClause.$and.map(clause => modernToLegacyWhereClause(clause, objectOrInterface))\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: whereClause.$or.map(clause => modernToLegacyWhereClause(clause, objectOrInterface))\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(whereClause.$not, objectOrInterface)\n };\n }\n const parts = Object.entries(whereClause);\n if (parts.length === 1) {\n return handleWherePair(parts[0], objectOrInterface);\n }\n return {\n type: \"and\",\n value: parts.map(v => handleWherePair(v, objectOrInterface))\n };\n}\nfunction makeGeoFilterBbox(bbox, filterType, propertyIdentifier, field) {\n return {\n type: filterType === \"$within\" ? \"withinBoundingBox\" : \"intersectsBoundingBox\",\n /**\n * This is a bit ugly, but did this so that propertyIdentifier only shows up in the return object if its defined,\n * 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.\n * Once we solidify that this is the way forward, I can remove field and clean this up\n */\n ...(propertyIdentifier != null && {\n propertyIdentifier\n }),\n field,\n value: {\n topLeft: {\n type: \"Point\",\n coordinates: [bbox[0], bbox[3]]\n },\n bottomRight: {\n type: \"Point\",\n coordinates: [bbox[2], bbox[1]]\n }\n }\n };\n}\nfunction makeGeoFilterPolygon(coordinates, filterType, propertyIdentifier, field) {\n return {\n type: filterType,\n ...(propertyIdentifier != null && {\n propertyIdentifier\n }),\n field,\n value: {\n type: \"Polygon\",\n coordinates\n }\n };\n}\nfunction handleWherePair([fieldName, filter], objectOrInterface, structFieldSelector) {\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n const propertyIdentifier = structFieldSelector != null ? {\n type: \"structField\",\n ...structFieldSelector,\n propertyApiName: fullyQualifyPropName(structFieldSelector.propertyApiName, objectOrInterface)\n } : undefined;\n const field = structFieldSelector == null ? fullyQualifyPropName(fieldName, objectOrInterface) : undefined;\n if (typeof filter === \"string\" || typeof filter === \"number\" || typeof filter === \"boolean\") {\n propertyIdentifier;\n return {\n type: \"eq\",\n ...(propertyIdentifier != null && {\n propertyIdentifier\n }),\n field,\n value: filter\n };\n }\n const keysOfFilter = Object.keys(filter);\n\n // If any of the keys start with `$` then they must be the only one.\n // e.g. `where({ name: { $eq: \"foo\", $ne: \"bar\" } })` is invalid currently\n const hasDollarSign = keysOfFilter.some(key => key.startsWith(\"$\"));\n !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.\") : invariant(false) : void 0;\n if (!hasDollarSign) {\n const structFilter = Object.entries(filter);\n !(structFilter.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot filter on more than one struct field in the same clause, need to use an and clause\") : invariant(false) : void 0;\n const structFieldApiName = keysOfFilter[0];\n return handleWherePair(Object.entries(filter)[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName\n });\n }\n const firstKey = keysOfFilter[0];\n !(filter[firstKey] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n ...(propertyIdentifier != null && {\n propertyIdentifier\n }),\n field,\n value: filter[firstKey]\n }\n };\n }\n if (firstKey === \"$within\") {\n const withinBody = filter[firstKey];\n if (Array.isArray(withinBody)) {\n return makeGeoFilterBbox(withinBody, firstKey, propertyIdentifier, field);\n } else if (\"$bbox\" in withinBody && withinBody.$bbox != null) {\n return makeGeoFilterBbox(withinBody.$bbox, firstKey, propertyIdentifier, field);\n } else if (\"$distance\" in withinBody && \"$of\" in withinBody && withinBody.$distance != null && withinBody.$of != null) {\n return {\n type: \"withinDistanceOf\",\n ...(propertyIdentifier != null && {\n propertyIdentifier\n }),\n field,\n value: {\n center: Array.isArray(withinBody.$of) ? {\n type: \"Point\",\n coordinates: withinBody.$of\n } : withinBody.$of,\n distance: {\n value: withinBody.$distance[0],\n unit: DistanceUnitMapping[withinBody.$distance[1]]\n }\n }\n };\n } else {\n const coordinates = \"$polygon\" in withinBody ? withinBody.$polygon : withinBody.coordinates;\n return makeGeoFilterPolygon(coordinates, \"withinPolygon\", propertyIdentifier, fieldName);\n }\n }\n if (firstKey === \"$intersects\") {\n const intersectsBody = filter[firstKey];\n if (Array.isArray(intersectsBody)) {\n return makeGeoFilterBbox(intersectsBody, firstKey, propertyIdentifier, field);\n } else if (\"$bbox\" in intersectsBody && intersectsBody.$bbox != null) {\n return makeGeoFilterBbox(intersectsBody.$bbox, firstKey, propertyIdentifier, field);\n } else {\n const coordinates = \"$polygon\" in intersectsBody ? intersectsBody.$polygon : intersectsBody.coordinates;\n return makeGeoFilterPolygon(coordinates, \"intersectsPolygon\", propertyIdentifier, field);\n }\n }\n if (firstKey === \"$containsAllTerms\" || firstKey === \"$containsAnyTerm\") {\n return {\n type: firstKey.substring(1),\n ...(propertyIdentifier != null && {\n propertyIdentifier\n }),\n field,\n value: typeof filter[firstKey] === \"string\" ? filter[firstKey] : filter[firstKey][\"term\"],\n fuzzy: typeof filter[firstKey] === \"string\" ? false : filter[firstKey][\"fuzzySearch\"] ?? false\n };\n }\n return {\n type: firstKey.substring(1),\n ...(propertyIdentifier != null && {\n propertyIdentifier\n }),\n field,\n value: filter[firstKey]\n };\n}\nfunction fullyQualifyPropName(fieldName, objectOrInterface) {\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n const [fieldApiNamespace, fieldShortName] = extractNamespace(fieldName);\n return fieldApiNamespace == null && objApiNamespace != null ? `${objApiNamespace}.${fieldShortName}` : fieldName;\n }\n return fieldName;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nconst idCounter = 0;\n\n/** @internal */\nexport function createWithPropertiesObjectSet(objectType, objectSet, definitionMap) {\n const base = {\n pivotTo: link => {\n return createWithPropertiesObjectSet(objectType, {\n type: \"searchAround\",\n objectSet,\n link\n }, definitionMap);\n },\n where: clause => {\n return createWithPropertiesObjectSet(objectType, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType)\n }, definitionMap);\n },\n aggregate: (aggregation, opt) => {\n const splitAggregation = aggregation.split(\":\");\n !(splitAggregation.length === 2 || splitAggregation[0] === \"$count\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Invalid aggregation format\") : invariant(false) : void 0;\n const [aggregationPropertyName, aggregationOperation] = splitAggregation;\n let aggregationOperationDefinition;\n switch (aggregationOperation) {\n case \"sum\":\n case \"avg\":\n case \"min\":\n case \"max\":\n case \"exactDistinct\":\n case \"approximateDistinct\":\n aggregationOperationDefinition = {\n type: aggregationOperation,\n selectedPropertyApiName: aggregationPropertyName\n };\n break;\n case \"approximatePercentile\":\n aggregationOperationDefinition = {\n type: \"approximatePercentile\",\n selectedPropertyApiName: aggregationPropertyName,\n approximatePercentile: opt?.percentile ?? .5\n };\n break;\n case \"collectSet\":\n case \"collectList\":\n aggregationOperationDefinition = {\n type: aggregationOperation,\n selectedPropertyApiName: aggregationPropertyName,\n limit: opt?.limit ?? 100\n };\n break;\n case undefined:\n if (aggregationPropertyName === \"$count\") {\n aggregationOperationDefinition = {\n type: \"count\"\n };\n break;\n }\n default:\n !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Invalid aggregation operation \" + aggregationOperation) : invariant(false) : void 0;\n }\n const selectorResult = {\n type: {}\n };\n definitionMap.set(selectorResult, {\n type: \"selection\",\n objectSet: objectSet,\n operation: aggregationOperationDefinition\n });\n return selectorResult;\n },\n selectProperty: name => {\n const selectorResult = {\n type: {}\n };\n definitionMap.set(selectorResult, {\n type: \"selection\",\n objectSet: objectSet,\n operation: {\n type: \"get\",\n selectedPropertyApiName: name\n }\n });\n return selectorResult;\n }\n };\n return base;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\n/** @internal */\nexport function legacyToModernSingleAggregationResult(entry) {\n return entry.metrics.reduce((accumulator, curValue) => {\n const parts = curValue.name.split(\".\");\n if (parts[0] === \"count\") {\n return accumulator;\n }\n !(parts.length === 2) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"assumed we were getting a `${key}.${type}`\") : invariant(false) : void 0;\n const property = parts[0];\n const metricType = parts[1];\n if (!(property in accumulator)) {\n accumulator[property] = {}; // fixme?\n }\n accumulator[property][metricType] = curValue.value; // fixme?\n\n return accumulator;\n }, {});\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst directionFieldMap = dir => dir === \"asc\" ? \"ASC\" : dir === \"desc\" ? \"DESC\" : undefined;\n\n/** @internal */\nexport function modernToLegacyAggregationClause(select) {\n return Object.entries(select).flatMap(([propAndMetric, aggregationType]) => {\n if (propAndMetric === \"$count\") {\n return {\n type: \"count\",\n name: \"count\",\n direction: directionFieldMap(aggregationType)\n };\n }\n const colonPos = propAndMetric.lastIndexOf(\":\");\n const property = propAndMetric.slice(0, colonPos);\n const metric = propAndMetric.slice(colonPos + 1);\n return [{\n type: metric,\n name: `${property}.${metric}`,\n direction: directionFieldMap(aggregationType),\n field: property\n }];\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DurationMapping } from \"@osdk/api\";\n/** @internal */\nexport function modernToLegacyGroupByClause(groupByClause) {\n if (!groupByClause) return [];\n return Object.entries(groupByClause).flatMap(([field, type]) => {\n if (type === \"exact\") {\n return [{\n type,\n field\n }];\n } else if (\"$exactWithLimit\" in type) {\n {\n return [{\n type: \"exact\",\n field,\n maxGroupCount: type.$exactWithLimit\n }];\n }\n } else if (\"$exact\" in type) {\n return [{\n type: \"exact\",\n field,\n maxGroupCount: type.$exact?.$limit ?? undefined,\n defaultValue: type.$exact.$defaultValue ?? undefined\n }];\n } else if (\"$fixedWidth\" in type) {\n return [{\n type: \"fixedWidth\",\n field,\n fixedWidth: type.$fixedWidth\n }];\n } else if (\"$ranges\" in type) {\n return [{\n type: \"ranges\",\n field,\n ranges: type.$ranges.map(range => convertRange(range))\n }];\n } else if (\"$duration\" in type) {\n return [{\n type: \"duration\",\n field,\n value: type.$duration[0],\n unit: DurationMapping[type.$duration[1]]\n }];\n } else return [];\n });\n}\nfunction convertRange(range) {\n return {\n startValue: range[0],\n endValue: range[1]\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate(clientCtx, objectType, objectSet = resolveBaseObjectSetType(objectType), req) {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body = {\n aggregation: modernToLegacyAggregationClause(req.$select),\n groupBy: [],\n where: undefined\n };\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n const result = await OntologiesV2.OntologyObjectSets.aggregate(addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation\n });\n if (!req.$groupBy) {\n !(result.data.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"no group by clause should mean only one data result\") : invariant(false) : void 0;\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(result.data[0])\n };\n }\n const ret = result.data.map(entry => {\n return {\n $group: entry.group,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry)\n };\n }); // fixme\n\n return ret; // FIXME\n}\nfunction aggregationToCountResult(entry) {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return {\n $count: aggregateResult.value\n };\n }\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\nReturns a client with its `requestContext` merged with the result of applying\n`augment` to its `requestContext`.\n\nThe second argument is an `Partial<RequestContext>`-returning `augment` function\ninstead of a `RequestContext` object to make referencing the current request\ncontext easier. For example, modifying the `fetchPage` function to add its name\nto the object set's called method chain could look like:\n```\naugmentRequestContext(\n clientContext,\n ctx => ({ methodChain: [...ctx.methodChain, \"fetchPage\"] })\n)\n```\nor\n```\naugmentRequestContext(\n clientContext,\n ({ methodChain }) => ({ methodChain: [...methodChain, \"fetchPage\"] })\n)\n```\ninstead of\n```\naugmentRequestContext(\n clientContext,\n { methodChain: [...clientContext.requestContext.methodChain, \"fetchPage\"] }\n)\n```\n*/\nexport const augmentRequestContext = (client, augment) => ({\n ...client,\n requestContext: {\n ...client.requestContext,\n ...augment(client.requestContext)\n }\n});","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst WIRE_OBJECT_SET_TYPES = new Set([\"base\", \"filter\", \"intersect\", \"reference\", \"searchAround\", \"static\", \"subtract\", \"union\"]);\n\n/** @internal */\nexport function isWireObjectSet(o) {\n return o != null && typeof o === \"object\" && WIRE_OBJECT_SET_TYPES.has(o.type);\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport WebSocket from \"isomorphic-ws\";\nimport invariant from \"tiny-invariant\";\nconst MINIMUM_RECONNECT_DELAY_MS = 5 * 1000;\n\n/** Noop function to reduce conditional checks */\nfunction doNothing() {}\n\n/**\n * Converts an ObjectSetListener to one where all the functions are defined.\n */\nfunction fillOutListener({\n onChange = doNothing,\n onError = doNothing,\n onOutOfDate = doNothing,\n onSuccessfulSubscription = doNothing\n}) {\n return {\n onChange,\n onError,\n onOutOfDate,\n onSuccessfulSubscription\n };\n}\nfunction isReady(sub) {\n return sub.isReady != null;\n}\nfunction subscriptionIsDone(sub) {\n return sub.status === \"done\" || sub.status === \"error\";\n}\n\n/** @internal */\nexport class ObjectSetListenerWebsocket {\n static #instances = new WeakMap();\n // FIXME\n static getInstance(client) {\n let instance = ObjectSetListenerWebsocket.#instances.get(client.clientCacheKey);\n if (instance == null) {\n instance = new ObjectSetListenerWebsocket(client);\n ObjectSetListenerWebsocket.#instances.set(client.clientCacheKey, instance);\n }\n return instance;\n }\n #ws;\n #lastWsConnect = 0;\n #client;\n #logger;\n\n /**\n * map of requestId to all active subscriptions at the time of the request\n */\n #pendingSubscriptions = new Map();\n\n /**\n * Map of subscriptionId to Subscription. Note: the subscriptionId may be\n * temporary and not the actual subscriptionId from the server.\n */\n #subscriptions = new Map();\n #endedSubscriptions = new Set();\n #maybeDisconnectTimeout;\n\n // DO NOT CONSTRUCT DIRECTLY. ONLY EXPOSED AS A TESTING SEAM\n constructor(client, {\n minimumReconnectDelayMs = MINIMUM_RECONNECT_DELAY_MS\n } = {}) {\n this.MINIMUM_RECONNECT_DELAY_MS = minimumReconnectDelayMs;\n this.#client = client;\n this.#logger = client.logger?.child({}, {\n msgPrefix: \"<OSW> \"\n });\n !(client.baseUrl.startsWith(\"https://\") || client.baseUrl.startsWith(\"http://\")) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Stack must be a URL\") : invariant(false) : void 0;\n }\n async subscribe(objectType, objectSet, listener, properties = []) {\n const objOrInterfaceDef = objectType.type === \"object\" ? await this.#client.ontologyProvider.getObjectDefinition(objectType.apiName) : await this.#client.ontologyProvider.getInterfaceDefinition(objectType.apiName);\n let objectProperties = [];\n let referenceProperties = [];\n if (properties.length === 0) {\n properties = Object.keys(objOrInterfaceDef.properties);\n }\n objectProperties = properties.filter(p => objOrInterfaceDef.properties[p].type !== \"geotimeSeriesReference\");\n referenceProperties = properties.filter(p => objOrInterfaceDef.properties[p].type === \"geotimeSeriesReference\");\n const sub = {\n listener: fillOutListener(listener),\n objectSet,\n primaryKeyPropertyName: objOrInterfaceDef.type === \"interface\" ? undefined : objOrInterfaceDef.primaryKeyApiName,\n requestedProperties: objectProperties,\n requestedReferenceProperties: referenceProperties,\n status: \"preparing\",\n // Since we don't have a real subscription id yet but we need to keep\n // track of this reference, we can just use a random uuid.\n subscriptionId: `TMP-${nextUuid()}}`,\n interfaceApiName: objOrInterfaceDef.type === \"object\" ? undefined : objOrInterfaceDef.apiName\n };\n this.#subscriptions.set(sub.subscriptionId, sub);\n\n // actually prepares the subscription, ensures the ws is ready, and sends\n // a subscribe message. We don't want to block on this.\n void this.#initiateSubscribe(sub);\n return () => {\n this.#unsubscribe(sub);\n };\n }\n\n /**\n * Called at least once for every subscription.\n *\n * - Resets pending expiry\n * - Recreates temporary object set\n * - Triggers a full subscribe message\n *\n * @returns\n */\n async #initiateSubscribe(sub) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.debug(\"#initiateSubscribe()\");\n }\n try {\n await this.#ensureWebsocket();\n\n // the consumer may have already unsubscribed before we are ready to request a subscription\n // so we have to acquire the pendingSubscription after the await.\n if (subscriptionIsDone(sub)) {\n return;\n }\n sub.isReady = true;\n // if we aren't open, then this happens after we #onConnect\n if (this.#ws?.readyState === WebSocket.OPEN) {\n this.#sendSubscribeMessage();\n }\n } catch (error) {\n this.#logger?.error(error, \"Error in #initiateSubscribe\");\n this.#tryCatchOnError(sub, true, error);\n }\n }\n #sendSubscribeMessage() {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.debug(\"#sendSubscribeMessage()\");\n }\n // If two calls to `.subscribe()` happen at once (or if the connection is reset),\n // we may have multiple subscriptions that don't have a subscriptionId yet,\n // so we filter those out.\n const readySubs = [...this.#subscriptions.values()].filter(isReady);\n const id = nextUuid();\n // responses come back as an array of subIds, so we need to know the sources\n this.#pendingSubscriptions.set(id, readySubs);\n\n // every subscribe message \"overwrites\" the previous ones that are not\n // re-included, so we have to reconstitute the entire list of subscriptions\n const subscribe = {\n id,\n requests: readySubs.map(({\n objectSet,\n requestedProperties,\n requestedReferenceProperties,\n interfaceApiName\n }) => {\n return {\n objectSet: objectSet,\n propertySet: requestedProperties,\n referenceSet: requestedReferenceProperties\n };\n })\n };\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.debug({\n payload: subscribe\n }, \"sending subscribe message\");\n }\n this.#ws?.send(JSON.stringify(subscribe));\n }\n #unsubscribe(sub, newStatus = \"done\") {\n if (subscriptionIsDone(sub)) {\n // if we are already done, we don't need to do anything\n return;\n }\n sub.status = newStatus;\n\n // make sure listeners do nothing now\n sub.listener = fillOutListener({});\n this.#subscriptions.delete(sub.subscriptionId);\n this.#endedSubscriptions.add(sub.subscriptionId);\n this.#sendSubscribeMessage();\n\n // If we have no more subscriptions, we can disconnect the websocket\n // however we should wait a bit to see if we get any more subscriptions.\n // For example, when switching between react views, you may unsubscribe\n // in the old view and subscribe in the new view. We don't need to re-establish\n // the websocket connection in that case.\n if (this.#maybeDisconnectTimeout) {\n // We reset the timeout on every unsubscribe so its always at least 15s from\n // the last time we are empty. E.g.:\n // - 0s: Subscribe(A)\n // - 10s: Unsubscribe(A)\n // - 11s: Subscribe(B)\n // - 20s: Unsubscribe(B)\n // If we do not clear out the timeout we would disconnect at 25s but that would only be\n // 5s after the last subscription was removed instead of at 35s for the desired 15s.\n clearTimeout(this.#maybeDisconnectTimeout);\n }\n this.#maybeDisconnectTimeout = setTimeout(() => {\n this.#maybeDisconnectTimeout = undefined;\n if (this.#subscriptions.size === 0) {\n this.#cycleWebsocket();\n }\n }, 15_000 /* ms */);\n }\n async #ensureWebsocket() {\n if (this.#ws == null) {\n const {\n baseUrl,\n tokenProvider\n } = this.#client;\n const url = constructWebsocketUrl(baseUrl, await this.#client.ontologyRid);\n const token = await tokenProvider();\n\n // tokenProvider is async, there could potentially be a race to create the websocket.\n // Only the first call to reach here will find a null this.#ws, the rest will bail out\n if (this.#ws == null) {\n // TODO this can probably be exponential backoff with jitter\n // don't reconnect more quickly than MINIMUM_RECONNECT_DELAY\n const nextConnectTime = (this.#lastWsConnect ?? 0) + this.MINIMUM_RECONNECT_DELAY_MS;\n if (nextConnectTime > Date.now()) {\n await new Promise(resolve => {\n setTimeout(resolve, nextConnectTime - Date.now());\n });\n }\n this.#lastWsConnect = Date.now();\n\n // we again may have lost the race after our minimum backoff time\n if (this.#ws == null) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.debug(\"Creating websocket\");\n }\n this.#ws = new WebSocket(url, [`Bearer-${token}`]);\n this.#ws.addEventListener(\"close\", this.#onClose);\n this.#ws.addEventListener(\"message\", this.#onMessage);\n this.#ws.addEventListener(\"open\", this.#onOpen);\n }\n }\n // Allow await-ing the websocket open event if it isn't open already.\n // This needs to happen even for callers that didn't just create this.#ws\n if (this.#ws.readyState === WebSocket.CONNECTING) {\n const ws = this.#ws;\n return new Promise((resolve, reject) => {\n function cleanup() {\n ws.removeEventListener(\"open\", open);\n ws.removeEventListener(\"error\", error);\n ws.removeEventListener(\"close\", cleanup);\n }\n function open() {\n cleanup();\n resolve();\n }\n function error(evt) {\n cleanup();\n reject(evt);\n }\n ws.addEventListener(\"open\", open);\n ws.addEventListener(\"error\", error);\n ws.addEventListener(\"close\", cleanup);\n });\n }\n }\n }\n #onOpen = () => {\n // resubscribe all of the listeners\n this.#sendSubscribeMessage();\n };\n #onMessage = async message => {\n const data = JSON.parse(message.data.toString());\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.debug({\n payload: data\n }, \"received message from ws\");\n }\n switch (data.type) {\n case \"objectSetChanged\":\n await this.#handleMessage_objectSetChanged(data);\n return;\n case \"refreshObjectSet\":\n this.#handleMessage_refreshObjectSet(data);\n return;\n case \"subscribeResponses\":\n this.#handleMessage_subscribeResponses(data);\n return;\n case \"subscriptionClosed\":\n {\n this.#handleMessage_subscriptionClosed(data);\n return;\n }\n default:\n const _ = data;\n !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unexpected message type\") : invariant(false) : void 0;\n }\n };\n #handleMessage_objectSetChanged = async payload => {\n const sub = this.#subscriptions.get(payload.id);\n if (sub == null) return;\n const objectUpdates = payload.updates.filter(update => update.type === \"object\");\n const referenceUpdates = payload.updates.filter(update => update.type === \"reference\");\n const osdkObjectsWithReferenceUpdates = await Promise.all(referenceUpdates.map(async o => {\n const osdkObjectArray = await this.#client.objectFactory2(this.#client, [{\n __apiName: o.objectType,\n __primaryKey: sub.primaryKeyPropertyName != null ? o.primaryKey[sub.primaryKeyPropertyName] : undefined,\n ...o.primaryKey,\n [o.property]: o.value\n }], sub.interfaceApiName, false, undefined, false, await this.#fetchInterfaceMapping(o.objectType, sub.interfaceApiName));\n const singleOsdkObject = osdkObjectArray[0] ?? undefined;\n return singleOsdkObject != null ? {\n object: singleOsdkObject,\n state: \"ADDED_OR_UPDATED\"\n } : undefined;\n }));\n for (const update of osdkObjectsWithReferenceUpdates) {\n if (update != null) {\n try {\n sub.listener.onChange?.(update);\n } catch (error) {\n this.#logger?.error(error, \"Error in onChange callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n }\n }\n const osdkObjects = await Promise.all(objectUpdates.map(async o => {\n const keysToDelete = Object.keys(o.object).filter(key => sub.requestedReferenceProperties.includes(key));\n for (const key of keysToDelete) {\n delete o.object[key];\n }\n const osdkObjectArray = await this.#client.objectFactory2(this.#client, [o.object], sub.interfaceApiName, false, undefined, false, await this.#fetchInterfaceMapping(o.object.__apiName, sub.interfaceApiName));\n const singleOsdkObject = osdkObjectArray[0] ?? undefined;\n return singleOsdkObject != null ? {\n object: singleOsdkObject,\n state: o.state\n } : undefined;\n }));\n for (const osdkObject of osdkObjects) {\n if (osdkObject != null) {\n try {\n sub.listener.onChange?.(osdkObject);\n } catch (error) {\n this.#logger?.error(error, \"Error in onChange callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n }\n }\n };\n async #fetchInterfaceMapping(objectTypeApiName, interfaceApiName) {\n if (interfaceApiName == null) return {};\n const interfaceMap = (await this.#client.ontologyProvider.getObjectDefinition(objectTypeApiName)).interfaceMap;\n return {\n [interfaceApiName]: {\n [objectTypeApiName]: interfaceMap[interfaceApiName]\n }\n };\n }\n #handleMessage_refreshObjectSet = payload => {\n const sub = this.#subscriptions.get(payload.id);\n !sub ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Expected subscription id ${payload.id}`) : invariant(false) : void 0;\n try {\n sub.listener.onOutOfDate();\n } catch (error) {\n this.#logger?.error(error, \"Error in onOutOfDate callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n };\n #handleMessage_subscribeResponses = payload => {\n const {\n id,\n responses\n } = payload;\n const subs = this.#pendingSubscriptions.get(id);\n !subs ? process.env.NODE_ENV !== \"production\" ? invariant(false, `should have a pending subscription for ${id}`) : invariant(false) : void 0;\n this.#pendingSubscriptions.delete(id);\n for (let i = 0; i < responses.length; i++) {\n const sub = subs[i];\n const response = responses[i];\n switch (response.type) {\n case \"error\":\n this.#tryCatchOnError(sub, true, response.errors);\n this.#unsubscribe(sub, \"error\");\n break;\n case \"qos\":\n // the server has requested that we tear down our websocket and reconnect to help load balance\n this.#cycleWebsocket();\n break;\n case \"success\":\n // `\"preparing\"` should only be the status on an initial subscribe.\n const shouldFireOutOfDate = sub.status === \"expired\" || sub.status === \"reconnecting\";\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.debug({\n shouldFireOutOfDate\n }, \"success\");\n }\n sub.status = \"subscribed\";\n if (sub.subscriptionId !== response.id) {\n // might be the temporary one\n this.#subscriptions.delete(sub.subscriptionId);\n sub.subscriptionId = response.id;\n this.#subscriptions.set(sub.subscriptionId, sub); // future messages come by this subId\n }\n try {\n if (shouldFireOutOfDate) sub.listener.onOutOfDate();else sub.listener.onSuccessfulSubscription();\n } catch (error) {\n this.#logger?.error(error, \"Error in onOutOfDate or onSuccessfulSubscription callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n break;\n default:\n this.#tryCatchOnError(sub, true, response);\n }\n }\n };\n #handleMessage_subscriptionClosed(payload) {\n const sub = this.#subscriptions.get(payload.id);\n if (sub == null && this.#endedSubscriptions.has(payload.id)) return;\n !sub ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Expected subscription id ${payload.id}`) : invariant(false) : void 0;\n this.#tryCatchOnError(sub, true, payload.cause);\n this.#unsubscribe(sub, \"error\");\n }\n #onClose = event => {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.debug({\n event\n }, \"Received close event from ws\", event);\n }\n // TODO we should probably throttle this so we don't abuse the backend\n this.#cycleWebsocket();\n };\n #cycleWebsocket = () => {\n if (this.#ws) {\n this.#ws.removeEventListener(\"open\", this.#onOpen);\n this.#ws.removeEventListener(\"message\", this.#onMessage);\n this.#ws.removeEventListener(\"close\", this.#onClose);\n if (this.#ws.readyState !== WebSocket.CLOSING && this.#ws.readyState !== WebSocket.CLOSED) {\n this.#ws.close();\n }\n this.#ws = undefined;\n }\n\n // if we have any listeners that are still depending on us, go ahead and reopen the websocket\n if (this.#subscriptions.size > 0) {\n if (process.env.NODE_ENV !== \"production\") {\n for (const s of this.#subscriptions.values()) {\n !(s.status !== \"done\" && s.status !== \"error\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"should not have done/error subscriptions still\") : invariant(false) : void 0;\n }\n }\n for (const s of this.#subscriptions.values()) {\n if (s.status === \"subscribed\") s.status = \"reconnecting\";\n }\n\n // we don't care about the result of this (we want cycleWebsocket to be fire and forget)\n // just that it happens\n void this.#ensureWebsocket();\n }\n };\n #tryCatchOnError = (sub, subscriptionClosed, error) => {\n try {\n sub.listener.onError({\n subscriptionClosed: subscriptionClosed,\n error\n });\n } catch (onErrorError) {\n // eslint-disable-next-line no-console\n console.error(`Error encountered in an onError callback for an OSDK subscription`, onErrorError);\n // eslint-disable-next-line no-console\n console.error(`This onError call was triggered by an error in another callback`, error);\n // eslint-disable-next-line no-console\n console.error(`The subscription has been closed.`, error);\n if (!subscriptionClosed) {\n this.#logger?.error(error, \"Error in onError callback\");\n this.#unsubscribe(sub, \"error\");\n this.#tryCatchOnError(sub, true, onErrorError);\n }\n }\n };\n}\n\n/** @internal */\nexport function constructWebsocketUrl(baseUrl, ontologyRid) {\n const base = new URL(baseUrl);\n const url = new URL(`api/v2/ontologySubscriptions/ontologies/${ontologyRid}/streamSubscriptions`, base);\n url.protocol = url.protocol.replace(\"https\", \"wss\");\n return url;\n}\nlet uuidCounter = 0;\nfunction nextUuid() {\n return `00000000-0000-0000-0000-${(uuidCounter++).toString().padStart(12, \"0\")}`;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createWithPropertiesObjectSet } from \"../derivedProperties/createWithPropertiesObjectSet.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport { fetchPageInternal, fetchPageWithErrorsInternal } from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./ObjectSetListenerWebsocket.js\";\nfunction isObjectTypeDefinition(def) {\n return def.type === \"object\";\n}\n\n/* @internal */\nexport function isObjectSet(o) {\n return o != null && typeof o === \"object\" && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\n/** @internal */\nexport function getWireObjectSet(objectSet) {\n return objectSetDefinitions.get(objectSet);\n}\nconst objectSetDefinitions = new WeakMap();\n\n/** @internal */\nexport function createObjectSet(objectType, clientCtx, objectSet = resolveBaseObjectSetType(objectType)) {\n const base = {\n aggregate: aggregate.bind(globalThis, augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"aggregate\"\n })), objectType, objectSet),\n fetchPage: fetchPageInternal.bind(globalThis, augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchPage\"\n })), objectType, objectSet),\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(globalThis, augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchPageWithErrors\"\n })), objectType, objectSet),\n where: clause => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType)\n });\n },\n pivotTo: function (type) {\n return createSearchAround(type)();\n },\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [objectSet, ...objectSets.map(os => objectSetDefinitions.get(os))]\n });\n },\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [objectSet, ...objectSets.map(os => objectSetDefinitions.get(os))]\n });\n },\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [objectSet, ...objectSets.map(os => objectSetDefinitions.get(os))]\n });\n },\n asyncIter: async function* (args) {\n let $nextPageToken = undefined;\n do {\n const result = await fetchPageInternal(augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"asyncIter\"\n })), objectType, objectSet, {\n ...args,\n $nextPageToken\n });\n $nextPageToken = result.nextPageToken;\n for (const obj of result.data) {\n yield obj;\n }\n } while ($nextPageToken != null);\n },\n fetchOne: isObjectTypeDefinition(objectType) ? async (primaryKey, options) => {\n return await fetchSingle(augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchOne\"\n })), objectType, options, await createWithPk(clientCtx, objectType, objectSet, primaryKey));\n } : undefined,\n fetchOneWithErrors: isObjectTypeDefinition(objectType) ? async (primaryKey, options) => {\n return await fetchSingleWithErrors(augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchOneWithErrors\"\n })), objectType, options, await createWithPk(clientCtx, objectType, objectSet, primaryKey));\n } : undefined,\n subscribe: (listener, opts) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectType, objectSet, listener, opts?.properties);\n return {\n unsubscribe: async () => (await pendingSubscribe)()\n };\n },\n withProperties: clause => {\n const definitionMap = new Map();\n const derivedProperties = {};\n for (const key of Object.keys(clause)) {\n const derivedPropertyDefinition = clause[key](createWithPropertiesObjectSet(objectType, {\n type: \"methodInput\"\n }, definitionMap));\n derivedProperties[key] = definitionMap.get(derivedPropertyDefinition);\n }\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"withProperties\",\n derivedProperties: derivedProperties,\n objectSet: objectSet\n });\n },\n $objectSetInternals: {\n def: objectType\n }\n };\n function createSearchAround(link) {\n return () => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"searchAround\",\n objectSet,\n link\n });\n };\n }\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base;\n}\nasync function createWithPk(clientCtx, objectType, objectSet, primaryKey) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(objectType.apiName);\n const withPk = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey\n }\n };\n return withPk;\n}"]}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ // src/object/convertWireToOsdkObjects/InternalSymbols.ts
4
+ var UnderlyingOsdkObject = Symbol("Underlying Object" );
5
+ var ObjectDefRef = Symbol("ObjectDefinition" );
6
+ var InterfaceDefRef = Symbol("InterfaceDefinition" );
7
+ var ClientRef = Symbol("ClientRef" );
8
+
9
+ exports.ClientRef = ClientRef;
10
+ exports.InterfaceDefRef = InterfaceDefRef;
11
+ exports.ObjectDefRef = ObjectDefRef;
12
+ exports.UnderlyingOsdkObject = UnderlyingOsdkObject;
13
+ //# sourceMappingURL=chunk-T4NIFYZS.cjs.map
14
+ //# sourceMappingURL=chunk-T4NIFYZS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/object/convertWireToOsdkObjects/InternalSymbols.ts"],"names":[],"mappings":";;;AAiBO,IAAM,oBAAuB,GAAA,MAAA,CAA2C,mBAAA,CAA+B;AAGvG,IAAM,YAAe,GAAA,MAAA,CAA2C,kBAAA,CAA8B;AAG9F,IAAM,eAAkB,GAAA,MAAA,CAA2C,qBAAA,CAAiC;AAGpG,IAAM,SAAY,GAAA,MAAA,CAA2C,WAAA,CAAuB","file":"chunk-T4NIFYZS.cjs","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @internal */\nexport const UnderlyingOsdkObject = Symbol(process.env.MODE !== \"production\" ? \"Underlying Object\" : undefined);\n\n/** @internal */\nexport const ObjectDefRef = Symbol(process.env.MODE !== \"production\" ? \"ObjectDefinition\" : undefined);\n\n/** @internal */\nexport const InterfaceDefRef = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinition\" : undefined);\n\n/** @internal */\nexport const ClientRef = Symbol(process.env.MODE !== \"production\" ? \"ClientRef\" : undefined);"]}
@@ -548,8 +548,10 @@ function isPrintableAsBlockString(value) {
548
548
  case 14:
549
549
  case 15:
550
550
  return false;
551
+ // Has non-printable characters
551
552
  case 13:
552
553
  return false;
554
+ // Has \r or \r\n which will be replaced as \n
553
555
  case 10:
554
556
  if (isEmptyLine && !seenNonEmptyLine) {
555
557
  return false;
@@ -559,6 +561,7 @@ function isPrintableAsBlockString(value) {
559
561
  hasIndent = false;
560
562
  break;
561
563
  case 9:
564
+ // \t
562
565
  case 32:
563
566
  hasIndent || (hasIndent = isEmptyLine);
564
567
  break;
@@ -716,12 +719,33 @@ function readNextToken(lexer, start) {
716
719
  while (position < bodyLength) {
717
720
  const code = body.charCodeAt(position);
718
721
  switch (code) {
722
+ // Ignored ::
723
+ // - UnicodeBOM
724
+ // - WhiteSpace
725
+ // - LineTerminator
726
+ // - Comment
727
+ // - Comma
728
+ //
729
+ // UnicodeBOM :: "Byte Order Mark (U+FEFF)"
730
+ //
731
+ // WhiteSpace ::
732
+ // - "Horizontal Tab (U+0009)"
733
+ // - "Space (U+0020)"
734
+ //
735
+ // Comma :: ,
719
736
  case 65279:
737
+ // <BOM>
720
738
  case 9:
739
+ // \t
721
740
  case 32:
741
+ // <space>
722
742
  case 44:
723
743
  ++position;
724
744
  continue;
745
+ // LineTerminator ::
746
+ // - "New Line (U+000A)"
747
+ // - "Carriage Return (U+000D)" [lookahead != "New Line (U+000A)"]
748
+ // - "Carriage Return (U+000D)" "New Line (U+000A)"
725
749
  case 10:
726
750
  ++position;
727
751
  ++lexer.line;
@@ -736,8 +760,17 @@ function readNextToken(lexer, start) {
736
760
  ++lexer.line;
737
761
  lexer.lineStart = position;
738
762
  continue;
763
+ // Comment
739
764
  case 35:
740
765
  return readComment(lexer, position);
766
+ // Token ::
767
+ // - Punctuator
768
+ // - Name
769
+ // - IntValue
770
+ // - FloatValue
771
+ // - StringValue
772
+ //
773
+ // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }
741
774
  case 33:
742
775
  return createToken(lexer, exports.TokenKind.BANG, position, position + 1);
743
776
  case 36:
@@ -769,6 +802,7 @@ function readNextToken(lexer, start) {
769
802
  return createToken(lexer, exports.TokenKind.PIPE, position, position + 1);
770
803
  case 125:
771
804
  return createToken(lexer, exports.TokenKind.BRACE_R, position, position + 1);
805
+ // StringValue
772
806
  case 34:
773
807
  if (body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {
774
808
  return readBlockString(lexer, position);
@@ -5908,6 +5942,8 @@ function getDirectiveLocationForASTPath(ancestors) {
5908
5942
  "kind" in parentNode || (process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) );
5909
5943
  return parentNode.kind === exports.Kind.INPUT_OBJECT_TYPE_DEFINITION ? exports.DirectiveLocation.INPUT_FIELD_DEFINITION : exports.DirectiveLocation.ARGUMENT_DEFINITION;
5910
5944
  }
5945
+ // Not reachable, all possible types have been considered.
5946
+ /* c8 ignore next */
5911
5947
  default:
5912
5948
  process.env.NODE_ENV !== "production" ? invariant(false, "Unexpected kind: " + inspect(appliedTo.kind)) : invariant(false) ;
5913
5949
  }
@@ -6591,6 +6627,8 @@ function extensionKindToTypeName(kind) {
6591
6627
  return "enum";
6592
6628
  case exports.Kind.INPUT_OBJECT_TYPE_EXTENSION:
6593
6629
  return "input object";
6630
+ // Not reachable. All possible types have been considered
6631
+ /* c8 ignore next */
6594
6632
  default:
6595
6633
  process.env.NODE_ENV !== "production" ? invariant(false, "Unexpected kind: " + inspect(kind)) : invariant(false) ;
6596
6634
  }
@@ -9511,6 +9549,9 @@ function buildASTSchema(documentAST, options) {
9511
9549
  if (config.astNode == null) {
9512
9550
  for (const type of config.types) {
9513
9551
  switch (type.name) {
9552
+ // Note: While this could make early assertions to get the correctly
9553
+ // typed values below, that would throw immediately while type system
9554
+ // validation with validateSchema() will produce more actionable results.
9514
9555
  case "Query":
9515
9556
  config.query = type;
9516
9557
  break;
@@ -10487,5 +10528,5 @@ exports.versionInfo = versionInfo;
10487
10528
  exports.visit = visit;
10488
10529
  exports.visitInParallel = visitInParallel;
10489
10530
  exports.visitWithTypeInfo = visitWithTypeInfo;
10490
- //# sourceMappingURL=graphql-JJX5MZPQ.cjs.map
10491
- //# sourceMappingURL=graphql-JJX5MZPQ.cjs.map
10531
+ //# sourceMappingURL=graphql-RGM5SRWV.cjs.map
10532
+ //# sourceMappingURL=graphql-RGM5SRWV.cjs.map