# Nomi globali di Total.js 5

> Funzioni e oggetti globali di Total.js 5, con il loro scopo e ricette di utilizzo.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: it
Content-SHA256: bb61b79acc0eecac6ddec767a1320fdaf3dfbc58cbab8c29cef4d058af360e4e
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Total.js 5 mostra funzioni e oggetti globali per routing, azioni, storage, messaggistica e applicazioni.

| Nome | Tipo | Cosa fa | Ricetta |
|---|---|---|---|
| `ON` | function | Registra un listener per un evento dell'applicazione. | [events](/en/total5/events/) |
| `ONCE` | function | Come `ON`, ma il listener viene eseguito solo per il primo evento. | [events](/en/total5/events/) |
| `OFF` | function | Rimuove un listener registrato con `ON`. | [events](/en/total5/events/) |
| `EMIT` | function | Emette un evento con fino a sette argomenti. | [events](/en/total5/events/) |
| `LOAD` | function | Carica i file del progetto (controller, definizioni...); il framework lo chiama per te all'avvio. | [load-and-npminstall](/en/total5/load-and-npminstall/) |
| `LOADCONFIG` | function | Analizza un testo nel formato `config` e lo applica a `CONF`. | [configuration-file](/en/total5/configuration-file/) |
| `LOADRESOURCE` | function | Carica una risorsa (un file di traduzione) da un testo o da un URL. | [localization](/en/total5/localization/) |
| `PAUSESERVER` | function | Mette in pausa o riprende il server per nome: durante la pausa, le richieste ricevono una pagina 503. | [pause-server](/en/total5/pause-server/) |
| `DEBUG` | boolean | `true` in modalità debug, `false` in modalità release. | [release-mode-and-debugging](/en/total5/release-mode-and-debugging/) |
| `CONF` | object | La configurazione dell'applicazione (il file `config` e i suoi valori predefiniti). | [configuration-file](/en/total5/configuration-file/) |
| `DEF` | object | Handler e impostazioni predefiniti del framework (`DEF.onMail`, `DEF.helpers`, `DEF.onCSRFcheck`...). | [view-helpers-and-config](/en/total5/view-helpers-and-config/) |
| `F` | object | L'oggetto del framework. `Total` è lo stesso oggetto. | [utility-globals](/en/total5/utility-globals/) |
| `Total` | object | L'oggetto del framework (come `F`). `Total.run()` avvia l'applicazione. | [release-mode-and-debugging](/en/total5/release-mode-and-debugging/) |
| `MAIN` | object | Un oggetto vuoto che il framework crea per i dati della tua applicazione. | [utility-globals](/en/total5/utility-globals/) |
| `REPO` | object | Un oggetto vuoto che il framework crea per i tuoi dati. | [utility-globals](/en/total5/utility-globals/) |
| `FUNC` | object | Un oggetto vuoto che il framework crea per le tue funzioni. | [utility-globals](/en/total5/utility-globals/) |
| `TEMP` | object | Un oggetto per dati temporanei; il framework lo sostituisce di tanto in tanto con un nuovo oggetto vuoto. | [utility-globals](/en/total5/utility-globals/) |
| `NOW` | object | La data corrente, aggiornata dal framework una volta al minuto e da alcune chiamate come `CACHE`. | [utility-globals](/en/total5/utility-globals/) |
| `EMPTYARRAY` | object | Un array vuoto congelato, per evitare di crearne di nuovi. | [utility-globals](/en/total5/utility-globals/) |
| `EMPTYOBJECT` | object | Un oggetto vuoto congelato, per evitare di crearne di nuovi. | [utility-globals](/en/total5/utility-globals/) |
| `MODS` | object | I moduli caricati dalla cartella `modules/`, per id. | [utility-globals](/en/total5/utility-globals/) |
| `PLUGINS` | object | I plugin caricati dalla cartella `plugins/`, per id. | [utility-globals](/en/total5/utility-globals/) |
| `NOOP` | function | Una funzione che non fa nulla. | [utility-globals](/en/total5/utility-globals/) |
| `print` | function | Lo stesso di `console.log`. | [utility-globals](/en/total5/utility-globals/) |
| `REQUIRE` | function | Come `require`, ma cerca anche nella cartella `node_modules` dell'applicazione e accetta nomi `node:`. | [utility-globals](/en/total5/utility-globals/) |

