@stemy/backend 2.7.4 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/stemy-backend.umd.js +349 -198
- package/bundles/stemy-backend.umd.js.map +1 -1
- package/bundles/stemy-backend.umd.min.js +1 -1
- package/bundles/stemy-backend.umd.min.js.map +1 -1
- package/common-types.d.ts +17 -8
- package/esm2015/common-types.js +1 -1
- package/esm2015/services/assets.js +8 -4
- package/esm2015/services/entities/asset.js +16 -21
- package/esm2015/services/entities/base-entity.js +37 -0
- package/esm2015/services/entities/lazy-asset.js +42 -45
- package/esm2015/services/entities/progress.js +72 -54
- package/esm2015/services/lazy-assets.js +9 -5
- package/esm2015/services/progresses.js +10 -6
- package/esm2015/utilities/lazy-asset-generator.js +7 -2
- package/fesm2015/stemy-backend.js +202 -141
- package/fesm2015/stemy-backend.js.map +1 -1
- package/package.json +1 -1
- package/services/entities/asset.d.ts +6 -9
- package/services/entities/base-entity.d.ts +13 -0
- package/services/entities/lazy-asset.d.ts +6 -12
- package/services/entities/progress.d.ts +18 -20
|
@@ -7,36 +7,32 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.mMax = mMax;
|
|
15
|
-
this.mMessage = mMessage;
|
|
16
|
-
this.mError = mError;
|
|
10
|
+
import { BaseEntity } from "./base-entity";
|
|
11
|
+
export class Progress extends BaseEntity {
|
|
12
|
+
constructor(id, data, collection, client) {
|
|
13
|
+
super(id, data, collection);
|
|
17
14
|
this.client = client;
|
|
18
|
-
this.collection = collection;
|
|
19
|
-
}
|
|
20
|
-
get id() {
|
|
21
|
-
return this.progressId.toHexString();
|
|
22
15
|
}
|
|
23
16
|
get current() {
|
|
24
|
-
return this.
|
|
17
|
+
return this.data.current;
|
|
25
18
|
}
|
|
26
19
|
get max() {
|
|
27
|
-
return this.
|
|
20
|
+
return this.data.max;
|
|
28
21
|
}
|
|
29
22
|
get message() {
|
|
30
|
-
return this.
|
|
23
|
+
return this.data.message;
|
|
31
24
|
}
|
|
32
25
|
get error() {
|
|
33
|
-
return this.
|
|
26
|
+
return this.data.error;
|
|
27
|
+
}
|
|
28
|
+
get canceled() {
|
|
29
|
+
return this.data.canceled;
|
|
34
30
|
}
|
|
35
31
|
get percent() {
|
|
36
|
-
return this.
|
|
32
|
+
return this.max > 0 ? Math.round(this.current / this.max * 100) : 0;
|
|
37
33
|
}
|
|
38
34
|
get remaining() {
|
|
39
|
-
return this.
|
|
35
|
+
return this.max > 0 ? this.max - this.current : 0;
|
|
40
36
|
}
|
|
41
37
|
createSubProgress(progressValue, max, message) {
|
|
42
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -44,10 +40,10 @@ export class Progress {
|
|
|
44
40
|
yield this.advance(progressValue);
|
|
45
41
|
}
|
|
46
42
|
if (message !== null) {
|
|
47
|
-
this.
|
|
43
|
+
this.data.message = message;
|
|
48
44
|
yield this.save();
|
|
49
45
|
}
|
|
50
|
-
return new SubProgress(this, this.
|
|
46
|
+
return new SubProgress(this, this.current, progressValue, Math.max(max, 1));
|
|
51
47
|
});
|
|
52
48
|
}
|
|
53
49
|
setMax(max) {
|
|
@@ -55,13 +51,19 @@ export class Progress {
|
|
|
55
51
|
if (isNaN(max) || max <= 0) {
|
|
56
52
|
throw "Max progress value must be bigger than zero";
|
|
57
53
|
}
|
|
58
|
-
this.
|
|
54
|
+
this.data.max = max;
|
|
55
|
+
yield this.save();
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
setMessage(message) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
this.data.message = message;
|
|
59
61
|
yield this.save();
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
64
|
setError(error) {
|
|
63
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
this.
|
|
66
|
+
this.data.error = error;
|
|
65
67
|
yield this.save();
|
|
66
68
|
});
|
|
67
69
|
}
|
|
@@ -70,63 +72,60 @@ export class Progress {
|
|
|
70
72
|
if (isNaN(value) || value <= 0) {
|
|
71
73
|
throw "Advance value must be bigger than zero";
|
|
72
74
|
}
|
|
73
|
-
this.
|
|
75
|
+
yield this.load();
|
|
76
|
+
if (this.deleted || this.canceled)
|
|
77
|
+
return null;
|
|
78
|
+
this.data.current = Math.min(this.max, this.current + value);
|
|
74
79
|
yield this.save();
|
|
75
80
|
if (!this.client)
|
|
76
81
|
return;
|
|
77
82
|
this.client.emit("background-progress", this.id);
|
|
78
83
|
});
|
|
79
84
|
}
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
message: this.message,
|
|
86
|
-
error: this.error
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
save() {
|
|
90
|
-
return this.collection.updateOne({ _id: this.progressId }, { $set: this.toJSON() });
|
|
85
|
+
cancel() {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
this.data.canceled = true;
|
|
88
|
+
yield this.save();
|
|
89
|
+
});
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
92
|
export class SubProgress {
|
|
94
|
-
constructor(parent, progressFrom, progressValue,
|
|
93
|
+
constructor(parent, progressFrom, progressValue, mMax = 100) {
|
|
95
94
|
this.parent = parent;
|
|
96
95
|
this.progressFrom = progressFrom;
|
|
97
96
|
this.progressValue = progressValue;
|
|
98
|
-
this.
|
|
97
|
+
this.mMax = mMax;
|
|
99
98
|
if (progressFrom < 0) {
|
|
100
99
|
throw "Progress from must be bigger than or zero";
|
|
101
100
|
}
|
|
102
101
|
if (progressValue <= 0) {
|
|
103
102
|
throw "Progress value must be bigger than zero";
|
|
104
103
|
}
|
|
105
|
-
this.
|
|
104
|
+
this.mCurrent = 0;
|
|
106
105
|
}
|
|
107
106
|
get id() {
|
|
108
107
|
return this.parent.id;
|
|
109
108
|
}
|
|
109
|
+
get current() {
|
|
110
|
+
return this.mCurrent;
|
|
111
|
+
}
|
|
112
|
+
get max() {
|
|
113
|
+
return this.mMax;
|
|
114
|
+
}
|
|
110
115
|
get message() {
|
|
111
116
|
return this.parent.message;
|
|
112
117
|
}
|
|
113
|
-
set message(value) {
|
|
114
|
-
this.parent.message = value;
|
|
115
|
-
}
|
|
116
118
|
get error() {
|
|
117
119
|
return this.parent.error;
|
|
118
120
|
}
|
|
119
|
-
set error(value) {
|
|
120
|
-
this.parent.error = value;
|
|
121
|
-
}
|
|
122
121
|
get percent() {
|
|
123
122
|
return this.parent.percent;
|
|
124
123
|
}
|
|
125
|
-
get current() {
|
|
126
|
-
return this.currentValue;
|
|
127
|
-
}
|
|
128
124
|
get remaining() {
|
|
129
|
-
return this.max - this.
|
|
125
|
+
return this.max - this.mCurrent;
|
|
126
|
+
}
|
|
127
|
+
get canceled() {
|
|
128
|
+
return !this.parent || this.parent.canceled;
|
|
130
129
|
}
|
|
131
130
|
createSubProgress(progressValue, max, message) {
|
|
132
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -134,8 +133,7 @@ export class SubProgress {
|
|
|
134
133
|
yield this.advance(progressValue);
|
|
135
134
|
}
|
|
136
135
|
if (message !== null) {
|
|
137
|
-
this.message
|
|
138
|
-
yield this.parent.save();
|
|
136
|
+
yield this.setMessage(message);
|
|
139
137
|
}
|
|
140
138
|
return new SubProgress(this, this.current, progressValue, Math.max(max, 1));
|
|
141
139
|
});
|
|
@@ -145,14 +143,22 @@ export class SubProgress {
|
|
|
145
143
|
if (isNaN(max) || max <= 0) {
|
|
146
144
|
throw "Max progress value must be bigger than zero";
|
|
147
145
|
}
|
|
148
|
-
this.
|
|
146
|
+
this.mMax = max;
|
|
149
147
|
yield this.save();
|
|
150
148
|
});
|
|
151
149
|
}
|
|
150
|
+
setMessage(message) {
|
|
151
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
if (!this.parent)
|
|
153
|
+
return null;
|
|
154
|
+
yield this.parent.setMessage(message);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
152
157
|
setError(error) {
|
|
153
158
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
this.
|
|
155
|
-
|
|
159
|
+
if (!this.parent)
|
|
160
|
+
return null;
|
|
161
|
+
yield this.parent.setError(error);
|
|
156
162
|
});
|
|
157
163
|
}
|
|
158
164
|
advance(value = 1) {
|
|
@@ -160,13 +166,20 @@ export class SubProgress {
|
|
|
160
166
|
if (isNaN(value) || value <= 0) {
|
|
161
167
|
throw "Advance value must be bigger than zero";
|
|
162
168
|
}
|
|
163
|
-
this.
|
|
169
|
+
this.mCurrent = Math.min(this.max, this.mCurrent + value);
|
|
164
170
|
yield this.save();
|
|
165
171
|
});
|
|
166
172
|
}
|
|
173
|
+
cancel() {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
if (!this.parent)
|
|
176
|
+
return null;
|
|
177
|
+
yield this.parent.cancel();
|
|
178
|
+
});
|
|
179
|
+
}
|
|
167
180
|
save() {
|
|
168
181
|
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
-
const ratio = this.max > 0 ? this.
|
|
182
|
+
const ratio = this.max > 0 ? this.mCurrent / this.max : 0;
|
|
170
183
|
const newProgress = this.progressFrom + Math.round(this.progressValue * ratio);
|
|
171
184
|
const current = this.parent.current;
|
|
172
185
|
if (newProgress <= current)
|
|
@@ -174,8 +187,13 @@ export class SubProgress {
|
|
|
174
187
|
yield this.parent.advance(newProgress);
|
|
175
188
|
});
|
|
176
189
|
}
|
|
190
|
+
load() {
|
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
return null;
|
|
193
|
+
});
|
|
194
|
+
}
|
|
177
195
|
toJSON() {
|
|
178
196
|
return this.parent.toJSON();
|
|
179
197
|
}
|
|
180
198
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZW50aXRpZXMvcHJvZ3Jlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBSUEsTUFBTSxPQUFPLFFBQVE7SUE4QmpCLFlBQXFCLFVBQW9CLEVBQ25CLFFBQWdCLEVBQ2hCLElBQVksRUFDWixRQUFnQixFQUNoQixNQUFjLEVBQ2QsTUFBNkIsRUFDN0IsVUFBc0I7UUFOdkIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzVDLENBQUM7SUFuQ0QsSUFBSSxFQUFFO1FBQ0YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFD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SUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDcEMsSUFBSSxXQUFXLElBQUksT0FBTztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN4QyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzFDLENBQUM7S0FBQTtJQUVELE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tIFwibW9uZ29kYlwiO1xyXG5pbXBvcnQge0lQcm9ncmVzc30gZnJvbSBcIi4uLy4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb2dyZXNzIGltcGxlbWVudHMgSVByb2dyZXNzIHtcclxuXHJcbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9ncmVzc0lkLnRvSGV4U3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGN1cnJlbnQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tQ3VycmVudDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWF4KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubU1heDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1NZXNzYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlcnJvcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1FcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGVyY2VudCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1NYXggPiAwID8gTWF0aC5yb3VuZCh0aGlzLm1DdXJyZW50IC8gdGhpcy5tTWF4ICogMTAwKSA6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJlbWFpbmluZygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1NYXggPiAwID8gdGhpcy5tTWF4IC0gdGhpcy5tQ3VycmVudCA6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgcHJvZ3Jlc3NJZDogT2JqZWN0SWQsXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgbUN1cnJlbnQ6IG51bWJlcixcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBtTWF4OiBudW1iZXIsXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgbU1lc3NhZ2U6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBtRXJyb3I6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBjbGllbnQ6IFNvY2tldElPQ2xpZW50LlNvY2tldCxcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uKSB7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlU3ViUHJvZ3Jlc3MocHJvZ3Jlc3NWYWx1ZTogbnVtYmVyLCBtYXg/OiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiBQcm9taXNlPElQcm9ncmVzcz4ge1xyXG4gICAgICAgIGlmIChtYXggPD0gMCAmJiBwcm9ncmVzc1ZhbHVlID4gMCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmFkdmFuY2UocHJvZ3Jlc3NWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChtZXNzYWdlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubU1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJQcm9ncmVzcyh0aGlzLCB0aGlzLm1DdXJyZW50LCBwcm9ncmVzc1ZhbHVlLCBNYXRoLm1heChtYXgsIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZXRNYXgobWF4OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmIChpc05hTihtYXgpIHx8IG1heCA8PSAwKSB7XHJcbiAgICAgICAgICAgIHRocm93IFwiTWF4IHByb2dyZXNzIHZhbHVlIG11c3QgYmUgYmlnZ2VyIHRoYW4gemVyb1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1NYXggPSBtYXg7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2V0RXJyb3IoZXJyb3I6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgdGhpcy5tRXJyb3IgPSBlcnJvcjtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZHZhbmNlKHZhbHVlOiBudW1iZXIgPSAxKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlIDw9IDApIHtcclxuICAgICAgICAgICAgdGhyb3cgXCJBZHZhbmNlIHZhbHVlIG11c3QgYmUgYmlnZ2VyIHRoYW4gemVyb1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1DdXJyZW50ID0gTWF0aC5taW4odGhpcy5tTWF4LCB0aGlzLm1DdXJyZW50ICsgdmFsdWUpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xyXG4gICAgICAgIGlmICghdGhpcy5jbGllbnQpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNsaWVudC5lbWl0KFwiYmFja2dyb3VuZC1wcm9ncmVzc1wiLCB0aGlzLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICB0b0pTT04oKTogYW55IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgICAgICAgY3VycmVudDogdGhpcy5jdXJyZW50LFxyXG4gICAgICAgICAgICBtYXg6IHRoaXMubWF4LFxyXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXHJcbiAgICAgICAgICAgIGVycm9yOiB0aGlzLmVycm9yXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbi51cGRhdGVPbmUoe19pZDogdGhpcy5wcm9ncmVzc0lkfSwgeyRzZXQ6IHRoaXMudG9KU09OKCl9KTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN1YlByb2dyZXNzIGltcGxlbWVudHMgSVByb2dyZXNzIHtcclxuXHJcbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQuaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG1lc3NhZ2UoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQubWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgbWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5wYXJlbnQubWVzc2FnZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlcnJvcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudC5lcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZXJyb3IodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMucGFyZW50LmVycm9yID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBlcmNlbnQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQucGVyY2VudDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY3VycmVudCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcmVtYWluaW5nKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4IC0gdGhpcy5jdXJyZW50VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjdXJyZW50VmFsdWU6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogSVByb2dyZXNzLCBwcml2YXRlIHByb2dyZXNzRnJvbTogbnVtYmVyLCBwcml2YXRlIHByb2dyZXNzVmFsdWU6IG51bWJlciwgcHJpdmF0ZSBtYXg6IG51bWJlciA9IDEwMCkge1xyXG4gICAgICAgIGlmIChwcm9ncmVzc0Zyb20gPCAwKSB7XHJcbiAgICAgICAgICAgIHRocm93IFwiUHJvZ3Jlc3MgZnJvbSBtdXN0IGJlIGJpZ2dlciB0aGFuIG9yIHplcm9cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb2dyZXNzVmFsdWUgPD0gMCkge1xyXG4gICAgICAgICAgICB0aHJvdyBcIlByb2dyZXNzIHZhbHVlIG11c3QgYmUgYmlnZ2VyIHRoYW4gemVyb1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlU3ViUHJvZ3Jlc3MocHJvZ3Jlc3NWYWx1ZTogbnVtYmVyLCBtYXg/OiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiBQcm9taXNlPElQcm9ncmVzcz4ge1xyXG4gICAgICAgIGlmIChtYXggPD0gMCAmJiBwcm9ncmVzc1ZhbHVlID4gMCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmFkdmFuY2UocHJvZ3Jlc3NWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChtZXNzYWdlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGFyZW50LnNhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJQcm9ncmVzcyh0aGlzLCB0aGlzLmN1cnJlbnQsIHByb2dyZXNzVmFsdWUsIE1hdGgubWF4KG1heCwgMSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNldE1heChtYXg6IG51bWJlcik6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKGlzTmFOKG1heCkgfHwgbWF4IDw9IDApIHtcclxuICAgICAgICAgICAgdGhyb3cgXCJNYXggcHJvZ3Jlc3MgdmFsdWUgbXVzdCBiZSBiaWdnZXIgdGhhbiB6ZXJvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWF4ID0gbWF4O1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNldEVycm9yKGVycm9yOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvciB8fCBudWxsO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGFkdmFuY2UodmFsdWU6IG51bWJlciA9IDEpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPD0gMCkge1xyXG4gICAgICAgICAgICB0aHJvdyBcIkFkdmFuY2UgdmFsdWUgbXVzdCBiZSBiaWdnZXIgdGhhbiB6ZXJvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gTWF0aC5taW4odGhpcy5tYXgsIHRoaXMuY3VycmVudFZhbHVlICsgdmFsdWUpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNhdmUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCByYXRpbyA9IHRoaXMubWF4ID4gMCA/IHRoaXMuY3VycmVudFZhbHVlIC8gdGhpcy5tYXggOiAwO1xyXG4gICAgICAgIGNvbnN0IG5ld1Byb2dyZXNzID0gdGhpcy5wcm9ncmVzc0Zyb20gKyBNYXRoLnJvdW5kKHRoaXMucHJvZ3Jlc3NWYWx1ZSAqIHJhdGlvKTtcclxuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5wYXJlbnQuY3VycmVudDtcclxuICAgICAgICBpZiAobmV3UHJvZ3Jlc3MgPD0gY3VycmVudCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wYXJlbnQuYWR2YW5jZShuZXdQcm9ncmVzcylcclxuICAgIH1cclxuXHJcbiAgICB0b0pTT04oKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQudG9KU09OKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZW50aXRpZXMvcHJvZ3Jlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxNQUFNLE9BQU8sUUFBUyxTQUFRLFVBQXFCO0lBOEIvQyxZQUFZLEVBQVksRUFDWixJQUF3QixFQUN4QixVQUFzQixFQUNaLE1BQTZCO1FBQy9DLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRFYsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7SUFFbkQsQ0FBQztJQWpDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBU0ssaUJBQWlCLENBQUMsYUFBcUIsRUFBRSxHQUFZLEVBQUUsT0FBZ0I7O1lBQ3pFLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDckM7WUFDRCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDNUIsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDckI7WUFDRCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxHQUFXOztZQUNwQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO2dCQUN4QixNQUFNLDZDQUE2QyxDQUFDO2FBQ3ZEO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7S0FBQTtJQUVLLFVBQVUsQ0FBQyxPQUFlOztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDNUIsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEtBQWE7O1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDO0tBQUE7SUFFSyxPQUFPLENBQUMsUUFBZ0IsQ0FBQzs7WUFDM0IsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtnQkFDNUIsTUFBTSx3Q0FBd0MsQ0FBQzthQUNsRDtZQUNELE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztZQUM3RCxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztLQUFBO0lBRUssTUFBTTs7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDMUIsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztLQUFBO0NBQ0o7QUFFRCxNQUFNLE9BQU8sV0FBVztJQW9DcEIsWUFBc0IsTUFBaUIsRUFBWSxZQUFvQixFQUFZLGFBQXFCLEVBQVksT0FBZSxHQUFHO1FBQWhILFdBQU0sR0FBTixNQUFNLENBQVc7UUFBWSxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFZLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsSSxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7WUFDbEIsTUFBTSwyQ0FBMkMsQ0FBQztTQUNyRDtRQUNELElBQUksYUFBYSxJQUFJLENBQUMsRUFBRTtZQUNwQixNQUFNLHlDQUF5QyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQTFDRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2hELENBQUM7SUFjSyxpQkFBaUIsQ0FBQyxhQUFxQixFQUFFLEdBQVksRUFBRSxPQUFnQjs7WUFDekUsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLGFBQWEsR0FBRyxDQUFDLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtnQkFDbEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDO0tBQUE7SUFFSyxNQUFNLENBQUMsR0FBVzs7WUFDcEIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsTUFBTSw2Q0FBNkMsQ0FBQzthQUN2RDtZQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7S0FBQTtJQUVLLFVBQVUsQ0FBQyxPQUFlOztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDOUIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQUE7SUFFSyxRQUFRLENBQUMsS0FBYTs7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFDLFFBQWdCLENBQUM7O1lBQzNCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQzVCLE1BQU0sd0NBQXdDLENBQUM7YUFDbEQ7WUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzFELE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7S0FBQTtJQUVLLE1BQU07O1lBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixDQUFDO0tBQUE7SUFFSyxJQUFJOztZQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUMvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNwQyxJQUFJLFdBQVcsSUFBSSxPQUFPO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDMUMsQ0FBQztLQUFBO0lBRUssSUFBSTs7WUFDTixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCB7Q29sbGVjdGlvbn0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtJUHJvZ3Jlc3N9IGZyb20gXCIuLi8uLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtCYXNlRW50aXR5fSBmcm9tIFwiLi9iYXNlLWVudGl0eVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb2dyZXNzIGV4dGVuZHMgQmFzZUVudGl0eTxJUHJvZ3Jlc3M+IGltcGxlbWVudHMgSVByb2dyZXNzIHtcclxuXHJcbiAgICBnZXQgY3VycmVudCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3VycmVudDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWF4KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5tYXg7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG1lc3NhZ2UoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGVycm9yKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY2FuY2VsZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5jYW5jZWxlZDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGVyY2VudCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1heCA+IDAgPyBNYXRoLnJvdW5kKHRoaXMuY3VycmVudCAvIHRoaXMubWF4ICogMTAwKSA6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJlbWFpbmluZygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1heCA+IDAgPyB0aGlzLm1heCAtIHRoaXMuY3VycmVudCA6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoaWQ6IE9iamVjdElkLFxyXG4gICAgICAgICAgICAgICAgZGF0YTogUGFydGlhbDxJUHJvZ3Jlc3M+LFxyXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbixcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBjbGllbnQ6IFNvY2tldElPQ2xpZW50LlNvY2tldCkge1xyXG4gICAgICAgIHN1cGVyKGlkLCBkYXRhLCBjb2xsZWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGVTdWJQcm9ncmVzcyhwcm9ncmVzc1ZhbHVlOiBudW1iZXIsIG1heD86IG51bWJlciwgbWVzc2FnZT86IHN0cmluZyk6IFByb21pc2U8SVByb2dyZXNzPiB7XHJcbiAgICAgICAgaWYgKG1heCA8PSAwICYmIHByb2dyZXNzVmFsdWUgPiAwKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuYWR2YW5jZShwcm9ncmVzc1ZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhLm1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJQcm9ncmVzcyh0aGlzLCB0aGlzLmN1cnJlbnQsIHByb2dyZXNzVmFsdWUsIE1hdGgubWF4KG1heCwgMSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNldE1heChtYXg6IG51bWJlcik6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKGlzTmFOKG1heCkgfHwgbWF4IDw9IDApIHtcclxuICAgICAgICAgICAgdGhyb3cgXCJNYXggcHJvZ3Jlc3MgdmFsdWUgbXVzdCBiZSBiaWdnZXIgdGhhbiB6ZXJvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YS5tYXggPSBtYXg7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2V0TWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YS5tZXNzYWdlID0gbWVzc2FnZTtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZXRFcnJvcihlcnJvcjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICB0aGlzLmRhdGEuZXJyb3IgPSBlcnJvcjtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZHZhbmNlKHZhbHVlOiBudW1iZXIgPSAxKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlIDw9IDApIHtcclxuICAgICAgICAgICAgdGhyb3cgXCJBZHZhbmNlIHZhbHVlIG11c3QgYmUgYmlnZ2VyIHRoYW4gemVyb1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLmxvYWQoKTtcclxuICAgICAgICBpZiAodGhpcy5kZWxldGVkIHx8IHRoaXMuY2FuY2VsZWQpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHRoaXMuZGF0YS5jdXJyZW50ID0gTWF0aC5taW4odGhpcy5tYXgsIHRoaXMuY3VycmVudCArIHZhbHVlKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgICAgICBpZiAoIXRoaXMuY2xpZW50KSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5jbGllbnQuZW1pdChcImJhY2tncm91bmQtcHJvZ3Jlc3NcIiwgdGhpcy5pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY2FuY2VsKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhLmNhbmNlbGVkID0gdHJ1ZTtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN1YlByb2dyZXNzIGltcGxlbWVudHMgSVByb2dyZXNzIHtcclxuXHJcbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQuaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGN1cnJlbnQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tQ3VycmVudDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWF4KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubU1heDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudC5tZXNzYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlcnJvcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudC5lcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGVyY2VudCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudC5wZXJjZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByZW1haW5pbmcoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXggLSB0aGlzLm1DdXJyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjYW5jZWxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMucGFyZW50IHx8IHRoaXMucGFyZW50LmNhbmNlbGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBtQ3VycmVudDogbnVtYmVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBwYXJlbnQ6IElQcm9ncmVzcywgcHJvdGVjdGVkIHByb2dyZXNzRnJvbTogbnVtYmVyLCBwcm90ZWN0ZWQgcHJvZ3Jlc3NWYWx1ZTogbnVtYmVyLCBwcm90ZWN0ZWQgbU1heDogbnVtYmVyID0gMTAwKSB7XHJcbiAgICAgICAgaWYgKHByb2dyZXNzRnJvbSA8IDApIHtcclxuICAgICAgICAgICAgdGhyb3cgXCJQcm9ncmVzcyBmcm9tIG11c3QgYmUgYmlnZ2VyIHRoYW4gb3IgemVyb1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvZ3Jlc3NWYWx1ZSA8PSAwKSB7XHJcbiAgICAgICAgICAgIHRocm93IFwiUHJvZ3Jlc3MgdmFsdWUgbXVzdCBiZSBiaWdnZXIgdGhhbiB6ZXJvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubUN1cnJlbnQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZVN1YlByb2dyZXNzKHByb2dyZXNzVmFsdWU6IG51bWJlciwgbWF4PzogbnVtYmVyLCBtZXNzYWdlPzogc3RyaW5nKTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICBpZiAobWF4IDw9IDAgJiYgcHJvZ3Jlc3NWYWx1ZSA+IDApIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5hZHZhbmNlKHByb2dyZXNzVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobWVzc2FnZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNldE1lc3NhZ2UobWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgU3ViUHJvZ3Jlc3ModGhpcywgdGhpcy5jdXJyZW50LCBwcm9ncmVzc1ZhbHVlLCBNYXRoLm1heChtYXgsIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZXRNYXgobWF4OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmIChpc05hTihtYXgpIHx8IG1heCA8PSAwKSB7XHJcbiAgICAgICAgICAgIHRocm93IFwiTWF4IHByb2dyZXNzIHZhbHVlIG11c3QgYmUgYmlnZ2VyIHRoYW4gemVyb1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1NYXggPSBtYXg7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2V0TWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5wYXJlbnQpIHJldHVybiBudWxsO1xyXG4gICAgICAgIGF3YWl0IHRoaXMucGFyZW50LnNldE1lc3NhZ2UobWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2V0RXJyb3IoZXJyb3I6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wYXJlbnQuc2V0RXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGFkdmFuY2UodmFsdWU6IG51bWJlciA9IDEpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPD0gMCkge1xyXG4gICAgICAgICAgICB0aHJvdyBcIkFkdmFuY2UgdmFsdWUgbXVzdCBiZSBiaWdnZXIgdGhhbiB6ZXJvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubUN1cnJlbnQgPSBNYXRoLm1pbih0aGlzLm1heCwgdGhpcy5tQ3VycmVudCArIHZhbHVlKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAoIXRoaXMucGFyZW50KSByZXR1cm4gbnVsbDtcclxuICAgICAgICBhd2FpdCB0aGlzLnBhcmVudC5jYW5jZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzYXZlKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgcmF0aW8gPSB0aGlzLm1heCA+IDAgPyB0aGlzLm1DdXJyZW50IC8gdGhpcy5tYXggOiAwO1xyXG4gICAgICAgIGNvbnN0IG5ld1Byb2dyZXNzID0gdGhpcy5wcm9ncmVzc0Zyb20gKyBNYXRoLnJvdW5kKHRoaXMucHJvZ3Jlc3NWYWx1ZSAqIHJhdGlvKTtcclxuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5wYXJlbnQuY3VycmVudDtcclxuICAgICAgICBpZiAobmV3UHJvZ3Jlc3MgPD0gY3VycmVudCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wYXJlbnQuYWR2YW5jZShuZXdQcm9ncmVzcylcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBsb2FkKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgdG9KU09OKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50LnRvSlNPTigpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -34,12 +34,16 @@ let LazyAssets = class LazyAssets {
|
|
|
34
34
|
create(jobType, jobParams = {}, jobQue = "main") {
|
|
35
35
|
return __awaiter(this, void 0, void 0, function* () {
|
|
36
36
|
const jobName = this.jobMan.tryResolve(jobType, Object.assign(Object.assign({}, jobParams), { lazyId: "" }));
|
|
37
|
-
const
|
|
37
|
+
const data = {
|
|
38
38
|
jobName,
|
|
39
39
|
jobParams,
|
|
40
40
|
jobQue
|
|
41
|
-
}
|
|
42
|
-
|
|
41
|
+
};
|
|
42
|
+
const existingAsset = yield this.find(data);
|
|
43
|
+
if (existingAsset)
|
|
44
|
+
return existingAsset;
|
|
45
|
+
const res = yield this.collection.insertOne(data);
|
|
46
|
+
return new LazyAsset(res.insertedId, data, this.collection, this.assets, this.progresses, this.jobMan);
|
|
43
47
|
});
|
|
44
48
|
}
|
|
45
49
|
read(id) {
|
|
@@ -52,7 +56,7 @@ let LazyAssets = class LazyAssets {
|
|
|
52
56
|
const data = yield this.collection.findOne(where);
|
|
53
57
|
return !data
|
|
54
58
|
? null
|
|
55
|
-
: new LazyAsset(data._id, data
|
|
59
|
+
: new LazyAsset(data._id, data, this.collection, this.assets, this.progresses, this.jobMan);
|
|
56
60
|
});
|
|
57
61
|
}
|
|
58
62
|
unlink(id) {
|
|
@@ -71,4 +75,4 @@ LazyAssets = __decorate([
|
|
|
71
75
|
Progresses, JobManager])
|
|
72
76
|
], LazyAssets);
|
|
73
77
|
export { LazyAssets };
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbGF6eS1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJOUIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztJQUkzQixVQUFVLFNBQVYsVUFBVTtJQUluQixZQUFxQixTQUF5QixFQUFXLE1BQWMsRUFDbEQsVUFBc0IsRUFBVyxNQUFrQjtRQURuRCxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFXLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDbEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFXLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUssTUFBTSxDQUFDLE9BQW1CLEVBQUUsWUFBdUIsRUFBRSxFQUFFLFNBQWlCLE1BQU07O1lBQ2hGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sa0NBQU0sU0FBUyxLQUFFLE1BQU0sRUFBRSxFQUFFLElBQUUsQ0FBQztZQUM1RSxNQUFNLElBQUksR0FBRztnQkFDVCxPQUFPO2dCQUNQLFNBQVM7Z0JBQ1QsTUFBTTthQUNULENBQUM7WUFDRixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxhQUFhO2dCQUFFLE9BQU8sYUFBYSxDQUFDO1lBQ3hDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEQsT0FBTyxJQUFJLFNBQVMsQ0FDaEIsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFDckMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQzVDLENBQUM7UUFDTixDQUFDO0tBQUE7SUFFSyxJQUFJLENBQUMsRUFBVTs7WUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO0tBQUE7SUFFSyxJQUFJLENBQUMsS0FBOEI7O1lBQ3JDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLElBQUk7Z0JBQ1IsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDLElBQUksU0FBUyxDQUNYLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUM1QyxDQUFDO1FBQ1YsQ0FBQztLQUFBO0lBRUssTUFBTSxDQUFDLEVBQVU7O1lBQ25CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixDQUFDO0tBQUE7Q0FDSixDQUFBO0FBNUNZLFVBQVU7SUFGdEIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7cUNBS0UsY0FBYyxFQUFtQixNQUFNO1FBQ3RDLFVBQVUsRUFBbUIsVUFBVTtHQUwvRCxVQUFVLENBNEN0QjtTQTVDWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCB7Q29sbGVjdGlvbn0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtGaWx0ZXJRdWVyeX0gZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCB7SUpvYiwgSUxhenlBc3NldCwgSm9iUGFyYW1zLCBUeXBlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7TW9uZ29Db25uZWN0b3J9IGZyb20gXCIuL21vbmdvLWNvbm5lY3RvclwiO1xyXG5pbXBvcnQge0Fzc2V0c30gZnJvbSBcIi4vYXNzZXRzXCI7XHJcbmltcG9ydCB7TGF6eUFzc2V0fSBmcm9tIFwiLi9lbnRpdGllcy9sYXp5LWFzc2V0XCI7XHJcbmltcG9ydCB7Sm9iTWFuYWdlcn0gZnJvbSBcIi4vam9iLW1hbmFnZXJcIjtcclxuaW1wb3J0IHtQcm9ncmVzc2VzfSBmcm9tIFwiLi9wcm9ncmVzc2VzXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIExhenlBc3NldHMge1xyXG5cclxuICAgIHByb3RlY3RlZCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbm5lY3RvcjogTW9uZ29Db25uZWN0b3IsIHJlYWRvbmx5IGFzc2V0czogQXNzZXRzLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgcHJvZ3Jlc3NlczogUHJvZ3Jlc3NlcywgcmVhZG9ubHkgam9iTWFuOiBKb2JNYW5hZ2VyKSB7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uID0gY29ubmVjdG9yLmRhdGFiYXNlLmNvbGxlY3Rpb24oXCJsYXp5YXNzZXRzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZShqb2JUeXBlOiBUeXBlPElKb2I+LCBqb2JQYXJhbXM6IEpvYlBhcmFtcyA9IHt9LCBqb2JRdWU6IHN0cmluZyA9IFwibWFpblwiKTogUHJvbWlzZTxJTGF6eUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3Qgam9iTmFtZSA9IHRoaXMuam9iTWFuLnRyeVJlc29sdmUoam9iVHlwZSwgey4uLmpvYlBhcmFtcywgbGF6eUlkOiBcIlwifSk7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgam9iTmFtZSxcclxuICAgICAgICAgICAgam9iUGFyYW1zLFxyXG4gICAgICAgICAgICBqb2JRdWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQXNzZXQgPSBhd2FpdCB0aGlzLmZpbmQoZGF0YSk7XHJcbiAgICAgICAgaWYgKGV4aXN0aW5nQXNzZXQpIHJldHVybiBleGlzdGluZ0Fzc2V0O1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbi5pbnNlcnRPbmUoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBMYXp5QXNzZXQoXHJcbiAgICAgICAgICAgIHJlcy5pbnNlcnRlZElkLCBkYXRhLCB0aGlzLmNvbGxlY3Rpb24sXHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXRzLCB0aGlzLnByb2dyZXNzZXMsIHRoaXMuam9iTWFuXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWFkKGlkOiBzdHJpbmcpOiBQcm9taXNlPElMYXp5QXNzZXQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maW5kKHtfaWQ6IG5ldyBPYmplY3RJZChpZCl9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKHdoZXJlOiBGaWx0ZXJRdWVyeTxJTGF6eUFzc2V0Pik6IFByb21pc2U8SUxhenlBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuICFkYXRhXHJcbiAgICAgICAgICAgID8gbnVsbFxyXG4gICAgICAgICAgICA6IG5ldyBMYXp5QXNzZXQoXHJcbiAgICAgICAgICAgICAgICBkYXRhLl9pZCwgZGF0YSwgdGhpcy5jb2xsZWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hc3NldHMsIHRoaXMucHJvZ3Jlc3NlcywgdGhpcy5qb2JNYW5cclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1bmxpbmsoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLnJlYWQoaWQpO1xyXG4gICAgICAgIGlmICghYXNzZXQpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHJldHVybiBhc3NldC51bmxpbmsoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -60,7 +60,7 @@ let Progresses = class Progresses {
|
|
|
60
60
|
find(where) {
|
|
61
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
62
|
const data = yield this.collection.findOne(where);
|
|
63
|
-
return !data ? null : new Progress(data._id, data
|
|
63
|
+
return !data ? null : new Progress(data._id, data, this.collection, this.client);
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
create(max = 100) {
|
|
@@ -68,11 +68,15 @@ let Progresses = class Progresses {
|
|
|
68
68
|
if (isNaN(max) || max <= 0) {
|
|
69
69
|
throw "Max progress value must be bigger than zero";
|
|
70
70
|
}
|
|
71
|
-
const
|
|
71
|
+
const data = {
|
|
72
72
|
current: 0,
|
|
73
|
-
max
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
max: max,
|
|
74
|
+
message: "",
|
|
75
|
+
error: "",
|
|
76
|
+
canceled: false
|
|
77
|
+
};
|
|
78
|
+
const res = yield this.collection.insertOne(data);
|
|
79
|
+
return new Progress(res.insertedId, data, this.collection, this.client);
|
|
76
80
|
});
|
|
77
81
|
}
|
|
78
82
|
remove(id) {
|
|
@@ -88,4 +92,4 @@ Progresses = __decorate([
|
|
|
88
92
|
__metadata("design:paramtypes", [MongoConnector, Configuration])
|
|
89
93
|
], Progresses);
|
|
90
94
|
export { Progresses };
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9wcm9ncmVzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sZ0JBQWdCLE1BQU0sa0JBQWtCLENBQUE7QUFDL0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc5QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR2pELE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDO0lBSTNCLFVBQVUsU0FBVixVQUFVO0lBS25CLFlBQXFCLFNBQXlCLEVBQVcsTUFBcUI7UUFBekQsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQzFFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVLLFlBQVksQ0FBQyxFQUFVOztZQUN6QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxRQUFRLEdBQWMsSUFBSSxDQUFDO1lBQy9CLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ2hCLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ1gsTUFBTSxxQ0FBcUMsRUFBRSxFQUFFLENBQUM7aUJBQ25EO2dCQUNELElBQUksUUFBUSxDQUFDLEtBQUssRUFBRTtvQkFDaEIsTUFBTSxRQUFRLENBQUMsS0FBSyxDQUFDO2lCQUN4QjtnQkFDRCxVQUFVLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ2IsTUFBTSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzdCO2FBQ0o7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO0tBQUE7SUFFSyxHQUFHLENBQUMsRUFBVTs7WUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO0tBQUE7SUFFSyxJQUFJLENBQUMsS0FBNkI7O1lBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FDOUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUMvQyxDQUFDO1FBQ04sQ0FBQztLQUFBO0lBRUssTUFBTSxDQUFDLE1BQWMsR0FBRzs7WUFDMUIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsTUFBTSw2Q0FBNkMsQ0FBQzthQUN2RDtZQUNELE1BQU0sSUFBSSxHQUFHO2dCQUNULE9BQU8sRUFBRSxDQUFDO2dCQUNWLEdBQUcsRUFBRSxHQUFHO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLEtBQUssRUFBRSxFQUFFO2dCQUNULFFBQVEsRUFBRSxLQUFLO2FBQ2xCLENBQUM7WUFDRixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELE9BQU8sSUFBSSxRQUFRLENBQ2YsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUNyRCxDQUFDO1FBQ04sQ0FBQztLQUFBO0lBRUssTUFBTSxDQUFDLEVBQVU7O1lBQ25CLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQTlEWSxVQUFVO0lBRnRCLFVBQVUsRUFBRTtJQUNaLFNBQVMsRUFBRTtxQ0FNd0IsY0FBYyxFQUFtQixhQUFhO0dBTHJFLFVBQVUsQ0E4RHRCO1NBOURZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIHNpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCBzb2NrZXRfaW9fY2xpZW50IGZyb20gXCJzb2NrZXQuaW8tY2xpZW50XCJcclxuaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuaW1wb3J0IHtGaWx0ZXJRdWVyeX0gZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCB7SVByb2dyZXNzfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7cHJvbWlzZVRpbWVvdXR9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHtQcm9ncmVzc30gZnJvbSBcIi4vZW50aXRpZXMvcHJvZ3Jlc3NcIjtcclxuaW1wb3J0IHtNb25nb0Nvbm5lY3Rvcn0gZnJvbSBcIi4vbW9uZ28tY29ubmVjdG9yXCI7XHJcbmltcG9ydCB7Q29sbGVjdGlvbn0gZnJvbSBcIm1vbmdvZGJcIjtcclxuXHJcbmNvbnN0IHNvY2tldElPQ2xpZW50ID0gc29ja2V0X2lvX2NsaWVudDtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc2VzIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgY2xpZW50OiBTb2NrZXRJT0NsaWVudC5Tb2NrZXQ7XHJcbiAgICByZWFkb25seSBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbm5lY3RvcjogTW9uZ29Db25uZWN0b3IsIHJlYWRvbmx5IGNvbmZpZzogQ29uZmlndXJhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IG1haW5FbmRwb2ludCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJtYWluRW5kcG9pbnRcIik7XHJcbiAgICAgICAgdGhpcy5jbGllbnQgPSAhbWFpbkVuZHBvaW50ID8gbnVsbCA6IHNvY2tldElPQ2xpZW50KG1haW5FbmRwb2ludCwge3BhdGg6IFwiL3NvY2tldFwifSk7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uID0gY29ubmVjdG9yLmRhdGFiYXNlLmNvbGxlY3Rpb24oXCJwcm9ncmVzc2VzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdhaXRUb0ZpbmlzaChpZDogc3RyaW5nKTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICBsZXQgaXNGaW5pc2hlZCA9IGZhbHNlO1xyXG4gICAgICAgIGxldCBwcm9ncmVzczogSVByb2dyZXNzID0gbnVsbDtcclxuICAgICAgICB3aGlsZSAoIWlzRmluaXNoZWQpIHtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MgPSBhd2FpdCB0aGlzLmdldChpZCk7XHJcbiAgICAgICAgICAgIGlmICghcHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBQcm9ncmVzcyBkb2VzIG5vdCBleGlzdHMgd2l0aCBpZDogJHtpZH1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChwcm9ncmVzcy5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgcHJvZ3Jlc3MuZXJyb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaXNGaW5pc2hlZCA9IHByb2dyZXNzLnBlcmNlbnQgPT0gMTAwO1xyXG4gICAgICAgICAgICBpZiAoIWlzRmluaXNoZWQpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHByb21pc2VUaW1lb3V0KDE1MCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb2dyZXNzO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldChpZDogc3RyaW5nKTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maW5kKHtfaWQ6IG5ldyBPYmplY3RJZChpZCl9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKHdoZXJlOiBGaWx0ZXJRdWVyeTxJUHJvZ3Jlc3M+KTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmZpbmRPbmUod2hlcmUpO1xyXG4gICAgICAgIHJldHVybiAhZGF0YSA/IG51bGwgOiBuZXcgUHJvZ3Jlc3MoXHJcbiAgICAgICAgICAgIGRhdGEuX2lkLCBkYXRhLCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMuY2xpZW50XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGUobWF4OiBudW1iZXIgPSAxMDApOiBQcm9taXNlPElQcm9ncmVzcz4ge1xyXG4gICAgICAgIGlmIChpc05hTihtYXgpIHx8IG1heCA8PSAwKSB7XHJcbiAgICAgICAgICAgIHRocm93IFwiTWF4IHByb2dyZXNzIHZhbHVlIG11c3QgYmUgYmlnZ2VyIHRoYW4gemVyb1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICAgICAgICBjdXJyZW50OiAwLFxyXG4gICAgICAgICAgICBtYXg6IG1heCxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJcIixcclxuICAgICAgICAgICAgZXJyb3I6IFwiXCIsXHJcbiAgICAgICAgICAgIGNhbmNlbGVkOiBmYWxzZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmluc2VydE9uZShkYXRhKTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb2dyZXNzKFxyXG4gICAgICAgICAgICByZXMuaW5zZXJ0ZWRJZCwgZGF0YSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmNsaWVudFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVtb3ZlKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbi5kZWxldGVPbmUoe19pZDogbmV3IE9iamVjdElkKGlkKX0pO1xyXG4gICAgICAgIHJldHVybiBpZDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -22,9 +22,14 @@ export class LazyAssetGenerator {
|
|
|
22
22
|
process() {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
const lazyAsset = yield this.lazyAssets.read(this.lazyId);
|
|
25
|
-
|
|
25
|
+
let progress = yield this.progresses.get(lazyAsset.progressId);
|
|
26
|
+
if (!progress || progress.canceled)
|
|
27
|
+
return null;
|
|
26
28
|
try {
|
|
27
29
|
const asset = yield this.generate(progress);
|
|
30
|
+
progress = yield progress.load();
|
|
31
|
+
if (!progress || progress.canceled)
|
|
32
|
+
return null;
|
|
28
33
|
yield lazyAsset.writeAsset(asset);
|
|
29
34
|
}
|
|
30
35
|
catch (e) {
|
|
@@ -37,4 +42,4 @@ export class LazyAssetGenerator {
|
|
|
37
42
|
});
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbGl0aWVzL2xhenktYXNzZXQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE1BQU0sT0FBZ0Isa0JBQWtCO0lBVXBDLFlBQWdDLGFBQTRCLEVBQVksVUFBc0IsRUFBWSxNQUFjO1FBQXhGLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFZLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDeEgsQ0FBQztJQVRELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFDekMsQ0FBQztJQU9LLE9BQU87O1lBQ1QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUQsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNoRCxJQUFJO2dCQUNBLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRO29CQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUNoRCxNQUFNLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDckM7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLENBQUM7YUFDWDtZQUNELElBQUksUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDOUM7UUFDTCxDQUFDO0tBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUFzc2V0LCBJSm9iLCBJUHJvZ3Jlc3N9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtBc3NldHN9IGZyb20gXCIuLi9zZXJ2aWNlcy9hc3NldHNcIjtcclxuaW1wb3J0IHtMYXp5QXNzZXRzfSBmcm9tIFwiLi4vc2VydmljZXMvbGF6eS1hc3NldHNcIjtcclxuaW1wb3J0IHtBc3NldFJlc29sdmVyfSBmcm9tIFwiLi4vc2VydmljZXMvYXNzZXQtcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHtQcm9ncmVzc2VzfSBmcm9tIFwiLi4vc2VydmljZXMvcHJvZ3Jlc3Nlc1wiO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExhenlBc3NldEdlbmVyYXRvciBpbXBsZW1lbnRzIElKb2Ige1xyXG5cclxuICAgIGdldCBhc3NldHMoKTogQXNzZXRzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hc3NldFJlc29sdmVyLmFzc2V0cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbGF6eUFzc2V0cygpOiBMYXp5QXNzZXRzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hc3NldFJlc29sdmVyLmxhenlBc3NldHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhc3NldFJlc29sdmVyOiBBc3NldFJlc29sdmVyLCBwcm90ZWN0ZWQgcHJvZ3Jlc3NlczogUHJvZ3Jlc3NlcywgcHJvdGVjdGVkIGxhenlJZDogc3RyaW5nKSB7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgZ2VuZXJhdGUocHJvZ3Jlc3M6IElQcm9ncmVzcyk6IFByb21pc2U8SUFzc2V0PjtcclxuXHJcbiAgICBhc3luYyBwcm9jZXNzKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgbGF6eUFzc2V0ID0gYXdhaXQgdGhpcy5sYXp5QXNzZXRzLnJlYWQodGhpcy5sYXp5SWQpO1xyXG4gICAgICAgIGxldCBwcm9ncmVzcyA9IGF3YWl0IHRoaXMucHJvZ3Jlc3Nlcy5nZXQobGF6eUFzc2V0LnByb2dyZXNzSWQpO1xyXG4gICAgICAgIGlmICghcHJvZ3Jlc3MgfHwgcHJvZ3Jlc3MuY2FuY2VsZWQpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5nZW5lcmF0ZShwcm9ncmVzcyk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gYXdhaXQgcHJvZ3Jlc3MubG9hZCgpO1xyXG4gICAgICAgICAgICBpZiAoIXByb2dyZXNzIHx8IHByb2dyZXNzLmNhbmNlbGVkKSByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgYXdhaXQgbGF6eUFzc2V0LndyaXRlQXNzZXQoYXNzZXQpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgYXdhaXQgcHJvZ3Jlc3Muc2V0RXJyb3IoZS5tZXNzYWdlIHx8IGUpO1xyXG4gICAgICAgICAgICB0aHJvdyBlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvZ3Jlc3MucmVtYWluaW5nID4gMCkge1xyXG4gICAgICAgICAgICBhd2FpdCBwcm9ncmVzcy5hZHZhbmNlKHByb2dyZXNzLnJlbWFpbmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|