@osdk/client 2.7.0-beta.9 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/build/browser/MinimalClientContext.js.map +1 -1
  3. package/build/browser/actions/actions.test.js +9 -8
  4. package/build/browser/actions/actions.test.js.map +1 -1
  5. package/build/browser/actions/applyAction.js +0 -4
  6. package/build/browser/actions/applyAction.js.map +1 -1
  7. package/build/browser/createClient.js +1 -2
  8. package/build/browser/createClient.js.map +1 -1
  9. package/build/browser/createMinimalClient.js +0 -1
  10. package/build/browser/createMinimalClient.js.map +1 -1
  11. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +1 -17
  12. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  13. package/build/browser/index.js +1 -1
  14. package/build/browser/index.js.map +1 -1
  15. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +14 -9
  16. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  17. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +74 -0
  18. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  19. package/build/browser/object/SimpleOsdkProperties.js.map +1 -1
  20. package/build/browser/object/aggregate.js +0 -1
  21. package/build/browser/object/aggregate.js.map +1 -1
  22. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  23. package/build/browser/object/fetchPage.js +0 -2
  24. package/build/browser/object/fetchPage.js.map +1 -1
  25. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +13 -4
  26. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  27. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +46 -2
  28. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  29. package/build/browser/objectSet/createObjectSet.js +1 -1
  30. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  31. package/build/browser/objectSet/fetchLinksPage.js +0 -1
  32. package/build/browser/objectSet/fetchLinksPage.js.map +1 -1
  33. package/build/browser/observable/FunctionPayload.js +2 -0
  34. package/build/browser/observable/FunctionPayload.js.map +1 -0
  35. package/build/browser/observable/ObservableClient.js.map +1 -1
  36. package/build/browser/observable/internal/BulkObjectLoader.js +2 -1
  37. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
  38. package/build/browser/observable/internal/Changes.js +4 -1
  39. package/build/browser/observable/internal/Changes.js.map +1 -1
  40. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -1
  41. package/build/browser/observable/internal/ObservableClientImpl.js +21 -1
  42. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  43. package/build/browser/observable/internal/RidListCanonicalizer.js +30 -0
  44. package/build/browser/observable/internal/RidListCanonicalizer.js.map +1 -0
  45. package/build/browser/observable/internal/RidListCanonicalizer.test.js +50 -0
  46. package/build/browser/observable/internal/RidListCanonicalizer.test.js.map +1 -0
  47. package/build/browser/observable/internal/Store.js +11 -1
  48. package/build/browser/observable/internal/Store.js.map +1 -1
  49. package/build/browser/observable/internal/Store.test.js +57 -4
  50. package/build/browser/observable/internal/Store.test.js.map +1 -1
  51. package/build/browser/observable/internal/actions/ActionApplication.js +12 -9
  52. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -1
  53. package/build/browser/observable/internal/base-list/BaseCollectionQuery.js.map +1 -1
  54. package/build/browser/observable/internal/base-list/BaseListQuery.js +15 -9
  55. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  56. package/build/browser/observable/internal/base-list/createCollectionConnectable.js +4 -2
  57. package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
  58. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js +1 -2
  59. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
  60. package/build/browser/observable/internal/evaluateFilter.js +1 -1
  61. package/build/browser/observable/internal/evaluateFilter.js.map +1 -1
  62. package/build/browser/observable/internal/evaluateFilter.test.js +105 -0
  63. package/build/browser/observable/internal/evaluateFilter.test.js.map +1 -0
  64. package/build/browser/observable/internal/function/FunctionCacheKey.js +26 -0
  65. package/build/browser/observable/internal/function/FunctionCacheKey.js.map +1 -0
  66. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js +151 -0
  67. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
  68. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
  69. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
  70. package/build/browser/observable/internal/function/FunctionQuery.js +137 -0
  71. package/build/browser/observable/internal/function/FunctionQuery.js.map +1 -0
  72. package/build/browser/observable/internal/function/FunctionQuery.test.js +278 -0
  73. package/build/browser/observable/internal/function/FunctionQuery.test.js.map +1 -0
  74. package/build/browser/observable/internal/function/FunctionsHelper.js +92 -0
  75. package/build/browser/observable/internal/function/FunctionsHelper.js.map +1 -0
  76. package/build/browser/observable/internal/links/SpecificLinkQuery.js +2 -1
  77. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  78. package/build/browser/observable/internal/list/InterfaceListQuery.js +27 -10
  79. package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -1
  80. package/build/browser/observable/internal/list/ListCacheKey.js +1 -0
  81. package/build/browser/observable/internal/list/ListCacheKey.js.map +1 -1
  82. package/build/browser/observable/internal/list/ListQuery.js +10 -4
  83. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  84. package/build/browser/observable/internal/list/ListQuery.test.js +167 -3
  85. package/build/browser/observable/internal/list/ListQuery.test.js.map +1 -1
  86. package/build/browser/observable/internal/list/ListsHelper.js +6 -3
  87. package/build/browser/observable/internal/list/ListsHelper.js.map +1 -1
  88. package/build/browser/observable/internal/list/ObjectListQuery.js +23 -9
  89. package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -1
  90. package/build/browser/observable/internal/object/ObjectQuery.js +15 -1
  91. package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -1
  92. package/build/browser/observable/internal/object/ObjectsHelper.js +1 -3
  93. package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -1
  94. package/build/browser/observable/internal/objectMatchesWhereClause.test.js +11 -1
  95. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  96. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +6 -2
  97. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  98. package/build/browser/observable/internal/testUtils.js +8 -5
  99. package/build/browser/observable/internal/testUtils.js.map +1 -1
  100. package/build/browser/observable/internal/utils/rdpFieldOperations.js +6 -3
  101. package/build/browser/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  102. package/build/browser/ontology/loadActionMetadata.js +1 -3
  103. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  104. package/build/browser/ontology/loadFullObjectMetadata.js +1 -2
  105. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  106. package/build/browser/ontology/loadInterfaceMetadata.js +1 -2
  107. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  108. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  109. package/build/browser/queries/applyQuery.js +14 -0
  110. package/build/browser/queries/applyQuery.js.map +1 -1
  111. package/build/browser/queries/queries.test.js +14 -2
  112. package/build/browser/queries/queries.test.js.map +1 -1
  113. package/build/browser/util/UserAgent.js +2 -2
  114. package/build/browser/util/UserAgent.js.map +1 -1
  115. package/build/browser/util/isObjectSpecifiersObject.js.map +1 -1
  116. package/build/browser/util/toDataValue.js +0 -5
  117. package/build/browser/util/toDataValue.js.map +1 -1
  118. package/build/browser/util/toDataValue.test.js +2 -7
  119. package/build/browser/util/toDataValue.test.js.map +1 -1
  120. package/build/cjs/{Client-DaUJl7jZ.d.cts → Client-Cmx6x_V1.d.cts} +1 -1
  121. package/build/cjs/{chunk-IQJTM3KW.cjs → chunk-W4BHRZWL.cjs} +79 -82
  122. package/build/cjs/chunk-W4BHRZWL.cjs.map +1 -0
  123. package/build/cjs/{chunk-PARVKNVB.cjs → chunk-Y362HOIZ.cjs} +30 -35
  124. package/build/cjs/chunk-Y362HOIZ.cjs.map +1 -0
  125. package/build/cjs/{createClient-D5G3qzAO.d.cts → createClient-BDmrDOzZ.d.cts} +1 -2
  126. package/build/cjs/index.cjs +8 -12
  127. package/build/cjs/index.cjs.map +1 -1
  128. package/build/cjs/index.d.cts +3 -3
  129. package/build/cjs/public/internal.cjs +8 -8
  130. package/build/cjs/public/internal.d.cts +1 -1
  131. package/build/cjs/public/unstable-do-not-use.cjs +537 -95
  132. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  133. package/build/cjs/public/unstable-do-not-use.d.cts +75 -4
  134. package/build/esm/MinimalClientContext.js.map +1 -1
  135. package/build/esm/actions/actions.test.js +9 -8
  136. package/build/esm/actions/actions.test.js.map +1 -1
  137. package/build/esm/actions/applyAction.js +0 -4
  138. package/build/esm/actions/applyAction.js.map +1 -1
  139. package/build/esm/createClient.js +1 -2
  140. package/build/esm/createClient.js.map +1 -1
  141. package/build/esm/createMinimalClient.js +0 -1
  142. package/build/esm/createMinimalClient.js.map +1 -1
  143. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +1 -17
  144. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  145. package/build/esm/index.js +1 -1
  146. package/build/esm/index.js.map +1 -1
  147. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +14 -9
  148. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  149. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +74 -0
  150. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  151. package/build/esm/object/SimpleOsdkProperties.js.map +1 -1
  152. package/build/esm/object/aggregate.js +0 -1
  153. package/build/esm/object/aggregate.js.map +1 -1
  154. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  155. package/build/esm/object/fetchPage.js +0 -2
  156. package/build/esm/object/fetchPage.js.map +1 -1
  157. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +13 -4
  158. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  159. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +46 -2
  160. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  161. package/build/esm/objectSet/createObjectSet.js +1 -1
  162. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  163. package/build/esm/objectSet/fetchLinksPage.js +0 -1
  164. package/build/esm/objectSet/fetchLinksPage.js.map +1 -1
  165. package/build/esm/observable/FunctionPayload.js +2 -0
  166. package/build/esm/observable/FunctionPayload.js.map +1 -0
  167. package/build/esm/observable/ObservableClient.js.map +1 -1
  168. package/build/esm/observable/internal/BulkObjectLoader.js +2 -1
  169. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
  170. package/build/esm/observable/internal/Changes.js +4 -1
  171. package/build/esm/observable/internal/Changes.js.map +1 -1
  172. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -1
  173. package/build/esm/observable/internal/ObservableClientImpl.js +21 -1
  174. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  175. package/build/esm/observable/internal/RidListCanonicalizer.js +30 -0
  176. package/build/esm/observable/internal/RidListCanonicalizer.js.map +1 -0
  177. package/build/esm/observable/internal/RidListCanonicalizer.test.js +50 -0
  178. package/build/esm/observable/internal/RidListCanonicalizer.test.js.map +1 -0
  179. package/build/esm/observable/internal/Store.js +11 -1
  180. package/build/esm/observable/internal/Store.js.map +1 -1
  181. package/build/esm/observable/internal/Store.test.js +57 -4
  182. package/build/esm/observable/internal/Store.test.js.map +1 -1
  183. package/build/esm/observable/internal/actions/ActionApplication.js +12 -9
  184. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -1
  185. package/build/esm/observable/internal/base-list/BaseCollectionQuery.js.map +1 -1
  186. package/build/esm/observable/internal/base-list/BaseListQuery.js +15 -9
  187. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  188. package/build/esm/observable/internal/base-list/createCollectionConnectable.js +4 -2
  189. package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
  190. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js +1 -2
  191. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
  192. package/build/esm/observable/internal/evaluateFilter.js +1 -1
  193. package/build/esm/observable/internal/evaluateFilter.js.map +1 -1
  194. package/build/esm/observable/internal/evaluateFilter.test.js +105 -0
  195. package/build/esm/observable/internal/evaluateFilter.test.js.map +1 -0
  196. package/build/esm/observable/internal/function/FunctionCacheKey.js +26 -0
  197. package/build/esm/observable/internal/function/FunctionCacheKey.js.map +1 -0
  198. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js +151 -0
  199. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
  200. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
  201. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
  202. package/build/esm/observable/internal/function/FunctionQuery.js +137 -0
  203. package/build/esm/observable/internal/function/FunctionQuery.js.map +1 -0
  204. package/build/esm/observable/internal/function/FunctionQuery.test.js +278 -0
  205. package/build/esm/observable/internal/function/FunctionQuery.test.js.map +1 -0
  206. package/build/esm/observable/internal/function/FunctionsHelper.js +92 -0
  207. package/build/esm/observable/internal/function/FunctionsHelper.js.map +1 -0
  208. package/build/esm/observable/internal/links/SpecificLinkQuery.js +2 -1
  209. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  210. package/build/esm/observable/internal/list/InterfaceListQuery.js +27 -10
  211. package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -1
  212. package/build/esm/observable/internal/list/ListCacheKey.js +1 -0
  213. package/build/esm/observable/internal/list/ListCacheKey.js.map +1 -1
  214. package/build/esm/observable/internal/list/ListQuery.js +10 -4
  215. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  216. package/build/esm/observable/internal/list/ListQuery.test.js +167 -3
  217. package/build/esm/observable/internal/list/ListQuery.test.js.map +1 -1
  218. package/build/esm/observable/internal/list/ListsHelper.js +6 -3
  219. package/build/esm/observable/internal/list/ListsHelper.js.map +1 -1
  220. package/build/esm/observable/internal/list/ObjectListQuery.js +23 -9
  221. package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -1
  222. package/build/esm/observable/internal/object/ObjectQuery.js +15 -1
  223. package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -1
  224. package/build/esm/observable/internal/object/ObjectsHelper.js +1 -3
  225. package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -1
  226. package/build/esm/observable/internal/objectMatchesWhereClause.test.js +11 -1
  227. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  228. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +6 -2
  229. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  230. package/build/esm/observable/internal/testUtils.js +8 -5
  231. package/build/esm/observable/internal/testUtils.js.map +1 -1
  232. package/build/esm/observable/internal/utils/rdpFieldOperations.js +6 -3
  233. package/build/esm/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  234. package/build/esm/ontology/loadActionMetadata.js +1 -3
  235. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  236. package/build/esm/ontology/loadFullObjectMetadata.js +1 -2
  237. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  238. package/build/esm/ontology/loadInterfaceMetadata.js +1 -2
  239. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  240. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  241. package/build/esm/queries/applyQuery.js +14 -0
  242. package/build/esm/queries/applyQuery.js.map +1 -1
  243. package/build/esm/queries/queries.test.js +14 -2
  244. package/build/esm/queries/queries.test.js.map +1 -1
  245. package/build/esm/util/UserAgent.js +2 -2
  246. package/build/esm/util/UserAgent.js.map +1 -1
  247. package/build/esm/util/isObjectSpecifiersObject.js.map +1 -1
  248. package/build/esm/util/toDataValue.js +0 -5
  249. package/build/esm/util/toDataValue.js.map +1 -1
  250. package/build/esm/util/toDataValue.test.js +2 -7
  251. package/build/esm/util/toDataValue.test.js.map +1 -1
  252. package/build/types/MinimalClientContext.d.ts +1 -1
  253. package/build/types/actions/applyAction.d.ts.map +1 -1
  254. package/build/types/createClient.d.ts +0 -1
  255. package/build/types/createClient.d.ts.map +1 -1
  256. package/build/types/index.d.ts +1 -1
  257. package/build/types/index.d.ts.map +1 -1
  258. package/build/types/objectSet/createObjectSet.d.ts +14 -1
  259. package/build/types/objectSet/createObjectSet.d.ts.map +1 -1
  260. package/build/types/objectSet/fetchLinksPage.d.ts +9 -1
  261. package/build/types/objectSet/fetchLinksPage.d.ts.map +1 -1
  262. package/build/types/observable/FunctionPayload.d.ts +10 -0
  263. package/build/types/observable/FunctionPayload.d.ts.map +1 -0
  264. package/build/types/observable/ObservableClient.d.ts +73 -1
  265. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  266. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
  267. package/build/types/observable/internal/Changes.d.ts +5 -3
  268. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  269. package/build/types/observable/internal/KnownCacheKey.d.ts +2 -1
  270. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -1
  271. package/build/types/observable/internal/RidListCanonicalizer.d.ts +5 -0
  272. package/build/types/observable/internal/RidListCanonicalizer.d.ts.map +1 -0
  273. package/build/types/observable/internal/RidListCanonicalizer.test.d.ts +1 -0
  274. package/build/types/observable/internal/RidListCanonicalizer.test.d.ts.map +1 -0
  275. package/build/types/observable/internal/Store.d.ts +7 -1
  276. package/build/types/observable/internal/Store.d.ts.map +1 -1
  277. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  278. package/build/types/observable/internal/actions/ActionApplication.d.ts.map +1 -1
  279. package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts +3 -0
  280. package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts.map +1 -1
  281. package/build/types/observable/internal/base-list/BaseListQuery.d.ts +3 -1
  282. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -1
  283. package/build/types/observable/internal/evaluateFilter.test.d.ts +1 -0
  284. package/build/types/observable/internal/evaluateFilter.test.d.ts.map +1 -0
  285. package/build/types/observable/internal/function/FunctionCacheKey.d.ts +17 -0
  286. package/build/types/observable/internal/function/FunctionCacheKey.d.ts.map +1 -0
  287. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts +16 -0
  288. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts.map +1 -0
  289. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts +1 -0
  290. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts.map +1 -0
  291. package/build/types/observable/internal/function/FunctionQuery.d.ts +40 -0
  292. package/build/types/observable/internal/function/FunctionQuery.d.ts.map +1 -0
  293. package/build/types/observable/internal/function/FunctionQuery.test.d.ts +1 -0
  294. package/build/types/observable/internal/function/FunctionQuery.test.d.ts.map +1 -0
  295. package/build/types/observable/internal/function/FunctionsHelper.d.ts +25 -0
  296. package/build/types/observable/internal/function/FunctionsHelper.d.ts.map +1 -0
  297. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -1
  298. package/build/types/observable/internal/list/InterfaceListQuery.d.ts +3 -0
  299. package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -1
  300. package/build/types/observable/internal/list/ListCacheKey.d.ts +2 -1
  301. package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -1
  302. package/build/types/observable/internal/list/ListQuery.d.ts +1 -1
  303. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
  304. package/build/types/observable/internal/list/ListsHelper.d.ts +3 -1
  305. package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -1
  306. package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -1
  307. package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -1
  308. package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -1
  309. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts +1 -0
  310. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -1
  311. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  312. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts.map +1 -1
  313. package/build/types/public/unstable-do-not-use.d.ts +2 -1
  314. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  315. package/build/types/queries/applyQuery.d.ts.map +1 -1
  316. package/build/types/util/isObjectSpecifiersObject.d.ts +1 -0
  317. package/build/types/util/isObjectSpecifiersObject.d.ts.map +1 -1
  318. package/package.json +11 -12
  319. package/build/cjs/chunk-IQJTM3KW.cjs.map +0 -1
  320. package/build/cjs/chunk-PARVKNVB.cjs.map +0 -1
  321. package/build/cjs/delay-W2TSML2P.cjs +0 -75
  322. package/build/cjs/delay-W2TSML2P.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","OntologiesV2","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","flushEdits","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","branch","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","MediaReferenceProperties","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","value","createClient","createClientWithTransaction"],"sources":["createClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n flushEdits: (() => Promise<void>) | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options: { logger?: Logger; branch?: string } | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n flushEdits,\n branch: options?.branch,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\">\n ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(\n clientCtx,\n ),\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n return await OntologiesV2.MediaReferenceProperties.upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<Q, L, R, any, S> = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n branch?: string;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionId: string,\n flushEdits: () => Promise<void>,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, flushEdits, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n flushEdits,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","OntologiesV2","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","flushEdits","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","MediaReferenceProperties","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","value","createClient","createClientWithTransaction"],"sources":["createClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n flushEdits: (() => Promise<void>) | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options: { logger?: Logger } | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n flushEdits,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\">\n ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(\n clientCtx,\n ),\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n return await OntologiesV2.MediaReferenceProperties.upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<Q, L, R, any, S> = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionId: string,\n flushEdits: () => Promise<void>,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, flushEdits, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n flushEdits,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -42,7 +42,6 @@ export function createMinimalClient(metadata, baseUrl, tokenProvider, options =
42
42
  transactionId: options.transactionId,
43
43
  clientCacheKey: {},
44
44
  requestContext: {},
45
- branch: options.branch,
46
45
  narrowTypeInterfaceOrObjectMapping: {}
47
46
  };
