safers
Version:
Safely convert to the desired data and error-free refine values.
34 lines (33 loc) • 975 B
JavaScript
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
};