jet-validators
Version:
Fast, zero-dependency TypeScript validators and utilities for runtime checks, parsing, and lightweight object schema validation.
1,469 lines (1,468 loc) • 37.7 kB
JavaScript
import { parseBoolean } from './utils/index.js';
export function isUndef(arg) {
return arg === undefined;
}
export function isNull(arg) {
return arg === null;
}
export function isNullish(arg) {
return arg === null || arg === undefined;
}
export function isBoolean(arg) {
return typeof arg === 'boolean';
}
export function isOptionalBoolean(arg) {
return arg === undefined || typeof arg === 'boolean';
}
export function isNullableBoolean(arg) {
return arg === null || typeof arg === 'boolean';
}
export function isNullishBoolean(arg) {
return arg === null || arg === undefined || typeof arg === 'boolean';
}
export function isBooleanArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
const length = arg.length;
for (let i = 0; i < length; i += 1) {
if (typeof arg[i] !== 'boolean') {
return false;
}
}
return true;
}
export function isOptionalBooleanArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
const length = arg.length;
for (let i = 0; i < length; i += 1) {
if (typeof arg[i] !== 'boolean') {
return false;
}
}
return true;
}
export function isNullableBooleanArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
const length = arg.length;
for (let i = 0; i < length; i += 1) {
if (typeof arg[i] !== 'boolean') {
return false;
}
}
return true;
}
export function isNullishBooleanArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
const length = arg.length;
for (let i = 0; i < length; i += 1) {
if (typeof arg[i] !== 'boolean') {
return false;
}
}
return true;
}
export function isValidBoolean(arg) {
try {
parseBoolean(arg);
return true;
}
catch {
return false;
}
}
export function isOptionalValidBoolean(arg) {
if (arg === undefined) {
return true;
}
try {
parseBoolean(arg);
return true;
}
catch {
return false;
}
}
export function isNullableValidBoolean(arg) {
if (arg === null) {
return true;
}
try {
parseBoolean(arg);
return true;
}
catch {
return false;
}
}
export function isNullishValidBoolean(arg) {
if (arg === null || arg === undefined) {
return true;
}
try {
parseBoolean(arg);
return true;
}
catch {
return false;
}
}
export function isValidBooleanArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
try {
parseBoolean(value);
}
catch {
return false;
}
}
return true;
}
export function isOptionalValidBooleanArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
try {
parseBoolean(value);
}
catch {
return false;
}
}
return true;
}
export function isNullableValidBooleanArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
try {
parseBoolean(value);
}
catch {
return false;
}
}
return true;
}
export function isNullishValidBooleanArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
try {
parseBoolean(value);
}
catch {
return false;
}
}
return true;
}
export function isNumber(arg) {
return typeof arg === 'number' && !isNaN(arg);
}
export function isOptionalNumber(arg) {
return arg === undefined || (typeof arg === 'number' && !isNaN(arg));
}
export function isNullableNumber(arg) {
return arg === null || (typeof arg === 'number' && !isNaN(arg));
}
export function isNullishNumber(arg) {
return (arg === null ||
arg === undefined ||
(typeof arg === 'number' && !isNaN(arg)));
}
export function isNumberArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value)) {
return false;
}
}
return true;
}
export function isOptionalNumberArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value)) {
return false;
}
}
return true;
}
export function isNullableNumberArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value)) {
return false;
}
}
return true;
}
export function isNullishNumberArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value)) {
return false;
}
}
return true;
}
export function isPositiveNumber(arg) {
return typeof arg === 'number' && !isNaN(arg) && arg > 0;
}
export function isOptionalPositiveNumber(arg) {
return (arg === undefined || (typeof arg === 'number' && !isNaN(arg) && arg > 0));
}
export function isNullablePositiveNumber(arg) {
return arg === null || (typeof arg === 'number' && !isNaN(arg) && arg > 0);
}
export function isNullishPositiveNumber(arg) {
return (arg === null ||
arg === undefined ||
(typeof arg === 'number' && !isNaN(arg) && arg > 0));
}
export function isPositiveNumberArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value <= 0) {
return false;
}
}
return true;
}
export function isOptionalPositiveNumberArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value <= 0) {
return false;
}
}
return true;
}
export function isNullablePositiveNumberArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value <= 0) {
return false;
}
}
return true;
}
export function isNullishPositiveNumberArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value <= 0) {
return false;
}
}
return true;
}
export function isNegativeNumber(arg) {
return typeof arg === 'number' && !isNaN(arg) && arg < 0;
}
export function isOptionalNegativeNumber(arg) {
return (arg === undefined || (typeof arg === 'number' && !isNaN(arg) && arg < 0));
}
export function isNullableNegativeNumber(arg) {
return arg === null || (typeof arg === 'number' && !isNaN(arg) && arg < 0);
}
export function isNullishNegativeNumber(arg) {
return (arg === null ||
arg === undefined ||
(typeof arg === 'number' && !isNaN(arg) && arg < 0));
}
export function isNegativeNumberArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value >= 0) {
return false;
}
}
return true;
}
export function isOptionalNegativeNumberArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value >= 0) {
return false;
}
}
return true;
}
export function isNullableNegativeNumberArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value >= 0) {
return false;
}
}
return true;
}
export function isNullishNegativeNumberArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value >= 0) {
return false;
}
}
return true;
}
export function isUnsignedNumber(arg) {
return typeof arg === 'number' && !isNaN(arg) && arg >= 0;
}
export function isOptionalUnsignedNumber(arg) {
return (arg === undefined || (typeof arg === 'number' && !isNaN(arg) && arg >= 0));
}
export function isNullableUnsignedNumber(arg) {
return arg === null || (typeof arg === 'number' && !isNaN(arg) && arg >= 0);
}
export function isNullishUnsignedNumber(arg) {
return (arg === null ||
arg === undefined ||
(typeof arg === 'number' && !isNaN(arg) && arg >= 0));
}
export function isUnsignedNumberArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value < 0) {
return false;
}
}
return true;
}
export function isOptionalUnsignedNumberArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value < 0) {
return false;
}
}
return true;
}
export function isNullableUnsignedNumberArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value < 0) {
return false;
}
}
return true;
}
export function isNullishUnsignedNumberArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'number' || isNaN(value) || value < 0) {
return false;
}
}
return true;
}
export function isInteger(arg) {
return Number.isInteger(arg);
}
export function isOptionalInteger(arg) {
return arg === undefined || Number.isInteger(arg);
}
export function isNullableInteger(arg) {
return arg === null || Number.isInteger(arg);
}
export function isNullishInteger(arg) {
return arg === null || arg === undefined || Number.isInteger(arg);
}
export function isIntegerArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value)) {
return false;
}
}
return true;
}
export function isOptionalIntegerArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value)) {
return false;
}
}
return true;
}
export function isNullableIntegerArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value)) {
return false;
}
}
return true;
}
export function isNullishIntegerArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value)) {
return false;
}
}
return true;
}
export function isPositiveInteger(arg) {
return Number.isInteger(arg) && arg > 0;
}
export function isOptionalPositiveInteger(arg) {
return arg === undefined || (Number.isInteger(arg) && arg > 0);
}
export function isNullablePositiveInteger(arg) {
return arg === null || (Number.isInteger(arg) && arg > 0);
}
export function isNullishPositiveInteger(arg) {
return (arg === null ||
arg === undefined ||
(Number.isInteger(arg) && arg > 0));
}
export function isPositiveIntegerArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value <= 0) {
return false;
}
}
return true;
}
export function isOptionalPositiveIntegerArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value <= 0) {
return false;
}
}
return true;
}
export function isNullablePositiveIntegerArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value <= 0) {
return false;
}
}
return true;
}
export function isNullishPositiveIntegerArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value <= 0) {
return false;
}
}
return true;
}
export function isNegativeInteger(arg) {
return Number.isInteger(arg) && arg < 0;
}
export function isOptionalNegativeInteger(arg) {
return arg === undefined || (Number.isInteger(arg) && arg < 0);
}
export function isNullableNegativeInteger(arg) {
return arg === null || (Number.isInteger(arg) && arg < 0);
}
export function isNullishNegativeInteger(arg) {
return (arg === null ||
arg === undefined ||
(Number.isInteger(arg) && arg < 0));
}
export function isNegativeIntegerArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value >= 0) {
return false;
}
}
return true;
}
export function isOptionalNegativeIntegerArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value >= 0) {
return false;
}
}
return true;
}
export function isNullableNegativeIntegerArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value >= 0) {
return false;
}
}
return true;
}
export function isNullishNegativeIntegerArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value >= 0) {
return false;
}
}
return true;
}
export function isUnsignedInteger(arg) {
return Number.isInteger(arg) && arg >= 0;
}
export function isOptionalUnsignedInteger(arg) {
return arg === undefined || (Number.isInteger(arg) && arg >= 0);
}
export function isNullableUnsignedInteger(arg) {
return arg === null || (Number.isInteger(arg) && arg >= 0);
}
export function isNullishUnsignedInteger(arg) {
return (arg === null ||
arg === undefined ||
(Number.isInteger(arg) && arg >= 0));
}
export function isUnsignedIntegerArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value < 0) {
return false;
}
}
return true;
}
export function isOptionalUnsignedIntegerArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value < 0) {
return false;
}
}
return true;
}
export function isNullableUnsignedIntegerArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value < 0) {
return false;
}
}
return true;
}
export function isNullishUnsignedIntegerArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!Number.isInteger(value) || value < 0) {
return false;
}
}
return true;
}
export function isBigInt(arg) {
return typeof arg === 'bigint';
}
export function isOptionalBigInt(arg) {
return arg === undefined || typeof arg === 'bigint';
}
export function isNullableBigInt(arg) {
return arg === null || typeof arg === 'bigint';
}
export function isNullishBigInt(arg) {
return arg === null || arg === undefined || typeof arg === 'bigint';
}
export function isBigIntArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'bigint') {
return false;
}
}
return true;
}
export function isOptionalBigIntArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'bigint') {
return false;
}
}
return true;
}
export function isNullableBigIntArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'bigint') {
return false;
}
}
return true;
}
export function isNullishBigIntArr(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'bigint') {
return false;
}
}
return true;
}
export function isValidNumber(arg) {
const casted = Number(arg);
return !isNaN(casted);
}
export function isOptionalValidNumber(arg) {
if (arg === undefined) {
return true;
}
const casted = Number(arg);
return !isNaN(casted);
}
export function isNullableValidNumber(arg) {
if (arg === null) {
return true;
}
const casted = Number(arg);
return !isNaN(casted);
}
export function isNullishValidNumber(arg) {
if (arg === null || arg === undefined) {
return true;
}
const casted = Number(arg);
return !isNaN(casted);
}
export function isValidNumberArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const casted = Number(value);
if (isNaN(casted)) {
return false;
}
}
return true;
}
export function isOptionalValidNumberArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const casted = Number(value);
if (isNaN(casted)) {
return false;
}
}
return true;
}
export function isNullableValidNumberArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const casted = Number(value);
if (isNaN(casted)) {
return false;
}
}
return true;
}
export function isNishValidNumArr(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const casted = Number(value);
if (isNaN(casted)) {
return false;
}
}
return true;
}
export function isString(arg) {
return typeof arg === 'string';
}
export function isOptionalString(arg) {
return arg === undefined || typeof arg === 'string';
}
export function isNullableString(arg) {
return arg === null || typeof arg === 'string';
}
export function isNullishString(arg) {
return arg === null || arg === undefined || typeof arg === 'string';
}
export function isStringArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string') {
return false;
}
}
return true;
}
export function isOptionalStringArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string') {
return false;
}
}
return true;
}
export function isNullableStringArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string') {
return false;
}
}
return true;
}
export function isNullishStringArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string') {
return false;
}
}
return true;
}
export function isNonEmptyString(arg) {
return typeof arg === 'string' && arg.length > 0;
}
export function isOptionalNonEmptyString(arg) {
return arg === undefined || (typeof arg === 'string' && arg.length > 0);
}
export function isNullableNonEmptyString(arg) {
return arg === null || (typeof arg === 'string' && arg.length > 0);
}
export function isNullishNonEmptyString(arg) {
return (arg === null ||
arg === undefined ||
(typeof arg === 'string' && arg.length > 0));
}
export function isNonEmptyStringArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string' || value.length === 0) {
return false;
}
}
return true;
}
export function isOptionalNonEmptyStringArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string' || value.length === 0) {
return false;
}
}
return true;
}
export function isNullableNonEmptyStringArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string' || value.length === 0) {
return false;
}
}
return true;
}
export function isNullishNonEmptyStringArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'string' || value.length === 0) {
return false;
}
}
return true;
}
export function isSymbol(arg) {
return typeof arg === 'symbol';
}
export function isOptionalSymbol(arg) {
return arg === undefined || typeof arg === 'symbol';
}
export function isNullableSymbol(arg) {
return arg === null || typeof arg === 'symbol';
}
export function isNullishSymbol(arg) {
return arg === null || arg === undefined || typeof arg === 'symbol';
}
export function isSymbolArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'symbol') {
return false;
}
}
return true;
}
export function isOptionalSymbolArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'symbol') {
return false;
}
}
return true;
}
export function isNullableSymbolArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'symbol') {
return false;
}
}
return true;
}
export function isNullishSymbolArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'symbol') {
return false;
}
}
return true;
}
export function isDate(arg) {
return arg instanceof Date && !isNaN(arg.getTime());
}
export function isOptionalDate(arg) {
return arg === undefined || (arg instanceof Date && !isNaN(arg.getTime()));
}
export function isNullableDate(arg) {
return arg === null || (arg instanceof Date && !isNaN(arg.getTime()));
}
export function isNullishDate(arg) {
return (arg === null ||
arg === undefined ||
(arg instanceof Date && !isNaN(arg.getTime())));
}
export function isDateArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!(value instanceof Date) || isNaN(value.getTime())) {
return false;
}
}
return true;
}
export function isOptionalDateArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!(value instanceof Date) || isNaN(value.getTime())) {
return false;
}
}
return true;
}
export function isNullableDateArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!(value instanceof Date) || isNaN(value.getTime())) {
return false;
}
}
return true;
}
export function isNullishDateArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (!(value instanceof Date) || isNaN(value.getTime())) {
return false;
}
}
return true;
}
export function isValidDate(arg) {
const isStringType = typeof arg === 'string';
const isNumberType = typeof arg === 'number' && !isNaN(arg);
const isDateType = arg instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const value = new Date(arg);
return !isNaN(value.getTime());
}
export function isOptionalValidDate(arg) {
if (arg === undefined) {
return true;
}
const isStringType = typeof arg === 'string';
const isNumberType = typeof arg === 'number' && !isNaN(arg);
const isDateType = arg instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const value = new Date(arg);
return !isNaN(value.getTime());
}
export function isNullableValidDate(arg) {
if (arg === null) {
return true;
}
const isStringType = typeof arg === 'string';
const isNumberType = typeof arg === 'number' && !isNaN(arg);
const isDateType = arg instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const value = new Date(arg);
return !isNaN(value.getTime());
}
export function isNullishValidDate(arg) {
if (arg === null || arg === undefined) {
return true;
}
const isStringType = typeof arg === 'string';
const isNumberType = typeof arg === 'number' && !isNaN(arg);
const isDateType = arg instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const value = new Date(arg);
return !isNaN(value.getTime());
}
export function isValidDateArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const isStringType = typeof value === 'string';
const isNumberType = typeof value === 'number' && !isNaN(value);
const isDateType = value instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const parsed = new Date(value);
if (isNaN(parsed.getTime())) {
return false;
}
}
return true;
}
export function isOptionalValidDateArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const isStringType = typeof value === 'string';
const isNumberType = typeof value === 'number' && !isNaN(value);
const isDateType = value instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const parsed = new Date(value);
if (isNaN(parsed.getTime())) {
return false;
}
}
return true;
}
export function isNullableValidDateArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const isStringType = typeof value === 'string';
const isNumberType = typeof value === 'number' && !isNaN(value);
const isDateType = value instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const parsed = new Date(value);
if (isNaN(parsed.getTime())) {
return false;
}
}
return true;
}
export function isNullishValidDateArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
const isStringType = typeof value === 'string';
const isNumberType = typeof value === 'number' && !isNaN(value);
const isDateType = value instanceof Date;
if (!isStringType && !isNumberType && !isDateType) {
return false;
}
const parsed = new Date(value);
if (isNaN(parsed.getTime())) {
return false;
}
}
return true;
}
export function isObject(arg) {
return arg !== null && typeof arg === 'object';
}
export function isOptionalObject(arg) {
return arg === undefined || (arg !== null && typeof arg === 'object');
}
export function isNullableObject(arg) {
return arg === null || (arg !== null && typeof arg === 'object');
}
export function isNullishObject(arg) {
return (arg === null ||
arg === undefined ||
(arg !== null && typeof arg === 'object'));
}
export function isObjectArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (value === null || typeof value !== 'object') {
return false;
}
}
return true;
}
export function isOptionalObjectArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (value === null || typeof value !== 'object') {
return false;
}
}
return true;
}
export function isNullableObjectArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (value === null || typeof value !== 'object') {
return false;
}
}
return true;
}
export function isNullishObjectArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (value === null || typeof value !== 'object') {
return false;
}
}
return true;
}
export function isFunction(arg) {
return typeof arg === 'function';
}
export function isOptionalFunction(arg) {
return arg === undefined || typeof arg === 'function';
}
export function isNullableFunction(arg) {
return arg === null || typeof arg === 'function';
}
export function isNullishFunction(arg) {
return arg === null || arg === undefined || typeof arg === 'function';
}
export function isFunctionArray(arg) {
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'function') {
return false;
}
}
return true;
}
export function isOptionalFunctionArray(arg) {
if (arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'function') {
return false;
}
}
return true;
}
export function isNullableFunctionArray(arg) {
if (arg === null) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'function') {
return false;
}
}
return true;
}
export function isNullishFunctionArray(arg) {
if (arg === null || arg === undefined) {
return true;
}
if (!Array.isArray(arg)) {
return false;
}
for (let i = 0; i < arg.length; i += 1) {
const value = arg[i];
if (typeof value !== 'function') {
return false;
}
}
return true;
}