Nodefony 10.0.0-beta.5
Framework Node.js fullstack — HTTP & WebSocket, même contexte

Référence d'API — nodefony — racine

stable

Documentation › Référence d’API › nodefony › racine

Générée depuis les déclarations de types publiées de nodefony 10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

nodefony#

import { … } from "nodefony" — 36 symboles.

Classes (8)#

Cli#

class Cli extends Service

Container#

class Container implements IContainer

Dependency Injection container — registers services by name and exposes them to the rest of the framework.

Event#

class Event extends EventEmitter

Signatures d’abonnement d’Event : un listener peut RENDRE une valeur ou une promesse — emitAsync/emitAsyncGuarded les attendent et collectent leurs résultats. Les signatures héritées d’EventEmitter déclarent un retour void, ce qui fait passer tout listener async pour une promesse perdue ; ce contrat-ci dit la vérité. Pur type (fusion de déclarations) : aucun coût à l’exécution, les méthodes restent celles de EventEmitter.

FileClass#

class FileClass

Wrapper fs Node.js avec métadonnées pré-parsées (path, name, ext, mime, stats).

Nodefony#

class Nodefony

Façade statique du framework — point d’entrée global remplaçant le singleton JS legacy.

Scope#

class Scope extends Container implements IScope

Short-lived child container tied to a parent Container. Used by the HTTP/WS kernel to isolate per-request services (e.g. request-bound sessions, scoped resolvers) without polluting the global container.

Service#

class Service implements IService

nodefonyError#

class nodefonyError extends Error

Erreur Nodefony — wrapper riche autour de Error natif qui ajoute : - Un code numérique (HTTP status ou code custom — pas un string). - Un errorType détecté automatiquement (TypeError, SystemError, AssertionError, OrmError, ClientError, etc.). - Une sérialisation toJSON() filtrée qui exclut context, resolver, container, secure (références circulaires). - Un toString() coloré (cli-color) qui adapte le format selon l’environnement (production = message court ; dev = champs détaillés).

Fonctions (1)#

registerErrorAdapter#

function registerErrorAdapter(name: string, adapter: IErrorAdapter | null): void

Enregistre un adapter d’erreurs tiers sous une clé (ex. le nom du driver ORM "mongoose"). Inversion de dépendance : le module s’enregistre lui-même à son boot, le core ne connaît aucune bibliothèque. null retire l’adapter (teardown, tests).

Constantes (15)#

clc#

const clc: Clc

escapeRegExp#

const escapeRegExp: (value: string) => string

Neutralise les métacaractères d’une chaîne destinée à être insérée dans une expression régulière, pour qu’elle n’y vaille que pour elle-même.

extend#

const extend: (...args: unknown[]) => any

Fusionne plusieurs objets dans une cible — API compatible jQuery.extend.

finallyMaybe#

const finallyMaybe: <T>(step: () => MaybePromise<T>, onSettled: () => void) => MaybePromise<T>

Exécute step, puis onSettled quoi qu’il arrive — le try/finally d’une étape qui n’est asynchrone que lorsqu’elle attend.

isArray#

const isArray: (arg: any) => arg is any[]

Alias direct de Array.isArray — exporté pour usage cohérent dans les modules.

isContainer#

const isContainer: (container: unknown) => container is Container

Type guard — true si la valeur est une instance de Container (DI).

isEmptyObject#

const isEmptyObject: (obj: object | null) => boolean

Vérifie qu’un objet existe et ne contient aucune clé propre énumérable.

isFunction#

const isFunction: (value: unknown) => value is (...args: unknown[]) => unknown

Type guard — true si value est une fonction (incluant arrow et classes).

isLoopbackHostname#

const isLoopbackHostname: (hostname: string) => boolean

Ce nom d’hôte désigne-t-il la boucle locale ? Règle UNIQUE du framework — l’inspecteur de développement, le proxy inverse et le frontend décident tous par elle.

isPromise#

const isPromise: (obj: unknown) => obj is PromiseLike<unknown>

Vérifie qu’une valeur est une Promise ou un thenable (duck-typing .then).

isRegExp#

const isRegExp: (value: unknown) => value is RegExp

Type guard — true si value est une instance RegExp.

isUndefined#

const isUndefined: (value: unknown) => value is undefined

Type guard — true si value === undefined (strict, jamais null).

stripTrailingSlashes#

const stripTrailingSlashes: (value: string) => string

Retire les barres obliques finales d’une chaîne, sans expression régulière.

thenMaybe#

const thenMaybe: <T, U>(value: T | PromiseLike<T>, onResolved: (resolved: T) => MaybePromise<U>) => MaybePromise<U>

Enchaîne onResolved sur une valeur qui peut être déjà connue ou encore attendue — un .then qui reste SYNCHRONE quand il n’y a rien à attendre.

typeOf#

const typeOf: (value: unknown) => string | null

Interfaces (6)#

DynamicService#

interface DynamicService

IErrorAdapter#

interface IErrorAdapter

Adapter d’erreurs d’une bibliothèque tierce (driver ORM, client externe…).

IGuardedEmitError#

interface IGuardedEmitError

Erreur collectée pour un listener pendant Event.emitAsyncGuarded.

IGuardedEmitOptions#

interface IGuardedEmitOptions

Options de Event.emitAsyncGuarded — purement MÉCANIQUES : aucune notion de module / criticité / log (ça, c’est la POLITIQUE, décidée par l’appelant via les callbacks). Sépare le « comment on isole un listener » du « quoi faire d’un échec ».

IGuardedEmitResult#

interface IGuardedEmitResult

Résultat de Event.emitAsyncGuarded.

IGuardedListenerInfo#

interface IGuardedListenerInfo

Information sur un listener pendant une émission gardée (Event.emitAsyncGuarded).

Types (5)#

Clc#

type Clc = ColorFn & { readonly reset: string; }

Racine clc : une ColorFn + la constante brute reset.

ColorFn#

type ColorFn = (s: string | number) => string & { [K in StyleName]: ColorFn; }

Fonction de coloration chainable : appelable (fn(text)) et indexable (fn.bold, fn.bgBlue…), chaque accès renvoyant une nouvelle ColorFn aux styles accumulés.

MaybePromise#

type MaybePromise<T> = T | Promise<T>

Une valeur déjà connue, ou la promesse de cette valeur — le type de retour d’une étape qui n’est asynchrone que lorsqu’elle attend réellement (un corps à lire, une base, un hook qui rend une promesse).

ProtoService#

type ProtoService = { (): void; prototype: DynamicService; }

Porteur du prototype partagé des services (cf createProto).

Scopes#

type Scopes = Map<string, Set<IScope>>

Registre des scopes ouverts : nom de scope → ensemble des instances vivantes. Il ne sert qu’à les COMPTER (Container.scopeCount) et à les refermer toutes au Container.clean : un Set tenu par l’objet lui-même rend ce service sans fabriquer de clé. Un index par identifiant chaîne — fabriqué et haché à chaque ouverture — coûte ~70 % du cycle enterScope + leaveScope, payé à chaque requête.

Bibliothèques réexportées (1)#

freezeConfigTree#

Réexport sans déclaration lisible.


← Toutes les références d’API