qcobjects 2.4.105-ts → 2.4.108-ts
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.hintrc +5 -0
- package/VERSION +1 -1
- package/build/ArrayCollection.js +136 -0
- package/build/BackendMicroservice.js +211 -0
- package/build/Base64.js +100 -0
- package/build/CONFIG.js +85 -0
- package/build/Cast.js +53 -0
- package/build/Class.js +284 -0
- package/build/ClassFactory.js +38 -0
- package/build/ComplexStorageCache.js +91 -0
- package/build/Component.js +1133 -0
- package/build/ComponentFactory.js +113 -0
- package/build/ConfigSettings.js +39 -0
- package/build/Controller.js +81 -0
- package/build/Crypt.js +87 -0
- package/build/DDO.js +81 -0
- package/build/DOMCreateElement.js +15 -0
- package/build/DataStringify.js +22 -0
- package/build/DefaultTemplateHandler.js +57 -0
- package/build/DocumentLayout.js +20 -0
- package/build/Effect.js +46 -0
- package/build/Export.js +11 -0
- package/build/Import.js +140 -0
- package/build/IncrementInstanceID.js +11 -0
- package/build/InheritClass.js +194 -0
- package/build/LegacyCopy.js +31 -0
- package/build/Logger.js +33 -0
- package/build/MainProcess.js +549 -0
- package/build/NamespaceRef.js +29 -0
- package/build/New.js +17 -0
- package/build/ObjectName.js +22 -0
- package/build/Package.js +67 -0
- package/build/PrimaryCollections.js +7 -0
- package/build/Processor.js +81 -0
- package/build/QCObjects.js +182 -4843
- package/build/Ready.js +49 -0
- package/build/RegisterClass.js +28 -0
- package/build/Service.js +112 -0
- package/build/SourceCSS.js +56 -0
- package/build/SourceJS.js +73 -0
- package/build/Tag.js +77 -0
- package/build/Timer.js +30 -0
- package/build/Toggle.js +59 -0
- package/build/TransitionEffect.js +65 -0
- package/build/VO.js +11 -0
- package/build/View.js +18 -0
- package/build/WidgetsFactory.js +537 -0
- package/build/assign.js +32 -0
- package/build/asyncLoad.js +43 -0
- package/build/basePath.js +32 -0
- package/build/captureFalseTouch.js +32 -0
- package/build/componentLoader.js +258 -0
- package/build/defaultProcessors.js +130 -0
- package/build/domain.js +4 -0
- package/build/findPackageNodePath.js +47 -0
- package/build/getType.js +38 -0
- package/build/globalSettings.js +115 -0
- package/build/index.d.ts +1045 -0
- package/build/index.js +24 -4
- package/build/index.mjs +1 -1
- package/build/introspection.js +86 -0
- package/build/isQCObjects.js +20 -0
- package/build/is_a.js +19 -0
- package/build/is_forbidden_name.js +15 -0
- package/build/is_raw_class.js +7 -0
- package/build/loadSDK.js +63 -0
- package/build/localStorage.js +19 -0
- package/build/make_global.js +24 -0
- package/build/mathFunctions.js +7 -0
- package/build/platform.js +28 -0
- package/build/range.js +17 -0
- package/build/routings.js +21 -0
- package/build/secretKey.js +5 -0
- package/build/serviceLoader.js +300 -0
- package/build/shortCode.js +14 -0
- package/build/subelements.js +8 -0
- package/build/super.js +20 -0
- package/build/tag_filter.js +4 -0
- package/build/top.js +23 -0
- package/build/uniqueID.js +5 -0
- package/build/waitUntil.js +31 -0
- package/build-esbuild.js +62 -0
- package/eslint.config.mjs +87 -0
- package/package.json +25 -22
- package/public/browser/index.js +6502 -0
- package/public/browser/index.js.map +7 -0
- package/public/cjs/index.cjs +6586 -0
- package/public/cjs/index.cjs.map +7 -0
- package/public/esm/index.mjs +6494 -0
- package/public/esm/index.mjs.map +7 -0
- package/spec/helpers/mock-sdk.helper.ts +5 -0
- package/spec/mocks/qcobjects-sdk.mock.ts +1 -0
- package/spec/support/jasmine.json +3 -3
- package/spec/testsClassFactorySpec.ts +40 -0
- package/spec/{testsConfigSpec.js → testsConfigSpec.ts} +2 -2
- package/spec/{testsGlobalFeaturesSpec.js → testsGlobalFeaturesSpec.ts} +10 -8
- package/spec/{testsSpec.js → testsSpec.ts} +11 -10
- package/spec/{testsTypeSpec.js → testsTypeSpec.ts} +5 -3
- package/src/ArrayCollection.ts +143 -0
- package/src/BackendMicroservice.ts +229 -0
- package/src/Base64.ts +92 -0
- package/src/CONFIG.ts +96 -0
- package/src/Cast.ts +46 -0
- package/src/Class.ts +303 -0
- package/src/ClassFactory.ts +34 -0
- package/src/ComplexStorageCache.ts +97 -0
- package/src/Component.ts +1222 -0
- package/src/ComponentFactory.ts +122 -0
- package/src/ConfigSettings.ts +62 -0
- package/src/Controller.ts +90 -0
- package/src/Crypt.ts +87 -0
- package/src/DDO.ts +93 -0
- package/src/DOMCreateElement.ts +12 -0
- package/src/DataStringify.ts +19 -0
- package/src/DefaultTemplateHandler.ts +55 -0
- package/src/DocumentLayout.ts +16 -0
- package/src/Effect.ts +56 -0
- package/src/Export.ts +8 -0
- package/src/Import.ts +135 -0
- package/src/IncrementInstanceID.ts +8 -0
- package/src/InheritClass.ts +210 -0
- package/src/LegacyCopy.ts +27 -0
- package/src/Logger.ts +32 -0
- package/src/MainProcess.ts +629 -0
- package/src/NamespaceRef.ts +26 -0
- package/src/New.ts +15 -0
- package/src/ObjectName.ts +16 -0
- package/src/Package.ts +67 -0
- package/src/PrimaryCollections.ts +7 -0
- package/src/Processor.ts +93 -0
- package/src/QCObjects.ts +100 -0
- package/src/Ready.ts +44 -0
- package/src/RegisterClass.ts +26 -0
- package/src/Service.ts +127 -0
- package/src/SourceCSS.ts +59 -0
- package/src/SourceJS.ts +76 -0
- package/src/Tag.ts +76 -0
- package/src/Timer.ts +42 -0
- package/src/Toggle.ts +65 -0
- package/src/TransitionEffect.ts +80 -0
- package/src/VO.ts +8 -0
- package/src/View.ts +17 -0
- package/src/WidgetsFactory.ts +543 -0
- package/src/assign.ts +33 -0
- package/src/asyncLoad.ts +42 -0
- package/src/basePath.ts +29 -0
- package/src/captureFalseTouch.ts +29 -0
- package/src/componentLoader.ts +252 -0
- package/src/defaultProcessors.ts +145 -0
- package/src/domain.ts +1 -0
- package/src/findPackageNodePath.ts +43 -0
- package/src/getType.ts +36 -0
- package/src/globalSettings.ts +118 -0
- package/src/index.mts +1 -1
- package/src/index.ts +1 -1
- package/src/introspection.ts +80 -0
- package/src/isQCObjects.ts +19 -0
- package/src/is_a.ts +16 -0
- package/src/is_forbidden_name.ts +12 -0
- package/src/is_raw_class.ts +3 -0
- package/src/loadSDK.ts +59 -0
- package/src/localStorage.ts +17 -0
- package/src/make_global.ts +19 -0
- package/src/mathFunctions.ts +3 -0
- package/src/platform.ts +30 -0
- package/src/range.ts +15 -0
- package/src/routings.ts +18 -0
- package/src/secretKey.ts +3 -0
- package/src/serviceLoader.ts +306 -0
- package/src/shortCode.ts +11 -0
- package/src/subelements.ts +4 -0
- package/src/super.ts +17 -0
- package/src/tag_filter.ts +1 -0
- package/src/top.ts +111 -0
- package/src/types/global/index.d.ts +597 -0
- package/src/uniqueID.ts +3 -0
- package/src/waitUntil.ts +26 -0
- package/tsconfig.d.json +35 -8
- package/tsconfig.jasmine.json +39 -0
- package/tsconfig.json +46 -12
- package/.eslintignore +0 -5
- package/.eslintrc.cjs +0 -21
- package/.eslintrc.json +0 -24
- package/browser/QCObjects.js +0 -2
- package/browser/QCObjects.js.map +0 -7
- package/browser/chunks/chunk-O2PFFZVJ.js +0 -713
- package/browser/chunks/chunk-O2PFFZVJ.js.map +0 -7
- package/browser/chunks/chunk-TBLBK5VV.js +0 -713
- package/browser/chunks/chunk-TBLBK5VV.js.map +0 -7
- package/browser/chunks/chunk-ZYLXOA35.js +0 -713
- package/browser/chunks/chunk-ZYLXOA35.js.map +0 -7
- package/browser/index.js +0 -2
- package/browser/index.js.map +0 -7
- package/spec/testsClassFactorySpec.js +0 -41
- package/src/QCObjects.js +0 -5247
- package/src/index.d.ts +0 -8
- package/types/index.d.ts +0 -472
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serviceLoader = void 0;
|
|
4
|
+
const asyncLoad_1 = require("./asyncLoad");
|
|
5
|
+
const ComplexStorageCache_1 = require("./ComplexStorageCache");
|
|
6
|
+
const DataStringify_1 = require("./DataStringify");
|
|
7
|
+
const Logger_1 = require("./Logger");
|
|
8
|
+
const platform_1 = require("./platform");
|
|
9
|
+
const top_1 = require("./top");
|
|
10
|
+
/**
|
|
11
|
+
* Loads a simple component from a template
|
|
12
|
+
*
|
|
13
|
+
* @author: Jean Machuca <correojean@gmail.com>
|
|
14
|
+
* @param service a Service object
|
|
15
|
+
*/
|
|
16
|
+
const serviceLoader = function (service, _async = false) {
|
|
17
|
+
const _serviceLoaderInBrowser = function (service) {
|
|
18
|
+
var _promise = new Promise(function (resolve, reject) {
|
|
19
|
+
Logger_1.logger.debug("LOADING SERVICE DATA {{DATA}} FROM {{URL}}".replace("{{DATA}}", (0, DataStringify_1._DataStringify)(service.data)).replace("{{URL}}", service.url));
|
|
20
|
+
const xhr = new XMLHttpRequest();
|
|
21
|
+
xhr.withCredentials = service.withCredentials;
|
|
22
|
+
const xhrasync = true; // always async because xhr sync is deprecated
|
|
23
|
+
xhr.open(service.method, service.url, xhrasync);
|
|
24
|
+
for (const header in service.headers) {
|
|
25
|
+
try {
|
|
26
|
+
if (typeof service.headers[header] !== "function") {
|
|
27
|
+
xhr.setRequestHeader(header, service.headers[header]);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
Logger_1.logger.debug("Something went wrong when assign the header " + header);
|
|
32
|
+
Logger_1.logger.debug(`An error ocurred: ${e}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
xhr.onload = function () {
|
|
36
|
+
if (xhr.status === 200) {
|
|
37
|
+
const response = xhr.responseText;
|
|
38
|
+
Logger_1.logger.debug("Data received {{DATA}}".replace("{{DATA}}", (0, DataStringify_1._DataStringify)(response)));
|
|
39
|
+
Logger_1.logger.debug("CREATING SERVICE {{NAME}}".replace("{{NAME}}", service.name));
|
|
40
|
+
service.template = response;
|
|
41
|
+
if (service.cached && (typeof cache !== "undefined")) {
|
|
42
|
+
cache.save(service.name, service.template);
|
|
43
|
+
}
|
|
44
|
+
if (typeof service.done === "function") {
|
|
45
|
+
var standardResponse = {
|
|
46
|
+
"request": xhr,
|
|
47
|
+
service
|
|
48
|
+
};
|
|
49
|
+
service.done.call(service, standardResponse);
|
|
50
|
+
resolve.call(_promise, standardResponse);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (typeof service.fail === "function") {
|
|
55
|
+
var standardResponse = {
|
|
56
|
+
"request": xhr,
|
|
57
|
+
service
|
|
58
|
+
};
|
|
59
|
+
service.fail.call(service, standardResponse);
|
|
60
|
+
reject.call(_promise, standardResponse);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const _directLoad = function () {
|
|
65
|
+
Logger_1.logger.debug("SENDING THE NORMAL REQUEST ");
|
|
66
|
+
try {
|
|
67
|
+
xhr.send((0, DataStringify_1._DataStringify)(service.data));
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
Logger_1.logger.debug("SOMETHING WRONG WITH REQUEST ");
|
|
71
|
+
Logger_1.logger.debug(`An error ocurred: ${e}`);
|
|
72
|
+
reject.call(_promise, {
|
|
73
|
+
request: xhr,
|
|
74
|
+
service
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
if (service.cached) {
|
|
79
|
+
var cache = new ComplexStorageCache_1.ComplexStorageCache({
|
|
80
|
+
index: service.data,
|
|
81
|
+
load() {
|
|
82
|
+
_directLoad.call(this);
|
|
83
|
+
},
|
|
84
|
+
alternate(cacheController) {
|
|
85
|
+
if (service.method === "GET") {
|
|
86
|
+
service.template = cacheController.cache.getCached(service.name);
|
|
87
|
+
if (typeof service.done === "function") {
|
|
88
|
+
const standardResponse = {
|
|
89
|
+
"request": xhr,
|
|
90
|
+
service
|
|
91
|
+
};
|
|
92
|
+
service.done.call(service, standardResponse);
|
|
93
|
+
resolve.call(_promise, standardResponse);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
_directLoad();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
top_1._top.lastCache = cache;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
_directLoad();
|
|
105
|
+
}
|
|
106
|
+
return xhr;
|
|
107
|
+
});
|
|
108
|
+
return _promise;
|
|
109
|
+
};
|
|
110
|
+
const _serviceLoaderInNode = function (service) {
|
|
111
|
+
var _promise = new Promise(function (resolve, reject) {
|
|
112
|
+
if (typeof URL === "undefined") {
|
|
113
|
+
global.URL = ((0, platform_1._require_)("url")).URL;
|
|
114
|
+
// eslint-disable-next-line no-unused-vars
|
|
115
|
+
const URL = global.URL;
|
|
116
|
+
}
|
|
117
|
+
const serviceURL = new URL(service.url);
|
|
118
|
+
var req;
|
|
119
|
+
service.useHTTP2 = Object.hasOwn(service, "useHTTP2") && service.useHTTP2;
|
|
120
|
+
const captureEvents = function (req) {
|
|
121
|
+
Logger_1.logger.debug("LOADING SERVICE DATA (non-browser) {{DATA}} FROM {{URL}}".replace("{{DATA}}", (0, DataStringify_1._DataStringify)(service.data)).replace("{{URL}}", service.url));
|
|
122
|
+
let dataXML;
|
|
123
|
+
const standardResponse = {
|
|
124
|
+
"http2Client": client,
|
|
125
|
+
"request": req,
|
|
126
|
+
service,
|
|
127
|
+
"responseHeaders": null
|
|
128
|
+
};
|
|
129
|
+
if (typeof service.data === "object" && service.data !== null) {
|
|
130
|
+
if (service.useHTTP2) {
|
|
131
|
+
try {
|
|
132
|
+
Logger_1.logger.debug("Sending data...");
|
|
133
|
+
const buffer = new Buffer((0, DataStringify_1._DataStringify)(service.data));
|
|
134
|
+
req.write(buffer);
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
Logger_1.logger.debug("It was not possible to send any data");
|
|
138
|
+
Logger_1.logger.debug(`An error ocurred: ${e}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
dataXML = "";
|
|
143
|
+
req.on("response", (responseHeaders) => {
|
|
144
|
+
Logger_1.logger.debug("receiving response...");
|
|
145
|
+
standardResponse.responseHeaders = responseHeaders;
|
|
146
|
+
/*
|
|
147
|
+
for (const name in responseHeaders) {
|
|
148
|
+
logger.debug(`${name}: ${responseHeaders[name]}`);
|
|
149
|
+
}
|
|
150
|
+
*/
|
|
151
|
+
dataXML = "";
|
|
152
|
+
});
|
|
153
|
+
req.on("data", (chunk) => {
|
|
154
|
+
Logger_1.logger.debug("receiving data...");
|
|
155
|
+
// do something with the data
|
|
156
|
+
dataXML += "" + chunk.toString();
|
|
157
|
+
service.template = dataXML;
|
|
158
|
+
});
|
|
159
|
+
if (service.useHTTP2) {
|
|
160
|
+
req.resume();
|
|
161
|
+
}
|
|
162
|
+
req.on("end", () => {
|
|
163
|
+
Logger_1.logger.debug("ending call...");
|
|
164
|
+
service.template = dataXML;
|
|
165
|
+
if (Object.hasOwn(service, "useHTTP2") && service.useHTTP2) {
|
|
166
|
+
client.destroy();
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
req.destroy();
|
|
170
|
+
}
|
|
171
|
+
service.done.call(service, standardResponse);
|
|
172
|
+
resolve.call(_promise, standardResponse);
|
|
173
|
+
});
|
|
174
|
+
if (service.useHTTP2) {
|
|
175
|
+
req.end();
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
try {
|
|
179
|
+
let requestOptions;
|
|
180
|
+
if (service.useHTTP2) {
|
|
181
|
+
Logger_1.logger.debug("using http2");
|
|
182
|
+
const http2 = (0, platform_1._require_)("http2");
|
|
183
|
+
var client = (http2).connect(serviceURL.origin);
|
|
184
|
+
requestOptions = Object.assign({
|
|
185
|
+
":method": service.method,
|
|
186
|
+
":path": serviceURL.pathname
|
|
187
|
+
}, service.options);
|
|
188
|
+
requestOptions = Object.assign(requestOptions, service.headers);
|
|
189
|
+
req = client.request(requestOptions);
|
|
190
|
+
req.setEncoding("utf8");
|
|
191
|
+
captureEvents(req);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
if (serviceURL.protocol === "http:") {
|
|
195
|
+
const http = (0, platform_1._require_)("http");
|
|
196
|
+
const request = (http).request;
|
|
197
|
+
requestOptions = Object.assign({
|
|
198
|
+
"url": service.url,
|
|
199
|
+
headers: service.headers
|
|
200
|
+
}, service.options);
|
|
201
|
+
req = request(service.url);
|
|
202
|
+
captureEvents(req);
|
|
203
|
+
}
|
|
204
|
+
else if (serviceURL.protocol === "https:") {
|
|
205
|
+
const https = (0, platform_1._require_)("https");
|
|
206
|
+
requestOptions = Object.assign({
|
|
207
|
+
hostname: serviceURL.hostname,
|
|
208
|
+
port: serviceURL.port,
|
|
209
|
+
path: serviceURL.pathname,
|
|
210
|
+
method: service.method,
|
|
211
|
+
headers: service.headers
|
|
212
|
+
}, service.options);
|
|
213
|
+
const _req_ = (https).request(requestOptions, function (req) {
|
|
214
|
+
captureEvents(req);
|
|
215
|
+
});
|
|
216
|
+
_req_.end();
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
const e = "Protocol not supported: " + serviceURL.protocol;
|
|
220
|
+
Logger_1.logger.debug(e);
|
|
221
|
+
throw new Error(e);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
Logger_1.logger.debug(e);
|
|
227
|
+
service.fail.call(service, e);
|
|
228
|
+
reject.call(_promise, e);
|
|
229
|
+
}
|
|
230
|
+
}).catch((e) => {
|
|
231
|
+
Logger_1.logger.debug(`Something happened when trying to call the service: ${service.name}. Error: ${e}`);
|
|
232
|
+
service.fail.call(service, e);
|
|
233
|
+
});
|
|
234
|
+
return _promise;
|
|
235
|
+
};
|
|
236
|
+
const _serviceLoaderMockup = function (service) {
|
|
237
|
+
var _promise = new Promise(function (resolve) {
|
|
238
|
+
Logger_1.logger.debug(`Calling mockup service ${service.name} ...`);
|
|
239
|
+
const standardResponse = {
|
|
240
|
+
"request": null,
|
|
241
|
+
service,
|
|
242
|
+
"responseHeaders": service.responseHeaders
|
|
243
|
+
};
|
|
244
|
+
if (typeof service.mockup === "function") {
|
|
245
|
+
service.mockup.call(service, standardResponse);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
service.done.call(service, standardResponse);
|
|
249
|
+
}
|
|
250
|
+
resolve.call(_promise, standardResponse);
|
|
251
|
+
});
|
|
252
|
+
return _promise;
|
|
253
|
+
};
|
|
254
|
+
const _serviceLoaderLocal = function (service) {
|
|
255
|
+
var _promise = new Promise(function (resolve) {
|
|
256
|
+
Logger_1.logger.debug(`Calling local service ${service.name} ...`);
|
|
257
|
+
const standardResponse = {
|
|
258
|
+
"request": null,
|
|
259
|
+
service,
|
|
260
|
+
"responseHeaders": service.responseHeaders
|
|
261
|
+
};
|
|
262
|
+
if (typeof service.local === "function") {
|
|
263
|
+
service.local.call(service, standardResponse);
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
service.done.call(service, standardResponse);
|
|
267
|
+
}
|
|
268
|
+
resolve.call(_promise, standardResponse);
|
|
269
|
+
});
|
|
270
|
+
return _promise;
|
|
271
|
+
};
|
|
272
|
+
let _ret_;
|
|
273
|
+
switch (service.kind) {
|
|
274
|
+
case "rest":
|
|
275
|
+
if (platform_1.isBrowser) {
|
|
276
|
+
if (typeof _async !== "undefined" && _async) {
|
|
277
|
+
_ret_ = (0, asyncLoad_1.asyncLoad)(_serviceLoaderInBrowser, [service, _async]);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
_ret_ = _serviceLoaderInBrowser(service);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
_ret_ = _serviceLoaderInNode(service);
|
|
285
|
+
}
|
|
286
|
+
break;
|
|
287
|
+
case "mockup":
|
|
288
|
+
_ret_ = _serviceLoaderMockup(service);
|
|
289
|
+
break;
|
|
290
|
+
case "local":
|
|
291
|
+
_ret_ = _serviceLoaderLocal(service);
|
|
292
|
+
break;
|
|
293
|
+
default:
|
|
294
|
+
Logger_1.logger.debug(`The value of the kind property of the service ${service.name} is not valid`);
|
|
295
|
+
_ret_ = Promise.resolve();
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
return _ret_;
|
|
299
|
+
};
|
|
300
|
+
exports.serviceLoader = serviceLoader;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shortCode = void 0;
|
|
4
|
+
const Crypt_1 = require("./Crypt");
|
|
5
|
+
const shortCode = function () {
|
|
6
|
+
const length = 1000;
|
|
7
|
+
const code1 = Crypt_1._Crypt.encrypt((Math.random() * length).toString().replace(".", ""), (new Date()).getTime().toString());
|
|
8
|
+
const code2 = Crypt_1._Crypt.encrypt((Math.random() * length).toString().replace(".", ""), (new Date((new Date()).getTime() - 1000 * 1000)).getTime().toString());
|
|
9
|
+
const shortCode = [...code2].map((o1, index) => {
|
|
10
|
+
return [...code1][index] === o1 ? null : o1;
|
|
11
|
+
}).filter((c) => c !== null).join("");
|
|
12
|
+
return shortCode;
|
|
13
|
+
};
|
|
14
|
+
exports.shortCode = shortCode;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.subelements = void 0;
|
|
4
|
+
const subelements = function subelements(query) {
|
|
5
|
+
const _self = this;
|
|
6
|
+
return [..._self.querySelectorAll(query)];
|
|
7
|
+
};
|
|
8
|
+
exports.subelements = subelements;
|
package/build/super.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._super_ = void 0;
|
|
4
|
+
const ClassFactory_1 = require("./ClassFactory");
|
|
5
|
+
/**
|
|
6
|
+
* Returns a method from a superior QCObjects Class
|
|
7
|
+
* It is useful for Class Inheritance in the _new_ and __new__ method constructors
|
|
8
|
+
* @example _super_('MySuperClass','MySuperMethod').call(this,params) #where this is the current instance and params are method parameters
|
|
9
|
+
*
|
|
10
|
+
* @param {String} className
|
|
11
|
+
* @param {String} classMethodName
|
|
12
|
+
* @param {Object} params
|
|
13
|
+
*/
|
|
14
|
+
const _super_ = function (className, classMethodName) {
|
|
15
|
+
return ((0, ClassFactory_1.ClassFactory)(className))[classMethodName];
|
|
16
|
+
};
|
|
17
|
+
exports._super_ = _super_;
|
|
18
|
+
exports._super_.prototype.toString = function () {
|
|
19
|
+
return "_super_(className,classMethodName,params) { [QCObjects native code] }";
|
|
20
|
+
};
|
package/build/top.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setConfigService = exports.configService = exports.buildComponentsStack = exports.resetTop = exports.componentsStack = exports._top = void 0;
|
|
4
|
+
const ComponentFactory_1 = require("./ComponentFactory");
|
|
5
|
+
exports._top = ((typeof self !== "undefined" && self) ||
|
|
6
|
+
(typeof window !== "undefined" && window) ||
|
|
7
|
+
(typeof global !== "undefined" && global) ||
|
|
8
|
+
this);
|
|
9
|
+
exports._top.lastCache = undefined;
|
|
10
|
+
exports.componentsStack = [];
|
|
11
|
+
const resetTop = (_top_) => {
|
|
12
|
+
exports._top = _top_;
|
|
13
|
+
};
|
|
14
|
+
exports.resetTop = resetTop;
|
|
15
|
+
const buildComponentsStack = () => {
|
|
16
|
+
exports.componentsStack = (0, ComponentFactory_1.buildComponents)(document);
|
|
17
|
+
};
|
|
18
|
+
exports.buildComponentsStack = buildComponentsStack;
|
|
19
|
+
const setConfigService = (_configService) => {
|
|
20
|
+
exports._top.global.configService = _configService;
|
|
21
|
+
exports.configService = _configService;
|
|
22
|
+
};
|
|
23
|
+
exports.setConfigService = setConfigService;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waitUntil = void 0;
|
|
4
|
+
const Logger_1 = require("./Logger");
|
|
5
|
+
const waitUntil = function (func, exp) {
|
|
6
|
+
const _waitUntil = function (func, exp) {
|
|
7
|
+
const maxWaitCycles = 2000;
|
|
8
|
+
let _w = 0;
|
|
9
|
+
var _t = setInterval(function () {
|
|
10
|
+
if (exp()) {
|
|
11
|
+
clearInterval(_t);
|
|
12
|
+
func();
|
|
13
|
+
Logger_1.logger.debug("Ejecuting " + func.name + " after wait");
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
if (_w < maxWaitCycles) {
|
|
17
|
+
_w += 1;
|
|
18
|
+
Logger_1.logger.debug("WAIT UNTIL " + func.name + " is true, " + _w.toString() + " cycles");
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
Logger_1.logger.debug("Max execution time for " + func.name + " expression until true");
|
|
22
|
+
clearInterval(_t);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}, 1);
|
|
26
|
+
};
|
|
27
|
+
setTimeout(function () {
|
|
28
|
+
_waitUntil(func, exp);
|
|
29
|
+
}, 1);
|
|
30
|
+
};
|
|
31
|
+
exports.waitUntil = waitUntil;
|
package/build-esbuild.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// build.js
|
|
2
|
+
const esbuild = require("esbuild");
|
|
3
|
+
const alias = require("esbuild-plugin-alias");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
|
|
6
|
+
const baseSettings = {
|
|
7
|
+
entryPoints: ["src/*.ts", "src/*.mts", "src/*.cts"], // Your entry file
|
|
8
|
+
bundle: true,
|
|
9
|
+
outdir: "public/cjs", // Output dir
|
|
10
|
+
format: "cjs", // or "esm" depending on your module system
|
|
11
|
+
target: ["esnext"], // Adjust based on your target environment
|
|
12
|
+
tsconfig: "tsconfig.json", // Path to your tsconfig.json,
|
|
13
|
+
globalName: "global",
|
|
14
|
+
minify:false,
|
|
15
|
+
keepNames: true,
|
|
16
|
+
sourcemap: true,
|
|
17
|
+
splitting: false,
|
|
18
|
+
chunkNames: "chunks/[name]-[hash]",
|
|
19
|
+
plugins: [
|
|
20
|
+
alias({
|
|
21
|
+
"types": path.join(__dirname, "src/types/global/index.d.ts")
|
|
22
|
+
})
|
|
23
|
+
]
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const cjsSettings = {...baseSettings,
|
|
27
|
+
entryPoints: ["src/*.cts"], // Your entry file
|
|
28
|
+
outdir: "public/cjs", // Output dir
|
|
29
|
+
format: "cjs", // or "esm" depending on your module system
|
|
30
|
+
platform: "node", // or "browser" depending on your target environment
|
|
31
|
+
outExtension: {
|
|
32
|
+
".js":".cjs"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const esmSettings = {...baseSettings,
|
|
38
|
+
entryPoints: ["src/*.mts"], // Your entry file
|
|
39
|
+
outdir: "public/esm", // Output dir
|
|
40
|
+
format: "esm", // or "esm" depending on your module system
|
|
41
|
+
platform: "neutral", // or "browser" depending on your target environment
|
|
42
|
+
outExtension: {
|
|
43
|
+
".js":".mjs"
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const browserSettings = {...baseSettings,
|
|
49
|
+
entryPoints: ["src/*.mts"], // Your entry file
|
|
50
|
+
outdir: "public/browser", // Output dir
|
|
51
|
+
format: "iife", // or "esm" depending on your module system
|
|
52
|
+
platform: "browser", // or "browser" depending on your target environment
|
|
53
|
+
outExtension: {
|
|
54
|
+
".js":".js"
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const logError = (e) => {console.log(e);process.exit(1);};
|
|
59
|
+
|
|
60
|
+
esbuild.build(cjsSettings).catch(logError);
|
|
61
|
+
esbuild.build(esmSettings).catch(logError);
|
|
62
|
+
esbuild.build(browserSettings).catch(logError);
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import globals from "globals";
|
|
2
|
+
import pluginJs from "@eslint/js";
|
|
3
|
+
import tseslint from "typescript-eslint";
|
|
4
|
+
|
|
5
|
+
import * as parser from '@typescript-eslint/parser';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
10
|
+
import js from "@eslint/js";
|
|
11
|
+
import { FlatCompat } from "@eslint/eslintrc";
|
|
12
|
+
|
|
13
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
14
|
+
const __dirname = path.dirname(__filename);
|
|
15
|
+
const compat = new FlatCompat({
|
|
16
|
+
baseDirectory: __dirname,
|
|
17
|
+
recommendedConfig: js.configs.recommended,
|
|
18
|
+
allConfig: js.configs.all
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export default [
|
|
22
|
+
{ languageOptions: {
|
|
23
|
+
globals: {
|
|
24
|
+
...globals.browser,
|
|
25
|
+
...globals.node,
|
|
26
|
+
Atomics: "readonly",
|
|
27
|
+
SharedArrayBuffer: "readonly",
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
ecmaVersion: "latest",
|
|
31
|
+
sourceType: "module",
|
|
32
|
+
parserOptions: {
|
|
33
|
+
projectService: true,
|
|
34
|
+
tsconfigRootDir: import.meta.dirname,
|
|
35
|
+
programs: [parser.createProgram('tsconfig.json')],
|
|
36
|
+
}
|
|
37
|
+
,
|
|
38
|
+
|
|
39
|
+
} },
|
|
40
|
+
pluginJs.configs.recommended,
|
|
41
|
+
...tseslint.configs.recommended,
|
|
42
|
+
...tseslint.configs.recommendedTypeChecked,
|
|
43
|
+
{ files: ["**/*.{js,mjs,cjs,ts}"] }
|
|
44
|
+
,{
|
|
45
|
+
ignores: [
|
|
46
|
+
"**/*.js",
|
|
47
|
+
"spec/**/*",
|
|
48
|
+
"src/*.js",
|
|
49
|
+
"src/**/*.js",
|
|
50
|
+
"node_modules/**/*",
|
|
51
|
+
"**/node_modules"
|
|
52
|
+
],
|
|
53
|
+
}, ...compat.extends("eslint:recommended"),
|
|
54
|
+
{ rules: {
|
|
55
|
+
semi: ["error", "always"],
|
|
56
|
+
quotes: ["error", "double"],
|
|
57
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
58
|
+
"@typescript-eslint/no-this-alias": "off",
|
|
59
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
60
|
+
"@typescript-eslint/ban-types": "off",
|
|
61
|
+
"array-callback-return": "warn",
|
|
62
|
+
"no-useless-call": "off",
|
|
63
|
+
camelcase: "off",
|
|
64
|
+
"no-var": "off",
|
|
65
|
+
}},
|
|
66
|
+
{
|
|
67
|
+
files: ["**/*.ts", "**/*.d.ts", "**/*.d.tsx", "**/*.tsx"]
|
|
68
|
+
},
|
|
69
|
+
{ files: ["**/*.d.ts"],
|
|
70
|
+
rules: {
|
|
71
|
+
"no-unused-vars":"off"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
files: ["**/*.ts", "**/*.d.ts"],
|
|
76
|
+
rules: {
|
|
77
|
+
"no-dupe-class-members":"off",
|
|
78
|
+
"@typescript-eslint/no-unsafe-function-type":"off",
|
|
79
|
+
"no-redeclare": "off",
|
|
80
|
+
"@typescript-eslint/no-unsafe-member-access":"off",
|
|
81
|
+
"@typescript-eslint/no-unsafe-assignment":"off",
|
|
82
|
+
"@typescript-eslint/no-unsafe-call":"off",
|
|
83
|
+
"@typescript-eslint/no-unsafe-argument":"off"
|
|
84
|
+
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
];
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qcobjects",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.108-ts",
|
|
4
4
|
"description": "QCObjects is an Open-source framework that empowers full-stack developers to make micro-services and micro-frontends into an N-Tier architecture.",
|
|
5
|
-
"main": "
|
|
6
|
-
"module": "
|
|
7
|
-
"browser": "browser/index.js",
|
|
5
|
+
"main": "public/cjs/index.cjs",
|
|
6
|
+
"module": "public/esm/index.mjs",
|
|
7
|
+
"browser": "public/browser/index.js",
|
|
8
8
|
"type": "commonjs",
|
|
9
9
|
"types": "build/index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
|
-
"require": "./
|
|
13
|
-
"import": "./
|
|
14
|
-
"types": "./build/index.d.ts"
|
|
12
|
+
"require": "./public/cjs/index.cjs",
|
|
13
|
+
"import": "./public/esm/index.mjs"
|
|
15
14
|
},
|
|
15
|
+
"./types/*": "./types/*",
|
|
16
16
|
"./package.json": "./package.json"
|
|
17
17
|
},
|
|
18
18
|
"license": "LGPL-3.0",
|
|
@@ -20,10 +20,13 @@
|
|
|
20
20
|
"build": "npm run build:ts-types && npm run build:ts && npm run build:browser",
|
|
21
21
|
"build:ts": "npm test && npx tsc",
|
|
22
22
|
"build:ts-types": "npx tsc --project tsconfig.d.json",
|
|
23
|
-
"build:browser": "
|
|
23
|
+
"build:browser": "npm run build:esbuild",
|
|
24
|
+
"build:esbuild": "node ./build-esbuild.js",
|
|
24
25
|
"start": "qcobjects-shell",
|
|
25
|
-
"test": "
|
|
26
|
-
"
|
|
26
|
+
"test:ts-types": "npx tsc --project ./tsconfig.jasmine.json ",
|
|
27
|
+
"test:jasmine": "npm run test:ts-types && npx ts-node --project ./tsconfig.jasmine.json ./node_modules/jasmine/bin/jasmine",
|
|
28
|
+
"test": "(npm run lint && npm run test:jasmine)",
|
|
29
|
+
"lint": "(npx -y eslint@latest src/**/*.ts --fix )",
|
|
27
30
|
"preversion": "npm cache verify && npm test",
|
|
28
31
|
"sync": "git add . && git commit -am ",
|
|
29
32
|
"postversion": "git push && git push --tags",
|
|
@@ -100,31 +103,31 @@
|
|
|
100
103
|
},
|
|
101
104
|
"homepage": "https://qcobjects.com",
|
|
102
105
|
"devDependencies": {
|
|
103
|
-
"@
|
|
104
|
-
"@
|
|
106
|
+
"@eslint/eslintrc": "^3.1.0",
|
|
107
|
+
"@eslint/js": "^9.13.0",
|
|
108
|
+
"@types/jasmine": "^5.1.4",
|
|
109
|
+
"@types/node": "^22.8.1",
|
|
105
110
|
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
|
106
111
|
"@typescript-eslint/parser": "^5.58.0",
|
|
107
|
-
"
|
|
112
|
+
"esbuild": "^0.24.0",
|
|
113
|
+
"esbuild-plugin-alias": "^0.2.1",
|
|
114
|
+
"eslint": "^8.57.1",
|
|
108
115
|
"eslint-config-prettier": "^8.10.0",
|
|
109
116
|
"eslint-config-semistandard": "^17.0.0",
|
|
110
117
|
"eslint-config-standard": "^17.1.0",
|
|
111
118
|
"eslint-plugin-import": "^2.27.5",
|
|
112
119
|
"eslint-plugin-n": "^15.7.0",
|
|
113
120
|
"eslint-plugin-promise": "^6.1.1",
|
|
121
|
+
"globals": "^15.11.0",
|
|
114
122
|
"hint": "^2.0.0",
|
|
123
|
+
"install": "^0.13.0",
|
|
115
124
|
"jasmine": "^3.7.0",
|
|
125
|
+
"ts-node": "^10.9.2",
|
|
116
126
|
"typescript": "^5.6.3",
|
|
117
|
-
"
|
|
118
|
-
"qcobjects-tsconfig": "^2.4.10"
|
|
127
|
+
"typescript-eslint": "^8.11.0"
|
|
119
128
|
},
|
|
120
|
-
"peerDependencies": {
|
|
121
|
-
"@types/qcobjects": "github:QCObjects/-types-qcobjects",
|
|
122
|
-
"@types/qcobjects-sdk": "github:QCObjects/-types-qcobjects-sdk",
|
|
123
|
-
"qcobjects-sdk": ">=2.4.64"
|
|
124
|
-
},
|
|
125
|
-
"dependencies": {},
|
|
126
129
|
"engines": {
|
|
127
130
|
"npm": ">=10",
|
|
128
|
-
"node": ">=
|
|
131
|
+
"node": ">=22"
|
|
129
132
|
}
|
|
130
133
|
}
|