@univ-lehavre/atlas-validators
v1.0.2
Published
Shared validation utilities for Atlas applications
Readme
@univ-lehavre/atlas-validators
Validateurs HTTP et données partagés par les applications Atlas.
About
Ce package centralise la validation d'email, la normalisation d'adresses, la vérification d'identifiants hexadécimaux et la lecture sûre de corps JSON avec contrôle du Content-Type. Il lève les erreurs standardisées de @univ-lehavre/atlas-errors pour harmoniser les réponses API.
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