## Routing, azioni e middleware

| Nome | Tipo | Cosa fa | Ricetta |
|---|---|---|---|
| `ROUTE` | function | Dichiara una route (HTTP, `SOCKET`, `FILE`, `API` o un fallback come `#404`). | [http-methods](/en/total5/http-methods/) |
| `NEWACTION` | function | Dichiara un'azione con input, params, query, output e permessi. | [actions-crud](/en/total5/actions-crud/) |
| `NEWSCHEMA` | function | Raggruppa le azioni di un'entità sotto un nome. | [schemas](/en/total5/schemas/) |
| `ACTION` | function | Esegue un'azione dal tuo codice. | [calling-actions-from-code](/en/total5/calling-actions-from-code/) |
| `EXEC` | function | La stessa funzione di `ACTION`. | [calling-actions-from-code](/en/total5/calling-actions-from-code/) |
| `NEWTRANSFORM` | function | Aggiunge un passo a una catena di trasformazioni con nome. | [transforms](/en/total5/transforms/) |
| `TRANSFORM` | function | Fa passare un valore attraverso una catena di trasformazioni. | [transforms](/en/total5/transforms/) |
| `MIDDLEWARE` | function | Registra un middleware da usare nelle route con `#name`. | [middleware](/en/total5/middleware/) |
| `NEWMIDDLEWARE` | function | La stessa funzione di `MIDDLEWARE`. | [middleware](/en/total5/middleware/) |
| `PROXY` | function | Inoltra le richieste sotto un prefisso URL a un altro server. | [proxy](/en/total5/proxy/) |
| `CORS` | function | Imposta le origini che possono chiamare l'applicazione da un browser. | [cors](/en/total5/cors/) |
| `ErrorBuilder` | function | La classe che raccoglie gli errori di validazione. | [errors-and-audit](/en/total5/errors-and-audit/) |
| `SUCCESS` | function | Restituisce l'oggetto che il framework invia per un'operazione riuscita (`{ success: true, value: value }`). | [errors-and-audit](/en/total5/errors-and-audit/) |
| `ERROR` | function | `ERROR(name)` restituisce un callback che registra l'errore ricevuto con quel nome; `ERROR()` restituisce il callback di errore predefinito. | [errors-and-audit](/en/total5/errors-and-audit/) |
| `UNAUTHORIZED` | function | `UNAUTHORIZED($, ...permissions)` risponde 401 e restituisce `true` quando l'utente non ha nessuno dei permessi; restituisce `false` quando ne ha uno o è super amministratore. | [action-user-and-permissions](/en/total5/action-user-and-permissions/) |
| `AUTH` | function | Autentica ogni richiesta: una funzione, o le opzioni delle sessioni integrate. | [sessions-with-built-in-auth](/en/total5/sessions-with-built-in-auth/) |
| `BLOCKED` | function | Conta le chiamate di un indirizzo IP e indica quando ha raggiunto il limite. | [rate-limiting](/en/total5/rate-limiting/) |
| `AUDIT` | function | Aggiunge una voce di audit (utente, messaggio e tipo) a un file di log in `logs/`. | [errors-and-audit](/en/total5/errors-and-audit/) |

## Dati e cache

| Nome | Tipo | Cosa fa | Ricetta |
|---|---|---|---|
| `NOSQL` | function | Apre una tabella del database NoSQL integrato. | [nosql-crud](/en/total5/nosql-crud/) |
| `DATA` | object | Ingresso indipendente dal database al query builder. | [data-api](/en/total5/data-api/) |
| `DB` | function | Avvia una query con il query builder (`DB().find('table').where(...).callback($)`); la query è eseguita dal driver registrato con `NEWDB`. | [query-builder-db](/en/total5/query-builder-db/) |
| `NEWDB` | function | Registra un driver di database `function(options, callback)` per il query builder: quello predefinito, o uno con nome con `NEWDB('name', fn)`. | [query-builder-db](/en/total5/query-builder-db/) |
| `CACHE` | object | Un archivio in memoria con scadenza. | [cache](/en/total5/cache/) |
| `FILECACHE` | function | Calcola un risultato una volta e lo conserva in un file per un po'. | [filecache](/en/total5/filecache/) |
| `MEMORIZE` | function | Un oggetto JSON salvato su disco. | [memorize](/en/total5/memorize/) |
| `FILESTORAGE` | function | Un archivio per i file caricati. | [filestorage](/en/total5/filestorage/) |

## Client HTTP, WebSocket e di messaggistica

| Nome | Tipo | Cosa fa | Ricetta |
|---|---|---|---|
| `REQUEST` | function | Client HTTP di basso livello. | [request-and-download](/en/total5/request-and-download/) |
| `DOWNLOAD` | function | Salva la risposta di un URL in un file. | [request-and-download](/en/total5/request-and-download/) |
| `RESTBuilder` | function | Builder per chiamate ad altre API HTTP. | [restbuilder](/en/total5/restbuilder/) |
| `AJAX` | function | `AJAX('METHOD /url/', data, callback)` fa una richiesta con l'header `x-requested-with` e restituisce il corpo analizzato; restituisce una promise quando non c'è callback. | [ajax-requests](/en/total5/ajax-requests/) |
| `API` | function | Chiama un'operazione di un servizio esterno tramite il suo driver: `API('service', 'operation', data).callback($)`. | [api-drivers](/en/total5/api-drivers/) |
| `NEWAPI` | function | Registra il driver `function(options, next)` di un servizio per `API`, con una configurazione opzionale. | [api-drivers](/en/total5/api-drivers/) |
| `TotalAPI` | function | Chiama un servizio della piattaforma Total.js tramite `API('TAPI', name, model)`. | [remote-service-boundaries](/en/total5/remote-service-boundaries/) |
| `WEBSOCKETCLIENT` | function | Un client WebSocket per la tua applicazione. | [websocket-client](/en/total5/websocket-client/) |
| `TMSCLIENT` | function | Un client del Total Messaging Service. | [tms](/en/total5/tms/) |
| `PUBLISH` | function | Invia un messaggio ai client TMS che vi si sono iscritti. | [tms](/en/total5/tms/) |
| `NEWPUBLISH` | function | Dichiara un messaggio che l'applicazione pubblica. | [tms](/en/total5/tms/) |
| `SUBSCRIBE` | function | Aggiunge un listener per un messaggio che i client inviano all'applicazione. | [tms](/en/total5/tms/) |
| `UNSUBSCRIBE` | function | Rimuove i listener di un messaggio TMS. | [tms](/en/total5/tms/) |
| `NEWSUBSCRIBE` | function | Dichiara un messaggio che l'applicazione riceve. | [tms](/en/total5/tms/) |
| `NEWCALL` | function | Dichiara una funzione che i client TMS possono chiamare. | [tms](/en/total5/tms/) |
| `OPENCLIENT` | function | Si collega a OpenPlatform tramite WebSocket per chiamate remote, eventi e connessioni condivise. | [openclient-protocol](/en/total5/openclient-protocol/) |
| `PROXYCLIENT` | function | Si collega a un `PROXYSERVER` via WebSocket e risponde alle sue richieste con un server locale (una porta o `ip:port`). | [proxy-tunnel](/en/total5/proxy-tunnel/) |
| `PROXYSERVER` | function | Trasforma l'applicazione in un server di tunnel: le richieste HTTP di un endpoint vengono inviate tramite una route WebSocket a un `PROXYCLIENT`. | [proxy-tunnel](/en/total5/proxy-tunnel/) |
| `LDAP` | function | Si connette a un server LDAP (porta 389 salvo che `ldap.port` dica altro) e richiama con il risultato. | [ldap-openldap](/en/total5/ldap-openldap/) |
| `MAIL` | function | Invia un'email il cui corpo è una vista. | [send-email](/en/total5/send-email/) |
| `HTMLMAIL` | function | Invia un'email il cui corpo è una stringa HTML. | [send-email](/en/total5/send-email/) |
| `LOGMAIL` | function | Invia un’e-mail il cui corpo è un testo stampato in un blocco `<pre>` (passa il corpo come testo). | [logmail](/en/total5/logmail/) |
| `Mail` | object | La classe dietro l'invio di email (SMTP). | [send-email](/en/total5/send-email/) |
| `AIMODEL` | function | Avvia una richiesta a un modello linguistico registrato con `NEWAIMODEL`: `AIMODEL('name').user('text').callback($.callback())`. | [ai-models](/en/total5/ai-models/) |
| `AIPARSER` | function | Crea un parser per la risposta in streaming di un provider di IA (`openai`, `claude`...): `write()` riceve i pezzi e `end()` restituisce il contenuto, il ragionamento e le chiamate agli strumenti. | [ai-models](/en/total5/ai-models/) |
| `NEWAIMODEL` | function | Registra il driver `function(ai, done)` di uno o più modelli di IA per `AIMODEL`, con una configurazione opzionale. | [ai-models](/en/total5/ai-models/) |
| `PYPELINE` | function | Esegue dall'applicazione un file Python della cartella `pypelines/` (o codice Python inline) e dialoga con esso con frame JSON su un socket. | [pypeline](/en/total5/pypeline/) |

