rgex
Version:
A powerful, chainable regex builder platform with comprehensive validation utilities
322 lines • 9.97 kB
TypeScript
/**
* RGex Validation Constants
* Validation patterns and rules for different data types
*/
import type { ValidationRule } from '../../types/index.js';
/**
* A collection of factory functions for creating validation rules.
* Each function returns a `ValidationRule` object.
*/
export declare const VALIDATION_PATTERNS: {
/**
* Creates a validation rule for a required field.
* @returns A validation rule object.
*/
required: () => ValidationRule;
/**
* Creates a validation rule for an email address.
* @returns A validation rule object.
*/
email: () => ValidationRule;
/**
* Creates a validation rule for a phone number.
* @returns A validation rule object.
*/
phone: () => ValidationRule;
/**
* Creates a validation rule for a URL.
* @returns A validation rule object.
*/
url: () => ValidationRule;
/**
* Creates a validation rule for a minimum length.
* @param length - The minimum required length.
* @returns A validation rule object.
*/
minLength: (length: number) => ValidationRule;
/**
* Creates a validation rule for a maximum length.
* @param length - The maximum allowed length.
* @returns A validation rule object.
*/
maxLength: (length: number) => ValidationRule;
/**
* Creates a validation rule for numbers only.
* @returns A validation rule object.
*/
numbersOnly: () => ValidationRule;
/**
* Creates a validation rule for letters only.
* @returns A validation rule object.
*/
lettersOnly: () => ValidationRule;
/**
* Creates a validation rule for alphanumeric characters.
* @returns A validation rule object.
*/
alphanumeric: () => ValidationRule;
/**
* Creates a validation rule that disallows spaces.
* @returns A validation rule object.
*/
noSpaces: () => ValidationRule;
/**
* Creates a validation rule for a strong password.
* @returns A validation rule object.
*/
strongPassword: () => ValidationRule;
/**
* Creates a validation rule for a UUID.
* @returns A validation rule object.
*/
uuid: () => ValidationRule;
/**
* Creates a validation rule for an IP address (v4 or v6).
* @returns A validation rule object.
*/
ipAddress: () => ValidationRule;
/**
* Creates a validation rule for a date in YYYY-MM-DD format.
* @returns A validation rule object.
*/
date: () => ValidationRule;
/**
* Creates a validation rule for time in HH:MM or HH:MM:SS format.
* @returns A validation rule object.
*/
time: () => ValidationRule;
/**
* Creates a validation rule for a hex color code.
* @returns A validation rule object.
*/
hexColor: () => ValidationRule;
/**
* Creates a validation rule for a URL slug.
* @returns A validation rule object.
*/
slug: () => ValidationRule;
/**
* Creates a validation rule for a username.
* @returns A validation rule object.
*/
username: () => ValidationRule;
/**
* Creates a validation rule for a domain name.
* @returns A validation rule object.
*/
domain: () => ValidationRule;
/**
* Creates a validation rule for a credit card number.
* @returns A validation rule object.
*/
creditCard: () => ValidationRule;
/**
* Creates a validation rule for a MongoDB ObjectID.
* @returns A validation rule object.
*/
mongoId: () => ValidationRule;
/**
* Creates a validation rule for a base64 encoded string.
* @returns A validation rule object.
*/
base64: () => ValidationRule;
/**
* Creates a validation rule for a JSON string.
* @returns A validation rule object.
*/
json: () => ValidationRule;
/**
* Creates a validation rule for a Social Security Number.
* @returns A validation rule object.
*/
ssn: () => ValidationRule;
/**
* Creates a validation rule for US ZIP codes.
* @returns A validation rule object.
*/
zipCode: () => ValidationRule;
/**
* Creates a validation rule for Canadian postal codes.
* @returns A validation rule object.
*/
postalCode: () => ValidationRule;
/**
* Creates a validation rule for UK postcodes.
* @returns A validation rule object.
*/
ukPostcode: () => ValidationRule;
/**
* Creates a validation rule for file extensions.
* @returns A validation rule object.
*/
fileExtension: () => ValidationRule;
/**
* Creates a validation rule for image files.
* @returns A validation rule object.
*/
imageFile: () => ValidationRule;
/**
* Creates a validation rule for document files.
* @returns A validation rule object.
*/
documentFile: () => ValidationRule;
/**
* Creates a validation rule for timestamps.
* @returns A validation rule object.
*/
timestamp: () => ValidationRule;
/**
* Creates a validation rule for ISO datetime format.
* @returns A validation rule object.
*/
isoDateTime: () => ValidationRule;
/**
* Creates a validation rule for Visa credit cards.
* @returns A validation rule object.
*/
visaCard: () => ValidationRule;
/**
* Creates a validation rule for Mastercard credit cards.
* @returns A validation rule object.
*/
masterCard: () => ValidationRule;
/**
* Creates a validation rule for American Express credit cards.
* @returns A validation rule object.
*/
amexCard: () => ValidationRule;
/**
* Creates a validation rule for MAC addresses.
* @returns A validation rule object.
*/
macAddress: () => ValidationRule;
/**
* Creates a validation rule for Bitcoin addresses.
* @returns A validation rule object.
*/
bitcoinAddress: () => ValidationRule;
/**
* Creates a validation rule for Ethereum addresses.
* @returns A validation rule object.
*/
ethereumAddress: () => ValidationRule;
/**
* Creates a validation rule for IBAN codes.
* @returns A validation rule object.
*/
iban: () => ValidationRule;
/**
* Creates a validation rule for SWIFT/BIC codes.
* @returns A validation rule object.
*/
swiftCode: () => ValidationRule;
/**
* Creates a validation rule for ISBN-10 codes.
* @returns A validation rule object.
*/
isbn10: () => ValidationRule;
/**
* Creates a validation rule for ISBN-13 codes.
* @returns A validation rule object.
*/
isbn13: () => ValidationRule;
/**
* Creates a validation rule for semantic version numbers.
* @returns A validation rule object.
*/
semver: () => ValidationRule;
/**
* Creates a validation rule for JWT tokens.
* @returns A validation rule object.
*/
jwtToken: () => ValidationRule;
/**
* Creates a validation rule for GitHub usernames.
* @returns A validation rule object.
*/
githubUsername: () => ValidationRule;
/**
* Creates a validation rule for Twitter handles.
* @returns A validation rule object.
*/
twitterHandle: () => ValidationRule;
/**
* Creates a validation rule for Discord user IDs.
* @returns A validation rule object.
*/
discordId: () => ValidationRule;
/**
* Creates a validation rule for YouTube video IDs.
* @returns A validation rule object.
*/
youtubeVideoId: () => ValidationRule;
/**
* Creates a validation rule for Google Drive file IDs.
* @returns A validation rule object.
*/
googleDriveId: () => ValidationRule;
/**
* Creates a validation rule for AWS S3 bucket names.
* @returns A validation rule object.
*/
s3BucketName: () => ValidationRule;
/**
* Creates a validation rule for Docker image names.
* @returns A validation rule object.
*/
dockerImage: () => ValidationRule;
/**
* Creates a validation rule for NPM package names.
* @returns A validation rule object.
*/
npmPackage: () => ValidationRule;
/**
* Creates a validation rule for Git commit hashes (SHA-1).
* @returns A validation rule object.
*/
gitCommit: () => ValidationRule;
/**
* Creates a validation rule for Kubernetes resource names.
* @returns A validation rule object.
*/
k8sResourceName: () => ValidationRule;
/**
* Creates a validation rule for LinkedIn profile URLs.
* @returns A validation rule object.
*/
linkedinProfile: () => ValidationRule;
/**
* Creates a validation rule for Slack user IDs.
* @returns A validation rule object.
*/
slackUserId: () => ValidationRule;
/**
* Creates a validation rule for Twilio phone numbers (E.164 format).
* @returns A validation rule object.
*/
e164Phone: () => ValidationRule;
/**
* Creates a validation rule for Firebase project IDs.
* @returns A validation rule object.
*/
firebaseProjectId: () => ValidationRule;
/**
* Creates a validation rule for Azure resource group names.
* @returns A validation rule object.
*/
azureResourceGroup: () => ValidationRule;
};
/**
* A mapping of human-readable keywords to validation rule factories.
*/
export declare const VALIDATION_KEYWORDS: Record<string, () => ValidationRule | ((param: number) => ValidationRule)>;
/**
* A mapping for length-related validation rule factories.
*/
export declare const LENGTH_PATTERNS: {
'min length': (length: number) => ValidationRule;
'max length': (length: number) => ValidationRule;
'minimum length': (length: number) => ValidationRule;
'maximum length': (length: number) => ValidationRule;
};
//# sourceMappingURL=validation.d.ts.map