Nombres globales de Total.js 5
Total.js 5 expone funciones y objetos globales para las herramientas de itinerancia, acciones, almacenamiento, mensajes y aplicaciones.
| Nombre | Tipo | Qué hace | Receta |
|---|---|---|---|
ON | function | Registra un oyente para un evento de la aplicación. | events |
ONCE | function | Como ON, pero el oyente se ejecuta solo para el primer evento. | events |
OFF | function | Elimina un oyente registrado con ON. | events |
EMIT | function | Emite un evento con hasta siete argumentos. | events |
LOAD | function | Carga los archivos del proyecto (controladores, definiciones...); el framework lo llama por ti al iniciar. | load-and-npminstall |
LOADCONFIG | function | Analiza un texto en el formato de config y lo aplica a CONF. | configuration-file |
LOADRESOURCE | function | Carga un recurso (un archivo de traducción) desde un texto o desde una URL. | localization |
PAUSESERVER | function | Pausa o reanuda el servidor por nombre: mientras está en pausa, las peticiones reciben una página 503. | pause-server |
DEBUG | boolean | true en modo debug, false en modo release. | release-mode-and-debugging |
CONF | object | La configuración de la aplicación (el archivo config y sus valores por defecto). | configuration-file |
DEF | object | Manejadores y ajustes por defecto del framework (DEF.onMail, DEF.helpers, DEF.onCSRFcheck...). | view-helpers-and-config |
F | object | El objeto del framework. Total es el mismo objeto. | utility-globals |
Total | object | El objeto del framework (igual que F). Total.run() inicia la aplicación. | release-mode-and-debugging |
MAIN | object | Un objeto vacío que el framework crea para los datos de tu aplicación. | utility-globals |
REPO | object | Un objeto vacío que el framework crea para tus propios datos. | utility-globals |
FUNC | object | Un objeto vacío que el framework crea para tus propias funciones. | utility-globals |
TEMP | object | Un objeto para datos temporales; el framework lo reemplaza por uno nuevo y vacío de vez en cuando. | utility-globals |
NOW | object | La fecha actual, actualizada por el framework una vez por minuto y por algunas llamadas como CACHE. | utility-globals |
EMPTYARRAY | object | Un array vacío congelado, para evitar crear nuevos. | utility-globals |
EMPTYOBJECT | object | Un objeto vacío congelado, para evitar crear nuevos. | utility-globals |
MODS | object | Los módulos cargados de la carpeta modules/, por id. | utility-globals |
PLUGINS | object | Los plugins cargados de la carpeta plugins/, por id. | utility-globals |
NOOP | function | Una función que no hace nada. | utility-globals |
print | function | Lo mismo que console.log. | utility-globals |
REQUIRE | function | Como require, pero también busca en la carpeta node_modules de la aplicación y acepta nombres node:. | utility-globals |
Rutas, acciones y middleware
| Nombre | Tipo | Qué hace | Receta |
|---|---|---|---|
ROUTE | function | Declara una ruta (HTTP, SOCKET, FILE, API o un fallback como #404). | http-methods |
NEWACTION | function | Declara una acción con su entrada, params, query, salida y permisos. | actions-crud |
NEWSCHEMA | function | Agrupa las acciones de una entidad bajo un nombre. | schemas |
ACTION | function | Ejecuta una acción desde tu propio código. | calling-actions-from-code |
EXEC | function | La misma función que ACTION. | calling-actions-from-code |
NEWTRANSFORM | function | Añade un paso a una cadena de transformaciones con nombre. | transforms |
TRANSFORM | function | Pasa un valor por una cadena de transformaciones. | transforms |
MIDDLEWARE | function | Registra un middleware para usarlo en rutas con #name. | middleware |
NEWMIDDLEWARE | function | La misma función que MIDDLEWARE. | middleware |
PROXY | function | Reenvía las peticiones bajo un prefijo de URL a otro servidor. | proxy |
CORS | function | Establece los orígenes que pueden llamar a la aplicación desde un navegador. | cors |
ErrorBuilder | function | La clase que recoge los errores de validación. | errors-and-audit |
SUCCESS | function | Devuelve el objeto que el framework envía en una operación correcta ({ success: true, value: value }). | errors-and-audit |
ERROR | function | ERROR(name) devuelve un callback que registra el error que recibe con ese nombre; ERROR() devuelve el callback de error por defecto. | errors-and-audit |
UNAUTHORIZED | function | UNAUTHORIZED($, ...permissions) responde 401 y devuelve true cuando el usuario no tiene ninguno de los permisos; devuelve false cuando tiene uno de ellos o es superadministrador. | action-user-and-permissions |
AUTH | function | Autentica cada petición: una función, o las opciones de las sesiones integradas. | sessions-with-built-in-auth |
BLOCKED | function | Cuenta las llamadas de una dirección IP e indica cuándo alcanzó el límite. | rate-limiting |
AUDIT | function | Añade una entrada de auditoría (usuario, mensaje y tipo) a un archivo de registro en logs/. | errors-and-audit |
Datos y caché
| Nombre | Tipo | Qué hace | Receta |
|---|---|---|---|
NOSQL | function | Abre una tabla de la base de datos NoSQL integrada. | nosql-crud |
DATA | object | Entrada independiente de la base de datos al constructor de consultas. | data-api |
DB | function | Inicia una consulta con el constructor de consultas (DB().find('table').where(...).callback($)); la consulta la ejecuta el driver registrado con NEWDB. | query-builder-db |
NEWDB | function | Registra un driver de base de datos function(options, callback) para el constructor de consultas: el predeterminado, o uno con nombre con NEWDB('name', fn). | query-builder-db |
CACHE | object | Un almacén en memoria con caducidad. | cache |
FILECACHE | function | Calcula un resultado una vez y lo guarda en un archivo durante un tiempo. | filecache |
MEMORIZE | function | Un objeto JSON guardado en disco. | memorize |
FILESTORAGE | function | Un almacenamiento para archivos subidos. | filestorage |
Clientes HTTP, WebSocket y de mensajería
| Nombre | Tipo | Qué hace | Receta |
|---|---|---|---|
REQUEST | function | Cliente HTTP de bajo nivel. | request-and-download |
DOWNLOAD | function | Guarda la respuesta de una URL en un archivo. | request-and-download |
RESTBuilder | function | Constructor de llamadas a otras APIs HTTP. | restbuilder |
AJAX | function | AJAX('METHOD /url/', data, callback) hace una petición con la cabecera x-requested-with y devuelve el cuerpo analizado; devuelve una promesa cuando no hay callback. | ajax-requests |
API | function | Llama a una operación de un servicio externo mediante su driver: API('service', 'operation', data).callback($). | api-drivers |
NEWAPI | function | Registra el driver function(options, next) de un servicio para API, con una configuración opcional. | api-drivers |
TotalAPI | function | Llama a un servicio de la plataforma Total.js mediante API('TAPI', name, model). | remote-service-boundaries |
WEBSOCKETCLIENT | function | Un cliente WebSocket para tu aplicación. | websocket-client |
TMSCLIENT | function | Un cliente del Total Messaging Service. | tms |
PUBLISH | function | Envía un mensaje a los clientes TMS suscritos a él. | tms |
NEWPUBLISH | function | Declara un mensaje que la aplicación publica. | tms |
SUBSCRIBE | function | Añade un oyente para un mensaje que los clientes envían a la aplicación. | tms |
UNSUBSCRIBE | function | Elimina los oyentes de un mensaje TMS. | tms |
NEWSUBSCRIBE | function | Declara un mensaje que la aplicación recibe. | tms |
NEWCALL | function | Declara una función que los clientes TMS pueden llamar. | tms |
OPENCLIENT | function | Conecta con OpenPlatform por WebSocket para llamadas remotas, eventos y conexiones compartidas. | openclient-protocol |
PROXYCLIENT | function | Se conecta a un PROXYSERVER por WebSocket y responde a sus peticiones con un servidor local (un puerto o ip:port). | proxy-tunnel |
PROXYSERVER | function | Convierte la aplicación en un servidor de túnel: las peticiones HTTP de un endpoint se envían por una ruta WebSocket a un PROXYCLIENT. | proxy-tunnel |
LDAP | function | Se conecta a un servidor LDAP (puerto 389 salvo que ldap.port diga otra cosa) y devuelve el resultado en el callback. | ldap-openldap |
MAIL | function | Envía un correo cuyo cuerpo es una vista. | send-email |
HTMLMAIL | function | Envía un correo cuyo cuerpo es una cadena de HTML. | send-email |
LOGMAIL | function | Envía un correo cuyo cuerpo es un texto impreso en un bloque <pre> (pasa el cuerpo como texto). | logmail |
Mail | object | La clase detrás del envío de correo (SMTP). | send-email |
AIMODEL | function | Inicia una petición a un modelo de lenguaje registrado con NEWAIMODEL: AIMODEL('name').user('text').callback($.callback()). | ai-models |
AIPARSER | function | Crea un parser para la respuesta en streaming de un proveedor de IA (openai, claude...): write() recibe fragmentos y end() devuelve el contenido, el razonamiento y las llamadas a herramientas. | ai-models |
NEWAIMODEL | function | Registra el driver function(ai, done) de uno o más modelos de IA para AIMODEL, con una configuración opcional. | ai-models |
PYPELINE | function | Ejecuta un archivo Python de la carpeta pypelines/ (o código Python en línea) desde la aplicación y habla con él con tramas JSON por un socket. | pypeline |
Archivos, sistema y workers
| Nombre | Tipo | Qué hace | Receta |
|---|---|---|---|
PATH | object | Helpers que construyen rutas en las carpetas del proyecto (PATH.root(), PATH.public(), PATH.tmp()...). | file-download |
MERGE | function | Registra un archivo virtual formado por varios archivos, minificado. | minification |
TOUCH | function | Limpia las entradas en caché minificadas, temporales y de no encontrado de una URL, o de todas. | touch-static-cache |
CLEANUP | function | Destruye un stream cuando ha terminado. | cleanup-streams |
BACKUP | function | Empaqueta un directorio en un solo archivo. | backup-restore-shell |
RESTORE | function | Desempaqueta un archivo creado con BACKUP. | backup-restore-shell |
SHELL | function | Ejecuta un comando de shell en la carpeta del proyecto. | backup-restore-shell |
NPMINSTALL | function | Instala un paquete npm en la carpeta de módulos de la aplicación. | load-and-npminstall |
IMPORT | function | Descarga un archivo JavaScript de una URL y lo carga. | import-remote-module |
Image | object | Procesamiento de imágenes con GraphicsMagick o ImageMagick. | images |
NEWTHREAD | function | Inicia un worker thread. | workers-and-threads |
NEWFORK | function | Inicia un proceso hijo. | workers-and-threads |
NEWTHREADPOOL | function | Crea un grupo de workers que los trabajos toman prestados de uno en uno. | thread-pool |
CRON | function | Ejecuta una función según un horario. | cron-jobs |
setTimeout2 | function | setTimeout con un id: llamarlo de nuevo con el mismo id reemplaza el temporizador anterior. | debounce-timers |
clearTimeout2 | function | Cancela un temporizador creado con setTimeout2. | debounce-timers |
Flow | object | El gestor de los FlowStreams de la aplicación: Flow.load(schema), Flow.remove(id), Flow.instances y Flow.test() para un componente. | flowstream, flowstream-component-test |
FlowStream | object | El mismo objeto que Flow. | flowstream |
NEWMACRO | function | Compila una macro a partir de una cadena. | macros |
NEWCOMPONENT | function | Compila el HTML de un componente. | native-components |
COMPONENTATOR | function | Descarga un bundle de Componentator en public/ como ui-<name>-<hash>.min.js y guarda su dirección en F.repo[name]. | remote-service-boundaries |
Utilidades, plantillas y localización
| Nombre | Tipo | Qué hace | Receta |
|---|---|---|---|
U | object | El objeto de utilidades del framework (U.extend(), U.clone()...). | utilities |
Utils | object | El mismo objeto que U. | utilities |
UID | function | Crea un id único corto ordenado por tiempo. | unique-ids-and-hashes |
GUID | function | Crea una cadena aleatoria de la longitud dada. | unique-ids-and-hashes |
HASH | function | Devuelve un hash numérico rápido (no para contraseñas). | unique-ids-and-hashes |
CLONE | function | Hace una copia profunda de un objeto. | utility-globals |
COPY | function | Copia las propiedades del primer objeto en el segundo y devuelve el segundo. | utility-globals |
DIFFARR | function | Compara dos arrays de objetos por una propiedad y devuelve los objetos que añadir, los pares que actualizar y los valores que eliminar. | diffarr-sync-lists |
QUERIFY | function | Construye una URL con cadena de consulta a partir de un objeto. | utility-globals |
PROMISIFY | function | PROMISIFY(fn, a, b, c) llama a una función que recibe un callback como último argumento y devuelve una promesa. | utility-globals |
ENCRYPT | function | Convierte un valor en un token opaco. | encrypt-and-decrypt |
DECRYPT | function | Lee un valor de un token creado con ENCRYPT. | encrypt-and-decrypt |
ENCRYPTREQ | function | Cifra un valor junto con el user agent de una petición (y su dirección IP en modo estricto). | request-bound-tokens |
DECRYPTREQ | function | Lee un valor creado con ENCRYPTREQ; no devuelve nada cuando la petición no coincide. | request-bound-tokens |
LOCALIZE | function | Elige el idioma de cada petición. | localization |
TRANSLATE | function | Traduce los textos @(...) de una cadena a un idioma. | localization |
Tangular | object | El motor de plantillas (Tangular.render()). | tangular-templates |
Ta | object | Otro nombre de Tangular, el motor de plantillas. | template-files |
Thelpers | object | Las funciones helper disponibles en las plantillas Tangular. | tangular-templates |
TEMPLATE | function | Renderiza una plantilla Tangular que es un texto, un archivo de la carpeta templates o una URL, y devuelve una promesa con el texto. | 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);
}