# Глобални имена на Total.js 5

> Глобални функции и предмети на Total.js 5, с тяхната цел и употреба рецепти.

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

Total.js 5 показва глобални функции и обекти за маршрутизиране, действия, съхранение, съобщения и приложения.

| Име | Вид | Какво прави | Рецепта |
|---|---|---|---|
| `ON` | function | Регистрира слушател за събитие на приложението. | [events](/en/total5/events/) |
| `ONCE` | function | Като `ON`, но слушателят се изпълнява само за първото събитие. | [events](/en/total5/events/) |
| `OFF` | function | Премахва слушател, регистриран с `ON`. | [events](/en/total5/events/) |
| `EMIT` | function | Излъчва събитие с до седем аргумента. | [events](/en/total5/events/) |
| `LOAD` | function | Зарежда файловете на проекта (контролери, дефиниции...); фреймуъркът го извиква вместо вас при старт. | [load-and-npminstall](/en/total5/load-and-npminstall/) |
| `LOADCONFIG` | function | Анализира текст във формата `config` и го прилага към `CONF`. | [configuration-file](/en/total5/configuration-file/) |
| `LOADRESOURCE` | function | Зарежда ресурс (файл с преводи) от текст или от URL. | [localization](/en/total5/localization/) |
| `PAUSESERVER` | function | Паузира или възобновява сървъра по име: докато е на пауза, заявките получават страница 503. | [pause-server](/en/total5/pause-server/) |
| `DEBUG` | boolean | `true` в режим debug, `false` в режим release. | [release-mode-and-debugging](/en/total5/release-mode-and-debugging/) |
| `CONF` | object | Конфигурацията на приложението (файлът `config` и стойностите му по подразбиране). | [configuration-file](/en/total5/configuration-file/) |
| `DEF` | object | Манипулатори и настройки по подразбиране на фреймуърка (`DEF.onMail`, `DEF.helpers`, `DEF.onCSRFcheck`...). | [view-helpers-and-config](/en/total5/view-helpers-and-config/) |
| `F` | object | Обектът на фреймуърка. `Total` е същият обект. | [utility-globals](/en/total5/utility-globals/) |
| `Total` | object | Обектът на фреймуърка (същият като `F`). `Total.run()` стартира приложението. | [release-mode-and-debugging](/en/total5/release-mode-and-debugging/) |
| `MAIN` | object | Празен обект, който фреймуъркът създава за данните на вашето приложение. | [utility-globals](/en/total5/utility-globals/) |
| `REPO` | object | Празен обект, който фреймуъркът създава за вашите собствени данни. | [utility-globals](/en/total5/utility-globals/) |
| `FUNC` | object | Празен обект, който фреймуъркът създава за вашите собствени функции. | [utility-globals](/en/total5/utility-globals/) |
| `TEMP` | object | Обект за временни данни; фреймуъркът го заменя от време на време с нов празен обект. | [utility-globals](/en/total5/utility-globals/) |
| `NOW` | object | Текущата дата, обновявана от фреймуърка веднъж на минута и от някои извиквания като `CACHE`. | [utility-globals](/en/total5/utility-globals/) |
| `EMPTYARRAY` | object | Замразен празен масив, за да се избегне създаването на нови. | [utility-globals](/en/total5/utility-globals/) |
| `EMPTYOBJECT` | object | Замразен празен обект, за да се избегне създаването на нови. | [utility-globals](/en/total5/utility-globals/) |
| `MODS` | object | Заредените модули от папката `modules/`, по идентификатор. | [utility-globals](/en/total5/utility-globals/) |
| `PLUGINS` | object | Заредените плъгини от папката `plugins/`, по идентификатор. | [utility-globals](/en/total5/utility-globals/) |
| `NOOP` | function | Функция, която не прави нищо. | [utility-globals](/en/total5/utility-globals/) |
| `print` | function | Същото като `console.log`. | [utility-globals](/en/total5/utility-globals/) |
| `REQUIRE` | function | Като `require`, но търси и в папката `node_modules` на приложението и приема имена `node:`. | [utility-globals](/en/total5/utility-globals/) |

## Маршрутизиране, действия и middleware

