@universis/signer-worker 1.1.0 → 1.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.
- package/README.md +122 -3
- package/dist/RemoteSignerWorker.d.ts +7 -0
- package/dist/SignerService.d.ts +72 -0
- package/dist/SignerServiceImpl.d.ts +61 -0
- package/dist/SignerWorker.d.ts +10 -23
- package/dist/index.d.ts +4 -0
- package/dist/index.esm.js +380 -13
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +384 -11
- package/dist/index.js.map +1 -1
- package/dist/remoteSignerWorkerRouter.d.ts +1 -0
- package/dist/signerWorkerRouter.d.ts +1 -1
- package/jest.setup.js +23 -0
- package/package.json +16 -7
- package/src/RemoteSignerWorker.ts +34 -0
- package/src/SignerService.ts +339 -0
- package/src/SignerServiceImpl.ts +58 -0
- package/src/SignerWorker.ts +39 -79
- package/src/index.ts +5 -1
- package/src/remoteSignerWorkerRouter.ts +16 -0
- package/src/signerWorkerRouter.ts +3 -2
package/dist/index.esm.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import { HttpMethodNotAllowedError, ApplicationService, HttpError } from '@themost/common';
|
|
1
|
+
import { HttpMethodNotAllowedError, ApplicationService, HttpError, TraceUtils } from '@themost/common';
|
|
2
2
|
import express from 'express';
|
|
3
3
|
import { createProxyMiddleware } from 'http-proxy-middleware';
|
|
4
4
|
import { serviceRouter } from '@themost/express';
|
|
5
5
|
import request from 'superagent';
|
|
6
|
+
import { URL } from 'url';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import { writeFile as writeFile$1, unlink as unlink$1 } from 'fs';
|
|
9
|
+
import { promisify } from 'util';
|
|
10
|
+
import crypto from 'crypto';
|
|
11
|
+
import os from 'os';
|
|
12
|
+
import { DataCacheStrategy } from '@themost/data';
|
|
13
|
+
import { Secret, TOTP } from 'xotp';
|
|
6
14
|
|
|
7
15
|
/*! *****************************************************************************
|
|
8
16
|
Copyright (c) Microsoft Corporation.
|
|
@@ -29,16 +37,17 @@ function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
29
37
|
});
|
|
30
38
|
}
|
|
31
39
|
|
|
32
|
-
function signerWorkerRouter() {
|
|
40
|
+
function signerWorkerRouter(target = 'http://localhost:2465/') {
|
|
33
41
|
const router = express.Router();
|
|
34
42
|
router.use('/sign', (req, res, next) => {
|
|
35
43
|
return next(new HttpMethodNotAllowedError('This method is not supported when using remote services.'));
|
|
36
44
|
});
|
|
37
45
|
router.use(createProxyMiddleware({
|
|
38
|
-
target
|
|
46
|
+
target,
|
|
39
47
|
pathRewrite: {
|
|
40
48
|
'^/api/signer': ''
|
|
41
49
|
},
|
|
50
|
+
logLevel: 'warn',
|
|
42
51
|
changeOrigin: true
|
|
43
52
|
}));
|
|
44
53
|
return router;
|
|
@@ -75,17 +84,24 @@ class ScopeAccessConfiguration {
|
|
|
75
84
|
class SignerWorker extends ApplicationService {
|
|
76
85
|
constructor(app) {
|
|
77
86
|
super(app);
|
|
78
|
-
|
|
87
|
+
this.install();
|
|
88
|
+
}
|
|
89
|
+
install() {
|
|
90
|
+
// get configuration
|
|
91
|
+
this.options = Object.assign({
|
|
92
|
+
host: 'http://localhost:2465/'
|
|
93
|
+
}, this.getApplication().getConfiguration().getSourceAt('settings/universis/signerWorker'));
|
|
94
|
+
const thisApp = this.getApplication();
|
|
79
95
|
if (thisApp && thisApp.container) {
|
|
80
96
|
thisApp.container.subscribe((container) => {
|
|
81
97
|
if (container) {
|
|
82
98
|
// add scope access
|
|
83
|
-
const scopeAccess =
|
|
99
|
+
const scopeAccess = thisApp.getConfiguration().getStrategy(ScopeAccessConfiguration);
|
|
84
100
|
if (scopeAccess) {
|
|
85
101
|
scopeAccess.elements.push.apply(scopeAccess.elements, SignerScopeAccess);
|
|
86
102
|
}
|
|
87
103
|
// use signer worker router (for authenticated users)
|
|
88
|
-
serviceRouter.use('/signer/', signerWorkerRouter());
|
|
104
|
+
serviceRouter.use('/signer/', signerWorkerRouter(this.options.host));
|
|
89
105
|
}
|
|
90
106
|
});
|
|
91
107
|
}
|
|
@@ -95,19 +111,370 @@ class SignerWorker extends ApplicationService {
|
|
|
95
111
|
* @param {ExpressDataContext} context The underlying data context
|
|
96
112
|
* @param {string} document The file path
|
|
97
113
|
* @param {{filename: string, contentType: string}=} options Extra attributes (optional)
|
|
98
|
-
* @returns
|
|
114
|
+
* @returns Promise<VerifySignatureResult[]>
|
|
99
115
|
*/
|
|
100
116
|
verify(context, document, options) {
|
|
101
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
|
|
103
|
-
.
|
|
104
|
-
|
|
105
|
-
|
|
118
|
+
try {
|
|
119
|
+
const response = yield request.post(new URL('/verify', this.options.host).toString())
|
|
120
|
+
.attach('file', document, options);
|
|
121
|
+
if (response.ok) {
|
|
122
|
+
return response.body;
|
|
123
|
+
}
|
|
124
|
+
// noinspection ExceptionCaughtLocallyJS
|
|
125
|
+
throw new HttpError(response.statusCode);
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
if (err.response) {
|
|
129
|
+
TraceUtils.error(err);
|
|
130
|
+
throw new HttpError(err.response.status);
|
|
131
|
+
}
|
|
132
|
+
throw err;
|
|
106
133
|
}
|
|
107
|
-
throw new HttpError(response.statusCode);
|
|
108
134
|
});
|
|
109
135
|
}
|
|
110
136
|
}
|
|
111
137
|
|
|
112
|
-
|
|
138
|
+
const writeFile = promisify(writeFile$1);
|
|
139
|
+
const unlink = promisify(unlink$1);
|
|
140
|
+
function tmpFile(extension = '.tmp') {
|
|
141
|
+
const tmpDir = os.tmpdir();
|
|
142
|
+
const filename = `file-${crypto.randomBytes(16).toString('hex')}${extension}`;
|
|
143
|
+
return path.join(tmpDir, filename);
|
|
144
|
+
}
|
|
145
|
+
class SignerService extends ApplicationService {
|
|
146
|
+
constructor(app) {
|
|
147
|
+
super(app);
|
|
148
|
+
// get signer worker configuration
|
|
149
|
+
const options = app.getConfiguration().getSourceAt('settings/universis/signerService') || {};
|
|
150
|
+
this.options = Object.assign({}, {
|
|
151
|
+
'host': 'http://localhost:2465/'
|
|
152
|
+
}, options);
|
|
153
|
+
const thisApp = app;
|
|
154
|
+
if (thisApp && thisApp.container) {
|
|
155
|
+
thisApp.container.subscribe((container) => {
|
|
156
|
+
if (container) {
|
|
157
|
+
container.get('/api/signer/.well-known/jwks', (_req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
158
|
+
try {
|
|
159
|
+
const results = yield this.getJwks();
|
|
160
|
+
return res.json(results);
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
return next(err);
|
|
164
|
+
}
|
|
165
|
+
}));
|
|
166
|
+
container.get('/api/signer/.well-known/certs', (_req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
167
|
+
try {
|
|
168
|
+
const results = yield this.getCerts();
|
|
169
|
+
return res.json(results);
|
|
170
|
+
}
|
|
171
|
+
catch (err) {
|
|
172
|
+
return next(err);
|
|
173
|
+
}
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* @param {ExpressDataContext} context The underlying data context
|
|
181
|
+
* @param {*} data The data to be verified
|
|
182
|
+
* @param {{filename: string, contentType: string}=} options Extra attributes (optional)
|
|
183
|
+
* @returns {Promise<VerifySignatureResult[]>}
|
|
184
|
+
*/
|
|
185
|
+
verify(context, data, options) {
|
|
186
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
if (data == null) {
|
|
188
|
+
throw new Error('The given data cannot be empty during sign.');
|
|
189
|
+
}
|
|
190
|
+
const json = (typeof data === 'object') ? JSON.stringify(data) : JSON.stringify({
|
|
191
|
+
value: data,
|
|
192
|
+
});
|
|
193
|
+
const file = tmpFile('.json');
|
|
194
|
+
// write data to temporary file
|
|
195
|
+
yield writeFile(file, json, { encoding: 'utf8' });
|
|
196
|
+
try {
|
|
197
|
+
return yield this.verifyFile(context, file, options);
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
throw err;
|
|
201
|
+
}
|
|
202
|
+
finally {
|
|
203
|
+
try {
|
|
204
|
+
yield unlink(file); // remove temporary file
|
|
205
|
+
}
|
|
206
|
+
catch (e) {
|
|
207
|
+
// ignore error
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
getJwks() {
|
|
213
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
214
|
+
try {
|
|
215
|
+
const cache = this.getApplication().getConfiguration().getStrategy(DataCacheStrategy);
|
|
216
|
+
// check if cache is available
|
|
217
|
+
return cache.getOrDefault('/api/signer/keystore/jwks', () => __awaiter(this, void 0, void 0, function* () {
|
|
218
|
+
try {
|
|
219
|
+
const response = yield request
|
|
220
|
+
.get(new URL('/keystore/jwks', this.options.host).toString())
|
|
221
|
+
.auth(this.options.user, this.options.password);
|
|
222
|
+
if (response.ok) {
|
|
223
|
+
return response.body;
|
|
224
|
+
}
|
|
225
|
+
// noinspection ExceptionCaughtLocallyJS
|
|
226
|
+
throw new HttpError(response.status, 'Something went wrong while getting json web key set');
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
TraceUtils.error(err);
|
|
230
|
+
throw new HttpError(err.status, 'Failed to get json web key set', err.message);
|
|
231
|
+
}
|
|
232
|
+
}));
|
|
233
|
+
}
|
|
234
|
+
catch (err) {
|
|
235
|
+
throw new HttpError(err.status, 'Failed to get json web key set', err.message);
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
getCerts() {
|
|
240
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
241
|
+
const cache = this.getApplication().getConfiguration().getStrategy(DataCacheStrategy);
|
|
242
|
+
return cache.getOrDefault('/api/signer/keystore/certs', () => __awaiter(this, void 0, void 0, function* () {
|
|
243
|
+
try {
|
|
244
|
+
const response = yield request.get(new URL('/keystore/certs', this.options.host).toString())
|
|
245
|
+
.auth(this.options.user, this.options.password);
|
|
246
|
+
if (response.ok) {
|
|
247
|
+
return response.body.filter((item) => {
|
|
248
|
+
return item.notAfter && new Date(item.notAfter) > new Date();
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
return [];
|
|
252
|
+
}
|
|
253
|
+
catch (err) {
|
|
254
|
+
TraceUtils.error(err);
|
|
255
|
+
throw new HttpError(err.status, 'Failed to get certificates', err.message);
|
|
256
|
+
}
|
|
257
|
+
}));
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Generates a one-time password using the configured secret.
|
|
262
|
+
*/
|
|
263
|
+
generateVerificationCode(options) {
|
|
264
|
+
if (this.options.secret == null) {
|
|
265
|
+
throw new Error('One-time password is not supported');
|
|
266
|
+
}
|
|
267
|
+
const secret = Secret.from(this.options.secret, 'base32');
|
|
268
|
+
const opts = Object.assign({
|
|
269
|
+
algorithm: 'sha1',
|
|
270
|
+
digits: 6,
|
|
271
|
+
period: 30,
|
|
272
|
+
}, options);
|
|
273
|
+
const totp = new TOTP(opts);
|
|
274
|
+
return totp.generate({ secret });
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* @param {ExpressDataContext} context The underlying data context
|
|
278
|
+
* @param {*} data Any JSON object to be signed
|
|
279
|
+
* @param {{timestampServer?:string}} extraOptions
|
|
280
|
+
* @returns {Promise<SignJsonSignatureResult>} An array of signatures
|
|
281
|
+
*/
|
|
282
|
+
sign(context, data, extraOptions) {
|
|
283
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
284
|
+
if (data == null) {
|
|
285
|
+
throw new Error('The given data cannot be empty during sign.');
|
|
286
|
+
}
|
|
287
|
+
const json = (typeof data === 'object') ? JSON.stringify(data) : JSON.stringify({
|
|
288
|
+
value: data,
|
|
289
|
+
});
|
|
290
|
+
const file = tmpFile('.json');
|
|
291
|
+
// write data to temporary file
|
|
292
|
+
yield writeFile(file, json, { encoding: 'utf8' });
|
|
293
|
+
try {
|
|
294
|
+
return yield this.signFinal(context, file, 'application/json', extraOptions);
|
|
295
|
+
}
|
|
296
|
+
catch (err) {
|
|
297
|
+
if (err.response) {
|
|
298
|
+
throw new HttpError(err.status, 'Failed to sign data', err.message);
|
|
299
|
+
}
|
|
300
|
+
throw err;
|
|
301
|
+
}
|
|
302
|
+
finally {
|
|
303
|
+
try {
|
|
304
|
+
yield unlink(file); // remove temporary file
|
|
305
|
+
}
|
|
306
|
+
catch (e) {
|
|
307
|
+
// ignore error
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
signFile(context, file, contentType, extraOptions) {
|
|
313
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
314
|
+
return this.signFinal(context, file, contentType, extraOptions);
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
verifyFile(context, file, options) {
|
|
318
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
319
|
+
try {
|
|
320
|
+
const response = yield request.post(new URL('/verify', this.options.host).toString())
|
|
321
|
+
.attach('file', file, options);
|
|
322
|
+
if (response.ok) {
|
|
323
|
+
return response.body;
|
|
324
|
+
}
|
|
325
|
+
// noinspection ExceptionCaughtLocallyJS
|
|
326
|
+
throw new HttpError(response.statusCode);
|
|
327
|
+
}
|
|
328
|
+
catch (err) {
|
|
329
|
+
if (err.response) {
|
|
330
|
+
TraceUtils.error(err);
|
|
331
|
+
throw new HttpError(err.response.status, 'Failed to verify data', err.message);
|
|
332
|
+
}
|
|
333
|
+
throw err;
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
inspect(context, file, options) {
|
|
338
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
339
|
+
try {
|
|
340
|
+
const fields = {};
|
|
341
|
+
if (this.options.inspector) {
|
|
342
|
+
Object.assign(fields, this.options.inspector);
|
|
343
|
+
}
|
|
344
|
+
const response = yield request.post(new URL('/signature/inspect', this.options.host).toString())
|
|
345
|
+
.field(fields)
|
|
346
|
+
.attach('file', file, options);
|
|
347
|
+
if (response.ok) {
|
|
348
|
+
return response.body;
|
|
349
|
+
}
|
|
350
|
+
// noinspection ExceptionCaughtLocallyJS
|
|
351
|
+
throw new HttpError(response.statusCode);
|
|
352
|
+
}
|
|
353
|
+
catch (err) {
|
|
354
|
+
if (err.response) {
|
|
355
|
+
TraceUtils.error(err);
|
|
356
|
+
throw new HttpError(err.response.status, 'Failed to verify data', err.message);
|
|
357
|
+
}
|
|
358
|
+
throw err;
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
requiresVerificationCode() {
|
|
363
|
+
return typeof this.options.secret === 'string' && this.options.secret.length > 0;
|
|
364
|
+
}
|
|
365
|
+
signFinal(context, file, contentType, extraOptions) {
|
|
366
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
367
|
+
// try to find thumbprint if empty
|
|
368
|
+
if (typeof this.options.thumbprint === 'undefined') {
|
|
369
|
+
const [cert] = yield this.getCerts();
|
|
370
|
+
if (cert) {
|
|
371
|
+
this.options.thumbprint = cert.thumbprint;
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
this.options.thumbprint = '';
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
const fields = Object.assign({}, extraOptions);
|
|
378
|
+
// if the file is a PDF or the content type is application/pdf, try to inspect signature position
|
|
379
|
+
if (path.extname(file) === '.pdf' || contentType === 'application/pdf') {
|
|
380
|
+
if ((extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.page) && (extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.position)) {
|
|
381
|
+
// if page and position are defined, use them
|
|
382
|
+
Object.assign(fields, {
|
|
383
|
+
page: extraOptions.page,
|
|
384
|
+
position: extraOptions.position.map((element) => {
|
|
385
|
+
return Math.round(element);
|
|
386
|
+
}).join(',')
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
else if (this.options.inspector) {
|
|
390
|
+
// if inspector is defined, use it
|
|
391
|
+
const inspectorResult = yield this.inspect(context, file);
|
|
392
|
+
if ((inspectorResult === null || inspectorResult === void 0 ? void 0 : inspectorResult.page) && (inspectorResult === null || inspectorResult === void 0 ? void 0 : inspectorResult.position)) {
|
|
393
|
+
Object.assign(fields, {
|
|
394
|
+
page: inspectorResult.page,
|
|
395
|
+
position: inspectorResult.position.map((element) => {
|
|
396
|
+
return Math.round(element);
|
|
397
|
+
}).join(',')
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
if (this.options.thumbprint.length) {
|
|
403
|
+
Object.assign(fields, {
|
|
404
|
+
thumbprint: this.options.thumbprint,
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
const fileOptions = {
|
|
408
|
+
filename: path.basename(file)
|
|
409
|
+
};
|
|
410
|
+
if (contentType) {
|
|
411
|
+
Object.assign(fileOptions, {
|
|
412
|
+
contentType
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
try {
|
|
416
|
+
// if secret is defined, generate one-time password
|
|
417
|
+
if (this.requiresVerificationCode()) {
|
|
418
|
+
Object.assign(fields, {
|
|
419
|
+
otp: this.generateVerificationCode()
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
const response = yield request.post(new URL('/sign', this.options.host).toString())
|
|
423
|
+
.type('form')
|
|
424
|
+
.auth(this.options.user, this.options.password)
|
|
425
|
+
.field(fields)
|
|
426
|
+
.buffer(contentType !== 'application/json')
|
|
427
|
+
.attach('file', file, fileOptions);
|
|
428
|
+
if (response.ok) {
|
|
429
|
+
return response.body;
|
|
430
|
+
}
|
|
431
|
+
// noinspection ExceptionCaughtLocallyJS
|
|
432
|
+
throw new HttpError(response.status);
|
|
433
|
+
}
|
|
434
|
+
catch (err) {
|
|
435
|
+
if (err.response) {
|
|
436
|
+
TraceUtils.error(err);
|
|
437
|
+
throw new HttpError(err.response.status, 'Failed to sign data', err.message);
|
|
438
|
+
}
|
|
439
|
+
throw err;
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
function remoteSignerWorkerRouter(target = 'http://localhost:8480/') {
|
|
446
|
+
const router = express.Router();
|
|
447
|
+
router.use(createProxyMiddleware({
|
|
448
|
+
target,
|
|
449
|
+
pathRewrite: {
|
|
450
|
+
'^/services/remoteSigner': ''
|
|
451
|
+
},
|
|
452
|
+
logLevel: 'warn',
|
|
453
|
+
changeOrigin: true
|
|
454
|
+
}));
|
|
455
|
+
return router;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
class RemoteSignerWorker extends SignerWorker {
|
|
459
|
+
constructor(app) {
|
|
460
|
+
super(app);
|
|
461
|
+
}
|
|
462
|
+
install() {
|
|
463
|
+
// get configuration
|
|
464
|
+
this.options = Object.assign({
|
|
465
|
+
host: 'http://localhost:8480/'
|
|
466
|
+
}, this.getApplication().getConfiguration().getSourceAt('settings/universis/remoteSignerWorker'));
|
|
467
|
+
const thisApp = this.getApplication();
|
|
468
|
+
if (thisApp && thisApp.container) {
|
|
469
|
+
thisApp.container.subscribe((container) => {
|
|
470
|
+
if (container) {
|
|
471
|
+
// use signer worker router (for authenticated users)
|
|
472
|
+
container.use('/services/remoteSigner/', remoteSignerWorkerRouter(this.options.host));
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
export { RemoteSignerWorker, SignerService, SignerWorker, remoteSignerWorkerRouter, signerWorkerRouter };
|
|
113
480
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/signerWorkerRouter.ts","../src/SignerScopeAccess.ts","../src/SignerWorker.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null],"names":[],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAqDA;AACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;AAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;AAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;AACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,KAAK,CAAC,CAAC;AACP;;SCvEgB,kBAAkB,GAAA;AAC9B,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAChC,IAAA,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;QACnC,OAAO,IAAI,CAAC,IAAI,yBAAyB,CAAC,0DAA0D,CAAC,CAAC,CAAA;AAC1G,KAAC,CAAC,CAAC;AACH,IAAA,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAC7B,QAAA,MAAM,EAAE,wBAAwB;AAChC,QAAA,WAAW,EAAE;AACT,YAAA,cAAc,EAAG,EAAE;AACtB,SAAA;AACD,QAAA,YAAY,EAAE,IAAI;AACrB,KAAA,CAAC,CAAC,CAAC;AACJ,IAAA,OAAO,MAAM,CAAC;AAClB;;ACjBO,MAAM,iBAAiB,GAAG;AAC7B,IAAA;AACI,QAAA,KAAK,EAAE;YACH,WAAW;AACd,SAAA;AACD,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,MAAM,EAAE;YACJ,MAAM;YACN,OAAO;AACV,SAAA;AACJ,KAAA;AACD,IAAA;AACI,QAAA,KAAK,EAAE;YACH,UAAU;AACb,SAAA;AACD,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,MAAM,EAAE;YACJ,MAAM;YACN,OAAO;AACV,SAAA;AACJ,KAAA;CACJ;;ACwDD,MAAM,wBAAwB,CAAA;AAA9B,IAAA,WAAA,GAAA;QACW,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;KACxB;AAAA,CAAA;AAuBK,MAAO,YAAa,SAAQ,kBAAkB,CAAA;AAChD,IAAA,WAAA,CAAY,GAAoB,EAAA;QAC5B,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,OAAO,GAAG,GAAmC,CAAC;AACpD,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9B,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAsB,KAAI;AACnD,gBAAA,IAAI,SAAS,EAAE;;oBAEX,MAAM,WAAW,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;AACjF,oBAAA,IAAI,WAAW,EAAE;AACb,wBAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC5E,qBAAA;;oBAED,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACvD,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AAED;;;;;;AAMG;AACG,IAAA,MAAM,CAAC,OAA2B,EAAE,QAAgB,EAAE,OAAmD,EAAA;;YAC3G,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC;AAC9D,iBAAA,MAAM,CAAC,MAAM,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,QAAQ,CAAC,EAAE,EAAE;gBACb,OAAO,QAAQ,CAAC,IAAI,CAAC;AACxB,aAAA;AACD,YAAA,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SAC5C,CAAA,CAAA;AAAA,KAAA;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/signerWorkerRouter.ts","../src/SignerScopeAccess.ts","../src/SignerWorker.ts","../src/SignerService.ts","../src/remoteSignerWorkerRouter.ts","../src/RemoteSignerWorker.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null],"names":["writeFileWithCallback","unlinkWithCallback"],"mappings":"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"}
|