@univ-lehavre/atlas-validators
v0.2.1
Published
Shared validation utilities for Atlas applications
Readme
@univ-lehavre/atlas-validators
Shared validation utilities for Atlas applications.
About
This package provides reusable validation functions for Atlas applications, including email validation, JSON body parsing, and data normalization.
Features
- Email validation: RFC 5322 validation with ReDoS attack protection
- Hexadecimal validation: Appwrite identifiers and token validation
- JSON parsing: Content-Type validation and secure request body parsing
- Email normalization: Lowercase conversion and subaddressing removal
Installation
pnpm add @univ-lehavre/atlas-validatorsUsage
import {
isEmail,
isHexadecimal,
normalizeEmail,
ensureJsonContentType,
parseJsonBody,
validateAndParseJsonBody,
} from '@univ-lehavre/atlas-validators';
// Validate an email
if (isEmail('[email protected]')) {
console.log('Valid email');
}
// Normalize an email
const normalized = normalizeEmail('[email protected]');
// -> '[email protected]'
// Validate and parse a request body
const body = await validateAndParseJsonBody(request);API
| Function | Description |
|----------|-------------|
| isEmail(email) | Validates if a string is a valid email |
| isHexadecimal(str) | Validates if a string contains only hexadecimal characters |
| normalizeEmail(email) | Normalizes an email (lowercase, without subaddressing) |
| ensureJsonContentType(request) | Checks that Content-Type is application/json |
| parseJsonBody(request) | Parses and validates the JSON body of a request |
| validateAndParseJsonBody(request) | Combines ensureJsonContentType and parseJsonBody |
Scripts
pnpm -F @univ-lehavre/atlas-validators dev # Development
pnpm -F @univ-lehavre/atlas-validators build # Build
pnpm -F @univ-lehavre/atlas-validators test # Tests
pnpm -F @univ-lehavre/atlas-validators lint # ESLintDocumentation
Organization
This package is part of Atlas, a set of tools developed by Le Havre Normandie University to facilitate research and collaboration between researchers.
Atlas is developed as part of two projects led by Le Havre Normandie University:
- Campus Polytechnique des Territoires Maritimes et Portuaires: research and training program focused on maritime and port issues
- EUNICoast: European university alliance bringing together institutions located in European coastal areas
License
MIT