| Име | Вид | Какво прави | Рецепта |
|---|---|---|---|
| `ROUTE` | function | Декларира маршрут (HTTP, `SOCKET`, `FILE`, `API` или резервен като `#404`). | [http-methods](/en/total5/http-methods/) |
| `NEWACTION` | function | Декларира действие с неговия вход, params, query, изход и разрешения. | [actions-crud](/en/total5/actions-crud/) |
| `NEWSCHEMA` | function | Групира действията на една същност под едно име. | [schemas](/en/total5/schemas/) |
| `ACTION` | function | Изпълнява действие от вашия собствен код. | [calling-actions-from-code](/en/total5/calling-actions-from-code/) |
| `EXEC` | function | Същата функция като `ACTION`. | [calling-actions-from-code](/en/total5/calling-actions-from-code/) |
| `NEWTRANSFORM` | function | Добавя стъпка към именувана верига от трансформации. | [transforms](/en/total5/transforms/) |
| `TRANSFORM` | function | Прекарва стойност през верига от трансформации. | [transforms](/en/total5/transforms/) |
| `MIDDLEWARE` | function | Регистрира middleware за използване в маршрути с `#name`. | [middleware](/en/total5/middleware/) |
| `NEWMIDDLEWARE` | function | Същата функция като `MIDDLEWARE`. | [middleware](/en/total5/middleware/) |
| `PROXY` | function | Препраща заявките под префикс на URL към друг сървър. | [proxy](/en/total5/proxy/) |
| `CORS` | function | Задава произходите, които могат да извикват приложението от браузър. | [cors](/en/total5/cors/) |
| `ErrorBuilder` | function | Класът, който събира грешките при валидиране. | [errors-and-audit](/en/total5/errors-and-audit/) |
| `SUCCESS` | function | Връща обекта, който фреймуъркът изпраща при успешна операция (`{ success: true, value: value }`). | [errors-and-audit](/en/total5/errors-and-audit/) |
| `ERROR` | function | `ERROR(name)` връща callback, който записва получената грешка под това име; `ERROR()` връща callback за грешки по подразбиране. | [errors-and-audit](/en/total5/errors-and-audit/) |
| `UNAUTHORIZED` | function | `UNAUTHORIZED($, ...permissions)` отговаря 401 и връща `true`, когато потребителят няма нито едно от разрешенията; връща `false`, когато има едно от тях или е супер администратор. | [action-user-and-permissions](/en/total5/action-user-and-permissions/) |
| `AUTH` | function | Автентикира всяка заявка: функция или опциите на вградените сесии. | [sessions-with-built-in-auth](/en/total5/sessions-with-built-in-auth/) |
| `BLOCKED` | function | Брои извикванията на един IP адрес и казва кога е достигнал лимита. | [rate-limiting](/en/total5/rate-limiting/) |
| `AUDIT` | function | Добавя запис за одит (потребител, съобщение и тип) към лог файл в `logs/`. | [errors-and-audit](/en/total5/errors-and-audit/) |

## Данни и кеш

| Име | Вид | Какво прави | Рецепта |
|---|---|---|---|
| `NOSQL` | function | Отваря таблица на вградената NoSQL база данни. | [nosql-crud](/en/total5/nosql-crud/) |
| `DATA` | object | Независим от базата данни вход към query builder. | [data-api](/en/total5/data-api/) |
| `DB` | function | Започва заявка с query builder (`DB().find('table').where(...).callback($)`); заявката се изпълнява от драйвера, регистриран с `NEWDB`. | [query-builder-db](/en/total5/query-builder-db/) |
| `NEWDB` | function | Регистрира драйвер за база данни `function(options, callback)` за query builder: този по подразбиране или именуван с `NEWDB('name', fn)`. | [query-builder-db](/en/total5/query-builder-db/) |
| `CACHE` | object | Хранилище в паметта с изтичане. | [cache](/en/total5/cache/) |
| `FILECACHE` | function | Изчислява резултат веднъж и го пази във файл за известно време. | [filecache](/en/total5/filecache/) |
| `MEMORIZE` | function | JSON обект, записан на диска. | [memorize](/en/total5/memorize/) |
| `FILESTORAGE` | function | Хранилище за качени файлове. | [filestorage](/en/total5/filestorage/) |

## HTTP, WebSocket и клиенти за съобщения

