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

Référence d'API — nodefony/react

stable

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

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/react#

import { … } from "nodefony/react" — 47 symboles.

Classes (1)#

NodefonyLogin#

class NodefonyLogin

Le déroulé de connexion côté navigateur : une machine à états PURE, sans DOM ni framework d’affichage, branchée sur les routes de session du framework. Le pendant de NodefonySocket et de NodefonySse pour l’authentification.

Fonctions (21)#

NodefonyProvider#

function NodefonyProvider(props: NodefonyProviderProps): React.ReactElement

Injecte le client temps réel Nodefony dans le sous-arbre. À monter une fois, au-dessus des composants qui consomment les hooks useNodefony*.

isRateChannel#

function isRateChannel(channel: string, base: string): boolean

Vrai si channel est le canal de base nu OU une de ses variantes cadencées base:<ms>.

parseRate#

function parseRate(channel: string, base: string, bounds: RateBounds): number

Résout la cadence (ms) d’un canal cadencé connu, côté serveur. Le serveur connaît la base qu’il vient de matcher ; ce helper en extrait le suffixe :<ms>, borne dans bounds et retombe sur bounds.default pour le canal de base nu ou un suffixe invalide.

rateChannel#

function rateChannel(base: string, intervalMs?: number, defaultMs?: number): string

Construit le nom d’un canal cadencé à partir de sa base et de la cadence demandée.

useNodefony#

function useNodefony(): NodefonySocket

useNodefony() — le client temps réel brut (hub : canaux, syslog, stats…). Tête de gondole + échappatoire pour les cas avancés. Référence stable (pas de re-render) ; pour l’état réactif, utiliser les hooks dédiés ci-dessous.

useNodefonyAdaptiveChannel#

function useNodefonyAdaptiveChannel(base: string, onMessage: (payload: unknown) => void, desiredMs: number, opts?: AdaptiveChannelHookOptions, deps?: React.DependencyList): number

useNodefonyAdaptiveChannel() — équivalent handler-based de useNodefonyChannel mais en cadence adaptative (AIMD client-driven, cf NodefonySocket.adaptiveChannel) : la lib recule la cadence sous famine puis la remonte quand c’est sain. onMessage reçoit chaque frame (handler riche autorisé) ; renvoie la cadence effective (ms) pour un badge. Primitif commun à tous les dashboards d’état (Supervision, ORM…) → logique live identique. Réservé aux canaux d’ÉTAT (latest-wins). Réglage enabled (off = abonnement fixe).

useNodefonyAdaptiveChannelData#

function useNodefonyAdaptiveChannelData<T = unknown>(base: string, desiredMs: number, opts?: AdaptiveChannelHookOptions, deps?: React.DependencyList): AdaptiveChannelData<T>

useNodefonyAdaptiveChannelData() — comme useNodefonyChannelData mais en cadence adaptative. Mince surcouche de useNodefonyAdaptiveChannel : garde la dernière valeur reçue + renvoie la cadence effective (badge UI). Réservé aux canaux d’ÉTAT.

useNodefonyChannel#

function useNodefonyChannel(channel: string, onMessage: (payload: unknown) => void, deps?: React.DependencyList): void

useNodefonyChannel() — s’abonne à un canal pub/sub : onMessage est appelé à chaque message. Le socle apparie subscribe/unsubscribe serveur (ref-comptés) et le re-subscribe au reconnect. Le handler peut changer à chaque render sans re-déclencher l’abonnement (capturé via ref) ; passer deps si le canal effectif dépend d’autres valeurs.

useNodefonyChannelData#

function useNodefonyChannelData<T = unknown>(channel: string, initial?: T | null): T | null

useNodefonyChannelData() — la dernière valeur reçue sur un canal (cas le plus courant : dernière mesure d’un flux de stats). null tant que rien n’est arrivé.

useNodefonyChannelStats#

function useNodefonyChannelStats(channel: string): ChannelStatsSnapshot | null

