typedescriptor
Version:
typedescriptor identifies and describes types.
56 lines (55 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.typeOf = void 0;
const isArray_1 = require("./isArray");
const isBoolean_1 = require("./isBoolean");
const defekt_1 = require("defekt");
const isFunction_1 = require("./isFunction");
const isMap_1 = require("./isMap");
const isNull_1 = require("./isNull");
const isNumber_1 = require("./isNumber");
const isObject_1 = require("./isObject");
const isSet_1 = require("./isSet");
const isString_1 = require("./isString");
const isSymbol_1 = require("./isSymbol");
const isUndefined_1 = require("./isUndefined");
const typeOf = function (value) {
if (isArray_1.isArray(value)) {
return 'array';
}
if (isBoolean_1.isBoolean(value)) {
return 'boolean';
}
if (defekt_1.isError(value)) {
return 'error';
}
if (isFunction_1.isFunction(value)) {
return 'function';
}
if (isMap_1.isMap(value)) {
return 'map';
}
if (isNull_1.isNull(value)) {
return 'null';
}
if (isNumber_1.isNumber(value)) {
return 'number';
}
if (isSet_1.isSet(value)) {
return 'set';
}
if (isString_1.isString(value)) {
return 'string';
}
if (isSymbol_1.isSymbol(value)) {
return 'symbol';
}
if (isUndefined_1.isUndefined(value)) {
return 'undefined';
}
if (isObject_1.isObject(value)) {
return 'object';
}
throw new Error('This should not have happened! Did you invent a new scalar type?');
};
exports.typeOf = typeOf;