UNPKG

@3fv/guard

Version:

TypeScript guard suite

47 lines 1.45 kB
import _isNil from 'lodash/isNil.js'; import _isObject from 'lodash/isObject.js'; import _isString from 'lodash/isString.js'; import _isNumber from 'lodash/isNumber.js'; import _isFunction from 'lodash/isFunction.js'; import { applyTypeGuardExtras } from "../applyTypeGuardExtras.js"; export function isNil(o) { return _isNil(o); } export function isDefined(o) { return !isNil(o); } export function isObject(o) { return !isNil(o) && _isObject(o); } export function isPromise(o) { return !isNil(o) && isObject(o) && (o instanceof Promise || isFunction(o.then)); } export function isObjectType(o, type) { return !isNil(o) && (o instanceof type || o.$$clazz === type.name); } export function isString(o) { return !isNil(o) && _isString(o); } export function isNumber(o) { return !isNil(o) && _isNumber(o) && !isNaN(o); } export const isFunction = applyTypeGuardExtras(function isFunction(o) { return !isNil(o) && _isFunction(o); }); export function isSymbol(o) { return !isNil(o) && typeof o === 'symbol'; } export function isBoolean(o) { return typeof o === "boolean"; } export function isDate(o) { return o instanceof Date; } export const PrimitiveProducers = Array(String, Number, Boolean); export function isPrimitiveProducer(o) { return PrimitiveProducers.includes(o); } export function isPrimitive(o) { return isBoolean(o) || isString(o) || isNumber(o); } //# sourceMappingURL=primitive.js.map