useNodefonyChannelStats() — stats live d’un canal (débit, série VU-mètre, total). Source = le client Core (getChannelStats, échantillonné 1×/s). Implémenté en state+effet (pas useSyncExternalStore) car le snapshot est un objet recréé → la stabilité de référence requise par le store externe ne tiendrait pas.

useNodefonyIdentity#

function useNodefonyIdentity(): RealtimeIdentity | null

useNodefonyIdentity() — l’identité résolue de la connexion, annoncée par le serveur au realtime:welcome (authenticated, roles, userIdentifier, scopes). null tant qu’aucun welcome n’a été reçu ; une fois reçu, un visiteur anonyme a authenticated: false. useSyncExternalStore → re-render uniquement quand l’identité change ((re)welcome ou logout). Brique du gating front : authenticated:false → écran login, sans route /auth/me.

useNodefonyKernel#

function useNodefonyKernel(): INodefonyKernel | null

useNodefonyKernel() — le noyau client fourni au <NodefonyProvider kernel>, ou null quand l’application n’en compose pas. Référence stable ; pour l’état réactif, prendre useNodefonyKernelState et useNodefonyKernelIdentity.

useNodefonyKernelIdentity#

function useNodefonyKernelIdentity(): NodefonyKernelIdentity | null

useNodefonyKernelIdentity() — l’identité DÉCLARÉE au noyau par l’application (setIdentity), ou null hors session ou sans noyau fourni. Re-render à chaque changement de COMPTE — un profil rafraîchi à clé inchangée ne réveille personne (règle d’identité du noyau).

useNodefonyKernelState#

function useNodefonyKernelState(): NodefonyKernelState | null

useNodefonyKernelState() — l’état du noyau (created → booting → ready → terminated), ou null sans noyau fourni. Re-render uniquement aux transitions.

useNodefonyLogin#

function useNodefonyLogin(options?: NodefonyLoginOptions): NodefonyLoginBinding

useNodefonyLogin() — le déroulé de connexion du framework, relayé en état React. Le balisage reste entièrement à l’application ; les règles (étapes, second facteur, blocage, fournisseurs, passkey) vivent dans NodefonyLogin (nodefony/client), jamais ici.

useNodefonyNoticeLog#

function useNodefonyNoticeLog(opts?: UseNoticeLogOptions): NodefonyNotice[]

useNodefonyNoticeLog() — ring buffer borné des dernières notices, filtrable par source. Brique du hub temps réel (« incidents temps réel ») : un historique léger des criticités realtime, distinct des toasts éphémères. La taille de l’anneau et le filtrage viennent du socle (observeNoticeLog).

useNodefonyNotifications#

function useNodefonyNotifications(onNotice: (notice: NodefonyNotice) => void, deps?: React.DependencyList): void

useNodefonyNotifications() — s’abonne au flux de notices normalisées du client : criticités qui cassent le temps réel (close codes RFC 6455 interprétés), erreurs serveur poussées, rétablissement de connexion. onNotice est appelé pour CHAQUE notice → brancher un centre de notifications (snackbar). Le handler peut changer à chaque render sans re-déclencher l’abonnement (capturé via ref).

useNodefonySnapshot#

function useNodefonySnapshot(): SocketSnapshot | null

useNodefonySnapshot() — ce que la socket sait d’ELLE-MÊME : état, canaux tenus, trames reçues, trames perdues, dernière trame. Rafraîchi par l’échantillonneur déjà en place — aucune horloge de plus, aucune trame émise pour mesurer.

useNodefonySse#

function useNodefonySse(url: string | null, options?: ObserveSseOptions): SseSnapshot

useNodefonySse() — ouvre un flux SSE au montage, rend son état (readyState, dernier événement, erreur), et le FERME au démontage.

useNodefonyState#

function useNodefonyState(): RealtimeState

useNodefonyState() — état de la connexion ("connected" | "reconnecting" | …). useSyncExternalStore : re-render UNIQUEMENT au changement d’état (snapshot primitif, sans tearing en mode concurrent).

useNodefonySyslog#

function useNodefonySyslog(opts?: UseSyslogOptions): unknown[]

