incremental-compiler 19.0.10 → 19.0.11

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 (61) hide show
  1. package/browser/package.json +1 -1
  2. package/client/package.json +1 -1
  3. package/lib/build-info._auto-generated_.d.ts +1 -1
  4. package/lib/build-info._auto-generated_.js +1 -1
  5. package/package.json +1 -1
  6. package/tmp-environment.json +3 -3
  7. package/websql/package.json +1 -1
  8. package/browser/esm2022/incremental-compiler.mjs +0 -5
  9. package/browser/esm2022/lib/base-client-compiler.mjs +0 -300
  10. package/browser/esm2022/lib/change-of-file.mjs +0 -16
  11. package/browser/esm2022/lib/compiler-manager.mjs +0 -216
  12. package/browser/esm2022/lib/constants.mjs +0 -18
  13. package/browser/esm2022/lib/incremental-watcher/incremental-watcher-events.mjs +0 -2
  14. package/browser/esm2022/lib/incremental-watcher/incremental-watcher-instance.mjs +0 -2
  15. package/browser/esm2022/lib/incremental-watcher/incremental-watcher-options.mjs +0 -2
  16. package/browser/esm2022/lib/incremental-watcher/incremental-watcher.mjs +0 -47
  17. package/browser/esm2022/lib/incremental-watcher/index.mjs +0 -4
  18. package/browser/esm2022/lib/index.mjs +0 -24
  19. package/browser/esm2022/lib/models.mjs +0 -2
  20. package/browser/esm2022/public-api.mjs +0 -2
  21. package/client/esm2022/incremental-compiler.mjs +0 -5
  22. package/client/esm2022/lib/base-client-compiler.mjs +0 -300
  23. package/client/esm2022/lib/change-of-file.mjs +0 -16
  24. package/client/esm2022/lib/compiler-manager.mjs +0 -216
  25. package/client/esm2022/lib/constants.mjs +0 -18
  26. package/client/esm2022/lib/incremental-watcher/incremental-watcher-events.mjs +0 -2
  27. package/client/esm2022/lib/incremental-watcher/incremental-watcher-instance.mjs +0 -2
  28. package/client/esm2022/lib/incremental-watcher/incremental-watcher-options.mjs +0 -2
  29. package/client/esm2022/lib/incremental-watcher/incremental-watcher.mjs +0 -47
  30. package/client/esm2022/lib/incremental-watcher/index.mjs +0 -4
  31. package/client/esm2022/lib/index.mjs +0 -24
  32. package/client/esm2022/lib/models.mjs +0 -2
  33. package/client/esm2022/public-api.mjs +0 -2
  34. package/lib/base-client-compiler.backend.d.ts +0 -56
  35. package/lib/base-client-compiler.backend.js +0 -325
  36. package/lib/base-client-compiler.backend.js.map +0 -1
  37. package/lib/change-of-file.backend.d.ts +0 -8
  38. package/lib/change-of-file.backend.js +0 -25
  39. package/lib/change-of-file.backend.js.map +0 -1
  40. package/lib/compiler-manager.backend.d.ts +0 -16
  41. package/lib/compiler-manager.backend.js +0 -213
  42. package/lib/compiler-manager.backend.js.map +0 -1
  43. package/lib/decorators.backend.d.ts +0 -5
  44. package/lib/decorators.backend.js +0 -56
  45. package/lib/decorators.backend.js.map +0 -1
  46. package/lib/helpers.backend.d.ts +0 -3
  47. package/lib/helpers.backend.js +0 -31
  48. package/lib/helpers.backend.js.map +0 -1
  49. package/websql/esm2022/incremental-compiler.mjs +0 -5
  50. package/websql/esm2022/lib/base-client-compiler.mjs +0 -300
  51. package/websql/esm2022/lib/change-of-file.mjs +0 -16
  52. package/websql/esm2022/lib/compiler-manager.mjs +0 -216
  53. package/websql/esm2022/lib/constants.mjs +0 -18
  54. package/websql/esm2022/lib/incremental-watcher/incremental-watcher-events.mjs +0 -2
  55. package/websql/esm2022/lib/incremental-watcher/incremental-watcher-instance.mjs +0 -2
  56. package/websql/esm2022/lib/incremental-watcher/incremental-watcher-options.mjs +0 -2
  57. package/websql/esm2022/lib/incremental-watcher/incremental-watcher.mjs +0 -47
  58. package/websql/esm2022/lib/incremental-watcher/index.mjs +0 -4
  59. package/websql/esm2022/lib/index.mjs +0 -24
  60. package/websql/esm2022/lib/models.mjs +0 -2
  61. package/websql/esm2022/public-api.mjs +0 -2
