@stemy/backend 3.5.16 → 4.0.0
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/clear-command.d.ts +6 -0
- package/commands/fixtures-command.d.ts +9 -0
- package/commands/index.d.ts +2 -0
- package/common-types.d.ts +29 -7
- 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/esm2020/services/configuration.mjs +65 -0
- 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} +1923 -2220
- 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 -23
- package/public_api.d.ts +3 -2
- package/rest-controllers/terminal-styles.d.ts +2 -0
- package/rest-controllers/terminal.controller.d.ts +10 -0
- package/services/asset-processor.d.ts +0 -3
- package/services/assets.d.ts +1 -0
- package/services/configuration.d.ts +2 -1
- 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/services/terminal-manager.d.ts +15 -0
- package/socket-controllers/terminal.controller.d.ts +13 -0
- package/socket-controllers/terminal.d.ts +20 -0
- package/utils.d.ts +7 -1
- package/bundles/stemy-backend.umd.js +0 -7081
- package/bundles/stemy-backend.umd.js.map +0 -1
- package/esm2015/common-types.js +0 -19
- package/esm2015/public_api.js +0 -359
- 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-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 -129
- 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/configuration.js +0 -69
- 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 -89
- 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-middlewares/compression.middleware.js +0 -19
- package/esm2015/static.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 -672
- 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/{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,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, injectable } 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
|
-
injectable(),
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvcHJvZ3Jlc3MuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEdBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RixPQUFPLEVBQWdCLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0lBSXJDLGtCQUFrQixTQUFsQixrQkFBa0I7SUFFM0IsWUFBcUIsVUFBc0IsRUFBa0MsWUFBb0I7UUFBNUUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFrQyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUNqRyxDQUFDO0lBR0ssZUFBZSxDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDN0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLENBQUMsb0JBQW9CLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ3BEO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7S0FBQTtJQUdLLG1CQUFtQixDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDakcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixJQUFJLElBQUksR0FBRyxFQUFVLENBQUM7WUFDL0UsSUFBSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFBRSxPQUFPO1lBQ3hELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7S0FBQTtDQUNKLENBQUE7QUF2Qkc7SUFEQyxTQUFTLENBQUMscUJBQXFCLENBQUM7SUFDVixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7eURBVTdFO0FBR0Q7SUFEQyxTQUFTLENBQUMsOEJBQThCLENBQUM7SUFDZixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7NkRBU2pGO0FBNUJRLGtCQUFrQjtJQUY5QixVQUFVLEVBQUU7SUFDWixnQkFBZ0IsRUFBRTtJQUcrQixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtxQ0FBbEMsVUFBVTtHQUZsQyxrQkFBa0IsQ0E2QjlCO1NBN0JZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDb25uZWN0ZWRTb2NrZXQsIE1lc3NhZ2VCb2R5LCBPbk1lc3NhZ2UsIFNvY2tldENvbnRyb2xsZXIsfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7U2VydmVyfSBmcm9tIFwic29ja2V0LmlvXCI7XHJcbmltcG9ydCB7SUNsaWVudFNvY2tldCwgU09DS0VUX1NFUlZFUn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge2Jyb2FkY2FzdH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc30gZnJvbSBcIi4uL3NlcnZpY2VzL3Byb2dyZXNzZXNcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQFNvY2tldENvbnRyb2xsZXIoKVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NDb250cm9sbGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBwcm9ncmVzc2VzOiBQcm9ncmVzc2VzLCBAaW5qZWN0KFNPQ0tFVF9TRVJWRVIpIHJlYWRvbmx5IHNvY2tldFNlcnZlcjogU2VydmVyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgQE9uTWVzc2FnZShcImJhY2tncm91bmQtcHJvZ3Jlc3NcIilcclxuICAgIGFzeW5jIGFkdmFuY2VQcm9ncmVzcyhAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0LCBATWVzc2FnZUJvZHkoKSBwcm9ncmVzc0lkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5nZXQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgaWYgKCFwcm9ncmVzcykgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGpzb24gPSBwcm9ncmVzcy50b0pTT04oKTtcclxuICAgICAgICBicm9hZGNhc3QodGhpcy5zb2NrZXRTZXJ2ZXIsIGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYy5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyBpbnN0YW5jZW9mIFNldCAmJiBjLmludGVyZXN0ZWRQcm9ncmVzc2VzLmhhcyhwcm9ncmVzc0lkKSkge1xyXG4gICAgICAgICAgICAgICAgY2xpZW50LmVtaXQoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWNoYW5nZWRcIiwganNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgcHJvZ3Jlc3MgY2hhbmdlZDogJHtjbGllbnQuaWR9LCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGpzb24pfWApO1xyXG4gICAgfVxyXG5cclxuICAgIEBPbk1lc3NhZ2UoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWludGVyZXN0XCIpXHJcbiAgICBhc3luYyBzZXRQcm9ncmVzc0ludGVyZXN0KEBDb25uZWN0ZWRTb2NrZXQoKSBjbGllbnQ6IElDbGllbnRTb2NrZXQsIEBNZXNzYWdlQm9keSgpIHByb2dyZXNzSWQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHByb2dyZXNzID0gYXdhaXQgdGhpcy5wcm9ncmVzc2VzLmdldChwcm9ncmVzc0lkKTtcclxuICAgICAgICBpZiAoIXByb2dyZXNzKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QganNvbiA9IHByb2dyZXNzLnRvSlNPTigpO1xyXG4gICAgICAgIGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyA9IGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyB8fCBuZXcgU2V0PHN0cmluZz4oKTtcclxuICAgICAgICBpZiAoY2xpZW50LmludGVyZXN0ZWRQcm9ncmVzc2VzLmhhcyhwcm9ncmVzc0lkKSkgcmV0dXJuO1xyXG4gICAgICAgIGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3Nlcy5hZGQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgY2xpZW50LmVtaXQoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWNoYW5nZWRcIiwganNvbik7XHJcbiAgICAgICAgY29uc29sZS5sb2coYHByb2dyZXNzIGludGVyZXN0IGFkZGVkOiAke2NsaWVudC5pZH0sIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoanNvbil9YCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -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,54 +0,0 @@
|
|
|
1
|
-
import { getStatusCode, OpenAPI } from "routing-controllers-openapi";
|
|
2
|
-
export function IsDocumented(summary = null, paramDescriptions = {}) {
|
|
3
|
-
return OpenAPI(op => {
|
|
4
|
-
var _a;
|
|
5
|
-
op.summary = summary || op.summary;
|
|
6
|
-
op.tags = ["Documented"].concat(op.tags || []);
|
|
7
|
-
(_a = op.parameters) === null || _a === void 0 ? void 0 : _a.forEach(p => {
|
|
8
|
-
if (p.$ref)
|
|
9
|
-
return;
|
|
10
|
-
const schema = p;
|
|
11
|
-
schema.description = paramDescriptions[schema.name]
|
|
12
|
-
|| schema.description
|
|
13
|
-
|| `param.${op.operationId}.${schema.name}`.toLowerCase();
|
|
14
|
-
});
|
|
15
|
-
return op;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
export function JsonResponse(description = "Success", statusCode = null) {
|
|
19
|
-
return OpenAPI((op, route) => {
|
|
20
|
-
const status = statusCode !== null && statusCode !== void 0 ? statusCode : getStatusCode(route) + "";
|
|
21
|
-
op.responses = op.responses || {};
|
|
22
|
-
op.responses[status] = {
|
|
23
|
-
description,
|
|
24
|
-
content: {
|
|
25
|
-
"application/json": {}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
return op;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
export function ResponseType(type, options = {}) {
|
|
32
|
-
return OpenAPI((op, route) => {
|
|
33
|
-
var _a;
|
|
34
|
-
const contentType = "application/json";
|
|
35
|
-
const statusCode = (_a = options === null || options === void 0 ? void 0 : options.statusCode) !== null && _a !== void 0 ? _a : getStatusCode(route) + "";
|
|
36
|
-
const reference = {
|
|
37
|
-
$ref: `#/components/schemas/${type.name}`,
|
|
38
|
-
};
|
|
39
|
-
const schema = options.isArray
|
|
40
|
-
? { items: reference, type: "array" }
|
|
41
|
-
: reference;
|
|
42
|
-
op.responses = op.responses || {};
|
|
43
|
-
op.responses[statusCode] = {
|
|
44
|
-
description: options.description || "Success",
|
|
45
|
-
content: {
|
|
46
|
-
[contentType]: {
|
|
47
|
-
schema
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
return op;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR25FLE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBa0IsSUFBSSxFQUFFLG9CQUE4QyxFQUFFO0lBQ2pHLE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFOztRQUNoQixFQUFFLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ25DLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxNQUFBLEVBQUUsQ0FBQyxVQUFVLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDbkIsTUFBTSxNQUFNLEdBQUcsQ0FBaUIsQ0FBQztZQUNqQyxNQUFNLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7bUJBQzVDLE1BQU0sQ0FBQyxXQUFXO21CQUNsQixTQUFTLEVBQUUsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLGNBQXNCLFNBQVMsRUFBRSxhQUFxQixJQUFJO0lBQ25GLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkQsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQ25CLFdBQVc7WUFDWCxPQUFPLEVBQUU7Z0JBQ0wsa0JBQWtCLEVBQUUsRUFBRTthQUN6QjtTQUNKLENBQUM7UUFDRixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVFELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBYyxFQUFFLFVBQWdDLEVBQUU7SUFDM0UsT0FBTyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7O1FBQ3pCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFVBQVUsbUNBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBb0I7WUFDL0IsSUFBSSxFQUFFLHdCQUF3QixJQUFJLENBQUMsSUFBSSxFQUFFO1NBQzVDLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBaUIsT0FBTyxDQUFDLE9BQU87WUFDeEMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQ3ZCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7WUFDN0MsT0FBTyxFQUFFO2dCQUNMLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ1gsTUFBTTtpQkFDVDthQUNKO1NBQ0osQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRTdGF0dXNDb2RlLCBPcGVuQVBJfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVycy1vcGVuYXBpXCI7XHJcbmltcG9ydCB7UmVmZXJlbmNlT2JqZWN0LCBTY2hlbWFPYmplY3R9IGZyb20gXCJvcGVuYXBpMy10c1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIElzRG9jdW1lbnRlZChzdW1tYXJ5OiBzdHJpbmcgPSBudWxsLCBwYXJhbURlc2NyaXB0aW9uczoge1tuYW1lOiBzdHJpbmddOiBzdHJpbmd9ID0ge30pIHtcclxuICAgIHJldHVybiBPcGVuQVBJKG9wID0+IHtcclxuICAgICAgICBvcC5zdW1tYXJ5ID0gc3VtbWFyeSB8fCBvcC5zdW1tYXJ5O1xyXG4gICAgICAgIG9wLnRhZ3MgPSBbXCJEb2N1bWVudGVkXCJdLmNvbmNhdChvcC50YWdzIHx8IFtdKTtcclxuICAgICAgICBvcC5wYXJhbWV0ZXJzPy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICBpZiAocC4kcmVmKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYSA9IHAgYXMgU2NoZW1hT2JqZWN0O1xyXG4gICAgICAgICAgICBzY2hlbWEuZGVzY3JpcHRpb24gPSBwYXJhbURlc2NyaXB0aW9uc1tzY2hlbWEubmFtZV1cclxuICAgICAgICAgICAgICAgIHx8IHNjaGVtYS5kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgfHwgYHBhcmFtLiR7b3Aub3BlcmF0aW9uSWR9LiR7c2NoZW1hLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvcDtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSnNvblJlc3BvbnNlKGRlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlN1Y2Nlc3NcIiwgc3RhdHVzQ29kZTogbnVtYmVyID0gbnVsbCkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkoKG9wLCByb3V0ZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IHN0YXR1c0NvZGUgPz8gZ2V0U3RhdHVzQ29kZShyb3V0ZSkgKyBcIlwiO1xyXG4gICAgICAgIG9wLnJlc3BvbnNlcyA9IG9wLnJlc3BvbnNlcyB8fCB7fTtcclxuICAgICAgICBvcC5yZXNwb25zZXNbc3RhdHVzXSA9IHtcclxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICAgICAgICAgIFwiYXBwbGljYXRpb24vanNvblwiOiB7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gb3A7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVzcG9uc2VUeXBlT3B0aW9ucyB7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICAgIHN0YXR1c0NvZGU/OiBudW1iZXI7XHJcbiAgICBpc0FycmF5PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlc3BvbnNlVHlwZSh0eXBlOiBGdW5jdGlvbiwgb3B0aW9uczogSVJlc3BvbnNlVHlwZU9wdGlvbnMgPSB7fSkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkoKG9wLCByb3V0ZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9qc29uXCI7XHJcbiAgICAgICAgY29uc3Qgc3RhdHVzQ29kZSA9IG9wdGlvbnM/LnN0YXR1c0NvZGUgPz8gZ2V0U3RhdHVzQ29kZShyb3V0ZSkgKyBcIlwiO1xyXG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZTogUmVmZXJlbmNlT2JqZWN0ID0ge1xyXG4gICAgICAgICAgICAkcmVmOiBgIy9jb21wb25lbnRzL3NjaGVtYXMvJHt0eXBlLm5hbWV9YCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IHNjaGVtYTogU2NoZW1hT2JqZWN0ID0gb3B0aW9ucy5pc0FycmF5XHJcbiAgICAgICAgICAgID8geyBpdGVtczogcmVmZXJlbmNlLCB0eXBlOiBcImFycmF5XCIgfVxyXG4gICAgICAgICAgICA6IHJlZmVyZW5jZTtcclxuICAgICAgICBvcC5yZXNwb25zZXMgPSBvcC5yZXNwb25zZXMgfHwge307XHJcbiAgICAgICAgb3AucmVzcG9uc2VzW3N0YXR1c0NvZGVdID0ge1xyXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbiB8fCBcIlN1Y2Nlc3NcIixcclxuICAgICAgICAgICAgY29udGVudDoge1xyXG4gICAgICAgICAgICAgICAgW2NvbnRlbnRUeXBlXToge1xyXG4gICAgICAgICAgICAgICAgICAgIHNjaGVtYVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gb3A7XHJcbiAgICB9KTtcclxufVxyXG4iXX0=
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { isFactoryProvider } from "tsyringe";
|
|
2
|
-
import { Tree } from "./tree";
|
|
3
|
-
import { isString } from "../utils";
|
|
4
|
-
export class DiContainer {
|
|
5
|
-
constructor(container, parent = null) {
|
|
6
|
-
this.container = container;
|
|
7
|
-
this.parent = parent;
|
|
8
|
-
container["wrapperContainer"] = this;
|
|
9
|
-
this.tokens = [];
|
|
10
|
-
this.tokenSet = new Set();
|
|
11
|
-
this.root = new Tree(this, false, "");
|
|
12
|
-
}
|
|
13
|
-
get registeredTokens() {
|
|
14
|
-
var _a;
|
|
15
|
-
return (((_a = this.parent) === null || _a === void 0 ? void 0 : _a.registeredTokens) || []).concat(this.tokens);
|
|
16
|
-
}
|
|
17
|
-
get tree() {
|
|
18
|
-
return this.root;
|
|
19
|
-
}
|
|
20
|
-
beforeResolution(token, callback, options) {
|
|
21
|
-
this.container.beforeResolution(token, callback, options);
|
|
22
|
-
}
|
|
23
|
-
afterResolution(token, callback, options) {
|
|
24
|
-
this.container.afterResolution(token, callback, options);
|
|
25
|
-
}
|
|
26
|
-
clearInstances() {
|
|
27
|
-
this.container.clearInstances();
|
|
28
|
-
}
|
|
29
|
-
createChildContainer() {
|
|
30
|
-
return new DiContainer(this.container.createChildContainer(), this);
|
|
31
|
-
}
|
|
32
|
-
isRegistered(token, recursive) {
|
|
33
|
-
return this.container.isRegistered(token, recursive);
|
|
34
|
-
}
|
|
35
|
-
register(token, provider, options) {
|
|
36
|
-
if (isFactoryProvider(provider)) {
|
|
37
|
-
this.container.register(token, {
|
|
38
|
-
useFactory: dc => {
|
|
39
|
-
return provider.useFactory(dc["wrapperContainer"]);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
return this.addToken(token);
|
|
43
|
-
}
|
|
44
|
-
this.container.register(token, provider);
|
|
45
|
-
return this.addToken(token);
|
|
46
|
-
}
|
|
47
|
-
registerInstance(token, instance) {
|
|
48
|
-
this.container.registerInstance(token, instance);
|
|
49
|
-
return this.addToken(token);
|
|
50
|
-
}
|
|
51
|
-
registerSingleton(from, to) {
|
|
52
|
-
this.container.registerSingleton(from, to);
|
|
53
|
-
return this.addToken(from);
|
|
54
|
-
}
|
|
55
|
-
registerType(from, to) {
|
|
56
|
-
this.container.registerType(from, to);
|
|
57
|
-
return this.addToken(from);
|
|
58
|
-
}
|
|
59
|
-
reset() {
|
|
60
|
-
this.tokens = [];
|
|
61
|
-
this.tokenSet = new Set();
|
|
62
|
-
this.container.reset();
|
|
63
|
-
}
|
|
64
|
-
resolve(token) {
|
|
65
|
-
return this.container.resolve(token);
|
|
66
|
-
}
|
|
67
|
-
resolveAll(token) {
|
|
68
|
-
return this.container.resolveAll(token);
|
|
69
|
-
}
|
|
70
|
-
get(token) {
|
|
71
|
-
return this.container.resolve(token);
|
|
72
|
-
}
|
|
73
|
-
addToken(token) {
|
|
74
|
-
if (this.tokenSet.has(token))
|
|
75
|
-
return this;
|
|
76
|
-
this.tokenSet.add(token);
|
|
77
|
-
this.tokens.push(token);
|
|
78
|
-
if (isString(token)) {
|
|
79
|
-
this.root.addPath(token);
|
|
80
|
-
}
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGktY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxpdGllcy9kaS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILGlCQUFpQixFQUlwQixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFVbEMsTUFBTSxPQUFPLFdBQVc7SUFjcEIsWUFBc0IsU0FBOEIsRUFBVyxTQUErQixJQUFJO1FBQTVFLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBNkI7UUFDOUYsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFqQkQsSUFBSSxnQkFBZ0I7O1FBQ2hCLE9BQU8sQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsZ0JBQWdCLEtBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFhRCxnQkFBZ0IsQ0FBSSxLQUF3QixFQUFFLFFBQTZDLEVBQUUsT0FBa0M7UUFDM0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxlQUFlLENBQUksS0FBd0IsRUFBRSxRQUE4QyxFQUFFLE9BQWtDO1FBQzNILElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELFlBQVksQ0FBSSxLQUF3QixFQUFFLFNBQW1CO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFPRCxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUE2QjtRQUNuRCxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDM0IsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFO29CQUNiLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUksS0FBd0IsRUFBRSxRQUFXO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBSUQsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEVBQUc7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFZLENBQUksSUFBdUIsRUFBRSxFQUFxQjtRQUMxRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPLENBQUksS0FBd0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVSxDQUFJLEtBQXdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELEdBQUcsQ0FBSSxLQUF3QjtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUyxRQUFRLENBQUksS0FBd0I7UUFDMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDbGFzc1Byb3ZpZGVyLFxyXG4gICAgRGVwZW5kZW5jeUNvbnRhaW5lcixcclxuICAgIEZyZXF1ZW5jeSxcclxuICAgIEluamVjdGlvblRva2VuLFxyXG4gICAgaXNGYWN0b3J5UHJvdmlkZXIsXHJcbiAgICBSZWdpc3RyYXRpb25PcHRpb25zLFxyXG4gICAgVG9rZW5Qcm92aWRlcixcclxuICAgIFZhbHVlUHJvdmlkZXJcclxufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtGYWN0b3J5UHJvdmlkZXIsIElEZXBlbmRlbmN5Q29udGFpbmVyLCBJVHJlZSwgVHlwZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1RyZWV9IGZyb20gXCIuL3RyZWVcIjtcclxuaW1wb3J0IHtpc1N0cmluZ30gZnJvbSBcIi4uL3V0aWxzXCI7XHJcblxyXG5pbnRlcmZhY2UgUHJlUmVzb2x1dGlvbkludGVyY2VwdG9yQ2FsbGJhY2s8VCA9IGFueT4ge1xyXG4gICAgKHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcmVzb2x1dGlvblR5cGU6IFwiU2luZ2xlXCIgfCBcIkFsbFwiKTogdm9pZDtcclxufVxyXG5cclxuaW50ZXJmYWNlIFBvc3RSZXNvbHV0aW9uSW50ZXJjZXB0b3JDYWxsYmFjazxUID0gYW55PiB7XHJcbiAgICAodG9rZW46IEluamVjdGlvblRva2VuPFQ+LCByZXN1bHQ6IFQgfCBUW10sIHJlc29sdXRpb25UeXBlOiBcIlNpbmdsZVwiIHwgXCJBbGxcIik6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEaUNvbnRhaW5lciBpbXBsZW1lbnRzIElEZXBlbmRlbmN5Q29udGFpbmVyIHtcclxuXHJcbiAgICBnZXQgcmVnaXN0ZXJlZFRva2VucygpOiBSZWFkb25seUFycmF5PEluamVjdGlvblRva2VuPiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLnBhcmVudD8ucmVnaXN0ZXJlZFRva2VucyB8fCBbXSkuY29uY2F0KHRoaXMudG9rZW5zKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdHJlZSgpOiBJVHJlZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucm9vdDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdG9rZW5zOiBBcnJheTxJbmplY3Rpb25Ub2tlbj47XHJcbiAgICBwcm90ZWN0ZWQgdG9rZW5TZXQ6IFNldDxJbmplY3Rpb25Ub2tlbj47XHJcbiAgICBwcm90ZWN0ZWQgcm9vdDogVHJlZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29udGFpbmVyOiBEZXBlbmRlbmN5Q29udGFpbmVyLCByZWFkb25seSBwYXJlbnQ6IElEZXBlbmRlbmN5Q29udGFpbmVyID0gbnVsbCkge1xyXG4gICAgICAgIGNvbnRhaW5lcltcIndyYXBwZXJDb250YWluZXJcIl0gPSB0aGlzO1xyXG4gICAgICAgIHRoaXMudG9rZW5zID0gW107XHJcbiAgICAgICAgdGhpcy50b2tlblNldCA9IG5ldyBTZXQ8SW5qZWN0aW9uVG9rZW4+KCk7XHJcbiAgICAgICAgdGhpcy5yb290ID0gbmV3IFRyZWUodGhpcywgZmFsc2UsIFwiXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGJlZm9yZVJlc29sdXRpb248VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBjYWxsYmFjazogUHJlUmVzb2x1dGlvbkludGVyY2VwdG9yQ2FsbGJhY2s8VD4sIG9wdGlvbnM/OiB7IGZyZXF1ZW5jeTogRnJlcXVlbmN5IH0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5iZWZvcmVSZXNvbHV0aW9uKHRva2VuLCBjYWxsYmFjaywgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWZ0ZXJSZXNvbHV0aW9uPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgY2FsbGJhY2s6IFBvc3RSZXNvbHV0aW9uSW50ZXJjZXB0b3JDYWxsYmFjazxUPiwgb3B0aW9ucz86IHsgZnJlcXVlbmN5OiBGcmVxdWVuY3kgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFmdGVyUmVzb2x1dGlvbih0b2tlbiwgY2FsbGJhY2ssIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFySW5zdGFuY2VzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmNsZWFySW5zdGFuY2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlQ2hpbGRDb250YWluZXIoKTogSURlcGVuZGVuY3lDb250YWluZXIge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGlDb250YWluZXIodGhpcy5jb250YWluZXIuY3JlYXRlQ2hpbGRDb250YWluZXIoKSwgdGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSZWdpc3RlcmVkPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcmVjdXJzaXZlPzogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5pc1JlZ2lzdGVyZWQodG9rZW4sIHJlY3Vyc2l2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogVmFsdWVQcm92aWRlcjxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogRmFjdG9yeVByb3ZpZGVyPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBUb2tlblByb3ZpZGVyPFQ+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogQ2xhc3NQcm92aWRlcjxUPiwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVyPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcHJvdmlkZXI6IFR5cGU8VD4sIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3Rlcih0b2tlbiwgcHJvdmlkZXIsIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogSURlcGVuZGVuY3lDb250YWluZXIge1xyXG4gICAgICAgIGlmIChpc0ZhY3RvcnlQcm92aWRlcihwcm92aWRlcikpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250YWluZXIucmVnaXN0ZXIodG9rZW4sIHtcclxuICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGRjID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvdmlkZXIudXNlRmFjdG9yeShkY1tcIndyYXBwZXJDb250YWluZXJcIl0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkVG9rZW4odG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5yZWdpc3Rlcih0b2tlbiwgcHJvdmlkZXIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFkZFRva2VuKHRva2VuKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlckluc3RhbmNlPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgaW5zdGFuY2U6IFQpOiBJRGVwZW5kZW5jeUNvbnRhaW5lciB7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIucmVnaXN0ZXJJbnN0YW5jZSh0b2tlbiwgaW5zdGFuY2UpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFkZFRva2VuKHRva2VuKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPihmcm9tOiBJbmplY3Rpb25Ub2tlbjxUPiwgdG86IEluamVjdGlvblRva2VuPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPih0b2tlbjogVHlwZTxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXJTaW5nbGV0b24oZnJvbSwgdG8/KTogSURlcGVuZGVuY3lDb250YWluZXIge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLnJlZ2lzdGVyU2luZ2xldG9uKGZyb20sIHRvKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5hZGRUb2tlbihmcm9tKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3RlclR5cGU8VD4oZnJvbTogSW5qZWN0aW9uVG9rZW48VD4sIHRvOiBJbmplY3Rpb25Ub2tlbjxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5yZWdpc3RlclR5cGUoZnJvbSwgdG8pO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFkZFRva2VuKGZyb20pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9rZW5zID0gW107XHJcbiAgICAgICAgdGhpcy50b2tlblNldCA9IG5ldyBTZXQ8SW5qZWN0aW9uVG9rZW4+KCk7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIucmVzZXQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNvbHZlPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPik6IFQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5yZXNvbHZlKHRva2VuKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNvbHZlQWxsPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPik6IFRbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLnJlc29sdmVBbGwodG9rZW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldDxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4pOiBUIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIucmVzb2x2ZSh0b2tlbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFkZFRva2VuPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPik6IHRoaXMge1xyXG4gICAgICAgIGlmICh0aGlzLnRva2VuU2V0Lmhhcyh0b2tlbikpIHJldHVybiB0aGlzO1xyXG4gICAgICAgIHRoaXMudG9rZW5TZXQuYWRkKHRva2VuKTtcclxuICAgICAgICB0aGlzLnRva2Vucy5wdXNoKHRva2VuKTtcclxuICAgICAgICBpZiAoaXNTdHJpbmcodG9rZW4pKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm9vdC5hZGRQYXRoKHRva2VuKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,29 +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
|
-
let EmptyJob = class EmptyJob {
|
|
18
|
-
process() {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
return null;
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
EmptyJob = __decorate([
|
|
25
|
-
injectable(),
|
|
26
|
-
scoped(Lifecycle.ContainerScoped)
|
|
27
|
-
], EmptyJob);
|
|
28
|
-
export { EmptyJob };
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxpdGllcy9lbXB0eS1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0lBSzFDLFFBQVEsU0FBUixRQUFRO0lBRVgsT0FBTzs7WUFDVCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQUE7Q0FDSixDQUFBO0FBTFksUUFBUTtJQUZwQixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztHQUNyQixRQUFRLENBS3BCO1NBTFksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0lKb2J9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgRW1wdHlKb2IgaW1wbGVtZW50cyBJSm9iIHtcclxuXHJcbiAgICBhc3luYyBwcm9jZXNzKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,46 +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
|
-
export class LazyAssetGenerator {
|
|
11
|
-
constructor(assetResolver, progresses, lazyId) {
|
|
12
|
-
this.assetResolver = assetResolver;
|
|
13
|
-
this.progresses = progresses;
|
|
14
|
-
this.lazyId = lazyId;
|
|
15
|
-
}
|
|
16
|
-
get assets() {
|
|
17
|
-
return this.assetResolver.assets;
|
|
18
|
-
}
|
|
19
|
-
get lazyAssets() {
|
|
20
|
-
return this.assetResolver.lazyAssets;
|
|
21
|
-
}
|
|
22
|
-
process(messaging) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const lazyAsset = yield this.lazyAssets.read(this.lazyId);
|
|
25
|
-
let progress = yield this.progresses.get(lazyAsset.progressId);
|
|
26
|
-
if (!progress || progress.canceled)
|
|
27
|
-
return null;
|
|
28
|
-
progress.setMessageBridge(messaging);
|
|
29
|
-
try {
|
|
30
|
-
const asset = yield this.generate(progress, messaging);
|
|
31
|
-
progress = yield progress.load();
|
|
32
|
-
if (!progress || progress.canceled)
|
|
33
|
-
return null;
|
|
34
|
-
yield lazyAsset.writeAsset(asset);
|
|
35
|
-
}
|
|
36
|
-
catch (e) {
|
|
37
|
-
yield progress.setError(e.message || e);
|
|
38
|
-
throw e;
|
|
39
|
-
}
|
|
40
|
-
if (progress.remaining > 0) {
|
|
41
|
-
yield progress.advance(progress.remaining);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbGl0aWVzL2xhenktYXNzZXQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE1BQU0sT0FBZ0Isa0JBQWtCO0lBVXBDLFlBQWdDLGFBQTRCLEVBQVksVUFBc0IsRUFBWSxNQUFjO1FBQXhGLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFZLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDeEgsQ0FBQztJQVRELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFDekMsQ0FBQztJQU9LLE9BQU8sQ0FBQyxTQUF5Qjs7WUFDbkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUQsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNoRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsSUFBSTtnQkFDQSxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN2RCxRQUFRLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVE7b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBQ2hELE1BQU0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyQztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLENBQUMsQ0FBQzthQUNYO1lBQ0QsSUFBSSxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTtnQkFDeEIsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUM5QztRQUNMLENBQUM7S0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJQXNzZXQsIElKb2IsIElNZXNzYWdlQnJpZGdlLCBJUHJvZ3Jlc3N9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtBc3NldHN9IGZyb20gXCIuLi9zZXJ2aWNlcy9hc3NldHNcIjtcclxuaW1wb3J0IHtMYXp5QXNzZXRzfSBmcm9tIFwiLi4vc2VydmljZXMvbGF6eS1hc3NldHNcIjtcclxuaW1wb3J0IHtBc3NldFJlc29sdmVyfSBmcm9tIFwiLi4vc2VydmljZXMvYXNzZXQtcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHtQcm9ncmVzc2VzfSBmcm9tIFwiLi4vc2VydmljZXMvcHJvZ3Jlc3Nlc1wiO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExhenlBc3NldEdlbmVyYXRvciBpbXBsZW1lbnRzIElKb2Ige1xyXG5cclxuICAgIGdldCBhc3NldHMoKTogQXNzZXRzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hc3NldFJlc29sdmVyLmFzc2V0cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbGF6eUFzc2V0cygpOiBMYXp5QXNzZXRzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hc3NldFJlc29sdmVyLmxhenlBc3NldHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhc3NldFJlc29sdmVyOiBBc3NldFJlc29sdmVyLCBwcm90ZWN0ZWQgcHJvZ3Jlc3NlczogUHJvZ3Jlc3NlcywgcHJvdGVjdGVkIGxhenlJZDogc3RyaW5nKSB7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgZ2VuZXJhdGUocHJvZ3Jlc3M6IElQcm9ncmVzcywgbWVzc2FnaW5nPzogSU1lc3NhZ2VCcmlkZ2UpOiBQcm9taXNlPElBc3NldD47XHJcblxyXG4gICAgYXN5bmMgcHJvY2VzcyhtZXNzYWdpbmc6IElNZXNzYWdlQnJpZGdlKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBsYXp5QXNzZXQgPSBhd2FpdCB0aGlzLmxhenlBc3NldHMucmVhZCh0aGlzLmxhenlJZCk7XHJcbiAgICAgICAgbGV0IHByb2dyZXNzID0gYXdhaXQgdGhpcy5wcm9ncmVzc2VzLmdldChsYXp5QXNzZXQucHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgaWYgKCFwcm9ncmVzcyB8fCBwcm9ncmVzcy5jYW5jZWxlZCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcHJvZ3Jlc3Muc2V0TWVzc2FnZUJyaWRnZShtZXNzYWdpbmcpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5nZW5lcmF0ZShwcm9ncmVzcywgbWVzc2FnaW5nKTtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MgPSBhd2FpdCBwcm9ncmVzcy5sb2FkKCk7XHJcbiAgICAgICAgICAgIGlmICghcHJvZ3Jlc3MgfHwgcHJvZ3Jlc3MuY2FuY2VsZWQpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICBhd2FpdCBsYXp5QXNzZXQud3JpdGVBc3NldChhc3NldCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBhd2FpdCBwcm9ncmVzcy5zZXRFcnJvcihlLm1lc3NhZ2UgfHwgZSk7XHJcbiAgICAgICAgICAgIHRocm93IGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9ncmVzcy5yZW1haW5pbmcgPiAwKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHByb2dyZXNzLmFkdmFuY2UocHJvZ3Jlc3MucmVtYWluaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|