@stemy/backend 3.5.16 → 3.6.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.
@@ -0,0 +1,94 @@
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 { injectAll, singleton } from "tsyringe";
23
+ import { CommandsAddon } from "@stemy/terminal-commands-addon";
24
+ import { TERMINAL_COMMAND } from "../common-types";
25
+ import { Logger } from "./logger";
26
+ import { Configuration } from "./configuration";
27
+ import { camelCaseToDash, colorize, ConsoleColor } from "../utils";
28
+ let TerminalManager = class TerminalManager {
29
+ constructor(logger, config, commands) {
30
+ this.logger = logger;
31
+ this.config = config;
32
+ this.servicePassword = config.resolve("servicePassword");
33
+ this.suggestions = Object.assign({ login: (args) => __awaiter(this, void 0, void 0, function* () {
34
+ if (args.length > 2) {
35
+ return null;
36
+ }
37
+ const input = `${args.at(1).label}`;
38
+ return (!input) ? [] : [{
39
+ id: input,
40
+ label: input,
41
+ masked: true
42
+ }];
43
+ }) }, commands.reduce((acc, command) => {
44
+ command.name = camelCaseToDash(command.name || command.constructor.name || "");
45
+ if (!command.name || !command.suggest)
46
+ return acc;
47
+ acc[command.name] = (a, t) => __awaiter(this, void 0, void 0, function* () { return command.suggest(a, t); });
48
+ return acc;
49
+ }, {}));
50
+ this.commands = commands.reduce((acc, command) => {
51
+ if (!command.name)
52
+ return acc;
53
+ acc[command.name] = (a, t) => __awaiter(this, void 0, void 0, function* () { return command.execute(a, t); });
54
+ return acc;
55
+ }, {});
56
+ this.loggedOutCommands = ["login", "clear"];
57
+ this.loggedInCommands = Object.keys(this.commands);
58
+ this.loggedInCommands.push("logout");
59
+ console.log(`Current service password is: ${colorize(this.servicePassword, ConsoleColor.FgGreen)}`);
60
+ }
61
+ loadAddons(terminal) {
62
+ let loggedIn = false;
63
+ const addon = new CommandsAddon({
64
+ commands: Object.assign({ login: (args, terminal) => __awaiter(this, void 0, void 0, function* () {
65
+ if (args.at(1).label === this.servicePassword) {
66
+ loggedIn = true;
67
+ terminal.writeln("Logged in as admin");
68
+ }
69
+ else {
70
+ throw new Error("Invalid login");
71
+ }
72
+ }), logout: (args, terminal) => __awaiter(this, void 0, void 0, function* () {
73
+ loggedIn = false;
74
+ terminal.writeln("Logged out");
75
+ }) }, this.commands),
76
+ suggestCommands: () => __awaiter(this, void 0, void 0, function* () {
77
+ if (loggedIn) {
78
+ return this.loggedInCommands;
79
+ }
80
+ return this.loggedOutCommands;
81
+ }),
82
+ suggestions: this.suggestions
83
+ });
84
+ terminal.loadAddon(addon);
85
+ }
86
+ };
87
+ TerminalManager = __decorate([
88
+ singleton(),
89
+ __param(2, injectAll(TERMINAL_COMMAND)),
90
+ __metadata("design:paramtypes", [Logger,
91
+ Configuration, Array])
92
+ ], TerminalManager);
93
+ export { TerminalManager };
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy90ZXJtaW5hbC1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQThCLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUYsT0FBTyxFQUE4QixnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBQyxNQUFNLFVBQVUsQ0FBQztJQUdwRCxlQUFlLFNBQWYsZUFBZTtJQU94QixZQUFzQixNQUFjLEVBQ2QsTUFBcUIsRUFDRixRQUE0QjtRQUYvQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUV2QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxtQkFDWixLQUFLLEVBQUUsQ0FBTyxJQUFJLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDakIsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7Z0JBQ0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNwQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwQixF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QUksQ0FBQyxXQUFXO1NBQ2hDLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKLENBQUE7QUFyRVksZUFBZTtJQUQzQixTQUFTLEVBQUU7SUFVSyxXQUFBLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO3FDQUZWLE1BQU07UUFDTixhQUFhO0dBUmxDLGVBQWUsQ0FxRTNCO1NBckVZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdEFsbCwgc2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDb21tYW5kc0FkZG9uLCBJQ29tbWFuZE1hcCwgSVN1Z2dlc3Rpb25NYXB9IGZyb20gXCJAc3RlbXkvdGVybWluYWwtY29tbWFuZHMtYWRkb25cIjtcclxuaW1wb3J0IHtJVGVybWluYWwsIElUZXJtaW5hbENvbW1hbmQsIFRFUk1JTkFMX0NPTU1BTkR9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCIuL2xvZ2dlclwiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHtjYW1lbENhc2VUb0Rhc2gsIGNvbG9yaXplLCBDb25zb2xlQ29sb3J9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbE1hbmFnZXIge1xyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2VQYXNzd29yZDogc3RyaW5nO1xyXG4gICAgcHJvdGVjdGVkIHN1Z2dlc3Rpb25zOiBJU3VnZ2VzdGlvbk1hcDtcclxuICAgIHByb3RlY3RlZCBjb21tYW5kczogSUNvbW1hbmRNYXA7XHJcbiAgICBwcm90ZWN0ZWQgbG9nZ2VkT3V0Q29tbWFuZHM6IHN0cmluZ1tdO1xyXG4gICAgcHJvdGVjdGVkIGxvZ2dlZEluQ29tbWFuZHM6IHN0cmluZ1tdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2dnZXI6IExvZ2dlcixcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBjb25maWc6IENvbmZpZ3VyYXRpb24sXHJcbiAgICAgICAgICAgICAgICBAaW5qZWN0QWxsKFRFUk1JTkFMX0NPTU1BTkQpIGNvbW1hbmRzOiBJVGVybWluYWxDb21tYW5kW10pIHtcclxuICAgICAgICB0aGlzLnNlcnZpY2VQYXNzd29yZCA9IGNvbmZpZy5yZXNvbHZlKFwic2VydmljZVBhc3N3b3JkXCIpO1xyXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIGxvZ2luOiBhc3luYyAoYXJncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBgJHthcmdzLmF0KDEpLmxhYmVsfWA7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKCFpbnB1dCkgPyBbXSA6IFt7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGlucHV0LFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpbnB1dCxcclxuICAgICAgICAgICAgICAgICAgICBtYXNrZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgIH1dO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAuLi5jb21tYW5kcy5yZWR1Y2UoKGFjYywgY29tbWFuZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29tbWFuZC5uYW1lID0gY2FtZWxDYXNlVG9EYXNoKGNvbW1hbmQubmFtZSB8fCBjb21tYW5kLmNvbnN0cnVjdG9yLm5hbWUgfHwgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWNvbW1hbmQubmFtZSB8fCAhY29tbWFuZC5zdWdnZXN0KSByZXR1cm4gYWNjO1xyXG4gICAgICAgICAgICAgICAgYWNjW2NvbW1hbmQubmFtZV0gPSBhc3luYyAoYSwgdCkgPT4gY29tbWFuZC5zdWdnZXN0KGEsIHQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICAgICAgfSwge30pXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmNvbW1hbmRzID0gY29tbWFuZHMucmVkdWNlKChhY2MsIGNvbW1hbmQpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFjb21tYW5kLm5hbWUpIHJldHVybiBhY2M7XHJcbiAgICAgICAgICAgIGFjY1tjb21tYW5kLm5hbWVdID0gYXN5bmMgKGEsIHQpID0+IGNvbW1hbmQuZXhlY3V0ZShhLCB0KTtcclxuICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICB9LCB7fSk7XHJcbiAgICAgICAgdGhpcy5sb2dnZWRPdXRDb21tYW5kcyA9IFtcImxvZ2luXCIsIFwiY2xlYXJcIl07XHJcbiAgICAgICAgdGhpcy5sb2dnZWRJbkNvbW1hbmRzID0gT2JqZWN0LmtleXModGhpcy5jb21tYW5kcyk7XHJcbiAgICAgICAgdGhpcy5sb2dnZWRJbkNvbW1hbmRzLnB1c2goXCJsb2dvdXRcIik7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEN1cnJlbnQgc2VydmljZSBwYXNzd29yZCBpczogJHtjb2xvcml6ZSh0aGlzLnNlcnZpY2VQYXNzd29yZCwgQ29uc29sZUNvbG9yLkZnR3JlZW4pfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRBZGRvbnModGVybWluYWw6IElUZXJtaW5hbCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBsb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGFkZG9uID0gbmV3IENvbW1hbmRzQWRkb24oe1xyXG4gICAgICAgICAgICBjb21tYW5kczoge1xyXG4gICAgICAgICAgICAgICAgbG9naW46IGFzeW5jIChhcmdzLCB0ZXJtaW5hbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhcmdzLmF0KDEpLmxhYmVsID09PSB0aGlzLnNlcnZpY2VQYXNzd29yZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dnZWRJbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsLndyaXRlbG4oXCJMb2dnZWQgaW4gYXMgYWRtaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBsb2dpblwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgbG9nb3V0OiBhc3luYyAoYXJncywgdGVybWluYWwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsLndyaXRlbG4oXCJMb2dnZWQgb3V0XCIpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbWFuZHNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3VnZ2VzdENvbW1hbmRzOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9nZ2VkSW4pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2dnZWRJbkNvbW1hbmRzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9nZ2VkT3V0Q29tbWFuZHM7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiB0aGlzLnN1Z2dlc3Rpb25zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGVybWluYWwubG9hZEFkZG9uKGFkZG9uKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -19,7 +19,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
19
19
  step((generator = generator.apply(thisArg, _arguments || [])).next());
