@stemy/backend 5.2.2 → 6.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/clear-command.d.ts +6 -6
- package/commands/fixtures-command.d.ts +9 -9
- package/commands/index.d.ts +2 -2
- package/common-types.d.ts +325 -326
- package/esm2022/commands/clear-command.mjs +15 -0
- package/esm2022/commands/fixtures-command.mjs +26 -0
- package/esm2022/commands/index.mjs +7 -0
- package/esm2022/common-types.mjs +26 -0
- package/esm2022/fixtures/index.mjs +5 -0
- package/esm2022/fixtures/ttl.fixture.mjs +23 -0
- package/esm2022/public_api.mjs +378 -0
- package/esm2022/requests/asset-image-params.mjs +60 -0
- package/esm2022/rest-controllers/assets.controller.mjs +177 -0
- package/esm2022/rest-controllers/auth.controller.mjs +57 -0
- package/esm2022/rest-controllers/gallery.controller.mjs +27 -0
- package/esm2022/rest-controllers/progresses.controller.mjs +38 -0
- package/esm2022/rest-controllers/terminal-styles.mjs +67 -0
- package/esm2022/rest-controllers/terminal.controller.mjs +132 -0
- package/esm2022/rest-middlewares/container.middleware.mjs +22 -0
- package/esm2022/rest-middlewares/error-handler.middleware.mjs +79 -0
- package/esm2022/rest-middlewares/language.middleware.mjs +21 -0
- package/esm2022/rest-middlewares/request-ended.middleware.mjs +26 -0
- package/esm2022/rest-middlewares/request-started.middleware.mjs +25 -0
- package/esm2022/services/asset-processor.mjs +88 -0
- package/esm2022/services/asset-resolver.mjs +36 -0
- package/esm2022/services/assets.mjs +154 -0
- package/esm2022/services/backend-provider.mjs +83 -0
- package/esm2022/services/cache-processor.mjs +16 -0
- package/esm2022/services/cache.mjs +70 -0
- package/esm2022/services/configuration.mjs +68 -0
- package/esm2022/services/drivers/asset-grid.driver.mjs +27 -0
- package/esm2022/services/drivers/asset-local.driver.mjs +41 -0
- package/esm2022/services/endpoint-provider.mjs +13 -0
- package/esm2022/services/entities/asset.mjs +61 -0
- package/esm2022/services/entities/base-entity.mjs +32 -0
- package/esm2022/services/entities/lazy-asset.mjs +87 -0
- package/esm2022/services/entities/progress.mjs +182 -0
- package/esm2022/services/entities/temp-asset.mjs +53 -0
- package/esm2022/services/fixtures.mjs +38 -0
- package/esm2022/services/gallery-cache.mjs +29 -0
- package/esm2022/services/gallery-image.mjs +42 -0
- package/esm2022/services/gallery.mjs +124 -0
- package/esm2022/services/id-generator.mjs +49 -0
- package/esm2022/services/job-manager.mjs +198 -0
- package/esm2022/services/lazy-assets.mjs +68 -0
- package/esm2022/services/logger.mjs +26 -0
- package/esm2022/services/mail-sender.mjs +42 -0
- package/esm2022/services/memory-cache.mjs +61 -0
- package/esm2022/services/mongo-connector.mjs +36 -0
- package/esm2022/services/open-api.mjs +123 -0
- package/esm2022/services/progresses.mjs +93 -0
- package/esm2022/services/template-renderer.mjs +71 -0
- package/esm2022/services/terminal-manager.mjs +88 -0
- package/esm2022/services/token-generator.mjs +37 -0
- package/esm2022/services/translation-provider.mjs +39 -0
- package/esm2022/services/translator.mjs +67 -0
- package/esm2022/services/user-manager.mjs +27 -0
- package/esm2022/socket-controllers/progress.controller.mjs +63 -0
- package/esm2022/socket-controllers/terminal.controller.mjs +61 -0
- package/esm2022/socket-controllers/terminal.mjs +89 -0
- package/esm2022/socket-middlewares/compression.middleware.mjs +14 -0
- package/esm2022/static.mjs +23 -0
- package/esm2022/stemy-backend.mjs +5 -0
- package/esm2022/utilities/base-doc.mjs +33 -0
- package/esm2022/utilities/decorators.mjs +51 -0
- package/esm2022/utilities/di-container.mjs +88 -0
- package/esm2022/utilities/empty-job.mjs +13 -0
- package/esm2022/utilities/lazy-asset-generator.mjs +38 -0
- package/esm2022/utilities/mongoose.mjs +216 -0
- package/esm2022/utilities/tree.mjs +119 -0
- package/esm2022/utils.mjs +728 -0
- package/esm2022/validators.mjs +46 -0
- package/fesm2022/stemy-backend.mjs +4689 -0
- package/fesm2022/stemy-backend.mjs.map +1 -0
- package/fixtures/index.d.ts +2 -2
- package/fixtures/ttl.fixture.d.ts +7 -7
- package/index.d.ts +5 -5
- package/package.json +42 -48
- package/public_api.d.ts +44 -44
- package/requests/asset-image-params.d.ts +12 -12
- package/rest-controllers/assets.controller.d.ts +25 -27
- package/rest-controllers/auth.controller.d.ts +14 -14
- package/rest-controllers/gallery.controller.d.ts +6 -7
- package/rest-controllers/progresses.controller.d.ts +9 -9
- package/rest-controllers/terminal-styles.d.ts +2 -2
- package/rest-controllers/terminal.controller.d.ts +10 -10
- package/rest-middlewares/container.middleware.d.ts +8 -8
- package/rest-middlewares/error-handler.middleware.d.ts +13 -13
- package/rest-middlewares/language.middleware.d.ts +8 -8
- package/rest-middlewares/request-ended.middleware.d.ts +8 -8
- package/rest-middlewares/request-started.middleware.d.ts +8 -8
- package/services/asset-processor.d.ts +10 -11
- package/services/asset-resolver.d.ts +10 -10
- package/services/assets.d.ts +24 -26
- package/services/backend-provider.d.ts +19 -20
- package/services/cache-processor.d.ts +4 -4
- package/services/cache.d.ts +23 -23
- package/services/configuration.d.ts +15 -15
- package/services/drivers/asset-grid.driver.d.ts +11 -11
- package/services/drivers/asset-local.driver.d.ts +10 -11
- package/services/endpoint-provider.d.ts +4 -4
- package/services/entities/asset.d.ts +19 -21
- package/services/entities/base-entity.d.ts +13 -13
- package/services/entities/lazy-asset.d.ts +25 -25
- package/services/entities/progress.d.ts +49 -49
- package/services/entities/temp-asset.d.ts +20 -22
- package/services/fixtures.d.ts +8 -8
- package/services/gallery-cache.d.ts +8 -9
- package/services/gallery-image.d.ts +10 -11
- package/services/gallery.d.ts +13 -13
- package/services/id-generator.d.ts +11 -11
- package/services/job-manager.d.ts +35 -35
- package/services/lazy-assets.d.ts +22 -22
- package/services/logger.d.ts +8 -8
- package/services/mail-sender.d.ts +20 -20
- package/services/memory-cache.d.ts +10 -10
- package/services/mongo-connector.d.ts +12 -12
- package/services/open-api.d.ts +13 -13
- package/services/progresses.d.ts +20 -20
- package/services/template-renderer.d.ts +14 -14
- package/services/terminal-manager.d.ts +15 -15
- package/services/token-generator.d.ts +6 -6
- package/services/translation-provider.d.ts +9 -9
- package/services/translator.d.ts +15 -15
- package/services/user-manager.d.ts +6 -6
- package/socket-controllers/progress.controller.d.ts +10 -10
- package/socket-controllers/terminal.controller.d.ts +13 -13
- package/socket-controllers/terminal.d.ts +19 -20
- package/socket-middlewares/compression.middleware.d.ts +4 -4
- package/static.d.ts +2 -2
- package/utilities/base-doc.d.ts +40 -40
- package/utilities/decorators.d.ts +10 -10
- package/utilities/di-container.d.ts +43 -43
- package/utilities/empty-job.d.ts +4 -4
- package/utilities/lazy-asset-generator.d.ts +15 -15
- package/utilities/mongoose.d.ts +36 -36
- package/utilities/tree.d.ts +15 -15
- package/utils.d.ts +118 -123
- package/validators.d.ts +7 -7
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { inject, singleton } from "tsyringe";
|
|
3
|
+
import { ConnectedSocket, MessageBody, OnMessage, SocketController } from "socket-controllers";
|
|
4
|
+
import { Server } from "socket.io";
|
|
5
|
+
import { SOCKET_SERVER } from "../common-types";
|
|
6
|
+
import { broadcast } from "../utils";
|
|
7
|
+
import { Progresses } from "../services/progresses";
|
|
8
|
+
let ProgressController = class ProgressController {
|
|
9
|
+
progresses;
|
|
10
|
+
socketServer;
|
|
11
|
+
constructor(progresses, socketServer) {
|
|
12
|
+
this.progresses = progresses;
|
|
13
|
+
this.socketServer = socketServer;
|
|
14
|
+
}
|
|
15
|
+
async advanceProgress(client, progressId) {
|
|
16
|
+
const progress = await this.progresses.get(progressId);
|
|
17
|
+
if (!progress)
|
|
18
|
+
return;
|
|
19
|
+
const json = progress.toJSON();
|
|
20
|
+
broadcast(this.socketServer, c => {
|
|
21
|
+
if (c.interestedProgresses instanceof Set && c.interestedProgresses.has(progressId)) {
|
|
22
|
+
client.emit("background-progress-changed", json);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
console.log(`progress changed: ${client.id}, data: ${JSON.stringify(json)}`);
|
|
26
|
+
}
|
|
27
|
+
async setProgressInterest(client, progressId) {
|
|
28
|
+
const progress = await this.progresses.get(progressId);
|
|
29
|
+
if (!progress)
|
|
30
|
+
return;
|
|
31
|
+
const json = progress.toJSON();
|
|
32
|
+
client.interestedProgresses = client.interestedProgresses || new Set();
|
|
33
|
+
if (client.interestedProgresses.has(progressId))
|
|
34
|
+
return;
|
|
35
|
+
client.interestedProgresses.add(progressId);
|
|
36
|
+
client.emit("background-progress-changed", json);
|
|
37
|
+
console.log(`progress interest added: ${client.id}, data: ${JSON.stringify(json)}`);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
__decorate([
|
|
41
|
+
OnMessage("background-progress"),
|
|
42
|
+
__param(0, ConnectedSocket()),
|
|
43
|
+
__param(1, MessageBody()),
|
|
44
|
+
__metadata("design:type", Function),
|
|
45
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
46
|
+
__metadata("design:returntype", Promise)
|
|
47
|
+
], ProgressController.prototype, "advanceProgress", null);
|
|
48
|
+
__decorate([
|
|
49
|
+
OnMessage("background-progress-interest"),
|
|
50
|
+
__param(0, ConnectedSocket()),
|
|
51
|
+
__param(1, MessageBody()),
|
|
52
|
+
__metadata("design:type", Function),
|
|
53
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
54
|
+
__metadata("design:returntype", Promise)
|
|
55
|
+
], ProgressController.prototype, "setProgressInterest", null);
|
|
56
|
+
ProgressController = __decorate([
|
|
57
|
+
singleton(),
|
|
58
|
+
SocketController(),
|
|
59
|
+
__param(1, inject(SOCKET_SERVER)),
|
|
60
|
+
__metadata("design:paramtypes", [Progresses, Server])
|
|
61
|
+
], ProgressController);
|
|
62
|
+
export { ProgressController };
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvcHJvZ3Jlc3MuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQWdCLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBSTNDLElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQWtCO0lBRU47SUFBd0Q7SUFBN0UsWUFBcUIsVUFBc0IsRUFBa0MsWUFBb0I7UUFBNUUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFrQyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUNqRyxDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsZUFBZSxDQUFvQixNQUFxQixFQUFpQixVQUFrQjtRQUM3RixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUN0QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLENBQUMsb0JBQW9CLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDbEYsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFHSyxBQUFOLEtBQUssQ0FBQyxtQkFBbUIsQ0FBb0IsTUFBcUIsRUFBaUIsVUFBa0I7UUFDakcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLElBQUksSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUMvRSxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUN4RCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsTUFBTSxDQUFDLEVBQUUsV0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0NBQ0osQ0FBQTtBQXZCUztJQURMLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQztJQUNWLFdBQUEsZUFBZSxFQUFFLENBQUE7SUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7Ozt5REFVN0U7QUFHSztJQURMLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQztJQUNmLFdBQUEsZUFBZSxFQUFFLENBQUE7SUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7Ozs2REFTakY7QUE1QlEsa0JBQWtCO0lBRjlCLFNBQVMsRUFBRTtJQUNYLGdCQUFnQixFQUFFO0lBRytCLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO3FDQUFsQyxVQUFVLEVBQWdELE1BQU07R0FGeEYsa0JBQWtCLENBNkI5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0Nvbm5lY3RlZFNvY2tldCwgTWVzc2FnZUJvZHksIE9uTWVzc2FnZSwgU29ja2V0Q29udHJvbGxlcn0gZnJvbSBcInNvY2tldC1jb250cm9sbGVyc1wiO1xyXG5pbXBvcnQge1NlcnZlcn0gZnJvbSBcInNvY2tldC5pb1wiO1xyXG5pbXBvcnQge0lDbGllbnRTb2NrZXQsIFNPQ0tFVF9TRVJWRVJ9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHticm9hZGNhc3R9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge1Byb2dyZXNzZXN9IGZyb20gXCIuLi9zZXJ2aWNlcy9wcm9ncmVzc2VzXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuQFNvY2tldENvbnRyb2xsZXIoKVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NDb250cm9sbGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBwcm9ncmVzc2VzOiBQcm9ncmVzc2VzLCBAaW5qZWN0KFNPQ0tFVF9TRVJWRVIpIHJlYWRvbmx5IHNvY2tldFNlcnZlcjogU2VydmVyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgQE9uTWVzc2FnZShcImJhY2tncm91bmQtcHJvZ3Jlc3NcIilcclxuICAgIGFzeW5jIGFkdmFuY2VQcm9ncmVzcyhAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0LCBATWVzc2FnZUJvZHkoKSBwcm9ncmVzc0lkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5nZXQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgaWYgKCFwcm9ncmVzcykgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGpzb24gPSBwcm9ncmVzcy50b0pTT04oKTtcclxuICAgICAgICBicm9hZGNhc3QodGhpcy5zb2NrZXRTZXJ2ZXIsIGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYy5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyBpbnN0YW5jZW9mIFNldCAmJiBjLmludGVyZXN0ZWRQcm9ncmVzc2VzLmhhcyhwcm9ncmVzc0lkKSkge1xyXG4gICAgICAgICAgICAgICAgY2xpZW50LmVtaXQoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWNoYW5nZWRcIiwganNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgcHJvZ3Jlc3MgY2hhbmdlZDogJHtjbGllbnQuaWR9LCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGpzb24pfWApO1xyXG4gICAgfVxyXG5cclxuICAgIEBPbk1lc3NhZ2UoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWludGVyZXN0XCIpXHJcbiAgICBhc3luYyBzZXRQcm9ncmVzc0ludGVyZXN0KEBDb25uZWN0ZWRTb2NrZXQoKSBjbGllbnQ6IElDbGllbnRTb2NrZXQsIEBNZXNzYWdlQm9keSgpIHByb2dyZXNzSWQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHByb2dyZXNzID0gYXdhaXQgdGhpcy5wcm9ncmVzc2VzLmdldChwcm9ncmVzc0lkKTtcclxuICAgICAgICBpZiAoIXByb2dyZXNzKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QganNvbiA9IHByb2dyZXNzLnRvSlNPTigpO1xyXG4gICAgICAgIGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyA9IGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyB8fCBuZXcgU2V0PHN0cmluZz4oKTtcclxuICAgICAgICBpZiAoY2xpZW50LmludGVyZXN0ZWRQcm9ncmVzc2VzLmhhcyhwcm9ncmVzc0lkKSkgcmV0dXJuO1xyXG4gICAgICAgIGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3Nlcy5hZGQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgY2xpZW50LmVtaXQoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWNoYW5nZWRcIiwganNvbik7XHJcbiAgICAgICAgY29uc29sZS5sb2coYHByb2dyZXNzIGludGVyZXN0IGFkZGVkOiAke2NsaWVudC5pZH0sIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoanNvbil9YCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { singleton } from "tsyringe";
|
|
3
|
+
import { ConnectedSocket, MessageBody, OnMessage, SocketController } from "socket-controllers";
|
|
4
|
+
import { TerminalManager } from "../services/terminal-manager";
|
|
5
|
+
import { Terminal } from "./terminal";
|
|
6
|
+
let TerminalController = class TerminalController {
|
|
7
|
+
manager;
|
|
8
|
+
terminals;
|
|
9
|
+
constructor(manager) {
|
|
10
|
+
this.manager = manager;
|
|
11
|
+
this.terminals = {};
|
|
12
|
+
}
|
|
13
|
+
async terminalInit(client) {
|
|
14
|
+
const terminal = new Terminal(client);
|
|
15
|
+
this.manager.loadAddons(terminal);
|
|
16
|
+
this.terminals[client.id] = terminal;
|
|
17
|
+
client.on("disconnect", () => terminal.dispose());
|
|
18
|
+
}
|
|
19
|
+
async terminalData(client, data) {
|
|
20
|
+
const terminal = this.terminals[client.id];
|
|
21
|
+
if (!terminal)
|
|
22
|
+
return;
|
|
23
|
+
terminal.input(data);
|
|
24
|
+
}
|
|
25
|
+
async terminalUpload(client, upload) {
|
|
26
|
+
const terminal = this.terminals[client.id];
|
|
27
|
+
if (!terminal || !upload)
|
|
28
|
+
return;
|
|
29
|
+
terminal.addFile(upload);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
__decorate([
|
|
33
|
+
OnMessage("terminal-init"),
|
|
34
|
+
__param(0, ConnectedSocket()),
|
|
35
|
+
__metadata("design:type", Function),
|
|
36
|
+
__metadata("design:paramtypes", [Object]),
|
|
37
|
+
__metadata("design:returntype", Promise)
|
|
38
|
+
], TerminalController.prototype, "terminalInit", null);
|
|
39
|
+
__decorate([
|
|
40
|
+
OnMessage("terminal-data"),
|
|
41
|
+
__param(0, ConnectedSocket()),
|
|
42
|
+
__param(1, MessageBody()),
|
|
43
|
+
__metadata("design:type", Function),
|
|
44
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
45
|
+
__metadata("design:returntype", Promise)
|
|
46
|
+
], TerminalController.prototype, "terminalData", null);
|
|
47
|
+
__decorate([
|
|
48
|
+
OnMessage("terminal-upload"),
|
|
49
|
+
__param(0, ConnectedSocket()),
|
|
50
|
+
__param(1, MessageBody()),
|
|
51
|
+
__metadata("design:type", Function),
|
|
52
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
53
|
+
__metadata("design:returntype", Promise)
|
|
54
|
+
], TerminalController.prototype, "terminalUpload", null);
|
|
55
|
+
TerminalController = __decorate([
|
|
56
|
+
singleton(),
|
|
57
|
+
SocketController(),
|
|
58
|
+
__metadata("design:paramtypes", [TerminalManager])
|
|
59
|
+
], TerminalController);
|
|
60
|
+
export { TerminalController };
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvdGVybWluYWwuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUc3RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUk3QixJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQUdMO0lBRlosU0FBUyxDQUEyQjtJQUU5QyxZQUFzQixPQUF3QjtRQUF4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsWUFBWSxDQUFvQixNQUFxQjtRQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDckMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUdLLEFBQU4sS0FBSyxDQUFDLFlBQVksQ0FBb0IsTUFBcUIsRUFBaUIsSUFBWTtRQUNwRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDdEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsY0FBYyxDQUFvQixNQUFxQixFQUFpQixNQUFxQjtRQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDakMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0osQ0FBQTtBQXBCUztJQURMLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFDUCxXQUFBLGVBQWUsRUFBRSxDQUFBOzs7O3NEQUtwQztBQUdLO0lBREwsU0FBUyxDQUFDLGVBQWUsQ0FBQztJQUNQLFdBQUEsZUFBZSxFQUFFLENBQUE7SUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7OztzREFJMUU7QUFHSztJQURMLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUNQLFdBQUEsZUFBZSxFQUFFLENBQUE7SUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7Ozt3REFJNUU7QUEzQlEsa0JBQWtCO0lBRjlCLFNBQVMsRUFBRTtJQUNYLGdCQUFnQixFQUFFO3FDQUlnQixlQUFlO0dBSHJDLGtCQUFrQixDQTRCOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7Q29ubmVjdGVkU29ja2V0LCBNZXNzYWdlQm9keSwgT25NZXNzYWdlLCBTb2NrZXRDb250cm9sbGVyfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcblxyXG5pbXBvcnQge0lDbGllbnRTb2NrZXQsIElUZXJtaW5hbEZpbGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtUZXJtaW5hbE1hbmFnZXJ9IGZyb20gXCIuLi9zZXJ2aWNlcy90ZXJtaW5hbC1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7VGVybWluYWx9IGZyb20gXCIuL3Rlcm1pbmFsXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuQFNvY2tldENvbnRyb2xsZXIoKVxyXG5leHBvcnQgY2xhc3MgVGVybWluYWxDb250cm9sbGVyIHtcclxuICAgIHByb3RlY3RlZCB0ZXJtaW5hbHM6IHtbaWQ6IHN0cmluZ106IFRlcm1pbmFsfTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWFuYWdlcjogVGVybWluYWxNYW5hZ2VyKSB7XHJcbiAgICAgICAgdGhpcy50ZXJtaW5hbHMgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBAT25NZXNzYWdlKFwidGVybWluYWwtaW5pdFwiKVxyXG4gICAgYXN5bmMgdGVybWluYWxJbml0KEBDb25uZWN0ZWRTb2NrZXQoKSBjbGllbnQ6IElDbGllbnRTb2NrZXQpIHtcclxuICAgICAgICBjb25zdCB0ZXJtaW5hbCA9IG5ldyBUZXJtaW5hbChjbGllbnQpO1xyXG4gICAgICAgIHRoaXMubWFuYWdlci5sb2FkQWRkb25zKHRlcm1pbmFsKTtcclxuICAgICAgICB0aGlzLnRlcm1pbmFsc1tjbGllbnQuaWRdID0gdGVybWluYWw7XHJcbiAgICAgICAgY2xpZW50Lm9uKFwiZGlzY29ubmVjdFwiLCAoKSA9PiB0ZXJtaW5hbC5kaXNwb3NlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPbk1lc3NhZ2UoXCJ0ZXJtaW5hbC1kYXRhXCIpXHJcbiAgICBhc3luYyB0ZXJtaW5hbERhdGEoQENvbm5lY3RlZFNvY2tldCgpIGNsaWVudDogSUNsaWVudFNvY2tldCwgQE1lc3NhZ2VCb2R5KCkgZGF0YTogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdGVybWluYWwgPSB0aGlzLnRlcm1pbmFsc1tjbGllbnQuaWRdO1xyXG4gICAgICAgIGlmICghdGVybWluYWwpIHJldHVybjtcclxuICAgICAgICB0ZXJtaW5hbC5pbnB1dChkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBAT25NZXNzYWdlKFwidGVybWluYWwtdXBsb2FkXCIpXHJcbiAgICBhc3luYyB0ZXJtaW5hbFVwbG9hZChAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0LCBATWVzc2FnZUJvZHkoKSB1cGxvYWQ6IElUZXJtaW5hbEZpbGUpIHtcclxuICAgICAgICBjb25zdCB0ZXJtaW5hbCA9IHRoaXMudGVybWluYWxzW2NsaWVudC5pZF07XHJcbiAgICAgICAgaWYgKCF0ZXJtaW5hbCB8fCAhdXBsb2FkKSByZXR1cm47XHJcbiAgICAgICAgdGVybWluYWwuYWRkRmlsZSh1cGxvYWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { BehaviorSubject, Subject } from "rxjs";
|
|
2
|
+
import { first, map, timeout } from "rxjs/operators";
|
|
3
|
+
import { fileTypeFromBuffer } from "../utils";
|
|
4
|
+
export class Terminal {
|
|
5
|
+
client;
|
|
6
|
+
addons;
|
|
7
|
+
files$;
|
|
8
|
+
input$;
|
|
9
|
+
constructor(client) {
|
|
10
|
+
this.client = client;
|
|
11
|
+
this.addons = [];
|
|
12
|
+
this.files$ = new BehaviorSubject([]);
|
|
13
|
+
this.input$ = new Subject();
|
|
14
|
+
}
|
|
15
|
+
onData(cb) {
|
|
16
|
+
const sub = this.input$.pipe(map(v => {
|
|
17
|
+
if (v === "\b") {
|
|
18
|
+
return "\x7f";
|
|
19
|
+
}
|
|
20
|
+
return v;
|
|
21
|
+
})).subscribe(cb);
|
|
22
|
+
return {
|
|
23
|
+
dispose: () => sub.unsubscribe()
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
write(data) {
|
|
27
|
+
this.client.emit("terminal-data", data);
|
|
28
|
+
}
|
|
29
|
+
writeln(data) {
|
|
30
|
+
this.write(data + "\n");
|
|
31
|
+
}
|
|
32
|
+
loadAddon(addon) {
|
|
33
|
+
addon.activate(this);
|
|
34
|
+
this.addons.push(addon);
|
|
35
|
+
}
|
|
36
|
+
dispose() {
|
|
37
|
+
this.input$.complete();
|
|
38
|
+
this.client = null;
|
|
39
|
+
this.addons.forEach(a => a.dispose());
|
|
40
|
+
}
|
|
41
|
+
async suggestFiles(accept) {
|
|
42
|
+
const rand = Math.round(Math.random() * 1000);
|
|
43
|
+
const id = `${Date.now()}-${rand}`;
|
|
44
|
+
const files = this.files$.value;
|
|
45
|
+
return files.filter(f => f.accept === accept).concat([
|
|
46
|
+
{
|
|
47
|
+
id,
|
|
48
|
+
label: "...",
|
|
49
|
+
onAccept: async () => {
|
|
50
|
+
this.client.emit("terminal-upload", {
|
|
51
|
+
id,
|
|
52
|
+
accept
|
|
53
|
+
});
|
|
54
|
+
const file = await this.files$
|
|
55
|
+
.pipe(first(v => v.some(f => f.id === id)))
|
|
56
|
+
.pipe(timeout(120000))
|
|
57
|
+
.pipe(map(v => v.find(f => f.id === id)))
|
|
58
|
+
.toPromise();
|
|
59
|
+
if (file.error) {
|
|
60
|
+
this.files$.next(this.files$.value.filter(f => f.id !== id));
|
|
61
|
+
throw new Error(file.error);
|
|
62
|
+
}
|
|
63
|
+
return file;
|
|
64
|
+
},
|
|
65
|
+
showAlways: true,
|
|
66
|
+
accept: accept,
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
async downloadFile(filename, buffer) {
|
|
71
|
+
const type = await fileTypeFromBuffer(buffer);
|
|
72
|
+
const data = buffer.toString("base64");
|
|
73
|
+
const content = `data:${type.mime};base64,${data}`;
|
|
74
|
+
this.client.emit("terminal-download", {
|
|
75
|
+
filename,
|
|
76
|
+
content
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
addFile(upload) {
|
|
80
|
+
if (upload.content) {
|
|
81
|
+
upload.buffer = Buffer.from(upload.content, "base64");
|
|
82
|
+
}
|
|
83
|
+
this.files$.next(this.files$.value.concat(upload));
|
|
84
|
+
}
|
|
85
|
+
input(data) {
|
|
86
|
+
this.input$.next(data);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc29ja2V0LWNvbnRyb2xsZXJzL3Rlcm1pbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR25ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUU1QyxNQUFNLE9BQU8sUUFBUTtJQUtLO0lBSlosTUFBTSxDQUFtQjtJQUN6QixNQUFNLENBQW1DO0lBQ3pDLE1BQU0sQ0FBa0I7SUFFbEMsWUFBc0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQXlCO1FBQzVCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDYixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixPQUFPO1lBQ0gsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUU7U0FDbkMsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWTtRQUNkLElB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QUFPLEdBQUcsUUFBUSxJQUFJLENBQUMsSUFBSSxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ2xDLFFBQVE7WUFDUixPQUFPO1NBQ1YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFxQjtRQUN6QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIFN1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Zmlyc3QsIG1hcCwgdGltZW91dH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7SURpc3Bvc2FibGUsIElTdWdnZXN0aW9uLCBJVGVybWluYWxBZGRvbn0gZnJvbSBcIkBzdGVteS90ZXJtaW5hbC1jb21tYW5kcy1hZGRvblwiO1xyXG5pbXBvcnQge0lDbGllbnRTb2NrZXQsIElUZXJtaW5hbCwgSVRlcm1pbmFsRmlsZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge2ZpbGVUeXBlRnJvbUJ1ZmZlcn0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGVybWluYWwgaW1wbGVtZW50cyBJVGVybWluYWwge1xyXG4gICAgcHJvdGVjdGVkIGFkZG9uczogSVRlcm1pbmFsQWRkb25bXTtcclxuICAgIHByb3RlY3RlZCBmaWxlcyQ6IEJlaGF2aW9yU3ViamVjdDxJVGVybWluYWxGaWxlW10+O1xyXG4gICAgcHJvdGVjdGVkIGlucHV0JDogU3ViamVjdDxzdHJpbmc+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjbGllbnQ6IElDbGllbnRTb2NrZXQpIHtcclxuICAgICAgICB0aGlzLmFkZG9ucyA9IFtdO1xyXG4gICAgICAgIHRoaXMuZmlsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XHJcbiAgICAgICAgdGhpcy5pbnB1dCQgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRGF0YShjYjogKGRhdGE6IHN0cmluZykgPT4gYW55KTogSURpc3Bvc2FibGUge1xyXG4gICAgICAgIGNvbnN0IHN1YiA9IHRoaXMuaW5wdXQkLnBpcGUobWFwKHYgPT4ge1xyXG4gICAgICAgICAgICBpZiAodiA9PT0gXCJcXGJcIikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXFx4N2ZcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdjtcclxuICAgICAgICB9KSkuc3Vic2NyaWJlKGNiKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkaXNwb3NlOiAoKSA9PiBzdWIudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGUoZGF0YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jbGllbnQuZW1pdChcInRlcm1pbmFsLWRhdGFcIiwgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVsbihkYXRhOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLndyaXRlKGRhdGEgKyBcIlxcblwiKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkQWRkb24oYWRkb246IElUZXJtaW5hbEFkZG9uKSB7XHJcbiAgICAgICAgYWRkb24uYWN0aXZhdGUodGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRvbnMucHVzaChhZGRvbik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcG9zZSgpIHtcclxuICAgICAgICB0aGlzLmlucHV0JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMuY2xpZW50ID0gbnVsbDtcclxuICAgICAgICB0aGlzLmFkZG9ucy5mb3JFYWNoKGEgPT4gYS5kaXNwb3NlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHN1Z2dlc3RGaWxlcyhhY2NlcHQ6IHN0cmluZyk6IFByb21pc2U8SVRlcm1pbmFsRmlsZVtdPiB7XHJcbiAgICAgICAgY29uc3QgcmFuZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDApO1xyXG4gICAgICAgIGNvbnN0IGlkID0gYCR7RGF0ZS5ub3coKX0tJHtyYW5kfWA7XHJcbiAgICAgICAgY29uc3QgZmlsZXMgPSB0aGlzLmZpbGVzJC52YWx1ZSBhcyBJU3VnZ2VzdGlvbltdO1xyXG4gICAgICAgIHJldHVybiBmaWxlcy5maWx0ZXIoZiA9PiBmLmFjY2VwdCA9PT0gYWNjZXB0KS5jb25jYXQoW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIi4uLlwiLFxyXG4gICAgICAgICAgICAgICAgb25BY2NlcHQ6IGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWVudC5lbWl0KFwidGVybWluYWwtdXBsb2FkXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VwdFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB0aGlzLmZpbGVzJFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShmaXJzdCh2ID0+IHYuc29tZShmID0+IGYuaWQgPT09IGlkKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRpbWVvdXQoMTIwMDAwKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKHYgPT4gdi5maW5kKGYgPT4gZi5pZCA9PT0gaWQpKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWxlLmVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMkLm5leHQodGhpcy5maWxlcyQudmFsdWUuZmlsdGVyKGYgPT4gZi5pZCAhPT0gaWQpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGZpbGUuZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsZTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzaG93QWx3YXlzOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgYWNjZXB0OiBhY2NlcHQsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb3dubG9hZEZpbGUoZmlsZW5hbWU6IHN0cmluZywgYnVmZmVyOiBCdWZmZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCB0eXBlID0gYXdhaXQgZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IGJ1ZmZlci50b1N0cmluZyhcImJhc2U2NFwiKTtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gYGRhdGE6JHt0eXBlLm1pbWV9O2Jhc2U2NCwke2RhdGF9YDtcclxuICAgICAgICB0aGlzLmNsaWVudC5lbWl0KFwidGVybWluYWwtZG93bmxvYWRcIiwge1xyXG4gICAgICAgICAgICBmaWxlbmFtZSxcclxuICAgICAgICAgICAgY29udGVudFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEZpbGUodXBsb2FkOiBJVGVybWluYWxGaWxlKSB7XHJcbiAgICAgICAgaWYgKHVwbG9hZC5jb250ZW50KSB7XHJcbiAgICAgICAgICAgIHVwbG9hZC5idWZmZXIgPSBCdWZmZXIuZnJvbSh1cGxvYWQuY29udGVudCwgXCJiYXNlNjRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZmlsZXMkLm5leHQodGhpcy5maWxlcyQudmFsdWUuY29uY2F0KHVwbG9hZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0KGRhdGE6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuaW5wdXQkLm5leHQoZGF0YSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { injectable } from "tsyringe";
|
|
3
|
+
import { Middleware } from "socket-controllers";
|
|
4
|
+
let CompressionMiddleware = class CompressionMiddleware {
|
|
5
|
+
use(socket, next) {
|
|
6
|
+
next();
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
CompressionMiddleware = __decorate([
|
|
10
|
+
injectable(),
|
|
11
|
+
Middleware({})
|
|
12
|
+
], CompressionMiddleware);
|
|
13
|
+
export { CompressionMiddleware };
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3Npb24ubWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtbWlkZGxld2FyZXMvY29tcHJlc3Npb24ubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFzQixNQUFNLG9CQUFvQixDQUFDO0FBSTVELElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBRTlCLEdBQUcsQ0FBQyxNQUFXLEVBQUUsSUFBd0I7UUFDckMsSUFBSSxFQUFFLENBQUM7SUFDWCxDQUFDO0NBQ0osQ0FBQTtBQUxZLHFCQUFxQjtJQUZqQyxVQUFVLEVBQUU7SUFDWixVQUFVLENBQUMsRUFBRSxDQUFDO0dBQ0YscUJBQXFCLENBS2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtNaWRkbGV3YXJlLCBNaWRkbGV3YXJlSW50ZXJmYWNlfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBNaWRkbGV3YXJlKHt9KVxyXG5leHBvcnQgY2xhc3MgQ29tcHJlc3Npb25NaWRkbGV3YXJlIGltcGxlbWVudHMgTWlkZGxld2FyZUludGVyZmFjZSB7XHJcblxyXG4gICAgdXNlKHNvY2tldDogYW55LCBuZXh0OiAoZXJyPzogYW55KSA9PiBhbnkpIHtcclxuICAgICAgICBuZXh0KCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { existsSync } from "fs";
|
|
2
|
+
import { resolve } from "path";
|
|
3
|
+
import express from "express";
|
|
4
|
+
import { EXPRESS } from "./common-types";
|
|
5
|
+
import { EndpointProvider } from "./services/endpoint-provider";
|
|
6
|
+
import { getDirName } from "./utils";
|
|
7
|
+
export async function setupStatic(rootFolder, container) {
|
|
8
|
+
const browserFolder = resolve(rootFolder || getDirName(), `public_html`);
|
|
9
|
+
const app = container.get(EXPRESS);
|
|
10
|
+
const ep = container.get(EndpointProvider);
|
|
11
|
+
console.log(browserFolder, existsSync(browserFolder));
|
|
12
|
+
if (existsSync(browserFolder)) {
|
|
13
|
+
console.log(`public_html exists. setting up static files serving...`);
|
|
14
|
+
app.use(express.static(browserFolder, {
|
|
15
|
+
maxAge: "1y"
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
console.log(`public_html does not exist on path: "${browserFolder}"`);
|
|
20
|
+
}
|
|
21
|
+
await ep.configure(app);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sSUFBSSxDQUFDO0FBQzlCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBQyxPQUFPLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUVuQyxNQUFNLENBQUMsS0FBSyxVQUFVLFdBQVcsQ0FBQyxVQUFrQixFQUFFLFNBQStCO0lBRWpGLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksVUFBVSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDekUsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFFdEQsSUFBSSxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDdEUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUNsQyxNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZXhpc3RzU3luY30gZnJvbSBcImZzXCI7XHJcbmltcG9ydCB7cmVzb2x2ZX0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IGV4cHJlc3MgZnJvbSBcImV4cHJlc3NcIjtcclxuaW1wb3J0IHtFWFBSRVNTLCBJRGVwZW5kZW5jeUNvbnRhaW5lcn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7RW5kcG9pbnRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvZW5kcG9pbnQtcHJvdmlkZXJcIjtcclxuaW1wb3J0IHtnZXREaXJOYW1lfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldHVwU3RhdGljKHJvb3RGb2xkZXI6IHN0cmluZywgY29udGFpbmVyOiBJRGVwZW5kZW5jeUNvbnRhaW5lcik6IFByb21pc2U8YW55PiB7XHJcblxyXG4gICAgY29uc3QgYnJvd3NlckZvbGRlciA9IHJlc29sdmUocm9vdEZvbGRlciB8fCBnZXREaXJOYW1lKCksIGBwdWJsaWNfaHRtbGApO1xyXG4gICAgY29uc3QgYXBwID0gY29udGFpbmVyLmdldChFWFBSRVNTKTtcclxuICAgIGNvbnN0IGVwID0gY29udGFpbmVyLmdldChFbmRwb2ludFByb3ZpZGVyKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhicm93c2VyRm9sZGVyLCBleGlzdHNTeW5jKGJyb3dzZXJGb2xkZXIpKTtcclxuXHJcbiAgICBpZiAoZXhpc3RzU3luYyhicm93c2VyRm9sZGVyKSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBwdWJsaWNfaHRtbCBleGlzdHMuIHNldHRpbmcgdXAgc3RhdGljIGZpbGVzIHNlcnZpbmcuLi5gKTtcclxuICAgICAgICBhcHAudXNlKGV4cHJlc3Muc3RhdGljKGJyb3dzZXJGb2xkZXIsIHtcclxuICAgICAgICAgICAgbWF4QWdlOiBcIjF5XCJcclxuICAgICAgICB9KSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBwdWJsaWNfaHRtbCBkb2VzIG5vdCBleGlzdCBvbiBwYXRoOiBcIiR7YnJvd3NlckZvbGRlcn1cImApO1xyXG4gICAgfVxyXG5cclxuICAgIGF3YWl0IGVwLmNvbmZpZ3VyZShhcHApO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlbXktYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVteS1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import mongoose from "mongoose";
|
|
2
|
+
import { getModelForClass } from "@typegoose/typegoose";
|
|
3
|
+
export class BaseDoc {
|
|
4
|
+
_id;
|
|
5
|
+
/**
|
|
6
|
+
* This getter/setter doesn't exist if "schemaOptions.id" being set to "false"
|
|
7
|
+
*/
|
|
8
|
+
id;
|
|
9
|
+
/**
|
|
10
|
+
* This getter doesn't exist if "schemaOptions.timestamps" being set to "false"
|
|
11
|
+
*/
|
|
12
|
+
createdAt;
|
|
13
|
+
/**
|
|
14
|
+
* This getter doesn't exist if "schemaOptions.timestamps" being set to "false"
|
|
15
|
+
*/
|
|
16
|
+
updatedAt;
|
|
17
|
+
/**
|
|
18
|
+
* Casts this to DocumentType<this> to allow using document methods in get/set-s
|
|
19
|
+
*/
|
|
20
|
+
cast() {
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Gets a pre-compiled model from typegoose cache by its class type
|
|
25
|
+
* @param type
|
|
26
|
+
*/
|
|
27
|
+
model(type) {
|
|
28
|
+
return getModelForClass(type);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export const PrimitiveArray = mongoose.Types.Array;
|
|
32
|
+
export const DocumentArray = mongoose.Types.DocumentArray;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbGl0aWVzL2Jhc2UtZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFHckYsTUFBTSxPQUFnQixPQUFPO0lBRXpCLEdBQUcsQ0FBVTtJQUViOztPQUVHO0lBQ0gsRUFBRSxDQUFTO0lBRVg7O09BRUc7SUFDSCxTQUFTLENBQVE7SUFFakI7O09BRUc7SUFDSCxTQUFTLENBQVE7SUFZakI7O09BRUc7SUFDSCxJQUFJO1FBQ0EsT0FBTyxJQUFXLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBNkIsSUFBTztRQUNyQyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSjtBQUlELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztBQUluRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlZlR5cGV9IGZyb20gXCJtb25nb29zZVwiO1xyXG5pbXBvcnQgbW9uZ29vc2UgZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCB7RG9jdW1lbnRUeXBlLCBnZXRNb2RlbEZvckNsYXNzLCBSZXR1cm5Nb2RlbFR5cGV9IGZyb20gXCJAdHlwZWdvb3NlL3R5cGVnb29zZVwiO1xyXG5pbXBvcnQge0NvbnN0cnVjdG9yfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURvYzxJRFR5cGUgZXh0ZW5kcyBSZWZUeXBlID0gbW9uZ29vc2UuVHlwZXMuT2JqZWN0SWQ+IHtcclxuXHJcbiAgICBfaWQ/OiBJRFR5cGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGdldHRlci9zZXR0ZXIgZG9lc24ndCBleGlzdCBpZiBcInNjaGVtYU9wdGlvbnMuaWRcIiBiZWluZyBzZXQgdG8gXCJmYWxzZVwiXHJcbiAgICAgKi9cclxuICAgIGlkOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGdldHRlciBkb2Vzbid0IGV4aXN0IGlmIFwic2NoZW1hT3B0aW9ucy50aW1lc3RhbXBzXCIgYmVpbmcgc2V0IHRvIFwiZmFsc2VcIlxyXG4gICAgICovXHJcbiAgICBjcmVhdGVkQXQ/OiBEYXRlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBnZXR0ZXIgZG9lc24ndCBleGlzdCBpZiBcInNjaGVtYU9wdGlvbnMudGltZXN0YW1wc1wiIGJlaW5nIHNldCB0byBcImZhbHNlXCJcclxuICAgICAqL1xyXG4gICAgdXBkYXRlZEF0PzogRGF0ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIERvY3VtZW50IGFzIEpTT05cclxuICAgICAqL1xyXG4gICAgdG9KU09OPygpOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBEb2N1bWVudCBhcyBhbiBPYmplY3RcclxuICAgICAqL1xyXG4gICAgdG9PYmplY3Q/KCk6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhc3RzIHRoaXMgdG8gRG9jdW1lbnRUeXBlPHRoaXM+IHRvIGFsbG93IHVzaW5nIGRvY3VtZW50IG1ldGhvZHMgaW4gZ2V0L3NldC1zXHJcbiAgICAgKi9cclxuICAgIGNhc3Q8SW1wbFR5cGUgPSB0aGlzPigpOiBEb2N1bWVudFR5cGU8SW1wbFR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGEgcHJlLWNvbXBpbGVkIG1vZGVsIGZyb20gdHlwZWdvb3NlIGNhY2hlIGJ5IGl0cyBjbGFzcyB0eXBlXHJcbiAgICAgKiBAcGFyYW0gdHlwZVxyXG4gICAgICovXHJcbiAgICBtb2RlbDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8YW55Pj4odHlwZTogVCk6IFJldHVybk1vZGVsVHlwZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIGdldE1vZGVsRm9yQ2xhc3ModHlwZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByaW1pdGl2ZUFycmF5PFQ+ID0gbW9uZ29vc2UuVHlwZXMuQXJyYXk8VD47XHJcblxyXG5leHBvcnQgY29uc3QgUHJpbWl0aXZlQXJyYXkgPSBtb25nb29zZS5UeXBlcy5BcnJheTtcclxuXHJcbmV4cG9ydCB0eXBlIERvY3VtZW50QXJyYXk8VCBleHRlbmRzIEJhc2VEb2M+ID0gbW9uZ29vc2UuVHlwZXMuRG9jdW1lbnRBcnJheTxEb2N1bWVudFR5cGU8VD4+O1xyXG5cclxuZXhwb3J0IGNvbnN0IERvY3VtZW50QXJyYXkgPSBtb25nb29zZS5UeXBlcy5Eb2N1bWVudEFycmF5O1xyXG4iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getStatusCode, OpenAPI } from "routing-controllers-openapi";
|
|
2
|
+
export function IsDocumented(summary = null, paramDescriptions = {}) {
|
|
3
|
+
return OpenAPI(op => {
|
|
4
|
+
op.summary = summary || op.summary;
|
|
5
|
+
op.tags = ["Documented"].concat(op.tags || []);
|
|
6
|
+
op.parameters?.forEach(p => {
|
|
7
|
+
if (p?.$ref)
|
|
8
|
+
return;
|
|
9
|
+
const schema = p;
|
|
10
|
+
schema.description = paramDescriptions[schema.name]
|
|
11
|
+
|| schema.description
|
|
12
|
+
|| `param.${op.operationId}.${schema.name}`.toLowerCase();
|
|
13
|
+
});
|
|
14
|
+
return op;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export function JsonResponse(description = "Success", statusCode = null) {
|
|
18
|
+
return OpenAPI((op, route) => {
|
|
19
|
+
const status = statusCode ?? getStatusCode(route) + "";
|
|
20
|
+
op.responses = op.responses || {};
|
|
21
|
+
op.responses[status] = {
|
|
22
|
+
description,
|
|
23
|
+
content: {
|
|
24
|
+
"application/json": {}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return op;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export function ResponseType(type, options = {}) {
|
|
31
|
+
return OpenAPI((op, route) => {
|
|
32
|
+
const contentType = "application/json";
|
|
33
|
+
const statusCode = options?.statusCode ?? getStatusCode(route) + "";
|
|
34
|
+
const reference = {
|
|
35
|
+
$ref: `#/components/schemas/${type.name}`,
|
|
36
|
+
};
|
|
37
|
+
op.responses = op.responses || {};
|
|
38
|
+
op.responses[statusCode] = {
|
|
39
|
+
description: options.description || "Success",
|
|
40
|
+
content: {
|
|
41
|
+
[contentType]: {
|
|
42
|
+
schema: options.isArray
|
|
43
|
+
? { items: reference, type: "array" }
|
|
44
|
+
: reference
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
return op;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR25FLE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBa0IsSUFBSSxFQUFFLG9CQUE4QyxFQUFFO0lBQ2pHLE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ2hCLEVBQUUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDbkMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZCLElBQUssQ0FBcUIsRUFBRSxJQUFJO2dCQUFFLE9BQU87WUFDekMsTUFBTSxNQUFNLEdBQUcsQ0FBb0IsQ0FBQztZQUNwQyxNQUFNLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7bUJBQzVDLE1BQU0sQ0FBQyxXQUFXO21CQUNsQixTQUFTLEVBQUUsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLGNBQXNCLFNBQVMsRUFBRSxhQUFxQixJQUFJO0lBQ25GLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLFVBQVUsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZELEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDbEMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRztZQUNuQixXQUFXO1lBQ1gsT0FBTyxFQUFFO2dCQUNMLGtCQUFrQixFQUFFLEVBQUU7YUFDekI7U0FDSixDQUFDO1FBQ0YsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFRRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQWMsRUFBRSxVQUFnQyxFQUFFO0lBQzNFLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBb0I7WUFDL0IsSUFBSSxFQUFFLHdCQUF3QixJQUFJLENBQUMsSUFBSSxFQUFFO1NBQzVDLENBQUM7UUFDRixFQUFFLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ2xDLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdkIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksU0FBUztZQUM3QyxPQUFPLEVBQUU7Z0JBQ0wsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDWCxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU87d0JBQ25CLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTt3QkFDckMsQ0FBQyxDQUFDLFNBQVM7aUJBQ2xCO2FBQ0o7U0FDSixDQUFDO1FBQ0YsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldFN0YXR1c0NvZGUsIE9wZW5BUEl9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzLW9wZW5hcGlcIjtcclxuaW1wb3J0IHtQYXJhbWV0ZXJPYmplY3QsIFJlZmVyZW5jZU9iamVjdH0gZnJvbSBcIm9wZW5hcGkzLXRzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSXNEb2N1bWVudGVkKHN1bW1hcnk6IHN0cmluZyA9IG51bGwsIHBhcmFtRGVzY3JpcHRpb25zOiB7W25hbWU6IHN0cmluZ106IHN0cmluZ30gPSB7fSkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkob3AgPT4ge1xyXG4gICAgICAgIG9wLnN1bW1hcnkgPSBzdW1tYXJ5IHx8IG9wLnN1bW1hcnk7XHJcbiAgICAgICAgb3AudGFncyA9IFtcIkRvY3VtZW50ZWRcIl0uY29uY2F0KG9wLnRhZ3MgfHwgW10pO1xyXG4gICAgICAgIG9wLnBhcmFtZXRlcnM/LmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgICAgIGlmICgocCBhcyBSZWZlcmVuY2VPYmplY3QpPy4kcmVmKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYSA9IHAgYXMgUGFyYW1ldGVyT2JqZWN0O1xyXG4gICAgICAgICAgICBzY2hlbWEuZGVzY3JpcHRpb24gPSBwYXJhbURlc2NyaXB0aW9uc1tzY2hlbWEubmFtZV1cclxuICAgICAgICAgICAgICAgIHx8IHNjaGVtYS5kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgfHwgYHBhcmFtLiR7b3Aub3BlcmF0aW9uSWR9LiR7c2NoZW1hLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvcDtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSnNvblJlc3BvbnNlKGRlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlN1Y2Nlc3NcIiwgc3RhdHVzQ29kZTogbnVtYmVyID0gbnVsbCkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkoKG9wLCByb3V0ZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IHN0YXR1c0NvZGUgPz8gZ2V0U3RhdHVzQ29kZShyb3V0ZSkgKyBcIlwiO1xyXG4gICAgICAgIG9wLnJlc3BvbnNlcyA9IG9wLnJlc3BvbnNlcyB8fCB7fTtcclxuICAgICAgICBvcC5yZXNwb25zZXNbc3RhdHVzXSA9IHtcclxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICAgICAgICAgIFwiYXBwbGljYXRpb24vanNvblwiOiB7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gb3A7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVzcG9uc2VUeXBlT3B0aW9ucyB7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICAgIHN0YXR1c0NvZGU/OiBudW1iZXI7XHJcbiAgICBpc0FycmF5PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlc3BvbnNlVHlwZSh0eXBlOiBGdW5jdGlvbiwgb3B0aW9uczogSVJlc3BvbnNlVHlwZU9wdGlvbnMgPSB7fSkge1xyXG4gICAgcmV0dXJuIE9wZW5BUEkoKG9wLCByb3V0ZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9qc29uXCI7XHJcbiAgICAgICAgY29uc3Qgc3RhdHVzQ29kZSA9IG9wdGlvbnM/LnN0YXR1c0NvZGUgPz8gZ2V0U3RhdHVzQ29kZShyb3V0ZSkgKyBcIlwiO1xyXG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZTogUmVmZXJlbmNlT2JqZWN0ID0ge1xyXG4gICAgICAgICAgICAkcmVmOiBgIy9jb21wb25lbnRzL3NjaGVtYXMvJHt0eXBlLm5hbWV9YCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9wLnJlc3BvbnNlcyA9IG9wLnJlc3BvbnNlcyB8fCB7fTtcclxuICAgICAgICBvcC5yZXNwb25zZXNbc3RhdHVzQ29kZV0gPSB7XHJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uIHx8IFwiU3VjY2Vzc1wiLFxyXG4gICAgICAgICAgICBjb250ZW50OiB7XHJcbiAgICAgICAgICAgICAgICBbY29udGVudFR5cGVdOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBvcHRpb25zLmlzQXJyYXlcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IGl0ZW1zOiByZWZlcmVuY2UsIHR5cGU6IFwiYXJyYXlcIiB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcmVmZXJlbmNlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBvcDtcclxuICAgIH0pO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { isFactoryProvider } from "tsyringe";
|
|
2
|
+
import { Tree } from "./tree";
|
|
3
|
+
import { isString } from "../utils";
|
|
4
|
+
export class DiContainer {
|
|
5
|
+
container;
|
|
6
|
+
parent;
|
|
7
|
+
get registeredTokens() {
|
|
8
|
+
return (this.parent?.registeredTokens || []).concat(this.tokens);
|
|
9
|
+
}
|
|
10
|
+
get tree() {
|
|
11
|
+
return this.root;
|
|
12
|
+
}
|
|
13
|
+
tokens;
|
|
14
|
+
tokenSet;
|
|
15
|
+
root;
|
|
16
|
+
constructor(container, parent = null) {
|
|
17
|
+
this.container = container;
|
|
18
|
+
this.parent = parent;
|
|
19
|
+
container["wrapperContainer"] = this;
|
|
20
|
+
this.tokens = [];
|
|
21
|
+
this.tokenSet = new Set();
|
|
22
|
+
this.root = new Tree(this, false, "");
|
|
23
|
+
}
|
|
24
|
+
beforeResolution(token, callback, options) {
|
|
25
|
+
this.container.beforeResolution(token, callback, options);
|
|
26
|
+
}
|
|
27
|
+
afterResolution(token, callback, options) {
|
|
28
|
+
this.container.afterResolution(token, callback, options);
|
|
29
|
+
}
|
|
30
|
+
clearInstances() {
|
|
31
|
+
this.container.clearInstances();
|
|
32
|
+
}
|
|
33
|
+
createChildContainer() {
|
|
34
|
+
return new DiContainer(this.container.createChildContainer(), this);
|
|
35
|
+
}
|
|
36
|
+
isRegistered(token, recursive) {
|
|
37
|
+
return this.container.isRegistered(token, recursive);
|
|
38
|
+
}
|
|
39
|
+
register(token, provider, options) {
|
|
40
|
+
if (isFactoryProvider(provider)) {
|
|
41
|
+
this.container.register(token, {
|
|
42
|
+
useFactory: dc => {
|
|
43
|
+
return provider.useFactory(dc["wrapperContainer"]);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return this.addToken(token);
|
|
47
|
+
}
|
|
48
|
+
this.container.register(token, provider);
|
|
49
|
+
return this.addToken(token);
|
|
50
|
+
}
|
|
51
|
+
registerInstance(token, instance) {
|
|
52
|
+
this.container.registerInstance(token, instance);
|
|
53
|
+
return this.addToken(token);
|
|
54
|
+
}
|
|
55
|
+
registerSingleton(from, to) {
|
|
56
|
+
this.container.registerSingleton(from, to);
|
|
57
|
+
return this.addToken(from);
|
|
58
|
+
}
|
|
59
|
+
registerType(from, to) {
|
|
60
|
+
this.container.registerType(from, to);
|
|
61
|
+
return this.addToken(from);
|
|
62
|
+
}
|
|
63
|
+
reset() {
|
|
64
|
+
this.tokens = [];
|
|
65
|
+
this.tokenSet = new Set();
|
|
66
|
+
this.container.reset();
|
|
67
|
+
}
|
|
68
|
+
resolve(token) {
|
|
69
|
+
return this.container.resolve(token);
|
|
70
|
+
}
|
|
71
|
+
resolveAll(token) {
|
|
72
|
+
return this.container.resolveAll(token);
|
|
73
|
+
}
|
|
74
|
+
get(token) {
|
|
75
|
+
return this.container.resolve(token);
|
|
76
|
+
}
|
|
77
|
+
addToken(token) {
|
|
78
|
+
if (this.tokenSet.has(token))
|
|
79
|
+
return this;
|
|
80
|
+
this.tokenSet.add(token);
|
|
81
|
+
this.tokens.push(token);
|
|
82
|
+
if (isString(token)) {
|
|
83
|
+
this.root.addPath(token);
|
|
84
|
+
}
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGktY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxpdGllcy9kaS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILGlCQUFpQixFQUlwQixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFVbEMsTUFBTSxPQUFPLFdBQVc7SUFjRTtJQUF5QztJQVovRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVTLE1BQU0sQ0FBd0I7SUFDOUIsUUFBUSxDQUFzQjtJQUM5QixJQUFJLENBQU87SUFFckIsWUFBc0IsU0FBOEIsRUFBVyxTQUErQixJQUFJO1FBQTVFLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBNkI7UUFDOUYsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBSSxLQUF3QixFQUFFLFFBQTZDLEVBQUUsT0FBa0M7UUFDM0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FB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QUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENsYXNzUHJvdmlkZXIsXHJcbiAgICBEZXBlbmRlbmN5Q29udGFpbmVyLFxyXG4gICAgRnJlcXVlbmN5LFxyXG4gICAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgICBpc0ZhY3RvcnlQcm92aWRlcixcclxuICAgIFJlZ2lzdHJhdGlvbk9wdGlvbnMsXHJcbiAgICBUb2tlblByb3ZpZGVyLFxyXG4gICAgVmFsdWVQcm92aWRlclxyXG59IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0ZhY3RvcnlQcm92aWRlciwgSURlcGVuZGVuY3lDb250YWluZXIsIElUcmVlLCBUeXBlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7VHJlZX0gZnJvbSBcIi4vdHJlZVwiO1xyXG5pbXBvcnQge2lzU3RyaW5nfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuXHJcbmludGVyZmFjZSBQcmVSZXNvbHV0aW9uSW50ZXJjZXB0b3JDYWxsYmFjazxUID0gYW55PiB7XHJcbiAgICAodG9rZW46IEluamVjdGlvblRva2VuPFQ+LCByZXNvbHV0aW9uVHlwZTogXCJTaW5nbGVcIiB8IFwiQWxsXCIpOiB2b2lkO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUG9zdFJlc29sdXRpb25JbnRlcmNlcHRvckNhbGxiYWNrPFQgPSBhbnk+IHtcclxuICAgICh0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHJlc3VsdDogVCB8IFRbXSwgcmVzb2x1dGlvblR5cGU6IFwiU2luZ2xlXCIgfCBcIkFsbFwiKTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERpQ29udGFpbmVyIGltcGxlbWVudHMgSURlcGVuZGVuY3lDb250YWluZXIge1xyXG5cclxuICAgIGdldCByZWdpc3RlcmVkVG9rZW5zKCk6IFJlYWRvbmx5QXJyYXk8SW5qZWN0aW9uVG9rZW4+IHtcclxuICAgICAgICByZXR1cm4gKHRoaXMucGFyZW50Py5yZWdpc3RlcmVkVG9rZW5zIHx8IFtdKS5jb25jYXQodGhpcy50b2tlbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB0cmVlKCk6IElUcmVlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yb290O1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0b2tlbnM6IEFycmF5PEluamVjdGlvblRva2VuPjtcclxuICAgIHByb3RlY3RlZCB0b2tlblNldDogU2V0PEluamVjdGlvblRva2VuPjtcclxuICAgIHByb3RlY3RlZCByb290OiBUcmVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjb250YWluZXI6IERlcGVuZGVuY3lDb250YWluZXIsIHJlYWRvbmx5IHBhcmVudDogSURlcGVuZGVuY3lDb250YWluZXIgPSBudWxsKSB7XHJcbiAgICAgICAgY29udGFpbmVyW1wid3JhcHBlckNvbnRhaW5lclwiXSA9IHRoaXM7XHJcbiAgICAgICAgdGhpcy50b2tlbnMgPSBbXTtcclxuICAgICAgICB0aGlzLnRva2VuU2V0ID0gbmV3IFNldDxJbmplY3Rpb25Ub2tlbj4oKTtcclxuICAgICAgICB0aGlzLnJvb3QgPSBuZXcgVHJlZSh0aGlzLCBmYWxzZSwgXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgYmVmb3JlUmVzb2x1dGlvbjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIGNhbGxiYWNrOiBQcmVSZXNvbHV0aW9uSW50ZXJjZXB0b3JDYWxsYmFjazxUPiwgb3B0aW9ucz86IHsgZnJlcXVlbmN5OiBGcmVxdWVuY3kgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmJlZm9yZVJlc29sdXRpb24odG9rZW4sIGNhbGxiYWNrLCBvcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBhZnRlclJlc29sdXRpb248VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBjYWxsYmFjazogUG9zdFJlc29sdXRpb25JbnRlcmNlcHRvckNhbGxiYWNrPFQ+LCBvcHRpb25zPzogeyBmcmVxdWVuY3k6IEZyZXF1ZW5jeSB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIuYWZ0ZXJSZXNvbHV0aW9uKHRva2VuLCBjYWxsYmFjaywgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJJbnN0YW5jZXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIuY2xlYXJJbnN0YW5jZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVDaGlsZENvbnRhaW5lcigpOiBJRGVwZW5kZW5jeUNvbnRhaW5lciB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEaUNvbnRhaW5lcih0aGlzLmNvbnRhaW5lci5jcmVhdGVDaGlsZENvbnRhaW5lcigpLCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBpc1JlZ2lzdGVyZWQ8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCByZWN1cnNpdmU/OiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmlzUmVnaXN0ZXJlZCh0b2tlbiwgcmVjdXJzaXZlKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBGYWN0b3J5UHJvdmlkZXI8VD4pOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVyPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcHJvdmlkZXI6IFRva2VuUHJvdmlkZXI8VD4sIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBDbGFzc1Byb3ZpZGVyPFQ+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogVHlwZTxUPiwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVyKHRva2VuLCBwcm92aWRlciwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiBJRGVwZW5kZW5jeUNvbnRhaW5lciB7XHJcbiAgICAgICAgaWYgKGlzRmFjdG9yeVByb3ZpZGVyKHByb3ZpZGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5yZWdpc3Rlcih0b2tlbiwge1xyXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogZGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm92aWRlci51c2VGYWN0b3J5KGRjW1wid3JhcHBlckNvbnRhaW5lclwiXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGRUb2tlbih0b2tlbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLnJlZ2lzdGVyKHRva2VuLCBwcm92aWRlcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkVG9rZW4odG9rZW4pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVySW5zdGFuY2U8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBpbnN0YW5jZTogVCk6IElEZXBlbmRlbmN5Q29udGFpbmVyIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5yZWdpc3Rlckluc3RhbmNlKHRva2VuLCBpbnN0YW5jZSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkVG9rZW4odG9rZW4pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyU2luZ2xldG9uPFQ+KGZyb206IEluamVjdGlvblRva2VuPFQ+LCB0bzogSW5qZWN0aW9uVG9rZW48VD4pOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVyU2luZ2xldG9uPFQ+KHRva2VuOiBUeXBlPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbihmcm9tLCB0bz8pOiBJRGVwZW5kZW5jeUNvbnRhaW5lciB7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIucmVnaXN0ZXJTaW5nbGV0b24oZnJvbSwgdG8pO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFkZFRva2VuKGZyb20pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyVHlwZTxUPihmcm9tOiBJbmplY3Rpb25Ub2tlbjxUPiwgdG86IEluamVjdGlvblRva2VuPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXIge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLnJlZ2lzdGVyVHlwZShmcm9tLCB0byk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkVG9rZW4oZnJvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50b2tlbnMgPSBbXTtcclxuICAgICAgICB0aGlzLnRva2VuU2V0ID0gbmV3IFNldDxJbmplY3Rpb25Ub2tlbj4oKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5yZXNldCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc29sdmU8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+KTogVCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLnJlc29sdmUodG9rZW4pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc29sdmVBbGw8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+KTogVFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIucmVzb2x2ZUFsbCh0b2tlbik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0PFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPik6IFQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5yZXNvbHZlKHRva2VuKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYWRkVG9rZW48VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+KTogdGhpcyB7XHJcbiAgICAgICAgaWYgKHRoaXMudG9rZW5TZXQuaGFzKHRva2VuKSkgcmV0dXJuIHRoaXM7XHJcbiAgICAgICAgdGhpcy50b2tlblNldC5hZGQodG9rZW4pO1xyXG4gICAgICAgIHRoaXMudG9rZW5zLnB1c2godG9rZW4pO1xyXG4gICAgICAgIGlmIChpc1N0cmluZyh0b2tlbikpIHtcclxuICAgICAgICAgICAgdGhpcy5yb290LmFkZFBhdGgodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
3
|
+
let EmptyJob = class EmptyJob {
|
|
4
|
+
async process() {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
EmptyJob = __decorate([
|
|
9
|
+
injectable(),
|
|
10
|
+
scoped(Lifecycle.ContainerScoped)
|
|
11
|
+
], EmptyJob);
|
|
12
|
+
export { EmptyJob };
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxpdGllcy9lbXB0eS1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUtoRCxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVE7SUFFakIsS0FBSyxDQUFDLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0osQ0FBQTtBQUxZLFFBQVE7SUFGcEIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7R0FDckIsUUFBUSxDQUtwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0lKb2J9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgRW1wdHlKb2IgaW1wbGVtZW50cyBJSm9iIHtcclxuXHJcbiAgICBhc3luYyBwcm9jZXNzKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class LazyAssetGenerator {
|
|
2
|
+
assetResolver;
|
|
3
|
+
progresses;
|
|
4
|
+
lazyId;
|
|
5
|
+
get assets() {
|
|
6
|
+
return this.assetResolver.assets;
|
|
7
|
+
}
|
|
8
|
+
get lazyAssets() {
|
|
9
|
+
return this.assetResolver.lazyAssets;
|
|
10
|
+
}
|
|
11
|
+
constructor(assetResolver, progresses, lazyId) {
|
|
12
|
+
this.assetResolver = assetResolver;
|
|
13
|
+
this.progresses = progresses;
|
|
14
|
+
this.lazyId = lazyId;
|
|
15
|
+
}
|
|
16
|
+
async process(messaging) {
|
|
17
|
+
const lazyAsset = await this.lazyAssets.read(this.lazyId);
|
|
18
|
+
let progress = await this.progresses.get(lazyAsset.progressId);
|
|
19
|
+
if (!progress || progress.canceled)
|
|
20
|
+
return null;
|
|
21
|
+
progress.setMessageBridge(messaging);
|
|
22
|
+
try {
|
|
23
|
+
const asset = await this.generate(progress, messaging);
|
|
24
|
+
progress = await progress.load();
|
|
25
|
+
if (!progress || progress.canceled)
|
|
26
|
+
return null;
|
|
27
|
+
await lazyAsset.writeAsset(asset);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
await progress.setError(e.message || e);
|
|
31
|
+
throw e;
|
|
32
|
+
}
|
|
33
|
+
if (progress.remaining > 0) {
|
|
34
|
+
await progress.advance(progress.remaining);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbGl0aWVzL2xhenktYXNzZXQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBZ0Isa0JBQWtCO0lBVUo7SUFBd0M7SUFBa0M7SUFSMUcsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsWUFBZ0MsYUFBNEIsRUFBWSxVQUFzQixFQUFZLE1BQWM7UUFBeEYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBWSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUN4SCxDQUFDO0lBSUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUF5QjtRQUNuQyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRCxJQUFJLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDaEQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkQsUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDaEQsTUFBTSxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1QsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxDQUFDLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUFzc2V0LCBJSm9iLCBJTWVzc2FnZUJyaWRnZSwgSVByb2dyZXNzfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7QXNzZXRzfSBmcm9tIFwiLi4vc2VydmljZXMvYXNzZXRzXCI7XHJcbmltcG9ydCB7TGF6eUFzc2V0c30gZnJvbSBcIi4uL3NlcnZpY2VzL2xhenktYXNzZXRzXCI7XHJcbmltcG9ydCB7QXNzZXRSZXNvbHZlcn0gZnJvbSBcIi4uL3NlcnZpY2VzL2Fzc2V0LXJlc29sdmVyXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc30gZnJvbSBcIi4uL3NlcnZpY2VzL3Byb2dyZXNzZXNcIjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXp5QXNzZXRHZW5lcmF0b3IgaW1wbGVtZW50cyBJSm9iIHtcclxuXHJcbiAgICBnZXQgYXNzZXRzKCk6IEFzc2V0cyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzZXRSZXNvbHZlci5hc3NldHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGxhenlBc3NldHMoKTogTGF6eUFzc2V0cyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzZXRSZXNvbHZlci5sYXp5QXNzZXRzO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXNzZXRSZXNvbHZlcjogQXNzZXRSZXNvbHZlciwgcHJvdGVjdGVkIHByb2dyZXNzZXM6IFByb2dyZXNzZXMsIHByb3RlY3RlZCBsYXp5SWQ6IHN0cmluZykge1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IGdlbmVyYXRlKHByb2dyZXNzOiBJUHJvZ3Jlc3MsIG1lc3NhZ2luZz86IElNZXNzYWdlQnJpZGdlKTogUHJvbWlzZTxJQXNzZXQ+O1xyXG5cclxuICAgIGFzeW5jIHByb2Nlc3MobWVzc2FnaW5nOiBJTWVzc2FnZUJyaWRnZSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgbGF6eUFzc2V0ID0gYXdhaXQgdGhpcy5sYXp5QXNzZXRzLnJlYWQodGhpcy5sYXp5SWQpO1xyXG4gICAgICAgIGxldCBwcm9ncmVzcyA9IGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5nZXQobGF6eUFzc2V0LnByb2dyZXNzSWQpO1xyXG4gICAgICAgIGlmICghcHJvZ3Jlc3MgfHwgcHJvZ3Jlc3MuY2FuY2VsZWQpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHByb2dyZXNzLnNldE1lc3NhZ2VCcmlkZ2UobWVzc2FnaW5nKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuZ2VuZXJhdGUocHJvZ3Jlc3MsIG1lc3NhZ2luZyk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gYXdhaXQgcHJvZ3Jlc3MubG9hZCgpO1xyXG4gICAgICAgICAgICBpZiAoIXByb2dyZXNzIHx8IHByb2dyZXNzLmNhbmNlbGVkKSByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgYXdhaXQgbGF6eUFzc2V0LndyaXRlQXNzZXQoYXNzZXQpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgYXdhaXQgcHJvZ3Jlc3Muc2V0RXJyb3IoZS5tZXNzYWdlIHx8IGUpO1xyXG4gICAgICAgICAgICB0aHJvdyBlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvZ3Jlc3MucmVtYWluaW5nID4gMCkge1xyXG4gICAgICAgICAgICBhd2FpdCBwcm9ncmVzcy5hZHZhbmNlKHByb2dyZXNzLnJlbWFpbmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|