@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
@@ -0,0 +1,58 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { MultiMap } from "mnemonist";
18
+ import { DEBUG_ONLY__cacheKeyToString } from "./CacheKey.js";
19
+ export class Changes {
20
+ modifiedObjects = new MultiMap();
21
+ addedObjects = new MultiMap();
22
+ added = new Set();
23
+ modified = new Set();
24
+ registerObject = (cacheKey, data, isNew) => {
25
+ this[isNew ? "addedObjects" : "modifiedObjects"].set(data.$apiName, data);
26
+ this[isNew ? "added" : "modified"].add(cacheKey);
27
+ };
28
+ registerList = key => {
29
+ this.modified.add(key);
30
+ };
31
+ isEmpty() {
32
+ return this.modifiedObjects.size === 0 && this.addedObjects.size === 0 && this.added.size === 0 && this.modified.size === 0;
33
+ }
34
+ }
35
+ export function createChangedObjects() {
36
+ return new Changes();
37
+ }
38
+ export function DEBUG_ONLY__changesToString(changes) {
39
+ if (process.env.NODE_ENV !== "production") {
40
+ return JSON.stringify({
41
+ modifiedObjects: multimapHelper(changes.modifiedObjects),
42
+ addedObjects: multimapHelper(changes.addedObjects),
43
+ added: listHelper(changes.added),
44
+ modified: listHelper(changes.modified)
45
+ }, null, 2);
46
+ } else {
47
+ throw new Error("not implemented");
48
+ }
49
+ }
50
+ function listHelper(set) {
51
+ return Array.from(set).map(DEBUG_ONLY__cacheKeyToString);
52
+ }
53
+ function multimapHelper(multimap) {
54
+ return Object.fromEntries(Array.from(multimap.associations()).map(([type, objects]) => {
55
+ return [type, objects.map(o => o.$primaryKey)];
56
+ }));
57
+ }
58
+ //# sourceMappingURL=Changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Changes.js","names":["MultiMap","DEBUG_ONLY__cacheKeyToString","Changes","modifiedObjects","addedObjects","added","Set","modified","registerObject","cacheKey","data","isNew","set","$apiName","add","registerList","key","isEmpty","size","createChangedObjects","DEBUG_ONLY__changesToString","changes","process","env","NODE_ENV","JSON","stringify","multimapHelper","listHelper","Error","Array","from","map","multimap","Object","fromEntries","associations","type","objects","o","$primaryKey"],"sources":["Changes.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { MultiMap } from \"mnemonist\";\nimport type { ObjectHolder } from \"../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { CacheKey } from \"./CacheKey.js\";\nimport { DEBUG_ONLY__cacheKeyToString } from \"./CacheKey.js\";\nimport type { ListCacheKey } from \"./ListQuery.js\";\nimport type { ObjectCacheKey } from \"./ObjectQuery.js\";\n\nexport class Changes {\n modifiedObjects: MultiMap<string, ObjectHolder> = new MultiMap();\n addedObjects: MultiMap<string, ObjectHolder> = new MultiMap();\n\n added: Set<ListCacheKey | ObjectCacheKey> = new Set();\n modified: Set<ListCacheKey | ObjectCacheKey> = new Set();\n\n registerObject = (\n cacheKey: ObjectCacheKey,\n data: ObjectHolder,\n isNew: boolean,\n ): void => {\n this[isNew ? \"addedObjects\" : \"modifiedObjects\"].set(data.$apiName, data);\n this[isNew ? \"added\" : \"modified\"].add(cacheKey);\n };\n\n registerList = (key: ListCacheKey): void => {\n this.modified.add(key);\n };\n\n isEmpty(): boolean {\n return (\n this.modifiedObjects.size === 0\n && this.addedObjects.size === 0\n && this.added.size === 0\n && this.modified.size === 0\n );\n }\n}\n\nexport function createChangedObjects(): Changes {\n return new Changes();\n}\n\nexport function DEBUG_ONLY__changesToString(changes: Changes): string {\n if (process.env.NODE_ENV !== \"production\") {\n return JSON.stringify(\n {\n modifiedObjects: multimapHelper(changes.modifiedObjects),\n addedObjects: multimapHelper(changes.addedObjects),\n added: listHelper(changes.added),\n modified: listHelper(changes.modified),\n },\n null,\n 2,\n );\n } else {\n throw new Error(\"not implemented\");\n }\n}\n\nfunction listHelper(set: Set<CacheKey>) {\n return Array.from(set).map(DEBUG_ONLY__cacheKeyToString);\n}\n\nfunction multimapHelper(\n multimap: MultiMap<string, ObjectHolder>,\n) {\n return Object.fromEntries(\n Array.from(multimap.associations()).map(\n ([type, objects]) => {\n return [type, objects.map(o => o.$primaryKey)];\n },\n ),\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,WAAW;AAGpC,SAASC,4BAA4B,QAAQ,eAAe;AAI5D,OAAO,MAAMC,OAAO,CAAC;EACnBC,eAAe,GAAmC,IAAIH,QAAQ,CAAC,CAAC;EAChEI,YAAY,GAAmC,IAAIJ,QAAQ,CAAC,CAAC;EAE7DK,KAAK,GAAuC,IAAIC,GAAG,CAAC,CAAC;EACrDC,QAAQ,GAAuC,IAAID,GAAG,CAAC,CAAC;EAExDE,cAAc,GAAGA,CACfC,QAAwB,EACxBC,IAAkB,EAClBC,KAAc,KACL;IACT,IAAI,CAACA,KAAK,GAAG,cAAc,GAAG,iBAAiB,CAAC,CAACC,GAAG,CAACF,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAAC;IACzE,IAAI,CAACC,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC,CAACG,GAAG,CAACL,QAAQ,CAAC;EAClD,CAAC;EAEDM,YAAY,GAAIC,GAAiB,IAAW;IAC1C,IAAI,CAACT,QAAQ,CAACO,GAAG,CAACE,GAAG,CAAC;EACxB,CAAC;EAEDC,OAAOA,CAAA,EAAY;IACjB,OACE,IAAI,CAACd,eAAe,CAACe,IAAI,KAAK,CAAC,IAC5B,IAAI,CAACd,YAAY,CAACc,IAAI,KAAK,CAAC,IAC5B,IAAI,CAACb,KAAK,CAACa,IAAI,KAAK,CAAC,IACrB,IAAI,CAACX,QAAQ,CAACW,IAAI,KAAK,CAAC;EAE/B;AACF;AAEA,OAAO,SAASC,oBAAoBA,CAAA,EAAY;EAC9C,OAAO,IAAIjB,OAAO,CAAC,CAAC;AACtB;AAEA,OAAO,SAASkB,2BAA2BA,CAACC,OAAgB,EAAU;EACpE,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,OAAOC,IAAI,CAACC,SAAS,CACnB;MACEvB,eAAe,EAAEwB,cAAc,CAACN,OAAO,CAAClB,eAAe,CAAC;MACxDC,YAAY,EAAEuB,cAAc,CAACN,OAAO,CAACjB,YAAY,CAAC;MAClDC,KAAK,EAAEuB,UAAU,CAACP,OAAO,CAAChB,KAAK,CAAC;MAChCE,QAAQ,EAAEqB,UAAU,CAACP,OAAO,CAACd,QAAQ;IACvC,CAAC,EACD,IAAI,EACJ,CACF,CAAC;EACH,CAAC,MAAM;IACL,MAAM,IAAIsB,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF;AAEA,SAASD,UAAUA,CAAChB,GAAkB,EAAE;EACtC,OAAOkB,KAAK,CAACC,IAAI,CAACnB,GAAG,CAAC,CAACoB,GAAG,CAAC/B,4BAA4B,CAAC;AAC1D;AAEA,SAAS0B,cAAcA,CACrBM,QAAwC,EACxC;EACA,OAAOC,MAAM,CAACC,WAAW,CACvBL,KAAK,CAACC,IAAI,CAACE,QAAQ,CAACG,YAAY,CAAC,CAAC,CAAC,CAACJ,GAAG,CACrC,CAAC,CAACK,IAAI,EAAEC,OAAO,CAAC,KAAK;IACnB,OAAO,CAACD,IAAI,EAAEC,OAAO,CAACN,GAAG,CAACO,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC,CAAC;EAChD,CACF,CACF,CAAC;AACH","ignoreList":[]}
@@ -53,11 +53,14 @@ export class Layer {
53
53
  this.#parent = this.#parent.removeLayer(layerId);
54
54
  return this;
55
55
  }
