UNPKG

mingo

Version:

MongoDB query language for in-memory objects

22 lines (21 loc) 586 B
import { evalExpr } from "../../../core/_internal"; import { isArray, isNil } from "../../../util"; import { errExpectArray } from "../_internal"; const $log = (obj, expr, options) => { const args = evalExpr(obj, expr, options); if (isArray(args) && args.length == 2) { let t_num = true; for (const v of args) { if (isNil(v)) return null; t_num &&= typeof v === "number"; } if (t_num) return Math.log10(args[0]) / Math.log10(args[1]); } return errExpectArray(options.failOnError, "$log", { size: 2, type: "number" }); }; export { $log };