@thomas.mison/rideau
v0.1.0
Published
Maintenance applicative : contrat et cœur indépendant des frameworks
Readme
Package TypeScript
@thomas.mison/rideau/core est disponible après pnpm build : ESM, CommonJS et déclarations TypeScript,
sans dépendance d'exécution ni API Node/browser spécifique.
Le build utilise TypeScript NodeNext.
Les entrées /react, /vue et /nest sont disponibles avec des peer dependencies optionnelles.
Voir docs/integration.md à la racine pour les exemples.
Installation : npm install @thomas.mison/rideau. Licence MIT.
import { validateConfig, createSnapshot, getSnapshotState } from '@thomas.mison/rideau/core';
const result = validateConfig(publicJson);
if (result.valid) {
// Seulement après un fetch réussi de la source ; conserver ensuite cet objet.
const snapshot = createSnapshot(result.config, Date.now());
const state = getSnapshotState(snapshot, Date.now());
}API : validateConfig / parseConfig, parseTimestamp, getState,
createSnapshot, getSnapshotState, getMostRestrictiveState,
getRetryAfterSeconds et DEFAULTS. Les fonctions temporelles prennent explicitement
now en millisecondes Unix ; getState attend une configuration validée et les
fonctions de snapshot attendent un snapshot créé localement ou validé par l'adaptateur.
Les résultats de validation et les snapshots créés possèdent une copie gelée de la configuration.
Les constantes proposent un rafraîchissement de deux minutes, un timeout de deux
secondes et une validité de cinq minutes. ConfigSource ajoute le fetch à la demande et RideauClient les timers frontend. Le protocole HTTP est documenté dans contracts/http.md.
