Noms mondiaux de Total.js 5
Total.js 5 expose des fonctions et des objets mondiaux pour les outils de route, actions, stockage, messagerie et application.
| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
ON | function | Enregistre un écouteur pour un événement de l'application. | events |
ONCE | function | Comme ON, mais l'écouteur ne s'exécute que pour le premier événement. | events |
OFF | function | Supprime un écouteur enregistré avec ON. | events |
EMIT | function | Émet un événement avec jusqu'à sept arguments. | events |
LOAD | function | Charge les fichiers du projet (contrôleurs, définitions...) ; le framework l'appelle pour vous au démarrage. | load-and-npminstall |
LOADCONFIG | function | Analyse un texte au format config et l'applique à CONF. | configuration-file |
LOADRESOURCE | function | Charge une ressource (un fichier de traduction) depuis un texte ou une URL. | localization |
PAUSESERVER | function | Met en pause ou reprend le serveur par nom : pendant la pause, les requêtes reçoivent une page 503. | pause-server |
DEBUG | boolean | true en mode debug, false en mode release. | release-mode-and-debugging |
CONF | object | La configuration de l'application (le fichier config et ses valeurs par défaut). | configuration-file |
DEF | object | Gestionnaires et réglages par défaut du framework (DEF.onMail, DEF.helpers, DEF.onCSRFcheck...). | view-helpers-and-config |
F | object | L'objet du framework. Total est le même objet. | utility-globals |
Total | object | L'objet du framework (identique à F). Total.run() démarre l'application. | release-mode-and-debugging |
MAIN | object | Un objet vide que le framework crée pour les données de votre application. | utility-globals |
REPO | object | Un objet vide que le framework crée pour vos propres données. | utility-globals |
FUNC | object | Un objet vide que le framework crée pour vos propres fonctions. | utility-globals |
TEMP | object | Un objet pour les données temporaires ; le framework le remplace de temps en temps par un nouvel objet vide. | utility-globals |
NOW | object | La date actuelle, rafraîchie par le framework une fois par minute et par certains appels comme CACHE. | utility-globals |
EMPTYARRAY | object | Un tableau vide figé, pour éviter d'en créer de nouveaux. | utility-globals |
EMPTYOBJECT | object | Un objet vide figé, pour éviter d'en créer de nouveaux. | utility-globals |
MODS | object | Les modules chargés du dossier modules/, par identifiant. | utility-globals |
PLUGINS | object | Les plugins chargés du dossier plugins/, par identifiant. | utility-globals |
NOOP | function | Une fonction qui ne fait rien. | utility-globals |
print | function | Identique à console.log. | utility-globals |
REQUIRE | function | Comme require, mais cherche aussi dans le dossier node_modules de l'application et accepte les noms node:. | utility-globals |
Routage, actions et middleware
| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
ROUTE | function | Déclare une route (HTTP, SOCKET, FILE, API ou une route de repli comme #404). | http-methods |
NEWACTION | function | Déclare une action avec son entrée, params, query, sortie et permissions. | actions-crud |
NEWSCHEMA | function | Regroupe les actions d'une entité sous un nom. | schemas |
ACTION | function | Exécute une action depuis votre propre code. | calling-actions-from-code |
EXEC | function | La même fonction que ACTION. | calling-actions-from-code |
NEWTRANSFORM | function | Ajoute une étape à une chaîne de transformations nommée. | transforms |
TRANSFORM | function | Fait passer une valeur par une chaîne de transformations. | transforms |
MIDDLEWARE | function | Enregistre un middleware à utiliser dans les routes avec #name. | middleware |
NEWMIDDLEWARE | function | La même fonction que MIDDLEWARE. | middleware |
PROXY | function | Redirige les requêtes sous un préfixe d'URL vers un autre serveur. | proxy |
CORS | function | Définit les origines autorisées à appeler l'application depuis un navigateur. | cors |
ErrorBuilder | function | La classe qui collecte les erreurs de validation. | errors-and-audit |
SUCCESS | function | Renvoie l'objet que le framework envoie pour une opération réussie ({ success: true, value: value }). | errors-and-audit |
ERROR | function | ERROR(name) renvoie un callback qui journalise l'erreur reçue sous ce nom ; ERROR() renvoie le callback d'erreur par défaut. | errors-and-audit |
UNAUTHORIZED | function | UNAUTHORIZED($, ...permissions) répond 401 et renvoie true quand l'utilisateur n'a aucune des permissions ; il renvoie false quand l'utilisateur en a une ou est super administrateur. | action-user-and-permissions |
AUTH | function | Authentifie chaque requête : une fonction, ou les options des sessions intégrées. | sessions-with-built-in-auth |
BLOCKED | function | Compte les appels d'une adresse IP et indique quand elle a atteint la limite. | rate-limiting |
AUDIT | function | Ajoute une entrée d'audit (utilisateur, message et type) à un fichier journal dans logs/. | errors-and-audit |
Données et cache
| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
NOSQL | function | Ouvre une table de la base NoSQL intégrée. | nosql-crud |
DATA | object | Point d'entrée indépendant de la base de données vers le query builder. | data-api |
DB | function | Démarre une requête avec le query builder (DB().find('table').where(...).callback($)) ; la requête est exécutée par le pilote enregistré avec NEWDB. | query-builder-db |
NEWDB | function | Enregistre un pilote de base de données function(options, callback) pour le query builder : celui par défaut, ou un pilote nommé avec NEWDB('name', fn). | query-builder-db |
CACHE | object | Un stockage en mémoire avec expiration. | cache |
FILECACHE | function | Calcule un résultat une fois et le garde dans un fichier un certain temps. | filecache |
MEMORIZE | function | Un objet JSON enregistré sur disque. | memorize |
FILESTORAGE | function | Un stockage pour les fichiers téléversés. | filestorage |
Clients HTTP, WebSocket et messagerie
| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
REQUEST | function | Client HTTP de bas niveau. | request-and-download |
DOWNLOAD | function | Enregistre la réponse d'une URL dans un fichier. | request-and-download |
RESTBuilder | function | Constructeur d'appels vers d'autres API HTTP. | restbuilder |
AJAX | function | AJAX('METHOD /url/', data, callback) envoie une requête avec l'en-tête x-requested-with et renvoie le corps analysé ; renvoie une promesse quand il n'y a pas de callback. | ajax-requests |
API | function | Appelle une opération d'un service externe via son pilote : API('service', 'operation', data).callback($). | api-drivers |
NEWAPI | function | Enregistre le pilote function(options, next) d'un service pour API, avec une configuration optionnelle. | api-drivers |
TotalAPI | function | Appelle un service de la plateforme Total.js avec API('TAPI', name, model). | remote-service-boundaries |
WEBSOCKETCLIENT | function | Un client WebSocket pour votre application. | websocket-client |
TMSCLIENT | function | Un client du Total Messaging Service. | tms |
PUBLISH | function | Envoie un message aux clients TMS qui y sont abonnés. | tms |
NEWPUBLISH | function | Déclare un message que l'application publie. | tms |
SUBSCRIBE | function | Ajoute un écouteur pour un message que les clients envoient à l'application. | tms |
UNSUBSCRIBE | function | Supprime les écouteurs d'un message TMS. | tms |
NEWSUBSCRIBE | function | Déclare un message que l'application reçoit. | tms |
NEWCALL | function | Déclare une fonction que les clients TMS peuvent appeler. | tms |
OPENCLIENT | function | Se connecte à OpenPlatform par WebSocket pour les appels distants, les événements et les connexions partagées. | openclient-protocol |
PROXYCLIENT | function | Se connecte à un PROXYSERVER par WebSocket et répond à ses requêtes avec un serveur local (un port ou ip:port). | proxy-tunnel |
PROXYSERVER | function | Transforme l'application en serveur de tunnel : les requêtes HTTP d'un endpoint sont envoyées par une route WebSocket à un PROXYCLIENT. | proxy-tunnel |
LDAP | function | Se connecte à un serveur LDAP (port 389 sauf si ldap.port indique autre chose) et rappelle avec le résultat. | ldap-openldap |
MAIL | function | Envoie un courriel dont le corps est une vue. | send-email |
HTMLMAIL | function | Envoie un courriel dont le corps est une chaîne HTML. | send-email |
LOGMAIL | function | Envoie un e-mail dont le corps est un texte imprimé dans un bloc <pre> (passez le corps sous forme de texte). | logmail |
Mail | object | La classe derrière l'envoi de courriels (SMTP). | send-email |
AIMODEL | function | Démarre une requête vers un modèle de langage enregistré avec NEWAIMODEL : AIMODEL('name').user('text').callback($.callback()). | ai-models |
AIPARSER | function | Crée un analyseur pour la réponse en flux d'un fournisseur d'IA (openai, claude...) : write() reçoit des morceaux et end() renvoie le contenu, la réflexion et les appels d'outils. | ai-models |
NEWAIMODEL | function | Enregistre le pilote function(ai, done) d'un ou plusieurs modèles d'IA pour AIMODEL, avec une configuration optionnelle. | ai-models |
PYPELINE | function | Exécute depuis l'application un fichier Python du dossier pypelines/ (ou du code Python en ligne) et dialogue avec lui par des trames JSON sur un socket. | pypeline |
Fichiers, système et workers
| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
PATH | object | Utilitaires qui construisent des chemins dans les dossiers du projet (PATH.root(), PATH.public(), PATH.tmp()...). | file-download |
MERGE | function | Enregistre un fichier virtuel composé de plusieurs fichiers, minifié. | minification |
TOUCH | function | Efface les entrées en cache minifiées, temporaires et introuvables d'une URL, ou de toutes. | touch-static-cache |
CLEANUP | function | Détruit un flux quand il est terminé. | cleanup-streams |
BACKUP | function | Compresse un répertoire en un seul fichier. | backup-restore-shell |
RESTORE | function | Décompresse un fichier créé avec BACKUP. | backup-restore-shell |
SHELL | function | Exécute une commande shell dans le dossier du projet. | backup-restore-shell |
NPMINSTALL | function | Installe un paquet npm dans le dossier des modules de l'application. | load-and-npminstall |
IMPORT | function | Télécharge un fichier JavaScript depuis une URL et le charge. | import-remote-module |
Image | object | Traitement d'images avec GraphicsMagick ou ImageMagick. | images |
NEWTHREAD | function | Démarre un worker thread. | workers-and-threads |
NEWFORK | function | Démarre un processus enfant. | workers-and-threads |
NEWTHREADPOOL | function | Crée un groupe de workers que les tâches empruntent une à une. | thread-pool |
CRON | function | Exécute une fonction selon un planning. | cron-jobs |
setTimeout2 | function | setTimeout avec un identifiant : l'appeler de nouveau avec le même identifiant remplace le minuteur précédent. | debounce-timers |
clearTimeout2 | function | Annule un minuteur créé avec setTimeout2. | debounce-timers |
Flow | object | Le gestionnaire des FlowStreams de l'application : Flow.load(schema), Flow.remove(id), Flow.instances et Flow.test() pour un composant. | flowstream, flowstream-component-test |
FlowStream | object | Le même objet que Flow. | flowstream |
NEWMACRO | function | Compile une macro à partir d'une chaîne. | macros |
NEWCOMPONENT | function | Compile le HTML d'un composant. | native-components |
COMPONENTATOR | function | Télécharge un bundle Componentator dans public/ sous le nom ui-<name>-<hash>.min.js et enregistre son adresse dans F.repo[name]. | remote-service-boundaries |
Utilitaires, modèles et localisation
| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
U | object | L'objet utilitaire du framework (U.extend(), U.clone()...). | utilities |
Utils | object | Le même objet que U. | utilities |
UID | function | Crée un identifiant unique court trié par date. | unique-ids-and-hashes |
GUID | function | Crée une chaîne aléatoire de la longueur donnée. | unique-ids-and-hashes |
HASH | function | Renvoie un hachage numérique rapide (pas pour les mots de passe). | unique-ids-and-hashes |
CLONE | function | Fait une copie profonde d'un objet. | utility-globals |
COPY | function | Copie les propriétés du premier objet dans le second et renvoie le second. | utility-globals |
DIFFARR | function | Compare deux tableaux d'objets selon une propriété et renvoie les objets à ajouter, les paires à mettre à jour et les valeurs à supprimer. | diffarr-sync-lists |
QUERIFY | function | Construit une URL avec chaîne de requête à partir d'un objet. | utility-globals |
PROMISIFY | function | PROMISIFY(fn, a, b, c) appelle une fonction qui prend un callback en dernier argument et renvoie une promesse. | utility-globals |
ENCRYPT | function | Transforme une valeur en jeton opaque. | encrypt-and-decrypt |
DECRYPT | function | Lit une valeur d'un jeton créé avec ENCRYPT. | encrypt-and-decrypt |
ENCRYPTREQ | function | Chiffre une valeur avec l'user agent d'une requête (et son adresse IP en mode strict). | request-bound-tokens |
DECRYPTREQ | function | Lit une valeur créée avec ENCRYPTREQ ; ne renvoie rien quand la requête ne correspond pas. | request-bound-tokens |
LOCALIZE | function | Choisit la langue de chaque requête. | localization |
TRANSLATE | function | Traduit les textes @(...) d'une chaîne dans une langue. | localization |
Tangular | object | Le moteur de modèles (Tangular.render()). | tangular-templates |
Ta | object | Un autre nom de Tangular, le moteur de modèles. | template-files |
Thelpers | object | Les fonctions utilitaires disponibles dans les modèles Tangular. | tangular-templates |
TEMPLATE | function | Rend un modèle Tangular qui est un texte, un fichier du dossier templates ou une URL, et renvoie une promesse avec le texte. | template-files |
exports.install = function() {
ROUTE('GET /globals/', globals);
};
function globals($) {
var output = {};
for (var name of Object.getOwnPropertyNames(globalThis)) {
var value;
try {
value = globalThis[name];
} catch (e) {
value = undefined;
}
output[name] = typeof(value) === 'function' ? 'function' : value === null ? 'null' : typeof(value);
}
$.json(output);
}