@@ -1,213 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompilerManager = void 0;
4
- var tslib_1 = require("tslib");
5
- //#region imports
6
- //#region @backend
7
- var tnp_core_1 = require("tnp-core");
8
- //#endregion
9
- var tnp_core_2 = require("tnp-core");
10
- var tnp_helpers_1 = require("tnp-helpers");
11
- var change_of_file_backend_1 = require("./change-of-file.backend");
12
- var constants_1 = require("./constants");
13
- var incremental_watcher_1 = require("./incremental-watcher");
14
- //#region for debugging purpose...
15
- // require('colors');
16
- // const Diff = require('diff');
17
- //#endregion
18
- //#endregion
19
- var ignoreByDefault = ['**/node_modules/**/*.*', '**/node_modules'];
20
- var CompilerManager = /** @class */ (function () {
21
- //#endregion
22
- //#region constructor
23
- function CompilerManager() {
24
- //#endregion
25
- //#endregion
26
- //#region fields & getters
27
- this.clients = [];
28
- this.inited = false;
29
- this.filesContentCache = {};
30
- }
31
- Object.defineProperty(CompilerManager, "Instance", {
32
- get: function () {
33
- if (!this._instance) {
34
- this._instance = new CompilerManager();
35
- }
36
- return this._instance;
37
- },
38
- enumerable: false,
39
- configurable: true
40
- });
41
- //#endregion
42
- //#region methods / sync init
43
- CompilerManager.prototype.syncInit = function (client, initalParams) {
44
- return tslib_1.__awaiter(this, void 0, void 0, function () {
45
- var files, index, absFilePath, fileShouldBeCached;
46
- return tslib_1.__generator(this, function (_a) {
47
- switch (_a.label) {
48
- case 0:
49
- files = [];
50
- if (tnp_core_2._.isArray(client.folderPath) && client.folderPath.length > 0) {
51
- files = client.folderPath
52
- .reduce(function (folderOrFileA, folderOrFileB) {
53
- folderOrFileB = (0, tnp_core_2.crossPlatformPath)(folderOrFileB);
54
- var filesFromB = [folderOrFileB];
55
- if (tnp_core_1.fse.existsSync(folderOrFileB) &&
56
- tnp_core_1.fse.lstatSync(folderOrFileB).isDirectory()) {
57
- debugger;
58
- var globPath = "".concat(folderOrFileB, "/**/*.*");
59
- var ignore = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(ignoreByDefault), false), tslib_1.__read(client.ignoreFolderPatter), false);
60
- // console.log({ ignore });
61
- filesFromB = tnp_core_1.fg.sync(globPath, {
62
- // ! TODO QUICK_FIX for v18 @LAST
63
- // symlinks: client.followSymlinks as any,
64
- followSymbolicLinks: client.followSymlinks,
65
- ignore: ignore,
66
- dot: true,
67
- });
68
- // console.log({
69
- // globPath,
70
- // globIgnore,
71
- // GENERATEDFILES: filesFromB.length
72
- // })
73
- }
74
- return folderOrFileA.concat(filesFromB);
75
- }, [])
76
- .filter(function (f) {
77
- if (client.subscribeOnlyFor.length > 0) {
78
- return client.subscribeOnlyFor.includes(tnp_core_2.path.extname(f).replace('.', ''));
79
- }
80
- return true;
81
- });
82
- }
83
- // console.log(`Files for client.folderPath: ${client.folderPath} client.followSymlinks: ${client.followSymlinks}`)
84
- for (index = 0; index < files.length; index++) {
85
- absFilePath = files[index];
86
- fileShouldBeCached = this.fileShouldBeChecked(absFilePath, client);
87
- if (fileShouldBeCached) {
88
- this.filesContentCache[absFilePath] = (tnp_helpers_1.Helpers.readFile(absFilePath) || '').trim();
89
- }
90
- }
91
- return [4 /*yield*/, client.syncAction(files, initalParams)];
92
- case 1:
93
- _a.sent();
94
- return [2 /*return*/];
95
- }
96
- });
97
- });
98
- };
99
- //#endregion
100
- //#region methods / async init
101
- CompilerManager.prototype.asyncInit = function (client, initialParams) {
102
- return tslib_1.__awaiter(this, void 0, void 0, function () {
103
- var watchers, ignored, watcher;
104
- var _this = this;
105
- return tslib_1.__generator(this, function (_a) {
106
- switch (_a.label) {
107
- case 0:
108
- watchers = [];
109
- ignored = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(ignoreByDefault), false), tslib_1.__read(client.ignoreFolderPatter), false);
110
- return [4 /*yield*/, (0, incremental_watcher_1.incrementalWatcher)(client.filesToWatch(), tslib_1.__assign({ name: "[incremental-compiler watcher for ".concat(client.taskName, "]"), ignoreInitial: true, followSymlinks: client.followSymlinks, ignored: ignored }, constants_1.COMPILER_POOLING))];
111
- case 1:
112
- watcher = (_a.sent()).on('all', function (event, absoluteFilePath) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
113
- return tslib_1.__generator(this, function (_a) {
114
- switch (_a.label) {
115
- case 0:
116
- // console.log(`[ic] event ${event}, path: ${absoluteFilePath}`);
117
- return [4 /*yield*/, this.actionForAsyncEvent(event, absoluteFilePath, client, initialParams)];
118
- case 1:
119
- // console.log(`[ic] event ${event}, path: ${absoluteFilePath}`);
120
- _a.sent();
121
- return [2 /*return*/];
122
- }
123
- });
124
- }); });
125
- watchers.push(watcher);
126
- return [2 /*return*/];
127
- }
128
- });
129
- });
130
- };
131
- CompilerManager.prototype.actionForAsyncEvent = function (event, absoluteFilePath, client, initalParams) {
132
- return tslib_1.__awaiter(this, void 0, void 0, function () {
133
- var proceeedWithAsyncChange, fileShouldBeCached, currentContent, change;
134
- return tslib_1.__generator(this, function (_a) {
135
- switch (_a.label) {
136
- case 0:
137
- absoluteFilePath = (0, tnp_core_2.crossPlatformPath)(absoluteFilePath);
138
- if (event === 'addDir') {
139
- return [2 /*return*/];
140
- }
141
- if (client.lastAsyncFiles.includes(absoluteFilePath)) {
142
- return [2 /*return*/];
143
- }
144
- else {
145
- client.lastAsyncFiles.push(absoluteFilePath);
146
- }
147
- // console.log(`[ic] final event ${event}, path: ${absoluteFilePath}`, 1);
148
- // console.log('this.clients', this.clients.map(c => c.key))
149
- if (event === 'unlink' && !client.notifyOnFileUnlink) {
150
- return [2 /*return*/];
151
- }
152
- proceeedWithAsyncChange = true;
153
- fileShouldBeCached = this.fileShouldBeChecked(absoluteFilePath, client);
154
- if (!(fileShouldBeCached && event === 'change')) return [3 /*break*/, 2];
155
- return [4 /*yield*/, tnp_helpers_1.Helpers.tryReadFile(absoluteFilePath)];
156
- case 1:
157
- currentContent = ((_a.sent()) || '').trim();
158
- if (currentContent === this.filesContentCache[absoluteFilePath]) {
159
- // console.log('FILE THE SAME ' + absoluteFilePath)
160
- proceeedWithAsyncChange = false;
161
- }
162
- else {
163
- this.filesContentCache[absoluteFilePath] = currentContent;
164
- }
165
- _a.label = 2;
166
- case 2:
167
- if (!proceeedWithAsyncChange) return [3 /*break*/, 6];
168
- change = new change_of_file_backend_1.ChangeOfFile(absoluteFilePath, event);
169
- if (!this.asyncEventScenario) return [3 /*break*/, 4];
170
- return [4 /*yield*/, this.asyncEventScenario(change)];
171
- case 3:
172
- _a.sent();
173
- _a.label = 4;
174
- case 4: return [4 /*yield*/, client.asyncAction(change, initalParams)];
175
- case 5:
176
- _a.sent();
177
- _a.label = 6;
178
- case 6:
179
- client.lastAsyncFiles = client.lastAsyncFiles.filter(function (ef) { return ef !== absoluteFilePath; });
180
- return [2 /*return*/];
181
- }
182
- });
183
- });
184
- };
185
- //#endregion
186
- //#region methods / add client
187
- CompilerManager.prototype.addClient = function (client) {
188
- // console.log(`Cilent added "${client.key}" folders`, client.folderPath)
189
- var existed = this.clients.find(function (c) { return c === client; });
190
- if (existed) {
191
- tnp_helpers_1.Helpers.log("Task \"".concat(client.taskName, "\" alread added")); // TODO @LAST
192
- }
193
- this.clients.push(client);
194
- };
195
- //#endregion
196
- //#region private methods / prevent already inited
197
- CompilerManager.prototype.preventAlreadyInited = function () {
198
- if (this.inited) {
199
- tnp_helpers_1.Helpers.error("Please init Compiler Manager only once:\n CompilerManager.Instance.initScenario( ... async scenario ... );\n ", false, true);
200
- }
201
- };
202
- //#endregion
203
- //#region private methods / file should be checked
204
- CompilerManager.prototype.fileShouldBeChecked = function (absFilePath, client) {
205
- var fileShouldBeCached = !tnp_core_2._.isUndefined(client.folderPathContentCheck.find(function (patterFolder) {
206
- return (0, tnp_core_2.crossPlatformPath)(absFilePath).startsWith((0, tnp_core_2.crossPlatformPath)(patterFolder));
207
- }));
208
- return fileShouldBeCached;
209
- };
210
- return CompilerManager;
211
- }());
212
- exports.CompilerManager = CompilerManager;
213
- //# sourceMappingURL=compiler-manager.backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compiler-manager.backend.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/incremental-compiler/src/lib/compiler-manager.backend.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare function AsyncAction(): (target: object, propertyKey: string, propertyDescriptor: PropertyDescriptor) => void;
2
- export interface IncCompilerClassOptions {
3
- className: string;
4
- }
5
- export declare function IncCompilerClass(options: IncCompilerClassOptions): (target: any) => void;
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AsyncAction = AsyncAction;
4
- exports.IncCompilerClass = IncCompilerClass;
5
- //#region imports
6
- var typescript_class_helpers_1 = require("typescript-class-helpers");
7
- var tnp_core_1 = require("tnp-core");
8
- var change_of_file_backend_1 = require("./change-of-file.backend");
9
- var tnp_core_2 = require("tnp-core");
10
- //#endregion
11
- function AsyncAction() {
12
- return function (target, propertyKey, propertyDescriptor) {
13
- // get original method
14
- // unsub(void 0, void 0);
15
- var originalMethod = propertyDescriptor.value;
16
- // redefine descriptor value within own function block
17
- propertyDescriptor.value = function () {
18
- var _this = this;
19
- var args = [];
20
- for (var _i = 0; _i < arguments.length; _i++) {
21
- args[_i] = arguments[_i];
22
- }
23
- // log arguments before original function
24
- // console.log(`${propertyKey} method called with args: ${JSON.stringify(args, null, 2)}`);
25
- var first = tnp_core_1._.first(args);
26
- if (first instanceof change_of_file_backend_1.ChangeOfFile) {
27
- var ex = first.clientsForChange.find(function (f) {
28
- // console.log(`${CLASS.getNameFromObject(f)} === ${CLASS.getNameFromObject(this)}`)
29
- return typescript_class_helpers_1.CLASS.getNameFromObject(f) === typescript_class_helpers_1.CLASS.getNameFromObject(_this);
30
- });
31
- // console.log('ex', ex)
32
- if (ex) {
33
- first.executedFor.push(ex);
34
- // console.log(`HHHH!!!!! Async Method called fror ${CLASS.getNameFromObject(this)}`);
35
- }
36
- }
37
- // attach original method implementation
38
- var result = originalMethod.apply(this, args);
39
- // log result of method
40
- // console.log(`${propertyKey} method return value: ${JSON.stringify(result)}`);
41
- return result;
42
- };
43
- };
44
- }
45
- var instancesNames = [];
46
- function IncCompilerClass(options) {
47
- return function (target) {
48
- var className = options.className;
49
- if (instancesNames.includes(className)) {
50
- tnp_core_2.Helpers.warn("Compiler class \"".concat(className, "\" already has instance."), false);
51
- }
52
- instancesNames.push(className);
53
- typescript_class_helpers_1.CLASS.NAME(className)(target);
54
- };
55
- }
56
- //# sourceMappingURL=decorators.backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.backend.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/incremental-compiler/src/lib/decorators.backend.ts"],"names":[],"mappings":";;AAOA,kCAgCC;AAQD,4CASC;AAxDD,iBAAiB;AACjB,qEAAiD;AACjD,qCAA6B;AAC7B,mEAAwD;AACxD,qCAAmC;AACnC,YAAY;AAEZ,SAAgB,WAAW;IACzB,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,kBAAsC;QAEtC,sBAAsB;QACtB,yBAAyB;QACzB,IAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAChD,sDAAsD;QACtD,kBAAkB,CAAC,KAAK,GAAG;YAAA,iBAoB1B;YApBoC,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YACjD,yCAAyC;YACzC,+FAA+F;YAC/F,IAAM,KAAK,GAAG,YAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,KAAK,YAAY,qCAAY,EAAE,CAAC;gBAClC,IAAM,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAA,CAAC;oBACtC,oFAAoF;oBACpF,OAAO,gCAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,gCAAK,CAAC,iBAAiB,CAAC,KAAI,CAAC,CAAA;gBACrE,CAAC,CAAC,CAAC;gBACH,wBAAwB;gBACxB,IAAI,EAAE,EAAE,CAAC;oBACP,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC3B,sFAAsF;gBACxF,CAAC;YACH,CAAC;YACD,wCAAwC;YACxC,IAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,uBAAuB;YACvB,iFAAiF;YACjF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAOD,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,SAAgB,gBAAgB,CAAC,OAAgC;IAC/D,OAAO,UAAC,MAAM;QACJ,IAAA,SAAS,GAAK,OAAO,UAAZ,CAAa;QAC9B,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,kBAAO,CAAC,IAAI,CAAC,2BAAmB,SAAS,6BAAyB,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,gCAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import { BaseClientCompiler } from './base-client-compiler.backend';
2
- export declare function mapForWatching(c: string): string[];
3
- export declare function clientsBy<T = BaseClientCompiler>(clientNameOrClass: string | Function, condition: (c: T) => boolean, clients: BaseClientCompiler[]): T[];
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapForWatching = mapForWatching;
4
- exports.clientsBy = clientsBy;
5
- var tnp_core_1 = require("tnp-core");
6
- var typescript_class_helpers_1 = require("typescript-class-helpers");
7
- //#endregion
8
- function mapForWatching(c) {
9
- if (tnp_core_1.fse.existsSync(c) && tnp_core_1.fse.lstatSync(c).isDirectory()) {
10
- return [c, "".concat(c, "/**/*.*")];
11
- }
12
- return [c];
13
- }
14
- function clientsBy(clientNameOrClass, condition, clients) {
15
- if (tnp_core_1._.isFunction(clientNameOrClass)) {
16
- clientNameOrClass = typescript_class_helpers_1.CLASS.getName(clientNameOrClass);
17
- }
18
- return clients.filter(function (cinstance) {
19
- var classesOk = (typescript_class_helpers_1.CLASS.getNameFromObject(cinstance) === clientNameOrClass);
20
- if (classesOk) {
21
- if (tnp_core_1._.isFunction(condition)) {
22
- return !!condition(cinstance);
23
- }
24
- else {
25
- return true;
26
- }
27
- }
28
- return false;
29
- });
30
- }
31
- //# sourceMappingURL=helpers.backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.backend.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/incremental-compiler/src/lib/helpers.backend.ts"],"names":[],"mappings":";;AASA,wCAKC;AAED,8BAkBC;AA9BD,qCAAkC;AAElC,qEAAiD;AACjD,YAAY;AAEZ,SAAgB,cAAc,CAAC,CAAS;IACtC,IAAI,cAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,cAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACxD,OAAO,CAAC,CAAC,EAAE,UAAG,CAAC,YAAS,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,SAAS,CAAyB,iBAAoC,EACpF,SAA4B,EAAE,OAA6B;IAE3D,IAAI,YAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpC,iBAAiB,GAAG,gCAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,UAAA,SAAS;QAC7B,IAAM,SAAS,GAAG,CAAC,gCAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,iBAAiB,CAAC,CAAC;QAC7E,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,YAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,CAAC,SAAS,CAAC,SAAgB,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAQ,CAAC;AACZ,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jcmVtZW50YWwtY29tcGlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvaW5jcmVtZW50YWwtY29tcGlsZXIvcHJvamVjdHMvaW5jcmVtZW50YWwtY29tcGlsZXIvc3JjL2luY3JlbWVudGFsLWNvbXBpbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,300 +0,0 @@
1
- //#region imports
2
- /* */
3
- /* */
4
- import { _ } from 'tnp-core/websql';
5
- //#endregion
6
- export class BaseClientCompiler {
7
- constructor() {
8
- this.subscribeOnlyFor = [];
9
- /* */
10
- /* */
11
- this.pathResolve = false;
12
- this.initedWithOptions = false;
13
- this.__folderPath = [];
14
- this.lastAsyncFiles = [];
15
- this._folderPathContentCheck = [];
16
- this.isWatchCompilation = false;
17
- //#endregion
18
- this.onlySingleRun = true;
19
- //#endregion
20
- }
21
- //#endregion
22
- //#region getters & setteres
23
- //#region getters & setteres / is inited
24
- get isInited() {
25
- return this.initedWithOptions;
26
- }
27
- //#endregion
28
- //#region getters & setteres / folder path content check
29
- get folderPathContentCheck() {
30
- return this._folderPathContentCheck;
31
- }
32
- set folderPathContentCheck(v) {
33
- this._folderPathContentCheck = v;
34
- }
35
- //#endregion
36
- //#region getters & setteres / folder path
37
- set folderPath(v) {
38
- if (_.isString(v)) {
39
- v = [v];
40
- }
41
- this.__folderPath = v;
42
- }
43
- get folderPath() {
44
- /* */
45
- /* */
46
- /* */
47
- /* */
48
- /* */
49
- /* */
50
- /* */
51
- /* */
52
- /* */
53
- /* */
54
- /* */
55
- /* */
56
- /* */
57
- /* */
58
- /* */
59
- /* */
60
- /* */
61
- return (void 0);
62
- }
63
- //#endregion
64
- //#endregion
65
- //#region constructor
66
- /* */
67
- /* */
68
- /* */
69
- /* */
70
- /* */
71
- /* */
72
- /* */
73
- /* */
74
- /* */
75
- /* */
76
- /* */
77
- /* */
78
- //#endregion
79
- //#region / init options
80
- /**
81
- * manually init options (when no passing object to constructor super() )
82
- */
83
- initOptions(options) {
84
- /* */
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- /* */
93
- /* */
94
- /* */
95
- /* */
96
- /* */
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- return (void 0);
102
- }
103
- //#region api methods / start
104
- /**
105
- * do not override this
106
- */
107
- async runTask(options) {
108
- /* */
109
- /* */
110
- /* */
111
- /* */
112
- /* */
113
- /* */
114
- /* */
115
- /* */
116
- return (void 0);
117
- }
118
- //#region api methods / start
119
- /**
120
- * @deprecated use runTask instead
121
- * Do not override this
122
- */
123
- async start(options) {
124
- /* */
125
- /* */
126
- /* */
127
- /* */
128
- /* */
129
- /* */
130
- /* */
131
- /* */
132
- /* */
133
- /* */
134
- /* */
135
- /* */
136
- /* */
137
- /* */
138
- /* */
139
- /* */
140
- /* */
141
- /* */
142
- /* */
143
- /* */
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- /* */
150
- /* */
151
- /* */
152
- /* */
153
- /* */
154
- return (void 0);
155
- }
156
- //#endregion
157
- //#region api methods / start and watch
158
- /**
159
- * @deprecated use runTask instead
160
- * Do not override this
161
- */
162
- async startAndWatch(options) {
163
- /* */
164
- /* */
165
- /* */
166
- /* */
167
- /* */
168
- /* */
169
- /* */
170
- /* */
171
- /* */
172
- /* */
173
- /* */
174
- /* */
175
- /* */
176
- /* */
177
- /* */
178
- /* */
179
- /* */
180
- /* */
181
- /* */
182
- /* */
183
- /* */
184
- /* */
185
- /* */
186
- /* */
187
- /* */
188
- /* */
189
- /* */
190
- /* */
191
- /* */
192
- /* */
193
- /* */
194
- /* */
195
- /* */
196
- /* */
197
- /* */
198
- /* */
199
- /* */
200
- /* */
201
- /* */
202
- return (void 0);
203
- }
204
- //#endregion
205
- //#region api methods / sync action
206
- /**
207
- *
208
- * @param absolteFilesPathes for each watched file
209
- * @returns
210
- */
211
- syncAction(absolteFilesPathes, initialParams) {
212
- return void 0;
213
- }
214
- //#endregion
215
- //#region api methods / pre async action
216
- async preAsyncAction(initialParams) { }
217
- //#endregion
218
- //#region api methods / async action
219
- asyncAction(asyncEvents, initialParams) {
220
- return void 0;
221
- }
222
- //#endregion
223
- //#endregion
224
- //#region private methods
225
- //#region private methods / _init
226
- _init(options) {
227
- /* */
228
- /* */
229
- /* */
230
- /* */
231
- /* */
232
- /* */
233
- /* */
234
- /* */
235
- /* */
236
- /* */
237
- /* */
238
- /* */
239
- /* */
240
- /* */
241
- /* */
242
- /* */
243
- /* */
244
- /* */
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- /* */
251
- /* */
252
- /* */
253
- /* */
254
- /* */
255
- /* */
256
- /* */
257
- /* */
258
- /* */
259
- /* */
260
- /* */
261
- /* */
262
- /* */
263
- return (void 0);
264
- }
265
- //#endregion
266
- //#region private methods / fix task name
267
- fixTaskName(taskName) {
268
- if (!_.isString(taskName)) {
269
- taskName = `task "${this.taskName}"`;
270
- }
271
- return taskName;
272
- }
273
- //#endregion
274
- filesToWatch() {
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- /* */
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- return (void 0);
290
- }
291
- mapForWatching(c) {
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- /* */
297
- return (void 0);
298
- }
299
- }
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jbGllbnQtY29tcGlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvaW5jcmVtZW50YWwtY29tcGlsZXIvcHJvamVjdHMvaW5jcmVtZW50YWwtY29tcGlsZXIvc3JjL2xpYi9iYXNlLWNsaWVudC1jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakIsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQVEsQ0FBQyxFQUFxQixNQUFNLGlCQUFpQixDQUFDO0FBTzdELFlBQVk7QUFFWixNQUFNLE9BQU8sa0JBQWtCO0lBQS9CO1FBS2tCLHFCQUFnQixHQUErQixFQUFFLENBQUM7UUFLcEUsS0FBSztRQUNMLEtBQUs7UUFFSyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFDN0IsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDN0IsNEJBQXVCLEdBQWEsRUFBRSxDQUFDO1FBQy9DLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQTRGcEMsWUFBWTtRQUVGLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBOE4vQixZQUFZO0lBQ2QsQ0FBQztJQTNUQyxZQUFZO0lBRVosNEJBQTRCO0lBRTVCLHdDQUF3QztJQUN4QyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsWUFBWTtJQUVaLHdEQUF3RDtJQUN4RCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBWSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELFlBQVk7SUFFWiwwQ0FBMEM7SUFDMUMsSUFBVyxVQUFV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QyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDMUIsUUFBUSxHQUFHLFNBQVMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsWUFBWTtJQUVaLFlBQVk7UUFDZCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFTyxjQUFjLENBQUMsQ0FBUztRQUNsQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBpbXBvcnRzXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBwYXRoLCBfLCBjcm9zc1BsYXRmb3JtUGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBDaGFuZ2VPZkZpbGUgfSBmcm9tICcuL2NoYW5nZS1vZi1maWxlJztcbmltcG9ydCB7IENvbXBpbGVyTWFuYWdlciB9IGZyb20gJy4vY29tcGlsZXItbWFuYWdlcic7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IENMSSB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBDb3JlTW9kZWxzIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbi8vI2VuZHJlZ2lvblxuXG5leHBvcnQgY2xhc3MgQmFzZUNsaWVudENvbXBpbGVyPElOSVRJQUxfUEFSQU1TID0gYW55PlxuICBpbXBsZW1lbnRzIE1vZGVscy5CYXNlQ2xpZW50Q29tcGlsZXJPcHRpb25zXG57XG4gIC8vI3JlZ2lvbiBmaWVsZHNcbiAgcHVibGljIHJlYWRvbmx5IGZvbGxvd1N5bWxpbmtzOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgc3Vic2NyaWJlT25seUZvcjogQ29yZU1vZGVscy5GaWxlRXh0ZW5zaW9uW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGV4ZWN1dGVPdXRzaWRlU2NlbmFyaW86IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSB0YXNrTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgaWdub3JlRm9sZGVyUGF0dGVyPzogc3RyaW5nW107XG4gIHB1YmxpYyByZWFkb25seSBub3RpZnlPbkZpbGVVbmxpbms6IGJvb2xlYW47XG4vKiAqL1xuLyogKi9cbiAgXG4gIHByaXZhdGUgcGF0aFJlc29sdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBpbml0ZWRXaXRoT3B0aW9ucyA9IGZhbHNlO1xuICBwcml2YXRlIF9fZm9sZGVyUGF0aDogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGxhc3RBc3luY0ZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIF9mb2xkZXJQYXRoQ29udGVudENoZWNrOiBzdHJpbmdbXSA9IFtdO1xuICBpc1dhdGNoQ29tcGlsYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gZ2V0dGVycyAmIHNldHRlcmVzXG5cbiAgLy8jcmVnaW9uIGdldHRlcnMgJiBzZXR0ZXJlcyAvIGlzIGluaXRlZFxuICBnZXQgaXNJbml0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGVkV2l0aE9wdGlvbnM7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGdldHRlcnMgJiBzZXR0ZXJlcyAvIGZvbGRlciBwYXRoIGNvbnRlbnQgY2hlY2tcbiAgZ2V0IGZvbGRlclBhdGhDb250ZW50Q2hlY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvbGRlclBhdGhDb250ZW50Q2hlY2s7XG4gIH1cbiAgcHJpdmF0ZSBzZXQgZm9sZGVyUGF0aENvbnRlbnRDaGVjayh2KSB7XG4gICAgdGhpcy5fZm9sZGVyUGF0aENvbnRlbnRDaGVjayA9IHY7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGdldHRlcnMgJiBzZXR0ZXJlcyAvIGZvbGRlciBwYXRoXG4gIHB1YmxpYyBzZXQgZm9sZGVyUGF0aCh2KSB7XG4gICAgaWYgKF8uaXNTdHJpbmcodikpIHtcbiAgICAgIHYgPSBbdl07XG4gICAgfVxuICAgIHRoaXMuX19mb2xkZXJQYXRoID0gdjtcbiAgfVxuICBwdWJsaWMgZ2V0IGZvbGRlclBhdGgoKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBjb25zdHJ1Y3RvclxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC8gaW5pdCBvcHRpb25zXG4gIC8qKlxuICAgKiBtYW51YWxseSBpbml0IG9wdGlvbnMgKHdoZW4gbm8gcGFzc2luZyBvYmplY3QgdG8gY29uc3RydWN0b3Igc3VwZXIoKSApXG4gICAqL1xuICBwcm90ZWN0ZWQgaW5pdE9wdGlvbnMob3B0aW9ucz86IE1vZGVscy5CYXNlQ2xpZW50Q29tcGlsZXJPcHRpb25zKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgcHJvdGVjdGVkIG9ubHlTaW5nbGVSdW4gPSB0cnVlO1xuXG4gIC8vI3JlZ2lvbiBhcGkgbWV0aG9kcyAvIHN0YXJ0XG4gIC8qKlxuICAgKiBkbyBub3Qgb3ZlcnJpZGUgdGhpc1xuICAgKi9cbiAgYXN5bmMgcnVuVGFzayhcbiAgICBvcHRpb25zPzogeyB3YXRjaD86IGJvb2xlYW4gfSAmIE1vZGVscy5TdGFydEFuZFdhdGNoT3B0aW9uczxJTklUSUFMX1BBUkFNUz4sXG4gICk6IFByb21pc2U8QmFzZUNsaWVudENvbXBpbGVyPElOSVRJQUxfUEFSQU1TPj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgLy8jcmVnaW9uIGFwaSBtZXRob2RzIC8gc3RhcnRcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBydW5UYXNrIGluc3RlYWRcbiAgICogRG8gbm90IG92ZXJyaWRlIHRoaXNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzdGFydChcbiAgICBvcHRpb25zPzogTW9kZWxzLlN0YXJ0T3B0aW9uczxJTklUSUFMX1BBUkFNUz4sXG4gICk6IFByb21pc2U8QmFzZUNsaWVudENvbXBpbGVyPElOSVRJQUxfUEFSQU1TPj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gYXBpIG1ldGhvZHMgLyBzdGFydCBhbmQgd2F0Y2hcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBydW5UYXNrIGluc3RlYWRcbiAgICogRG8gbm90IG92ZXJyaWRlIHRoaXNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzdGFydEFuZFdhdGNoKFxuICAgIG9wdGlvbnM/OiBNb2RlbHMuU3RhcnRBbmRXYXRjaE9wdGlvbnM8SU5JVElBTF9QQVJBTVM+LFxuICApOiBQcm9taXNlPEJhc2VDbGllbnRDb21waWxlcjxJTklUSUFMX1BBUkFNUz4+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGFwaSBtZXRob2RzIC8gc3luYyBhY3Rpb25cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBhYnNvbHRlRmlsZXNQYXRoZXMgZm9yIGVhY2ggd2F0Y2hlZCBmaWxlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgc3luY0FjdGlvbihcbiAgICBhYnNvbHRlRmlsZXNQYXRoZXM/OiBzdHJpbmdbXSxcbiAgICBpbml0aWFsUGFyYW1zPzogSU5JVElBTF9QQVJBTVMsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGFwaSBtZXRob2RzIC8gcHJlIGFzeW5jIGFjdGlvblxuICBwdWJsaWMgYXN5bmMgcHJlQXN5bmNBY3Rpb24oaW5pdGlhbFBhcmFtcz86IElOSVRJQUxfUEFSQU1TKTogUHJvbWlzZTx2b2lkPiB7fVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gYXBpIG1ldGhvZHMgLyBhc3luYyBhY3Rpb25cbiAgcHVibGljIGFzeW5jQWN0aW9uKFxuICAgIGFzeW5jRXZlbnRzOiBDaGFuZ2VPZkZpbGUsXG4gICAgaW5pdGlhbFBhcmFtcz86IElOSVRJQUxfUEFSQU1TLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBwcml2YXRlIG1ldGhvZHNcblxuICAvLyNyZWdpb24gcHJpdmF0ZSBtZXRob2RzIC8gX2luaXRcbiAgcHJpdmF0ZSBfaW5pdChvcHRpb25zPzogTW9kZWxzLkJhc2VDbGllbnRDb21waWxlck9wdGlvbnMpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIHByaXZhdGUgbWV0aG9kcyAvIGZpeCB0YXNrIG5hbWVcbiAgcHJpdmF0ZSBmaXhUYXNrTmFtZSh0YXNrTmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFfLmlzU3RyaW5nKHRhc2tOYW1lKSkge1xuICAgICAgdGFza05hbWUgPSBgdGFzayBcIiR7dGhpcy50YXNrTmFtZX1cImA7XG4gICAgfVxuICAgIHJldHVybiB0YXNrTmFtZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBmaWxlc1RvV2F0Y2goKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBwcml2YXRlIG1hcEZvcldhdGNoaW5nKGM6IHN0cmluZyk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufSJdfQ==