UNPKG

safers

Version:

Safely convert to the desired data and error-free refine values.

34 lines (33 loc) 975 B
import { isArray as u } from "../utils/isArray.js"; import { isBoolean as e } from "../utils/isBoolean.js"; import { isObject as s } from "../utils/isObject.js"; import { isFunction as c } from "../utils/isFunction.js"; import { isNullish as f } from "../utils/isNullish.js"; import { isNumber as l } from "../utils/isNumber.js"; import { isString as p } from "../utils/isString.js"; import "../../lib/identifyType-d39b7385.js"; import "../utils/isNull.js"; import "../utils/isUndefined.js"; const b = { string: (r) => p(r), number: (r) => l(r), boolean: (r) => e(r), object: (r) => s(r), array: (r) => u(r), noNullish: (r) => !f(r), function: null // This is a placeholder for the callback function. }; function D(r, t, o = []) { if (!u(r) || r.length === 0) return o; const i = c(t) ? "function" : t, n = b[i]; try { return n && i !== "function" ? r.filter((m) => n(m)) : r.filter(t); } catch { return o; } } export { D as filter };