1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var fs_promise_1 = require("fs-promise");
|
4 | var oly_core_1 = require("oly-core");
|
5 | var path_1 = require("path");
|
6 |
|
7 |
|
8 |
|
9 | var WorkspaceProvider = (function () {
|
10 | function WorkspaceProvider() {
|
11 | this.directory = path_1.join(process.cwd(), "workspace");
|
12 | this.tmp = ".tmp";
|
13 | }
|
14 | |
15 |
|
16 |
|
17 |
|
18 |
|
19 | WorkspaceProvider.prototype.rand = function () {
|
20 | return this.join(this.tmp, oly_core_1._.shortid());
|
21 | };
|
22 | |
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 | WorkspaceProvider.prototype.join = function () {
|
29 | var entry = [];
|
30 | for (var _i = 0; _i < arguments.length; _i++) {
|
31 | entry[_i] = arguments[_i];
|
32 | }
|
33 | return path_1.join.apply(void 0, [this.directory].concat(entry));
|
34 | };
|
35 | WorkspaceProvider.prototype.onStart = function () {
|
36 | return __awaiter(this, void 0, void 0, function () {
|
37 | return __generator(this, function (_a) {
|
38 | switch (_a.label) {
|
39 | case 0: return [4 , fs_promise_1.mkdirp(this.directory)];
|
40 | case 1:
|
41 | _a.sent();
|
42 | return [4 , fs_promise_1.remove(this.join(this.tmp))];
|
43 | case 2:
|
44 | _a.sent();
|
45 | return [4 , fs_promise_1.mkdirp(this.join(this.tmp))];
|
46 | case 3:
|
47 | _a.sent();
|
48 | return [2 ];
|
49 | }
|
50 | });
|
51 | });
|
52 | };
|
53 | WorkspaceProvider.prototype.onStop = function () {
|
54 | return __awaiter(this, void 0, void 0, function () {
|
55 | return __generator(this, function (_a) {
|
56 | switch (_a.label) {
|
57 | case 0: return [4 , fs_promise_1.remove(this.join(this.tmp))];
|
58 | case 1:
|
59 | _a.sent();
|
60 | return [2 ];
|
61 | }
|
62 | });
|
63 | });
|
64 | };
|
65 | return WorkspaceProvider;
|
66 | }());
|
67 | __decorate([
|
68 | oly_core_1.env("WORKSPACE_DIRECTORY"),
|
69 | __metadata("design:type", String)
|
70 | ], WorkspaceProvider.prototype, "directory", void 0);
|
71 | __decorate([
|
72 | oly_core_1.env("WORKSPACE_TMP"),
|
73 | __metadata("design:type", String)
|
74 | ], WorkspaceProvider.prototype, "tmp", void 0);
|
75 | exports.WorkspaceProvider = WorkspaceProvider;
|
76 |
|
\ | No newline at end of file |