Skip to content

Latest commit

 

History

History
72 lines (60 loc) · 4.64 KB

DuploInstance.md

File metadata and controls

72 lines (60 loc) · 4.64 KB

Duplo instance

La DuploInstance est l'objet pricipal de duplojs, c'est à partir de lui que nous déclarons toutes les fonctionalités de duplojs.

Sommaire

Avoir la DuploInstance

import Duplo from "@duplojs/duplojs";

const duplo = Duplo({port: 1506, host: "localhost", environment: "DEV"} /* DuploConfig */);

// duplo === DuploInstance

Propriétés de la DuploConfig

propriétés type definition
port number Définit le port que va utiliser le serveur.
host string Définit les adresses que le serveur va écouter.
onLaunch () => void | undefined Fonction callback qui se lancera après le lancement du serveur.
onClose () => void | undefined Fonction callback qui se lancera après la fermeture du serveur.
environment "DEV" | "PROD" Représente l'environnement actuel.
prefix string | undefined Sert à définir un préfixe pour tous les paths de l'API.
keepDescriptions boolean | undefined Si True, celà ne supprimera pas les descriptions.
globals boolean | string | undefined Permet de définir l'instance en variable globale à une clé choisie. Si True, celà la définit à la clé duplo. (global.duplo = this;)

Propriétés de la DuploInstance

propriétés type definition
server http serveur Objet http serveur.
config DuploConfig Correspont à la config utilisée pour obtenir l'instance.
launch duplo.launch(onReady?: () => void): http.server Fonction qui sert à lancer le serveur. Le router sera build à l'appel de cette fonction.
addHook duplo.addHook(hookName: string, callback: (...args: any[]) => any): DuploInstance Permet d'ajouter des Hooks de manière globale.
declareRoute duplo.declareRoute(method: string, path: string | string[]): BuilderPatternRoute Permet de déclarer une route.
createChecker duplo.createChecker(name: string, parameters: CreateCheckerParameters): CheckerExport Permet de créer un checker.
setNotfoundHandler duplo.setNotfoundHandler(notfoundCallback: (request: Request, response: Response) => void): void Permet de définir la fonction qui sera applée en cas de route non trouvée.
setErrorHandler duplo.setErrorHandler(errorCallback, (request: Request, response: Response, error: Error) => void): void Permet de définir la fonction qui sera applée en cas d'erreur survenue pendant l'execution des opérations d'une route.
createProcess duplo.createProcess(name: string, params?: CreateProcessParams): BuilderPatternProcess Permet de créer un process.
declareAbstractRoute duplo.declareAbstractRoute(name: string, params?: DeclareAbstractRouteParams): BuilderPatternAbstractRoute Permet de créer une abstractRoute.
mergeAbstractRoute duplo.mergeAbstractRoute(abstractRoute: abstractRouteInstance[]): AbstractRouteInstance Permet de merge plusieurs abstractRoute. Cette function existe pour fusionner des abstractRoute venant de différents plugins, donc de favoriser la création d'abstractRoute depuis d'autres abstractRoute quand vous le pouvez.
use duplo.use(plugins: (instance: DuploInstance, options: object) => any, options: object): any Permet d'implémenter un plugin.
routes Object Objet contenant toutes les routes de l'application. Il sera vide jusqu'à l'appel du hook beforeBuildRouter.
checkers Object Objet contenant tous les checkers.
processes Object Objet contenant tous les process.
abstractRoutes Object Objet contenant toutes les abstractRoutes.
plugins Object Objet contenant toutes les informations des plugins implémentés.
class Object Objet regroupant l'ensemble des classes utilisées par l'instance.

DuploInstance en variable global

import Duplo, {zod} from "@duplojs/duplojs";

export default Duplo({
    ...
    globals: true,
});

export { zod };

declare global {
    const duplo: typeof import("./{currentFile}")["default"];
	const zod: typeof import("./{currentFile}")["zod"];
}

duplo.use(...);

Retour vers le Sommaire.