@valkey/valkey-glide-darwin-arm64 1.2.0 → 1.2.1-rc0

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 (439) hide show
  1. package/build-ts/src/BaseClient.d.ts +27 -1
  2. package/build-ts/src/BaseClient.js +9 -1
  3. package/build-ts/src/BaseClient.js.map +1 -1
  4. package/build-ts/src/Commands.d.ts +12 -0
  5. package/build-ts/src/Commands.js.map +1 -1
  6. package/build-ts/src/GlideClient.d.ts +17 -1
  7. package/build-ts/src/GlideClient.js +3 -0
  8. package/build-ts/src/GlideClient.js.map +1 -1
  9. package/build-ts/src/GlideClusterClient.d.ts +23 -7
  10. package/build-ts/src/GlideClusterClient.js +8 -3
  11. package/build-ts/src/GlideClusterClient.js.map +1 -1
  12. package/build-ts/src/ProtobufMessage.js +46 -1
  13. package/build-ts/src/ProtobufMessage.js.map +1 -1
  14. package/node_modules/glide-rs/glide-rs.darwin-arm64.node +0 -0
  15. package/node_modules/glide-rs/index.d.ts +2 -1
  16. package/node_modules/glide-rs/index.js +4 -2
  17. package/npm/glide/index.ts +4 -3
  18. package/npm/glide/package.json +0 -1
  19. package/package.json +2 -2
  20. package/rust-client/node_modules/mingo/README.md +58 -53
  21. package/rust-client/node_modules/mingo/dist/cjs/aggregator.js +18 -20
  22. package/rust-client/node_modules/mingo/dist/cjs/core.js +179 -190
  23. package/rust-client/node_modules/mingo/dist/cjs/cursor.js +34 -34
  24. package/rust-client/node_modules/mingo/dist/cjs/index.js +11 -3
  25. package/rust-client/node_modules/mingo/dist/cjs/init/basic.js +4 -22
  26. package/rust-client/node_modules/mingo/dist/cjs/init/system.js +6 -6
  27. package/rust-client/node_modules/mingo/dist/cjs/lazy.js +58 -61
  28. package/rust-client/node_modules/mingo/dist/cjs/operators/_predicates.js +12 -25
  29. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/_internal.js +2 -4
  30. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/accumulator.js +1 -2
  31. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/first.js +3 -1
  32. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/last.js +4 -1
  33. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/max.js +9 -6
  34. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/mergeObjects.js +5 -1
  35. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/min.js +9 -3
  36. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/push.js +1 -2
  37. package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/sum.js +2 -4
  38. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/add.js +9 -10
  39. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/ceil.js +1 -2
  40. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/exp.js +1 -2
  41. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/floor.js +1 -2
  42. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/ln.js +1 -2
  43. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/log.js +1 -2
  44. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/log10.js +1 -2
  45. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/round.js +1 -2
  46. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/sqrt.js +1 -2
  47. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/subtract.js +5 -2
  48. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/trunc.js +1 -2
  49. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/arrayElemAt.js +2 -3
  50. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/arrayToObject.js +3 -4
  51. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/concatArrays.js +11 -5
  52. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/filter.js +1 -0
  53. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/first.js +8 -8
  54. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/firstN.js +2 -4
  55. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/in.js +1 -1
  56. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/indexOfArray.js +5 -10
  57. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/isArray.js +2 -3
  58. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/last.js +8 -8
  59. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/lastN.js +2 -4
  60. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/map.js +1 -0
  61. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/maxN.js +2 -4
  62. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/minN.js +2 -4
  63. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/reduce.js +1 -2
  64. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/reverseArray.js +1 -2
  65. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/sortArray.js +2 -4
  66. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/zip.js +4 -10
  67. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/bitwise/_internal.js +1 -2
  68. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/bitwise/bitNot.js +2 -4
  69. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/boolean/not.js +3 -5
  70. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/comparison/cmp.js +6 -5
  71. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/conditional/cond.js +1 -1
  72. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/conditional/ifNull.js +1 -1
  73. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/conditional/switch.js +1 -2
  74. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/_internal.js +157 -65
  75. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateAdd.js +1 -29
  76. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateDiff.js +32 -20
  77. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateFromParts.js +2 -4
  78. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateFromString.js +13 -9
  79. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateToString.js +2 -4
  80. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateTrunc.js +107 -0
  81. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dayOfYear.js +1 -1
  82. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/index.js +2 -0
  83. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/isoWeekYear.js +1 -4
  84. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/week.js +1 -2
  85. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/misc/getField.js +1 -2
  86. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/object/mergeObjects.js +9 -2
  87. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/object/objectToArray.js +5 -1
  88. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/object/setField.js +11 -7
  89. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setDifference.js +9 -1
  90. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setEquals.js +17 -3
  91. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setIntersection.js +2 -1
  92. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setIsSubset.js +15 -1
  93. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setUnion.js +4 -5
  94. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/_internal.js +4 -8
  95. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/concat.js +5 -2
  96. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/indexOfBytes.js +2 -4
  97. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/replaceAll.js +1 -2
  98. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/replaceOne.js +1 -2
  99. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/split.js +1 -2
  100. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/strcasecmp.js +1 -2
  101. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/substr.js +4 -14
  102. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/substrBytes.js +2 -4
  103. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/trignometry/atan2.js +2 -4
  104. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/trignometry/cosh.js +0 -1
  105. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/_internal.js +20 -10
  106. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/convert.js +3 -5
  107. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toBool.js +2 -4
  108. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toDate.js +3 -6
  109. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toDouble.js +5 -10
  110. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toInt.js +1 -4
  111. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toLong.js +1 -4
  112. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toString.js +11 -10
  113. package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/type.js +11 -14
  114. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/addFields.js +1 -2
  115. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/bucket.js +53 -53
  116. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/bucketAuto.js +670 -65
  117. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/count.js +2 -2
  118. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/densify.js +196 -0
  119. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/graphLookup.js +78 -0
  120. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/group.js +6 -9
  121. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/index.js +4 -0
  122. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/limit.js +1 -3
  123. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/lookup.js +47 -10
  124. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/merge.js +7 -13
  125. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/out.js +1 -1
  126. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/project.js +19 -38
  127. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/redact.js +3 -1
  128. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/replaceWith.js +9 -2
  129. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/sample.js +1 -2
  130. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/setWindowFields.js +10 -20
  131. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/skip.js +1 -1
  132. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/sort.js +10 -19
  133. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/sortByCount.js +5 -3
  134. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/unionWith.js +1 -1
  135. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/unset.js +1 -2
  136. package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/unwind.js +5 -9
  137. package/rust-client/node_modules/mingo/dist/cjs/operators/projection/elemMatch.js +2 -3
  138. package/rust-client/node_modules/mingo/dist/cjs/operators/projection/slice.js +2 -3
  139. package/rust-client/node_modules/mingo/dist/cjs/operators/query/bitwise/_internal.js +4 -4
  140. package/rust-client/node_modules/mingo/dist/cjs/operators/update/_internal.js +8 -14
  141. package/rust-client/node_modules/mingo/dist/cjs/operators/update/addToSet.js +1 -2
  142. package/rust-client/node_modules/mingo/dist/cjs/operators/update/bit.js +1 -2
  143. package/rust-client/node_modules/mingo/dist/cjs/operators/update/max.js +1 -2
  144. package/rust-client/node_modules/mingo/dist/cjs/operators/update/min.js +1 -2
  145. package/rust-client/node_modules/mingo/dist/cjs/operators/update/pop.js +1 -2
  146. package/rust-client/node_modules/mingo/dist/cjs/operators/update/pull.js +2 -4
  147. package/rust-client/node_modules/mingo/dist/cjs/operators/update/push.js +3 -9
  148. package/rust-client/node_modules/mingo/dist/cjs/operators/update/rename.js +1 -2
  149. package/rust-client/node_modules/mingo/dist/cjs/operators/update/set.js +1 -2
  150. package/rust-client/node_modules/mingo/dist/cjs/operators/update/unset.js +1 -2
  151. package/rust-client/node_modules/mingo/dist/cjs/operators/window/_internal.js +2 -3
  152. package/rust-client/node_modules/mingo/dist/cjs/operators/window/denseRank.js +8 -10
  153. package/rust-client/node_modules/mingo/dist/cjs/operators/window/derivative.js +4 -6
  154. package/rust-client/node_modules/mingo/dist/cjs/operators/window/documentNumber.js +1 -3
  155. package/rust-client/node_modules/mingo/dist/cjs/operators/window/expMovingAvg.js +4 -6
  156. package/rust-client/node_modules/mingo/dist/cjs/operators/window/integral.js +3 -4
  157. package/rust-client/node_modules/mingo/dist/cjs/operators/window/linearFill.js +4 -6
  158. package/rust-client/node_modules/mingo/dist/cjs/operators/window/locf.js +3 -4
  159. package/rust-client/node_modules/mingo/dist/cjs/operators/window/rank.js +8 -10
  160. package/rust-client/node_modules/mingo/dist/cjs/operators/window/shift.js +2 -2
  161. package/rust-client/node_modules/mingo/dist/cjs/query.js +20 -19
  162. package/rust-client/node_modules/mingo/dist/cjs/types.js +22 -0
  163. package/rust-client/node_modules/mingo/dist/cjs/updater.js +6 -5
  164. package/rust-client/node_modules/mingo/dist/cjs/util.js +265 -388
  165. package/rust-client/node_modules/mingo/dist/esm/aggregator.js +18 -21
  166. package/rust-client/node_modules/mingo/dist/esm/core.js +179 -192
  167. package/rust-client/node_modules/mingo/dist/esm/cursor.js +35 -35
  168. package/rust-client/node_modules/mingo/dist/esm/index.js +8 -2
  169. package/rust-client/node_modules/mingo/dist/esm/init/basic.js +5 -12
  170. package/rust-client/node_modules/mingo/dist/esm/init/system.js +7 -7
  171. package/rust-client/node_modules/mingo/dist/esm/lazy.js +58 -61
  172. package/rust-client/node_modules/mingo/dist/esm/operators/_predicates.js +14 -32
  173. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/_internal.js +2 -4
  174. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/accumulator.js +1 -2
  175. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/first.js +7 -2
  176. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/last.js +8 -2
  177. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/max.js +10 -7
  178. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/mergeObjects.js +5 -1
  179. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/min.js +10 -4
  180. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/push.js +1 -2
  181. package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/sum.js +2 -4
  182. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/add.js +9 -10
  183. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/ceil.js +1 -2
  184. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/exp.js +1 -2
  185. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/floor.js +1 -2
  186. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/ln.js +1 -2
  187. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/log.js +1 -2
  188. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/log10.js +1 -2
  189. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/round.js +1 -2
  190. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/sqrt.js +1 -2
  191. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/subtract.js +5 -2
  192. package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/trunc.js +1 -2
  193. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/arrayElemAt.js +3 -4
  194. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/arrayToObject.js +3 -4
  195. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/concatArrays.js +12 -6
  196. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/filter.js +2 -1
  197. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/first.js +10 -13
  198. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/firstN.js +2 -4
  199. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/in.js +1 -1
  200. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/indexOfArray.js +5 -10
  201. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/isArray.js +2 -3
  202. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/last.js +10 -13
  203. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/lastN.js +2 -4
  204. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/map.js +2 -1
  205. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/maxN.js +2 -4
  206. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/minN.js +2 -4
  207. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/reduce.js +1 -2
  208. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/reverseArray.js +1 -2
  209. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/sortArray.js +2 -4
  210. package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/zip.js +4 -10
  211. package/rust-client/node_modules/mingo/dist/esm/operators/expression/bitwise/_internal.js +1 -2
  212. package/rust-client/node_modules/mingo/dist/esm/operators/expression/bitwise/bitNot.js +2 -4
  213. package/rust-client/node_modules/mingo/dist/esm/operators/expression/boolean/not.js +4 -6
  214. package/rust-client/node_modules/mingo/dist/esm/operators/expression/comparison/cmp.js +6 -5
  215. package/rust-client/node_modules/mingo/dist/esm/operators/expression/conditional/cond.js +2 -2
  216. package/rust-client/node_modules/mingo/dist/esm/operators/expression/conditional/ifNull.js +1 -1
  217. package/rust-client/node_modules/mingo/dist/esm/operators/expression/conditional/switch.js +1 -2
  218. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/_internal.js +140 -61
  219. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateAdd.js +2 -35
  220. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateDiff.js +43 -21
  221. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateFromParts.js +2 -4
  222. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateFromString.js +13 -11
  223. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateToString.js +2 -4
  224. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateTrunc.js +97 -0
  225. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dayOfYear.js +2 -2
  226. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/index.js +1 -0
  227. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/isoWeekYear.js +2 -5
  228. package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/week.js +1 -2
  229. package/rust-client/node_modules/mingo/dist/esm/operators/expression/misc/getField.js +1 -2
  230. package/rust-client/node_modules/mingo/dist/esm/operators/expression/object/mergeObjects.js +10 -3
  231. package/rust-client/node_modules/mingo/dist/esm/operators/expression/object/objectToArray.js +6 -2
  232. package/rust-client/node_modules/mingo/dist/esm/operators/expression/object/setField.js +11 -7
  233. package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setDifference.js +10 -2
  234. package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setEquals.js +18 -4
  235. package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setIntersection.js +3 -2
  236. package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setIsSubset.js +16 -2
  237. package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setUnion.js +5 -6
  238. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/_internal.js +4 -8
  239. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/concat.js +6 -3
  240. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/indexOfBytes.js +2 -4
  241. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/replaceAll.js +1 -2
  242. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/replaceOne.js +1 -2
  243. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/split.js +1 -2
  244. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/strcasecmp.js +1 -2
  245. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/substr.js +4 -14
  246. package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/substrBytes.js +2 -4
  247. package/rust-client/node_modules/mingo/dist/esm/operators/expression/trignometry/atan2.js +2 -4
  248. package/rust-client/node_modules/mingo/dist/esm/operators/expression/trignometry/cosh.js +0 -1
  249. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/_internal.js +17 -11
  250. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/convert.js +3 -5
  251. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toBool.js +2 -4
  252. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toDate.js +4 -7
  253. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toDouble.js +6 -11
  254. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toInt.js +2 -5
  255. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toLong.js +2 -5
  256. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toString.js +12 -11
  257. package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/type.js +12 -15
  258. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/addFields.js +1 -2
  259. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/bucket.js +54 -61
  260. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/bucketAuto.js +679 -66
  261. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/count.js +3 -3
  262. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/densify.js +183 -0
  263. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/graphLookup.js +55 -0
  264. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/group.js +6 -9
  265. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/index.js +2 -0
  266. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/limit.js +1 -3
  267. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/lookup.js +55 -11
  268. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/merge.js +9 -14
  269. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/out.js +2 -2
  270. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/project.js +21 -42
  271. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/redact.js +3 -1
  272. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/replaceWith.js +9 -2
  273. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/sample.js +1 -2
  274. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/setWindowFields.js +12 -23
  275. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/skip.js +1 -1
  276. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/sort.js +11 -20
  277. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/sortByCount.js +5 -3
  278. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/unionWith.js +2 -2
  279. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/unset.js +1 -2
  280. package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/unwind.js +6 -9
  281. package/rust-client/node_modules/mingo/dist/esm/operators/projection/elemMatch.js +3 -4
  282. package/rust-client/node_modules/mingo/dist/esm/operators/projection/slice.js +2 -3
  283. package/rust-client/node_modules/mingo/dist/esm/operators/query/bitwise/_internal.js +4 -4
  284. package/rust-client/node_modules/mingo/dist/esm/operators/update/_internal.js +9 -14
  285. package/rust-client/node_modules/mingo/dist/esm/operators/update/addToSet.js +1 -2
  286. package/rust-client/node_modules/mingo/dist/esm/operators/update/bit.js +1 -2
  287. package/rust-client/node_modules/mingo/dist/esm/operators/update/max.js +1 -2
  288. package/rust-client/node_modules/mingo/dist/esm/operators/update/min.js +1 -2
  289. package/rust-client/node_modules/mingo/dist/esm/operators/update/pop.js +1 -2
  290. package/rust-client/node_modules/mingo/dist/esm/operators/update/pull.js +2 -4
  291. package/rust-client/node_modules/mingo/dist/esm/operators/update/push.js +3 -9
  292. package/rust-client/node_modules/mingo/dist/esm/operators/update/rename.js +1 -2
  293. package/rust-client/node_modules/mingo/dist/esm/operators/update/set.js +1 -2
  294. package/rust-client/node_modules/mingo/dist/esm/operators/update/unset.js +1 -2
  295. package/rust-client/node_modules/mingo/dist/esm/operators/window/_internal.js +2 -3
  296. package/rust-client/node_modules/mingo/dist/esm/operators/window/denseRank.js +8 -10
  297. package/rust-client/node_modules/mingo/dist/esm/operators/window/derivative.js +4 -6
  298. package/rust-client/node_modules/mingo/dist/esm/operators/window/documentNumber.js +1 -3
  299. package/rust-client/node_modules/mingo/dist/esm/operators/window/expMovingAvg.js +4 -6
  300. package/rust-client/node_modules/mingo/dist/esm/operators/window/integral.js +3 -4
  301. package/rust-client/node_modules/mingo/dist/esm/operators/window/linearFill.js +4 -6
  302. package/rust-client/node_modules/mingo/dist/esm/operators/window/locf.js +3 -4
  303. package/rust-client/node_modules/mingo/dist/esm/operators/window/rank.js +8 -10
  304. package/rust-client/node_modules/mingo/dist/esm/operators/window/shift.js +2 -2
  305. package/rust-client/node_modules/mingo/dist/esm/query.js +22 -32
  306. package/rust-client/node_modules/mingo/dist/esm/types.js +14 -0
  307. package/rust-client/node_modules/mingo/dist/esm/updater.js +5 -5
  308. package/rust-client/node_modules/mingo/dist/esm/util.js +263 -377
  309. package/rust-client/node_modules/mingo/dist/types/aggregator.d.ts +7 -9
  310. package/rust-client/node_modules/mingo/dist/types/core.d.ts +41 -52
  311. package/rust-client/node_modules/mingo/dist/types/cursor.d.ts +6 -12
  312. package/rust-client/node_modules/mingo/dist/types/index.d.ts +8 -4
  313. package/rust-client/node_modules/mingo/dist/types/init/basic.d.ts +1 -6
  314. package/rust-client/node_modules/mingo/dist/types/lazy.d.ts +19 -15
  315. package/rust-client/node_modules/mingo/dist/types/operators/_predicates.d.ts +20 -20
  316. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/accumulator.d.ts +1 -1
  317. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/addToSet.d.ts +1 -1
  318. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/avg.d.ts +1 -1
  319. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/bottom.d.ts +2 -2
  320. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/bottomN.d.ts +4 -4
  321. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/count.d.ts +1 -1
  322. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/covariancePop.d.ts +1 -1
  323. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/covarianceSamp.d.ts +1 -1
  324. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/first.d.ts +2 -2
  325. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/firstN.d.ts +1 -1
  326. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/last.d.ts +4 -4
  327. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/lastN.d.ts +1 -1
  328. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/max.d.ts +4 -5
  329. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/maxN.d.ts +1 -1
  330. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/mergeObjects.d.ts +1 -1
  331. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/min.d.ts +4 -5
  332. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/minN.d.ts +1 -1
  333. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/percentile.d.ts +1 -1
  334. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/push.d.ts +4 -4
  335. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/stdDevPop.d.ts +1 -1
  336. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/stdDevSamp.d.ts +1 -1
  337. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/sum.d.ts +5 -3
  338. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/top.d.ts +2 -2
  339. package/rust-client/node_modules/mingo/dist/types/operators/accumulator/topN.d.ts +4 -4
  340. package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/add.d.ts +1 -1
  341. package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/multiply.d.ts +1 -1
  342. package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/pow.d.ts +1 -1
  343. package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/subtract.d.ts +1 -0
  344. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/arrayElemAt.d.ts +1 -1
  345. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/concatArrays.d.ts +3 -3
  346. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/filter.d.ts +1 -1
  347. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/first.d.ts +0 -4
  348. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/firstN.d.ts +1 -1
  349. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/in.d.ts +2 -2
  350. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/indexOfArray.d.ts +1 -1
  351. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/isArray.d.ts +1 -1
  352. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/last.d.ts +0 -4
  353. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/lastN.d.ts +1 -1
  354. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/map.d.ts +1 -1
  355. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/maxN.d.ts +1 -1
  356. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/minN.d.ts +1 -1
  357. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/range.d.ts +1 -1
  358. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/reduce.d.ts +2 -2
  359. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/reverseArray.d.ts +1 -1
  360. package/rust-client/node_modules/mingo/dist/types/operators/expression/array/slice.d.ts +1 -1
  361. package/rust-client/node_modules/mingo/dist/types/operators/expression/date/_internal.d.ts +31 -9
  362. package/rust-client/node_modules/mingo/dist/types/operators/expression/date/dateFromString.d.ts +2 -2
  363. package/rust-client/node_modules/mingo/dist/types/operators/expression/date/dateToParts.d.ts +2 -2
  364. package/rust-client/node_modules/mingo/dist/types/operators/expression/date/dateTrunc.d.ts +12 -0
  365. package/rust-client/node_modules/mingo/dist/types/operators/expression/date/index.d.ts +1 -0
  366. package/rust-client/node_modules/mingo/dist/types/operators/expression/misc/rand.d.ts +2 -2
  367. package/rust-client/node_modules/mingo/dist/types/operators/expression/object/mergeObjects.d.ts +2 -2
  368. package/rust-client/node_modules/mingo/dist/types/operators/expression/percentile.d.ts +1 -1
  369. package/rust-client/node_modules/mingo/dist/types/operators/expression/set/setIsSubset.d.ts +3 -1
  370. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/_internal.d.ts +4 -4
  371. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/indexOfBytes.d.ts +1 -1
  372. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/replaceAll.d.ts +1 -1
  373. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/replaceOne.d.ts +1 -1
  374. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/split.d.ts +1 -1
  375. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/strLenBytes.d.ts +1 -1
  376. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/strLenCP.d.ts +1 -1
  377. package/rust-client/node_modules/mingo/dist/types/operators/expression/string/substrBytes.d.ts +2 -0
  378. package/rust-client/node_modules/mingo/dist/types/operators/expression/type/_internal.d.ts +6 -2
  379. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/_internal.d.ts +4 -4
  380. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/addFields.d.ts +8 -5
  381. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/bucket.d.ts +8 -5
  382. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/bucketAuto.d.ts +8 -7
  383. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/count.d.ts +7 -5
  384. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/densify.d.ts +12 -0
  385. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/facet.d.ts +7 -1
  386. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/fill.d.ts +6 -3
  387. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/graphLookup.d.ts +13 -0
  388. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/group.d.ts +4 -2
  389. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/index.d.ts +2 -0
  390. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/limit.d.ts +3 -1
  391. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/lookup.d.ts +4 -2
  392. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/match.d.ts +4 -3
  393. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/merge.d.ts +3 -5
  394. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/out.d.ts +5 -3
  395. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/project.d.ts +4 -3
  396. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/redact.d.ts +1 -1
  397. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/replaceRoot.d.ts +5 -5
  398. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/replaceWith.d.ts +8 -1
  399. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/sample.d.ts +7 -5
  400. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/setWindowFields.d.ts +7 -5
  401. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/skip.d.ts +6 -4
  402. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/sort.d.ts +5 -3
  403. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/sortByCount.d.ts +5 -5
  404. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/unionWith.d.ts +3 -1
  405. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/unset.d.ts +2 -0
  406. package/rust-client/node_modules/mingo/dist/types/operators/pipeline/unwind.d.ts +5 -2
  407. package/rust-client/node_modules/mingo/dist/types/operators/query/evaluation/expr.d.ts +2 -2
  408. package/rust-client/node_modules/mingo/dist/types/operators/query/evaluation/jsonSchema.d.ts +2 -2
  409. package/rust-client/node_modules/mingo/dist/types/operators/query/evaluation/where.d.ts +2 -2
  410. package/rust-client/node_modules/mingo/dist/types/operators/update/_internal.d.ts +5 -5
  411. package/rust-client/node_modules/mingo/dist/types/operators/update/addToSet.d.ts +2 -2
  412. package/rust-client/node_modules/mingo/dist/types/operators/update/bit.d.ts +2 -2
  413. package/rust-client/node_modules/mingo/dist/types/operators/update/currentDate.d.ts +2 -2
  414. package/rust-client/node_modules/mingo/dist/types/operators/update/inc.d.ts +2 -2
  415. package/rust-client/node_modules/mingo/dist/types/operators/update/max.d.ts +2 -2
  416. package/rust-client/node_modules/mingo/dist/types/operators/update/min.d.ts +2 -2
  417. package/rust-client/node_modules/mingo/dist/types/operators/update/mul.d.ts +2 -2
  418. package/rust-client/node_modules/mingo/dist/types/operators/update/pop.d.ts +2 -2
  419. package/rust-client/node_modules/mingo/dist/types/operators/update/pull.d.ts +2 -2
  420. package/rust-client/node_modules/mingo/dist/types/operators/update/pullAll.d.ts +2 -2
  421. package/rust-client/node_modules/mingo/dist/types/operators/update/push.d.ts +2 -2
  422. package/rust-client/node_modules/mingo/dist/types/operators/update/rename.d.ts +2 -2
  423. package/rust-client/node_modules/mingo/dist/types/operators/update/set.d.ts +2 -2
  424. package/rust-client/node_modules/mingo/dist/types/operators/update/unset.d.ts +2 -2
  425. package/rust-client/node_modules/mingo/dist/types/operators/window/_internal.d.ts +5 -5
  426. package/rust-client/node_modules/mingo/dist/types/operators/window/denseRank.d.ts +2 -3
  427. package/rust-client/node_modules/mingo/dist/types/operators/window/derivative.d.ts +2 -3
  428. package/rust-client/node_modules/mingo/dist/types/operators/window/documentNumber.d.ts +2 -2
  429. package/rust-client/node_modules/mingo/dist/types/operators/window/expMovingAvg.d.ts +2 -2
  430. package/rust-client/node_modules/mingo/dist/types/operators/window/integral.d.ts +2 -2
  431. package/rust-client/node_modules/mingo/dist/types/operators/window/linearFill.d.ts +2 -2
  432. package/rust-client/node_modules/mingo/dist/types/operators/window/locf.d.ts +2 -2
  433. package/rust-client/node_modules/mingo/dist/types/operators/window/rank.d.ts +2 -2
  434. package/rust-client/node_modules/mingo/dist/types/operators/window/shift.d.ts +2 -2
  435. package/rust-client/node_modules/mingo/dist/types/query.d.ts +5 -7
  436. package/rust-client/node_modules/mingo/dist/types/types.d.ts +18 -15
  437. package/rust-client/node_modules/mingo/dist/types/updater.d.ts +9 -10
  438. package/rust-client/node_modules/mingo/dist/types/util.d.ts +102 -90
  439. package/rust-client/node_modules/mingo/package.json +1 -1
