@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
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
2
|
import { assert, isNil, isObject, isString } from "../../../util";
|
|
3
3
|
const $setField = (obj, expr, options) => {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const { input, field, value } = computeValue(
|
|
5
|
+
obj,
|
|
6
|
+
expr,
|
|
7
|
+
null,
|
|
8
|
+
options
|
|
9
|
+
);
|
|
10
|
+
if (isNil(input)) return null;
|
|
7
11
|
assert(
|
|
8
|
-
isObject(
|
|
12
|
+
isObject(input),
|
|
9
13
|
"$setField expression 'input' must evaluate to an object"
|
|
10
14
|
);
|
|
11
15
|
assert(
|
|
12
|
-
isString(
|
|
16
|
+
isString(field),
|
|
13
17
|
"$setField expression 'field' must evaluate to a string"
|
|
14
18
|
);
|
|
15
19
|
if (expr.value == "$$REMOVE") {
|
|
16
|
-
delete obj[
|
|
20
|
+
delete obj[field];
|
|
17
21
|
} else {
|
|
18
|
-
obj[
|
|
22
|
+
obj[field] = value;
|
|
19
23
|
}
|
|
20
24
|
return obj;
|
|
21
25
|
};
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import {
|
|
2
|
+
import { assert, isArray, isNil, ValueMap } from "../../../util";
|
|
3
3
|
const $setDifference = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
|
|
5
|
+
if (isNil(args)) return null;
|
|
6
|
+
assert(isArray(args), "$setDifference must be an arrays.");
|
|
7
|
+
if (args.some(isNil)) return null;
|
|
8
|
+
assert(args.length == 2, `$setDifference takes exactly 2 arguments.`);
|
|
9
|
+
assert(args.every(isArray), "$setDifference operands must be arrays.");
|
|
10
|
+
const m = ValueMap.init(options.hashFunction);
|
|
11
|
+
args[0].forEach((v) => m.set(v, true));
|
|
12
|
+
args[1].forEach((v) => m.delete(v));
|
|
13
|
+
return Array.from(m.keys());
|
|
6
14
|
};
|
|
7
15
|
export {
|
|
8
16
|
$setDifference
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import {
|
|
2
|
+
import { assert, isArray, ValueMap } from "../../../util";
|
|
3
3
|
const $setEquals = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
assert(
|
|
6
|
+
isArray(args) && args.every(isArray),
|
|
7
|
+
"$setEquals operands must be arrays."
|
|
8
|
+
);
|
|
9
|
+
const map = ValueMap.init();
|
|
10
|
+
args[0].every((v, i) => map.set(v, i));
|
|
11
|
+
for (let i = 1; i < args.length; i++) {
|
|
12
|
+
const arr = args[i];
|
|
13
|
+
const set = /* @__PURE__ */ new Set();
|
|
14
|
+
for (let j = 0; j < arr.length; j++) {
|
|
15
|
+
const n = map.get(arr[j]) ?? -1;
|
|
16
|
+
if (n === -1) return false;
|
|
17
|
+
set.add(n);
|
|
18
|
+
}
|
|
19
|
+
if (set.size !== map.size) return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
8
22
|
};
|
|
9
23
|
export {
|
|
10
24
|
$setEquals
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { assert, intersection, isArray } from "../../../util";
|
|
2
|
+
import { assert, intersection, isArray, isNil } from "../../../util";
|
|
3
3
|
const $setIntersection = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
+
if (isNil(args)) return null;
|
|
5
6
|
assert(
|
|
6
7
|
isArray(args) && args.every(isArray),
|
|
7
|
-
"$setIntersection
|
|
8
|
+
"$setIntersection operands must be arrays."
|
|
8
9
|
);
|
|
9
10
|
return intersection(args, options?.hashFunction);
|
|
10
11
|
};
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import {
|
|
2
|
+
import { assert, isArray, ValueMap } from "../../../util";
|
|
3
3
|
const $setIsSubset = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
|
|
5
|
+
assert(
|
|
6
|
+
isArray(args) && args.every(isArray),
|
|
7
|
+
"$setIsSubset operands must be arrays."
|
|
8
|
+
);
|
|
9
|
+
const first = args[0];
|
|
10
|
+
const second = args[1];
|
|
11
|
+
const map = ValueMap.init();
|
|
12
|
+
const set = /* @__PURE__ */ new Set();
|
|
13
|
+
first.every((v, i) => map.set(v, i));
|
|
14
|
+
for (const v of second) {
|
|
15
|
+
set.add(map.get(v) ?? -1);
|
|
16
|
+
if (set.size > map.size) return true;
|
|
17
|
+
}
|
|
18
|
+
set.delete(-1);
|
|
19
|
+
return set.size == map.size;
|
|
6
20
|
};
|
|
7
21
|
export {
|
|
8
22
|
$setIsSubset
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { assert, isArray, unique } from "../../../util";
|
|
2
|
+
import { assert, flatten, isArray, isNil, unique } from "../../../util";
|
|
3
3
|
const $setUnion = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
);
|
|
9
|
-
return unique(args[0].concat(args[1]), options?.hashFunction);
|
|
5
|
+
if (isNil(args)) return null;
|
|
6
|
+
assert(isArray(args), "$setUnion operands must be arrays.");
|
|
7
|
+
if (args.some(isNil)) return null;
|
|
8
|
+
return unique(flatten(args), options?.hashFunction);
|
|
10
9
|
};
|
|
11
10
|
export {
|
|
12
11
|
$setUnion
|
|
@@ -45,8 +45,7 @@ const WHITESPACE_CHARS = [
|
|
|
45
45
|
function trimString(obj, expr, options, trimOpts) {
|
|
46
46
|
const val = computeValue(obj, expr, null, options);
|
|
47
47
|
const s = val.input;
|
|
48
|
-
if (isNil(s))
|
|
49
|
-
return null;
|
|
48
|
+
if (isNil(s)) return null;
|
|
50
49
|
const codepoints = isNil(val.chars) ? WHITESPACE_CHARS : val.chars.split("").map((c) => c.codePointAt(0));
|
|
51
50
|
let i = 0;
|
|
52
51
|
let j = s.length - 1;
|
|
@@ -58,8 +57,7 @@ function trimString(obj, expr, options, trimOpts) {
|
|
|
58
57
|
}
|
|
59
58
|
function regexSearch(obj, expr, options, reOpts) {
|
|
60
59
|
const val = computeValue(obj, expr, null, options);
|
|
61
|
-
if (!isString(val.input))
|
|
62
|
-
return [];
|
|
60
|
+
if (!isString(val.input)) return [];
|
|
63
61
|
const regexOptions = val.options;
|
|
64
62
|
if (regexOptions) {
|
|
65
63
|
assert(
|
|
@@ -79,11 +77,9 @@ function regexSearch(obj, expr, options, reOpts) {
|
|
|
79
77
|
idx: m.index + offset,
|
|
80
78
|
captures: []
|
|
81
79
|
};
|
|
82
|
-
for (let i = 1; i < m.length; i++)
|
|
83
|
-
result.captures.push(m[i] || null);
|
|
80
|
+
for (let i = 1; i < m.length; i++) result.captures.push(m[i] || null);
|
|
84
81
|
matches.push(result);
|
|
85
|
-
if (!reOpts.global)
|
|
86
|
-
break;
|
|
82
|
+
if (!reOpts.global) break;
|
|
87
83
|
offset = m.index + m[0].length;
|
|
88
84
|
input = input.substring(offset);
|
|
89
85
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import {
|
|
2
|
+
import { assert, isNil, isString } from "../../../util";
|
|
3
3
|
const $concat = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
assert(
|
|
6
|
+
args.every((v) => isString(v) || isNil(v)),
|
|
7
|
+
"$concat only supports strings."
|
|
8
|
+
);
|
|
9
|
+
if (args.some(isNil)) return null;
|
|
7
10
|
return args.join("");
|
|
8
11
|
};
|
|
9
12
|
export {
|
|
@@ -3,8 +3,7 @@ import { assert, isNil, isNumber, isString } from "../../../util";
|
|
|
3
3
|
const $indexOfBytes = (obj, expr, options) => {
|
|
4
4
|
const arr = computeValue(obj, expr, null, options);
|
|
5
5
|
const errorMsg = "$indexOfBytes expression resolves to invalid an argument";
|
|
6
|
-
if (isNil(arr[0]))
|
|
7
|
-
return null;
|
|
6
|
+
if (isNil(arr[0])) return null;
|
|
8
7
|
assert(isString(arr[0]) && isString(arr[1]), errorMsg);
|
|
9
8
|
const str = arr[0];
|
|
10
9
|
const searchStr = arr[1];
|
|
@@ -15,8 +14,7 @@ const $indexOfBytes = (obj, expr, options) => {
|
|
|
15
14
|
assert(valid, errorMsg);
|
|
16
15
|
start = start || 0;
|
|
17
16
|
end = end || str.length;
|
|
18
|
-
if (start > end)
|
|
19
|
-
return -1;
|
|
17
|
+
if (start > end) return -1;
|
|
20
18
|
const index = str.substring(start, end).indexOf(searchStr);
|
|
21
19
|
return index > -1 ? index + start : index;
|
|
22
20
|
};
|
|
@@ -3,8 +3,7 @@ import { assert, isNil, isString } from "../../../util";
|
|
|
3
3
|
const $replaceAll = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
5
|
const arr = [args.input, args.find, args.replacement];
|
|
6
|
-
if (arr.some(isNil))
|
|
7
|
-
return null;
|
|
6
|
+
if (arr.some(isNil)) return null;
|
|
8
7
|
assert(
|
|
9
8
|
arr.every(isString),
|
|
10
9
|
"$replaceAll expression fields must evaluate to string"
|
|
@@ -3,8 +3,7 @@ import { assert, isNil, isString } from "../../../util";
|
|
|
3
3
|
const $replaceOne = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
5
|
const arr = [args.input, args.find, args.replacement];
|
|
6
|
-
if (arr.some(isNil))
|
|
7
|
-
return null;
|
|
6
|
+
if (arr.some(isNil)) return null;
|
|
8
7
|
assert(
|
|
9
8
|
arr.every(isString),
|
|
10
9
|
"$replaceOne expression fields must evaluate to string"
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNil, isString } from "../../../util";
|
|
3
3
|
const $split = (obj, expr, options) => {
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(args[0]))
|
|
6
|
-
return null;
|
|
5
|
+
if (isNil(args[0])) return null;
|
|
7
6
|
assert(
|
|
8
7
|
args.every(isString),
|
|
9
8
|
"$split expression must result to array(2) of strings"
|
|
@@ -4,8 +4,7 @@ const $strcasecmp = (obj, expr, options) => {
|
|
|
4
4
|
const args = computeValue(obj, expr, null, options);
|
|
5
5
|
let a = args[0];
|
|
6
6
|
let b = args[1];
|
|
7
|
-
if (isEqual(a, b) || args.every(isNil))
|
|
8
|
-
return 0;
|
|
7
|
+
if (isEqual(a, b) || args.every(isNil)) return 0;
|
|
9
8
|
assert(
|
|
10
9
|
args.every(isString),
|
|
11
10
|
"$strcasecmp must resolve to array(2) of strings"
|
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
2
|
import { isString } from "../../../util";
|
|
3
3
|
const $substr = (obj, expr, options) => {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (isString(s)) {
|
|
9
|
-
if (index < 0) {
|
|
10
|
-
return "";
|
|
11
|
-
} else if (count < 0) {
|
|
12
|
-
return s.substr(index);
|
|
13
|
-
} else {
|
|
14
|
-
return s.substr(index, count);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return "";
|
|
4
|
+
const [s, start, count] = computeValue(obj, expr, null, options);
|
|
5
|
+
if (start < 0 || !isString(s)) return "";
|
|
6
|
+
if (count < 0) return s.substring(start);
|
|
7
|
+
return s.substring(start, start + count);
|
|
18
8
|
};
|
|
19
9
|
export {
|
|
20
10
|
$substr
|
|
@@ -2,13 +2,11 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { assert, isNumber, isString } from "../../../util";
|
|
3
3
|
const UTF8_MASK = [192, 224, 240];
|
|
4
4
|
function toUtf8(n) {
|
|
5
|
-
if (n < 128)
|
|
6
|
-
return [n];
|
|
5
|
+
if (n < 128) return [n];
|
|
7
6
|
let count = n < 2048 && 1 || n < 65536 && 2 || 3;
|
|
8
7
|
const offset = UTF8_MASK[count - 1];
|
|
9
8
|
const utf8 = [(n >> 6 * count) + offset];
|
|
10
|
-
while (count > 0)
|
|
11
|
-
utf8.push(128 | n >> 6 * --count & 63);
|
|
9
|
+
while (count > 0) utf8.push(128 | n >> 6 * --count & 63);
|
|
12
10
|
return utf8;
|
|
13
11
|
}
|
|
14
12
|
function utf8Encode(s) {
|
|
@@ -2,10 +2,8 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { isNil } from "../../../util";
|
|
3
3
|
const $atan2 = (obj, expr, options) => {
|
|
4
4
|
const [y, x] = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNaN(y) || isNil(y))
|
|
6
|
-
|
|
7
|
-
if (isNaN(x) || isNil(x))
|
|
8
|
-
return x;
|
|
5
|
+
if (isNaN(y) || isNil(y)) return y;
|
|
6
|
+
if (isNaN(x) || isNil(x)) return x;
|
|
9
7
|
return Math.atan2(y, x);
|
|
10
8
|
};
|
|
11
9
|
export {
|
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { isNil, isNumber, isString } from "../../../util";
|
|
2
|
+
import { isDate, isNil, isNumber, isString } from "../../../util";
|
|
3
|
+
const MAX_INT = 2147483647;
|
|
4
|
+
const MIN_INT = -2147483648;
|
|
5
|
+
const MAX_LONG = Number.MAX_SAFE_INTEGER;
|
|
6
|
+
const MIN_LONG = Number.MIN_SAFE_INTEGER;
|
|
3
7
|
class TypeConvertError extends Error {
|
|
4
8
|
constructor(message) {
|
|
5
9
|
super(message);
|
|
6
10
|
}
|
|
7
11
|
}
|
|
8
|
-
function toInteger(obj, expr, options,
|
|
12
|
+
function toInteger(obj, expr, options, min, max) {
|
|
9
13
|
const val = computeValue(obj, expr, null, options);
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
if (val
|
|
13
|
-
|
|
14
|
-
if (val === true)
|
|
15
|
-
return 1;
|
|
16
|
-
if (val === false)
|
|
17
|
-
return 0;
|
|
14
|
+
if (val === true) return 1;
|
|
15
|
+
if (val === false) return 0;
|
|
16
|
+
if (isNil(val)) return null;
|
|
17
|
+
if (isDate(val)) return val.getTime();
|
|
18
18
|
const n = Number(val);
|
|
19
19
|
if (isNumber(n) && n >= min && n <= max) {
|
|
20
20
|
if (!isString(val) || n.toString().indexOf(".") === -1) {
|
|
21
21
|
return Math.trunc(n);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
throw new TypeConvertError(
|
|
24
|
+
throw new TypeConvertError(
|
|
25
|
+
`cannot convert '${val}' to ${max == MAX_INT ? "int" : "long"}`
|
|
26
|
+
);
|
|
25
27
|
}
|
|
26
28
|
export {
|
|
29
|
+
MAX_INT,
|
|
30
|
+
MAX_LONG,
|
|
31
|
+
MIN_INT,
|
|
32
|
+
MIN_LONG,
|
|
27
33
|
TypeConvertError,
|
|
28
34
|
toInteger
|
|
29
35
|
};
|
|
@@ -10,8 +10,7 @@ import { $toString } from "./toString";
|
|
|
10
10
|
const $convert = (obj, expr, options) => {
|
|
11
11
|
const args = computeValue(obj, expr, null, options);
|
|
12
12
|
args.onNull = args.onNull === void 0 ? null : args.onNull;
|
|
13
|
-
if (isNil(args.input))
|
|
14
|
-
return args.onNull;
|
|
13
|
+
if (isNil(args.input)) return args.onNull;
|
|
15
14
|
try {
|
|
16
15
|
switch (args.to) {
|
|
17
16
|
case 2:
|
|
@@ -37,10 +36,9 @@ const $convert = (obj, expr, options) => {
|
|
|
37
36
|
case "long":
|
|
38
37
|
return $toLong(obj, args.input, options);
|
|
39
38
|
}
|
|
40
|
-
} catch
|
|
39
|
+
} catch {
|
|
41
40
|
}
|
|
42
|
-
if (args.onError !== void 0)
|
|
43
|
-
return args.onError;
|
|
41
|
+
if (args.onError !== void 0) return args.onError;
|
|
44
42
|
throw new TypeConvertError(`could not convert to type ${args.to}.`);
|
|
45
43
|
};
|
|
46
44
|
export {
|
|
@@ -2,10 +2,8 @@ import { computeValue } from "../../../core";
|
|
|
2
2
|
import { isNil, isString } from "../../../util";
|
|
3
3
|
const $toBool = (obj, expr, options) => {
|
|
4
4
|
const val = computeValue(obj, expr, null, options);
|
|
5
|
-
if (isNil(val))
|
|
6
|
-
|
|
7
|
-
if (isString(val))
|
|
8
|
-
return true;
|
|
5
|
+
if (isNil(val)) return null;
|
|
6
|
+
if (isString(val)) return true;
|
|
9
7
|
return Boolean(val);
|
|
10
8
|
};
|
|
11
9
|
export {
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { isNil } from "../../../util";
|
|
2
|
+
import { isDate, isNil } from "../../../util";
|
|
3
3
|
import { TypeConvertError } from "./_internal";
|
|
4
4
|
const $toDate = (obj, expr, options) => {
|
|
5
5
|
const val = computeValue(obj, expr, null, options);
|
|
6
|
-
if (val
|
|
7
|
-
|
|
8
|
-
if (isNil(val))
|
|
9
|
-
return null;
|
|
6
|
+
if (isDate(val)) return val;
|
|
7
|
+
if (isNil(val)) return null;
|
|
10
8
|
const d = new Date(val);
|
|
11
9
|
const n = d.getTime();
|
|
12
|
-
if (!isNaN(n))
|
|
13
|
-
return d;
|
|
10
|
+
if (!isNaN(n)) return d;
|
|
14
11
|
throw new TypeConvertError(`cannot convert '${val}' to date`);
|
|
15
12
|
};
|
|
16
13
|
export {
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { isNil, isNumber } from "../../../util";
|
|
2
|
+
import { isDate, isNil, isNumber } from "../../../util";
|
|
3
3
|
import { TypeConvertError } from "./_internal";
|
|
4
4
|
const $toDouble = (obj, expr, options) => {
|
|
5
5
|
const val = computeValue(obj, expr, null, options);
|
|
6
|
-
if (isNil(val))
|
|
7
|
-
|
|
8
|
-
if (val
|
|
9
|
-
|
|
10
|
-
if (val === true)
|
|
11
|
-
return 1;
|
|
12
|
-
if (val === false)
|
|
13
|
-
return 0;
|
|
6
|
+
if (isNil(val)) return null;
|
|
7
|
+
if (isDate(val)) return val.getTime();
|
|
8
|
+
if (val === true) return 1;
|
|
9
|
+
if (val === false) return 0;
|
|
14
10
|
const n = Number(val);
|
|
15
|
-
if (isNumber(n))
|
|
16
|
-
return n;
|
|
11
|
+
if (isNumber(n)) return n;
|
|
17
12
|
throw new TypeConvertError(`cannot convert '${val}' to double/decimal`);
|
|
18
13
|
};
|
|
19
14
|
export {
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { MAX_INT, MIN_INT } from "
|
|
2
|
-
|
|
3
|
-
const $toInt = (obj, expr, options) => {
|
|
4
|
-
return toInteger(obj, expr, options, MAX_INT, MIN_INT, "int");
|
|
5
|
-
};
|
|
1
|
+
import { MAX_INT, MIN_INT, toInteger } from "./_internal";
|
|
2
|
+
const $toInt = (obj, expr, options) => toInteger(obj, expr, options, MIN_INT, MAX_INT);
|
|
6
3
|
export {
|
|
7
4
|
$toInt
|
|
8
5
|
};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { MAX_LONG, MIN_LONG } from "
|
|
2
|
-
|
|
3
|
-
const $toLong = (obj, expr, options) => {
|
|
4
|
-
return toInteger(obj, expr, options, MAX_LONG, MIN_LONG, "long");
|
|
5
|
-
};
|
|
1
|
+
import { MAX_LONG, MIN_LONG, toInteger } from "./_internal";
|
|
2
|
+
const $toLong = (obj, expr, options) => toInteger(obj, expr, options, MIN_LONG, MAX_LONG);
|
|
6
3
|
export {
|
|
7
4
|
$toLong
|
|
8
5
|
};
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import { isNil } from "../../../util";
|
|
2
|
+
import { isDate, isNil } from "../../../util";
|
|
3
3
|
import { $dateToString } from "../date/dateToString";
|
|
4
4
|
const $toString = (obj, expr, options) => {
|
|
5
5
|
const val = computeValue(obj, expr, null, options);
|
|
6
|
-
if (isNil(val))
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
if (isNil(val)) return null;
|
|
7
|
+
if (isDate(val)) {
|
|
8
|
+
return $dateToString(
|
|
9
|
+
obj,
|
|
10
|
+
{
|
|
11
|
+
date: expr,
|
|
12
|
+
format: "%Y-%m-%dT%H:%M:%S.%LZ"
|
|
13
|
+
},
|
|
14
|
+
options
|
|
15
|
+
);
|
|
16
16
|
}
|
|
17
|
+
return val.toString();
|
|
17
18
|
};
|
|
18
19
|
export {
|
|
19
20
|
$toString
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
import { computeValue } from "../../../core";
|
|
2
|
-
import {
|
|
2
|
+
import { isNumber, isRegExp, typeOf } from "../../../util";
|
|
3
|
+
import { MAX_INT, MIN_INT } from "./_internal";
|
|
3
4
|
const $type = (obj, expr, options) => {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return "
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return val >= MIN_INT && val <= MAX_INT ? "int" : "long";
|
|
14
|
-
case "regexp":
|
|
15
|
-
return "regex";
|
|
16
|
-
default:
|
|
17
|
-
return nativeType;
|
|
5
|
+
const v = computeValue(obj, expr, null, options);
|
|
6
|
+
if (options.useStrictMode) {
|
|
7
|
+
if (v === void 0) return "missing";
|
|
8
|
+
if (v === true || v === false) return "bool";
|
|
9
|
+
if (isNumber(v)) {
|
|
10
|
+
if (v % 1 != 0) return "double";
|
|
11
|
+
return v >= MIN_INT && v <= MAX_INT ? "int" : "long";
|
|
12
|
+
}
|
|
13
|
+
if (isRegExp(v)) return "regex";
|
|
18
14
|
}
|
|
15
|
+
return typeOf(v);
|
|
19
16
|
};
|
|
20
17
|
export {
|
|
21
18
|
$type
|
|
@@ -2,8 +2,7 @@ import { computeValue } from "../../core";
|
|
|
2
2
|
import { removeValue, setValue } from "../../util";
|
|
3
3
|
const $addFields = (collection, expr, options) => {
|
|
4
4
|
const newFields = Object.keys(expr);
|
|
5
|
-
if (newFields.length === 0)
|
|
6
|
-
return collection;
|
|
5
|
+
if (newFields.length === 0) return collection;
|
|
7
6
|
return collection.map((obj) => {
|
|
8
7
|
const newObj = { ...obj };
|
|
9
8
|
for (const field of newFields) {
|