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.
Files changed (197) hide show
  1. package/.hintrc +5 -0
  2. package/VERSION +1 -1
  3. package/build/ArrayCollection.js +136 -0
  4. package/build/BackendMicroservice.js +211 -0
  5. package/build/Base64.js +100 -0
  6. package/build/CONFIG.js +85 -0
  7. package/build/Cast.js +53 -0
  8. package/build/Class.js +284 -0
  9. package/build/ClassFactory.js +38 -0
  10. package/build/ComplexStorageCache.js +91 -0
  11. package/build/Component.js +1133 -0
  12. package/build/ComponentFactory.js +113 -0
  13. package/build/ConfigSettings.js +39 -0
  14. package/build/Controller.js +81 -0
  15. package/build/Crypt.js +87 -0
  16. package/build/DDO.js +81 -0
  17. package/build/DOMCreateElement.js +15 -0
  18. package/build/DataStringify.js +22 -0
  19. package/build/DefaultTemplateHandler.js +57 -0
  20. package/build/DocumentLayout.js +20 -0
  21. package/build/Effect.js +46 -0
  22. package/build/Export.js +11 -0
  23. package/build/Import.js +140 -0
  24. package/build/IncrementInstanceID.js +11 -0
  25. package/build/InheritClass.js +194 -0
  26. package/build/LegacyCopy.js +31 -0
  27. package/build/Logger.js +33 -0
  28. package/build/MainProcess.js +549 -0
  29. package/build/NamespaceRef.js +29 -0
  30. package/build/New.js +17 -0
  31. package/build/ObjectName.js +22 -0
  32. package/build/Package.js +67 -0
  33. package/build/PrimaryCollections.js +7 -0
  34. package/build/Processor.js +81 -0
  35. package/build/QCObjects.js +182 -4843
  36. package/build/Ready.js +49 -0
  37. package/build/RegisterClass.js +28 -0
  38. package/build/Service.js +112 -0
  39. package/build/SourceCSS.js +56 -0
  40. package/build/SourceJS.js +73 -0
  41. package/build/Tag.js +77 -0
  42. package/build/Timer.js +30 -0
  43. package/build/Toggle.js +59 -0
  44. package/build/TransitionEffect.js +65 -0
  45. package/build/VO.js +11 -0
  46. package/build/View.js +18 -0
  47. package/build/WidgetsFactory.js +537 -0
  48. package/build/assign.js +32 -0
  49. package/build/asyncLoad.js +43 -0
  50. package/build/basePath.js +32 -0
  51. package/build/captureFalseTouch.js +32 -0
  52. package/build/componentLoader.js +258 -0
  53. package/build/defaultProcessors.js +130 -0
  54. package/build/domain.js +4 -0
  55. package/build/findPackageNodePath.js +47 -0
  56. package/build/getType.js +38 -0
  57. package/build/globalSettings.js +115 -0
  58. package/build/index.d.ts +1045 -0
  59. package/build/index.js +24 -4
  60. package/build/index.mjs +1 -1
  61. package/build/introspection.js +86 -0
  62. package/build/isQCObjects.js +20 -0
  63. package/build/is_a.js +19 -0
  64. package/build/is_forbidden_name.js +15 -0
  65. package/build/is_raw_class.js +7 -0
  66. package/build/loadSDK.js +63 -0
  67. package/build/localStorage.js +19 -0
  68. package/build/make_global.js +24 -0
  69. package/build/mathFunctions.js +7 -0
  70. package/build/platform.js +28 -0
  71. package/build/range.js +17 -0
  72. package/build/routings.js +21 -0
  73. package/build/secretKey.js +5 -0
  74. package/build/serviceLoader.js +300 -0
  75. package/build/shortCode.js +14 -0
  76. package/build/subelements.js +8 -0
  77. package/build/super.js +20 -0
  78. package/build/tag_filter.js +4 -0
  79. package/build/top.js +23 -0
  80. package/build/uniqueID.js +5 -0
  81. package/build/waitUntil.js +31 -0
  82. package/build-esbuild.js +62 -0
  83. package/eslint.config.mjs +87 -0
  84. package/package.json +25 -22
  85. package/public/browser/index.js +6502 -0
  86. package/public/browser/index.js.map +7 -0
  87. package/public/cjs/index.cjs +6586 -0
  88. package/public/cjs/index.cjs.map +7 -0
  89. package/public/esm/index.mjs +6494 -0
  90. package/public/esm/index.mjs.map +7 -0
  91. package/spec/helpers/mock-sdk.helper.ts +5 -0
  92. package/spec/mocks/qcobjects-sdk.mock.ts +1 -0
  93. package/spec/support/jasmine.json +3 -3
  94. package/spec/testsClassFactorySpec.ts +40 -0
  95. package/spec/{testsConfigSpec.js → testsConfigSpec.ts} +2 -2
  96. package/spec/{testsGlobalFeaturesSpec.js → testsGlobalFeaturesSpec.ts} +10 -8
  97. package/spec/{testsSpec.js → testsSpec.ts} +11 -10
  98. package/spec/{testsTypeSpec.js → testsTypeSpec.ts} +5 -3
  99. package/src/ArrayCollection.ts +143 -0
  100. package/src/BackendMicroservice.ts +229 -0
  101. package/src/Base64.ts +92 -0
  102. package/src/CONFIG.ts +96 -0
  103. package/src/Cast.ts +46 -0
  104. package/src/Class.ts +303 -0
  105. package/src/ClassFactory.ts +34 -0
  106. package/src/ComplexStorageCache.ts +97 -0
  107. package/src/Component.ts +1222 -0
  108. package/src/ComponentFactory.ts +122 -0
  109. package/src/ConfigSettings.ts +62 -0
  110. package/src/Controller.ts +90 -0
  111. package/src/Crypt.ts +87 -0
  112. package/src/DDO.ts +93 -0
  113. package/src/DOMCreateElement.ts +12 -0
  114. package/src/DataStringify.ts +19 -0
  115. package/src/DefaultTemplateHandler.ts +55 -0
  116. package/src/DocumentLayout.ts +16 -0
  117. package/src/Effect.ts +56 -0
  118. package/src/Export.ts +8 -0
  119. package/src/Import.ts +135 -0
  120. package/src/IncrementInstanceID.ts +8 -0
  121. package/src/InheritClass.ts +210 -0
  122. package/src/LegacyCopy.ts +27 -0
  123. package/src/Logger.ts +32 -0
  124. package/src/MainProcess.ts +629 -0
  125. package/src/NamespaceRef.ts +26 -0
  126. package/src/New.ts +15 -0
  127. package/src/ObjectName.ts +16 -0
  128. package/src/Package.ts +67 -0
  129. package/src/PrimaryCollections.ts +7 -0
  130. package/src/Processor.ts +93 -0
  131. package/src/QCObjects.ts +100 -0
  132. package/src/Ready.ts +44 -0
  133. package/src/RegisterClass.ts +26 -0
  134. package/src/Service.ts +127 -0
  135. package/src/SourceCSS.ts +59 -0
  136. package/src/SourceJS.ts +76 -0
  137. package/src/Tag.ts +76 -0
  138. package/src/Timer.ts +42 -0
  139. package/src/Toggle.ts +65 -0
  140. package/src/TransitionEffect.ts +80 -0
  141. package/src/VO.ts +8 -0
  142. package/src/View.ts +17 -0
  143. package/src/WidgetsFactory.ts +543 -0
  144. package/src/assign.ts +33 -0
  145. package/src/asyncLoad.ts +42 -0
  146. package/src/basePath.ts +29 -0
  147. package/src/captureFalseTouch.ts +29 -0
  148. package/src/componentLoader.ts +252 -0
  149. package/src/defaultProcessors.ts +145 -0
  150. package/src/domain.ts +1 -0
  151. package/src/findPackageNodePath.ts +43 -0
  152. package/src/getType.ts +36 -0
  153. package/src/globalSettings.ts +118 -0
  154. package/src/index.mts +1 -1
  155. package/src/index.ts +1 -1
  156. package/src/introspection.ts +80 -0
  157. package/src/isQCObjects.ts +19 -0
  158. package/src/is_a.ts +16 -0
  159. package/src/is_forbidden_name.ts +12 -0
  160. package/src/is_raw_class.ts +3 -0
  161. package/src/loadSDK.ts +59 -0
  162. package/src/localStorage.ts +17 -0
  163. package/src/make_global.ts +19 -0
  164. package/src/mathFunctions.ts +3 -0
  165. package/src/platform.ts +30 -0
  166. package/src/range.ts +15 -0
  167. package/src/routings.ts +18 -0
  168. package/src/secretKey.ts +3 -0
  169. package/src/serviceLoader.ts +306 -0
  170. package/src/shortCode.ts +11 -0
  171. package/src/subelements.ts +4 -0
  172. package/src/super.ts +17 -0
  173. package/src/tag_filter.ts +1 -0
  174. package/src/top.ts +111 -0
  175. package/src/types/global/index.d.ts +597 -0
  176. package/src/uniqueID.ts +3 -0
  177. package/src/waitUntil.ts +26 -0
  178. package/tsconfig.d.json +35 -8
  179. package/tsconfig.jasmine.json +39 -0
  180. package/tsconfig.json +46 -12
  181. package/.eslintignore +0 -5
  182. package/.eslintrc.cjs +0 -21
  183. package/.eslintrc.json +0 -24
  184. package/browser/QCObjects.js +0 -2
  185. package/browser/QCObjects.js.map +0 -7
  186. package/browser/chunks/chunk-O2PFFZVJ.js +0 -713
  187. package/browser/chunks/chunk-O2PFFZVJ.js.map +0 -7
  188. package/browser/chunks/chunk-TBLBK5VV.js +0 -713
  189. package/browser/chunks/chunk-TBLBK5VV.js.map +0 -7
  190. package/browser/chunks/chunk-ZYLXOA35.js +0 -713
  191. package/browser/chunks/chunk-ZYLXOA35.js.map +0 -7
  192. package/browser/index.js +0 -2
  193. package/browser/index.js.map +0 -7
  194. package/spec/testsClassFactorySpec.js +0 -41
  195. package/src/QCObjects.js +0 -5247
  196. package/src/index.d.ts +0 -8
  197. 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
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._tag_filter_ = void 0;
4
+ exports._tag_filter_ = "quick-component:not([loaded]),component:not([loaded])";
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,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uniqueId = void 0;
4
+ const shortCode_1 = require("./shortCode");
5
+ exports.uniqueId = shortCode_1.shortCode;
@@ -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;
@@ -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.105-ts",
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": "build/index.cjs",
6
- "module": "build/index.mjs",
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": "./build/index.cjs",
13
- "import": "./build/index.mjs",
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": "npx -y esbuild@0.17.19 build/*.js --bundle --outdir=browser --keep-names --minify --global-name=global --sourcemap --splitting --chunk-names=chunks/[name]-[hash] --format=esm --target=es2021",
23
+ "build:browser": "npm run build:esbuild",
24
+ "build:esbuild": "node ./build-esbuild.js",
24
25
  "start": "qcobjects-shell",
25
- "test": "(npm run lint && (npx jasmine))",
26
- "lint": "(npx -y eslint@8.40.0 src/**/*.ts --fix --ext ts)",
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
- "@types/qcobjects": "github:QCObjects/-types-qcobjects",
104
- "@types/qcobjects-sdk": "github:QCObjects/-types-qcobjects-sdk",
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
- "eslint": "^8.40.0",
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
- "qcobjects-sdk": "^2.4.66",
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": ">=20"
131
+ "node": ">=22"
129
132
  }
130
133
  }