@stemy/backend 3.6.0 → 4.0.1
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/commands/fixtures-command.d.ts +9 -0
- package/commands/index.d.ts +2 -0
- package/common-types.d.ts +11 -6
- package/esm2020/commands/clear-command.mjs +17 -0
- package/esm2020/commands/fixtures-command.mjs +23 -0
- package/esm2020/commands/index.mjs +7 -0
- package/esm2020/common-types.mjs +21 -0
- package/esm2020/public_api.mjs +379 -0
- package/esm2020/requests/asset-image-params.mjs +53 -0
- package/esm2020/rest-controllers/assets.controller.mjs +126 -0
- package/esm2020/rest-controllers/auth.controller.mjs +46 -0
- package/esm2020/rest-controllers/gallery.controller.mjs +21 -0
- package/esm2020/rest-controllers/progresses.controller.mjs +29 -0
- package/esm2020/rest-controllers/terminal-styles.mjs +67 -0
- package/esm2020/rest-controllers/terminal.controller.mjs +125 -0
- package/esm2020/rest-middlewares/container.middleware.mjs +20 -0
- package/esm2020/rest-middlewares/error-handler.middleware.mjs +74 -0
- package/esm2020/rest-middlewares/language.middleware.mjs +18 -0
- package/esm2020/rest-middlewares/request-ended.middleware.mjs +23 -0
- package/esm2020/rest-middlewares/request-started.middleware.mjs +22 -0
- package/esm2020/services/asset-processor.mjs +90 -0
- package/esm2020/services/asset-resolver.mjs +31 -0
- package/esm2020/services/assets.mjs +140 -0
- package/esm2020/services/backend-provider.mjs +22 -0
- package/esm2020/services/cache-processor.mjs +16 -0
- package/esm2020/services/cache.mjs +62 -0
- package/{esm2015/services/configuration.js → esm2020/services/configuration.mjs} +3 -15
- package/esm2020/services/endpoint-provider.mjs +13 -0
- package/esm2020/services/entities/asset.mjs +43 -0
- package/esm2020/services/entities/base-entity.mjs +26 -0
- package/esm2020/services/entities/lazy-asset.mjs +73 -0
- package/esm2020/services/entities/progress.mjs +176 -0
- package/esm2020/services/entities/temp-asset.mjs +45 -0
- package/esm2020/services/fixtures.mjs +26 -0
- package/esm2020/services/gallery-cache.mjs +27 -0
- package/esm2020/services/gallery-image.mjs +37 -0
- package/esm2020/services/gallery.mjs +116 -0
- package/esm2020/services/id-generator.mjs +42 -0
- package/esm2020/services/job-manager.mjs +187 -0
- package/esm2020/services/lazy-assets.mjs +48 -0
- package/esm2020/services/logger.mjs +21 -0
- package/esm2020/services/mail-sender.mjs +36 -0
- package/esm2020/services/memory-cache.mjs +57 -0
- package/esm2020/services/mongo-connector.mjs +37 -0
- package/esm2020/services/open-api.mjs +114 -0
- package/esm2020/services/progresses.mjs +86 -0
- package/esm2020/services/template-renderer.mjs +64 -0
- package/esm2020/services/terminal-manager.mjs +77 -0
- package/esm2020/services/token-generator.mjs +35 -0
- package/esm2020/services/translation-provider.mjs +34 -0
- package/esm2020/services/translator.mjs +63 -0
- package/esm2020/services/user-manager.mjs +27 -0
- package/esm2020/socket-controllers/progress.controller.mjs +52 -0
- package/esm2020/socket-controllers/terminal.controller.mjs +48 -0
- package/esm2020/socket-controllers/terminal.mjs +85 -0
- package/esm2020/socket-middlewares/compression.middleware.mjs +14 -0
- package/esm2020/static.mjs +23 -0
- package/esm2020/utilities/decorators.mjs +52 -0
- package/esm2020/utilities/di-container.mjs +83 -0
- package/esm2020/utilities/empty-job.mjs +13 -0
- package/esm2020/utilities/lazy-asset-generator.mjs +35 -0
- package/esm2020/utilities/mongoose.mjs +216 -0
- package/esm2020/utils.mjs +693 -0
- package/esm2020/validators.mjs +46 -0
- package/fesm2015/{stemy-backend.js → stemy-backend.mjs} +1638 -2403
- package/fesm2015/stemy-backend.mjs.map +1 -0
- package/fesm2020/stemy-backend.mjs +4202 -0
- package/fesm2020/stemy-backend.mjs.map +1 -0
- package/{stemy-backend.d.ts → index.d.ts} +1 -0
- package/package.json +36 -24
- package/public_api.d.ts +2 -2
- package/rest-controllers/terminal-styles.d.ts +2 -0
- package/rest-controllers/terminal.controller.d.ts +2 -0
- package/services/assets.d.ts +1 -0
- package/services/entities/asset.d.ts +1 -0
- package/services/entities/temp-asset.d.ts +1 -0
- package/services/fixtures.d.ts +2 -2
- package/utils.d.ts +3 -0
- package/bundles/stemy-backend.umd.js +0 -7553
- package/bundles/stemy-backend.umd.js.map +0 -1
- package/esm2015/common-types.js +0 -20
- package/esm2015/public_api.js +0 -380
- package/esm2015/requests/asset-image-params.js +0 -70
- package/esm2015/rest-controllers/assets.controller.js +0 -180
- package/esm2015/rest-controllers/auth.controller.js +0 -76
- package/esm2015/rest-controllers/gallery.controller.js +0 -37
- package/esm2015/rest-controllers/progresses.controller.js +0 -57
- package/esm2015/rest-controllers/terminal.controller.js +0 -151
- package/esm2015/rest-middlewares/container.middleware.js +0 -32
- package/esm2015/rest-middlewares/error-handler.middleware.js +0 -99
- package/esm2015/rest-middlewares/language.middleware.js +0 -28
- package/esm2015/rest-middlewares/request-ended.middleware.js +0 -33
- package/esm2015/rest-middlewares/request-started.middleware.js +0 -32
- package/esm2015/rest-openapi.js +0 -44
- package/esm2015/services/asset-processor.js +0 -108
- package/esm2015/services/asset-resolver.js +0 -53
- package/esm2015/services/assets.js +0 -181
- package/esm2015/services/backend-provider.js +0 -32
- package/esm2015/services/cache-processor.js +0 -34
- package/esm2015/services/cache.js +0 -93
- package/esm2015/services/endpoint-provider.js +0 -29
- package/esm2015/services/entities/asset.js +0 -60
- package/esm2015/services/entities/base-entity.js +0 -37
- package/esm2015/services/entities/lazy-asset.js +0 -90
- package/esm2015/services/entities/progress.js +0 -213
- package/esm2015/services/entities/temp-asset.js +0 -64
- package/esm2015/services/fixtures.js +0 -45
- package/esm2015/services/gallery-cache.js +0 -36
- package/esm2015/services/gallery-image.js +0 -48
- package/esm2015/services/gallery.js +0 -138
- package/esm2015/services/id-generator.js +0 -63
- package/esm2015/services/job-manager.js +0 -221
- package/esm2015/services/lazy-assets.js +0 -83
- package/esm2015/services/logger.js +0 -31
- package/esm2015/services/mail-sender.js +0 -58
- package/esm2015/services/memory-cache.js +0 -84
- package/esm2015/services/mongo-connector.js +0 -58
- package/esm2015/services/open-api.js +0 -140
- package/esm2015/services/progresses.js +0 -118
- package/esm2015/services/template-renderer.js +0 -88
- package/esm2015/services/terminal-manager.js +0 -94
- package/esm2015/services/token-generator.js +0 -55
- package/esm2015/services/translation-provider.js +0 -54
- package/esm2015/services/translator.js +0 -84
- package/esm2015/services/user-manager.js +0 -47
- package/esm2015/socket-controllers/progress.controller.js +0 -82
- package/esm2015/socket-controllers/terminal.controller.js +0 -83
- package/esm2015/socket-controllers/terminal.js +0 -98
- package/esm2015/socket-middlewares/compression.middleware.js +0 -19
- package/esm2015/static.js +0 -33
- package/esm2015/utilities/clear-command.js +0 -33
- package/esm2015/utilities/decorators.js +0 -54
- package/esm2015/utilities/di-container.js +0 -84
- package/esm2015/utilities/empty-job.js +0 -29
- package/esm2015/utilities/lazy-asset-generator.js +0 -46
- package/esm2015/utilities/mongoose.js +0 -225
- package/esm2015/utils.js +0 -699
- package/esm2015/validators.js +0 -51
- package/fesm2015/stemy-backend.js.map +0 -1
- package/rest-openapi.d.ts +0 -3
- package/stemy-backend.metadata.json +0 -1
- /package/{utilities → commands}/clear-command.d.ts +0 -0
- /package/{esm2015/stemy-backend.js → esm2020/stemy-backend.mjs} +0 -0
- /package/{esm2015/utilities/base-doc.js → esm2020/utilities/base-doc.mjs} +0 -0
- /package/{esm2015/utilities/tree.js → esm2020/utilities/tree.mjs} +0 -0
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
import { singleton } from "tsyringe";
|
|
20
|
-
import axios from "axios";
|
|
21
|
-
import { isObject } from "../utils";
|
|
22
|
-
import { Configuration } from "./configuration";
|
|
23
|
-
import { Cache } from "./cache";
|
|
24
|
-
let TranslationProvider = class TranslationProvider {
|
|
25
|
-
constructor(config, cache) {
|
|
26
|
-
this.config = config;
|
|
27
|
-
this.cache = cache;
|
|
28
|
-
}
|
|
29
|
-
getDictionary(language) {
|
|
30
|
-
return this.cache.getOrSet(`translations-${language}`, () => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
try {
|
|
32
|
-
const url = this.config.resolve("translationsTemplate")
|
|
33
|
-
.replace(`__lang__`, language)
|
|
34
|
-
.replace(`[lang]`, language);
|
|
35
|
-
const data = yield axios.get(url).then(t => t.data);
|
|
36
|
-
if (isObject(data[language])) {
|
|
37
|
-
return data[language];
|
|
38
|
-
}
|
|
39
|
-
return data;
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
return {
|
|
43
|
-
message: `${e}`
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}), 5 * 60);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
TranslationProvider = __decorate([
|
|
50
|
-
singleton(),
|
|
51
|
-
__metadata("design:paramtypes", [Configuration, Cache])
|
|
52
|
-
], TranslationProvider);
|
|
53
|
-
export { TranslationProvider };
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvdHJhbnNsYXRpb24tcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFNBQVMsQ0FBQztJQUdqQixtQkFBbUIsU0FBbkIsbUJBQW1CO0lBRTVCLFlBQXFCLE1BQXFCLEVBQVcsS0FBWTtRQUE1QyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVcsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUVqRSxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLFFBQVEsRUFBRSxFQUFFLEdBQVMsRUFBRTtZQUM5RCxJQUFJO2dCQUNBLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDO3FCQUNsRCxPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztxQkFDN0IsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDakMsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7b0JBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN6QjtnQkFDRCxPQUFPLElBQUksQ0FBQzthQUNmO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTztvQkFDSCxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUU7aUJBQ2xCLENBQUE7YUFDSjtRQUNMLENBQUMsQ0FBQSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDSixDQUFBO0FBeEJZLG1CQUFtQjtJQUQvQixTQUFTLEVBQUU7cUNBR3FCLGFBQWEsRUFBa0IsS0FBSztHQUZ4RCxtQkFBbUIsQ0F3Qi9CO1NBeEJZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQge2lzT2JqZWN0fSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7SVRyYW5zbGF0aW9uc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge0NhY2hlfSBmcm9tIFwiLi9jYWNoZVwiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblByb3ZpZGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24sIHJlYWRvbmx5IGNhY2hlOiBDYWNoZSkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXREaWN0aW9uYXJ5KGxhbmd1YWdlOiBzdHJpbmcpOiBQcm9taXNlPElUcmFuc2xhdGlvbnM+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXRPclNldChgdHJhbnNsYXRpb25zLSR7bGFuZ3VhZ2V9YCwgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jb25maWcucmVzb2x2ZShcInRyYW5zbGF0aW9uc1RlbXBsYXRlXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoYF9fbGFuZ19fYCwgbGFuZ3VhZ2UpXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoYFtsYW5nXWAsIGxhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBheGlvcy5nZXQodXJsKS50aGVuKHQgPT4gdC5kYXRhKTtcclxuICAgICAgICAgICAgICAgIGlmIChpc09iamVjdChkYXRhW2xhbmd1YWdlXSkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YVtsYW5ndWFnZV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtlfWBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDUgKiA2MCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
import { injectable, singleton } from "tsyringe";
|
|
20
|
-
import { getValue, isDefined, isString } from "../utils";
|
|
21
|
-
import { TranslationProvider } from "./translation-provider";
|
|
22
|
-
let Translator = class Translator {
|
|
23
|
-
constructor(translationProvider) {
|
|
24
|
-
this.translationProvider = translationProvider;
|
|
25
|
-
this.dictionaries = {};
|
|
26
|
-
}
|
|
27
|
-
getDictionary(language) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
this.dictionaries[language] = yield this.translationProvider.getDictionary(language);
|
|
30
|
-
return this.dictionaries[language];
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
getTranslationSync(language, key, params) {
|
|
34
|
-
if (!isString(key) || !key.length) {
|
|
35
|
-
throw new Error(`Parameter "key" required`);
|
|
36
|
-
}
|
|
37
|
-
const dictionary = this.dictionaries[language];
|
|
38
|
-
const translation = getValue(dictionary, key, key) || key;
|
|
39
|
-
return this.interpolate(translation, params);
|
|
40
|
-
}
|
|
41
|
-
getTranslation(language, key, params) {
|
|
42
|
-
if (!isString(key) || !key.length) {
|
|
43
|
-
throw new Error(`Parameter "key" required`);
|
|
44
|
-
}
|
|
45
|
-
return this.getDictionary(language).then(dictionary => {
|
|
46
|
-
const translation = getValue(dictionary, key, key) || key;
|
|
47
|
-
return this.interpolate(translation, params);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
getTranslations(language, ...keys) {
|
|
51
|
-
return new Promise(resolve => {
|
|
52
|
-
Promise.all(keys.map(key => this.getTranslation(language, key))).then(translations => {
|
|
53
|
-
resolve(keys.reduce((result, key, i) => {
|
|
54
|
-
result[key] = translations[i];
|
|
55
|
-
return result;
|
|
56
|
-
}, {}));
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
interpolate(expr, params) {
|
|
61
|
-
if (typeof expr === "string") {
|
|
62
|
-
return this.interpolateString(expr, params);
|
|
63
|
-
}
|
|
64
|
-
if (typeof expr === "function") {
|
|
65
|
-
return expr(params);
|
|
66
|
-
}
|
|
67
|
-
return expr;
|
|
68
|
-
}
|
|
69
|
-
interpolateString(expr, params) {
|
|
70
|
-
if (!expr || !params)
|
|
71
|
-
return expr;
|
|
72
|
-
return expr.replace(/{{\s?([^{}\s]*)\s?}}/g, (substring, b) => {
|
|
73
|
-
const r = getValue(params, b);
|
|
74
|
-
return isDefined(r) ? r : substring;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
Translator = __decorate([
|
|
79
|
-
injectable(),
|
|
80
|
-
singleton(),
|
|
81
|
-
__metadata("design:paramtypes", [TranslationProvider])
|
|
82
|
-
], Translator);
|
|
83
|
-
export { Translator };
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy90cmFuc2xhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztJQUk5QyxVQUFVLFNBQVYsVUFBVTtJQUluQixZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUssYUFBYSxDQUFDLFFBQWdCOztZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztLQUFBO0lBRUQsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxHQUFXLEVBQUUsTUFBWTtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDL0M7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsUUFBZ0IsRUFBRSxHQUFXLEVBQUUsTUFBWTtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztZQUMxRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBYztRQUMvQyxPQUFPLElBQUksT0FBTyxDQUFnQixPQUFPLENBQUMsRUFBRTtZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNqRixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLE9BQU8sTUFBTSxDQUFDO2dCQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsTUFBWTtRQUN2RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU8sSUFBYyxDQUFDO0lBQzFCLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsTUFBWTtRQUNsRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQWlCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDMUUsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTtBQTVEWSxVQUFVO0lBRnRCLFVBQVUsRUFBRTtJQUNaLFNBQVMsRUFBRTtxQ0FLaUMsbUJBQW1CO0dBSm5ELFVBQVUsQ0E0RHRCO1NBNURZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIHNpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7Z2V0VmFsdWUsIGlzRGVmaW5lZCwgaXNTdHJpbmd9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge0lUcmFuc2xhdGlvbnN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGlvblByb3ZpZGVyfSBmcm9tIFwiLi90cmFuc2xhdGlvbi1wcm92aWRlclwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0b3Ige1xyXG5cclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJpZXM6IHsgW2xhbmc6IHN0cmluZ106IElUcmFuc2xhdGlvbnMgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0aW9uUHJvdmlkZXI6IFRyYW5zbGF0aW9uUHJvdmlkZXIpIHtcclxuICAgICAgICB0aGlzLmRpY3Rpb25hcmllcyA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldERpY3Rpb25hcnkobGFuZ3VhZ2U6IHN0cmluZyk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz4ge1xyXG4gICAgICAgIHRoaXMuZGljdGlvbmFyaWVzW2xhbmd1YWdlXSA9IGF3YWl0IHRoaXMudHJhbnNsYXRpb25Qcm92aWRlci5nZXREaWN0aW9uYXJ5KGxhbmd1YWdlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaWN0aW9uYXJpZXNbbGFuZ3VhZ2VdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zbGF0aW9uU3luYyhsYW5ndWFnZTogc3RyaW5nLCBrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWlzU3RyaW5nKGtleSkgfHwgIWtleS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCJrZXlcIiByZXF1aXJlZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkaWN0aW9uYXJ5ID0gdGhpcy5kaWN0aW9uYXJpZXNbbGFuZ3VhZ2VdO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gZ2V0VmFsdWUoZGljdGlvbmFyeSwga2V5LCBrZXkpIHx8IGtleTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZSh0cmFuc2xhdGlvbiwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUcmFuc2xhdGlvbihsYW5ndWFnZTogc3RyaW5nLCBrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAoIWlzU3RyaW5nKGtleSkgfHwgIWtleS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCJrZXlcIiByZXF1aXJlZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXREaWN0aW9uYXJ5KGxhbmd1YWdlKS50aGVuKGRpY3Rpb25hcnkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IGdldFZhbHVlKGRpY3Rpb25hcnksIGtleSwga2V5KSB8fCBrZXk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlKHRyYW5zbGF0aW9uLCBwYXJhbXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zbGF0aW9ucyhsYW5ndWFnZTogc3RyaW5nLCAuLi5rZXlzOiBzdHJpbmdbXSk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJVHJhbnNsYXRpb25zPihyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgUHJvbWlzZS5hbGwoa2V5cy5tYXAoa2V5ID0+IHRoaXMuZ2V0VHJhbnNsYXRpb24obGFuZ3VhZ2UsIGtleSkpKS50aGVuKHRyYW5zbGF0aW9ucyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGtleXMucmVkdWNlKChyZXN1bHQsIGtleSwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNsYXRpb25zW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB9LCB7fSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGUoZXhwcjogc3RyaW5nIHwgRnVuY3Rpb24sIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlU3RyaW5nKGV4cHIsIHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgZXhwciA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBleHByKHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBleHByIGFzIHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW50ZXJwb2xhdGVTdHJpbmcoZXhwcjogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgICAgICBpZiAoIWV4cHIgfHwgIXBhcmFtcykgcmV0dXJuIGV4cHI7XHJcbiAgICAgICAgcmV0dXJuIGV4cHIucmVwbGFjZSgve3tcXHM/KFtee31cXHNdKilcXHM/fX0vZywgKHN1YnN0cmluZzogc3RyaW5nLCBiOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgciA9IGdldFZhbHVlKHBhcmFtcywgYik7XHJcbiAgICAgICAgICAgIHJldHVybiBpc0RlZmluZWQocikgPyByIDogc3Vic3RyaW5nO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
17
|
-
const sampleUser = {
|
|
18
|
-
id: "5a3cdf7c6a9cf0ba32feccdf",
|
|
19
|
-
email: "admin@site.com",
|
|
20
|
-
password: "",
|
|
21
|
-
roles: ["admin"]
|
|
22
|
-
};
|
|
23
|
-
let UserManager = class UserManager {
|
|
24
|
-
getByCredentials(credentials) {
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
return (sampleUser.email == credentials.email) ? sampleUser : yield Promise.reject("message.login.error");
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
getById(id) {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
return (sampleUser.id == id) ? sampleUser : null;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
serialize(user) {
|
|
35
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
const res = Object.assign({}, user);
|
|
37
|
-
delete res.password;
|
|
38
|
-
return res;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
UserManager = __decorate([
|
|
43
|
-
injectable(),
|
|
44
|
-
scoped(Lifecycle.ContainerScoped)
|
|
45
|
-
], UserManager);
|
|
46
|
-
export { UserManager };
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3VzZXItbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHdkQsTUFBTSxVQUFVLEdBQVU7SUFDdEIsRUFBRSxFQUFFLDBCQUEwQjtJQUM5QixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFFBQVEsRUFBRSxFQUFFO0lBQ1osS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDO0NBQ25CLENBQUM7SUFJVyxXQUFXLFNBQVgsV0FBVztJQUVkLGdCQUFnQixDQUFDLFdBQWdCOztZQUNuQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUcsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFDLEVBQVU7O1lBQ3BCLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRCxDQUFDO0tBQUE7SUFFSyxTQUFTLENBQUMsSUFBVzs7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEMsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQWZZLFdBQVc7SUFGdkIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7R0FDckIsV0FBVyxDQWV2QjtTQWZZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtJVXNlcn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuY29uc3Qgc2FtcGxlVXNlcjogSVVzZXIgPSB7XHJcbiAgICBpZDogXCI1YTNjZGY3YzZhOWNmMGJhMzJmZWNjZGZcIixcclxuICAgIGVtYWlsOiBcImFkbWluQHNpdGUuY29tXCIsXHJcbiAgICBwYXNzd29yZDogXCJcIixcclxuICAgIHJvbGVzOiBbXCJhZG1pblwiXVxyXG59O1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBVc2VyTWFuYWdlciB7XHJcblxyXG4gICAgYXN5bmMgZ2V0QnlDcmVkZW50aWFscyhjcmVkZW50aWFsczogYW55KTogUHJvbWlzZTxJVXNlcj4ge1xyXG4gICAgICAgIHJldHVybiAoc2FtcGxlVXNlci5lbWFpbCA9PSBjcmVkZW50aWFscy5lbWFpbCkgPyBzYW1wbGVVc2VyIDogYXdhaXQgUHJvbWlzZS5yZWplY3QoXCJtZXNzYWdlLmxvZ2luLmVycm9yXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8SVVzZXI+IHtcclxuICAgICAgICByZXR1cm4gKHNhbXBsZVVzZXIuaWQgPT0gaWQpID8gc2FtcGxlVXNlciA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VyaWFsaXplKHVzZXI6IElVc2VyKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCByZXMgPSBPYmplY3QuYXNzaWduKHt9LCB1c2VyKTtcclxuICAgICAgICBkZWxldGUgcmVzLnBhc3N3b3JkO1xyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
import { inject, singleton } from "tsyringe";
|
|
23
|
-
import { ConnectedSocket, MessageBody, OnMessage, SocketController, } from "socket-controllers";
|
|
24
|
-
import { SOCKET_SERVER } from "../common-types";
|
|
25
|
-
import { broadcast } from "../utils";
|
|
26
|
-
import { Progresses } from "../services/progresses";
|
|
27
|
-
let ProgressController = class ProgressController {
|
|
28
|
-
constructor(progresses, socketServer) {
|
|
29
|
-
this.progresses = progresses;
|
|
30
|
-
this.socketServer = socketServer;
|
|
31
|
-
}
|
|
32
|
-
advanceProgress(client, progressId) {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
const progress = yield this.progresses.get(progressId);
|
|
35
|
-
if (!progress)
|
|
36
|
-
return;
|
|
37
|
-
const json = progress.toJSON();
|
|
38
|
-
broadcast(this.socketServer, c => {
|
|
39
|
-
if (c.interestedProgresses instanceof Set && c.interestedProgresses.has(progressId)) {
|
|
40
|
-
client.emit("background-progress-changed", json);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
console.log(`progress changed: ${client.id}, data: ${JSON.stringify(json)}`);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
setProgressInterest(client, progressId) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const progress = yield this.progresses.get(progressId);
|
|
49
|
-
if (!progress)
|
|
50
|
-
return;
|
|
51
|
-
const json = progress.toJSON();
|
|
52
|
-
client.interestedProgresses = client.interestedProgresses || new Set();
|
|
53
|
-
if (client.interestedProgresses.has(progressId))
|
|
54
|
-
return;
|
|
55
|
-
client.interestedProgresses.add(progressId);
|
|
56
|
-
client.emit("background-progress-changed", json);
|
|
57
|
-
console.log(`progress interest added: ${client.id}, data: ${JSON.stringify(json)}`);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
__decorate([
|
|
62
|
-
OnMessage("background-progress"),
|
|
63
|
-
__param(0, ConnectedSocket()), __param(1, MessageBody()),
|
|
64
|
-
__metadata("design:type", Function),
|
|
65
|
-
__metadata("design:paramtypes", [Object, String]),
|
|
66
|
-
__metadata("design:returntype", Promise)
|
|
67
|
-
], ProgressController.prototype, "advanceProgress", null);
|
|
68
|
-
__decorate([
|
|
69
|
-
OnMessage("background-progress-interest"),
|
|
70
|
-
__param(0, ConnectedSocket()), __param(1, MessageBody()),
|
|
71
|
-
__metadata("design:type", Function),
|
|
72
|
-
__metadata("design:paramtypes", [Object, String]),
|
|
73
|
-
__metadata("design:returntype", Promise)
|
|
74
|
-
], ProgressController.prototype, "setProgressInterest", null);
|
|
75
|
-
ProgressController = __decorate([
|
|
76
|
-
singleton(),
|
|
77
|
-
SocketController(),
|
|
78
|
-
__param(1, inject(SOCKET_SERVER)),
|
|
79
|
-
__metadata("design:paramtypes", [Progresses, Object])
|
|
80
|
-
], ProgressController);
|
|
81
|
-
export { ProgressController };
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvcHJvZ3Jlc3MuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEdBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RixPQUFPLEVBQWdCLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0lBSXJDLGtCQUFrQixTQUFsQixrQkFBa0I7SUFFM0IsWUFBcUIsVUFBc0IsRUFBa0MsWUFBb0I7UUFBNUUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFrQyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUNqRyxDQUFDO0lBR0ssZUFBZSxDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDN0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLENBQUMsb0JBQW9CLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ3BEO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7S0FBQTtJQUdLLG1CQUFtQixDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDakcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixJQUFJLElBQUksR0FBRyxFQUFVLENBQUM7WUFDL0UsSUFBSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFBRSxPQUFPO1lBQ3hELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7S0FBQTtDQUNKLENBQUE7QUF2Qkc7SUFEQyxTQUFTLENBQUMscUJBQXFCLENBQUM7SUFDVixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7eURBVTdFO0FBR0Q7SUFEQyxTQUFTLENBQUMsOEJBQThCLENBQUM7SUFDZixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7NkRBU2pGO0FBNUJRLGtCQUFrQjtJQUY5QixTQUFTLEVBQUU7SUFDWCxnQkFBZ0IsRUFBRTtJQUcrQixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtxQ0FBbEMsVUFBVTtHQUZsQyxrQkFBa0IsQ0E2QjlCO1NBN0JZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0Nvbm5lY3RlZFNvY2tldCwgTWVzc2FnZUJvZHksIE9uTWVzc2FnZSwgU29ja2V0Q29udHJvbGxlcix9IGZyb20gXCJzb2NrZXQtY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtTZXJ2ZXJ9IGZyb20gXCJzb2NrZXQuaW9cIjtcclxuaW1wb3J0IHtJQ2xpZW50U29ja2V0LCBTT0NLRVRfU0VSVkVSfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7YnJvYWRjYXN0fSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtQcm9ncmVzc2VzfSBmcm9tIFwiLi4vc2VydmljZXMvcHJvZ3Jlc3Nlc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbkBTb2NrZXRDb250cm9sbGVyKClcclxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQ29udHJvbGxlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgcHJvZ3Jlc3NlczogUHJvZ3Jlc3NlcywgQGluamVjdChTT0NLRVRfU0VSVkVSKSByZWFkb25seSBzb2NrZXRTZXJ2ZXI6IFNlcnZlcikge1xyXG4gICAgfVxyXG5cclxuICAgIEBPbk1lc3NhZ2UoXCJiYWNrZ3JvdW5kLXByb2dyZXNzXCIpXHJcbiAgICBhc3luYyBhZHZhbmNlUHJvZ3Jlc3MoQENvbm5lY3RlZFNvY2tldCgpIGNsaWVudDogSUNsaWVudFNvY2tldCwgQE1lc3NhZ2VCb2R5KCkgcHJvZ3Jlc3NJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgcHJvZ3Jlc3MgPSBhd2FpdCB0aGlzLnByb2dyZXNzZXMuZ2V0KHByb2dyZXNzSWQpO1xyXG4gICAgICAgIGlmICghcHJvZ3Jlc3MpIHJldHVybjtcclxuICAgICAgICBjb25zdCBqc29uID0gcHJvZ3Jlc3MudG9KU09OKCk7XHJcbiAgICAgICAgYnJvYWRjYXN0KHRoaXMuc29ja2V0U2VydmVyLCBjID0+IHtcclxuICAgICAgICAgICAgaWYgKGMuaW50ZXJlc3RlZFByb2dyZXNzZXMgaW5zdGFuY2VvZiBTZXQgJiYgYy5pbnRlcmVzdGVkUHJvZ3Jlc3Nlcy5oYXMocHJvZ3Jlc3NJZCkpIHtcclxuICAgICAgICAgICAgICAgIGNsaWVudC5lbWl0KFwiYmFja2dyb3VuZC1wcm9ncmVzcy1jaGFuZ2VkXCIsIGpzb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coYHByb2dyZXNzIGNoYW5nZWQ6ICR7Y2xpZW50LmlkfSwgZGF0YTogJHtKU09OLnN0cmluZ2lmeShqc29uKX1gKTtcclxuICAgIH1cclxuXHJcbiAgICBAT25NZXNzYWdlKFwiYmFja2dyb3VuZC1wcm9ncmVzcy1pbnRlcmVzdFwiKVxyXG4gICAgYXN5bmMgc2V0UHJvZ3Jlc3NJbnRlcmVzdChAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0LCBATWVzc2FnZUJvZHkoKSBwcm9ncmVzc0lkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5nZXQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgaWYgKCFwcm9ncmVzcykgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGpzb24gPSBwcm9ncmVzcy50b0pTT04oKTtcclxuICAgICAgICBjbGllbnQuaW50ZXJlc3RlZFByb2dyZXNzZXMgPSBjbGllbnQuaW50ZXJlc3RlZFByb2dyZXNzZXMgfHwgbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgICAgICAgaWYgKGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3Nlcy5oYXMocHJvZ3Jlc3NJZCkpIHJldHVybjtcclxuICAgICAgICBjbGllbnQuaW50ZXJlc3RlZFByb2dyZXNzZXMuYWRkKHByb2dyZXNzSWQpO1xyXG4gICAgICAgIGNsaWVudC5lbWl0KFwiYmFja2dyb3VuZC1wcm9ncmVzcy1jaGFuZ2VkXCIsIGpzb24pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBwcm9ncmVzcyBpbnRlcmVzdCBhZGRlZDogJHtjbGllbnQuaWR9LCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGpzb24pfWApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
import { singleton } from "tsyringe";
|
|
23
|
-
import { ConnectedSocket, MessageBody, OnMessage, SocketController } from "socket-controllers";
|
|
24
|
-
import { TerminalManager } from "../services/terminal-manager";
|
|
25
|
-
import { Terminal } from "./terminal";
|
|
26
|
-
let TerminalController = class TerminalController {
|
|
27
|
-
constructor(manager) {
|
|
28
|
-
this.manager = manager;
|
|
29
|
-
this.terminals = {};
|
|
30
|
-
}
|
|
31
|
-
terminalInit(client) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const terminal = new Terminal(client);
|
|
34
|
-
this.manager.loadAddons(terminal);
|
|
35
|
-
this.terminals[client.id] = terminal;
|
|
36
|
-
client.on("disconnect", () => terminal.dispose());
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
terminalData(client, data) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const terminal = this.terminals[client.id];
|
|
42
|
-
if (!terminal)
|
|
43
|
-
return;
|
|
44
|
-
terminal.input(data);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
terminalUpload(client, upload) {
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
const terminal = this.terminals[client.id];
|
|
50
|
-
if (!terminal || !upload)
|
|
51
|
-
return;
|
|
52
|
-
terminal.addFile(upload);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
__decorate([
|
|
57
|
-
OnMessage("terminal-init"),
|
|
58
|
-
__param(0, ConnectedSocket()),
|
|
59
|
-
__metadata("design:type", Function),
|
|
60
|
-
__metadata("design:paramtypes", [Object]),
|
|
61
|
-
__metadata("design:returntype", Promise)
|
|
62
|
-
], TerminalController.prototype, "terminalInit", null);
|
|
63
|
-
__decorate([
|
|
64
|
-
OnMessage("terminal-data"),
|
|
65
|
-
__param(0, ConnectedSocket()), __param(1, MessageBody()),
|
|
66
|
-
__metadata("design:type", Function),
|
|
67
|
-
__metadata("design:paramtypes", [Object, String]),
|
|
68
|
-
__metadata("design:returntype", Promise)
|
|
69
|
-
], TerminalController.prototype, "terminalData", null);
|
|
70
|
-
__decorate([
|
|
71
|
-
OnMessage("terminal-upload"),
|
|
72
|
-
__param(0, ConnectedSocket()), __param(1, MessageBody()),
|
|
73
|
-
__metadata("design:type", Function),
|
|
74
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
75
|
-
__metadata("design:returntype", Promise)
|
|
76
|
-
], TerminalController.prototype, "terminalUpload", null);
|
|
77
|
-
TerminalController = __decorate([
|
|
78
|
-
singleton(),
|
|
79
|
-
SocketController(),
|
|
80
|
-
__metadata("design:paramtypes", [TerminalManager])
|
|
81
|
-
], TerminalController);
|
|
82
|
-
export { TerminalController };
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvdGVybWluYWwuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRzdGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0lBSXZCLGtCQUFrQixTQUFsQixrQkFBa0I7SUFHM0IsWUFBc0IsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdLLFlBQVksQ0FBb0IsTUFBcUI7O1lBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUNyQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO0tBQUE7SUFHSyxZQUFZLENBQW9CLE1BQXFCLEVBQWlCLElBQVk7O1lBQ3BGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDdEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFHSyxjQUFjLENBQW9CLE1BQXFCLEVBQWlCLE1BQXFCOztZQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ2pDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQXBCRztJQURDLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFDUCxXQUFBLGVBQWUsRUFBRSxDQUFBOzs7O3NEQUtwQztBQUdEO0lBREMsU0FBUyxDQUFDLGVBQWUsQ0FBQztJQUNQLFdBQUEsZUFBZSxFQUFFLENBQUEsRUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7OztzREFJMUU7QUFHRDtJQURDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUNQLFdBQUEsZUFBZSxFQUFFLENBQUEsRUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7Ozt3REFJNUU7QUEzQlEsa0JBQWtCO0lBRjlCLFNBQVMsRUFBRTtJQUNYLGdCQUFnQixFQUFFO3FDQUlnQixlQUFlO0dBSHJDLGtCQUFrQixDQTRCOUI7U0E1Qlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0Nvbm5lY3RlZFNvY2tldCwgTWVzc2FnZUJvZHksIE9uTWVzc2FnZSwgU29ja2V0Q29udHJvbGxlcn0gZnJvbSBcInNvY2tldC1jb250cm9sbGVyc1wiO1xyXG5cclxuaW1wb3J0IHtJQ2xpZW50U29ja2V0LCBJVGVybWluYWxGaWxlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7VGVybWluYWxNYW5hZ2VyfSBmcm9tIFwiLi4vc2VydmljZXMvdGVybWluYWwtbWFuYWdlclwiO1xyXG5pbXBvcnQge1Rlcm1pbmFsfSBmcm9tIFwiLi90ZXJtaW5hbFwiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbkBTb2NrZXRDb250cm9sbGVyKClcclxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsQ29udHJvbGxlciB7XHJcbiAgICBwcm90ZWN0ZWQgdGVybWluYWxzOiB7W2lkOiBzdHJpbmddOiBUZXJtaW5hbH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1hbmFnZXI6IFRlcm1pbmFsTWFuYWdlcikge1xyXG4gICAgICAgIHRoaXMudGVybWluYWxzID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgQE9uTWVzc2FnZShcInRlcm1pbmFsLWluaXRcIilcclxuICAgIGFzeW5jIHRlcm1pbmFsSW5pdChAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0KSB7XHJcbiAgICAgICAgY29uc3QgdGVybWluYWwgPSBuZXcgVGVybWluYWwoY2xpZW50KTtcclxuICAgICAgICB0aGlzLm1hbmFnZXIubG9hZEFkZG9ucyh0ZXJtaW5hbCk7XHJcbiAgICAgICAgdGhpcy50ZXJtaW5hbHNbY2xpZW50LmlkXSA9IHRlcm1pbmFsO1xyXG4gICAgICAgIGNsaWVudC5vbihcImRpc2Nvbm5lY3RcIiwgKCkgPT4gdGVybWluYWwuZGlzcG9zZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBAT25NZXNzYWdlKFwidGVybWluYWwtZGF0YVwiKVxyXG4gICAgYXN5bmMgdGVybWluYWxEYXRhKEBDb25uZWN0ZWRTb2NrZXQoKSBjbGllbnQ6IElDbGllbnRTb2NrZXQsIEBNZXNzYWdlQm9keSgpIGRhdGE6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHRlcm1pbmFsID0gdGhpcy50ZXJtaW5hbHNbY2xpZW50LmlkXTtcclxuICAgICAgICBpZiAoIXRlcm1pbmFsKSByZXR1cm47XHJcbiAgICAgICAgdGVybWluYWwuaW5wdXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgQE9uTWVzc2FnZShcInRlcm1pbmFsLXVwbG9hZFwiKVxyXG4gICAgYXN5bmMgdGVybWluYWxVcGxvYWQoQENvbm5lY3RlZFNvY2tldCgpIGNsaWVudDogSUNsaWVudFNvY2tldCwgQE1lc3NhZ2VCb2R5KCkgdXBsb2FkOiBJVGVybWluYWxGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgdGVybWluYWwgPSB0aGlzLnRlcm1pbmFsc1tjbGllbnQuaWRdO1xyXG4gICAgICAgIGlmICghdGVybWluYWwgfHwgIXVwbG9hZCkgcmV0dXJuO1xyXG4gICAgICAgIHRlcm1pbmFsLmFkZEZpbGUodXBsb2FkKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { BehaviorSubject, Subject } from "rxjs";
|
|
11
|
-
import { first, map, timeout } from "rxjs/operators";
|
|
12
|
-
import { fileTypeFromBuffer } from "../utils";
|
|
13
|
-
export class Terminal {
|
|
14
|
-
constructor(client) {
|
|
15
|
-
this.client = client;
|
|
16
|
-
this.addons = [];
|
|
17
|
-
this.files$ = new BehaviorSubject([]);
|
|
18
|
-
this.input$ = new Subject();
|
|
19
|
-
}
|
|
20
|
-
onData(cb) {
|
|
21
|
-
const sub = this.input$.pipe(map(v => {
|
|
22
|
-
if (v === "\b") {
|
|
23
|
-
return "\x7f";
|
|
24
|
-
}
|
|
25
|
-
return v;
|
|
26
|
-
})).subscribe(cb);
|
|
27
|
-
return {
|
|
28
|
-
dispose: () => sub.unsubscribe()
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
write(data) {
|
|
32
|
-
this.client.emit("terminal-data", data);
|
|
33
|
-
}
|
|
34
|
-
writeln(data) {
|
|
35
|
-
this.write(data + "\n");
|
|
36
|
-
}
|
|
37
|
-
loadAddon(addon) {
|
|
38
|
-
addon.activate(this);
|
|
39
|
-
this.addons.push(addon);
|
|
40
|
-
}
|
|
41
|
-
dispose() {
|
|
42
|
-
this.input$.complete();
|
|
43
|
-
this.client = null;
|
|
44
|
-
this.addons.forEach(a => a.dispose());
|
|
45
|
-
}
|
|
46
|
-
suggestFiles(accept) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const rand = Math.round(Math.random() * 1000);
|
|
49
|
-
const id = `${Date.now()}-${rand}`;
|
|
50
|
-
const files = this.files$.value;
|
|
51
|
-
return files.filter(f => f.accept === accept).concat([
|
|
52
|
-
{
|
|
53
|
-
id,
|
|
54
|
-
label: "...",
|
|
55
|
-
onAccept: () => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
this.client.emit("terminal-upload", {
|
|
57
|
-
id,
|
|
58
|
-
accept
|
|
59
|
-
});
|
|
60
|
-
const file = yield this.files$
|
|
61
|
-
.pipe(first(v => v.some(f => f.id === id)))
|
|
62
|
-
.pipe(timeout(120000))
|
|
63
|
-
.pipe(map(v => v.find(f => f.id === id)))
|
|
64
|
-
.toPromise();
|
|
65
|
-
if (file.error) {
|
|
66
|
-
this.files$.next(this.files$.value.filter(f => f.id !== id));
|
|
67
|
-
throw new Error(file.error);
|
|
68
|
-
}
|
|
69
|
-
return file;
|
|
70
|
-
}),
|
|
71
|
-
showAlways: true,
|
|
72
|
-
accept: accept,
|
|
73
|
-
}
|
|
74
|
-
]);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
downloadFile(filename, buffer) {
|
|
78
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
const type = yield fileTypeFromBuffer(buffer);
|
|
80
|
-
const data = buffer.toString("base64");
|
|
81
|
-
const content = `data:${type.mime};base64,${data}`;
|
|
82
|
-
this.client.emit("terminal-download", {
|
|
83
|
-
filename,
|
|
84
|
-
content
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
addFile(upload) {
|
|
89
|
-
if (upload.content) {
|
|
90
|
-
upload.buffer = Buffer.from(upload.content, "base64");
|
|
91
|
-
}
|
|
92
|
-
this.files$.next(this.files$.value.concat(upload));
|
|
93
|
-
}
|
|
94
|
-
input(data) {
|
|
95
|
-
this.input$.next(data);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc29ja2V0LWNvbnRyb2xsZXJzL3Rlcm1pbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR25ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUU1QyxNQUFNLE9BQU8sUUFBUTtJQUtqQixZQUFzQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBeUI7UUFDNUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDWixPQUFPLE1BQU0sQ0FBQzthQUNqQjtZQUNELE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTztZQUNILE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFO1NBQ25DLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBcUI7UUFDM0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUssWUFBWSxDQUFDLE1BQWM7O1lBQzdCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzlDLE1BQU0sRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBc0IsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFDakQ7b0JBQ0ksRUFBRTtvQkFDRixLQUFLLEVBQUUsS0FBSztvQkFDWixRQUFRLEVBQUUsR0FBUyxFQUFFO3dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTs0QkFDaEMsRUFBRTs0QkFDRixNQUFNO3lCQUNULENBQUMsQ0FBQzt3QkFDSCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNOzZCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs2QkFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzs2QkFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7NkJBQ3hDLFNBQVMsRUFBRSxDQUFDO3dCQUNqQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7NEJBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDOzRCQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt5QkFDL0I7d0JBQ0QsT0FBTyxJQUFJLENBQUM7b0JBQ2hCLENBQUMsQ0FBQTtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsTUFBTSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUFBO0lBRUssWUFBWSxDQUFDLFFBQWdCLEVBQUUsTUFBYzs7WUFDL0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHLFFBQVEsSUFBSSxDQUFDLElBQUksV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDbEMsUUFBUTtnQkFDUixPQUFPO2FBQ1YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUFBO0lBRUQsT0FBTyxDQUFDLE1BQXFCO1FBQ3pCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNoQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWTtRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRpbWVvdXR9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQge0lEaXNwb3NhYmxlLCBJU3VnZ2VzdGlvbiwgSVRlcm1pbmFsQWRkb259IGZyb20gXCJAc3RlbXkvdGVybWluYWwtY29tbWFuZHMtYWRkb25cIjtcclxuaW1wb3J0IHtJQ2xpZW50U29ja2V0LCBJVGVybWluYWwsIElUZXJtaW5hbEZpbGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtmaWxlVHlwZUZyb21CdWZmZXJ9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsIGltcGxlbWVudHMgSVRlcm1pbmFsIHtcclxuICAgIHByb3RlY3RlZCBhZGRvbnM6IElUZXJtaW5hbEFkZG9uW107XHJcbiAgICBwcm90ZWN0ZWQgZmlsZXMkOiBCZWhhdmlvclN1YmplY3Q8SVRlcm1pbmFsRmlsZVtdPjtcclxuICAgIHByb3RlY3RlZCBpbnB1dCQ6IFN1YmplY3Q8c3RyaW5nPjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xpZW50OiBJQ2xpZW50U29ja2V0KSB7XHJcbiAgICAgICAgdGhpcy5hZGRvbnMgPSBbXTtcclxuICAgICAgICB0aGlzLmZpbGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgICAgIHRoaXMuaW5wdXQkID0gbmV3IFN1YmplY3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRhdGEoY2I6IChkYXRhOiBzdHJpbmcpID0+IGFueSk6IElEaXNwb3NhYmxlIHtcclxuICAgICAgICBjb25zdCBzdWIgPSB0aGlzLmlucHV0JC5waXBlKG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgaWYgKHYgPT09IFwiXFxiXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIlxceDdmXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHY7XHJcbiAgICAgICAgfSkpLnN1YnNjcmliZShjYik7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGlzcG9zZTogKCkgPT4gc3ViLnVuc3Vic2NyaWJlKClcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlKGRhdGE6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xpZW50LmVtaXQoXCJ0ZXJtaW5hbC1kYXRhXCIsIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlbG4oZGF0YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy53cml0ZShkYXRhICsgXCJcXG5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZEFkZG9uKGFkZG9uOiBJVGVybWluYWxBZGRvbikge1xyXG4gICAgICAgIGFkZG9uLmFjdGl2YXRlKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkb25zLnB1c2goYWRkb24pO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3Bvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dCQuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLmNsaWVudCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5hZGRvbnMuZm9yRWFjaChhID0+IGEuZGlzcG9zZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdWdnZXN0RmlsZXMoYWNjZXB0OiBzdHJpbmcpOiBQcm9taXNlPElUZXJtaW5hbEZpbGVbXT4ge1xyXG4gICAgICAgIGNvbnN0IHJhbmQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwKTtcclxuICAgICAgICBjb25zdCBpZCA9IGAke0RhdGUubm93KCl9LSR7cmFuZH1gO1xyXG4gICAgICAgIGNvbnN0IGZpbGVzID0gdGhpcy5maWxlcyQudmFsdWUgYXMgSVN1Z2dlc3Rpb25bXTtcclxuICAgICAgICByZXR1cm4gZmlsZXMuZmlsdGVyKGYgPT4gZi5hY2NlcHQgPT09IGFjY2VwdCkuY29uY2F0KFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogXCIuLi5cIixcclxuICAgICAgICAgICAgICAgIG9uQWNjZXB0OiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGllbnQuZW1pdChcInRlcm1pbmFsLXVwbG9hZFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHRcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlID0gYXdhaXQgdGhpcy5maWxlcyRcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoZmlyc3QodiA9PiB2LnNvbWUoZiA9PiBmLmlkID09PSBpZCkpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0aW1lb3V0KDEyMDAwMCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcCh2ID0+IHYuZmluZChmID0+IGYuaWQgPT09IGlkKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZS5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzJC5uZXh0KHRoaXMuZmlsZXMkLnZhbHVlLmZpbHRlcihmID0+IGYuaWQgIT09IGlkKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihmaWxlLmVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbGU7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc2hvd0Fsd2F5czogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGFjY2VwdDogYWNjZXB0LFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZG93bmxvYWRGaWxlKGZpbGVuYW1lOiBzdHJpbmcsIGJ1ZmZlcjogQnVmZmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IGF3YWl0IGZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXIpO1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBidWZmZXIudG9TdHJpbmcoXCJiYXNlNjRcIik7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IGBkYXRhOiR7dHlwZS5taW1lfTtiYXNlNjQsJHtkYXRhfWA7XHJcbiAgICAgICAgdGhpcy5jbGllbnQuZW1pdChcInRlcm1pbmFsLWRvd25sb2FkXCIsIHtcclxuICAgICAgICAgICAgZmlsZW5hbWUsXHJcbiAgICAgICAgICAgIGNvbnRlbnRcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRGaWxlKHVwbG9hZDogSVRlcm1pbmFsRmlsZSkge1xyXG4gICAgICAgIGlmICh1cGxvYWQuY29udGVudCkge1xyXG4gICAgICAgICAgICB1cGxvYWQuYnVmZmVyID0gQnVmZmVyLmZyb20odXBsb2FkLmNvbnRlbnQsIFwiYmFzZTY0XCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZpbGVzJC5uZXh0KHRoaXMuZmlsZXMkLnZhbHVlLmNvbmNhdCh1cGxvYWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dChkYXRhOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmlucHV0JC5uZXh0KGRhdGEpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { injectable } from "tsyringe";
|
|
8
|
-
import { Middleware } from "socket-controllers";
|
|
9
|
-
let CompressionMiddleware = class CompressionMiddleware {
|
|
10
|
-
use(socket, next) {
|
|
11
|
-
next();
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
CompressionMiddleware = __decorate([
|
|
15
|
-
injectable(),
|
|
16
|
-
Middleware()
|
|
17
|
-
], CompressionMiddleware);
|
|
18
|
-
export { CompressionMiddleware };
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3Npb24ubWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtbWlkZGxld2FyZXMvY29tcHJlc3Npb24ubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQXNCLE1BQU0sb0JBQW9CLENBQUM7SUFJdEQscUJBQXFCLFNBQXJCLHFCQUFxQjtJQUU5QixHQUFHLENBQUMsTUFBVyxFQUFFLElBQXdCO1FBQ3JDLElBQUksRUFBRSxDQUFDO0lBQ1gsQ0FBQztDQUNKLENBQUE7QUFMWSxxQkFBcUI7SUFGakMsVUFBVSxFQUFFO0lBQ1osVUFBVSxFQUFFO0dBQ0EscUJBQXFCLENBS2pDO1NBTFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtNaWRkbGV3YXJlLCBNaWRkbGV3YXJlSW50ZXJmYWNlfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBNaWRkbGV3YXJlKClcclxuZXhwb3J0IGNsYXNzIENvbXByZXNzaW9uTWlkZGxld2FyZSBpbXBsZW1lbnRzIE1pZGRsZXdhcmVJbnRlcmZhY2Uge1xyXG5cclxuICAgIHVzZShzb2NrZXQ6IGFueSwgbmV4dDogKGVycj86IGFueSkgPT4gYW55KSB7XHJcbiAgICAgICAgbmV4dCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/static.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { existsSync } from "fs";
|
|
11
|
-
import { resolve } from "path";
|
|
12
|
-
import { static as serveStatic } from "express";
|
|
13
|
-
import { EXPRESS } from "./common-types";
|
|
14
|
-
import { EndpointProvider } from "./services/endpoint-provider";
|
|
15
|
-
export function setupStatic(rootFolder, container) {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const browserFolder = resolve(rootFolder || __dirname, `public_html`);
|
|
18
|
-
const app = container.get(EXPRESS);
|
|
19
|
-
const ep = container.get(EndpointProvider);
|
|
20
|
-
console.log(browserFolder, existsSync(browserFolder));
|
|
21
|
-
if (existsSync(browserFolder)) {
|
|
22
|
-
console.log(`public_html exists. setting up static files serving...`);
|
|
23
|
-
app.use(serveStatic(browserFolder, {
|
|
24
|
-
maxAge: "1y"
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
console.log(`public_html does not exist on path: "${browserFolder}"`);
|
|
29
|
-
}
|
|
30
|
-
yield ep.configure(app);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sSUFBSSxDQUFDO0FBQzlCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLE1BQU0sSUFBSSxXQUFXLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFDLE9BQU8sRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RCxNQUFNLFVBQWdCLFdBQVcsQ0FBQyxVQUFrQixFQUFFLFNBQStCOztRQUVqRixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUzQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUV0RCxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7WUFDdEUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO2dCQUMvQixNQUFNLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsd0NBQXdDLGFBQWEsR0FBRyxDQUFDLENBQUM7U0FDekU7UUFFRCxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtleGlzdHNTeW5jfSBmcm9tIFwiZnNcIjtcclxuaW1wb3J0IHtyZXNvbHZlfSBmcm9tIFwicGF0aFwiO1xyXG5pbXBvcnQge3N0YXRpYyBhcyBzZXJ2ZVN0YXRpY30gZnJvbSBcImV4cHJlc3NcIjtcclxuaW1wb3J0IHtFWFBSRVNTLCBJRGVwZW5kZW5jeUNvbnRhaW5lcn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7RW5kcG9pbnRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvZW5kcG9pbnQtcHJvdmlkZXJcIjtcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXR1cFN0YXRpYyhyb290Rm9sZGVyOiBzdHJpbmcsIGNvbnRhaW5lcjogSURlcGVuZGVuY3lDb250YWluZXIpOiBQcm9taXNlPGFueT4ge1xyXG5cclxuICAgIGNvbnN0IGJyb3dzZXJGb2xkZXIgPSByZXNvbHZlKHJvb3RGb2xkZXIgfHwgX19kaXJuYW1lLCBgcHVibGljX2h0bWxgKTtcclxuICAgIGNvbnN0IGFwcCA9IGNvbnRhaW5lci5nZXQoRVhQUkVTUyk7XHJcbiAgICBjb25zdCBlcCA9IGNvbnRhaW5lci5nZXQoRW5kcG9pbnRQcm92aWRlcik7XHJcblxyXG4gICAgY29uc29sZS5sb2coYnJvd3NlckZvbGRlciwgZXhpc3RzU3luYyhicm93c2VyRm9sZGVyKSk7XHJcblxyXG4gICAgaWYgKGV4aXN0c1N5bmMoYnJvd3NlckZvbGRlcikpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgcHVibGljX2h0bWwgZXhpc3RzLiBzZXR0aW5nIHVwIHN0YXRpYyBmaWxlcyBzZXJ2aW5nLi4uYCk7XHJcbiAgICAgICAgYXBwLnVzZShzZXJ2ZVN0YXRpYyhicm93c2VyRm9sZGVyLCB7XHJcbiAgICAgICAgICAgIG1heEFnZTogXCIxeVwiXHJcbiAgICAgICAgfSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgcHVibGljX2h0bWwgZG9lcyBub3QgZXhpc3Qgb24gcGF0aDogXCIke2Jyb3dzZXJGb2xkZXJ9XCJgKTtcclxuICAgIH1cclxuXHJcbiAgICBhd2FpdCBlcC5jb25maWd1cmUoYXBwKTtcclxufVxyXG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
17
|
-
import { AnsiCodes } from "@stemy/terminal-commands-addon";
|
|
18
|
-
let ClearCommand = class ClearCommand {
|
|
19
|
-
constructor() {
|
|
20
|
-
this.name = "clear";
|
|
21
|
-
}
|
|
22
|
-
execute(args, terminal) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
terminal.write(AnsiCodes.clear);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
ClearCommand = __decorate([
|
|
29
|
-
injectable(),
|
|
30
|
-
scoped(Lifecycle.ContainerScoped)
|
|
31
|
-
], ClearCommand);
|
|
32
|
-
export { ClearCommand };
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvY2xlYXItY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0lBSTFELFlBQVksU0FBWixZQUFZOztRQUVaLFNBQUksR0FBRyxPQUFPLENBQUM7SUFLNUIsQ0FBQztJQUhTLE9BQU8sQ0FBQyxJQUFrQixFQUFFLFFBQW1COztZQUNqRCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7Q0FDSixDQUFBO0FBUFksWUFBWTtJQUZ4QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztHQUNyQixZQUFZLENBT3hCO1NBUFksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0lUZXJtaW5hbCwgSVRlcm1pbmFsQ29tbWFuZH0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge0Fuc2lDb2RlcywgSUNvbW1hbmRBcmdzfSBmcm9tIFwiQHN0ZW15L3Rlcm1pbmFsLWNvbW1hbmRzLWFkZG9uXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIENsZWFyQ29tbWFuZCBpbXBsZW1lbnRzIElUZXJtaW5hbENvbW1hbmQge1xyXG5cclxuICAgIHJlYWRvbmx5IG5hbWUgPSBcImNsZWFyXCI7XHJcblxyXG4gICAgYXN5bmMgZXhlY3V0ZShhcmdzOiBJQ29tbWFuZEFyZ3MsIHRlcm1pbmFsOiBJVGVybWluYWwpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRlcm1pbmFsLndyaXRlKEFuc2lDb2Rlcy5jbGVhcik7XHJcbiAgICB9XHJcbn1cclxuIl19
|