48
47
  return Object.freeze(Object.assign(minimalClient, {
@@ -1 +1 @@
1
- {"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","convertWireToOsdkObjects","convertWireToOsdkObjects2","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","createOntologyProviderFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","processedBaseUrl","pathname","endsWith","minimalClient","toString","objectFactory","objectFactory2","ontologyRid","logger","transactionId","clientCacheKey","requestContext","branch","narrowTypeInterfaceOrObjectMapping","Object","freeze","assign","ontologyProvider"],"sources":["createMinimalClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport type {\n ClientCacheKey,\n MinimalClient,\n MinimalClientParams,\n} from \"./MinimalClientContext.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\nimport {\n createStandardOntologyProviderFactory,\n type OntologyCachingOptions,\n} from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\n/** @internal */\nexport function createMinimalClient(\n metadata: MinimalClientParams[\"metadata\"],\n baseUrl: string,\n tokenProvider: () => Promise<string>,\n options: OntologyCachingOptions & {\n logger?: Logger;\n transactionId?: string;\n flushEdits?: () => Promise<void>;\n branch?: string;\n } = {},\n fetchFn: (\n input: Request | URL | string,\n init?: RequestInit | undefined,\n ) => Promise<Response> = global.fetch,\n objectSetFactory: ObjectSetFactory<any, any> = createObjectSet,\n createOntologyProviderFactory: (\n a: OntologyCachingOptions & { logger?: Logger },\n ) => (minimalClient: MinimalClient) => OntologyProvider =\n createStandardOntologyProviderFactory,\n) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n } catch (e) {\n const hint =\n !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const processedBaseUrl = new URL(baseUrl);\n processedBaseUrl.pathname += processedBaseUrl.pathname.endsWith(\"/\")\n ? \"\"\n : \"/\";\n const minimalClient: MinimalClient = {\n ...createSharedClientContext(\n processedBaseUrl.toString(),\n tokenProvider,\n USER_AGENT,\n fetchFn,\n ),\n objectSetFactory,\n objectFactory: convertWireToOsdkObjects,\n objectFactory2: convertWireToOsdkObjects2,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n transactionId: options.transactionId,\n clientCacheKey: {} as ClientCacheKey,\n requestContext: {},\n branch: options.branch,\n narrowTypeInterfaceOrObjectMapping: {},\n } satisfies Omit<\n MinimalClient,\n \"ontologyProvider\"\n > as any;\n\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createOntologyProviderFactory(\n options,\n )(minimalClient),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,yBAAyB,QAAQ,0BAA0B;AAMpE,SACEC,wBAAwB,EACxBC,yBAAyB,QACpB,sCAAsC;AAC7C,SAASC,eAAe,QAAQ,gCAAgC;AAGhE,SACEC,qCAAqC,QAEhC,wCAAwC;AAC/C,SAASC,UAAU,QAAQ,qBAAqB;;AAEhD;AACA,OAAO,SAASC,mBAAmBA,CACjCC,QAAyC,EACzCC,OAAe,EACfC,aAAoC,EACpCC,OAKC,GAAG,CAAC,CAAC,EACNC,OAGsB,GAAGC,MAAM,CAACC,KAAK,EACrCC,gBAA4C,GAAGX,eAAe,EAC9DY,6BAEuD,GACrDX,qCAAqC,EACvC;EACA,IAAIY,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,IAAI;MACF,IAAIC,GAAG,CAACX,OAAO,CAAC;IAClB,CAAC,CAAC,OAAOY,CAAC,EAAE;MACV,MAAMC,IAAI,GACR,CAACb,OAAO,CAACc,UAAU,CAAC,SAAS,CAAC,IAAI,CAACd,OAAO,CAACc,UAAU,CAAC,UAAU,CAAC,GAC7D,kDAAkD,GAClD,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,sBAAsBf,OAAO,GAAGa,IAAI,EAAE,CAAC;IACzD;EACF;EACA,MAAMG,gBAAgB,GAAG,IAAIL,GAAG,CAACX,OAAO,CAAC;EACzCgB,gBAAgB,CAACC,QAAQ,IAAID,gBAAgB,CAACC,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC,GAChE,EAAE,GACF,GAAG;EACP,MAAMC,aAA4B,GAAG;IACnC,GAAG3B,yBAAyB,CAC1BwB,gBAAgB,CAACI,QAAQ,CAAC,CAAC,EAC3BnB,aAAa,EACbJ,UAAU,EACVM,OACF,CAAC;IACDG,gBAAgB;IAChBe,aAAa,EAAE5B,wBAAwB;IACvC6B,cAAc,EAAE5B,yBAAyB;IACzC6B,WAAW,EAAExB,QAAQ,CAACwB,WAAW;IACjCC,MAAM,EAAEtB,OAAO,CAACsB,MAAM;IACtBC,aAAa,EAAEvB,OAAO,CAACuB,aAAa;IACpCC,cAAc,EAAE,CAAC,CAAmB;IACpCC,cAAc,EAAE,CAAC,CAAC;IAClBC,MAAM,EAAE1B,OAAO,CAAC0B,MAAM;IACtBC,kCAAkC,EAAE,CAAC;EACvC,CAGQ;EAER,OAAOC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACb,aAAa,EAAE;IAChDc,gBAAgB,EAAE1B,6BAA6B,CAC7CL,OACF,CAAC,CAACiB,aAAa;EACjB,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","convertWireToOsdkObjects","convertWireToOsdkObjects2","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","createOntologyProviderFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","processedBaseUrl","pathname","endsWith","minimalClient","toString","objectFactory","objectFactory2","ontologyRid","logger","transactionId","clientCacheKey","requestContext","narrowTypeInterfaceOrObjectMapping","Object","freeze","assign","ontologyProvider"],"sources":["createMinimalClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport type {\n ClientCacheKey,\n MinimalClient,\n MinimalClientParams,\n} from \"./MinimalClientContext.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\nimport {\n createStandardOntologyProviderFactory,\n type OntologyCachingOptions,\n} from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\n/** @internal */\nexport function createMinimalClient(\n metadata: MinimalClientParams[\"metadata\"],\n baseUrl: string,\n tokenProvider: () => Promise<string>,\n options: OntologyCachingOptions & {\n logger?: Logger;\n transactionId?: string;\n flushEdits?: () => Promise<void>;\n } = {},\n fetchFn: (\n input: Request | URL | string,\n init?: RequestInit | undefined,\n ) => Promise<Response> = global.fetch,\n objectSetFactory: ObjectSetFactory<any, any> = createObjectSet,\n createOntologyProviderFactory: (\n a: OntologyCachingOptions & { logger?: Logger },\n ) => (minimalClient: MinimalClient) => OntologyProvider =\n createStandardOntologyProviderFactory,\n) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n } catch (e) {\n const hint =\n !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const processedBaseUrl = new URL(baseUrl);\n processedBaseUrl.pathname += processedBaseUrl.pathname.endsWith(\"/\")\n ? \"\"\n : \"/\";\n const minimalClient: MinimalClient = {\n ...createSharedClientContext(\n processedBaseUrl.toString(),\n tokenProvider,\n USER_AGENT,\n fetchFn,\n ),\n objectSetFactory,\n objectFactory: convertWireToOsdkObjects,\n objectFactory2: convertWireToOsdkObjects2,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n transactionId: options.transactionId,\n clientCacheKey: {} as ClientCacheKey,\n requestContext: {},\n narrowTypeInterfaceOrObjectMapping: {},\n } satisfies Omit<\n MinimalClient,\n \"ontologyProvider\"\n > as any;\n\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createOntologyProviderFactory(\n options,\n )(minimalClient),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,yBAAyB,QAAQ,0BAA0B;AAMpE,SACEC,wBAAwB,EACxBC,yBAAyB,QACpB,sCAAsC;AAC7C,SAASC,eAAe,QAAQ,gCAAgC;AAGhE,SACEC,qCAAqC,QAEhC,wCAAwC;AAC/C,SAASC,UAAU,QAAQ,qBAAqB;;AAEhD;AACA,OAAO,SAASC,mBAAmBA,CACjCC,QAAyC,EACzCC,OAAe,EACfC,aAAoC,EACpCC,OAIC,GAAG,CAAC,CAAC,EACNC,OAGsB,GAAGC,MAAM,CAACC,KAAK,EACrCC,gBAA4C,GAAGX,eAAe,EAC9DY,6BAEuD,GACrDX,qCAAqC,EACvC;EACA,IAAIY,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,IAAI;MACF,IAAIC,GAAG,CAACX,OAAO,CAAC;IAClB,CAAC,CAAC,OAAOY,CAAC,EAAE;MACV,MAAMC,IAAI,GACR,CAACb,OAAO,CAACc,UAAU,CAAC,SAAS,CAAC,IAAI,CAACd,OAAO,CAACc,UAAU,CAAC,UAAU,CAAC,GAC7D,kDAAkD,GAClD,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,sBAAsBf,OAAO,GAAGa,IAAI,EAAE,CAAC;IACzD;EACF;EACA,MAAMG,gBAAgB,GAAG,IAAIL,GAAG,CAACX,OAAO,CAAC;EACzCgB,gBAAgB,CAACC,QAAQ,IAAID,gBAAgB,CAACC,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC,GAChE,EAAE,GACF,GAAG;EACP,MAAMC,aAA4B,GAAG;IACnC,GAAG3B,yBAAyB,CAC1BwB,gBAAgB,CAACI,QAAQ,CAAC,CAAC,EAC3BnB,aAAa,EACbJ,UAAU,EACVM,OACF,CAAC;IACDG,gBAAgB;IAChBe,aAAa,EAAE5B,wBAAwB;IACvC6B,cAAc,EAAE5B,yBAAyB;IACzC6B,WAAW,EAAExB,QAAQ,CAACwB,WAAW;IACjCC,MAAM,EAAEtB,OAAO,CAACsB,MAAM;IACtBC,aAAa,EAAEvB,OAAO,CAACuB,aAAa;IACpCC,cAAc,EAAE,CAAC,CAAmB;IACpCC,cAAc,EAAE,CAAC,CAAC;IAClBC,kCAAkC,EAAE,CAAC;EACvC,CAGQ;EAER,OAAOC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACZ,aAAa,EAAE;IAChDa,gBAAgB,EAAEzB,6BAA6B,CAC7CL,OACF,CAAC,CAACiB,aAAa;EACjB,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
@@ -17,6 +17,7 @@
17
17
  import invariant from "tiny-invariant";
18
18
  import { modernToLegacyWhereClause } from "../internal/conversions/modernToLegacyWhereClause.js";
19
19
  import { derivedPropertyDefinitionFactory } from "./derivedPropertyDefinitionFactory.js";
20
+
20
21
  /** @internal */
21
22
  export function createWithPropertiesObjectSet(objectType, objectSet, definitionMap, fromBaseObjectSet = false) {
22
23
  return {
@@ -107,23 +108,6 @@ export function createWithPropertiesObjectSet(objectType, objectSet, definitionM
107
108
  const selectorResult = derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);
108
109
  definitionMap.set(selectorResult, wrappedObjectSet);
109
110
  return selectorResult;
110
- },
111
- constant: {
112
- double: () => {
113
- process.env.NODE_ENV !== "production" ? invariant(false, "Not supported") : invariant(false);
114
- },
115
- integer: () => {
116
- process.env.NODE_ENV !== "production" ? invariant(false, "Not supported") : invariant(false);
117
- },
118
- long: () => {
119
- process.env.NODE_ENV !== "production" ? invariant(false, "Not supported") : invariant(false);
120
- },
121
- datetime: () => {
122
- process.env.NODE_ENV !== "production" ? invariant(false, "Not supported") : invariant(false);
123
- },
124
- timestamp: () => {
125
- process.env.NODE_ENV !== "production" ? invariant(false, "Not supported") : invariant(false);
126
- }
127
111
  }
128
112
  };
129
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createWithPropertiesObjectSet.js","names":["invariant","modernToLegacyWhereClause","derivedPropertyDefinitionFactory","createWithPropertiesObjectSet","objectType","objectSet","definitionMap","fromBaseObjectSet","pivotTo","link","type","where","clause","rdpNames","Set","keys","aggregate","aggregation","opt","splitAggregation","split","length","process","env","NODE_ENV","aggregationPropertyName","aggregationOperation","aggregationOperationDefinition","selectedPropertyApiName","approximatePercentile","percentile","limit","undefined","wrappedObjectSet","operation","selectorResult","set","selectProperty","name","apiName","constant","double","integer","long","datetime","timestamp"],"sources":["createWithPropertiesObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { DerivedProperty, ObjectOrInterfaceDefinition } from \"@osdk/api\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n SelectedPropertyOperation,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { derivedPropertyDefinitionFactory } from \"./derivedPropertyDefinitionFactory.js\";\n\ntype WithConstSelect<Q extends ObjectOrInterfaceDefinition> =\n & DerivedProperty.SelectPropertyBuilder<Q, false>\n & {\n constant: DerivedProperty.Builder<Q, true>[\"constant\"];\n };\n\n/** @internal */\nexport function createWithPropertiesObjectSet<\n Q extends ObjectOrInterfaceDefinition,\n>(\n objectType: Q,\n objectSet: WireObjectSet,\n definitionMap: Map<any, DerivedPropertyDefinition>,\n fromBaseObjectSet: boolean = false,\n): WithConstSelect<Q> {\n return {\n pivotTo: (link) => {\n return createWithPropertiesObjectSet(objectType, {\n type: \"searchAround\",\n objectSet,\n link,\n }, definitionMap);\n },\n where: (clause) => {\n const rdpNames = new Set(definitionMap.keys());\n return createWithPropertiesObjectSet(objectType, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType, rdpNames),\n }, definitionMap);\n },\n aggregate: (aggregation: string, opt: any) => {\n const splitAggregation = aggregation.split(\":\");\n invariant(\n splitAggregation.length === 2 || splitAggregation[0] === \"$count\",\n \"Invalid aggregation format\",\n );\n const [aggregationPropertyName, aggregationOperation] = splitAggregation;\n let aggregationOperationDefinition: SelectedPropertyOperation;\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 invariant(\n false,\n \"Invalid aggregation operation \" + aggregationOperation,\n );\n }\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"selection\",\n objectSet: objectSet,\n operation: aggregationOperationDefinition,\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n },\n selectProperty: (name) => {\n if (fromBaseObjectSet) {\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"property\",\n apiName: name,\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n }\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"selection\",\n objectSet: objectSet,\n operation: {\n type: \"get\",\n selectedPropertyApiName: name,\n },\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n },\n constant: {\n double: (value) => {\n invariant(false, \"Not supported\");\n },\n integer: (value) => {\n invariant(false, \"Not supported\");\n },\n long: (value) => {\n invariant(false, \"Not supported\");\n },\n datetime: (value) => {\n invariant(false, \"Not supported\");\n },\n timestamp: (value) => {\n invariant(false, \"Not supported\");\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createWithPropertiesObjectSet.js","names":["invariant","modernToLegacyWhereClause","derivedPropertyDefinitionFactory","createWithPropertiesObjectSet","objectType","objectSet","definitionMap","fromBaseObjectSet","pivotTo","link","type","where","clause","rdpNames","Set","keys","aggregate","aggregation","opt","splitAggregation","split","length","process","env","NODE_ENV","aggregationPropertyName","aggregationOperation","aggregationOperationDefinition","selectedPropertyApiName","approximatePercentile","percentile","limit","undefined","wrappedObjectSet","operation","selectorResult","set","selectProperty","name","apiName"],"sources":["createWithPropertiesObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { DerivedProperty, ObjectOrInterfaceDefinition } from \"@osdk/api\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n SelectedPropertyOperation,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { derivedPropertyDefinitionFactory } from \"./derivedPropertyDefinitionFactory.js\";\n\n/** @internal */\nexport function createWithPropertiesObjectSet<\n Q extends ObjectOrInterfaceDefinition,\n>(\n objectType: Q,\n objectSet: WireObjectSet,\n definitionMap: Map<any, DerivedPropertyDefinition>,\n fromBaseObjectSet: boolean = false,\n): DerivedProperty.SelectPropertyBuilder<Q, false> {\n return {\n pivotTo: (link) => {\n return createWithPropertiesObjectSet(objectType, {\n type: \"searchAround\",\n objectSet,\n link,\n }, definitionMap);\n },\n where: (clause) => {\n const rdpNames = new Set(definitionMap.keys());\n return createWithPropertiesObjectSet(objectType, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType, rdpNames),\n }, definitionMap);\n },\n aggregate: (aggregation: string, opt: any) => {\n const splitAggregation = aggregation.split(\":\");\n invariant(\n splitAggregation.length === 2 || splitAggregation[0] === \"$count\",\n \"Invalid aggregation format\",\n );\n const [aggregationPropertyName, aggregationOperation] = splitAggregation;\n let aggregationOperationDefinition: SelectedPropertyOperation;\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 invariant(\n false,\n \"Invalid aggregation operation \" + aggregationOperation,\n );\n }\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"selection\",\n objectSet: objectSet,\n operation: aggregationOperationDefinition,\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n },\n selectProperty: (name) => {\n if (fromBaseObjectSet) {\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"property\",\n apiName: name,\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n }\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"selection\",\n objectSet: objectSet,\n operation: {\n type: \"get\",\n selectedPropertyApiName: name,\n },\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@
16
16
 
17
17
  /* eslint-disable @typescript-eslint/no-deprecated */
18
18
 
19
- export { isOk, NULL_VALUE } from "@osdk/api";
19
+ export { isOk } from "@osdk/api";
20
20
  export { PalantirApiError } from "@osdk/shared.net.errors";
21
21
  export { ActionValidationError } from "./actions/ActionValidationError.js";
22
22
  export { createClient } from "./createClient.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isOk","NULL_VALUE","PalantirApiError","ActionValidationError","createClient","createPlatformClient","createAttachmentUpload","extractDate","extractDateInLocalTime","extractDateInUTC","createObjectSpecifierFromPrimaryKey","extractPrimaryKeyFromObjectSpecifier"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nexport { isOk, NULL_VALUE } from \"@osdk/api\";\nexport type {\n ActionDefinition,\n ActionEditResponse,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ActionValidationResponse,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n Attachment,\n CompileTimeMetadata,\n DerivedProperty,\n InterfaceDefinition,\n InterfaceMetadata,\n Logger,\n MediaReference,\n MediaUpload,\n ObjectMetadata,\n ObjectSet,\n ObjectSpecifier,\n ObjectTypeDefinition,\n Osdk,\n OsdkObject,\n OsdkObjectCreatePropertyType,\n OsdkObjectPropertyType,\n PageResult,\n PropertyDef,\n PropertyKeys,\n PropertyValueWireToClient,\n QueryDefinition,\n QueryParam,\n QueryResult,\n Range,\n Result,\n SingleLinkAccessor,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n VersionBound,\n WhereClause,\n} from \"@osdk/api\";\nexport { PalantirApiError } from \"@osdk/shared.net.errors\";\n\nexport { ActionValidationError } from \"./actions/ActionValidationError.js\";\nexport type { Client } from \"./Client.js\";\nexport { createClient } from \"./createClient.js\";\nexport { createPlatformClient } from \"./createPlatformClient.js\";\nexport type { PlatformClient } from \"./createPlatformClient.js\";\nexport { createAttachmentUpload } from \"./object/AttachmentUpload.js\";\nexport type { ResultOrError } from \"./ResultOrError.js\";\n\nexport {\n extractDate,\n extractDateInLocalTime,\n extractDateInUTC,\n} from \"./util/datetimeConverters.js\";\n\nexport {\n createObjectSpecifierFromPrimaryKey,\n extractPrimaryKeyFromObjectSpecifier,\n} from \"./util/objectSpecifierUtils.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAASA,IAAI,EAAEC,UAAU,QAAQ,WAAW;AAyC5C,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,SAASC,qBAAqB,QAAQ,oCAAoC;AAE1E,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,SAASC,sBAAsB,QAAQ,8BAA8B;AAGrE,SACEC,WAAW,EACXC,sBAAsB,EACtBC,gBAAgB,QACX,8BAA8B;AAErC,SACEC,mCAAmC,EACnCC,oCAAoC,QAC/B,gCAAgC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isOk","PalantirApiError","ActionValidationError","createClient","createPlatformClient","createAttachmentUpload","extractDate","extractDateInLocalTime","extractDateInUTC","createObjectSpecifierFromPrimaryKey","extractPrimaryKeyFromObjectSpecifier"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nexport { isOk } from \"@osdk/api\";\nexport type {\n ActionDefinition,\n ActionEditResponse,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ActionValidationResponse,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n Attachment,\n CompileTimeMetadata,\n DerivedProperty,\n InterfaceDefinition,\n InterfaceMetadata,\n Logger,\n MediaReference,\n MediaUpload,\n ObjectMetadata,\n ObjectSet,\n ObjectSpecifier,\n ObjectTypeDefinition,\n Osdk,\n OsdkObject,\n OsdkObjectCreatePropertyType,\n OsdkObjectPropertyType,\n PageResult,\n PropertyDef,\n PropertyKeys,\n PropertyValueWireToClient,\n QueryDefinition,\n QueryParam,\n QueryResult,\n Range,\n Result,\n SingleLinkAccessor,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n VersionBound,\n WhereClause,\n} from \"@osdk/api\";\nexport { PalantirApiError } from \"@osdk/shared.net.errors\";\n\nexport { ActionValidationError } from \"./actions/ActionValidationError.js\";\nexport type { Client } from \"./Client.js\";\nexport { createClient } from \"./createClient.js\";\nexport { createPlatformClient } from \"./createPlatformClient.js\";\nexport type { PlatformClient } from \"./createPlatformClient.js\";\nexport { createAttachmentUpload } from \"./object/AttachmentUpload.js\";\nexport type { ResultOrError } from \"./ResultOrError.js\";\n\nexport {\n extractDate,\n extractDateInLocalTime,\n extractDateInUTC,\n} from \"./util/datetimeConverters.js\";\n\nexport {\n createObjectSpecifierFromPrimaryKey,\n extractPrimaryKeyFromObjectSpecifier,\n} from \"./util/objectSpecifierUtils.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAASA,IAAI,QAAQ,WAAW;AAyChC,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,SAASC,qBAAqB,QAAQ,oCAAoC;AAE1E,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,SAASC,sBAAsB,QAAQ,8BAA8B;AAGrE,SACEC,WAAW,EACXC,sBAAsB,EACtBC,gBAAgB,QACX,8BAA8B;AAErC,SACEC,mCAAmC,EACnCC,oCAAoC,QAC/B,gCAAgC","ignoreList":[]}
@@ -106,16 +106,21 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
106
106
  }
107
107
  const firstKey = keysOfFilter[0];
108
108
  !(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
109
-
110
- // Struct array
111
109
  if (firstKey === "$contains" && filter[firstKey] instanceof Object) {
112
- const structFilter = Object.entries(filter[firstKey]);
113
- !(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;
114
- const structFieldApiName = structFilter[0][0];
115
- return handleWherePair(structFilter[0], objectOrInterface, {
116
- propertyApiName: fieldName,
117
- structFieldApiName
118
- });
110
+ const containsValue = filter[firstKey];
111
+ const containsKeys = Object.keys(containsValue);
112
+ const isFilterObject = containsKeys.some(key => key.startsWith("$"));
113
+ if (isFilterObject) {
114
+ return handleWherePair([fieldName, containsValue], objectOrInterface, structFieldSelector, rdpNames);
115
+ } else {
116
+ const structFilter = Object.entries(containsValue);
117
+ !(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;
118
+ const structFieldApiName = structFilter[0][0];
119
+ return handleWherePair(structFilter[0], objectOrInterface, {
120
+ propertyApiName: fieldName,
121
+ structFieldApiName
122
+ });
123
+ }
119
124
  }
120
125
  if (firstKey === "$ne") {
121
126
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"modernToLegacyWhereClause.js","names":["invariant","fullyQualifyPropName","makeGeoFilterIntersects","makeGeoFilterWithin","isAndClause","whereClause","$and","undefined","isOrClause","$or","isNotClause","$not","modernToLegacyWhereClause","objectOrInterface","rdpNames","parts","Object","entries","map","key","value","length","modernToLegacyWhereClauseInner","type","v","process","env","NODE_ENV","clause","handleWherePair","fieldName","filter","structFieldSelector","isRdp","has","propertyIdentifier","apiName","propertyApiName","field","keysOfFilter","keys","hasDollarSign","some","startsWith","structFilter","structFieldApiName","firstKey","substring","fuzzy"],"sources":["modernToLegacyWhereClause.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AndWhereClause,\n NotWhereClause,\n ObjectOrInterfaceDefinition,\n OrWhereClause,\n PossibleWhereClauseFilters,\n SimplePropertyDef,\n WhereClause,\n} from \"@osdk/api\";\n\nimport type {\n PropertyIdentifier,\n SearchJsonQueryV2,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { fullyQualifyPropName } from \"./fullyQualifyPropName.js\";\nimport { makeGeoFilterIntersects } from \"./makeGeoFilterIntersects.js\";\nimport { makeGeoFilterWithin } from \"./makeGeoFilterWithin.js\";\n\ntype DropDollarSign<T extends `$${string}`> = T extends `$${infer U}` ? U\n : never;\n\nfunction isAndClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is AndWhereClause<T, RDPs> {\n return \"$and\" in whereClause && whereClause.$and !== undefined;\n}\n\nfunction isOrClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is OrWhereClause<T, RDPs> {\n return \"$or\" in whereClause && whereClause.$or !== undefined;\n}\n\nfunction isNotClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is NotWhereClause<T, RDPs> {\n return \"$not\" in whereClause && whereClause.$not !== undefined;\n}\n\n/** @internal */\nexport function modernToLegacyWhereClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause).map(([key, value]) => ({\n [key]: value,\n })) as WhereClause<T, RDPs>[];\n if (parts.length === 1) {\n return modernToLegacyWhereClauseInner(\n whereClause,\n objectOrInterface,\n rdpNames,\n );\n }\n return {\n type: \"and\",\n value: parts.map<SearchJsonQueryV2>(\n v => modernToLegacyWhereClauseInner(v, objectOrInterface, rdpNames),\n ),\n };\n}\n\n/** @internal */\nexport function modernToLegacyWhereClauseInner<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause);\n\n invariant(parts.length === 1, \"Invalid where clause provided.\");\n\n if (isAndClause(whereClause)) {\n return {\n type: \"and\",\n value: (whereClause.$and as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isOrClause(whereClause)) {\n return {\n type: \"or\",\n value: (whereClause.$or as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isNotClause(whereClause)) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(\n whereClause.$not as WhereClause<T, RDPs>,\n objectOrInterface,\n rdpNames,\n ),\n };\n }\n\n return handleWherePair(parts[0], objectOrInterface, undefined, rdpNames);\n}\n\nfunction handleWherePair(\n [fieldName, filter]: [string, any],\n objectOrInterface: ObjectOrInterfaceDefinition,\n structFieldSelector?: { propertyApiName: string; structFieldApiName: string },\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n invariant(\n filter != null,\n \"Defined key values are only allowed when they are not undefined.\",\n );\n\n const isRdp = !structFieldSelector && rdpNames?.has(fieldName);\n\n const propertyIdentifier: PropertyIdentifier | undefined = isRdp\n ? {\n type: \"property\",\n apiName: fieldName,\n }\n : structFieldSelector != null\n ? {\n type: \"structField\",\n ...structFieldSelector,\n propertyApiName: fullyQualifyPropName(\n structFieldSelector.propertyApiName,\n objectOrInterface,\n ),\n }\n : undefined;\n\n const field = !isRdp && structFieldSelector == null\n ? fullyQualifyPropName(fieldName, objectOrInterface)\n : undefined;\n\n invariant(\n field == null\n || propertyIdentifier == null && (field != null || isRdp != null),\n \"Encountered error constructing where clause: field and propertyIdentifier cannot both be defined\",\n );\n\n if (\n typeof filter === \"string\" || typeof filter === \"number\"\n || typeof filter === \"boolean\"\n ) {\n return {\n type: \"eq\",\n ...(propertyIdentifier != null\n && { propertyIdentifier }),\n field,\n value: filter,\n };\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 invariant(\n !hasDollarSign\n || keysOfFilter.length === 1,\n \"A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.\",\n );\n\n // Struct\n if (!hasDollarSign) {\n const structFilter = Object.entries(filter);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = keysOfFilter[0];\n return handleWherePair(Object.entries(filter)[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n }, rdpNames);\n }\n\n const firstKey = keysOfFilter[0] as PossibleWhereClauseFilters;\n invariant(filter[firstKey] != null);\n\n // Struct array\n if (firstKey === \"$contains\" && filter[firstKey] instanceof Object) {\n const structFilter: [string, any][] = Object.entries(filter[firstKey]);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = structFilter[0][0];\n\n return handleWherePair(structFilter[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n });\n }\n\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n },\n };\n }\n\n if (firstKey === \"$within\") {\n return makeGeoFilterWithin(filter[firstKey], propertyIdentifier, field);\n }\n if (firstKey === \"$intersects\") {\n return makeGeoFilterIntersects(filter[firstKey], propertyIdentifier, field);\n }\n\n if (firstKey === \"$containsAllTerms\" || firstKey === \"$containsAnyTerm\") {\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: typeof filter[firstKey] === \"string\"\n ? filter[firstKey]\n : filter[firstKey][\"term\"],\n fuzzy: typeof filter[firstKey] === \"string\"\n ? false\n : filter[firstKey][\"fuzzySearch\"] ?? false,\n };\n }\n\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey] as any,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"modernToLegacyWhereClause.js","names":["invariant","fullyQualifyPropName","makeGeoFilterIntersects","makeGeoFilterWithin","isAndClause","whereClause","$and","undefined","isOrClause","$or","isNotClause","$not","modernToLegacyWhereClause","objectOrInterface","rdpNames","parts","Object","entries","map","key","value","length","modernToLegacyWhereClauseInner","type","v","process","env","NODE_ENV","clause","handleWherePair","fieldName","filter","structFieldSelector","isRdp","has","propertyIdentifier","apiName","propertyApiName","field","keysOfFilter","keys","hasDollarSign","some","startsWith","structFilter","structFieldApiName","firstKey","containsValue","containsKeys","isFilterObject","substring","fuzzy"],"sources":["modernToLegacyWhereClause.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AndWhereClause,\n NotWhereClause,\n ObjectOrInterfaceDefinition,\n OrWhereClause,\n PossibleWhereClauseFilters,\n SimplePropertyDef,\n WhereClause,\n} from \"@osdk/api\";\n\nimport type {\n PropertyIdentifier,\n SearchJsonQueryV2,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { fullyQualifyPropName } from \"./fullyQualifyPropName.js\";\nimport { makeGeoFilterIntersects } from \"./makeGeoFilterIntersects.js\";\nimport { makeGeoFilterWithin } from \"./makeGeoFilterWithin.js\";\n\ntype DropDollarSign<T extends `$${string}`> = T extends `$${infer U}` ? U\n : never;\n\nfunction isAndClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is AndWhereClause<T, RDPs> {\n return \"$and\" in whereClause && whereClause.$and !== undefined;\n}\n\nfunction isOrClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is OrWhereClause<T, RDPs> {\n return \"$or\" in whereClause && whereClause.$or !== undefined;\n}\n\nfunction isNotClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is NotWhereClause<T, RDPs> {\n return \"$not\" in whereClause && whereClause.$not !== undefined;\n}\n\n/** @internal */\nexport function modernToLegacyWhereClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause).map(([key, value]) => ({\n [key]: value,\n })) as WhereClause<T, RDPs>[];\n if (parts.length === 1) {\n return modernToLegacyWhereClauseInner(\n whereClause,\n objectOrInterface,\n rdpNames,\n );\n }\n return {\n type: \"and\",\n value: parts.map<SearchJsonQueryV2>(\n v => modernToLegacyWhereClauseInner(v, objectOrInterface, rdpNames),\n ),\n };\n}\n\n/** @internal */\nexport function modernToLegacyWhereClauseInner<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause);\n\n invariant(parts.length === 1, \"Invalid where clause provided.\");\n\n if (isAndClause(whereClause)) {\n return {\n type: \"and\",\n value: (whereClause.$and as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isOrClause(whereClause)) {\n return {\n type: \"or\",\n value: (whereClause.$or as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isNotClause(whereClause)) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(\n whereClause.$not as WhereClause<T, RDPs>,\n objectOrInterface,\n rdpNames,\n ),\n };\n }\n\n return handleWherePair(parts[0], objectOrInterface, undefined, rdpNames);\n}\n\nfunction handleWherePair(\n [fieldName, filter]: [string, any],\n objectOrInterface: ObjectOrInterfaceDefinition,\n structFieldSelector?: { propertyApiName: string; structFieldApiName: string },\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n invariant(\n filter != null,\n \"Defined key values are only allowed when they are not undefined.\",\n );\n\n const isRdp = !structFieldSelector && rdpNames?.has(fieldName);\n\n const propertyIdentifier: PropertyIdentifier | undefined = isRdp\n ? {\n type: \"property\",\n apiName: fieldName,\n }\n : structFieldSelector != null\n ? {\n type: \"structField\",\n ...structFieldSelector,\n propertyApiName: fullyQualifyPropName(\n structFieldSelector.propertyApiName,\n objectOrInterface,\n ),\n }\n : undefined;\n\n const field = !isRdp && structFieldSelector == null\n ? fullyQualifyPropName(fieldName, objectOrInterface)\n : undefined;\n\n invariant(\n field == null\n || propertyIdentifier == null && (field != null || isRdp != null),\n \"Encountered error constructing where clause: field and propertyIdentifier cannot both be defined\",\n );\n\n if (\n typeof filter === \"string\" || typeof filter === \"number\"\n || typeof filter === \"boolean\"\n ) {\n return {\n type: \"eq\",\n ...(propertyIdentifier != null\n && { propertyIdentifier }),\n field,\n value: filter,\n };\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 invariant(\n !hasDollarSign\n || keysOfFilter.length === 1,\n \"A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.\",\n );\n\n // Struct\n if (!hasDollarSign) {\n const structFilter = Object.entries(filter);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = keysOfFilter[0];\n return handleWherePair(Object.entries(filter)[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n }, rdpNames);\n }\n\n const firstKey = keysOfFilter[0] as PossibleWhereClauseFilters;\n invariant(filter[firstKey] != null);\n\n if (firstKey === \"$contains\" && filter[firstKey] instanceof Object) {\n const containsValue = filter[firstKey];\n const containsKeys = Object.keys(containsValue);\n\n const isFilterObject = containsKeys.some(key => key.startsWith(\"$\"));\n\n if (isFilterObject) {\n return handleWherePair(\n [fieldName, containsValue],\n objectOrInterface,\n structFieldSelector,\n rdpNames,\n );\n } else {\n const structFilter: [string, any][] = Object.entries(containsValue);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = structFilter[0][0];\n\n return handleWherePair(structFilter[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n });\n }\n }\n\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n },\n };\n }\n\n if (firstKey === \"$within\") {\n return makeGeoFilterWithin(filter[firstKey], propertyIdentifier, field);\n }\n if (firstKey === \"$intersects\") {\n return makeGeoFilterIntersects(filter[firstKey], propertyIdentifier, field);\n }\n\n if (firstKey === \"$containsAllTerms\" || firstKey === \"$containsAnyTerm\") {\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: typeof filter[firstKey] === \"string\"\n ? filter[firstKey]\n : filter[firstKey][\"term\"],\n fuzzy: typeof filter[firstKey] === \"string\"\n ? false\n : filter[firstKey][\"fuzzySearch\"] ?? false,\n };\n }\n\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey] as any,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,SAASC,mBAAmB,QAAQ,0BAA0B;AAK9D,SAASC,WAAWA,CAIlBC,WAAiC,EACO;EACxC,OAAO,MAAM,IAAIA,WAAW,IAAIA,WAAW,CAACC,IAAI,KAAKC,SAAS;AAChE;AAEA,SAASC,UAAUA,CAIjBH,WAAiC,EACM;EACvC,OAAO,KAAK,IAAIA,WAAW,IAAIA,WAAW,CAACI,GAAG,KAAKF,SAAS;AAC9D;AAEA,SAASG,WAAWA,CAIlBL,WAAiC,EACO;EACxC,OAAO,MAAM,IAAIA,WAAW,IAAIA,WAAW,CAACM,IAAI,KAAKJ,SAAS;AAChE;;AAEA;AACA,OAAO,SAASK,yBAAyBA,CAIvCP,WAAiC,EACjCQ,iBAAoB,EACpBC,QAAsB,EACH;EACnB,MAAMC,KAAK,GAAGC,MAAM,CAACC,OAAO,CAACZ,WAAW,CAAC,CAACa,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,MAAM;IAC/D,CAACD,GAAG,GAAGC;EACT,CAAC,CAAC,CAA2B;EAC7B,IAAIL,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOC,8BAA8B,CACnCjB,WAAW,EACXQ,iBAAiB,EACjBC,QACF,CAAC;EACH;EACA,OAAO;IACLS,IAAI,EAAE,KAAK;IACXH,KAAK,EAAEL,KAAK,CAACG,GAAG,CACdM,CAAC,IAAIF,8BAA8B,CAACE,CAAC,EAAEX,iBAAiB,EAAEC,QAAQ,CACpE;EACF,CAAC;AACH;;AAEA;AACA,OAAO,SAASQ,8BAA8BA,CAI5CjB,WAAiC,EACjCQ,iBAAoB,EACpBC,QAAsB,EACH;EACnB,MAAMC,KAAK,GAAGC,MAAM,CAACC,OAAO,CAACZ,WAAW,CAAC;EAEzC,EAAUU,KAAK,CAACM,MAAM,KAAK,CAAC,IAAAI,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAA5B3B,SAAS,QAAqB,gCAAgC,IAA9DA,SAAS;EAET,IAAII,WAAW,CAACC,WAAW,CAAC,EAAE;IAC5B,OAAO;MACLkB,IAAI,EAAE,KAAK;MACXH,KAAK,EAAGf,WAAW,CAACC,IAAI,CAA4BY,GAAG,CACpDU,MAAM,IACLhB,yBAAyB,CAACgB,MAAM,EAAEf,iBAAiB,EAAEC,QAAQ,CACjE;IACF,CAAC;EACH,CAAC,MAAM,IAAIN,UAAU,CAACH,WAAW,CAAC,EAAE;IAClC,OAAO;MACLkB,IAAI,EAAE,IAAI;MACVH,KAAK,EAAGf,WAAW,CAACI,GAAG,CAA4BS,GAAG,CACnDU,MAAM,IACLhB,yBAAyB,CAACgB,MAAM,EAAEf,iBAAiB,EAAEC,QAAQ,CACjE;IACF,CAAC;EACH,CAAC,MAAM,IAAIJ,WAAW,CAACL,WAAW,CAAC,EAAE;IACnC,OAAO;MACLkB,IAAI,EAAE,KAAK;MACXH,KAAK,EAAER,yBAAyB,CAC9BP,WAAW,CAACM,IAAI,EAChBE,iBAAiB,EACjBC,QACF;IACF,CAAC;EACH;EAEA,OAAOe,eAAe,CAACd,KAAK,CAAC,CAAC,CAAC,EAAEF,iBAAiB,EAAEN,SAAS,EAAEO,QAAQ,CAAC;AAC1E;AAEA,SAASe,eAAeA,CACtB,CAACC,SAAS,EAAEC,MAAM,CAAgB,EAClClB,iBAA8C,EAC9CmB,mBAA6E,EAC7ElB,QAAsB,EACH;EACnB,EACEiB,MAAM,IAAI,IAAI,IAAAN,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBADhB3B,SAAS,QAEP,kEAAkE,IAFpEA,SAAS;EAKT,MAAMiC,KAAK,GAAG,CAACD,mBAAmB,IAAIlB,QAAQ,EAAEoB,GAAG,CAACJ,SAAS,CAAC;EAE9D,MAAMK,kBAAkD,GAAGF,KAAK,GAC5D;IACAV,IAAI,EAAE,UAAU;IAChBa,OAAO,EAAEN;EACX,CAAC,GACCE,mBAAmB,IAAI,IAAI,GAC3B;IACAT,IAAI,EAAE,aAAa;IACnB,GAAGS,mBAAmB;IACtBK,eAAe,EAAEpC,oBAAoB,CACnC+B,mBAAmB,CAACK,eAAe,EACnCxB,iBACF;EACF,CAAC,GACCN,SAAS;EAEb,MAAM+B,KAAK,GAAG,CAACL,KAAK,IAAID,mBAAmB,IAAI,IAAI,GAC/C/B,oBAAoB,CAAC6B,SAAS,EAAEjB,iBAAiB,CAAC,GAClDN,SAAS;EAEb,EACE+B,KAAK,IAAI,IAAI,IACRH,kBAAkB,IAAI,IAAI,KAAKG,KAAK,IAAI,IAAI,IAAIL,KAAK,IAAI,IAAI,CAAC,IAAAR,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAFrE3B,SAAS,QAGP,kGAAkG,IAHpGA,SAAS;EAMT,IACE,OAAO+B,MAAM,KAAK,QAAQ,IAAI,OAAOA,MAAM,KAAK,QAAQ,IACrD,OAAOA,MAAM,KAAK,SAAS,EAC9B;IACA,OAAO;MACLR,IAAI,EAAE,IAAI;MACV,IAAIY,kBAAkB,IAAI,IAAI,IACzB;QAAEA;MAAmB,CAAC,CAAC;MAC5BG,KAAK;MACLlB,KAAK,EAAEW;IACT,CAAC;EACH;EAEA,MAAMQ,YAAY,GAAGvB,MAAM,CAACwB,IAAI,CAACT,MAAM,CAAC;;EAExC;EACA;EACA,MAAMU,aAAa,GAAGF,YAAY,CAACG,IAAI,CAAEvB,GAAG,IAAKA,GAAG,CAACwB,UAAU,CAAC,GAAG,CAAC,CAAC;EACrE,EACE,CAACF,aAAa,IACTF,YAAY,CAAClB,MAAM,KAAK,CAAC,IAAAI,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAFhC3B,SAAS,QAGP,kIAAkI,IAHpIA,SAAS;;EAMT;EACA,IAAI,CAACyC,aAAa,EAAE;IAClB,MAAMG,YAAY,GAAG5B,MAAM,CAACC,OAAO,CAACc,MAAM,CAAC;IAC3C,EACEa,YAAY,CAACvB,MAAM,KAAK,CAAC,IAAAI,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD3B3B,SAAS,QAEP,2FAA2F,IAF7FA,SAAS;IAIT,MAAM6C,kBAAkB,GAAGN,YAAY,CAAC,CAAC,CAAC;IAC1C,OAAOV,eAAe,CAACb,MAAM,CAACC,OAAO,CAACc,MAAM,CAAC,CAAC,CAAC,CAAC,EAAElB,iBAAiB,EAAE;MACnEwB,eAAe,EAAEP,SAAS;MAC1Be;IACF,CAAC,EAAE/B,QAAQ,CAAC;EACd;EAEA,MAAMgC,QAAQ,GAAGP,YAAY,CAAC,CAAC,CAA+B;EAC9D,EAAUR,MAAM,CAACe,QAAQ,CAAC,IAAI,IAAI,IAAArB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAlC3B,SAAS,UAATA,SAAS;EAET,IAAI8C,QAAQ,KAAK,WAAW,IAAIf,MAAM,CAACe,QAAQ,CAAC,YAAY9B,MAAM,EAAE;IAClE,MAAM+B,aAAa,GAAGhB,MAAM,CAACe,QAAQ,CAAC;IACtC,MAAME,YAAY,GAAGhC,MAAM,CAACwB,IAAI,CAACO,aAAa,CAAC;IAE/C,MAAME,cAAc,GAAGD,YAAY,CAACN,IAAI,CAACvB,GAAG,IAAIA,GAAG,CAACwB,UAAU,CAAC,GAAG,CAAC,CAAC;IAEpE,IAAIM,cAAc,EAAE;MAClB,OAAOpB,eAAe,CACpB,CAACC,SAAS,EAAEiB,aAAa,CAAC,EAC1BlC,iBAAiB,EACjBmB,mBAAmB,EACnBlB,QACF,CAAC;IACH,CAAC,MAAM;MACL,MAAM8B,YAA6B,GAAG5B,MAAM,CAACC,OAAO,CAAC8B,aAAa,CAAC;MACnE,EACEH,YAAY,CAACvB,MAAM,KAAK,CAAC,IAAAI,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD3B3B,SAAS,QAEP,2FAA2F,IAF7FA,SAAS;MAIT,MAAM6C,kBAAkB,GAAGD,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAE7C,OAAOf,eAAe,CAACe,YAAY,CAAC,CAAC,CAAC,EAAE/B,iBAAiB,EAAE;QACzDwB,eAAe,EAAEP,SAAS;QAC1Be;MACF,CAAC,CAAC;IACJ;EACF;EAEA,IAAIC,QAAQ,KAAK,KAAK,EAAE;IACtB,OAAO;MACLvB,IAAI,EAAE,KAAK;MACXH,KAAK,EAAE;QACLG,IAAI,EAAE,IAAI;QACV,IAAIY,kBAAkB,IAAI,IAAI,IAAI;UAAEA;QAAmB,CAAC,CAAC;QACzDG,KAAK;QACLlB,KAAK,EAAEW,MAAM,CAACe,QAAQ;MACxB;IACF,CAAC;EACH;EAEA,IAAIA,QAAQ,KAAK,SAAS,EAAE;IAC1B,OAAO3C,mBAAmB,CAAC4B,MAAM,CAACe,QAAQ,CAAC,EAAEX,kBAAkB,EAAEG,KAAK,CAAC;EACzE;EACA,IAAIQ,QAAQ,KAAK,aAAa,EAAE;IAC9B,OAAO5C,uBAAuB,CAAC6B,MAAM,CAACe,QAAQ,CAAC,EAAEX,kBAAkB,EAAEG,KAAK,CAAC;EAC7E;EAEA,IAAIQ,QAAQ,KAAK,mBAAmB,IAAIA,QAAQ,KAAK,kBAAkB,EAAE;IACvE,OAAO;MACLvB,IAAI,EAAEuB,QAAQ,CAACI,SAAS,CAAC,CAAC,CAAoC;MAC9D,IAAIf,kBAAkB,IAAI,IAAI,IAAI;QAAEA;MAAmB,CAAC,CAAC;MACzDG,KAAK;MACLlB,KAAK,EAAE,OAAOW,MAAM,CAACe,QAAQ,CAAC,KAAK,QAAQ,GACvCf,MAAM,CAACe,QAAQ,CAAC,GAChBf,MAAM,CAACe,QAAQ,CAAC,CAAC,MAAM,CAAC;MAC5BK,KAAK,EAAE,OAAOpB,MAAM,CAACe,QAAQ,CAAC,KAAK,QAAQ,GACvC,KAAK,GACLf,MAAM,CAACe,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI;IACzC,CAAC;EACH;EAEA,OAAO;IACLvB,IAAI,EAAEuB,QAAQ,CAACI,SAAS,CAAC,CAAC,CAAoC;IAC9D,IAAIf,kBAAkB,IAAI,IAAI,IAAI;MAAEA;IAAmB,CAAC,CAAC;IACzDG,KAAK;IACLlB,KAAK,EAAEW,MAAM,CAACe,QAAQ;EACxB,CAAC;AACH","ignoreList":[]}
@@ -969,6 +969,80 @@ describe(modernToLegacyWhereClause, () => {
969
969
  }
970
970
  `);
971
971
  });
972
+ it("converts primitive arrays with nested filters correctly", () => {
973
+ expect(modernToLegacyWhereClause({
974
+ integerArray: {
975
+ $contains: {
976
+ $lt: 5
977
+ }
978
+ }
979
+ }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`
980
+ {
981
+ "field": "integerArray",
982
+ "type": "lt",
983
+ "value": 5,
984
+ }
985
+ `);
986
+ expect(modernToLegacyWhereClause({
987
+ stringArray: {
988
+ $contains: {
989
+ $startsWith: "test"
990
+ }
991
+ }
992
+ }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`
993
+ {
994
+ "field": "stringArray",
995
+ "type": "startsWith",
996
+ "value": "test",
997
+ }
998
+ `);
999
+ expect(modernToLegacyWhereClause({
1000
+ booleanArray: {
1001
+ $contains: {
1002
+ $eq: true
1003
+ }
1004
+ }
1005
+ }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`
1006
+ {
1007
+ "field": "booleanArray",
1008
+ "type": "eq",
1009
+ "value": true,
1010
+ }
1011
+ `);
1012
+ });
1013
+ it("converts primitive arrays with multiple nested filter conditions", () => {
1014
+ expect(modernToLegacyWhereClause({
1015
+ $and: [{
1016
+ integerArray: {
1017
+ $contains: {
1018
+ $gte: 1
1019
+ }
1020
+ }
1021
+ }, {
1022
+ integerArray: {
1023
+ $contains: {
1024
+ $lt: 10
1025
+ }
1026
+ }
1027
+ }]
1028
+ }, objectTypeWithAllPropertyTypes)).toMatchInlineSnapshot(`
1029
+ {
1030
+ "type": "and",
1031
+ "value": [
1032
+ {
1033
+ "field": "integerArray",
1034
+ "type": "gte",
1035
+ "value": 1,
1036
+ },
1037
+ {
1038
+ "field": "integerArray",
1039
+ "type": "lt",
1040
+ "value": 10,
1041
+ },
1042
+ ],
1043
+ }
1044
+ `);
1045
+ });
972
1046
  });
973
1047
  describe("multiple checks", () => {
974
1048
  it("properly handles multiple simple where checks", () => {