forked from totaljs/framework5
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathglobal.js
More file actions
127 lines (112 loc) · 3.33 KB
/
global.js
File metadata and controls
127 lines (112 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// Total.js Globals
// The MIT License
// Copyright 2023 (c) Peter Širka <petersirka@gmail.com>
'use strict';
global.ON = (name, fn) => F.on(name, fn);
global.EMIT = (name, a, b, c, d, e, f, g) => F.emit(name, a, b, c, d, e, f, g);
global.OFF = (name, fn) => F.off(name, fn);
global.ROUTE = F.TRouting.route;
global.PROXY = F.TRouting.proxy;
global.print = console.log;
global.LOADCONFIG = F.loadconfig;
global.LOADRESOURCE = F.loadresource;
global.SHELL = F.shell;
global.NPMINSTALL = F.npminstall;
global.COMPONENTATOR = F.componentator;
global.MERGE = F.merge;
global.TOUCH = F.touch;
global.AUTH = F.auth;
global.CLEANUP = F.cleanup;
global.NEWDB = F.newdb;
global.REQUIRE = F.require;
global.CRON = F.cron;
global.UID = F.uid;
global.MEMORIZE = F.memorize;
global.AUDIT = F.audit;
global.TRANSLATE = F.translate;
global.DATA = new F.TQueryBuilder.Controller(true);
global.DB = () => new F.TQueryBuilder.Controller();
global.CACHE = F.cache;
global.NEWACTION = F.TBuilders.newaction;
global.NEWSCHEMA = F.TBuilders.newschema;
global.ACTION = F.TBuilders.action;
global.TEMPLATE = F.template;
global.FILESTORAGE = F.filestorage;
global.WEBSOCKETCLIENT = F.websocketclient;
global.PAUSESERVER = F.pauseserver;
global.MODS = F.modules;
global.PLUGINS = F.plugins;
global.DECRYPT = F.decrypt;
global.ENCRYPT = F.encrypt;
global.DECRYPTREQ = F.decryptreq;
global.ENCRYPTREQ = F.encryptreq;
global.PATH = F.path;
global.UNAUTHORIZED = F.unauthorized;
global.LOGMAIL = F.logmail;
global.HTMLMAIL = F.htmlmail;
global.MAIL = F.mail;
global.Mail = F.TMail.Mailer;
global.RESTBuilder = F.TBuilders.RESTBuilder;
global.ErrorBuilder = F.TBuilders.ErrorBuilder;
global.BLOCKED = function($, limit, expire) {
var key = $.ip;
if (limit === -1 || limit === null) {
delete F.temporary.bans[key];
return;
}
if (!limit)
limit = 5;
var item = F.temporary.bans[key];
if (item) {
if (item.count > limit)
return true;
item.count++;
} else {
item = F.temporary.bans[key] = {};
item.expire = NOW.add(expire || '15 minutes');
item.count = 1;
}
};
global.ERROR = function(name) {
return name == null ? F.errorcallback : function(err) {
err && F.error(err, name);
};
};
global.LDAP = function(opt, callback) {
if (!opt.ldap.port)
opt.ldap.port = 389;
var Ldap = require('./ldap');
if (callback)
Ldap.load(opt, callback);
else
return new Promise((resolve, reject) => Ldap.load(opt, (err, res) => err ? reject(err) : resolve(res)));
};
global.CORS = function(origin) {
CONF.$cors = origin || '*';
};
// Utils
global.U = F.TUtils;
global.GUID = F.TUtils.guid;
global.NOOP = F.TUtils.noop;
global.REQUEST = F.TUtils.request;
global.HASH = (val, type) => val.hash(type ? type : true);
global.DIFFARR = F.TUtils.diffarr;
global.CLONE = F.TUtils.clone;
global.COPY = F.TUtils.copy;
// TMS
global.SUBSCRIBE = F.TTMS.subscribe;
global.UNSUBSCRIBE = F.TTMS.unsubscribe;
global.PUBLISH = F.TTMS.publish;
global.NEWPUBLISH = F.TTMS.newpublish;
global.NEWSUBSCRIBE = F.TTMS.newsubscribe;
global.NEWCALL = F.TTMS.newcall;
global.TMSCLIENT = F.TTMS.client;
// API
global.API = (name, schema, data, $) => F.TApi.exec(name, schema, data, $);
global.NEWAPI = (name, callback) => F.TApi.newapi(name, callback);
// NoSQL
global.NOSQL = F.TNoSQL.nosql;
// Workers
global.NEWFORK = F.TWorkers.createfork;
global.NEWTHREAD = F.TWorkers.createthread;
global.NEWTHREADPOOL = F.TWorkers.createpool;