typescanner
Version:
A simple library for implementing type guard in TypeScript.
63 lines • 2.42 kB
JavaScript
;
exports.__esModule = true;
exports.isInstanceOf = exports.isList = exports.isOptional = exports.isObject = exports.isArray = exports.isUnion = exports.isDate = exports.isNull = exports.isUndefined = exports.isBigint = exports.isSymbol = exports.isBoolean = exports.isNumber = exports.isString = void 0;
var isString = function (value) {
return typeof value === "string";
};
exports.isString = isString;
var isNumber = function (value) {
return typeof value === "number";
};
exports.isNumber = isNumber;
var isBoolean = function (value) { return typeof value === "boolean"; };
exports.isBoolean = isBoolean;
var isSymbol = function (value) {
return typeof value === "symbol";
};
exports.isSymbol = isSymbol;
var isBigint = function (value) {
return typeof value === "bigint";
};
exports.isBigint = isBigint;
var isUndefined = function (value) { return typeof value === "undefined"; };
exports.isUndefined = isUndefined;
var isNull = function (value) {
return value === null;
};
exports.isNull = isNull;
var isDate = function (value) {
return value instanceof Date;
};
exports.isDate = isDate;
var isUnion = function (value) {
var conditions = [];
for (var _i = 1; _i < arguments.length; _i++) {
conditions[_i - 1] = arguments[_i];
}
return conditions.some(function (condition) { return condition(value); });
};
exports.isUnion = isUnion;
var isArray = function (array) {
var conditions = [];
for (var _i = 1; _i < arguments.length; _i++) {
conditions[_i - 1] = arguments[_i];
}
return Array.isArray(array) &&
array.every(function (value) { return conditions.some(function (cond) { return cond(value); }); });
};
exports.isArray = isArray;
var isObject = function (value) { return typeof value === "object" && value !== null; };
exports.isObject = isObject;
var isOptional = function (value) {
var conditions = [];
for (var _i = 1; _i < arguments.length; _i++) {
conditions[_i - 1] = arguments[_i];
}
return value === undefined || conditions.some(function (cond) { return cond(value); });
};
exports.isOptional = isOptional;
var isList = function (value, array) { return array.length !== 0 && array.includes(value); };
exports.isList = isList;
var isInstanceOf = function (value, constructor) { return value instanceof constructor; };
exports.isInstanceOf = isInstanceOf;
//# sourceMappingURL=index.js.map