@@ -4,10 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
7
  var __copyProps = (to, from, except, desc) => {
12
8
  if (from && typeof from === "object" || typeof from === "function") {
13
9
  for (let key of __getOwnPropNames(from))
@@ -24,35 +20,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
20
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
21
  mod
26
22
  ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var basic_exports = {};
29
- __export(basic_exports, {
30
- BASIC_CONTEXT: () => BASIC_CONTEXT
31
- });
32
- module.exports = __toCommonJS(basic_exports);
33
23
  var import_core = require("../core");
34
24
  var booleanOperators = __toESM(require("../operators/expression/boolean"));
35
25
  var comparisonOperators = __toESM(require("../operators/expression/comparison"));
36
26
  var import_pipeline = require("../operators/pipeline");
37
27
  var projectionOperators = __toESM(require("../operators/projection"));
38
28
  var queryOperators = __toESM(require("../operators/query"));
39
- (0, import_core.useOperators)(import_core.OperatorType.EXPRESSION, {
29
+ (0, import_core.useOperators)("expression", {
40
30
  ...booleanOperators,
41
31
  ...comparisonOperators
42
32
  });
43
- (0, import_core.useOperators)(import_core.OperatorType.PIPELINE, {
33
+ (0, import_core.useOperators)("pipeline", {
44
34
  $project: import_pipeline.$project,
45
35
  $skip: import_pipeline.$skip,
46
36
  $limit: import_pipeline.$limit,
47
37
  $sort: import_pipeline.$sort
48
38
  });
49
- (0, import_core.useOperators)(import_core.OperatorType.PROJECTION, projectionOperators);
50
- (0, import_core.useOperators)(import_core.OperatorType.QUERY, queryOperators);
51
- const BASIC_CONTEXT = import_core.Context.init().addExpressionOps({
52
- ...booleanOperators,
53
- ...comparisonOperators
54
- }).addPipelineOps({ $project: import_pipeline.$project, $skip: import_pipeline.$skip, $limit: import_pipeline.$limit, $sort: import_pipeline.$sort }).addProjectionOps(projectionOperators).addQueryOps(queryOperators);
55
- // Annotate the CommonJS export names for ESM import in node:
56
- 0 && (module.exports = {
57
- BASIC_CONTEXT
58
- });
39
+ (0, import_core.useOperators)("projection", projectionOperators);
40
+ (0, import_core.useOperators)("query", queryOperators);
@@ -27,9 +27,9 @@ var pipelineOperators = __toESM(require("../operators/pipeline"));
27
27
  var projectionOperators = __toESM(require("../operators/projection"));
28
28
  var queryOperators = __toESM(require("../operators/query"));
29
29
  var windowOperators = __toESM(require("../operators/window"));
30
- (0, import_core.useOperators)(import_core.OperatorType.ACCUMULATOR, accumulatorOperators);
31
- (0, import_core.useOperators)(import_core.OperatorType.EXPRESSION, expressionOperators);
32
- (0, import_core.useOperators)(import_core.OperatorType.PIPELINE, pipelineOperators);
33
- (0, import_core.useOperators)(import_core.OperatorType.PROJECTION, projectionOperators);
34
- (0, import_core.useOperators)(import_core.OperatorType.QUERY, queryOperators);
35
- (0, import_core.useOperators)(import_core.OperatorType.WINDOW, windowOperators);
30
+ (0, import_core.useOperators)("accumulator", accumulatorOperators);
31
+ (0, import_core.useOperators)("expression", expressionOperators);
32
+ (0, import_core.useOperators)("pipeline", pipelineOperators);
33
+ (0, import_core.useOperators)("projection", projectionOperators);
34
+ (0, import_core.useOperators)("query", queryOperators);
35
+ (0, import_core.useOperators)("window", windowOperators);
@@ -19,20 +19,19 @@ var lazy_exports = {};
19
19
  __export(lazy_exports, {
20
20
  Iterator: () => Iterator,
21
21
  Lazy: () => Lazy,
22
- compose: () => compose
22
+ concat: () => concat
23
23
  });
24
24
  module.exports = __toCommonJS(lazy_exports);
25
25
  var import_util = require("./util");
26
26
  function Lazy(source) {
27
27
  return source instanceof Iterator ? source : new Iterator(source);
28
28
  }
29
- function compose(...iterators) {
29
+ function concat(...iterators) {
30
30
  let index = 0;
31
31
  return Lazy(() => {
32
32
  while (index < iterators.length) {
33
33
  const o = iterators[index].next();
34
- if (!o.done)
35
- return o;
34
+ if (!o.done) return o;
36
35
  index++;
37
36
  }
38
37
  return { done: true };
@@ -60,47 +59,42 @@ function createCallback(nextFn, iteratees, buffer) {
60
59
  let bufferIndex = 0;
61
60
  return function(storeResult) {
62
61
  try {
63
- outer:
64
- while (!done) {
65
- let o = nextFn();
66
- index++;
67
- let i = -1;
68
- const size = iteratees.length;
69
- let innerDone = false;
70
- while (++i < size) {
71
- const r = iteratees[i];
72
- switch (r.action) {
73
- case 0 /* MAP */:
74
- o = r.func(o, index);
75
- break;
76
- case 1 /* FILTER */:
77
- if (!r.func(o, index))
78
- continue outer;
79
- break;
80
- case 2 /* TAKE */:
81
- --r.count;
82
- if (!r.count)
83
- innerDone = true;
84
- break;
85
- case 3 /* DROP */:
86
- --r.count;
87
- if (!r.count)
88
- dropItem(iteratees, i);
89
- continue outer;
90
- default:
91
- break outer;
92
- }
93
- }
94
- done = innerDone;
95
- if (storeResult) {
96
- buffer[bufferIndex++] = o;
97
- } else {
98
- return { value: o, done: false };
62
+ outer: while (!done) {
63
+ let o = nextFn();
64
+ index++;
65
+ let i = -1;
66
+ const size = iteratees.length;
67
+ let innerDone = false;
68
+ while (++i < size) {
69
+ const r = iteratees[i];
70
+ switch (r.action) {
71
+ case 0 /* MAP */:
72
+ o = r.func(o, index);
73
+ break;
74
+ case 1 /* FILTER */:
75
+ if (!r.func(o, index)) continue outer;
76
+ break;
77
+ case 2 /* TAKE */:
78
+ --r.count;
79
+ if (!r.count) innerDone = true;
80
+ break;
81
+ case 3 /* DROP */:
82
+ --r.count;
83
+ if (!r.count) dropItem(iteratees, i);
84
+ continue outer;
85
+ default:
86
+ break outer;
99
87
  }
100
88
  }
89
+ done = innerDone;
90
+ if (storeResult) {
91
+ buffer[bufferIndex++] = o;
92
+ } else {
93
+ return { value: o, done: false };
94
+ }
95
+ }
101
96
  } catch (e) {
102
- if (e !== DONE)
103
- throw e;
97
+ if (e !== DONE) throw e;
104
98
  }
105
99
  done = true;
106
100
  return { done };
@@ -115,8 +109,8 @@ class Iterator {
115
109
  * @param {Function} fn An optional transformation function
116
110
  */
117
111
  constructor(source) {
118
- this.iteratees = [];
119
- this.yieldedValues = [];
112
+ this.#iteratees = [];
113
+ this.#yieldedValues = [];
120
114
  this.isDone = false;
121
115
  let nextVal;
122
116
  if (source instanceof Function) {
@@ -126,17 +120,15 @@ class Iterator {
126
120
  const src = source;
127
121
  nextVal = () => {
128
122
  const o = src.next();
129
- if (o.done)
130
- throw DONE;
123
+ if (o.done) throw DONE;
131
124
  return o.value;
132
125
  };
133
- } else if (source instanceof Array) {
126
+ } else if ((0, import_util.isArray)(source)) {
134
127
  const data = source;
135
128
  const size = data.length;
136
129
  let index = 0;
137
130
  nextVal = () => {
138
- if (index < size)
139
- return data[index++];
131
+ if (index < size) return data[index++];
140
132
  throw DONE;
141
133
  };
142
134
  } else if (!(source instanceof Function)) {
@@ -144,21 +136,28 @@ class Iterator {
144
136
  `Lazy must be initialized with an array, generator, or function.`
145
137
  );
146
138
  }
147
- this.getNext = createCallback(nextVal, this.iteratees, this.yieldedValues);
139
+ this.#getNext = createCallback(
140
+ nextVal,
141
+ this.#iteratees,
142
+ this.#yieldedValues
143
+ );
148
144
  }
145
+ #iteratees;
146
+ #yieldedValues;
147
+ #getNext;
149
148
  /**
150
149
  * Add an iteratee to this lazy sequence
151
150
  */
152
151
  push(action, value) {
153
152
  if (typeof value === "function") {
154
- this.iteratees.push({ action, func: value });
153
+ this.#iteratees.push({ action, func: value });
155
154
  } else if (typeof value === "number") {
156
- this.iteratees.push({ action, count: value });
155
+ this.#iteratees.push({ action, count: value });
157
156
  }
158
157
  return this;
159
158
  }
160
159
  next() {
161
- return this.getNext();
160
+ return this.#getNext();
162
161
  }
163
162
  // Iteratees methods
164
163
  /**
@@ -194,7 +193,7 @@ class Iterator {
194
193
  * Returns a new lazy object with results of the transformation
195
194
  * The entire sequence is realized.
196
195
  *
197
- * @param {Callback<Source, RawArray>} fn Tranform function of type (Array) => (Any)
196
+ * @param {Callback<Source, Any[]>} fn Tranform function of type (Array) => (Any)
198
197
  */
199
198
  transform(fn) {
200
199
  const self = this;
@@ -214,9 +213,9 @@ class Iterator {
214
213
  */
215
214
  value() {
216
215
  if (!this.isDone) {
217
- this.isDone = this.getNext(true).done;
216
+ this.isDone = this.#getNext(true).done;
218
217
  }
219
- return this.yieldedValues;
218
+ return this.#yieldedValues;
220
219
  }
221
220
  /**
222
221
  * Execute the funcion for each value. Will stop when an execution returns false.
@@ -226,10 +225,8 @@ class Iterator {
226
225
  each(f) {
227
226
  for (; ; ) {
228
227
  const o = this.next();
229
- if (o.done)
230
- break;
231
- if (f(o.value) === false)
232
- return false;
228
+ if (o.done) break;
229
+ if (f(o.value) === false) return false;
233
230
  }
234
231
  return true;
235
232
  }
@@ -268,5 +265,5 @@ class Iterator {
268
265
  0 && (module.exports = {
269
266
  Iterator,
270
267
  Lazy,
271
- compose
268
+ concat
272
269
  });
@@ -58,13 +58,10 @@ function createExpressionOperator(predicate) {
58
58
  };
59
59
  }
60
60
  function $eq(a, b, options) {
61
- if ((0, import_util.isEqual)(a, b))
62
- return true;
63
- if ((0, import_util.isNil)(a) && (0, import_util.isNil)(b))
64
- return true;
65
- if (a instanceof Array) {
66
- const eq = import_util.isEqual.bind(null, b);
67
- return a.some(eq) || (0, import_util.flatten)(a, options?.depth).some(eq);
61
+ if ((0, import_util.isEqual)(a, b)) return true;
62
+ if ((0, import_util.isNil)(a) && (0, import_util.isNil)(b)) return true;
63
+ if ((0, import_util.isArray)(a)) {
64
+ return a.some((v) => (0, import_util.isEqual)(v, b)) || (0, import_util.flatten)(a, options?.depth).some((v) => (0, import_util.isEqual)(v, b));
68
65
  }
69
66
  return false;
70
67
  }
@@ -72,8 +69,7 @@ function $ne(a, b, options) {
72
69
  return !$eq(a, b, options);
73
70
  }
74
71
  function $in(a, b, options) {
75
- if ((0, import_util.isNil)(a))
76
- return b.some((v) => v === null);
72
+ if ((0, import_util.isNil)(a)) return b.some((v) => v === null);
77
73
  return (0, import_util.intersection)([(0, import_util.ensureArray)(a), b], options?.hashFunction).length > 0;
78
74
  }
79
75
  function $nin(a, b, options) {
@@ -110,11 +106,10 @@ function $all(values, queries, options) {
110
106
  }
111
107
  let matched = true;
112
108
  for (const query of queries) {
113
- if (!matched)
114
- break;
115
- if ((0, import_util.isObject)(query) && (0, import_util.inArray)(Object.keys(query), "$elemMatch")) {
109
+ if (!matched) break;
110
+ if ((0, import_util.isObject)(query) && Object.keys(query).includes("$elemMatch")) {
116
111
  matched = $elemMatch(values, query["$elemMatch"], options);
117
- } else if (query instanceof RegExp) {
112
+ } else if ((0, import_util.isRegExp)(query)) {
118
113
  matched = values.some((s) => typeof s === "string" && query.test(s));
119
114
  } else {
120
115
  matched = values.some((v) => (0, import_util.isEqual)(query, v));
@@ -146,22 +141,14 @@ function $elemMatch(a, b, options) {
146
141
  return false;
147
142
  }
148
143
  const isNull = (a) => a === null;
149
- const isInt = (a) => (0, import_util.isNumber)(a) && a >= import_util.MIN_INT && a <= import_util.MAX_INT && a.toString().indexOf(".") === -1;
150
- const isLong = (a) => (0, import_util.isNumber)(a) && a >= import_util.MIN_LONG && a <= import_util.MAX_LONG && a.toString().indexOf(".") === -1;
151
144
  const compareFuncs = {
152
145
  array: import_util.isArray,
153
- bool: import_util.isBoolean,
154
146
  boolean: import_util.isBoolean,
155
147
  date: import_util.isDate,
156
- decimal: import_util.isNumber,
157
- double: import_util.isNumber,
158
- int: isInt,
159
- long: isLong,
160
148
  number: import_util.isNumber,
161
149
  null: isNull,
162
150
  object: import_util.isObject,
163
151
  regex: import_util.isRegExp,
164
- regexp: import_util.isRegExp,
165
152
  string: import_util.isString,
166
153
  // added for completeness
167
154
  undefined: import_util.isNil,
@@ -181,8 +168,8 @@ const compareFuncs = {
181
168
  9: import_util.isDate,
182
169
  10: isNull,
183
170
  11: import_util.isRegExp,
184
- 16: isInt,
185
- 18: isLong,
171
+ 16: import_util.isNumber,
172
+ 18: import_util.isNumber,
186
173
  19: import_util.isNumber
187
174
  //decimal
188
175
  };
@@ -191,10 +178,10 @@ function compareType(a, b, _) {
191
178
  return f ? f(a) : false;
192
179
  }
193
180
  function $type(a, b, options) {
194
- return Array.isArray(b) ? b.findIndex((t) => compareType(a, t, options)) >= 0 : compareType(a, b, options);
181
+ return (0, import_util.isArray)(b) ? b.findIndex((t) => compareType(a, t, options)) >= 0 : compareType(a, b, options);
195
182
  }
196
183
  function compare(a, b, f) {
197
- return (0, import_util.ensureArray)(a).some((x) => (0, import_util.getType)(x) === (0, import_util.getType)(b) && f(x, b));
184
+ return (0, import_util.ensureArray)(a).some((x) => (0, import_util.typeOf)(x) === (0, import_util.typeOf)(b) && f(x, b));
198
185
  }
199
186
  // Annotate the CommonJS export names for ESM import in node:
200
187
  0 && (module.exports = {
@@ -30,10 +30,8 @@ function stddev(data, sampled = true) {
30
30
  );
31
31
  }
32
32
  function covariance(dataset, sampled = true) {
33
- if (!dataset)
34
- return null;
35
- if (dataset.length < 2)
36
- return sampled ? null : 0;
33
+ if (!dataset) return null;
34
+ if (dataset.length < 2) return sampled ? null : 0;
37
35
  let meanX = 0;
38
36
  let meanY = 0;
39
37
  for (const [x, y] of dataset) {
@@ -27,8 +27,7 @@ const $accumulator = (collection, expr, options) => {
27
27
  !!options && options.scriptEnabled,
28
28
  "$accumulator operator requires 'scriptEnabled' option to be true"
29
29
  );
30
- if (collection.length == 0)
31
- return expr.initArgs;
30
+ if (collection.length == 0) return expr.initArgs;
32
31
  const copts = import_core.ComputeOptions.init(options);
33
32
  const initArgs = (0, import_core.computeValue)(
34
33
  {},
@@ -22,7 +22,9 @@ __export(first_exports, {
22
22
  module.exports = __toCommonJS(first_exports);
23
23
  var import_core = require("../../core");
24
24
  const $first = (collection, expr, options) => {
25
- return collection.length > 0 ? (0, import_core.computeValue)(collection[0], expr, null, options) : void 0;
25
+ if (collection.length === 0) return void 0;
26
+ const copts = import_core.ComputeOptions.init(options).update(collection[0]);
27
+ return (0, import_core.computeValue)(collection[0], expr, null, copts);
26
28
  };
27
29
  // Annotate the CommonJS export names for ESM import in node:
28
30
  0 && (module.exports = {
@@ -22,7 +22,10 @@ __export(last_exports, {
22
22
  module.exports = __toCommonJS(last_exports);
23
23
  var import_core = require("../../core");
24
24
  const $last = (collection, expr, options) => {
25
- return collection.length > 0 ? (0, import_core.computeValue)(collection[collection.length - 1], expr, null, options) : void 0;
25
+ if (collection.length === 0) return void 0;
26
+ const obj = collection[collection.length - 1];
27
+ const copts = import_core.ComputeOptions.init(options).update(obj);
28
+ return (0, import_core.computeValue)(obj, expr, null, copts);
26
29
  };
27
30
  // Annotate the CommonJS export names for ESM import in node:
28
31
  0 && (module.exports = {
@@ -23,12 +23,15 @@ module.exports = __toCommonJS(max_exports);
23
23
  var import_util = require("../../util");
24
24
  var import_push = require("./push");
25
25
  const $max = (collection, expr, options) => {
26
- const nums = (0, import_push.$push)(collection, expr, options).filter(import_util.isNotNaN);
27
- const n = nums.reduce(
28
- (acc, n2) => (0, import_util.compare)(n2, acc) >= 0 ? n2 : acc,
29
- -Infinity
30
- );
31
- return n === -Infinity ? void 0 : n;
26
+ const items = (0, import_push.$push)(collection, expr, options);
27
+ if ((0, import_util.isEmpty)(items)) return null;
28
+ (0, import_util.assert)((0, import_util.isArray)(items), "$max: input must resolve to array");
29
+ let max = items[0];
30
+ for (const n of items) {
31
+ if ((0, import_util.isNil)(n) || isNaN(n)) continue;
32
+ if ((0, import_util.compare)(n, max) >= 0) max = n;
33
+ }
34
+ return max;
32
35
  };
33
36
  // Annotate the CommonJS export names for ESM import in node:
34
37
  0 && (module.exports = {
@@ -20,8 +20,12 @@ __export(mergeObjects_exports, {
20
20
  $mergeObjects: () => $mergeObjects
21
21
  });
22
22
  module.exports = __toCommonJS(mergeObjects_exports);
23
+ var import_core = require("../../core");
23
24
  var import_mergeObjects = require("../expression/object/mergeObjects");
24
- const $mergeObjects = (collection, _, options) => (0, import_mergeObjects.$mergeObjects)({ docs: collection }, "$docs", options);
25
+ const $mergeObjects = (collection, expr, options) => {
26
+ const arr = (0, import_core.computeValue)(collection, expr, null, options);
27
+ return (0, import_mergeObjects.$mergeObjects)(null, arr, options);
28
+ };
25
29
  // Annotate the CommonJS export names for ESM import in node:
26
30
  0 && (module.exports = {
27
31
  $mergeObjects
@@ -23,9 +23,15 @@ module.exports = __toCommonJS(min_exports);
23
23
  var import_util = require("../../util");
24
24
  var import_push = require("./push");
25
25
  const $min = (collection, expr, options) => {
26
- const nums = (0, import_push.$push)(collection, expr, options).filter(import_util.isNotNaN);
27
- const n = nums.reduce((acc, n2) => (0, import_util.compare)(n2, acc) <= 0 ? n2 : acc, Infinity);
28
- return n === Infinity ? void 0 : n;
26
+ const items = (0, import_push.$push)(collection, expr, options);
27
+ if ((0, import_util.isEmpty)(items)) return null;
28
+ (0, import_util.assert)((0, import_util.isArray)(items), "$min: input must resolve to array");
29
+ let min = items[0];
30
+ for (const n of items) {
31
+ if ((0, import_util.isNil)(n) || isNaN(n)) continue;
32
+ if ((0, import_util.compare)(n, min) <= 0) min = n;
33
+ }
34
+ return min;
29
35
  };
30
36
  // Annotate the CommonJS export names for ESM import in node:
31
37
  0 && (module.exports = {
@@ -23,8 +23,7 @@ module.exports = __toCommonJS(push_exports);
23
23
  var import_core = require("../../core");
24
24
  var import_util = require("../../util");
25
25
  const $push = (collection, expr, options) => {
26
- if ((0, import_util.isNil)(expr))
27
- return collection;
26
+ if ((0, import_util.isNil)(expr)) return collection;
28
27
  const copts = import_core.ComputeOptions.init(options);
29
28
  return collection.map(
30
29
  (obj) => (0, import_core.computeValue)(obj, expr, null, copts.update(obj))
@@ -23,10 +23,8 @@ module.exports = __toCommonJS(sum_exports);
23
23
  var import_util = require("../../util");
24
24
  var import_push = require("./push");
25
25
  const $sum = (collection, expr, options) => {
26
- if (!(0, import_util.isArray)(collection))
27
- return 0;
28
- if ((0, import_util.isNumber)(expr))
29
- return collection.length * expr;
26
+ if (!(0, import_util.isArray)(collection)) return 0;
27
+ if ((0, import_util.isNumber)(expr)) return collection.length * expr;
30
28
  const nums = (0, import_push.$push)(collection, expr, options).filter(import_util.isNumber);
31
29
  return nums.reduce((acc, n) => acc + n, 0);
32
30
  };
@@ -24,17 +24,16 @@ var import_core = require("../../../core");
24
24
  var import_util = require("../../../util");
25
25
  const $add = (obj, expr, options) => {
26
26
  const args = (0, import_core.computeValue)(obj, expr, null, options);
27
- let foundDate = false;
28
- const result = args.reduce((acc, val) => {
29
- if ((0, import_util.isDate)(val)) {
30
- (0, import_util.assert)(!foundDate, "'$add' can only have one date value");
31
- foundDate = true;
32
- val = val.getTime();
27
+ let hasDate = false;
28
+ let sum = 0;
29
+ for (const n of args) {
30
+ if ((0, import_util.isDate)(n)) {
31
+ (0, import_util.assert)(!hasDate, "'$add' can only have one date value");
32
+ hasDate = true;
33
33
  }
34
- acc += val;
35
- return acc;
36
- }, 0);
37
- return foundDate ? new Date(result) : result;
34
+ sum += +n;
35
+ }
36
+ return hasDate ? new Date(sum) : sum;
38
37
  };
39
38
  // Annotate the CommonJS export names for ESM import in node:
40
39
  0 && (module.exports = {
@@ -24,8 +24,7 @@ var import_core = require("../../../core");
24
24
  var import_util = require("../../../util");
25
25
  const $ceil = (obj, expr, options) => {
26
26
  const n = (0, import_core.computeValue)(obj, expr, null, options);
27
- if ((0, import_util.isNil)(n))
28
- return null;
27
+ if ((0, import_util.isNil)(n)) return null;
29
28
  (0, import_util.assert)((0, import_util.isNumber)(n) || isNaN(n), "$ceil expression must resolve to a number.");
30
29
  return Math.ceil(n);
31
30
  };
@@ -24,8 +24,7 @@ var import_core = require("../../../core");
24
24
  var import_util = require("../../../util");
25
25
  const $exp = (obj, expr, options) => {
26
26
  const n = (0, import_core.computeValue)(obj, expr, null, options);
27
- if ((0, import_util.isNil)(n))
28
- return null;
27
+ if ((0, import_util.isNil)(n)) return null;
29
28
  (0, import_util.assert)((0, import_util.isNumber)(n) || isNaN(n), "$exp expression must resolve to a number.");
30
29
  return Math.exp(n);
31
30
  };
@@ -24,8 +24,7 @@ var import_core = require("../../../core");
24
24
  var import_util = require("../../../util");
25
25
  const $floor = (obj, expr, options) => {
26
26
  const n = (0, import_core.computeValue)(obj, expr, null, options);
27
- if ((0, import_util.isNil)(n))
28
- return null;
27
+ if ((0, import_util.isNil)(n)) return null;
29
28
  (0, import_util.assert)(
30
29
  (0, import_util.isNumber)(n) || isNaN(n),
31
30
  "$floor expression must resolve to a number."
@@ -24,8 +24,7 @@ var import_core = require("../../../core");
24
24
  var import_util = require("../../../util");
25
25
  const $ln = (obj, expr, options) => {
26
26
  const n = (0, import_core.computeValue)(obj, expr, null, options);
27
- if ((0, import_util.isNil)(n))
28
- return null;
27
+ if ((0, import_util.isNil)(n)) return null;
29
28
  (0, import_util.assert)((0, import_util.isNumber)(n) || isNaN(n), "$ln expression must resolve to a number.");
30
29
  return Math.log(n);
31
30
  };
@@ -26,8 +26,7 @@ const $log = (obj, expr, options) => {
26
26
  const args = (0, import_core.computeValue)(obj, expr, null, options);
27
27
  const msg = "$log expression must resolve to array(2) of numbers";
28
28
  (0, import_util.assert)((0, import_util.isArray)(args) && args.length === 2, msg);
29
- if (args.some(import_util.isNil))
30
- return null;
29
+ if (args.some(import_util.isNil)) return null;
31
30
  (0, import_util.assert)(args.some(isNaN) || args.every(import_util.isNumber), msg);
32
31
  return Math.log10(args[0]) / Math.log10(args[1]);
33
32
  };
@@ -24,8 +24,7 @@ var import_core = require("../../../core");
24
24
  var import_util = require("../../../util");
25
25
  const $log10 = (obj, expr, options) => {
26
26
  const n = (0, import_core.computeValue)(obj, expr, null, options);
27
- if ((0, import_util.isNil)(n))
28
- return null;
27
+ if ((0, import_util.isNil)(n)) return null;
29
28
  (0, import_util.assert)(
30
29
  (0, import_util.isNumber)(n) || isNaN(n),
31
30
  "$log10 expression must resolve to a number."
@@ -27,8 +27,7 @@ const $round = (obj, expr, options) => {
27
27
  const args = (0, import_core.computeValue)(obj, expr, null, options);
28
28
  const num = args[0];
29
29
  const place = args[1];
30
- if ((0, import_util.isNil)(num) || isNaN(num) || Math.abs(num) === Infinity)
31
- return num;
30
+ if ((0, import_util.isNil)(num) || isNaN(num) || Math.abs(num) === Infinity) return num;
32
31
  (0, import_util.assert)((0, import_util.isNumber)(num), "$round expression must resolve to a number.");
33
32
  return (0, import_internal.truncate)(num, place, true);
34
33
  };
@@ -24,8 +24,7 @@ var import_core = require("../../../core");
24
24
  var import_util = require("../../../util");
25
25
  const $sqrt = (obj, expr, options) => {
26
26
  const n = (0, import_core.computeValue)(obj, expr, null, options);
27
- if ((0, import_util.isNil)(n))
28
- return null;
27
+ if ((0, import_util.isNil)(n)) return null;
29
28
  (0, import_util.assert)(
30
29
  (0, import_util.isNumber)(n) && n > 0 || isNaN(n),
31
30
  "$sqrt expression must resolve to non-negative number."
@@ -21,9 +21,12 @@ __export(subtract_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(subtract_exports);
23
23
  var import_core = require("../../../core");
24
+ var import_util = require("../../../util");
24
25
  const $subtract = (obj, expr, options) => {
25
- const args = (0, import_core.computeValue)(obj, expr, null, options);
26
- return args[0] - args[1];
26
+ const [a, b] = (0, import_core.computeValue)(obj, expr, null, options);
27
+ if ((0, import_util.isNumber)(a) && (0, import_util.isNumber)(b) || (0, import_util.isDate)(a) && (0, import_util.isDate)(b)) return +a - +b;
28
+ if ((0, import_util.isDate)(a) && (0, import_util.isNumber)(b)) return new Date(+a - b);
29
+ (0, import_util.assert)(false, "$subtract: must resolve to number/date.");
27
30
  };
28
31
  // Annotate the CommonJS export names for ESM import in node:
29
32
  0 && (module.exports = {
@@ -27,8 +27,7 @@ const $trunc = (obj, expr, options) => {
27
27
  const arr = (0, import_core.computeValue)(obj, expr, null, options);
28
28
  const num = arr[0];
29
29
  const places = arr[1];
30
- if ((0, import_util.isNil)(num) || isNaN(num) || Math.abs(num) === Infinity)
31
- return num;
30
+ if ((0, import_util.isNil)(num) || isNaN(num) || Math.abs(num) === Infinity) return num;
32
31
  (0, import_util.assert)((0, import_util.isNumber)(num), "$trunc expression must resolve to a number.");
33
32
  (0, import_util.assert)(
34
33
  (0, import_util.isNil)(places) || (0, import_util.isNumber)(places) && places > -20 && places < 100,