## File, sistema e worker

| Nome | Tipo | Cosa fa | Ricetta |
|---|---|---|---|
| `PATH` | object | Helper che costruiscono percorsi nelle cartelle del progetto (`PATH.root()`, `PATH.public()`, `PATH.tmp()`...). | [file-download](/en/total5/file-download/) |
| `MERGE` | function | Registra un file virtuale composto da più file, minimizzato. | [minification](/en/total5/minification/) |
| `TOUCH` | function | Svuota le voci di cache minimizzate, temporanee e non trovate di un URL, o di tutti. | [touch-static-cache](/en/total5/touch-static-cache/) |
| `CLEANUP` | function | Distrugge uno stream quando ha finito. | [cleanup-streams](/en/total5/cleanup-streams/) |
| `BACKUP` | function | Comprime una directory in un solo file. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `RESTORE` | function | Decomprime un file creato con `BACKUP`. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `SHELL` | function | Esegue un comando di shell nella cartella del progetto. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `NPMINSTALL` | function | Installa un pacchetto npm nella cartella dei moduli dell'applicazione. | [load-and-npminstall](/en/total5/load-and-npminstall/) |
| `IMPORT` | function | Scarica un file JavaScript da un URL e lo carica. | [import-remote-module](/en/total5/import-remote-module/) |
| `Image` | object | Elaborazione di immagini con GraphicsMagick o ImageMagick. | [images](/en/total5/images/) |
| `NEWTHREAD` | function | Avvia un worker thread. | [workers-and-threads](/en/total5/workers-and-threads/) |
| `NEWFORK` | function | Avvia un processo figlio. | [workers-and-threads](/en/total5/workers-and-threads/) |
| `NEWTHREADPOOL` | function | Crea un pool di worker che i lavori prendono in prestito uno alla volta. | [thread-pool](/en/total5/thread-pool/) |
| `CRON` | function | Esegue una funzione secondo una pianificazione. | [cron-jobs](/en/total5/cron-jobs/) |
| `setTimeout2` | function | `setTimeout` con un id: chiamarlo di nuovo con lo stesso id sostituisce il timer precedente. | [debounce-timers](/en/total5/debounce-timers/) |
| `clearTimeout2` | function | Annulla un timer creato con `setTimeout2`. | [debounce-timers](/en/total5/debounce-timers/) |
| `Flow` | oggetto | Il manager dei flussi dell'applicazione: `Flow.load(schema)`, `Flow.remove(id)`, `Flow.instances` e `Flow.test()` per un componente. | [Il flusso](/en/total5/flowstream/), [Test di flowstream](/en/total5/flowstream-component-test/) |
| `FlowStream` | object | Lo stesso oggetto di `Flow`. | [flowstream](/en/total5/flowstream/) |
| `NEWMACRO` | function | Compila una macro da una stringa. | [macros](/en/total5/macros/) |
| `NEWCOMPONENT` | function | Compila l'HTML di un componente. | [native-components](/en/total5/native-components/) |
| `COMPONENTATOR` | function | Scarica un bundle Componentator in `public/` come `ui-<name>-<hash>.min.js` e ne salva l’indirizzo in `F.repo[name]`. | [remote-service-boundaries](/en/total5/remote-service-boundaries/) |