| Име | Вид | Какво прави | Рецепта |
|---|---|---|---|
| `REQUEST` | function | HTTP клиент на ниско ниво. | [request-and-download](/en/total5/request-and-download/) |
| `DOWNLOAD` | function | Записва отговора на URL във файл. | [request-and-download](/en/total5/request-and-download/) |
| `RESTBuilder` | function | Builder за извиквания към други HTTP API. | [restbuilder](/en/total5/restbuilder/) |
| `AJAX` | function | `AJAX('METHOD /url/', data, callback)` прави заявка със заглавие `x-requested-with` и връща анализираното тяло; връща promise, когато няма callback. | [ajax-requests](/en/total5/ajax-requests/) |
| `API` | function | Извиква операция на външна услуга чрез нейния драйвер: `API('service', 'operation', data).callback($)`. | [api-drivers](/en/total5/api-drivers/) |
| `NEWAPI` | function | Регистрира драйвера `function(options, next)` на услуга за `API`, с по избор конфигурация. | [api-drivers](/en/total5/api-drivers/) |
| `TotalAPI` | function | Извиква услуга на платформата Total.js чрез `API('TAPI', name, model)`. | [remote-service-boundaries](/en/total5/remote-service-boundaries/) |
| `WEBSOCKETCLIENT` | function | WebSocket клиент за вашето приложение. | [websocket-client](/en/total5/websocket-client/) |
| `TMSCLIENT` | function | Клиент на Total Messaging Service. | [tms](/en/total5/tms/) |
| `PUBLISH` | function | Изпраща съобщение до TMS клиентите, абонирани за него. | [tms](/en/total5/tms/) |
| `NEWPUBLISH` | function | Декларира съобщение, което приложението публикува. | [tms](/en/total5/tms/) |
| `SUBSCRIBE` | function | Добавя слушател за съобщение, което клиентите изпращат към приложението. | [tms](/en/total5/tms/) |
| `UNSUBSCRIBE` | function | Премахва слушателите на TMS съобщение. | [tms](/en/total5/tms/) |
| `NEWSUBSCRIBE` | function | Декларира съобщение, което приложението получава. | [tms](/en/total5/tms/) |
| `NEWCALL` | function | Декларира функция, която TMS клиентите могат да извикват. | [tms](/en/total5/tms/) |
| `OPENCLIENT` | function | Свързва се с OpenPlatform през WebSocket за отдалечени извиквания, събития и споделени връзки. | [openclient-protocol](/en/total5/openclient-protocol/) |
| `PROXYCLIENT` | function | Свързва се с `PROXYSERVER` през WebSocket и отговаря на заявките му с локален сървър (порт или `ip:port`). | [proxy-tunnel](/en/total5/proxy-tunnel/) |
| `PROXYSERVER` | function | Превръща приложението в тунелен сървър: HTTP заявките на endpoint се изпращат през WebSocket маршрут към `PROXYCLIENT`. | [proxy-tunnel](/en/total5/proxy-tunnel/) |
| `LDAP` | function | Свързва се с LDAP сървър (порт 389, освен ако `ldap.port` не казва друго) и извиква обратно с резултата. | [ldap-openldap](/en/total5/ldap-openldap/) |
| `MAIL` | function | Изпраща имейл, чието тяло е изглед. | [send-email](/en/total5/send-email/) |
| `HTMLMAIL` | function | Изпраща имейл, чието тяло е HTML низ. | [send-email](/en/total5/send-email/) |
| `LOGMAIL` | function | Изпраща имейл, чието тяло е текст, изписан в блок `<pre>` (подайте тялото като текст). | [logmail](/en/total5/logmail/) |
| `Mail` | object | Класът зад изпращането на имейл (SMTP). | [send-email](/en/total5/send-email/) |
| `AIMODEL` | function | Започва заявка към езиков модел, регистриран с `NEWAIMODEL`: `AIMODEL('name').user('text').callback($.callback())`. | [ai-models](/en/total5/ai-models/) |
| `AIPARSER` | function | Създава парсер за поточния отговор на доставчик на AI (`openai`, `claude`...): `write()` приема части, а `end()` връща съдържанието, разсъжденията и извикванията на инструменти. | [ai-models](/en/total5/ai-models/) |
| `NEWAIMODEL` | function | Регистрира драйвера `function(ai, done)` на един или повече AI модели за `AIMODEL`, с по избор конфигурация. | [ai-models](/en/total5/ai-models/) |
| `PYPELINE` | function | Изпълнява от приложението Python файл от папката `pypelines/` (или вграден Python код) и комуникира с него чрез JSON рамки през сокет. | [pypeline](/en/total5/pypeline/) |

## Файлове, система и workers

