mingo
Version:
MongoDB query language for in-memory objects
20 lines (19 loc) • 626 B
JavaScript
import { computeValue } from "../../../core";
import { assert, isNil, isNumber } from "../../../util";
import { truncate } from "./_internal";
const $trunc = (obj, expr, options) => {
const arr = computeValue(obj, expr, null, options);
const num = arr[0];
const places = arr[1];
if (isNil(num) || isNaN(num) || Math.abs(num) === Infinity)
return num;
assert(isNumber(num), "$trunc expression must resolve to a number.");
assert(
isNil(places) || isNumber(places) && places > -20 && places < 100,
"$trunc expression has invalid place"
);
return truncate(num, places, false);
};
export {
$trunc
};