20
20
  });
21
21
  };
22
- import { inject, injectable } from "tsyringe";
22
+ import { inject, singleton } from "tsyringe";
23
23
  import { ConnectedSocket, MessageBody, OnMessage, SocketController, } from "socket-controllers";
24
24
  import { SOCKET_SERVER } from "../common-types";
25
25
  import { broadcast } from "../utils";
@@ -73,10 +73,10 @@ __decorate([
73
73
  __metadata("design:returntype", Promise)
74
74
  ], ProgressController.prototype, "setProgressInterest", null);
75
75
  ProgressController = __decorate([
76
- injectable(),
76
+ singleton(),
77
77
  SocketController(),
78
78
  __param(1, inject(SOCKET_SERVER)),
79
79
  __metadata("design:paramtypes", [Progresses, Object])
80
80
  ], ProgressController);
81
81
  export { ProgressController };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvcHJvZ3Jlc3MuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEdBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RixPQUFPLEVBQWdCLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0lBSXJDLGtCQUFrQixTQUFsQixrQkFBa0I7SUFFM0IsWUFBcUIsVUFBc0IsRUFBa0MsWUFBb0I7UUFBNUUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFrQyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUNqRyxDQUFDO0lBR0ssZUFBZSxDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDN0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLENBQUMsb0JBQW9CLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ3BEO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7S0FBQTtJQUdLLG1CQUFtQixDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDakcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixJQUFJLElBQUksR0FBRyxFQUFVLENBQUM7WUFDL0UsSUFBSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFBRSxPQUFPO1lBQ3hELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7S0FBQTtDQUNKLENBQUE7QUF2Qkc7SUFEQyxTQUFTLENBQUMscUJBQXFCLENBQUM7SUFDVixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7eURBVTdFO0FBR0Q7SUFEQyxTQUFTLENBQUMsOEJBQThCLENBQUM7SUFDZixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7NkRBU2pGO0FBNUJRLGtCQUFrQjtJQUY5QixVQUFVLEVBQUU7SUFDWixnQkFBZ0IsRUFBRTtJQUcrQixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtxQ0FBbEMsVUFBVTtHQUZsQyxrQkFBa0IsQ0E2QjlCO1NBN0JZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDb25uZWN0ZWRTb2NrZXQsIE1lc3NhZ2VCb2R5LCBPbk1lc3NhZ2UsIFNvY2tldENvbnRyb2xsZXIsfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7U2VydmVyfSBmcm9tIFwic29ja2V0LmlvXCI7XHJcbmltcG9ydCB7SUNsaWVudFNvY2tldCwgU09DS0VUX1NFUlZFUn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge2Jyb2FkY2FzdH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc30gZnJvbSBcIi4uL3NlcnZpY2VzL3Byb2dyZXNzZXNcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQFNvY2tldENvbnRyb2xsZXIoKVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NDb250cm9sbGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBwcm9ncmVzc2VzOiBQcm9ncmVzc2VzLCBAaW5qZWN0KFNPQ0tFVF9TRVJWRVIpIHJlYWRvbmx5IHNvY2tldFNlcnZlcjogU2VydmVyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgQE9uTWVzc2FnZShcImJhY2tncm91bmQtcHJvZ3Jlc3NcIilcclxuICAgIGFzeW5jIGFkdmFuY2VQcm9ncmVzcyhAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0LCBATWVzc2FnZUJvZHkoKSBwcm9ncmVzc0lkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5nZXQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgaWYgKCFwcm9ncmVzcykgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGpzb24gPSBwcm9ncmVzcy50b0pTT04oKTtcclxuICAgICAgICBicm9hZGNhc3QodGhpcy5zb2NrZXRTZXJ2ZXIsIGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYy5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyBpbnN0YW5jZW9mIFNldCAmJiBjLmludGVyZXN0ZWRQcm9ncmVzc2VzLmhhcyhwcm9ncmVzc0lkKSkge1xyXG4gICAgICAgICAgICAgICAgY2xpZW50LmVtaXQoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWNoYW5nZWRcIiwganNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgcHJvZ3Jlc3MgY2hhbmdlZDogJHtjbGllbnQuaWR9LCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGpzb24pfWApO1xyXG4gICAgfVxyXG5cclxuICAgIEBPbk1lc3NhZ2UoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWludGVyZXN0XCIpXHJcbiAgICBhc3luYyBzZXRQcm9ncmVzc0ludGVyZXN0KEBDb25uZWN0ZWRTb2NrZXQoKSBjbGllbnQ6IElDbGllbnRTb2NrZXQsIEBNZXNzYWdlQm9keSgpIHByb2dyZXNzSWQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHByb2dyZXNzID0gYXdhaXQgdGhpcy5wcm9ncmVzc2VzLmdldChwcm9ncmVzc0lkKTtcclxuICAgICAgICBpZiAoIXByb2dyZXNzKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QganNvbiA9IHByb2dyZXNzLnRvSlNPTigpO1xyXG4gICAgICAgIGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyA9IGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3NlcyB8fCBuZXcgU2V0PHN0cmluZz4oKTtcclxuICAgICAgICBpZiAoY2xpZW50LmludGVyZXN0ZWRQcm9ncmVzc2VzLmhhcyhwcm9ncmVzc0lkKSkgcmV0dXJuO1xyXG4gICAgICAgIGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3Nlcy5hZGQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgY2xpZW50LmVtaXQoXCJiYWNrZ3JvdW5kLXByb2dyZXNzLWNoYW5nZWRcIiwganNvbik7XHJcbiAgICAgICAgY29uc29sZS5sb2coYHByb2dyZXNzIGludGVyZXN0IGFkZGVkOiAke2NsaWVudC5pZH0sIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoanNvbil9YCk7XHJcbiAgICB9XHJcbn1cclxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvcHJvZ3Jlc3MuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEdBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RixPQUFPLEVBQWdCLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0lBSXJDLGtCQUFrQixTQUFsQixrQkFBa0I7SUFFM0IsWUFBcUIsVUFBc0IsRUFBa0MsWUFBb0I7UUFBNUUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFrQyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUNqRyxDQUFDO0lBR0ssZUFBZSxDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDN0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLENBQUMsb0JBQW9CLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ3BEO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7S0FBQTtJQUdLLG1CQUFtQixDQUFvQixNQUFxQixFQUFpQixVQUFrQjs7WUFDakcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixJQUFJLElBQUksR0FBRyxFQUFVLENBQUM7WUFDL0UsSUFBSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFBRSxPQUFPO1lBQ3hELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixNQUFNLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7S0FBQTtDQUNKLENBQUE7QUF2Qkc7SUFEQyxTQUFTLENBQUMscUJBQXFCLENBQUM7SUFDVixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7eURBVTdFO0FBR0Q7SUFEQyxTQUFTLENBQUMsOEJBQThCLENBQUM7SUFDZixXQUFBLGVBQWUsRUFBRSxDQUFBLEVBQXlCLFdBQUEsV0FBVyxFQUFFLENBQUE7Ozs7NkRBU2pGO0FBNUJRLGtCQUFrQjtJQUY5QixTQUFTLEVBQUU7SUFDWCxnQkFBZ0IsRUFBRTtJQUcrQixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtxQ0FBbEMsVUFBVTtHQUZsQyxrQkFBa0IsQ0E2QjlCO1NBN0JZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0Nvbm5lY3RlZFNvY2tldCwgTWVzc2FnZUJvZHksIE9uTWVzc2FnZSwgU29ja2V0Q29udHJvbGxlcix9IGZyb20gXCJzb2NrZXQtY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtTZXJ2ZXJ9IGZyb20gXCJzb2NrZXQuaW9cIjtcclxuaW1wb3J0IHtJQ2xpZW50U29ja2V0LCBTT0NLRVRfU0VSVkVSfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7YnJvYWRjYXN0fSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtQcm9ncmVzc2VzfSBmcm9tIFwiLi4vc2VydmljZXMvcHJvZ3Jlc3Nlc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbkBTb2NrZXRDb250cm9sbGVyKClcclxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQ29udHJvbGxlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgcHJvZ3Jlc3NlczogUHJvZ3Jlc3NlcywgQGluamVjdChTT0NLRVRfU0VSVkVSKSByZWFkb25seSBzb2NrZXRTZXJ2ZXI6IFNlcnZlcikge1xyXG4gICAgfVxyXG5cclxuICAgIEBPbk1lc3NhZ2UoXCJiYWNrZ3JvdW5kLXByb2dyZXNzXCIpXHJcbiAgICBhc3luYyBhZHZhbmNlUHJvZ3Jlc3MoQENvbm5lY3RlZFNvY2tldCgpIGNsaWVudDogSUNsaWVudFNvY2tldCwgQE1lc3NhZ2VCb2R5KCkgcHJvZ3Jlc3NJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgcHJvZ3Jlc3MgPSBhd2FpdCB0aGlzLnByb2dyZXNzZXMuZ2V0KHByb2dyZXNzSWQpO1xyXG4gICAgICAgIGlmICghcHJvZ3Jlc3MpIHJldHVybjtcclxuICAgICAgICBjb25zdCBqc29uID0gcHJvZ3Jlc3MudG9KU09OKCk7XHJcbiAgICAgICAgYnJvYWRjYXN0KHRoaXMuc29ja2V0U2VydmVyLCBjID0+IHtcclxuICAgICAgICAgICAgaWYgKGMuaW50ZXJlc3RlZFByb2dyZXNzZXMgaW5zdGFuY2VvZiBTZXQgJiYgYy5pbnRlcmVzdGVkUHJvZ3Jlc3Nlcy5oYXMocHJvZ3Jlc3NJZCkpIHtcclxuICAgICAgICAgICAgICAgIGNsaWVudC5lbWl0KFwiYmFja2dyb3VuZC1wcm9ncmVzcy1jaGFuZ2VkXCIsIGpzb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coYHByb2dyZXNzIGNoYW5nZWQ6ICR7Y2xpZW50LmlkfSwgZGF0YTogJHtKU09OLnN0cmluZ2lmeShqc29uKX1gKTtcclxuICAgIH1cclxuXHJcbiAgICBAT25NZXNzYWdlKFwiYmFja2dyb3VuZC1wcm9ncmVzcy1pbnRlcmVzdFwiKVxyXG4gICAgYXN5bmMgc2V0UHJvZ3Jlc3NJbnRlcmVzdChAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0LCBATWVzc2FnZUJvZHkoKSBwcm9ncmVzc0lkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5nZXQocHJvZ3Jlc3NJZCk7XHJcbiAgICAgICAgaWYgKCFwcm9ncmVzcykgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGpzb24gPSBwcm9ncmVzcy50b0pTT04oKTtcclxuICAgICAgICBjbGllbnQuaW50ZXJlc3RlZFByb2dyZXNzZXMgPSBjbGllbnQuaW50ZXJlc3RlZFByb2dyZXNzZXMgfHwgbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgICAgICAgaWYgKGNsaWVudC5pbnRlcmVzdGVkUHJvZ3Jlc3Nlcy5oYXMocHJvZ3Jlc3NJZCkpIHJldHVybjtcclxuICAgICAgICBjbGllbnQuaW50ZXJlc3RlZFByb2dyZXNzZXMuYWRkKHByb2dyZXNzSWQpO1xyXG4gICAgICAgIGNsaWVudC5lbWl0KFwiYmFja2dyb3VuZC1wcm9ncmVzcy1jaGFuZ2VkXCIsIGpzb24pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBwcm9ncmVzcyBpbnRlcmVzdCBhZGRlZDogJHtjbGllbnQuaWR9LCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGpzb24pfWApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,83 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ import { singleton } from "tsyringe";