| Име | Вид | Какво прави | Рецепта |
|---|---|---|---|
| `PATH` | object | Помощни функции, които изграждат пътища в папките на проекта (`PATH.root()`, `PATH.public()`, `PATH.tmp()`...). | [file-download](/en/total5/file-download/) |
| `MERGE` | function | Регистрира виртуален файл, съставен от няколко файла, минимизиран. | [minification](/en/total5/minification/) |
| `TOUCH` | function | Изчиства кешираните минимизирани, временни и ненамерени записи на URL или на всички. | [touch-static-cache](/en/total5/touch-static-cache/) |
| `CLEANUP` | function | Унищожава поток, когато е приключил. | [cleanup-streams](/en/total5/cleanup-streams/) |
| `BACKUP` | function | Пакетира директория в един файл. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `RESTORE` | function | Разпакетира файл, създаден с `BACKUP`. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `SHELL` | function | Изпълнява shell команда в папката на проекта. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `NPMINSTALL` | function | Инсталира npm пакет в папката за модули на приложението. | [load-and-npminstall](/en/total5/load-and-npminstall/) |
| `IMPORT` | function | Изтегля JavaScript файл от URL и го зарежда. | [import-remote-module](/en/total5/import-remote-module/) |
| `Image` | object | Обработка на изображения с GraphicsMagick или ImageMagick. | [images](/en/total5/images/) |
| `NEWTHREAD` | function | Стартира worker thread. | [workers-and-threads](/en/total5/workers-and-threads/) |
| `NEWFORK` | function | Стартира дъщерен процес. | [workers-and-threads](/en/total5/workers-and-threads/) |
| `NEWTHREADPOOL` | function | Създава група от workers, които задачите вземат назаем по един. | [thread-pool](/en/total5/thread-pool/) |
| `CRON` | function | Изпълнява функция по график. | [cron-jobs](/en/total5/cron-jobs/) |
| `setTimeout2` | function | `setTimeout` с идентификатор: повторното му извикване със същия идентификатор заменя предишния таймер. | [debounce-timers](/en/total5/debounce-timers/) |
| `clearTimeout2` | function | Отменя таймер, създаден със `setTimeout2`. | [debounce-timers](/en/total5/debounce-timers/) |
| `Flow` | object | Мениджърът на FlowStreams на приложението: `Flow.load(schema)`, `Flow.remove(id)`, `Flow.instances` и `Flow.test()` за един компонент. | [flowstream](/en/total5/flowstream/), [flowstream-component-test](/en/total5/flowstream-component-test/) |
| `FlowStream` | object | Същият обект като `Flow`. | [flowstream](/en/total5/flowstream/) |
| `NEWMACRO` | function | Компилира макрос от низ. | [macros](/en/total5/macros/) |
| `NEWCOMPONENT` | function | Компилира HTML на компонент. | [native-components](/en/total5/native-components/) |
| `COMPONENTATOR` | function | Изтегля пакет Componentator в `public/` като `ui-<name>-<hash>.min.js` и записва адреса му в `F.repo[name]`. | [remote-service-boundaries](/en/total5/remote-service-boundaries/) |

## Помощни средства, шаблони и локализация

| Име | Вид | Какво прави | Рецепта |
|---|---|---|---|
| `U` | object | Помощният обект на фреймуърка (`U.extend()`, `U.clone()`...). | [utilities](/en/total5/utilities/) |
| `Utils` | object | Същият обект като `U`. | [utilities](/en/total5/utilities/) |
| `UID` | function | Създава кратък уникален идентификатор, сортиран по време. | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `GUID` | function | Създава случаен низ с дадената дължина. | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `HASH` | function | Връща бърз числов хеш (не за пароли). | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `CLONE` | function | Прави дълбоко копие на обект. | [utility-globals](/en/total5/utility-globals/) |
| `COPY` | function | Копира свойствата на първия обект във втория и връща втория. | [utility-globals](/en/total5/utility-globals/) |
| `DIFFARR` | function | Сравнява два масива от обекти по свойство и връща обектите за добавяне, двойките за актуализиране и стойностите за премахване. | [diffarr-sync-lists](/en/total5/diffarr-sync-lists/) |
| `QUERIFY` | function | Изгражда URL с низ на заявката от обект. | [utility-globals](/en/total5/utility-globals/) |
| `PROMISIFY` | function | `PROMISIFY(fn, a, b, c)` извиква функция, която приема callback като последен аргумент, и връща promise. | [utility-globals](/en/total5/utility-globals/) |
| `ENCRYPT` | function | Превръща стойност в непрозрачен токен. | [encrypt-and-decrypt](/en/total5/encrypt-and-decrypt/) |
| `DECRYPT` | function | Чете стойност от токен, създаден с `ENCRYPT`. | [encrypt-and-decrypt](/en/total5/encrypt-and-decrypt/) |
| `ENCRYPTREQ` | function | Криптира стойност заедно с user agent на заявка (и нейния IP адрес в строг режим). | [request-bound-tokens](/en/total5/request-bound-tokens/) |
| `DECRYPTREQ` | function | Чете стойност, създадена с `ENCRYPTREQ`; не връща нищо, когато заявката не съвпада. | [request-bound-tokens](/en/total5/request-bound-tokens/) |
| `LOCALIZE` | function | Избира езика на всяка заявка. | [localization](/en/total5/localization/) |
| `TRANSLATE` | function | Превежда текстовете `@(...)` на низ на даден език. | [localization](/en/total5/localization/) |
| `Tangular` | object | Шаблонният механизъм (`Tangular.render()`). | [tangular-templates](/en/total5/tangular-templates/) |
| `Ta` | object | Друго име на `Tangular`, шаблонния механизъм. | [template-files](/en/total5/template-files/) |
| `Thelpers` | object | Помощните функции, налични в шаблоните Tangular. | [tangular-templates](/en/total5/tangular-templates/) |
| `TEMPLATE` | function | Рендира шаблон Tangular, който е текст, файл от папката `templates` или URL, и връща promise с текста. | [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);
}
```