useNodefonySyslog() — flux syslog prêt à l’emploi : ring buffer borné + filtre de sévérité. Le format coalescé du canal ({ logs: Pdu[], dropped }), l’entrée unique, la taille de l’anneau et le canal par défaut viennent du socle (observeSyslog) : ce hook n’en connaît aucun. Brique de la page Logs — un seul appel remplace l’effet + le buffer manuels.

Interfaces (19)#

AdaptiveChannelData#

interface AdaptiveChannelData<T>

Résultat de useNodefonyAdaptiveChannelData : dernière valeur + cadence réelle.

INodefonyKernel#

interface INodefonyKernel

Contrat du kernel client isomorphe (ADR-0007 D2 — surface v1, volontairement minimale : chaque méthode publiée est une promesse SemVer).

ISseEvent#

interface ISseEvent

Un événement reçu, une fois sa ligne vide atteinte (WHATWG §9.2.6).

NodefonyKernelIdentity#

interface NodefonyKernelIdentity

Identité runtime déclarée par l’application au kernel.

NodefonyLoginBinding#

interface NodefonyLoginBinding

Ce que rend useNodefonyLogin : l’état, et le déroulé qui porte les actions.

NodefonyLoginError#

interface NodefonyLoginError

Échec classé de la dernière action.

NodefonyLoginOptions#

interface NodefonyLoginOptions

Réglages de NodefonyLogin — tous facultatifs.

NodefonyLoginProvider#

interface NodefonyLoginProvider

Fournisseur de connexion, tel que le SERVEUR le présente.

NodefonyLoginState#

interface NodefonyLoginState

Photographie du déroulé — un objet NEUF à chaque changement, jamais muté.

NodefonyLoginUser#

interface NodefonyLoginUser

Identité rendue par le serveur une fois la session ouverte.

NodefonyNotice#

interface NodefonyNotice

Notice normalisée prête à afficher (snackbar / centre de notifications).

NodefonyProviderProps#

interface NodefonyProviderProps

ObserveSseOptions#

interface ObserveSseOptions extends NodefonySseOptions

Réglages de observeSse : ceux de NodefonySse, plus deux.

RateBounds#

interface RateBounds

Bornes de cadence d’un canal cadencé (toutes en millisecondes).

RealtimeIdentity#

interface RealtimeIdentity

Identité d’une connexion temps réel, telle que résolue par le serveur au handshake (token neutre IRealtimeToken côté back) et annoncée au client dans la notification système realtime:welcome.

SocketSnapshot#

interface SocketSnapshot

Ce que le client sait de sa PROPRE socket, à un instant donné.

SseSnapshot#

interface SseSnapshot

L’état d’un flux observé — ce qu’une vue affiche.

UseNoticeLogOptions#

interface UseNoticeLogOptions

UseSyslogOptions#

interface UseSyslogOptions

Types (6)#

AdaptiveChannelHookOptions#

type AdaptiveChannelHookOptions = Omit<BindAdaptiveOptions, "intervalMs" | "onRate">

Réglages adaptatifs du hook (cadence désirée fixée à part par intervalMs).

ChannelStatsSnapshot#

type ChannelStatsSnapshot = MessageStats

Stats observées d’un canal (telles que calculées par le client Core).

LoginErrorKind#

type LoginErrorKind = "credentials" | "throttled" | "network" | "server" | "cancelled" | "unsupported"

Nature d’un échec, classée pour que l’écran sache QUOI dire.

LoginStep#

type LoginStep = "identifier" | "password" | "mfa" | "authenticated"

Étape du déroulé de connexion.

NodefonyKernelState#

type NodefonyKernelState = "created" | "booting" | "ready" | "terminated"

États du kernel client, ordonnés et non régressifs (symétrie nominale avec les lifecycle flags du Kernel serveur — booted/ready/… — sans en singer la sémantique process).

RealtimeState#

type RealtimeState = "disconnected" | "connecting" | "connected" | "reconnecting" | "error"

← Toutes les références d’API