valibot
Version:
The modular and type safe schema library for validating structural data
1,975 lines (1,879 loc) • 184 kB
JavaScript
// src/storages/globalConfig/globalConfig.ts
var store;
function setGlobalConfig(config2) {
store = { ...store, ...config2 };
}
// @__NO_SIDE_EFFECTS__
function getGlobalConfig(config2) {
return {
lang: config2?.lang ?? store?.lang,
message: config2?.message,
abortEarly: config2?.abortEarly ?? store?.abortEarly,
abortPipeEarly: config2?.abortPipeEarly ?? store?.abortPipeEarly
};
}
function deleteGlobalConfig() {
store = void 0;
}
// src/storages/globalMessage/globalMessage.ts
var store2;
function setGlobalMessage(message, lang) {
if (!store2) store2 = /* @__PURE__ */ new Map();
store2.set(lang, message);
}
// @__NO_SIDE_EFFECTS__
function getGlobalMessage(lang) {
return store2?.get(lang);
}
function deleteGlobalMessage(lang) {
store2?.delete(lang);
}
// src/storages/schemaMessage/schemaMessage.ts
var store3;
function setSchemaMessage(message, lang) {
if (!store3) store3 = /* @__PURE__ */ new Map();
store3.set(lang, message);
}
// @__NO_SIDE_EFFECTS__
function getSchemaMessage(lang) {
return store3?.get(lang);
}
function deleteSchemaMessage(lang) {
store3?.delete(lang);
}
// src/storages/specificMessage/specificMessage.ts
var store4;
function setSpecificMessage(reference, message, lang) {
if (!store4) store4 = /* @__PURE__ */ new Map();
if (!store4.get(reference)) store4.set(reference, /* @__PURE__ */ new Map());
store4.get(reference).set(lang, message);
}
// @__NO_SIDE_EFFECTS__
function getSpecificMessage(reference, lang) {
return store4?.get(reference)?.get(lang);
}
function deleteSpecificMessage(reference, lang) {
store4?.get(reference)?.delete(lang);
}
// src/utils/_stringify/_stringify.ts
// @__NO_SIDE_EFFECTS__
function _stringify(input) {
const type = typeof input;
if (type === "string") {
return `"${input}"`;
}
if (type === "number" || type === "bigint" || type === "boolean") {
return `${input}`;
}
if (type === "object" || type === "function") {
return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? "null";
}
return type;
}
// src/utils/_addIssue/_addIssue.ts
function _addIssue(context, label, dataset, config2, other) {
const input = other && "input" in other ? other.input : dataset.value;
const expected = other?.expected ?? context.expects ?? null;
const received = other?.received ?? _stringify(input);
const issue = {
kind: context.kind,
type: context.type,
input,
expected,
received,
message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : "R"}eceived ${received}`,
requirement: context.requirement,
path: other?.path,
issues: other?.issues,
lang: config2.lang,
abortEarly: config2.abortEarly,
abortPipeEarly: config2.abortPipeEarly
};
const isSchema = context.kind === "schema";
const message = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config2.message ?? getGlobalMessage(issue.lang);
if (message !== void 0) {
issue.message = typeof message === "function" ? (
// @ts-expect-error
message(issue)
) : message;
}
if (isSchema) {
dataset.typed = false;
}
if (dataset.issues) {
dataset.issues.push(issue);
} else {
dataset.issues = [issue];
}
}
// src/utils/_getByteCount/_getByteCount.ts
var textEncoder;
// @__NO_SIDE_EFFECTS__
function _getByteCount(input) {
if (!textEncoder) {
textEncoder = new TextEncoder();
}
return textEncoder.encode(input).length;
}
// src/utils/_getGraphemeCount/_getGraphemeCount.ts
var segmenter;
// @__NO_SIDE_EFFECTS__
function _getGraphemeCount(input) {
if (!segmenter) {
segmenter = new Intl.Segmenter();
}
const segments = segmenter.segment(input);
let count = 0;
for (const _ of segments) {
count++;
}
return count;
}
// src/utils/_getStandardProps/_getStandardProps.ts
// @__NO_SIDE_EFFECTS__
function _getStandardProps(context) {
return {
version: 1,
vendor: "valibot",
validate(value2) {
return context["~run"]({ value: value2 }, getGlobalConfig());
}
};
}
// src/utils/_getWordCount/_getWordCount.ts
var store5;
// @__NO_SIDE_EFFECTS__
function _getWordCount(locales, input) {
if (!store5) {
store5 = /* @__PURE__ */ new Map();
}
if (!store5.get(locales)) {
store5.set(locales, new Intl.Segmenter(locales, { granularity: "word" }));
}
const segments = store5.get(locales).segment(input);
let count = 0;
for (const segment of segments) {
if (segment.isWordLike) {
count++;
}
}
return count;
}
// src/utils/_isLuhnAlgo/_isLuhnAlgo.ts
var NON_DIGIT_REGEX = /\D/gu;
// @__NO_SIDE_EFFECTS__
function _isLuhnAlgo(input) {
const number2 = input.replace(NON_DIGIT_REGEX, "");
let length2 = number2.length;
let bit = 1;
let sum = 0;
while (length2) {
const value2 = +number2[--length2];
bit ^= 1;
sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;
}
return sum % 10 === 0;
}
// src/utils/_isValidObjectKey/_isValidObjectKey.ts
// @__NO_SIDE_EFFECTS__
function _isValidObjectKey(object2, key) {
return Object.hasOwn(object2, key) && key !== "__proto__" && key !== "prototype" && key !== "constructor";
}
// src/utils/_joinExpects/_joinExpects.ts
// @__NO_SIDE_EFFECTS__
function _joinExpects(values2, separator) {
const list = [...new Set(values2)];
if (list.length > 1) {
return `(${list.join(` ${separator} `)})`;
}
return list[0] ?? "never";
}
// src/utils/entriesFromList/entriesFromList.ts
// @__NO_SIDE_EFFECTS__
function entriesFromList(list, schema) {
const entries = {};
for (const key of list) {
entries[key] = schema;
}
return entries;
}
// src/utils/entriesFromObjects/entriesFromObjects.ts
// @__NO_SIDE_EFFECTS__
function entriesFromObjects(schemas) {
const entries = {};
for (const schema of schemas) {
Object.assign(entries, schema.entries);
}
return entries;
}
// src/utils/getDotPath/getDotPath.ts
// @__NO_SIDE_EFFECTS__
function getDotPath(issue) {
if (issue.path) {
let key = "";
for (const item of issue.path) {
if (typeof item.key === "string" || typeof item.key === "number") {
if (key) {
key += `.${item.key}`;
} else {
key += item.key;
}
} else {
return null;
}
}
return key;
}
return null;
}
// src/utils/isOfKind/isOfKind.ts
// @__NO_SIDE_EFFECTS__
function isOfKind(kind, object2) {
return object2.kind === kind;
}
// src/utils/isOfType/isOfType.ts
// @__NO_SIDE_EFFECTS__
function isOfType(type, object2) {
return object2.type === type;
}
// src/utils/isValiError/isValiError.ts
// @__NO_SIDE_EFFECTS__
function isValiError(error) {
return error instanceof ValiError;
}
// src/utils/ValiError/ValiError.ts
var ValiError = class extends Error {
/**
* Creates a Valibot error with useful information.
*
* @param issues The error issues.
*/
constructor(issues) {
super(issues[0].message);
this.name = "ValiError";
this.issues = issues;
}
};
// src/actions/args/args.ts
// @__NO_SIDE_EFFECTS__
function args(schema) {
return {
kind: "transformation",
type: "args",
reference: args,
async: false,
schema,
"~run"(dataset, config2) {
const func = dataset.value;
dataset.value = (...args_) => {
const argsDataset = this.schema["~run"]({ value: args_ }, config2);
if (argsDataset.issues) {
throw new ValiError(argsDataset.issues);
}
return func(...argsDataset.value);
};
return dataset;
}
};
}
// src/actions/args/argsAsync.ts
// @__NO_SIDE_EFFECTS__
function argsAsync(schema) {
return {
kind: "transformation",
type: "args",
reference: argsAsync,
async: false,
schema,
"~run"(dataset, config2) {
const func = dataset.value;
dataset.value = async (...args2) => {
const argsDataset = await schema["~run"]({ value: args2 }, config2);
if (argsDataset.issues) {
throw new ValiError(argsDataset.issues);
}
return func(...argsDataset.value);
};
return dataset;
}
};
}
// src/actions/await/awaitAsync.ts
// @__NO_SIDE_EFFECTS__
function awaitAsync() {
return {
kind: "transformation",
type: "await",
reference: awaitAsync,
async: true,
async "~run"(dataset) {
dataset.value = await dataset.value;
return dataset;
}
};
}
// src/regex.ts
var BASE64_REGEX = /^(?:[\da-z+/]{4})*(?:[\da-z+/]{2}==|[\da-z+/]{3}=)?$/iu;
var BIC_REGEX = /^[A-Z]{6}(?!00)[\dA-Z]{2}(?:[\dA-Z]{3})?$/u;
var CUID2_REGEX = /^[a-z][\da-z]*$/u;
var DECIMAL_REGEX = /^[+-]?\d+(?:\.\d+)?$/u;
var DIGITS_REGEX = /^\d+$/u;
var EMAIL_REGEX = /^[\w+-]+(?:\.[\w+-]+)*@[\da-z]+(?:[.-][\da-z]+)*\.[a-z]{2,}$/iu;
var EMOJI_REGEX = (
// eslint-disable-next-line redos-detector/no-unsafe-regex, regexp/no-dupe-disjunctions -- false positives
/^(?:[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}))*)+$/u
);
var HEXADECIMAL_REGEX = /^(?:0[hx])?[\da-fA-F]+$/u;
var HEX_COLOR_REGEX = /^#(?:[\da-fA-F]{3,4}|[\da-fA-F]{6}|[\da-fA-F]{8})$/u;
var IMEI_REGEX = /^\d{15}$|^\d{2}-\d{6}-\d{6}-\d$/u;
var IPV4_REGEX = (
// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive
/^(?:(?:[1-9]|1\d|2[0-4])?\d|25[0-5])(?:\.(?:(?:[1-9]|1\d|2[0-4])?\d|25[0-5])){3}$/u
);
var IPV6_REGEX = /^(?:(?:[\da-f]{1,4}:){7}[\da-f]{1,4}|(?:[\da-f]{1,4}:){1,7}:|(?:[\da-f]{1,4}:){1,6}:[\da-f]{1,4}|(?:[\da-f]{1,4}:){1,5}(?::[\da-f]{1,4}){1,2}|(?:[\da-f]{1,4}:){1,4}(?::[\da-f]{1,4}){1,3}|(?:[\da-f]{1,4}:){1,3}(?::[\da-f]{1,4}){1,4}|(?:[\da-f]{1,4}:){1,2}(?::[\da-f]{1,4}){1,5}|[\da-f]{1,4}:(?::[\da-f]{1,4}){1,6}|:(?:(?::[\da-f]{1,4}){1,7}|:)|fe80:(?::[\da-f]{0,4}){0,4}%[\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\d)?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1?\d)?\d)|(?:[\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\d)?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1?\d)?\d))$/iu;
var IP_REGEX = /^(?:(?:[1-9]|1\d|2[0-4])?\d|25[0-5])(?:\.(?:(?:[1-9]|1\d|2[0-4])?\d|25[0-5])){3}$|^(?:(?:[\da-f]{1,4}:){7}[\da-f]{1,4}|(?:[\da-f]{1,4}:){1,7}:|(?:[\da-f]{1,4}:){1,6}:[\da-f]{1,4}|(?:[\da-f]{1,4}:){1,5}(?::[\da-f]{1,4}){1,2}|(?:[\da-f]{1,4}:){1,4}(?::[\da-f]{1,4}){1,3}|(?:[\da-f]{1,4}:){1,3}(?::[\da-f]{1,4}){1,4}|(?:[\da-f]{1,4}:){1,2}(?::[\da-f]{1,4}){1,5}|[\da-f]{1,4}:(?::[\da-f]{1,4}){1,6}|:(?:(?::[\da-f]{1,4}){1,7}|:)|fe80:(?::[\da-f]{0,4}){0,4}%[\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\d)?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1?\d)?\d)|(?:[\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\d)?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1?\d)?\d))$/iu;
var ISO_DATE_REGEX = /^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])$/u;
var ISO_DATE_TIME_REGEX = /^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])[T ](?:0\d|1\d|2[0-3]):[0-5]\d$/u;
var ISO_TIME_REGEX = /^(?:0\d|1\d|2[0-3]):[0-5]\d$/u;
var ISO_TIME_SECOND_REGEX = /^(?:0\d|1\d|2[0-3])(?::[0-5]\d){2}$/u;
var ISO_TIMESTAMP_REGEX = /^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])[T ](?:0\d|1\d|2[0-3])(?::[0-5]\d){2}(?:\.\d{1,9})?(?:Z|[+-](?:0\d|1\d|2[0-3])(?::?[0-5]\d)?)$/u;
var ISO_WEEK_REGEX = /^\d{4}-W(?:0[1-9]|[1-4]\d|5[0-3])$/u;
var MAC48_REGEX = /^(?:[\da-f]{2}:){5}[\da-f]{2}$|^(?:[\da-f]{2}-){5}[\da-f]{2}$|^(?:[\da-f]{4}\.){2}[\da-f]{4}$/iu;
var MAC64_REGEX = /^(?:[\da-f]{2}:){7}[\da-f]{2}$|^(?:[\da-f]{2}-){7}[\da-f]{2}$|^(?:[\da-f]{4}\.){3}[\da-f]{4}$|^(?:[\da-f]{4}:){3}[\da-f]{4}$/iu;
var MAC_REGEX = /^(?:[\da-f]{2}:){5}[\da-f]{2}$|^(?:[\da-f]{2}-){5}[\da-f]{2}$|^(?:[\da-f]{4}\.){2}[\da-f]{4}$|^(?:[\da-f]{2}:){7}[\da-f]{2}$|^(?:[\da-f]{2}-){7}[\da-f]{2}$|^(?:[\da-f]{4}\.){3}[\da-f]{4}$|^(?:[\da-f]{4}:){3}[\da-f]{4}$/iu;
var NANO_ID_REGEX = /^[\w-]+$/u;
var OCTAL_REGEX = /^(?:0o)?[0-7]+$/u;
var RFC_EMAIL_REGEX = (
// eslint-disable-next-line regexp/prefer-w, no-useless-escape, regexp/no-useless-escape, regexp/require-unicode-regexp
/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
);
var SLUG_REGEX = /^[\da-z]+(?:[-_][\da-z]+)*$/u;
var ULID_REGEX = /^[\da-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$/u;
var UUID_REGEX = /^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu;
// src/actions/base64/base64.ts
// @__NO_SIDE_EFFECTS__
function base64(message) {
return {
kind: "validation",
type: "base64",
reference: base64,
async: false,
expects: null,
requirement: BASE64_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "Base64", dataset, config2);
}
return dataset;
}
};
}
// src/actions/bic/bic.ts
// @__NO_SIDE_EFFECTS__
function bic(message) {
return {
kind: "validation",
type: "bic",
reference: bic,
async: false,
expects: null,
requirement: BIC_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "BIC", dataset, config2);
}
return dataset;
}
};
}
// src/actions/brand/brand.ts
// @__NO_SIDE_EFFECTS__
function brand(name) {
return {
kind: "transformation",
type: "brand",
reference: brand,
async: false,
name,
"~run"(dataset) {
return dataset;
}
};
}
// src/actions/bytes/bytes.ts
// @__NO_SIDE_EFFECTS__
function bytes(requirement, message) {
return {
kind: "validation",
type: "bytes",
reference: bytes,
async: false,
expects: `${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const length2 = _getByteCount(dataset.value);
if (length2 !== this.requirement) {
_addIssue(this, "bytes", dataset, config2, {
received: `${length2}`
});
}
}
return dataset;
}
};
}
// src/actions/check/check.ts
// @__NO_SIDE_EFFECTS__
function check(requirement, message) {
return {
kind: "validation",
type: "check",
reference: check,
async: false,
expects: null,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement(dataset.value)) {
_addIssue(this, "input", dataset, config2);
}
return dataset;
}
};
}
// src/actions/check/checkAsync.ts
// @__NO_SIDE_EFFECTS__
function checkAsync(requirement, message) {
return {
kind: "validation",
type: "check",
reference: checkAsync,
async: true,
expects: null,
requirement,
message,
async "~run"(dataset, config2) {
if (dataset.typed && !await this.requirement(dataset.value)) {
_addIssue(this, "input", dataset, config2);
}
return dataset;
}
};
}
// src/actions/checkItems/checkItems.ts
// @__NO_SIDE_EFFECTS__
function checkItems(requirement, message) {
return {
kind: "validation",
type: "check_items",
reference: checkItems,
async: false,
expects: null,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
for (let index = 0; index < dataset.value.length; index++) {
const item = dataset.value[index];
if (!this.requirement(item, index, dataset.value)) {
_addIssue(this, "item", dataset, config2, {
input: item,
path: [
{
type: "array",
origin: "value",
input: dataset.value,
key: index,
value: item
}
]
});
}
}
}
return dataset;
}
};
}
// src/actions/checkItems/checkItemsAsync.ts
// @__NO_SIDE_EFFECTS__
function checkItemsAsync(requirement, message) {
return {
kind: "validation",
type: "check_items",
reference: checkItemsAsync,
async: true,
expects: null,
requirement,
message,
async "~run"(dataset, config2) {
if (dataset.typed) {
const requirementResults = await Promise.all(
dataset.value.map(this.requirement)
);
for (let index = 0; index < dataset.value.length; index++) {
if (!requirementResults[index]) {
const item = dataset.value[index];
_addIssue(this, "item", dataset, config2, {
input: item,
path: [
{
type: "array",
origin: "value",
input: dataset.value,
key: index,
value: item
}
]
});
}
}
}
return dataset;
}
};
}
// src/actions/creditCard/creditCard.ts
var CREDIT_CARD_REGEX = /^(?:\d{14,19}|\d{4}(?: \d{3,6}){2,4}|\d{4}(?:-\d{3,6}){2,4})$/u;
var SANITIZE_REGEX = /[- ]/gu;
var PROVIDER_REGEX_LIST = [
// American Express
/^3[47]\d{13}$/u,
// Diners Club
/^3(?:0[0-5]|[68]\d)\d{11,13}$/u,
// Discover
/^6(?:011|5\d{2})\d{12,15}$/u,
// JCB
/^(?:2131|1800|35\d{3})\d{11}$/u,
// Mastercard
// eslint-disable-next-line redos-detector/no-unsafe-regex
/^5[1-5]\d{2}|(?:222\d|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}$/u,
// UnionPay
/^(?:6[27]\d{14,17}|81\d{14,17})$/u,
// Visa
/^4\d{12}(?:\d{3,6})?$/u
];
// @__NO_SIDE_EFFECTS__
function creditCard(message) {
return {
kind: "validation",
type: "credit_card",
reference: creditCard,
async: false,
expects: null,
requirement(input) {
let sanitized;
return CREDIT_CARD_REGEX.test(input) && // Remove any hyphens and blanks
(sanitized = input.replace(SANITIZE_REGEX, "")) && // Check if it matches a provider
PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && // Check if passes luhn algorithm
_isLuhnAlgo(sanitized);
},
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement(dataset.value)) {
_addIssue(this, "credit card", dataset, config2);
}
return dataset;
}
};
}
// src/actions/cuid2/cuid2.ts
// @__NO_SIDE_EFFECTS__
function cuid2(message) {
return {
kind: "validation",
type: "cuid2",
reference: cuid2,
async: false,
expects: null,
requirement: CUID2_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "Cuid2", dataset, config2);
}
return dataset;
}
};
}
// src/actions/decimal/decimal.ts
// @__NO_SIDE_EFFECTS__
function decimal(message) {
return {
kind: "validation",
type: "decimal",
reference: decimal,
async: false,
expects: null,
requirement: DECIMAL_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "decimal", dataset, config2);
}
return dataset;
}
};
}
// src/actions/description/description.ts
// @__NO_SIDE_EFFECTS__
function description(description_) {
return {
kind: "metadata",
type: "description",
reference: description,
description: description_
};
}
// src/actions/digits/digits.ts
// @__NO_SIDE_EFFECTS__
function digits(message) {
return {
kind: "validation",
type: "digits",
reference: digits,
async: false,
expects: null,
requirement: DIGITS_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "digits", dataset, config2);
}
return dataset;
}
};
}
// src/actions/email/email.ts
// @__NO_SIDE_EFFECTS__
function email(message) {
return {
kind: "validation",
type: "email",
reference: email,
expects: null,
async: false,
requirement: EMAIL_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "email", dataset, config2);
}
return dataset;
}
};
}
// src/actions/emoji/emoji.ts
// @__NO_SIDE_EFFECTS__
function emoji(message) {
return {
kind: "validation",
type: "emoji",
reference: emoji,
async: false,
expects: null,
requirement: EMOJI_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "emoji", dataset, config2);
}
return dataset;
}
};
}
// src/actions/empty/empty.ts
// @__NO_SIDE_EFFECTS__
function empty(message) {
return {
kind: "validation",
type: "empty",
reference: empty,
async: false,
expects: "0",
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.length > 0) {
_addIssue(this, "length", dataset, config2, {
received: `${dataset.value.length}`
});
}
return dataset;
}
};
}
// src/actions/endsWith/endsWith.ts
// @__NO_SIDE_EFFECTS__
function endsWith(requirement, message) {
return {
kind: "validation",
type: "ends_with",
reference: endsWith,
async: false,
expects: `"${requirement}"`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !dataset.value.endsWith(this.requirement)) {
_addIssue(this, "end", dataset, config2, {
received: `"${dataset.value.slice(-this.requirement.length)}"`
});
}
return dataset;
}
};
}
// src/actions/everyItem/everyItem.ts
// @__NO_SIDE_EFFECTS__
function everyItem(requirement, message) {
return {
kind: "validation",
type: "every_item",
reference: everyItem,
async: false,
expects: null,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !dataset.value.every(this.requirement)) {
_addIssue(this, "item", dataset, config2);
}
return dataset;
}
};
}
// src/actions/excludes/excludes.ts
// @__NO_SIDE_EFFECTS__
function excludes(requirement, message) {
const received = _stringify(requirement);
return {
kind: "validation",
type: "excludes",
reference: excludes,
async: false,
expects: `!${received}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.includes(this.requirement)) {
_addIssue(this, "content", dataset, config2, { received });
}
return dataset;
}
};
}
// src/actions/filterItems/filterItems.ts
// @__NO_SIDE_EFFECTS__
function filterItems(operation) {
return {
kind: "transformation",
type: "filter_items",
reference: filterItems,
async: false,
operation,
"~run"(dataset) {
dataset.value = dataset.value.filter(this.operation);
return dataset;
}
};
}
// src/actions/findItem/findItem.ts
// @__NO_SIDE_EFFECTS__
function findItem(operation) {
return {
kind: "transformation",
type: "find_item",
reference: findItem,
async: false,
operation,
"~run"(dataset) {
dataset.value = dataset.value.find(this.operation);
return dataset;
}
};
}
// src/actions/finite/finite.ts
// @__NO_SIDE_EFFECTS__
function finite(message) {
return {
kind: "validation",
type: "finite",
reference: finite,
async: false,
expects: null,
requirement: Number.isFinite,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement(dataset.value)) {
_addIssue(this, "finite", dataset, config2);
}
return dataset;
}
};
}
// src/actions/graphemes/graphemes.ts
// @__NO_SIDE_EFFECTS__
function graphemes(requirement, message) {
return {
kind: "validation",
type: "graphemes",
reference: graphemes,
async: false,
expects: `${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const count = _getGraphemeCount(dataset.value);
if (count !== this.requirement) {
_addIssue(this, "graphemes", dataset, config2, {
received: `${count}`
});
}
}
return dataset;
}
};
}
// src/actions/gtValue/gtValue.ts
// @__NO_SIDE_EFFECTS__
function gtValue(requirement, message) {
return {
kind: "validation",
type: "gt_value",
reference: gtValue,
async: false,
expects: `>${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !(dataset.value > this.requirement)) {
_addIssue(this, "value", dataset, config2, {
received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)
});
}
return dataset;
}
};
}
// src/actions/hash/hash.ts
var HASH_LENGTHS = {
md4: 32,
md5: 32,
sha1: 40,
sha256: 64,
sha384: 96,
sha512: 128,
ripemd128: 32,
ripemd160: 40,
tiger128: 32,
tiger160: 40,
tiger192: 48,
crc32: 8,
crc32b: 8,
adler32: 8
};
// @__NO_SIDE_EFFECTS__
function hash(types, message) {
return {
kind: "validation",
type: "hash",
reference: hash,
expects: null,
async: false,
requirement: RegExp(
types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join("|"),
"iu"
),
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "hash", dataset, config2);
}
return dataset;
}
};
}
// src/actions/hexadecimal/hexadecimal.ts
// @__NO_SIDE_EFFECTS__
function hexadecimal(message) {
return {
kind: "validation",
type: "hexadecimal",
reference: hexadecimal,
async: false,
expects: null,
requirement: HEXADECIMAL_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "hexadecimal", dataset, config2);
}
return dataset;
}
};
}
// src/actions/hexColor/hexColor.ts
// @__NO_SIDE_EFFECTS__
function hexColor(message) {
return {
kind: "validation",
type: "hex_color",
reference: hexColor,
async: false,
expects: null,
requirement: HEX_COLOR_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "hex color", dataset, config2);
}
return dataset;
}
};
}
// src/actions/imei/imei.ts
// @__NO_SIDE_EFFECTS__
function imei(message) {
return {
kind: "validation",
type: "imei",
reference: imei,
async: false,
expects: null,
requirement(input) {
return IMEI_REGEX.test(input) && _isLuhnAlgo(input);
},
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement(dataset.value)) {
_addIssue(this, "IMEI", dataset, config2);
}
return dataset;
}
};
}
// src/actions/includes/includes.ts
// @__NO_SIDE_EFFECTS__
function includes(requirement, message) {
const expects = _stringify(requirement);
return {
kind: "validation",
type: "includes",
reference: includes,
async: false,
expects,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !dataset.value.includes(this.requirement)) {
_addIssue(this, "content", dataset, config2, {
received: `!${expects}`
});
}
return dataset;
}
};
}
// src/actions/integer/integer.ts
// @__NO_SIDE_EFFECTS__
function integer(message) {
return {
kind: "validation",
type: "integer",
reference: integer,
async: false,
expects: null,
requirement: Number.isInteger,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement(dataset.value)) {
_addIssue(this, "integer", dataset, config2);
}
return dataset;
}
};
}
// src/actions/ip/ip.ts
// @__NO_SIDE_EFFECTS__
function ip(message) {
return {
kind: "validation",
type: "ip",
reference: ip,
async: false,
expects: null,
requirement: IP_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "IP", dataset, config2);
}
return dataset;
}
};
}
// src/actions/ipv4/ipv4.ts
// @__NO_SIDE_EFFECTS__
function ipv4(message) {
return {
kind: "validation",
type: "ipv4",
reference: ipv4,
async: false,
expects: null,
requirement: IPV4_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "IPv4", dataset, config2);
}
return dataset;
}
};
}
// src/actions/ipv6/ipv6.ts
// @__NO_SIDE_EFFECTS__
function ipv6(message) {
return {
kind: "validation",
type: "ipv6",
reference: ipv6,
async: false,
expects: null,
requirement: IPV6_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "IPv6", dataset, config2);
}
return dataset;
}
};
}
// src/actions/isoDate/isoDate.ts
// @__NO_SIDE_EFFECTS__
function isoDate(message) {
return {
kind: "validation",
type: "iso_date",
reference: isoDate,
async: false,
expects: null,
requirement: ISO_DATE_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "date", dataset, config2);
}
return dataset;
}
};
}
// src/actions/isoDateTime/isoDateTime.ts
// @__NO_SIDE_EFFECTS__
function isoDateTime(message) {
return {
kind: "validation",
type: "iso_date_time",
reference: isoDateTime,
async: false,
expects: null,
requirement: ISO_DATE_TIME_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "date-time", dataset, config2);
}
return dataset;
}
};
}
// src/actions/isoTime/isoTime.ts
// @__NO_SIDE_EFFECTS__
function isoTime(message) {
return {
kind: "validation",
type: "iso_time",
reference: isoTime,
async: false,
expects: null,
requirement: ISO_TIME_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "time", dataset, config2);
}
return dataset;
}
};
}
// src/actions/isoTimeSecond/isoTimeSecond.ts
// @__NO_SIDE_EFFECTS__
function isoTimeSecond(message) {
return {
kind: "validation",
type: "iso_time_second",
reference: isoTimeSecond,
async: false,
expects: null,
requirement: ISO_TIME_SECOND_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "time-second", dataset, config2);
}
return dataset;
}
};
}
// src/actions/isoTimestamp/isoTimestamp.ts
// @__NO_SIDE_EFFECTS__
function isoTimestamp(message) {
return {
kind: "validation",
type: "iso_timestamp",
reference: isoTimestamp,
async: false,
expects: null,
requirement: ISO_TIMESTAMP_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "timestamp", dataset, config2);
}
return dataset;
}
};
}
// src/actions/isoWeek/isoWeek.ts
// @__NO_SIDE_EFFECTS__
function isoWeek(message) {
return {
kind: "validation",
type: "iso_week",
reference: isoWeek,
async: false,
expects: null,
requirement: ISO_WEEK_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "week", dataset, config2);
}
return dataset;
}
};
}
// src/actions/length/length.ts
// @__NO_SIDE_EFFECTS__
function length(requirement, message) {
return {
kind: "validation",
type: "length",
reference: length,
async: false,
expects: `${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.length !== this.requirement) {
_addIssue(this, "length", dataset, config2, {
received: `${dataset.value.length}`
});
}
return dataset;
}
};
}
// src/actions/ltValue/ltValue.ts
// @__NO_SIDE_EFFECTS__
function ltValue(requirement, message) {
return {
kind: "validation",
type: "lt_value",
reference: ltValue,
async: false,
expects: `<${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !(dataset.value < this.requirement)) {
_addIssue(this, "value", dataset, config2, {
received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)
});
}
return dataset;
}
};
}
// src/actions/mac/mac.ts
// @__NO_SIDE_EFFECTS__
function mac(message) {
return {
kind: "validation",
type: "mac",
reference: mac,
async: false,
expects: null,
requirement: MAC_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "MAC", dataset, config2);
}
return dataset;
}
};
}
// src/actions/mac48/mac48.ts
// @__NO_SIDE_EFFECTS__
function mac48(message) {
return {
kind: "validation",
type: "mac48",
reference: mac48,
async: false,
expects: null,
requirement: MAC48_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "48-bit MAC", dataset, config2);
}
return dataset;
}
};
}
// src/actions/mac64/mac64.ts
// @__NO_SIDE_EFFECTS__
function mac64(message) {
return {
kind: "validation",
type: "mac64",
reference: mac64,
async: false,
expects: null,
requirement: MAC64_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "64-bit MAC", dataset, config2);
}
return dataset;
}
};
}
// src/actions/mapItems/mapItems.ts
// @__NO_SIDE_EFFECTS__
function mapItems(operation) {
return {
kind: "transformation",
type: "map_items",
reference: mapItems,
async: false,
operation,
"~run"(dataset) {
dataset.value = dataset.value.map(this.operation);
return dataset;
}
};
}
// src/actions/maxBytes/maxBytes.ts
// @__NO_SIDE_EFFECTS__
function maxBytes(requirement, message) {
return {
kind: "validation",
type: "max_bytes",
reference: maxBytes,
async: false,
expects: `<=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const length2 = _getByteCount(dataset.value);
if (length2 > this.requirement) {
_addIssue(this, "bytes", dataset, config2, {
received: `${length2}`
});
}
}
return dataset;
}
};
}
// src/actions/maxGraphemes/maxGraphemes.ts
// @__NO_SIDE_EFFECTS__
function maxGraphemes(requirement, message) {
return {
kind: "validation",
type: "max_graphemes",
reference: maxGraphemes,
async: false,
expects: `<=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const count = _getGraphemeCount(dataset.value);
if (count > this.requirement) {
_addIssue(this, "graphemes", dataset, config2, {
received: `${count}`
});
}
}
return dataset;
}
};
}
// src/actions/maxLength/maxLength.ts
// @__NO_SIDE_EFFECTS__
function maxLength(requirement, message) {
return {
kind: "validation",
type: "max_length",
reference: maxLength,
async: false,
expects: `<=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.length > this.requirement) {
_addIssue(this, "length", dataset, config2, {
received: `${dataset.value.length}`
});
}
return dataset;
}
};
}
// src/actions/maxSize/maxSize.ts
// @__NO_SIDE_EFFECTS__
function maxSize(requirement, message) {
return {
kind: "validation",
type: "max_size",
reference: maxSize,
async: false,
expects: `<=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.size > this.requirement) {
_addIssue(this, "size", dataset, config2, {
received: `${dataset.value.size}`
});
}
return dataset;
}
};
}
// src/actions/maxValue/maxValue.ts
// @__NO_SIDE_EFFECTS__
function maxValue(requirement, message) {
return {
kind: "validation",
type: "max_value",
reference: maxValue,
async: false,
expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !(dataset.value <= this.requirement)) {
_addIssue(this, "value", dataset, config2, {
received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)
});
}
return dataset;
}
};
}
// src/actions/maxWords/maxWords.ts
// @__NO_SIDE_EFFECTS__
function maxWords(locales, requirement, message) {
return {
kind: "validation",
type: "max_words",
reference: maxWords,
async: false,
expects: `<=${requirement}`,
locales,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const count = _getWordCount(this.locales, dataset.value);
if (count > this.requirement) {
_addIssue(this, "words", dataset, config2, {
received: `${count}`
});
}
}
return dataset;
}
};
}
// src/actions/metadata/metadata.ts
// @__NO_SIDE_EFFECTS__
function metadata(metadata_) {
return {
kind: "metadata",
type: "metadata",
reference: metadata,
metadata: metadata_
};
}
// src/actions/mimeType/mimeType.ts
// @__NO_SIDE_EFFECTS__
function mimeType(requirement, message) {
return {
kind: "validation",
type: "mime_type",
reference: mimeType,
async: false,
expects: _joinExpects(
requirement.map((option) => `"${option}"`),
"|"
),
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.includes(dataset.value.type)) {
_addIssue(this, "MIME type", dataset, config2, {
received: `"${dataset.value.type}"`
});
}
return dataset;
}
};
}
// src/actions/minBytes/minBytes.ts
// @__NO_SIDE_EFFECTS__
function minBytes(requirement, message) {
return {
kind: "validation",
type: "min_bytes",
reference: minBytes,
async: false,
expects: `>=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const length2 = _getByteCount(dataset.value);
if (length2 < this.requirement) {
_addIssue(this, "bytes", dataset, config2, {
received: `${length2}`
});
}
}
return dataset;
}
};
}
// src/actions/minGraphemes/minGraphemes.ts
// @__NO_SIDE_EFFECTS__
function minGraphemes(requirement, message) {
return {
kind: "validation",
type: "min_graphemes",
reference: minGraphemes,
async: false,
expects: `>=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const count = _getGraphemeCount(dataset.value);
if (count < this.requirement) {
_addIssue(this, "graphemes", dataset, config2, {
received: `${count}`
});
}
}
return dataset;
}
};
}
// src/actions/minLength/minLength.ts
// @__NO_SIDE_EFFECTS__
function minLength(requirement, message) {
return {
kind: "validation",
type: "min_length",
reference: minLength,
async: false,
expects: `>=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.length < this.requirement) {
_addIssue(this, "length", dataset, config2, {
received: `${dataset.value.length}`
});
}
return dataset;
}
};
}
// src/actions/minSize/minSize.ts
// @__NO_SIDE_EFFECTS__
function minSize(requirement, message) {
return {
kind: "validation",
type: "min_size",
reference: minSize,
async: false,
expects: `>=${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.size < this.requirement) {
_addIssue(this, "size", dataset, config2, {
received: `${dataset.value.size}`
});
}
return dataset;
}
};
}
// src/actions/minValue/minValue.ts
// @__NO_SIDE_EFFECTS__
function minValue(requirement, message) {
return {
kind: "validation",
type: "min_value",
reference: minValue,
async: false,
expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && !(dataset.value >= this.requirement)) {
_addIssue(this, "value", dataset, config2, {
received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)
});
}
return dataset;
}
};
}
// src/actions/minWords/minWords.ts
// @__NO_SIDE_EFFECTS__
function minWords(locales, requirement, message) {
return {
kind: "validation",
type: "min_words",
reference: minWords,
async: false,
expects: `>=${requirement}`,
locales,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const count = _getWordCount(this.locales, dataset.value);
if (count < this.requirement) {
_addIssue(this, "words", dataset, config2, {
received: `${count}`
});
}
}
return dataset;
}
};
}
// src/actions/multipleOf/multipleOf.ts
// @__NO_SIDE_EFFECTS__
function multipleOf(requirement, message) {
return {
kind: "validation",
type: "multiple_of",
reference: multipleOf,
async: false,
expects: `%${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value % this.requirement !== 0) {
_addIssue(this, "multiple", dataset, config2);
}
return dataset;
}
};
}
// src/actions/nanoid/nanoid.ts
// @__NO_SIDE_EFFECTS__
function nanoid(message) {
return {
kind: "validation",
type: "nanoid",
reference: nanoid,
async: false,
expects: null,
requirement: NANO_ID_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "Nano ID", dataset, config2);
}
return dataset;
}
};
}
// src/actions/nonEmpty/nonEmpty.ts
// @__NO_SIDE_EFFECTS__
function nonEmpty(message) {
return {
kind: "validation",
type: "non_empty",
reference: nonEmpty,
async: false,
expects: "!0",
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.length === 0) {
_addIssue(this, "length", dataset, config2, {
received: "0"
});
}
return dataset;
}
};
}
// src/actions/normalize/normalize.ts
// @__NO_SIDE_EFFECTS__
function normalize(form) {
return {
kind: "transformation",
type: "normalize",
reference: normalize,
async: false,
form,
"~run"(dataset) {
dataset.value = dataset.value.normalize(this.form);
return dataset;
}
};
}
// src/actions/notBytes/notBytes.ts
// @__NO_SIDE_EFFECTS__
function notBytes(requirement, message) {
return {
kind: "validation",
type: "not_bytes",
reference: notBytes,
async: false,
expects: `!${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const length2 = _getByteCount(dataset.value);
if (length2 === this.requirement) {
_addIssue(this, "bytes", dataset, config2, {
received: `${length2}`
});
}
}
return dataset;
}
};
}
// src/actions/notGraphemes/notGraphemes.ts
// @__NO_SIDE_EFFECTS__
function notGraphemes(requirement, message) {
return {
kind: "validation",
type: "not_graphemes",
reference: notGraphemes,
async: false,
expects: `!${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const count = _getGraphemeCount(dataset.value);
if (count === this.requirement) {
_addIssue(this, "graphemes", dataset, config2, {
received: `${count}`
});
}
}
return dataset;
}
};
}
// src/actions/notLength/notLength.ts
// @__NO_SIDE_EFFECTS__
function notLength(requirement, message) {
return {
kind: "validation",
type: "not_length",
reference: notLength,
async: false,
expects: `!${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.length === this.requirement) {
_addIssue(this, "length", dataset, config2, {
received: `${dataset.value.length}`
});
}
return dataset;
}
};
}
// src/actions/notSize/notSize.ts
// @__NO_SIDE_EFFECTS__
function notSize(requirement, message) {
return {
kind: "validation",
type: "not_size",
reference: notSize,
async: false,
expects: `!${requirement}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && dataset.value.size === this.requirement) {
_addIssue(this, "size", dataset, config2, {
received: `${dataset.value.size}`
});
}
return dataset;
}
};
}
// src/actions/notValue/notValue.ts
// @__NO_SIDE_EFFECTS__
function notValue(requirement, message) {
return {
kind: "validation",
type: "not_value",
reference: notValue,
async: false,
expects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${_stringify(requirement)}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) {
_addIssue(this, "value", dataset, config2, {
received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)
});
}
return dataset;
}
};
}
// src/actions/notValues/notValues.ts
// @__NO_SIDE_EFFECTS__
function notValues(requirement, message) {
return {
kind: "validation",
type: "not_values",
reference: notValues,
async: false,
expects: `!${_joinExpects(
requirement.map(
(value2) => value2 instanceof Date ? value2.toJSON() : _stringify(value2)
),
"|"
)}`,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed && this.requirement.some(
(value2) => value2 <= dataset.value && value2 >= dataset.value
)) {
_addIssue(this, "value", dataset, config2, {
received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)
});
}
return dataset;
}
};
}
// src/actions/notWords/notWords.ts
// @__NO_SIDE_EFFECTS__
function notWords(locales, requirement, message) {
return {
kind: "validation",
type: "not_words",
reference: notWords,
async: false,
expects: `!${requirement}`,
locales,
requirement,
message,
"~run"(dataset, config2) {
if (dataset.typed) {
const count = _getWordCount(this.locales, dataset.value);
if (count === this.requirement) {
_addIssue(this, "words", dataset, config2, {
received: `${count}`
});
}
}
return dataset;
}
};
}
// src/actions/octal/octal.ts
// @__NO_SIDE_EFFECTS__
function octal(message) {
return {
kind: "validation",
type: "octal",
reference: octal,
async: false,
expects: null,
requirement: OCTAL_REGEX,
message,
"~run"(dataset, config2) {
if (dataset.typed && !this.requirement.test(dataset.value)) {
_addIssue(this, "octal", dataset, config2);
}
return dataset;
}
};
}
// src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts
// @__NO_SIDE_EFFECTS__
function _isPartiallyTyped(dataset, paths) {
if (dataset.issues) {
for (const path of paths) {
for (const issue of dataset.issues) {
let typed = false;
const bound = Math.min(path.length, issue.path?.length ?? 0);
for (let index = 0; index < bound; index++) {
if (
// @ts-expect-error
path[index] !== issue.path[index].key && // @ts-expect-error
(path[index] !== "$" || issue.path[index].type !== "array")
) {
typed = true;
break;
}
}
if (!typed) {
return false;
}
}
}
}
return true;
}
// src/actions/partialCheck/partialCheck.ts
// @__NO_SIDE_EFFECTS__
function partialCheck(paths, requirement, message) {
return {
kind: "validation",
type: "parti