23
+ import { ConnectedSocket, MessageBody, OnMessage, SocketController } from "socket-controllers";
24
+ import { TerminalManager } from "../services/terminal-manager";
25
+ import { Terminal } from "./terminal";
26
+ let TerminalController = class TerminalController {
27
+ constructor(manager) {
28
+ this.manager = manager;
29
+ this.terminals = {};
30
+ }
31
+ terminalInit(client) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const terminal = new Terminal(client);
34
+ this.manager.loadAddons(terminal);
35
+ this.terminals[client.id] = terminal;
36
+ client.on("disconnect", () => terminal.dispose());
37
+ });
38
+ }
39
+ terminalData(client, data) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const terminal = this.terminals[client.id];
42
+ if (!terminal)
43
+ return;
44
+ terminal.input(data);
45
+ });
46
+ }
47
+ terminalUpload(client, upload) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const terminal = this.terminals[client.id];
50
+ if (!terminal || !upload)
51
+ return;
52
+ terminal.addFile(upload);
53
+ });
54
+ }
55
+ };
56
+ __decorate([
57
+ OnMessage("terminal-init"),
58
+ __param(0, ConnectedSocket()),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", [Object]),
61
+ __metadata("design:returntype", Promise)
62
+ ], TerminalController.prototype, "terminalInit", null);
63
+ __decorate([
64
+ OnMessage("terminal-data"),
65
+ __param(0, ConnectedSocket()), __param(1, MessageBody()),
66
+ __metadata("design:type", Function),
67
+ __metadata("design:paramtypes", [Object, String]),
68
+ __metadata("design:returntype", Promise)
69
+ ], TerminalController.prototype, "terminalData", null);
70
+ __decorate([
71
+ OnMessage("terminal-upload"),
72
+ __param(0, ConnectedSocket()), __param(1, MessageBody()),
73
+ __metadata("design:type", Function),
74
+ __metadata("design:paramtypes", [Object, Object]),
75
+ __metadata("design:returntype", Promise)
76
+ ], TerminalController.prototype, "terminalUpload", null);
77
+ TerminalController = __decorate([
78
+ singleton(),
79
+ SocketController(),
80
+ __metadata("design:paramtypes", [TerminalManager])
81
+ ], TerminalController);
82
+ export { TerminalController };
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb2NrZXQtY29udHJvbGxlcnMvdGVybWluYWwuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRzdGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0lBSXZCLGtCQUFrQixTQUFsQixrQkFBa0I7SUFHM0IsWUFBc0IsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdLLFlBQVksQ0FBb0IsTUFBcUI7O1lBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUNyQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO0tBQUE7SUFHSyxZQUFZLENBQW9CLE1BQXFCLEVBQWlCLElBQVk7O1lBQ3BGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDdEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFHSyxjQUFjLENBQW9CLE1BQXFCLEVBQWlCLE1BQXFCOztZQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ2pDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQXBCRztJQURDLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFDUCxXQUFBLGVBQWUsRUFBRSxDQUFBOzs7O3NEQUtwQztBQUdEO0lBREMsU0FBUyxDQUFDLGVBQWUsQ0FBQztJQUNQLFdBQUEsZUFBZSxFQUFFLENBQUEsRUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7OztzREFJMUU7QUFHRDtJQURDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUNQLFdBQUEsZUFBZSxFQUFFLENBQUEsRUFBeUIsV0FBQSxXQUFXLEVBQUUsQ0FBQTs7Ozt3REFJNUU7QUEzQlEsa0JBQWtCO0lBRjlCLFNBQVMsRUFBRTtJQUNYLGdCQUFnQixFQUFFO3FDQUlnQixlQUFlO0dBSHJDLGtCQUFrQixDQTRCOUI7U0E1Qlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0Nvbm5lY3RlZFNvY2tldCwgTWVzc2FnZUJvZHksIE9uTWVzc2FnZSwgU29ja2V0Q29udHJvbGxlcn0gZnJvbSBcInNvY2tldC1jb250cm9sbGVyc1wiO1xyXG5cclxuaW1wb3J0IHtJQ2xpZW50U29ja2V0LCBJVGVybWluYWxGaWxlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7VGVybWluYWxNYW5hZ2VyfSBmcm9tIFwiLi4vc2VydmljZXMvdGVybWluYWwtbWFuYWdlclwiO1xyXG5pbXBvcnQge1Rlcm1pbmFsfSBmcm9tIFwiLi90ZXJtaW5hbFwiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbkBTb2NrZXRDb250cm9sbGVyKClcclxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsQ29udHJvbGxlciB7XHJcbiAgICBwcm90ZWN0ZWQgdGVybWluYWxzOiB7W2lkOiBzdHJpbmddOiBUZXJtaW5hbH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1hbmFnZXI6IFRlcm1pbmFsTWFuYWdlcikge1xyXG4gICAgICAgIHRoaXMudGVybWluYWxzID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgQE9uTWVzc2FnZShcInRlcm1pbmFsLWluaXRcIilcclxuICAgIGFzeW5jIHRlcm1pbmFsSW5pdChAQ29ubmVjdGVkU29ja2V0KCkgY2xpZW50OiBJQ2xpZW50U29ja2V0KSB7XHJcbiAgICAgICAgY29uc3QgdGVybWluYWwgPSBuZXcgVGVybWluYWwoY2xpZW50KTtcclxuICAgICAgICB0aGlzLm1hbmFnZXIubG9hZEFkZG9ucyh0ZXJtaW5hbCk7XHJcbiAgICAgICAgdGhpcy50ZXJtaW5hbHNbY2xpZW50LmlkXSA9IHRlcm1pbmFsO1xyXG4gICAgICAgIGNsaWVudC5vbihcImRpc2Nvbm5lY3RcIiwgKCkgPT4gdGVybWluYWwuZGlzcG9zZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBAT25NZXNzYWdlKFwidGVybWluYWwtZGF0YVwiKVxyXG4gICAgYXN5bmMgdGVybWluYWxEYXRhKEBDb25uZWN0ZWRTb2NrZXQoKSBjbGllbnQ6IElDbGllbnRTb2NrZXQsIEBNZXNzYWdlQm9keSgpIGRhdGE6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHRlcm1pbmFsID0gdGhpcy50ZXJtaW5hbHNbY2xpZW50LmlkXTtcclxuICAgICAgICBpZiAoIXRlcm1pbmFsKSByZXR1cm47XHJcbiAgICAgICAgdGVybWluYWwuaW5wdXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgQE9uTWVzc2FnZShcInRlcm1pbmFsLXVwbG9hZFwiKVxyXG4gICAgYXN5bmMgdGVybWluYWxVcGxvYWQoQENvbm5lY3RlZFNvY2tldCgpIGNsaWVudDogSUNsaWVudFNvY2tldCwgQE1lc3NhZ2VCb2R5KCkgdXBsb2FkOiBJVGVybWluYWxGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgdGVybWluYWwgPSB0aGlzLnRlcm1pbmFsc1tjbGllbnQuaWRdO1xyXG4gICAgICAgIGlmICghdGVybWluYWwgfHwgIXVwbG9hZCkgcmV0dXJuO1xyXG4gICAgICAgIHRlcm1pbmFsLmFkZEZpbGUodXBsb2FkKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,98 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { BehaviorSubject, Subject } from "rxjs";
11
+ import { first, map, timeout } from "rxjs/operators";
12
+ import { fileTypeFromBuffer } from "../utils";
13
+ export class Terminal {
14
+ constructor(client) {
15
+ this.client = client;
16
+ this.addons = [];
17
+ this.files$ = new BehaviorSubject([]);
18
+ this.input$ = new Subject();
19
+ }
20
+ onData(cb) {
21
+ const sub = this.input$.pipe(map(v => {
22
+ if (v === "\b") {
23
+ return "\x7f";
24
+ }
25
+ return v;
26
+ })).subscribe(cb);
27
+ return {
28
+ dispose: () => sub.unsubscribe()
29
+ };
30
+ }
31
+ write(data) {
32
+ this.client.emit("terminal-data", data);
33
+ }
34
+ writeln(data) {
35
+ this.write(data + "\n");
36
+ }
37
+ loadAddon(addon) {
38
+ addon.activate(this);
39
+ this.addons.push(addon);
40
+ }
41
+ dispose() {
42
+ this.input$.complete();
43
+ this.client = null;
44
+ this.addons.forEach(a => a.dispose());
45
+ }
46
+ suggestFiles(accept) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const rand = Math.round(Math.random() * 1000);
49
+ const id = `${Date.now()}-${rand}`;
50
+ const files = this.files$.value;
51
+ return files.filter(f => f.accept === accept).concat([
52
+ {
53
+ id,
54
+ label: "...",
55
+ onAccept: () => __awaiter(this, void 0, void 0, function* () {
56
+ this.client.emit("terminal-upload", {
57
+ id,
58
+ accept
59
+ });
60
+ const file = yield this.files$
61
+ .pipe(first(v => v.some(f => f.id === id)))
62
+ .pipe(timeout(120000))
63
+ .pipe(map(v => v.find(f => f.id === id)))
64
+ .toPromise();
65
+ if (file.error) {
66
+ this.files$.next(this.files$.value.filter(f => f.id !== id));
67
+ throw new Error(file.error);
68
+ }
69
+ return file;
70
+ }),
71
+ showAlways: true,
72
+ accept: accept,
73
+ }
74
+ ]);
75
+ });
76
+ }
77
+ downloadFile(filename, buffer) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const type = yield fileTypeFromBuffer(buffer);
80
+ const data = buffer.toString("base64");
81
+ const content = `data:${type.mime};base64,${data}`;
82
+ this.client.emit("terminal-download", {
83
+ filename,
84
+ content
85
+ });
86
+ });
87
+ }
88
+ addFile(upload) {
89
+ if (upload.content) {
90
+ upload.buffer = Buffer.from(upload.content, "base64");
91
+ }
92
+ this.files$.next(this.files$.value.concat(upload));
93
+ }
94
+ input(data) {
95
+ this.input$.next(data);
96
+ }
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc29ja2V0LWNvbnRyb2xsZXJzL3Rlcm1pbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR25ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUU1QyxNQUFNLE9BQU8sUUFBUTtJQUtqQixZQUFzQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBeUI7UUFDNUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDWixPQUFPLE1BQU0sQ0FBQzthQUNqQjtZQUNELE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTztZQUNILE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFO1NBQ25DLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFD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QUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDbEMsUUFBUTtnQkFDUixPQUFPO2FBQ1YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUFBO0lBRUQsT0FBTyxDQUFDLE1BQXFCO1FBQ3pCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNoQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWTtRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRpbWVvdXR9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQge0lEaXNwb3NhYmxlLCBJU3VnZ2VzdGlvbiwgSVRlcm1pbmFsQWRkb259IGZyb20gXCJAc3RlbXkvdGVybWluYWwtY29tbWFuZHMtYWRkb25cIjtcclxuaW1wb3J0IHtJQ2xpZW50U29ja2V0LCBJVGVybWluYWwsIElUZXJtaW5hbEZpbGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtmaWxlVHlwZUZyb21CdWZmZXJ9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsIGltcGxlbWVudHMgSVRlcm1pbmFsIHtcclxuICAgIHByb3RlY3RlZCBhZGRvbnM6IElUZXJtaW5hbEFkZG9uW107XHJcbiAgICBwcm90ZWN0ZWQgZmlsZXMkOiBCZWhhdmlvclN1YmplY3Q8SVRlcm1pbmFsRmlsZVtdPjtcclxuICAgIHByb3RlY3RlZCBpbnB1dCQ6IFN1YmplY3Q8c3RyaW5nPjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xpZW50OiBJQ2xpZW50U29ja2V0KSB7XHJcbiAgICAgICAgdGhpcy5hZGRvbnMgPSBbXTtcclxuICAgICAgICB0aGlzLmZpbGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgICAgIHRoaXMuaW5wdXQkID0gbmV3IFN1YmplY3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRhdGEoY2I6IChkYXRhOiBzdHJpbmcpID0+IGFueSk6IElEaXNwb3NhYmxlIHtcclxuICAgICAgICBjb25zdCBzdWIgPSB0aGlzLmlucHV0JC5waXBlKG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgaWYgKHYgPT09IFwiXFxiXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIlxceDdmXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHY7XHJcbiAgICAgICAgfSkpLnN1YnNjcmliZShjYik7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGlzcG9zZTogKCkgPT4gc3ViLnVuc3Vic2NyaWJlKClcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlKGRhdGE6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xpZW50LmVtaXQoXCJ0ZXJtaW5hbC1kYXRhXCIsIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlbG4oZGF0YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy53cml0ZShkYXRhICsgXCJcXG5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZEFkZG9uKGFkZG9uOiBJVGVybWluYWxBZGRvbikge1xyXG4gICAgICAgIGFkZG9uLmFjdGl2YXRlKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkb25zLnB1c2goYWRkb24pO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3Bvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dCQuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLmNsaWVudCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5hZGRvbnMuZm9yRWFjaChhID0+IGEuZGlzcG9zZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdWdnZXN0RmlsZXMoYWNjZXB0OiBzdHJpbmcpOiBQcm9taXNlPElUZXJtaW5hbEZpbGVbXT4ge1xyXG4gICAgICAgIGNvbnN0IHJhbmQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwKTtcclxuICAgICAgICBjb25zdCBpZCA9IGAke0RhdGUubm93KCl9LSR7cmFuZH1gO1xyXG4gICAgICAgIGNvbnN0IGZpbGVzID0gdGhpcy5maWxlcyQudmFsdWUgYXMgSVN1Z2dlc3Rpb25bXTtcclxuICAgICAgICByZXR1cm4gZmlsZXMuZmlsdGVyKGYgPT4gZi5hY2NlcHQgPT09IGFjY2VwdCkuY29uY2F0KFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogXCIuLi5cIixcclxuICAgICAgICAgICAgICAgIG9uQWNjZXB0OiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGllbnQuZW1pdChcInRlcm1pbmFsLXVwbG9hZFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHRcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlID0gYXdhaXQgdGhpcy5maWxlcyRcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoZmlyc3QodiA9PiB2LnNvbWUoZiA9PiBmLmlkID09PSBpZCkpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0aW1lb3V0KDEyMDAwMCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcCh2ID0+IHYuZmluZChmID0+IGYuaWQgPT09IGlkKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZS5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzJC5uZXh0KHRoaXMuZmlsZXMkLnZhbHVlLmZpbHRlcihmID0+IGYuaWQgIT09IGlkKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihmaWxlLmVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbGU7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc2hvd0Fsd2F5czogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGFjY2VwdDogYWNjZXB0LFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZG93bmxvYWRGaWxlKGZpbGVuYW1lOiBzdHJpbmcsIGJ1ZmZlcjogQnVmZmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IGF3YWl0IGZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXIpO1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBidWZmZXIudG9TdHJpbmcoXCJiYXNlNjRcIik7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IGBkYXRhOiR7dHlwZS5taW1lfTtiYXNlNjQsJHtkYXRhfWA7XHJcbiAgICAgICAgdGhpcy5jbGllbnQuZW1pdChcInRlcm1pbmFsLWRvd25sb2FkXCIsIHtcclxuICAgICAgICAgICAgZmlsZW5hbWUsXHJcbiAgICAgICAgICAgIGNvbnRlbnRcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRGaWxlKHVwbG9hZDogSVRlcm1pbmFsRmlsZSkge1xyXG4gICAgICAgIGlmICh1cGxvYWQuY29udGVudCkge1xyXG4gICAgICAgICAgICB1cGxvYWQuYnVmZmVyID0gQnVmZmVyLmZyb20odXBsb2FkLmNvbnRlbnQsIFwiYmFzZTY0XCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZpbGVzJC5uZXh0KHRoaXMuZmlsZXMkLnZhbHVlLmNvbmNhdCh1cGxvYWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dChkYXRhOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmlucHV0JC5uZXh0KGRhdGEpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ import { injectable, Lifecycle, scoped } from "tsyringe";
17
+ import { AnsiCodes } from "@stemy/terminal-commands-addon";
18
+ let ClearCommand = class ClearCommand {
19
+ constructor() {
20
+ this.name = "clear";
21
+ }
22
+ execute(args, terminal) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ terminal.write(AnsiCodes.clear);
25
+ });
26
+ }
27
+ };
28
+ ClearCommand = __decorate([
29
+ injectable(),
30
+ scoped(Lifecycle.ContainerScoped)
31
+ ], ClearCommand);
32
+ export { ClearCommand };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvY2xlYXItY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0lBSTFELFlBQVksU0FBWixZQUFZOztRQUVaLFNBQUksR0FBRyxPQUFPLENBQUM7SUFLNUIsQ0FBQztJQUhTLE9BQU8sQ0FBQyxJQUFrQixFQUFFLFFBQW1COztZQUNqRCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7Q0FDSixDQUFBO0FBUFksWUFBWTtJQUZ4QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztHQUNyQixZQUFZLENBT3hCO1NBUFksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0lUZXJtaW5hbCwgSVRlcm1pbmFsQ29tbWFuZH0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge0Fuc2lDb2RlcywgSUNvbW1hbmRBcmdzfSBmcm9tIFwiQHN0ZW15L3Rlcm1pbmFsLWNvbW1hbmRzLWFkZG9uXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIENsZWFyQ29tbWFuZCBpbXBsZW1lbnRzIElUZXJtaW5hbENvbW1hbmQge1xyXG5cclxuICAgIHJlYWRvbmx5IG5hbWUgPSBcImNsZWFyXCI7XHJcblxyXG4gICAgYXN5bmMgZXhlY3V0ZShhcmdzOiBJQ29tbWFuZEFyZ3MsIHRlcm1pbmFsOiBJVGVybWluYWwpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRlcm1pbmFsLndyaXRlKEFuc2lDb2Rlcy5jbGVhcik7XHJcbiAgICB9XHJcbn1cclxuIl19