56
- return this.#parent ?? this;
56
+ return this.#parent.removeLayer(layerId);
57
57
  }
58
58
  entries() {
59
59
  return this.#cache.entries();
60
60
  }
61
+ keys() {
62
+ return this.#cache.keys();
63
+ }
61
64
  get(cacheKey) {
62
65
  return this.#cache.get(cacheKey) ?? this.#parent?.get(cacheKey);
63
66
  }
@@ -66,11 +69,11 @@ export class Layer {
66
69
  }
67
70
  }
68
71
  export class Entry {
69
- constructor(cacheKey, value, lastUpdated) {
72
+ constructor(cacheKey, value, lastUpdated, status = "init") {
70
73
  this.cacheKey = cacheKey;
71
74
  this.value = value;
72
75
  this.lastUpdated = lastUpdated;
73
- this.status = "init";
76
+ this.status = status;
74
77
  }
75
78
  }
76
79
  //# sourceMappingURL=Layer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.js","names":["WeakMapWithEntries","Layer","parent","cache","layerId","constructor","parentLayer","addLayer","removeLayer","entries","get","cacheKey","set","value","Entry","lastUpdated","status"],"sources":["Layer.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { CacheKey } from \"./CacheKey.js\";\nimport { WeakMapWithEntries } from \"./WeakMapWithEntries.js\";\n\n/*\n Image some layers\n\n [\n { cache: { obj1: { a: 1 } }, layerId: undefined },\n { cache: { obj1: { a: 1, b: 2 } }, layerId: \"layer1\" },\n { cache: { obj1: { a: undefined, b: 2 } }, layerId: \"layer2\" },\n { cache: { obj1: { a: 1, b: 2 } }, layerId: \"layer3\" },\n ]\n*/\n\nexport class Layer {\n #parent: Layer | undefined;\n #cache = new WeakMapWithEntries<CacheKey<string, any, any>, Entry<any>>();\n #layerId: unknown;\n\n constructor(parent: Layer | undefined, layerId: unknown) {\n this.#parent = parent;\n this.#layerId = layerId;\n }\n\n get parentLayer(): Layer | undefined {\n return this.#parent;\n }\n\n get layerId(): unknown {\n return this.#layerId;\n }\n\n addLayer(layerId: unknown): Layer {\n return new Layer(this, layerId);\n }\n\n removeLayer(layerId: unknown): Layer {\n if (layerId == null || this.#parent == null) {\n // we are the root, so we can't remove anything\n return this;\n }\n if (this.#layerId !== layerId) {\n this.#parent = this.#parent.removeLayer(layerId);\n return this;\n }\n\n return this.#parent ?? this;\n }\n\n entries(): IterableIterator<[CacheKey<string, any, any>, Entry<any>]> {\n return this.#cache.entries();\n }\n\n public get<K extends CacheKey<string, unknown, any>>(\n cacheKey: K,\n ): Entry<K> | undefined {\n return this.#cache.get(cacheKey) as Entry<K> | undefined\n ?? this.#parent?.get(cacheKey) as Entry<K> | undefined;\n }\n\n public set<K extends CacheKey<string, unknown, any>>(\n cacheKey: K,\n value: Entry<K>,\n ): void {\n this.#cache.set(cacheKey, value);\n }\n}\n\nexport class Entry<K extends CacheKey<any, any, any>> {\n readonly cacheKey: K;\n value: K[\"__cacheKey\"][\"value\"] | undefined;\n lastUpdated: number;\n status: \"init\" | \"loading\" | \"loaded\" | \"error\";\n\n constructor(\n cacheKey: K,\n value: K[\"__cacheKey\"][\"value\"],\n lastUpdated: number,\n ) {\n this.cacheKey = cacheKey;\n this.value = value;\n this.lastUpdated = lastUpdated;\n this.status = \"init\";\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,kBAAkB,QAAQ,yBAAyB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,KAAK,CAAC;EACjB,CAACC,MAAM;EACP,CAACC,KAAK,GAAG,IAAIH,kBAAkB,CAAyC,CAAC;EACzE,CAACI,OAAO;EAERC,WAAWA,CAACH,MAAyB,EAAEE,OAAgB,EAAE;IACvD,IAAI,CAAC,CAACF,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACE,OAAO,GAAGA,OAAO;EACzB;EAEA,IAAIE,WAAWA,CAAA,EAAsB;IACnC,OAAO,IAAI,CAAC,CAACJ,MAAM;EACrB;EAEA,IAAIE,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAAC,CAACA,OAAO;EACtB;EAEAG,QAAQA,CAACH,OAAgB,EAAS;IAChC,OAAO,IAAIH,KAAK,CAAC,IAAI,EAAEG,OAAO,CAAC;EACjC;EAEAI,WAAWA,CAACJ,OAAgB,EAAS;IACnC,IAAIA,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,CAACF,MAAM,IAAI,IAAI,EAAE;MAC3C;MACA,OAAO,IAAI;IACb;IACA,IAAI,IAAI,CAAC,CAACE,OAAO,KAAKA,OAAO,EAAE;MAC7B,IAAI,CAAC,CAACF,MAAM,GAAG,IAAI,CAAC,CAACA,MAAM,CAACM,WAAW,CAACJ,OAAO,CAAC;MAChD,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,CAAC,CAACF,MAAM,IAAI,IAAI;EAC7B;EAEAO,OAAOA,CAAA,EAA+D;IACpE,OAAO,IAAI,CAAC,CAACN,KAAK,CAACM,OAAO,CAAC,CAAC;EAC9B;EAEOC,GAAGA,CACRC,QAAW,EACW;IACtB,OAAO,IAAI,CAAC,CAACR,KAAK,CAACO,GAAG,CAACC,QAAQ,CAAC,IAC3B,IAAI,CAAC,CAACT,MAAM,EAAEQ,GAAG,CAACC,QAAQ,CAAyB;EAC1D;EAEOC,GAAGA,CACRD,QAAW,EACXE,KAAe,EACT;IACN,IAAI,CAAC,CAACV,KAAK,CAACS,GAAG,CAACD,QAAQ,EAAEE,KAAK,CAAC;EAClC;AACF;AAEA,OAAO,MAAMC,KAAK,CAAoC;EAMpDT,WAAWA,CACTM,QAAW,EACXE,KAA+B,EAC/BE,WAAmB,EACnB;IACA,IAAI,CAACJ,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACE,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,MAAM,GAAG,MAAM;EACtB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"Layer.js","names":["WeakMapWithEntries","Layer","parent","cache","layerId","constructor","parentLayer","addLayer","removeLayer","entries","keys","get","cacheKey","set","value","Entry","lastUpdated","status"],"sources":["Layer.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { CacheKey } from \"./CacheKey.js\";\nimport { WeakMapWithEntries } from \"./WeakMapWithEntries.js\";\n\n/*\n Image some layers\n\n [\n { cache: { obj1: { a: 1 } }, layerId: undefined },\n { cache: { obj1: { a: 1, b: 2 } }, layerId: \"layer1\" },\n { cache: { obj1: { a: undefined, b: 2 } }, layerId: \"layer2\" },\n { cache: { obj1: { a: 1, b: 2 } }, layerId: \"layer3\" },\n ]\n*/\n\nexport class Layer {\n #parent: Layer | undefined;\n #cache = new WeakMapWithEntries<CacheKey<string, any, any>, Entry<any>>();\n #layerId: unknown;\n\n constructor(parent: Layer | undefined, layerId: unknown) {\n this.#parent = parent;\n this.#layerId = layerId;\n }\n\n get parentLayer(): Layer | undefined {\n return this.#parent;\n }\n\n get layerId(): unknown {\n return this.#layerId;\n }\n\n addLayer(layerId: unknown): Layer {\n return new Layer(this, layerId);\n }\n\n removeLayer(layerId: unknown): Layer {\n if (layerId == null || this.#parent == null) {\n // we are the root, so we can't remove anything\n return this;\n }\n\n if (this.#layerId !== layerId) {\n this.#parent = this.#parent.removeLayer(layerId);\n return this;\n }\n\n return this.#parent.removeLayer(layerId);\n }\n\n entries(): IterableIterator<[CacheKey<string, any, any>, Entry<any>]> {\n return this.#cache.entries();\n }\n\n keys(): IterableIterator<CacheKey<string, any, any>> {\n return this.#cache.keys();\n }\n\n public get<K extends CacheKey<string, unknown, any>>(\n cacheKey: K,\n ): Entry<K> | undefined {\n return this.#cache.get(cacheKey) as Entry<K> | undefined\n ?? this.#parent?.get(cacheKey) as Entry<K> | undefined;\n }\n\n public set<K extends CacheKey<string, unknown, any>>(\n cacheKey: K,\n value: Entry<K>,\n ): void {\n this.#cache.set(cacheKey, value);\n }\n}\n\nexport class Entry<K extends CacheKey<any, any, any>> {\n readonly cacheKey: K;\n value: K[\"__cacheKey\"][\"value\"] | undefined;\n lastUpdated: number;\n status: \"init\" | \"loading\" | \"loaded\" | \"error\";\n\n constructor(\n cacheKey: K,\n value: K[\"__cacheKey\"][\"value\"],\n lastUpdated: number,\n status: \"init\" | \"loading\" | \"loaded\" | \"error\" = \"init\",\n ) {\n this.cacheKey = cacheKey;\n this.value = value;\n this.lastUpdated = lastUpdated;\n this.status = status;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,kBAAkB,QAAQ,yBAAyB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,KAAK,CAAC;EACjB,CAACC,MAAM;EACP,CAACC,KAAK,GAAG,IAAIH,kBAAkB,CAAyC,CAAC;EACzE,CAACI,OAAO;EAERC,WAAWA,CAACH,MAAyB,EAAEE,OAAgB,EAAE;IACvD,IAAI,CAAC,CAACF,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACE,OAAO,GAAGA,OAAO;EACzB;EAEA,IAAIE,WAAWA,CAAA,EAAsB;IACnC,OAAO,IAAI,CAAC,CAACJ,MAAM;EACrB;EAEA,IAAIE,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAAC,CAACA,OAAO;EACtB;EAEAG,QAAQA,CAACH,OAAgB,EAAS;IAChC,OAAO,IAAIH,KAAK,CAAC,IAAI,EAAEG,OAAO,CAAC;EACjC;EAEAI,WAAWA,CAACJ,OAAgB,EAAS;IACnC,IAAIA,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,CAACF,MAAM,IAAI,IAAI,EAAE;MAC3C;MACA,OAAO,IAAI;IACb;IAEA,IAAI,IAAI,CAAC,CAACE,OAAO,KAAKA,OAAO,EAAE;MAC7B,IAAI,CAAC,CAACF,MAAM,GAAG,IAAI,CAAC,CAACA,MAAM,CAACM,WAAW,CAACJ,OAAO,CAAC;MAChD,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,CAAC,CAACF,MAAM,CAACM,WAAW,CAACJ,OAAO,CAAC;EAC1C;EAEAK,OAAOA,CAAA,EAA+D;IACpE,OAAO,IAAI,CAAC,CAACN,KAAK,CAACM,OAAO,CAAC,CAAC;EAC9B;EAEAC,IAAIA,CAAA,EAAiD;IACnD,OAAO,IAAI,CAAC,CAACP,KAAK,CAACO,IAAI,CAAC,CAAC;EAC3B;EAEOC,GAAGA,CACRC,QAAW,EACW;IACtB,OAAO,IAAI,CAAC,CAACT,KAAK,CAACQ,GAAG,CAACC,QAAQ,CAAC,IAC3B,IAAI,CAAC,CAACV,MAAM,EAAES,GAAG,CAACC,QAAQ,CAAyB;EAC1D;EAEOC,GAAGA,CACRD,QAAW,EACXE,KAAe,EACT;IACN,IAAI,CAAC,CAACX,KAAK,CAACU,GAAG,CAACD,QAAQ,EAAEE,KAAK,CAAC;EAClC;AACF;AAEA,OAAO,MAAMC,KAAK,CAAoC;EAMpDV,WAAWA,CACTO,QAAW,EACXE,KAA+B,EAC/BE,WAAmB,EACnBC,MAA+C,GAAG,MAAM,EACxD;IACA,IAAI,CAACL,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACE,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;AACF","ignoreList":[]}