@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
43 lines (42 loc) • 1.79 kB
JavaScript
// src/types/Is.ts
var isDefined = (o) => o !== void 0 && o !== null;
var isUndefined = (v) => v === void 0 || v === null;
var isEmpty = (o) => o === "" || o === null || o === void 0 || isArray(o) && o.length === 0;
var isNotEmpty = (o) => o !== "" && o !== null && o !== void 0 && (!isArray(o) || o.length > 0);
var isString = (o) => o instanceof String || typeof o === "string";
var isIsoDateString = (o) => isString(o) && /^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)$/.test(o);
var isBoolean = (o) => isDefined(o) && typeof o === "boolean";
var isTrue = (o) => isFunction(o) ? isTrue(o()) : isBoolean(o) ? o : !!o;
var isNumber = (o) => isDefined(o) && typeof o === "number" && !Number.isNaN(o);
var isObject = (o) => o != null && typeof o === "object" && !isArray(o);
var isEmptyObject = (o) => isObject(o) && Object.getOwnPropertyNames(o).length === 0;
var isFunction = (o) => isDefined(o) && typeof o === "function";
var isArray = (o) => isDefined(o) && o instanceof Array;
var isIn = (o, values) => isArray(values) && values.some((v) => v === o);
var isIntersecting = (o, values) => isArray(o) && isArray(values) && o.some((ov) => isIn(ov, values));
var isError = (e) => isDefined(e) && e instanceof Error;
var isNotPresent = (...os) => os.some(
(o) => o === null || o === void 0 || o === "" || o instanceof Array && o.length === 0 || typeof o === "object" && Object.getOwnPropertyNames(o).length === 0
);
var isPresent = (...os) => !isNotPresent(...os);
export {
isDefined,
isUndefined,
isEmpty,
isNotEmpty,
isString,
isIsoDateString,
isBoolean,
isTrue,
isNumber,
isObject,
isEmptyObject,
isFunction,
isArray,
isIn,
isIntersecting,
isError,
isNotPresent,
isPresent
};
//# sourceMappingURL=chunk-DEJ7A5PY.mjs.map