@n3okill/utils
Version:
Many javascript helpers
56 lines • 2.36 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.filterFunction = void 0;
exports._filterFunction = _filterFunction;
exports.constructorName = constructorName;
const isArray_1 = require("../type/isArray");
const isDate_1 = require("../type/isDate");
const isError_1 = require("../type/isError");
const isFunctionType_1 = require("../type/isFunctionType");
const isMap_1 = require("../type/isMap");
const isNullOrUndefined_1 = require("../type/isNullOrUndefined");
const isObject_1 = require("../type/isObject");
const isPrimitive_1 = require("../type/isPrimitive");
const isRegExp_1 = require("../type/isRegExp");
const isSet_1 = require("../type/isSet");
const isTypedArray_1 = require("../type/isTypedArray");
const equalArray_1 = require("./equalArray");
const equalDate_1 = require("./equalDate");
const equalError_1 = require("./equalError");
const equalFunction_1 = require("./equalFunction");
const equalMap_1 = require("./equalMap");
const equalObject_1 = require("./equalObject");
const equalPrimitive_1 = require("./equalPrimitive");
const equalRegExp_1 = require("./equalRegExp");
const equalSet_1 = require("./equalSet");
const equalTypedArray_1 = require("./equalTypedArray");
exports.filterFunction = [
[isArray_1.isArray, equalArray_1.equalArray],
[isDate_1.isDate, equalDate_1.equalDate],
[isError_1.isError, equalError_1.equalError],
[isFunctionType_1.isFunctionType, equalFunction_1.equalFunction],
[isMap_1.isMap, equalMap_1.equalMap],
[isObject_1.isObject, equalObject_1.equalObject],
[isPrimitive_1.isPrimitive, equalPrimitive_1.equalPrimitive],
[isRegExp_1.isRegExp, equalRegExp_1.equalRegExp],
[isSet_1.isSet, equalSet_1.equalSet],
[isTypedArray_1.isTypedArray, equalTypedArray_1.equalTypedArray],
];
function _filterFunction(a, b) {
for (const [_is, _equal] of exports.filterFunction) {
if (_is(a) && _is(b)) {
return _equal(a, b);
}
}
return false;
}
/**
* Returns the name of the constructor of the argument if it is an object, otherwise returns an empty
* string
* @param {unknown} arg - unknown
* @returns The name of the constructor of the argument.
*/
function constructorName(arg) {
return (0, isNullOrUndefined_1.isNullOrUndefined)(arg) ? "" : arg.constructor.name;
}
//# sourceMappingURL=_internal.js.map