@valkey/valkey-glide-darwin-arm64 1.2.0 → 1.2.1-rc1
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.
- package/build-ts/src/BaseClient.d.ts +27 -1
- package/build-ts/src/BaseClient.js +9 -1
- package/build-ts/src/BaseClient.js.map +1 -1
- package/build-ts/src/Commands.d.ts +12 -0
- package/build-ts/src/Commands.js.map +1 -1
- package/build-ts/src/GlideClient.d.ts +17 -1
- package/build-ts/src/GlideClient.js +3 -0
- package/build-ts/src/GlideClient.js.map +1 -1
- package/build-ts/src/GlideClusterClient.d.ts +23 -7
- package/build-ts/src/GlideClusterClient.js +8 -3
- package/build-ts/src/GlideClusterClient.js.map +1 -1
- package/build-ts/src/ProtobufMessage.js +46 -1
- package/build-ts/src/ProtobufMessage.js.map +1 -1
- package/node_modules/glide-rs/glide-rs.darwin-arm64.node +0 -0
- package/node_modules/glide-rs/index.d.ts +2 -1
- package/node_modules/glide-rs/index.js +4 -2
- package/npm/glide/index.ts +4 -3
- package/npm/glide/package.json +0 -1
- package/package.json +2 -2
- package/rust-client/node_modules/mingo/README.md +58 -53
- package/rust-client/node_modules/mingo/dist/cjs/aggregator.js +18 -20
- package/rust-client/node_modules/mingo/dist/cjs/core.js +179 -190
- package/rust-client/node_modules/mingo/dist/cjs/cursor.js +34 -34
- package/rust-client/node_modules/mingo/dist/cjs/index.js +11 -3
- package/rust-client/node_modules/mingo/dist/cjs/init/basic.js +4 -22
- package/rust-client/node_modules/mingo/dist/cjs/init/system.js +6 -6
- package/rust-client/node_modules/mingo/dist/cjs/lazy.js +58 -61
- package/rust-client/node_modules/mingo/dist/cjs/operators/_predicates.js +12 -25
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/_internal.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/accumulator.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/first.js +3 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/last.js +4 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/max.js +9 -6
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/mergeObjects.js +5 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/min.js +9 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/push.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/sum.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/add.js +9 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/ceil.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/exp.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/floor.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/ln.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/log.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/log10.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/round.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/sqrt.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/subtract.js +5 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/arithmetic/trunc.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/arrayElemAt.js +2 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/arrayToObject.js +3 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/concatArrays.js +11 -5
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/filter.js +1 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/first.js +8 -8
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/firstN.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/in.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/indexOfArray.js +5 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/isArray.js +2 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/last.js +8 -8
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/lastN.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/map.js +1 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/maxN.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/minN.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/reduce.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/reverseArray.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/sortArray.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/zip.js +4 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/bitwise/_internal.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/bitwise/bitNot.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/boolean/not.js +3 -5
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/comparison/cmp.js +6 -5
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/conditional/cond.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/conditional/ifNull.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/conditional/switch.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/_internal.js +157 -65
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateAdd.js +1 -29
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateDiff.js +32 -20
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateFromParts.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateFromString.js +13 -9
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateToString.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dateTrunc.js +107 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/dayOfYear.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/index.js +2 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/isoWeekYear.js +1 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/date/week.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/misc/getField.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/object/mergeObjects.js +9 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/object/objectToArray.js +5 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/object/setField.js +11 -7
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setDifference.js +9 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setEquals.js +17 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setIntersection.js +2 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setIsSubset.js +15 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/set/setUnion.js +4 -5
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/_internal.js +4 -8
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/concat.js +5 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/indexOfBytes.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/replaceAll.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/replaceOne.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/split.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/strcasecmp.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/substr.js +4 -14
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/string/substrBytes.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/trignometry/atan2.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/trignometry/cosh.js +0 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/_internal.js +20 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/convert.js +3 -5
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toBool.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toDate.js +3 -6
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toDouble.js +5 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toInt.js +1 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toLong.js +1 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/toString.js +11 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/type/type.js +11 -14
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/addFields.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/bucket.js +53 -53
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/bucketAuto.js +670 -65
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/count.js +2 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/densify.js +196 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/graphLookup.js +78 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/group.js +6 -9
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/index.js +4 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/limit.js +1 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/lookup.js +47 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/merge.js +7 -13
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/out.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/project.js +19 -38
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/redact.js +3 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/replaceWith.js +9 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/sample.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/setWindowFields.js +10 -20
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/skip.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/sort.js +10 -19
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/sortByCount.js +5 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/unionWith.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/unset.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/unwind.js +5 -9
- package/rust-client/node_modules/mingo/dist/cjs/operators/projection/elemMatch.js +2 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/projection/slice.js +2 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/query/bitwise/_internal.js +4 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/_internal.js +8 -14
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/addToSet.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/bit.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/max.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/min.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/pop.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/pull.js +2 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/push.js +3 -9
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/rename.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/set.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/unset.js +1 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/_internal.js +2 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/denseRank.js +8 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/derivative.js +4 -6
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/documentNumber.js +1 -3
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/expMovingAvg.js +4 -6
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/integral.js +3 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/linearFill.js +4 -6
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/locf.js +3 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/rank.js +8 -10
- package/rust-client/node_modules/mingo/dist/cjs/operators/window/shift.js +2 -2
- package/rust-client/node_modules/mingo/dist/cjs/query.js +20 -19
- package/rust-client/node_modules/mingo/dist/cjs/types.js +22 -0
- package/rust-client/node_modules/mingo/dist/cjs/updater.js +6 -5
- package/rust-client/node_modules/mingo/dist/cjs/util.js +265 -388
- package/rust-client/node_modules/mingo/dist/esm/aggregator.js +18 -21
- package/rust-client/node_modules/mingo/dist/esm/core.js +179 -192
- package/rust-client/node_modules/mingo/dist/esm/cursor.js +35 -35
- package/rust-client/node_modules/mingo/dist/esm/index.js +8 -2
- package/rust-client/node_modules/mingo/dist/esm/init/basic.js +5 -12
- package/rust-client/node_modules/mingo/dist/esm/init/system.js +7 -7
- package/rust-client/node_modules/mingo/dist/esm/lazy.js +58 -61
- package/rust-client/node_modules/mingo/dist/esm/operators/_predicates.js +14 -32
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/_internal.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/accumulator.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/first.js +7 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/last.js +8 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/max.js +10 -7
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/mergeObjects.js +5 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/min.js +10 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/push.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/sum.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/add.js +9 -10
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/ceil.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/exp.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/floor.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/ln.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/log.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/log10.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/round.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/sqrt.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/subtract.js +5 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/arithmetic/trunc.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/arrayElemAt.js +3 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/arrayToObject.js +3 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/concatArrays.js +12 -6
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/filter.js +2 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/first.js +10 -13
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/firstN.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/in.js +1 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/indexOfArray.js +5 -10
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/isArray.js +2 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/last.js +10 -13
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/lastN.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/map.js +2 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/maxN.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/minN.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/reduce.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/reverseArray.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/sortArray.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/zip.js +4 -10
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/bitwise/_internal.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/bitwise/bitNot.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/boolean/not.js +4 -6
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/comparison/cmp.js +6 -5
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/conditional/cond.js +2 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/conditional/ifNull.js +1 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/conditional/switch.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/_internal.js +140 -61
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateAdd.js +2 -35
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateDiff.js +43 -21
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateFromParts.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateFromString.js +13 -11
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateToString.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dateTrunc.js +97 -0
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/dayOfYear.js +2 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/index.js +1 -0
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/isoWeekYear.js +2 -5
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/date/week.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/misc/getField.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/object/mergeObjects.js +10 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/object/objectToArray.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/object/setField.js +11 -7
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setDifference.js +10 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setEquals.js +18 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setIntersection.js +3 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setIsSubset.js +16 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/set/setUnion.js +5 -6
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/_internal.js +4 -8
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/concat.js +6 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/indexOfBytes.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/replaceAll.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/replaceOne.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/split.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/strcasecmp.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/substr.js +4 -14
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/string/substrBytes.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/trignometry/atan2.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/trignometry/cosh.js +0 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/_internal.js +17 -11
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/convert.js +3 -5
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toBool.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toDate.js +4 -7
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toDouble.js +6 -11
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toInt.js +2 -5
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toLong.js +2 -5
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/toString.js +12 -11
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/type/type.js +12 -15
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/addFields.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/bucket.js +54 -61
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/bucketAuto.js +679 -66
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/count.js +3 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/densify.js +183 -0
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/graphLookup.js +55 -0
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/group.js +6 -9
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/index.js +2 -0
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/limit.js +1 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/lookup.js +55 -11
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/merge.js +9 -14
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/out.js +2 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/project.js +21 -42
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/redact.js +3 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/replaceWith.js +9 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/sample.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/setWindowFields.js +12 -23
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/skip.js +1 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/sort.js +11 -20
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/sortByCount.js +5 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/unionWith.js +2 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/unset.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/unwind.js +6 -9
- package/rust-client/node_modules/mingo/dist/esm/operators/projection/elemMatch.js +3 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/projection/slice.js +2 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/query/bitwise/_internal.js +4 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/update/_internal.js +9 -14
- package/rust-client/node_modules/mingo/dist/esm/operators/update/addToSet.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/bit.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/max.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/min.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/pop.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/pull.js +2 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/update/push.js +3 -9
- package/rust-client/node_modules/mingo/dist/esm/operators/update/rename.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/set.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/unset.js +1 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/window/_internal.js +2 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/window/denseRank.js +8 -10
- package/rust-client/node_modules/mingo/dist/esm/operators/window/derivative.js +4 -6
- package/rust-client/node_modules/mingo/dist/esm/operators/window/documentNumber.js +1 -3
- package/rust-client/node_modules/mingo/dist/esm/operators/window/expMovingAvg.js +4 -6
- package/rust-client/node_modules/mingo/dist/esm/operators/window/integral.js +3 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/window/linearFill.js +4 -6
- package/rust-client/node_modules/mingo/dist/esm/operators/window/locf.js +3 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/window/rank.js +8 -10
- package/rust-client/node_modules/mingo/dist/esm/operators/window/shift.js +2 -2
- package/rust-client/node_modules/mingo/dist/esm/query.js +22 -32
- package/rust-client/node_modules/mingo/dist/esm/types.js +14 -0
- package/rust-client/node_modules/mingo/dist/esm/updater.js +5 -5
- package/rust-client/node_modules/mingo/dist/esm/util.js +263 -377
- package/rust-client/node_modules/mingo/dist/types/aggregator.d.ts +7 -9
- package/rust-client/node_modules/mingo/dist/types/core.d.ts +41 -52
- package/rust-client/node_modules/mingo/dist/types/cursor.d.ts +6 -12
- package/rust-client/node_modules/mingo/dist/types/index.d.ts +8 -4
- package/rust-client/node_modules/mingo/dist/types/init/basic.d.ts +1 -6
- package/rust-client/node_modules/mingo/dist/types/lazy.d.ts +19 -15
- package/rust-client/node_modules/mingo/dist/types/operators/_predicates.d.ts +20 -20
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/accumulator.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/addToSet.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/avg.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/bottom.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/bottomN.d.ts +4 -4
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/count.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/covariancePop.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/covarianceSamp.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/first.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/firstN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/last.d.ts +4 -4
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/lastN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/max.d.ts +4 -5
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/maxN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/mergeObjects.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/min.d.ts +4 -5
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/minN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/percentile.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/push.d.ts +4 -4
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/stdDevPop.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/stdDevSamp.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/sum.d.ts +5 -3
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/top.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/accumulator/topN.d.ts +4 -4
- package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/add.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/multiply.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/pow.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/arithmetic/subtract.d.ts +1 -0
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/arrayElemAt.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/concatArrays.d.ts +3 -3
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/filter.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/first.d.ts +0 -4
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/firstN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/in.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/indexOfArray.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/isArray.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/last.d.ts +0 -4
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/lastN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/map.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/maxN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/minN.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/range.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/reduce.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/reverseArray.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/array/slice.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/date/_internal.d.ts +31 -9
- package/rust-client/node_modules/mingo/dist/types/operators/expression/date/dateFromString.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/expression/date/dateToParts.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/expression/date/dateTrunc.d.ts +12 -0
- package/rust-client/node_modules/mingo/dist/types/operators/expression/date/index.d.ts +1 -0
- package/rust-client/node_modules/mingo/dist/types/operators/expression/misc/rand.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/expression/object/mergeObjects.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/expression/percentile.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/set/setIsSubset.d.ts +3 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/_internal.d.ts +4 -4
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/indexOfBytes.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/replaceAll.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/replaceOne.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/split.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/strLenBytes.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/strLenCP.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/expression/string/substrBytes.d.ts +2 -0
- package/rust-client/node_modules/mingo/dist/types/operators/expression/type/_internal.d.ts +6 -2
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/_internal.d.ts +4 -4
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/addFields.d.ts +8 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/bucket.d.ts +8 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/bucketAuto.d.ts +8 -7
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/count.d.ts +7 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/densify.d.ts +12 -0
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/facet.d.ts +7 -1
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/fill.d.ts +6 -3
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/graphLookup.d.ts +13 -0
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/group.d.ts +4 -2
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/index.d.ts +2 -0
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/limit.d.ts +3 -1
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/lookup.d.ts +4 -2
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/match.d.ts +4 -3
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/merge.d.ts +3 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/out.d.ts +5 -3
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/project.d.ts +4 -3
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/redact.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/replaceRoot.d.ts +5 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/replaceWith.d.ts +8 -1
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/sample.d.ts +7 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/setWindowFields.d.ts +7 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/skip.d.ts +6 -4
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/sort.d.ts +5 -3
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/sortByCount.d.ts +5 -5
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/unionWith.d.ts +3 -1
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/unset.d.ts +2 -0
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/unwind.d.ts +5 -2
- package/rust-client/node_modules/mingo/dist/types/operators/query/evaluation/expr.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/query/evaluation/jsonSchema.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/query/evaluation/where.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/_internal.d.ts +5 -5
- package/rust-client/node_modules/mingo/dist/types/operators/update/addToSet.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/bit.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/currentDate.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/inc.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/max.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/min.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/mul.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/pop.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/pull.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/pullAll.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/push.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/rename.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/set.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/update/unset.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/window/_internal.d.ts +5 -5
- package/rust-client/node_modules/mingo/dist/types/operators/window/denseRank.d.ts +2 -3
- package/rust-client/node_modules/mingo/dist/types/operators/window/derivative.d.ts +2 -3
- package/rust-client/node_modules/mingo/dist/types/operators/window/documentNumber.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/window/expMovingAvg.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/window/integral.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/window/linearFill.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/window/locf.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/window/rank.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/operators/window/shift.d.ts +2 -2
- package/rust-client/node_modules/mingo/dist/types/query.d.ts +5 -7
- package/rust-client/node_modules/mingo/dist/types/types.d.ts +18 -15
- package/rust-client/node_modules/mingo/dist/types/updater.d.ts +9 -10
- package/rust-client/node_modules/mingo/dist/types/util.d.ts +102 -90
- package/rust-client/node_modules/mingo/package.json +1 -1
|
@@ -2,17 +2,16 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isDate } from "../../../util";
|
|
3
3
|
const $add = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
let
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
let hasDate = false;
|
|
6
|
+
let sum = 0;
|
|
7
|
+
for (const n of args) {
|
|
8
|
+
if (isDate(n)) {
|
|
9
|
+
assert(!hasDate, "'$add' can only have one date value");
|
|
10
|
+
hasDate = true;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return foundDate ? new Date(result) : result;
|
|
12
|
+
sum += +n;
|
|
13
|
+
}
|
|
14
|
+
return hasDate ? new Date(sum) : sum;
|
|
16
15
|
};
|
|
17
16
|
export {
|
|
18
17
|
$add
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNil, isNumber } from "../../../util";
|
|
3
3
|
const $ceil = (obj, expr, options) => {
|
|
4
4
|
const n = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(n))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(n)) return null;
|
|
7
6
|
assert(isNumber(n) || isNaN(n), "$ceil expression must resolve to a number.");
|
|
8
7
|
return Math.ceil(n);
|
|
9
8
|
};
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNil, isNumber } from "../../../util";
|
|
3
3
|
const $exp = (obj, expr, options) => {
|
|
4
4
|
const n = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(n))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(n)) return null;
|
|
7
6
|
assert(isNumber(n) || isNaN(n), "$exp expression must resolve to a number.");
|
|
8
7
|
return Math.exp(n);
|
|
9
8
|
};
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNil, isNumber } from "../../../util";
|
|
3
3
|
const $floor = (obj, expr, options) => {
|
|
4
4
|
const n = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(n))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(n)) return null;
|
|
7
6
|
assert(
|
|
8
7
|
isNumber(n) || isNaN(n),
|
|
9
8
|
"$floor expression must resolve to a number."
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNil, isNumber } from "../../../util";
|
|
3
3
|
const $ln = (obj, expr, options) => {
|
|
4
4
|
const n = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(n))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(n)) return null;
|
|
7
6
|
assert(isNumber(n) || isNaN(n), "$ln expression must resolve to a number.");
|
|
8
7
|
return Math.log(n);
|
|
9
8
|
};
|
|
@@ -4,8 +4,7 @@ const $log = (obj, expr, options) => {
|
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
5
|
const msg = "$log expression must resolve to array(2) of numbers";
|
|
6
6
|
assert(isArray(args) && args.length === 2, msg);
|
|
7
|
-
if (args.some(isNil))
|
|
8
|
-
return null;
|
|
7
|
+
if (args.some(isNil)) return null;
|
|
9
8
|
assert(args.some(isNaN) || args.every(isNumber), msg);
|
|
10
9
|
return Math.log10(args[0]) / Math.log10(args[1]);
|
|
11
10
|
};
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNil, isNumber } from "../../../util";
|
|
3
3
|
const $log10 = (obj, expr, options) => {
|
|
4
4
|
const n = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(n))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(n)) return null;
|
|
7
6
|
assert(
|
|
8
7
|
isNumber(n) || isNaN(n),
|
|
9
8
|
"$log10 expression must resolve to a number."
|
|
@@ -5,8 +5,7 @@ const $round = (obj, expr, options) => {
|
|
|
5
5
|
const args = computeValue(obj, expr, null, options);
|
|
6
6
|
const num = args[0];
|
|
7
7
|
const place = args[1];
|
|
8
|
-
if (isNil(num) || isNaN(num) || Math.abs(num) === Infinity)
|
|
9
|
-
return num;
|
|
8
|
+
if (isNil(num) || isNaN(num) || Math.abs(num) === Infinity) return num;
|
|
10
9
|
assert(isNumber(num), "$round expression must resolve to a number.");
|
|
11
10
|
return truncate(num, place, true);
|
|
12
11
|
};
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNil, isNumber } from "../../../util";
|
|
3
3
|
const $sqrt = (obj, expr, options) => {
|
|
4
4
|
const n = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(n))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(n)) return null;
|
|
7
6
|
assert(
|
|
8
7
|
isNumber(n) && n > 0 || isNaN(n),
|
|
9
8
|
"$sqrt expression must resolve to non-negative number."
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
+
import { assert, isDate, isNumber } from "../../../util";
|
|
2
3
|
const $subtract = (obj, expr, options) => {
|
|
3
|
-
const
|
|
4
|
-
return
|
|
4
|
+
const [a, b] = computeValue(obj, expr, null, options);
|
|
5
|
+
if (isNumber(a) && isNumber(b) || isDate(a) && isDate(b)) return +a - +b;
|
|
6
|
+
if (isDate(a) && isNumber(b)) return new Date(+a - b);
|
|
7
|
+
assert(false, "$subtract: must resolve to number/date.");
|
|
5
8
|
};
|
|
6
9
|
export {
|
|
7
10
|
$subtract
|
|
@@ -5,8 +5,7 @@ const $trunc = (obj, expr, options) => {
|
|
|
5
5
|
const arr = computeValue(obj, expr, null, options);
|
|
6
6
|
const num = arr[0];
|
|
7
7
|
const places = arr[1];
|
|
8
|
-
if (isNil(num) || isNaN(num) || Math.abs(num) === Infinity)
|
|
9
|
-
return num;
|
|
8
|
+
if (isNil(num) || isNaN(num) || Math.abs(num) === Infinity) return num;
|
|
10
9
|
assert(isNumber(num), "$trunc expression must resolve to a number.");
|
|
11
10
|
assert(
|
|
12
11
|
isNil(places) || isNumber(places) && places > -20 && places < 100,
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { assert, isNil } from "../../../util";
|
|
2
|
+
import { assert, isArray, isNil } from "../../../util";
|
|
3
3
|
const $arrayElemAt = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
5
|
assert(
|
|
6
|
-
args
|
|
6
|
+
isArray(args) && args.length === 2,
|
|
7
7
|
"$arrayElemAt expression must resolve to array(2)"
|
|
8
8
|
);
|
|
9
|
-
if (args.some(isNil))
|
|
10
|
-
return null;
|
|
9
|
+
if (args.some(isNil)) return null;
|
|
11
10
|
const index = args[1];
|
|
12
11
|
const arr = args[0];
|
|
13
12
|
if (index < 0 && Math.abs(index) <= arr.length) {
|
|
@@ -2,11 +2,10 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, has, isArray, isObject } from "../../../util";
|
|
3
3
|
const $arrayToObject = (obj, expr, options) => {
|
|
4
4
|
const arr = computeValue(obj, expr, null, options);
|
|
5
|
-
assert(isArray(arr), "$arrayToObject expression must resolve to an array");
|
|
5
|
+
assert(isArray(arr), "$arrayToObject: expression must resolve to an array");
|
|
6
6
|
return arr.reduce((newObj, val) => {
|
|
7
|
-
while (isArray(val) && val.length === 1)
|
|
8
|
-
|
|
9
|
-
if (val instanceof Array && val.length == 2) {
|
|
7
|
+
while (isArray(val) && val.length === 1) val = val[0];
|
|
8
|
+
if (isArray(val) && val.length == 2) {
|
|
10
9
|
newObj[val[0]] = val[1];
|
|
11
10
|
} else {
|
|
12
11
|
const valObj = val;
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { assert,
|
|
2
|
+
import { assert, isArray, isNil } from "../../../util";
|
|
3
3
|
const $concatArrays = (obj, expr, options) => {
|
|
4
|
-
const
|
|
5
|
-
assert(isArray(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const nArray = computeValue(obj, expr, null, options);
|
|
5
|
+
assert(isArray(nArray), "$concatArrays: input must resolve to an array");
|
|
6
|
+
let size = 0;
|
|
7
|
+
for (const arr of nArray) {
|
|
8
|
+
if (isNil(arr)) return null;
|
|
9
|
+
size += arr.length;
|
|
10
|
+
}
|
|
11
|
+
const result = new Array(size);
|
|
12
|
+
let i = 0;
|
|
13
|
+
for (const arr of nArray) for (const item of arr) result[i++] = item;
|
|
14
|
+
return result;
|
|
9
15
|
};
|
|
10
16
|
export {
|
|
11
17
|
$concatArrays
|
|
@@ -2,9 +2,10 @@ import {
|
|
|
2
2
|
ComputeOptions,
|
|
3
3
|
computeValue
|
|
4
4
|
} from "../../../core";
|
|
5
|
-
import { assert, isArray, truthy } from "../../../util";
|
|
5
|
+
import { assert, isArray, isNil, truthy } from "../../../util";
|
|
6
6
|
const $filter = (obj, expr, options) => {
|
|
7
7
|
const input = computeValue(obj, expr.input, null, options);
|
|
8
|
+
if (isNil(input)) return null;
|
|
8
9
|
assert(isArray(input), "$filter 'input' expression must resolve to an array");
|
|
9
10
|
const copts = ComputeOptions.init(options, obj);
|
|
10
11
|
const k = expr.as || "this";
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "../../../core";
|
|
5
|
-
import { assert, isArray, isNil } from "../../../util";
|
|
6
|
-
import { $first as __first } from "../../accumulator";
|
|
1
|
+
import { computeValue } from "../../../core";
|
|
2
|
+
import { assert, flatten, isArray, isNil } from "../../../util";
|
|
3
|
+
import { $first as __first } from "../../accumulator/first";
|
|
7
4
|
const $first = (obj, expr, options) => {
|
|
8
|
-
|
|
9
|
-
if (obj instanceof Array)
|
|
10
|
-
return __first(obj, expr, copts.update());
|
|
5
|
+
if (isArray(obj)) return __first(obj, expr, options);
|
|
11
6
|
const arr = computeValue(obj, expr, null, options);
|
|
12
|
-
if (isNil(arr))
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
if (isNil(arr)) return null;
|
|
8
|
+
assert(
|
|
9
|
+
isArray(arr) && arr.length > 0,
|
|
10
|
+
"$first must resolve to a non-empty array."
|
|
11
|
+
);
|
|
12
|
+
return flatten(arr)[0];
|
|
16
13
|
};
|
|
17
14
|
export {
|
|
18
15
|
$first
|
|
@@ -2,11 +2,9 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isArray, isNil } from "../../../util";
|
|
3
3
|
import { $firstN as __firstN } from "../../accumulator/firstN";
|
|
4
4
|
const $firstN = (obj, expr, options) => {
|
|
5
|
-
if (obj
|
|
6
|
-
return __firstN(obj, expr, options);
|
|
5
|
+
if (isArray(obj)) return __firstN(obj, expr, options);
|
|
7
6
|
const { input, n } = computeValue(obj, expr, null, options);
|
|
8
|
-
if (isNil(input))
|
|
9
|
-
return null;
|
|
7
|
+
if (isNil(input)) return null;
|
|
10
8
|
assert(isArray(input), "Must resolve to an array/null or missing");
|
|
11
9
|
return __firstN(input, { n, input: "$$this" }, options);
|
|
12
10
|
};
|
|
@@ -3,7 +3,7 @@ import { assert, isArray, isEqual } from "../../../util";
|
|
|
3
3
|
const $in = (obj, expr, options) => {
|
|
4
4
|
const [item, arr] = computeValue(obj, expr, null, options);
|
|
5
5
|
assert(isArray(arr), "$in second argument must be an array");
|
|
6
|
-
return arr.some(isEqual
|
|
6
|
+
return arr.some((v) => isEqual(v, item));
|
|
7
7
|
};
|
|
8
8
|
export {
|
|
9
9
|
$in
|
|
@@ -2,19 +2,15 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isArray, isEqual, isNil } from "../../../util";
|
|
3
3
|
const $indexOfArray = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(args))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(args)) return null;
|
|
7
6
|
let arr = args[0];
|
|
8
7
|
const searchValue = args[1];
|
|
9
|
-
if (isNil(arr))
|
|
10
|
-
return null;
|
|
8
|
+
if (isNil(arr)) return null;
|
|
11
9
|
assert(isArray(arr), "$indexOfArray expression must resolve to an array.");
|
|
12
10
|
const start = args[2] || 0;
|
|
13
11
|
let end = args[3];
|
|
14
|
-
if (isNil(end))
|
|
15
|
-
|
|
16
|
-
if (start > end)
|
|
17
|
-
return -1;
|
|
12
|
+
if (isNil(end)) end = arr.length;
|
|
13
|
+
if (start > end) return -1;
|
|
18
14
|
assert(start >= 0 && end >= 0, "$indexOfArray expression is invalid");
|
|
19
15
|
if (start > 0 || end < arr.length) {
|
|
20
16
|
arr = arr.slice(start, end);
|
|
@@ -22,8 +18,7 @@ const $indexOfArray = (obj, expr, options) => {
|
|
|
22
18
|
let index = -1;
|
|
23
19
|
arr.some((v, i) => {
|
|
24
20
|
const b = isEqual(v, searchValue);
|
|
25
|
-
if (b)
|
|
26
|
-
index = i;
|
|
21
|
+
if (b) index = i;
|
|
27
22
|
return b;
|
|
28
23
|
});
|
|
29
24
|
return index + start;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
2
|
+
import { isArray } from "../../../util";
|
|
3
|
+
const $isArray = (obj, expr, options) => isArray(computeValue(obj, expr[0], null, options));
|
|
5
4
|
export {
|
|
6
5
|
$isArray
|
|
7
6
|
};
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "../../../core";
|
|
5
|
-
import { assert, isArray, isNil } from "../../../util";
|
|
6
|
-
import { $last as __last } from "../../accumulator";
|
|
1
|
+
import { computeValue } from "../../../core";
|
|
2
|
+
import { assert, flatten, isArray, isNil } from "../../../util";
|
|
3
|
+
import { $last as __last } from "../../accumulator/last";
|
|
7
4
|
const $last = (obj, expr, options) => {
|
|
8
|
-
|
|
9
|
-
if (obj instanceof Array)
|
|
10
|
-
return __last(obj, expr, copts.update());
|
|
5
|
+
if (isArray(obj)) return __last(obj, expr, options);
|
|
11
6
|
const arr = computeValue(obj, expr, null, options);
|
|
12
|
-
if (isNil(arr))
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
if (isNil(arr)) return null;
|
|
8
|
+
assert(
|
|
9
|
+
isArray(arr) && arr.length > 0,
|
|
10
|
+
"$last must resolve to a non-empty array."
|
|
11
|
+
);
|
|
12
|
+
return flatten(arr)[arr.length - 1];
|
|
16
13
|
};
|
|
17
14
|
export {
|
|
18
15
|
$last
|
|
@@ -2,11 +2,9 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isArray, isNil } from "../../../util";
|
|
3
3
|
import { $lastN as __lastN } from "../../accumulator/lastN";
|
|
4
4
|
const $lastN = (obj, expr, options) => {
|
|
5
|
-
if (obj
|
|
6
|
-
return __lastN(obj, expr, options);
|
|
5
|
+
if (isArray(obj)) return __lastN(obj, expr, options);
|
|
7
6
|
const { input, n } = computeValue(obj, expr, null, options);
|
|
8
|
-
if (isNil(input))
|
|
9
|
-
return null;
|
|
7
|
+
if (isNil(input)) return null;
|
|
10
8
|
assert(isArray(input), "Must resolve to an array/null or missing");
|
|
11
9
|
return __lastN(input, { n, input: "$$this" }, options);
|
|
12
10
|
};
|
|
@@ -2,9 +2,10 @@ import {
|
|
|
2
2
|
ComputeOptions,
|
|
3
3
|
computeValue
|
|
4
4
|
} from "../../../core";
|
|
5
|
-
import { assert, isArray } from "../../../util";
|
|
5
|
+
import { assert, isArray, isNil } from "../../../util";
|
|
6
6
|
const $map = (obj, expr, options) => {
|
|
7
7
|
const input = computeValue(obj, expr.input, null, options);
|
|
8
|
+
if (isNil(input)) return null;
|
|
8
9
|
assert(isArray(input), `$map 'input' expression must resolve to an array`);
|
|
9
10
|
const copts = ComputeOptions.init(options);
|
|
10
11
|
const k = expr.as || "this";
|
|
@@ -2,11 +2,9 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isArray, isNil } from "../../../util";
|
|
3
3
|
import { $maxN as __maxN } from "../../accumulator/maxN";
|
|
4
4
|
const $maxN = (obj, expr, options) => {
|
|
5
|
-
if (obj
|
|
6
|
-
return __maxN(obj, expr, options);
|
|
5
|
+
if (isArray(obj)) return __maxN(obj, expr, options);
|
|
7
6
|
const { input, n } = computeValue(obj, expr, null, options);
|
|
8
|
-
if (isNil(input))
|
|
9
|
-
return null;
|
|
7
|
+
if (isNil(input)) return null;
|
|
10
8
|
assert(isArray(input), "Must resolve to an array/null or missing");
|
|
11
9
|
return __maxN(input, { n, input: "$$this" }, options);
|
|
12
10
|
};
|
|
@@ -2,11 +2,9 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isArray, isNil } from "../../../util";
|
|
3
3
|
import { $minN as __minN } from "../../accumulator/minN";
|
|
4
4
|
const $minN = (obj, expr, options) => {
|
|
5
|
-
if (obj
|
|
6
|
-
return __minN(obj, expr, options);
|
|
5
|
+
if (isArray(obj)) return __minN(obj, expr, options);
|
|
7
6
|
const { input, n } = computeValue(obj, expr, null, options);
|
|
8
|
-
if (isNil(input))
|
|
9
|
-
return null;
|
|
7
|
+
if (isNil(input)) return null;
|
|
10
8
|
assert(isArray(input), "Must resolve to an array/null or missing");
|
|
11
9
|
return __minN(input, { n, input: "$$this" }, options);
|
|
12
10
|
};
|
|
@@ -8,8 +8,7 @@ const $reduce = (obj, expr, options) => {
|
|
|
8
8
|
const input = computeValue(obj, expr.input, null, copts);
|
|
9
9
|
const initialValue = computeValue(obj, expr.initialValue, null, copts);
|
|
10
10
|
const inExpr = expr["in"];
|
|
11
|
-
if (isNil(input))
|
|
12
|
-
return null;
|
|
11
|
+
if (isNil(input)) return null;
|
|
13
12
|
assert(isArray(input), "$reduce 'input' expression must resolve to an array");
|
|
14
13
|
return input.reduce((acc, n) => {
|
|
15
14
|
return computeValue(
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isArray, isNil } from "../../../util";
|
|
3
3
|
const $reverseArray = (obj, expr, options) => {
|
|
4
4
|
const arr = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(arr))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(arr)) return null;
|
|
7
6
|
assert(isArray(arr), "$reverseArray expression must resolve to an array");
|
|
8
7
|
const result = arr.slice(0);
|
|
9
8
|
result.reverse();
|
|
@@ -3,16 +3,14 @@ import { computeValue } from "../../../core";
|
|
|
3
3
|
import { assert, compare, isArray, isNil, isObject } from "../../../util";
|
|
4
4
|
const $sortArray = (obj, expr, options) => {
|
|
5
5
|
const { input, sortBy } = computeValue(obj, expr, null, options);
|
|
6
|
-
if (isNil(input))
|
|
7
|
-
return null;
|
|
6
|
+
if (isNil(input)) return null;
|
|
8
7
|
assert(isArray(input), "$sortArray expression must resolve to an array");
|
|
9
8
|
if (isObject(sortBy)) {
|
|
10
9
|
return new Aggregator([{ $sort: sortBy }]).run(input);
|
|
11
10
|
}
|
|
12
11
|
const result = [...input];
|
|
13
12
|
result.sort(compare);
|
|
14
|
-
if (sortBy === -1)
|
|
15
|
-
result.reverse();
|
|
13
|
+
if (sortBy === -1) result.reverse();
|
|
16
14
|
return result;
|
|
17
15
|
};
|
|
18
16
|
export {
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
2
|
import { assert, isArray, isBoolean, isNil } from "../../../util";
|
|
3
3
|
const $zip = (obj, expr, options) => {
|
|
4
|
-
const inputs = computeValue(
|
|
5
|
-
obj,
|
|
6
|
-
expr.inputs,
|
|
7
|
-
null,
|
|
8
|
-
options
|
|
9
|
-
);
|
|
4
|
+
const inputs = computeValue(obj, expr.inputs, null, options);
|
|
10
5
|
const useLongestLength = expr.useLongestLength || false;
|
|
6
|
+
if (isNil(inputs)) return null;
|
|
11
7
|
assert(isArray(inputs), "'inputs' expression must resolve to an array");
|
|
12
8
|
assert(isBoolean(useLongestLength), "'useLongestLength' must be a boolean");
|
|
13
9
|
if (isArray(expr.defaults)) {
|
|
@@ -17,10 +13,8 @@ const $zip = (obj, expr, options) => {
|
|
|
17
13
|
);
|
|
18
14
|
}
|
|
19
15
|
let zipCount = 0;
|
|
20
|
-
for (
|
|
21
|
-
|
|
22
|
-
if (isNil(arr))
|
|
23
|
-
return null;
|
|
16
|
+
for (const arr of inputs) {
|
|
17
|
+
if (isNil(arr)) return null;
|
|
24
18
|
assert(
|
|
25
19
|
isArray(arr),
|
|
26
20
|
"'inputs' expression values must resolve to an array or null"
|
|
@@ -3,8 +3,7 @@ import { assert, isArray, isNil, isNumber } from "../../../util";
|
|
|
3
3
|
const bitwise = (op, compute) => (obj, expr, options) => {
|
|
4
4
|
assert(isArray(expr), `${op}: expression must be an array.`);
|
|
5
5
|
const nums = computeValue(obj, expr, null, options);
|
|
6
|
-
if (nums.some(isNil))
|
|
7
|
-
return null;
|
|
6
|
+
if (nums.some(isNil)) return null;
|
|
8
7
|
assert(
|
|
9
8
|
nums.every(isNumber),
|
|
10
9
|
`${op}: expression must evalue to array of numbers.`
|
|
@@ -2,10 +2,8 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { isNil, isNumber, MingoError } from "../../../util";
|
|
3
3
|
const $bitNot = (obj, expr, options) => {
|
|
4
4
|
const n = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(n))
|
|
6
|
-
|
|
7
|
-
if (isNumber(n))
|
|
8
|
-
return ~n;
|
|
5
|
+
if (isNil(n)) return null;
|
|
6
|
+
if (isNumber(n)) return ~n;
|
|
9
7
|
throw new MingoError("$bitNot: expression must evaluate to a number.");
|
|
10
8
|
};
|
|
11
9
|
export {
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { ensureArray } from "../../../util";
|
|
2
|
+
import { assert, ensureArray } from "../../../util";
|
|
3
3
|
const $not = (obj, expr, options) => {
|
|
4
4
|
const booleanExpr = ensureArray(expr);
|
|
5
|
-
if (booleanExpr.length == 0)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return !computeValue(obj, booleanExpr[0], null, options);
|
|
9
|
-
throw "Expression $not takes exactly 1 argument";
|
|
5
|
+
if (booleanExpr.length == 0) return false;
|
|
6
|
+
assert(booleanExpr.length == 1, "Expression $not takes exactly 1 argument");
|
|
7
|
+
return !computeValue(obj, booleanExpr[0], null, options);
|
|
10
8
|
};
|
|
11
9
|
export {
|
|
12
10
|
$not
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
+
import { assert, compare, isArray } from "../../../util";
|
|
2
3
|
const $cmp = (obj, expr, options) => {
|
|
3
4
|
const args = computeValue(obj, expr, null, options);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return 0;
|
|
5
|
+
assert(
|
|
6
|
+
isArray(args) && args.length == 2,
|
|
7
|
+
"$cmp: expression must resolve to array of size 2."
|
|
8
|
+
);
|
|
9
|
+
return compare(args[0], args[1]);
|
|
9
10
|
};
|
|
10
11
|
export {
|
|
11
12
|
$cmp
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { assert, isObject, truthy } from "../../../util";
|
|
2
|
+
import { assert, isArray, isObject, truthy } from "../../../util";
|
|
3
3
|
const $cond = (obj, expr, options) => {
|
|
4
4
|
let ifExpr;
|
|
5
5
|
let thenExpr;
|
|
6
6
|
let elseExpr;
|
|
7
7
|
const errorMsg = "$cond: invalid arguments";
|
|
8
|
-
if (expr
|
|
8
|
+
if (isArray(expr)) {
|
|
9
9
|
assert(expr.length === 3, errorMsg);
|
|
10
10
|
ifExpr = expr[0];
|
|
11
11
|
thenExpr = expr[1];
|
|
@@ -2,7 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { isNil } from "../../../util";
|
|
3
3
|
const $ifNull = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
return args.find((arg) => !isNil(arg));
|
|
5
|
+
return args.find((arg) => !isNil(arg)) ?? args[args.length - 1];
|
|
6
6
|
};
|
|
7
7
|
export {
|
|
8
8
|
$ifNull
|