UNPKG

@snap/camera-kit

Version:
80 lines 2.41 kB
export function isString(value) { return typeof value === "string"; } export function isSafeString(value) { return isString(value) && encodeURIComponent(value) === value; } export function isNumber(value) { return typeof value === "number"; } export function isValidNumber(value) { return isNumber(value) && !Number.isNaN(value) && Number.isFinite(value); } export function isValidNumberOrUndefined(value) { return isUndefined(value) || isValidNumber(value); } export function isArrayOfType(elementTypeGuard, value) { return Array.isArray(value) && value.every((id) => elementTypeGuard(id)); } export function isSafeStringArray(value) { return isArrayOfType(isSafeString, value); } export function isStringOrUndefined(value) { return isUndefined(value) || isString(value); } export function isArrayBuffer(value) { return value instanceof ArrayBuffer; } export function isTypedArray(value) { return value instanceof Object.getPrototypeOf(Uint8Array); } export function isUndefined(value) { return typeof value === "undefined"; } export function isEmptyString(value) { return value === ""; } export function isUndefinedOrEmptyString(value) { return isUndefined(value) || isEmptyString(value); } export function isRecord(value) { return typeof value === "object" && value !== null && !Array.isArray(value); } export function isFunction(value) { return typeof value === "function"; } export function isDate(value) { return value instanceof Date; } export function isDateOrUndefined(value) { return isUndefined(value) || isDate(value); } export function isValidDate(value) { return isDate(value) && !isNaN(value.getTime()); } export function predicateRecordValues(predicate) { return (value) => { for (const v of Object.values(value)) if (!predicate(v)) return false; return true; }; } export function isEmptyOrSafeUrl(urlString) { if (!urlString) return true; try { const url = new URL(urlString); return url.protocol === "https:" || url.protocol === "http:"; } catch (_a) { return false; } } export function isPromise(value) { if (!value) return false; const maybePromise = value; return typeof maybePromise.then === "function" && typeof maybePromise.catch === "function"; } //# sourceMappingURL=typeguards.js.map