## Utilità, template e localizzazione

| Nome | Tipo | Cosa fa | Ricetta |
|---|---|---|---|
| `U` | object | L'oggetto di utilità del framework (`U.extend()`, `U.clone()`...). | [utilities](/en/total5/utilities/) |
| `Utils` | object | Lo stesso oggetto di `U`. | [utilities](/en/total5/utilities/) |
| `UID` | function | Crea un breve id univoco ordinato per tempo. | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `GUID` | function | Crea una stringa casuale della lunghezza indicata. | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `HASH` | function | Restituisce un hash numerico veloce (non per le password). | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `CLONE` | function | Fa una copia profonda di un oggetto. | [utility-globals](/en/total5/utility-globals/) |
| `COPY` | function | Copia le proprietà del primo oggetto nel secondo e restituisce il secondo. | [utility-globals](/en/total5/utility-globals/) |
| `DIFFARR` | function | Confronta due array di oggetti per una proprietà e restituisce gli oggetti da aggiungere, le coppie da aggiornare e i valori da rimuovere. | [diffarr-sync-lists](/en/total5/diffarr-sync-lists/) |
| `QUERIFY` | function | Costruisce un URL con query string da un oggetto. | [utility-globals](/en/total5/utility-globals/) |
| `PROMISIFY` | function | `PROMISIFY(fn, a, b, c)` chiama una funzione che prende un callback come ultimo argomento e restituisce una promise. | [utility-globals](/en/total5/utility-globals/) |
| `ENCRYPT` | function | Trasforma un valore in un token opaco. | [encrypt-and-decrypt](/en/total5/encrypt-and-decrypt/) |
| `DECRYPT` | function | Legge un valore da un token creato con `ENCRYPT`. | [encrypt-and-decrypt](/en/total5/encrypt-and-decrypt/) |
| `ENCRYPTREQ` | function | Cifra un valore insieme allo user agent di una richiesta (e al suo indirizzo IP in modalità rigorosa). | [request-bound-tokens](/en/total5/request-bound-tokens/) |
| `DECRYPTREQ` | function | Legge un valore creato con `ENCRYPTREQ`; non restituisce nulla quando la richiesta non corrisponde. | [request-bound-tokens](/en/total5/request-bound-tokens/) |
| `LOCALIZE` | function | Sceglie la lingua di ogni richiesta. | [localization](/en/total5/localization/) |
| `TRANSLATE` | function | Traduce i testi `@(...)` di una stringa in una lingua. | [localization](/en/total5/localization/) |
| `Tangular` | object | Il motore dei template (`Tangular.render()`). | [tangular-templates](/en/total5/tangular-templates/) |
| `Ta` | object | Un altro nome di `Tangular`, il motore dei template. | [template-files](/en/total5/template-files/) |
| `Thelpers` | object | Le funzioni helper disponibili nei template Tangular. | [tangular-templates](/en/total5/tangular-templates/) |
| `TEMPLATE` | function | Renderizza un template Tangular che è un testo, un file della cartella `templates` o un URL, e restituisce una promise con il testo. | [template-files](/en/total5/template-files/) |

```js controllers/globals.js
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);
}
```
