type-check-utility
Version:
Simple utility for type check.
77 lines • 3.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isReactComponent = exports.isReactJSXElement = exports.isNotDefinedOrEmptyObject = exports.isNotDefinedOrWhiteSpace = exports.isNotDefinedOrEmpty = exports.isBoolean = exports.isRegex = exports.isNumber = exports.isObject = exports.isArray = exports.isString = exports.isDefined = void 0;
var consName = function (data) {
if ((0, exports.isDefined)(data) && data.constructor)
return data.constructor.name;
return null;
};
var isDefined = function (data) {
return data !== null && data !== undefined;
};
exports.isDefined = isDefined;
var isString = function (data) {
return consName(data) === 'String';
};
exports.isString = isString;
var isArray = function (data) {
return consName(data) === 'Array';
};
exports.isArray = isArray;
var isObject = function (data) {
return (!(0, exports.isArray)(data) && typeof (data) === 'object') || (consName(data) === 'Object');
};
exports.isObject = isObject;
var isNumber = function (data) {
return (0, exports.isDefined)(data) && typeof (data) === 'number';
};
exports.isNumber = isNumber;
var isRegex = function (data) {
return consName(data) === 'RegExp';
};
exports.isRegex = isRegex;
var isBoolean = function (data) {
return consName(data) === 'Boolean';
};
exports.isBoolean = isBoolean;
var isNotDefinedOrEmpty = function (data) {
return !(0, exports.isDefined)(data) || data === '';
};
exports.isNotDefinedOrEmpty = isNotDefinedOrEmpty;
var isNotDefinedOrWhiteSpace = function (data) {
return !(0, exports.isDefined)(data) || (data.trim ? data.trim() : null) === '';
};
exports.isNotDefinedOrWhiteSpace = isNotDefinedOrWhiteSpace;
var isNotDefinedOrEmptyObject = function (data) {
if ((0, exports.isNotDefinedOrWhiteSpace)(data))
return true;
if ((0, exports.isArray)(data) && data.length === 0)
return true;
if ((0, exports.isObject)(data) && Object.keys(data).length === 0)
return true;
return false;
};
exports.isNotDefinedOrEmptyObject = isNotDefinedOrEmptyObject;
var isReactJSXElement = function (data) {
var _a;
if (!data)
return false;
if (((_a = data === null || data === void 0 ? void 0 : data.$$typeof) === null || _a === void 0 ? void 0 : _a.toString()) === 'Symbol(react.element)') {
return true;
}
return false;
};
exports.isReactJSXElement = isReactJSXElement;
var isReactComponent = function (data) {
var _a;
if (!data)
return false;
if (((_a = data === null || data === void 0 ? void 0 : data.$$typeof) === null || _a === void 0 ? void 0 : _a.toString()) === 'Symbol(react.memo)') {
return true;
}
return false;
};
exports.isReactComponent = isReactComponent;
var typeCheck = { isDefined: exports.isDefined, isString: exports.isString, isObject: exports.isObject, isArray: exports.isArray, isNumber: exports.isNumber, isRegex: exports.isRegex, isNotDefinedOrEmpty: exports.isNotDefinedOrEmpty, isNotDefinedOrWhiteSpace: exports.isNotDefinedOrWhiteSpace, isNotDefinedOrEmptyObject: exports.isNotDefinedOrEmptyObject, isReactComponent: exports.isReactComponent, isReactJSXElement: exports.isReactJSXElement };
exports.default = typeCheck;
//# sourceMappingURL=index.js.map