@rdfc/js-runner 2.0.0-alpha.7 → 2.0.0-alpha.8

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/.editorconfig ADDED
@@ -0,0 +1,9 @@
1
+ # top-most EditorConfig file
2
+ root = true
3
+
4
+ # Unix-style newlines with a newline ending every file
5
+ [*]
6
+ end_of_line = lf
7
+ insert_final_newline = true
8
+ indent_style = space
9
+ indent_size = 2
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
12
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
+ var m = o[Symbol.asyncIterator], i;
14
+ 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);
15
+ 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); }); }; }
16
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ const vitest_1 = require("vitest");
20
+ const reader_1 = require("../src/reader");
21
+ const testUtils_1 = require("../src/testUtils");
22
+ const encoder = new TextEncoder();
23
+ (0, vitest_1.describe)('Reader', () => __awaiter(void 0, void 0, void 0, function* () {
24
+ (0, vitest_1.test)('handles string', () => __awaiter(void 0, void 0, void 0, function* () {
25
+ const reader = new reader_1.ReaderInstance(testUtils_1.uri, testUtils_1.client, testUtils_1.logger);
26
+ const promise = (0, testUtils_1.one)(reader.strings());
27
+ reader.handleMsg({ data: encoder.encode('Hello world'), channel: testUtils_1.uri });
28
+ const out = yield promise;
29
+ (0, vitest_1.expect)(out).toEqual('Hello world');
30
+ }));
31
+ (0, vitest_1.test)('handles closed string', () => __awaiter(void 0, void 0, void 0, function* () {
32
+ const reader = new reader_1.ReaderInstance(testUtils_1.uri, testUtils_1.client, testUtils_1.logger);
33
+ const promise = (0, testUtils_1.one)(reader.strings());
34
+ reader.close();
35
+ const out = yield promise;
36
+ (0, vitest_1.expect)(out).toEqual(undefined);
37
+ }));
38
+ (0, vitest_1.test)('handles strings', () => __awaiter(void 0, void 0, void 0, function* () {
39
+ const reader = new reader_1.ReaderInstance(testUtils_1.uri, testUtils_1.client, testUtils_1.logger);
40
+ const msgsPromise = (() => __awaiter(void 0, void 0, void 0, function* () {
41
+ var _a, e_1, _b, _c;
42
+ const msgs = [];
43
+ try {
44
+ for (var _d = true, _e = __asyncValues(reader.strings()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
45
+ _c = _f.value;
46
+ _d = false;
47
+ const msg = _c;
48
+ msgs.push(msg);
49
+ }
50
+ }
51
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
52
+ finally {
53
+ try {
54
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
55
+ }
56
+ finally { if (e_1) throw e_1.error; }
57
+ }
58
+ return msgs;
59
+ }))();
60
+ reader.handleMsg({ data: encoder.encode('Hello'), channel: testUtils_1.uri });
61
+ reader.handleMsg({ data: encoder.encode('World'), channel: testUtils_1.uri });
62
+ reader.close();
63
+ const msgs = yield msgsPromise;
64
+ (0, vitest_1.expect)(msgs).toEqual(['Hello', 'World']);
65
+ }));
66
+ (0, vitest_1.test)('handles buffer', () => __awaiter(void 0, void 0, void 0, function* () {
67
+ const reader = new reader_1.ReaderInstance(testUtils_1.uri, testUtils_1.client, testUtils_1.logger);
68
+ const data = encoder.encode('Hello world');
69
+ const promise = (0, testUtils_1.one)(reader.buffers());
70
+ reader.handleMsg({ data, channel: testUtils_1.uri });
71
+ const out = yield promise;
72
+ (0, vitest_1.expect)(out).toEqual(data);
73
+ }));
74
+ (0, vitest_1.test)('handles buffers', () => __awaiter(void 0, void 0, void 0, function* () {
75
+ const reader = new reader_1.ReaderInstance(testUtils_1.uri, testUtils_1.client, testUtils_1.logger);
76
+ const data = encoder.encode('Hello world');
77
+ const promise = (0, testUtils_1.one)(reader.buffers());
78
+ reader.handleMsg({ data, channel: testUtils_1.uri });
79
+ const out = yield promise;
80
+ (0, vitest_1.expect)(out).toEqual(data);
81
+ }));
82
+ (0, vitest_1.test)('handles stream', () => __awaiter(void 0, void 0, void 0, function* () {
83
+ const reader = new reader_1.ReaderInstance(testUtils_1.uri, testUtils_1.client, testUtils_1.logger);
84
+ const nextStream = testUtils_1.client.nextStream();
85
+ const promise = (0, testUtils_1.one)(reader.streams());
86
+ reader.handleStreamingMessage({ id: { id: 5 }, channel: testUtils_1.uri });
87
+ const stream = yield nextStream;
88
+ stream.push('Hello');
89
+ stream.push('World');
90
+ console.log(stream.eventNames());
91
+ const out = yield promise;
92
+ const msgsPromise = (() => __awaiter(void 0, void 0, void 0, function* () {
93
+ var _a, e_2, _b, _c;
94
+ const msgs = [];
95
+ try {
96
+ for (var _d = true, _e = __asyncValues(out), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
97
+ _c = _f.value;
98
+ _d = false;
99
+ const msg = _c;
100
+ msgs.push(msg);
101
+ }
102
+ }
103
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
104
+ finally {
105
+ try {
106
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
107
+ }
108
+ finally { if (e_2) throw e_2.error; }
109
+ }
110
+ return msgs;
111
+ }))();
112
+ stream.emit('end');
113
+ stream.emit('close');
114
+ const msgs = yield msgsPromise;
115
+ console.log(msgs);
116
+ }));
117
+ }));
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
12
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
+ var m = o[Symbol.asyncIterator], i;
14
+ 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);
15
+ 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); }); }; }
16
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.SendProcessor = exports.LogProcessor = exports.EchoProcessor = exports.TestProcessor = void 0;
20
+ const js_runner_1 = require("@rdfc/js-runner");
21
+ class TestProcessor extends js_runner_1.Processor {
22
+ init() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ this.logger.info(JSON.stringify(this.args, undefined, 2));
25
+ });
26
+ }
27
+ transform() {
28
+ return __awaiter(this, void 0, void 0, function* () { });
29
+ }
30
+ produce() {
31
+ return __awaiter(this, void 0, void 0, function* () { });
32
+ }
33
+ }
34
+ exports.TestProcessor = TestProcessor;
35
+ class EchoProcessor extends js_runner_1.Processor {
36
+ init() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ this.logger.info('Init echo processor');
39
+ });
40
+ }
41
+ transform() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ var _a, e_1, _b, _c;
44
+ try {
45
+ for (var _d = true, _e = __asyncValues(this.reader.streams()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
46
+ _c = _f.value;
47
+ _d = false;
48
+ const msg = _c;
49
+ this.logger.info('Echoing message');
50
+ yield this.writer.stream(msg);
51
+ }
52
+ }
53
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
+ finally {
55
+ try {
56
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
57
+ }
58
+ finally { if (e_1) throw e_1.error; }
59
+ }
60
+ yield this.writer.close();
61
+ this.logger.info('closed');
62
+ });
63
+ }
64
+ produce() {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ // nothing
67
+ });
68
+ }
69
+ }
70
+ exports.EchoProcessor = EchoProcessor;
71
+ class LogProcessor extends js_runner_1.Processor {
72
+ produce() {
73
+ return __awaiter(this, void 0, void 0, function* () { });
74
+ }
75
+ init() {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ this.logger.info('Init log processor');
78
+ });
79
+ }
80
+ transform() {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ var _a, e_2, _b, _c;
83
+ try {
84
+ for (var _d = true, _e = __asyncValues(this.args.reader.strings()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
85
+ _c = _f.value;
86
+ _d = false;
87
+ const msg = _c;
88
+ this.logger.info('Got msg' + msg);
89
+ }
90
+ }
91
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
92
+ finally {
93
+ try {
94
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
95
+ }
96
+ finally { if (e_2) throw e_2.error; }
97
+ }
98
+ });
99
+ }
100
+ }
101
+ exports.LogProcessor = LogProcessor;
102
+ class SendProcessor extends js_runner_1.Processor {
103
+ init() {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ this.logger.info('Init send processor');
106
+ });
107
+ }
108
+ transform() {
109
+ return __awaiter(this, void 0, void 0, function* () { });
110
+ }
111
+ produce() {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ for (const msg of this.get('msgs')) {
114
+ yield this.get('writer').string(msg);
115
+ this.logger.info('Sending ' + msg);
116
+ yield new Promise((res) => setTimeout(res, 1000));
117
+ }
118
+ yield this.get('writer').close();
119
+ this.logger.info('Closed');
120
+ });
121
+ }
122
+ }
123
+ exports.SendProcessor = SendProcessor;
@@ -1,30 +1,30 @@
1
- import { FullProc, Processor, Reader, Writer } from "@rdfc/js-runner";
1
+ import { FullProc, Processor, Reader, Writer } from '@rdfc/js-runner'
2
2
 
3
3
  export class TestProcessor extends Processor<unknown> {
4
4
  async init(this: this): Promise<void> {
5
- this.logger.info(JSON.stringify(this.args, undefined, 2));
5
+ this.logger.info(JSON.stringify(this.args, undefined, 2))
6
6
  }
7
- async transform(this: this): Promise<void> { }
8
- async produce(this: this): Promise<void> { }
7
+ async transform(this: this): Promise<void> {}
8
+ async produce(this: this): Promise<void> {}
9
9
  }
10
10
 
11
11
  type EchoArgs = {
12
- reader: Reader;
13
- writer: Writer;
14
- };
12
+ reader: Reader
13
+ writer: Writer
14
+ }
15
15
 
16
16
  export class EchoProcessor extends Processor<EchoArgs> {
17
17
  async init(this: this & EchoArgs): Promise<void> {
18
- this.logger.info("Init echo processor");
18
+ this.logger.info('Init echo processor')
19
19
  }
20
20
 
21
21
  async transform(this: EchoArgs & this): Promise<void> {
22
22
  for await (const msg of this.reader.streams()) {
23
- this.logger.info("Echoing message");
24
- await this.writer.stream(msg);
23
+ this.logger.info('Echoing message')
24
+ await this.writer.stream(msg)
25
25
  }
26
- await this.writer.close();
27
- this.logger.info("closed");
26
+ await this.writer.close()
27
+ this.logger.info('closed')
28
28
  }
29
29
 
30
30
  async produce(this: this & EchoArgs): Promise<void> {
@@ -33,44 +33,42 @@ export class EchoProcessor extends Processor<EchoArgs> {
33
33
  }
34
34
 
35
35
  type LogArgs = {
36
- reader: Reader;
37
- writer: Writer;
38
- };
36
+ reader: Reader
37
+ writer: Writer
38
+ }
39
39
 
40
40
  export class LogProcessor extends Processor<LogArgs> {
41
- async produce(this: LogArgs & LogProcessor): Promise<void> {
42
- }
41
+ async produce(this: LogArgs & LogProcessor): Promise<void> {}
43
42
  async init(): Promise<void> {
44
- this.logger.info("Init log processor");
43
+ this.logger.info('Init log processor')
45
44
  }
46
45
 
47
46
  async transform(this: FullProc<this>): Promise<void> {
48
47
  for await (const msg of this.args.reader.strings()) {
49
- this.logger.info("Got msg" + msg);
48
+ this.logger.info('Got msg' + msg)
50
49
  }
51
50
  }
52
-
53
51
  }
54
52
 
55
53
  type SendArgs = {
56
- msgs: string[];
57
- writer: Writer;
58
- };
54
+ msgs: string[]
55
+ writer: Writer
56
+ }
59
57
 
60
58
  export class SendProcessor extends Processor<SendArgs> {
61
59
  async init(): Promise<void> {
62
- this.logger.info("Init send processor");
60
+ this.logger.info('Init send processor')
63
61
  }
64
62
 
65
- async transform(): Promise<void> { }
63
+ async transform(): Promise<void> {}
66
64
  async produce(): Promise<void> {
67
- for (const msg of this.get("msgs")) {
68
- await this.get("writer").string(msg);
65
+ for (const msg of this.get('msgs')) {
66
+ await this.get('writer').string(msg)
69
67
 
70
- this.logger.info("Sending " + msg);
71
- await new Promise((res) => setTimeout(res, 1000));
68
+ this.logger.info('Sending ' + msg)
69
+ await new Promise((res) => setTimeout(res, 1000))
72
70
  }
73
- await this.get("writer").close();
74
- this.logger.info("Closed");
71
+ await this.get('writer').close()
72
+ this.logger.info('Closed')
75
73
  }
76
74
  }
package/lib/client.js CHANGED
@@ -40,4 +40,4 @@ export async function start(addr, uri) {
40
40
  client.close();
41
41
  process.exit(0);
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sYUFBYSxDQUFBO0FBQ3pELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQTtBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFakMsTUFBTSxDQUFDLEtBQUssVUFBVSxLQUFLLENBQUMsSUFBWSxFQUFFLEdBQVc7SUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtJQUV4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2xDLFVBQVUsRUFBRTtZQUNWLElBQUksWUFBWSxDQUFDO2dCQUNmLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQzthQUNuQyxDQUFDO1NBQ0g7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUV4RCxNQUFNLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVyQyxJQUFJLGFBQXVDLENBQUE7SUFDM0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQ2xFO0lBQUEsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNYLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxHQUFrQixLQUFLLENBQUE7WUFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNyQyxDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUNwQyxDQUFDO1lBRUQsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDckMsQ0FBQztRQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDOUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUVKLE1BQU0sZUFBZSxDQUFBO0lBRXJCLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQUMxQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDWixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBncnBjIGZyb20gJ0BncnBjL2dycGMtanMnXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJ1xuaW1wb3J0IHsgUnVubmVyQ2xpZW50LCBSdW5uZXJNZXNzYWdlIH0gZnJvbSAnQHJkZmMvcHJvdG8nXG5pbXBvcnQgd2luc3RvbiBmcm9tICd3aW5zdG9uJ1xuaW1wb3J0IHsgUnBjVHJhbnNwb3J0IH0gZnJvbSAnLi9sb2dnZXInXG5pbXBvcnQgeyBSdW5uZXIgfSBmcm9tICcuL3J1bm5lcidcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGFkZHI6IHN0cmluZywgdXJpOiBzdHJpbmcpIHtcbiAgY29uc3QgY2xpZW50ID0gbmV3IFJ1bm5lckNsaWVudChhZGRyLCBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZUluc2VjdXJlKCkpXG5cbiAgY29uc3QgbG9nZ2VyID0gd2luc3Rvbi5jcmVhdGVMb2dnZXIoe1xuICAgIHRyYW5zcG9ydHM6IFtcbiAgICAgIG5ldyBScGNUcmFuc3BvcnQoe1xuICAgICAgICBlbnRpdGllczogW3VyaSwgJ2NsaSddLFxuICAgICAgICBzdHJlYW06IGNsaWVudC5sb2dTdHJlYW0oKCkgPT4ge30pLFxuICAgICAgfSksXG4gICAgXSxcbiAgfSlcblxuICBjb25zdCBzdHJlYW0gPSBjbGllbnQuY29ubmVjdCgpXG5cbiAgbG9nZ2VyLmluZm8oJ0Nvbm5lY3RlZCB3aXRoIHNlcnZlciAnICsgYWRkcilcbiAgY29uc3Qgd3JpdGFibGUgPSBwcm9taXNpZnkoc3RyZWFtLndyaXRlLmJpbmQoc3RyZWFtKSlcbiAgY29uc3QgcnVubmVyID0gbmV3IFJ1bm5lcihjbGllbnQsIHdyaXRhYmxlLCB1cmksIGxvZ2dlcilcblxuICBhd2FpdCB3cml0YWJsZSh7IGlkZW50aWZ5OiB7IHVyaSB9IH0pXG5cbiAgbGV0IHByb2Nlc3NvcnNFbmQhOiAodjogdW5rbm93bikgPT4gdW5rbm93blxuICBjb25zdCBwcm9jZXNzb3JzRW5kZWQgPSBuZXcgUHJvbWlzZSgocmVzKSA9PiAocHJvY2Vzc29yc0VuZCA9IHJlcykpXG4gIDsoYXN5bmMgKCkgPT4ge1xuICAgIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2Ygc3RyZWFtKSB7XG4gICAgICBjb25zdCBtc2c6IFJ1bm5lck1lc3NhZ2UgPSBjaHVua1xuICAgICAgaWYgKG1zZy5wcm9jKSB7XG4gICAgICAgIGF3YWl0IHJ1bm5lci5hZGRQcm9jZXNzb3IobXNnLnByb2MpXG4gICAgICB9XG4gICAgICBpZiAobXNnLnN0YXJ0KSB7XG4gICAgICAgIHJ1bm5lci5zdGFydCgpLnRoZW4ocHJvY2Vzc29yc0VuZClcbiAgICAgIH1cblxuICAgICAgYXdhaXQgcnVubmVyLmhhbmRsZU9yY2hNZXNzYWdlKG1zZylcbiAgICB9XG5cbiAgICBsb2dnZXIuZXJyb3IoJ1N0cmVhbSBlbmRlZCcpXG4gIH0pKClcblxuICBhd2FpdCBwcm9jZXNzb3JzRW5kZWRcblxuICBsb2dnZXIuaW5mbygnQWxsIHByb2Nlc3NvcnMgYXJlIGZpbmlzaGVkJylcbiAgc3RyZWFtLmVuZCgpXG4gIGNsaWVudC5jbG9zZSgpXG4gIHByb2Nlc3MuZXhpdCgwKVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sYUFBYSxDQUFBO0FBQ3pELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQTtBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFakMsTUFBTSxDQUFDLEtBQUssVUFBVSxLQUFLLENBQUMsSUFBWSxFQUFFLEdBQVc7SUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtJQUl4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2xDLFVBQVUsRUFBRTtZQUNWLElBQUksWUFBWSxDQUFDO2dCQUNmLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNwQyxDQUFDO1NBQ0g7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUV4RCxNQUFNLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVyQyxJQUFJLGFBQXVDLENBQUE7SUFDM0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQ2hFO0lBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNaLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxHQUFrQixLQUFLLENBQUE7WUFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNyQyxDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUNwQyxDQUFDO1lBRUQsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDckMsQ0FBQztRQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDOUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUVOLE1BQU0sZUFBZSxDQUFBO0lBRXJCLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQUMxQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDWixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBncnBjIGZyb20gJ0BncnBjL2dycGMtanMnXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJ1xuaW1wb3J0IHsgUnVubmVyQ2xpZW50LCBSdW5uZXJNZXNzYWdlIH0gZnJvbSAnQHJkZmMvcHJvdG8nXG5pbXBvcnQgd2luc3RvbiBmcm9tICd3aW5zdG9uJ1xuaW1wb3J0IHsgUnBjVHJhbnNwb3J0IH0gZnJvbSAnLi9sb2dnZXInXG5pbXBvcnQgeyBSdW5uZXIgfSBmcm9tICcuL3J1bm5lcidcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGFkZHI6IHN0cmluZywgdXJpOiBzdHJpbmcpIHtcbiAgY29uc3QgY2xpZW50ID0gbmV3IFJ1bm5lckNsaWVudChhZGRyLCBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZUluc2VjdXJlKCkpXG5cblxuXG4gIGNvbnN0IGxvZ2dlciA9IHdpbnN0b24uY3JlYXRlTG9nZ2VyKHtcbiAgICB0cmFuc3BvcnRzOiBbXG4gICAgICBuZXcgUnBjVHJhbnNwb3J0KHtcbiAgICAgICAgZW50aXRpZXM6IFt1cmksICdjbGknXSxcbiAgICAgICAgc3RyZWFtOiBjbGllbnQubG9nU3RyZWFtKCgpID0+IHsgfSksXG4gICAgICB9KSxcbiAgICBdLFxuICB9KVxuXG4gIGNvbnN0IHN0cmVhbSA9IGNsaWVudC5jb25uZWN0KClcblxuICBsb2dnZXIuaW5mbygnQ29ubmVjdGVkIHdpdGggc2VydmVyICcgKyBhZGRyKVxuICBjb25zdCB3cml0YWJsZSA9IHByb21pc2lmeShzdHJlYW0ud3JpdGUuYmluZChzdHJlYW0pKVxuICBjb25zdCBydW5uZXIgPSBuZXcgUnVubmVyKGNsaWVudCwgd3JpdGFibGUsIHVyaSwgbG9nZ2VyKVxuXG4gIGF3YWl0IHdyaXRhYmxlKHsgaWRlbnRpZnk6IHsgdXJpIH0gfSlcblxuICBsZXQgcHJvY2Vzc29yc0VuZCE6ICh2OiB1bmtub3duKSA9PiB1bmtub3duXG4gIGNvbnN0IHByb2Nlc3NvcnNFbmRlZCA9IG5ldyBQcm9taXNlKChyZXMpID0+IChwcm9jZXNzb3JzRW5kID0gcmVzKSlcbiAgICA7IChhc3luYyAoKSA9PiB7XG4gICAgICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIHN0cmVhbSkge1xuICAgICAgICBjb25zdCBtc2c6IFJ1bm5lck1lc3NhZ2UgPSBjaHVua1xuICAgICAgICBpZiAobXNnLnByb2MpIHtcbiAgICAgICAgICBhd2FpdCBydW5uZXIuYWRkUHJvY2Vzc29yKG1zZy5wcm9jKVxuICAgICAgICB9XG4gICAgICAgIGlmIChtc2cuc3RhcnQpIHtcbiAgICAgICAgICBydW5uZXIuc3RhcnQoKS50aGVuKHByb2Nlc3NvcnNFbmQpXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBydW5uZXIuaGFuZGxlT3JjaE1lc3NhZ2UobXNnKVxuICAgICAgfVxuXG4gICAgICBsb2dnZXIuZXJyb3IoJ1N0cmVhbSBlbmRlZCcpXG4gICAgfSkoKVxuXG4gIGF3YWl0IHByb2Nlc3NvcnNFbmRlZFxuXG4gIGxvZ2dlci5pbmZvKCdBbGwgcHJvY2Vzc29ycyBhcmUgZmluaXNoZWQnKVxuICBzdHJlYW0uZW5kKClcbiAgY2xpZW50LmNsb3NlKClcbiAgcHJvY2Vzcy5leGl0KDApXG59XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -3,4 +3,4 @@ export * from './writer.js';
3
3
  export * from './reader.js';
4
4
  export * from './processor.js';
5
5
  export * from './runner.js';
6
- export * as reexports from "./reexports.js";
6
+ export * as reexports from './reexports.js';
package/lib/index.js CHANGED
@@ -3,5 +3,5 @@ export * from './writer.js';
3
3
  export * from './reader.js';
4
4
  export * from './processor.js';
5
5
  export * from './runner.js';
6
- export * as reexports from "./reexports.js";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxVQUFVLENBQUE7QUFFeEIsT0FBTyxLQUFLLFNBQVMsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaWVudCdcbmV4cG9ydCAqIGZyb20gJy4vd3JpdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9yZWFkZXInXG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vcnVubmVyJ1xuXG5leHBvcnQgKiBhcyByZWV4cG9ydHMgZnJvbSBcIi4vcmVleHBvcnRzXCI7XG4iXX0=
6
+ export * as reexports from './reexports.js';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxVQUFVLENBQUE7QUFFeEIsT0FBTyxLQUFLLFNBQVMsTUFBTSxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaWVudCdcbmV4cG9ydCAqIGZyb20gJy4vd3JpdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9yZWFkZXInXG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vcnVubmVyJ1xuXG5leHBvcnQgKiBhcyByZWV4cG9ydHMgZnJvbSAnLi9yZWV4cG9ydHMnXG4iXX0=
package/lib/jsonld.js CHANGED
@@ -116,7 +116,8 @@ function expandArgs(args, cont, logger) {
116
116
  try {
117
117
  x = JSON.stringify(v);
118
118
  }
119
- catch (e) { }
119
+ catch (_e) {
120
+ }
120
121
  return k + ': ' + x;
121
122
  })));
122
123
  expandArgs(args[key], cont, logger);
@@ -131,4 +132,4 @@ export async function parse_jsonld(args, logger, items) {
131
132
  expandArgs(out, cont, logger);
132
133
  return out;
133
134
  }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbmxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2pzb25sZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQTtBQVM5QixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FDcEMscUNBQXFDLEVBQ3JDLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEVBQ2QsYUFBYSxFQUNiLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxDQUNYLENBQUE7QUFHRCxNQUFNLElBQUksR0FBRyxlQUFlLENBQzFCLCtCQUErQixFQUMvQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLFFBQVEsRUFDUixRQUFRLENBQ1QsQ0FBQTtBQUVELFNBQVMsZUFBZSxDQUFDLEdBQVk7SUFDbkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUE7QUFDakQsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWM7SUFDaEMsTUFBTSxLQUFLLEdBQVcsRUFBRSxDQUFB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RUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBRTdFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUUzQixVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUM3QixPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmNoZXN0cmF0b3JNZXNzYWdlLCBSdW5uZXJDbGllbnQgfSBmcm9tICdAcmRmYy9wcm90bydcbmltcG9ydCB7IGNyZWF0ZU5hbWVzcGFjZSwgY3JlYXRlVXJpQW5kVGVybU5hbWVzcGFjZSB9IGZyb20gJ0B0cmVlY2cvdHlwZXMnXG5pbXBvcnQgeyBSZWFkZXJJbnN0YW5jZSB9IGZyb20gJy4vcmVhZGVyJ1xuaW1wb3J0IHsgV3JpdGVySW5zdGFuY2UgfSBmcm9tICcuL3dyaXRlcidcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ3dpbnN0b24nXG5pbXBvcnQgeyBKc29uTGRQYXJzZXIgfSBmcm9tICdqc29ubGQtc3RyZWFtaW5nLXBhcnNlcidcbmltcG9ydCB7IHByZWQsIFNoYWNsUGF0aCB9IGZyb20gJ3JkZi1sZW5zJ1xuaW1wb3J0IHsgUXVhZCwgVGVybSB9IGZyb20gJ0ByZGZqcy90eXBlcydcbmltcG9ydCB7IE5hbWVkTm9kZSB9IGZyb20gJ24zJ1xuXG5leHBvcnQgdHlwZSBSdW5uZXJJdGVtcyA9IHtcbiAgcmVhZGVyczogeyBbdXJpOiBzdHJpbmddOiBSZWFkZXJJbnN0YW5jZVtdIH1cbiAgd3JpdGVyczogeyBbdXJpOiBzdHJpbmddOiBXcml0ZXJJbnN0YW5jZVtdIH1cbiAgY2xpZW50OiBSdW5uZXJDbGllbnRcbiAgd3JpdGU6IFdyaXRhYmxlXG59XG5cbmNvbnN0IFJERkwgPSBjcmVhdGVVcmlBbmRUZXJtTmFtZXNwYWNlKFxuICAnaHR0cHM6Ly93M2lkLm9yZy9yZGYtbGVucy9vbnRvbG9neSMnLFxuICAnQ0JEJyxcbiAgJ1BhdGgnLFxuICAnUGF0aExlbnMnLFxuICAnQ29udGV4dCcsXG4gICdUeXBlZEV4dHJhY3QnLFxuICAnRW52VmFyaWFibGUnLFxuICAnZW52S2V5JyxcbiAgJ2VudkRlZmF1bHQnLFxuICAnZGF0YXR5cGUnLFxuKVxuXG50eXBlIFdyaXRhYmxlID0gKG1zZzogT3JjaGVzdHJhdG9yTWVzc2FnZSkgPT4gUHJvbWlzZTx1bmtub3duPlxuY29uc3QgUkRGQyA9IGNyZWF0ZU5hbWVzcGFjZShcbiAgJ2h0dHBzOi8vdzNpZC5vcmcvcmRmLWNvbm5lY3QjJyxcbiAgKHgpID0+IHgsXG4gICdSZWFkZXInLFxuICAnV3JpdGVyJyxcbilcblxuZnVuY3Rpb24gYXNfc3RyaW5nX2FycmF5KG9iajogdW5rbm93bik6IHN0cmluZ1tdIHtcbiAgY29uc3Qgb3V0ID0gQXJyYXkuaXNBcnJheShvYmopID8gb2JqIDogW29ial1cbiAgcmV0dXJuIG91dC5maWx0ZXIoKHgpID0+IHR5cGVvZiB4ID09PSAnc3RyaW5nJylcbn1cblxuZnVuY3Rpb24gY2JkVG9RdWFkcyh2YWx1ZTogdW5rbm93bikge1xuICBjb25zdCBxdWFkczogUXVhZFtdID0gW11cbiAgY29uc3QgcGFyc2VyID0gbmV3IEpzb25MZFBhcnNlcigpXG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTx7IHZhbHVlOiBRdWFkW10gfT4oKHJlcywgcmVqKSA9PlxuICAgIHBhcnNlclxuICAgICAgLm9uKCdlbmQnLCAoKSA9PiByZXMoeyB2YWx1ZTogcXVhZHMgfSkpXG4gICAgICAub24oJ2Vycm9yJywgKGUpID0+IHJlaihlKSlcbiAgICAgIC5vbignZGF0YScsIChxKSA9PiB7XG4gICAgICAgIHF1YWRzLnB1c2gocSlcbiAgICAgIH0pLFxuICApXG5cbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmICdAdHlwZScgaW4gdmFsdWUpIHtcbiAgICBkZWxldGUgdmFsdWVbJ0B0eXBlJ11cbiAgfVxuICBwYXJzZXIud3JpdGUoSlNPTi5zdHJpbmdpZnkodmFsdWUpKVxuICBwYXJzZXIuZW5kKClcbiAgcmV0dXJuIHByb21pc2Vcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2JkVG9QYXRoKHZhbHVlOiB1bmtub3duKTogUHJvbWlzZTx7IHZhbHVlOiB1bmtub3duIH0+IHtcbiAgY29uc3QgcXMgPSAoXG4gICAgYXdhaXQgY2JkVG9RdWFkcyh7XG4gICAgICAnQGlkJzogJ2h0dHA6Ly9leGFtcGxlLmNvbS9ucyNtZTEyMzQnLFxuICAgICAgJ2h0dHA6Ly9leGFtcGxlLmNvbS9ucyNpbm5lclByZWQnOiB2YWx1ZSxcbiAgICB9KVxuICApLnZhbHVlXG5cbiAgY29uc3QgcGF0aCA9IHByZWQobmV3IE5hbWVkTm9kZSgnaHR0cDovL2V4YW1wbGUuY29tL25zI2lubmVyUHJlZCcpKVxuICAgIC5vbmUoKVxuICAgIC50aGVuKFNoYWNsUGF0aClcbiAgICAuZXhlY3V0ZSh7XG4gICAgICBxdWFkczogcXMsXG4gICAgICBpZDogbmV3IE5hbWVkTm9kZSgnaHR0cDovL2V4YW1wbGUuY29tL25zI21lMTIzNCcpLFxuICAgIH0pXG4gIHJldHVybiB7IHZhbHVlOiBwYXRoIH1cbn1cblxudHlwZSBDb250ID0geyBxdWFkczogUXVhZFtdOyBpZDogVGVybSB9XG5hc3luYyBmdW5jdGlvbiBqc29ubGRUb1F1YWRzKHZhbHVlOiB1bmtub3duKTogUHJvbWlzZTxDb250PiB7XG4gIGNvbnN0IHFzID0gKFxuICAgIGF3YWl0IGNiZFRvUXVhZHMoe1xuICAgICAgJ0BpZCc6ICdodHRwOi8vZXhhbXBsZS5jb20vbnMjbWUxMjM0JyxcbiAgICAgICdodHRwOi8vZXhhbXBsZS5jb20vbnMjaW5uZXJQcmVkJzogdmFsdWUsXG4gICAgfSlcbiAgKS52YWx1ZVxuXG4gIGNvbnN0IGlkeCA9IHFzLmZpbmRJbmRleChcbiAgICAoeCkgPT5cbiAgICAgIHgucHJlZGljYXRlLmVxdWFscyhuZXcgTmFtZWROb2RlKCdodHRwOi8vZXhhbXBsZS5jb20vbnMjaW5uZXJQcmVkJykpICYmXG4gICAgICB4LnN1YmplY3QuZXF1YWxzKG5ldyBOYW1lZE5vZGUoJ2h0dHA6Ly9leGFtcGxlLmNvbS9ucyNtZTEyMzQnKSksXG4gIClcbiAgaWYgKGlkeCA8IDApIHRocm93ICdUaGlzIGNhbm5vdCBoYXBwZW4nXG4gIGNvbnN0IGlkID0gcXNbaWR4XS5vYmplY3RcblxuICBxcy5zcGxpY2UoaWR4LCAxKVxuXG4gIHJldHVybiB7XG4gICAgcXVhZHM6IHFzLFxuICAgIGlkLFxuICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5mdW5jdGlvbiByZXZpdmUoXG4gIF9rZXk6IHN0cmluZyxcbiAgdmFsdWU6IGFueSxcbiAgbG9nZ2VyOiBMb2dnZXIsXG4gIHByb21pc2VzOiBQcm9taXNlPHVua25vd24+W10sXG4gIHJ1bm5lckl0ZW1zOiBSdW5uZXJJdGVtcyxcbik6IGFueSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3QgdHlwZXMgPSBhc19zdHJpbmdfYXJyYXkodmFsdWVbJ0B0eXBlJ10gfHwgW10pXG4gICAgY29uc3QgaWRzID0gYXNfc3RyaW5nX2FycmF5KHZhbHVlWydAaWQnXSB8fCBbXSlbMF0gfHwgJydcblxuICAgIGlmICh0eXBlcy5pbmNsdWRlcyhSREZDLlJlYWRlcikpIHtcbiAgICAgIGlmIChydW5uZXJJdGVtcy5yZWFkZXJzW2lkc10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBydW5uZXJJdGVtcy5yZWFkZXJzW2lkc10gPSBbXVxuICAgICAgfVxuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IFJlYWRlckluc3RhbmNlKGlkcywgcnVubmVySXRlbXMuY2xpZW50LCBsb2dnZXIpXG4gICAgICBydW5uZXJJdGVtcy5yZWFkZXJzW2lkc10ucHVzaChyZWFkZXIpXG4gICAgICByZXR1cm4gcmVhZGVyXG4gICAgfVxuXG4gICAgaWYgKHR5cGVzLmluY2x1ZGVzKFJERkMuV3JpdGVyKSkge1xuICAgICAgaWYgKHJ1bm5lckl0ZW1zLndyaXRlcnNbaWRzXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJ1bm5lckl0ZW1zLndyaXRlcnNbaWRzXSA9IFtdXG4gICAgICB9XG4gICAgICBjb25zdCB3cml0ZXIgPSBuZXcgV3JpdGVySW5zdGFuY2UoXG4gICAgICAgIGlkcyxcbiAgICAgICAgcnVubmVySXRlbXMuY2xpZW50LFxuICAgICAgICBydW5uZXJJdGVtcy53cml0ZSxcbiAgICAgICAgbG9nZ2VyLFxuICAgICAgKVxuICAgICAgcnVubmVySXRlbXMud3JpdGVyc1tpZHNdLnB1c2god3JpdGVyKVxuICAgICAgcmV0dXJuIHdyaXRlclxuICAgIH1cblxuICAgIGlmICh0eXBlcy5pbmNsdWRlcyhSREZMLkNCRCkpIHtcbiAgICAgIHJldHVybiBjYmRUb1F1YWRzKHZhbHVlKVxuICAgIH1cblxuICAgIGlmICh0eXBlcy5pbmNsdWRlcyhSREZMLlBhdGgpKSB7XG4gICAgICByZXR1cm4gY2JkVG9QYXRoKHZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICBpZiAodiBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIGxvZ2dlci5pbmZvKCdGb3VuZCBwcm9taXNlJylcbiAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgIHYudGhlbigoeCkgPT4ge1xuICAgICAgICAgIGxvZ2dlci5pbmZvKCdTZXR0aW5nIGZpZWxkICcgKyBrKVxuICAgICAgICAgIHZhbHVlW2tdID0geC52YWx1ZVxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHZhbHVlXG59XG5cbnR5cGUgQXJnID0ge1xuICBbaWQ6IHN0cmluZ106IGFueVxufVxuZnVuY3Rpb24gZXhwYW5kQXJncyhhcmdzOiBBcmcsIGNvbnQ6IENvbnQsIGxvZ2dlcjogTG9nZ2VyKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBhcmdzWydAY29udGV4dCddXG4gIGlmICghY29udGV4dCkgcmV0dXJuXG5cbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoYXJncykpIHtcbiAgICBpZiAoa2V5ID09ICdAY29udGV4dCcpIGNvbnRpbnVlXG4gICAgY29uc3QgY3R4T2JqID0gY29udGV4dFtrZXldXG4gICAgaWYgKCFjdHhPYmopIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIkRpZG4ndCBmaW5kIGN0eCB0aGluZ3MgZm9yIFwiICsga2V5KVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICAnRGlkIGZpbmQgY3R4IHRoaW5ncyBmb3IgJyArXG4gICAgICAgIGtleSArXG4gICAgICAgICcgJyArXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KGN0eE9iaikgK1xuICAgICAgICAnOiAnICtcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoYXJnc1trZXldKS5tYXAoKFtrLCB2XSkgPT4ge1xuICAgICAgICAgICAgbGV0IHggPSAnb2JqZWN0J1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgeCA9IEpTT04uc3RyaW5naWZ5KHYpXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgICAgICAgICByZXR1cm4gayArICc6ICcgKyB4XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKVxuXG4gICAgZXhwYW5kQXJncyhhcmdzW2tleV0sIGNvbnQsIGxvZ2dlcilcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFyc2VfanNvbmxkKFxuICBhcmdzOiBzdHJpbmcsXG4gIGxvZ2dlcjogTG9nZ2VyLFxuICBpdGVtczogUnVubmVySXRlbXMsXG4pOiBQcm9taXNlPHVua25vd24+IHtcbiAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8dW5rbm93bj5bXSA9IFtdXG4gIGxvZ2dlci5pbmZvKGFyZ3MpXG4gIGNvbnN0IGNvbnQgPSBhd2FpdCBqc29ubGRUb1F1YWRzKEpTT04ucGFyc2UoYXJncykpXG4gIGNvbnN0IG91dCA9IEpTT04ucGFyc2UoYXJncywgKGssIHYpID0+IHJldml2ZShrLCB2LCBsb2dnZXIsIHByb21pc2VzLCBpdGVtcykpXG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG5cbiAgZXhwYW5kQXJncyhvdXQsIGNvbnQsIGxvZ2dlcilcbiAgcmV0dXJuIG91dFxufVxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbmxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2pzb25sZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQTtBQVM5QixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FDcEMscUNBQXFDLEVBQ3JDLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEVBQ2QsYUFBYSxFQUNiLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxDQUNYLENBQUE7QUFHRCxNQUFNLElBQUksR0FBRyxlQUFlLENBQzFCLCtCQUErQixFQUMvQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLFFBQVEsRUFDUixRQUFRLENBQ1QsQ0FBQTtBQUVELFNBQVMsZUFBZSxDQUFDLEdBQVk7SUFDbkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUE7QUFDakQsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWM7SUFDaEMsTUFBTSxLQUFLLEdBQVcsRUFBRSxDQUFB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USxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFFN0UsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzdCLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yY2hlc3RyYXRvck1lc3NhZ2UsIFJ1bm5lckNsaWVudCB9IGZyb20gJ0ByZGZjL3Byb3RvJ1xuaW1wb3J0IHsgY3JlYXRlTmFtZXNwYWNlLCBjcmVhdGVVcmlBbmRUZXJtTmFtZXNwYWNlIH0gZnJvbSAnQHRyZWVjZy90eXBlcydcbmltcG9ydCB7IFJlYWRlckluc3RhbmNlIH0gZnJvbSAnLi9yZWFkZXInXG5pbXBvcnQgeyBXcml0ZXJJbnN0YW5jZSB9IGZyb20gJy4vd3JpdGVyJ1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnd2luc3RvbidcbmltcG9ydCB7IEpzb25MZFBhcnNlciB9IGZyb20gJ2pzb25sZC1zdHJlYW1pbmctcGFyc2VyJ1xuaW1wb3J0IHsgcHJlZCwgU2hhY2xQYXRoIH0gZnJvbSAncmRmLWxlbnMnXG5pbXBvcnQgeyBRdWFkLCBUZXJtIH0gZnJvbSAnQHJkZmpzL3R5cGVzJ1xuaW1wb3J0IHsgTmFtZWROb2RlIH0gZnJvbSAnbjMnXG5cbmV4cG9ydCB0eXBlIFJ1bm5lckl0ZW1zID0ge1xuICByZWFkZXJzOiB7IFt1cmk6IHN0cmluZ106IFJlYWRlckluc3RhbmNlW10gfVxuICB3cml0ZXJzOiB7IFt1cmk6IHN0cmluZ106IFdyaXRlckluc3RhbmNlW10gfVxuICBjbGllbnQ6IFJ1bm5lckNsaWVudFxuICB3cml0ZTogV3JpdGFibGVcbn1cblxuY29uc3QgUkRGTCA9IGNyZWF0ZVVyaUFuZFRlcm1OYW1lc3BhY2UoXG4gICdodHRwczovL3czaWQub3JnL3JkZi1sZW5zL29udG9sb2d5IycsXG4gICdDQkQnLFxuICAnUGF0aCcsXG4gICdQYXRoTGVucycsXG4gICdDb250ZXh0JyxcbiAgJ1R5cGVkRXh0cmFjdCcsXG4gICdFbnZWYXJpYWJsZScsXG4gICdlbnZLZXknLFxuICAnZW52RGVmYXVsdCcsXG4gICdkYXRhdHlwZScsXG4pXG5cbnR5cGUgV3JpdGFibGUgPSAobXNnOiBPcmNoZXN0cmF0b3JNZXNzYWdlKSA9PiBQcm9taXNlPHVua25vd24+XG5jb25zdCBSREZDID0gY3JlYXRlTmFtZXNwYWNlKFxuICAnaHR0cHM6Ly93M2lkLm9yZy9yZGYtY29ubmVjdCMnLFxuICAoeCkgPT4geCxcbiAgJ1JlYWRlcicsXG4gICdXcml0ZXInLFxuKVxuXG5mdW5jdGlvbiBhc19zdHJpbmdfYXJyYXkob2JqOiB1bmtub3duKTogc3RyaW5nW10ge1xuICBjb25zdCBvdXQgPSBBcnJheS5pc0FycmF5KG9iaikgPyBvYmogOiBbb2JqXVxuICByZXR1cm4gb3V0LmZpbHRlcigoeCkgPT4gdHlwZW9mIHggPT09ICdzdHJpbmcnKVxufVxuXG5mdW5jdGlvbiBjYmRUb1F1YWRzKHZhbHVlOiB1bmtub3duKSB7XG4gIGNvbnN0IHF1YWRzOiBRdWFkW10gPSBbXVxuICBjb25zdCBwYXJzZXIgPSBuZXcgSnNvbkxkUGFyc2VyKClcbiAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlPHsgdmFsdWU6IFF1YWRbXSB9PigocmVzLCByZWopID0+XG4gICAgcGFyc2VyXG4gICAgICAub24oJ2VuZCcsICgpID0+IHJlcyh7IHZhbHVlOiBxdWFkcyB9KSlcbiAgICAgIC5vbignZXJyb3InLCAoZSkgPT4gcmVqKGUpKVxuICAgICAgLm9uKCdkYXRhJywgKHEpID0+IHtcbiAgICAgICAgcXVhZHMucHVzaChxKVxuICAgICAgfSksXG4gIClcblxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgJ0B0eXBlJyBpbiB2YWx1ZSkge1xuICAgIGRlbGV0ZSB2YWx1ZVsnQHR5cGUnXVxuICB9XG4gIHBhcnNlci53cml0ZShKU09OLnN0cmluZ2lmeSh2YWx1ZSkpXG4gIHBhcnNlci5lbmQoKVxuICByZXR1cm4gcHJvbWlzZVxufVxuXG5hc3luYyBmdW5jdGlvbiBjYmRUb1BhdGgodmFsdWU6IHVua25vd24pOiBQcm9taXNlPHsgdmFsdWU6IHVua25vd24gfT4ge1xuICBjb25zdCBxcyA9IChcbiAgICBhd2FpdCBjYmRUb1F1YWRzKHtcbiAgICAgICdAaWQnOiAnaHR0cDovL2V4YW1wbGUuY29tL25zI21lMTIzNCcsXG4gICAgICAnaHR0cDovL2V4YW1wbGUuY29tL25zI2lubmVyUHJlZCc6IHZhbHVlLFxuICAgIH0pXG4gICkudmFsdWVcblxuICBjb25zdCBwYXRoID0gcHJlZChuZXcgTmFtZWROb2RlKCdodHRwOi8vZXhhbXBsZS5jb20vbnMjaW5uZXJQcmVkJykpXG4gICAgLm9uZSgpXG4gICAgLnRoZW4oU2hhY2xQYXRoKVxuICAgIC5leGVjdXRlKHtcbiAgICAgIHF1YWRzOiBxcyxcbiAgICAgIGlkOiBuZXcgTmFtZWROb2RlKCdodHRwOi8vZXhhbXBsZS5jb20vbnMjbWUxMjM0JyksXG4gICAgfSlcbiAgcmV0dXJuIHsgdmFsdWU6IHBhdGggfVxufVxuXG50eXBlIENvbnQgPSB7IHF1YWRzOiBRdWFkW107IGlkOiBUZXJtIH1cbmFzeW5jIGZ1bmN0aW9uIGpzb25sZFRvUXVhZHModmFsdWU6IHVua25vd24pOiBQcm9taXNlPENvbnQ+IHtcbiAgY29uc3QgcXMgPSAoXG4gICAgYXdhaXQgY2JkVG9RdWFkcyh7XG4gICAgICAnQGlkJzogJ2h0dHA6Ly9leGFtcGxlLmNvbS9ucyNtZTEyMzQnLFxuICAgICAgJ2h0dHA6Ly9leGFtcGxlLmNvbS9ucyNpbm5lclByZWQnOiB2YWx1ZSxcbiAgICB9KVxuICApLnZhbHVlXG5cbiAgY29uc3QgaWR4ID0gcXMuZmluZEluZGV4KFxuICAgICh4KSA9PlxuICAgICAgeC5wcmVkaWNhdGUuZXF1YWxzKG5ldyBOYW1lZE5vZGUoJ2h0dHA6Ly9leGFtcGxlLmNvbS9ucyNpbm5lclByZWQnKSkgJiZcbiAgICAgIHguc3ViamVjdC5lcXVhbHMobmV3IE5hbWVkTm9kZSgnaHR0cDovL2V4YW1wbGUuY29tL25zI21lMTIzNCcpKSxcbiAgKVxuICBpZiAoaWR4IDwgMCkgdGhyb3cgJ1RoaXMgY2Fubm90IGhhcHBlbidcbiAgY29uc3QgaWQgPSBxc1tpZHhdLm9iamVjdFxuXG4gIHFzLnNwbGljZShpZHgsIDEpXG5cbiAgcmV0dXJuIHtcbiAgICBxdWFkczogcXMsXG4gICAgaWQsXG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmZ1bmN0aW9uIHJldml2ZShcbiAgX2tleTogc3RyaW5nLFxuICB2YWx1ZTogYW55LFxuICBsb2dnZXI6IExvZ2dlcixcbiAgcHJvbWlzZXM6IFByb21pc2U8dW5rbm93bj5bXSxcbiAgcnVubmVySXRlbXM6IFJ1bm5lckl0ZW1zLFxuKTogYW55IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB0eXBlcyA9IGFzX3N0cmluZ19hcnJheSh2YWx1ZVsnQHR5cGUnXSB8fCBbXSlcbiAgICBjb25zdCBpZHMgPSBhc19zdHJpbmdfYXJyYXkodmFsdWVbJ0BpZCddIHx8IFtdKVswXSB8fCAnJ1xuXG4gICAgaWYgKHR5cGVzLmluY2x1ZGVzKFJERkMuUmVhZGVyKSkge1xuICAgICAgaWYgKHJ1bm5lckl0ZW1zLnJlYWRlcnNbaWRzXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJ1bm5lckl0ZW1zLnJlYWRlcnNbaWRzXSA9IFtdXG4gICAgICB9XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgUmVhZGVySW5zdGFuY2UoaWRzLCBydW5uZXJJdGVtcy5jbGllbnQsIGxvZ2dlcilcbiAgICAgIHJ1bm5lckl0ZW1zLnJlYWRlcnNbaWRzXS5wdXNoKHJlYWRlcilcbiAgICAgIHJldHVybiByZWFkZXJcbiAgICB9XG5cbiAgICBpZiAodHlwZXMuaW5jbHVkZXMoUkRGQy5Xcml0ZXIpKSB7XG4gICAgICBpZiAocnVubmVySXRlbXMud3JpdGVyc1tpZHNdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcnVubmVySXRlbXMud3JpdGVyc1tpZHNdID0gW11cbiAgICAgIH1cbiAgICAgIGNvbnN0IHdyaXRlciA9IG5ldyBXcml0ZXJJbnN0YW5jZShcbiAgICAgICAgaWRzLFxuICAgICAgICBydW5uZXJJdGVtcy5jbGllbnQsXG4gICAgICAgIHJ1bm5lckl0ZW1zLndyaXRlLFxuICAgICAgICBsb2dnZXIsXG4gICAgICApXG4gICAgICBydW5uZXJJdGVtcy53cml0ZXJzW2lkc10ucHVzaCh3cml0ZXIpXG4gICAgICByZXR1cm4gd3JpdGVyXG4gICAgfVxuXG4gICAgaWYgKHR5cGVzLmluY2x1ZGVzKFJERkwuQ0JEKSkge1xuICAgICAgcmV0dXJuIGNiZFRvUXVhZHModmFsdWUpXG4gICAgfVxuXG4gICAgaWYgKHR5cGVzLmluY2x1ZGVzKFJERkwuUGF0aCkpIHtcbiAgICAgIHJldHVybiBjYmRUb1BhdGgodmFsdWUpXG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmVudHJpZXModmFsdWUpLmZvckVhY2goKFtrLCB2XSkgPT4ge1xuICAgIGlmICh2IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgbG9nZ2VyLmluZm8oJ0ZvdW5kIHByb21pc2UnKVxuICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgdi50aGVuKCh4KSA9PiB7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oJ1NldHRpbmcgZmllbGQgJyArIGspXG4gICAgICAgICAgdmFsdWVba10gPSB4LnZhbHVlXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gdmFsdWVcbn1cblxudHlwZSBBcmcgPSB7XG4gIFtpZDogc3RyaW5nXTogYW55XG59XG5mdW5jdGlvbiBleHBhbmRBcmdzKGFyZ3M6IEFyZywgY29udDogQ29udCwgbG9nZ2VyOiBMb2dnZXIpIHtcbiAgY29uc3QgY29udGV4dCA9IGFyZ3NbJ0Bjb250ZXh0J11cbiAgaWYgKCFjb250ZXh0KSByZXR1cm5cblxuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhhcmdzKSkge1xuICAgIGlmIChrZXkgPT0gJ0Bjb250ZXh0JykgY29udGludWVcbiAgICBjb25zdCBjdHhPYmogPSBjb250ZXh0W2tleV1cbiAgICBpZiAoIWN0eE9iaikge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiRGlkbid0IGZpbmQgY3R4IHRoaW5ncyBmb3IgXCIgKyBrZXkpXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICdEaWQgZmluZCBjdHggdGhpbmdzIGZvciAnICtcbiAgICAgICAga2V5ICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoY3R4T2JqKSArXG4gICAgICAgICc6ICcgK1xuICAgICAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhhcmdzW2tleV0pLm1hcCgoW2ssIHZdKSA9PiB7XG4gICAgICAgICAgICBsZXQgeCA9ICdvYmplY3QnXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICB4ID0gSlNPTi5zdHJpbmdpZnkodilcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgfSBjYXRjaCAoX2U6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgLy8gZGVmYXVsdCBpcyBzZXRcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGsgKyAnOiAnICsgeFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgIClcblxuICAgIGV4cGFuZEFyZ3MoYXJnc1trZXldLCBjb250LCBsb2dnZXIpXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhcnNlX2pzb25sZChcbiAgYXJnczogc3RyaW5nLFxuICBsb2dnZXI6IExvZ2dlcixcbiAgaXRlbXM6IFJ1bm5lckl0ZW1zLFxuKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIGNvbnN0IHByb21pc2VzOiBQcm9taXNlPHVua25vd24+W10gPSBbXVxuICBsb2dnZXIuaW5mbyhhcmdzKVxuICBjb25zdCBjb250ID0gYXdhaXQganNvbmxkVG9RdWFkcyhKU09OLnBhcnNlKGFyZ3MpKVxuICBjb25zdCBvdXQgPSBKU09OLnBhcnNlKGFyZ3MsIChrLCB2KSA9PiByZXZpdmUoaywgdiwgbG9nZ2VyLCBwcm9taXNlcywgaXRlbXMpKVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuXG4gIGV4cGFuZEFyZ3Mob3V0LCBjb250LCBsb2dnZXIpXG4gIHJldHVybiBvdXRcbn1cbiJdfQ==
package/lib/reader.js CHANGED
@@ -8,22 +8,18 @@ class MyIter {
8
8
  }
9
9
  push(buffer) {
10
10
  const item = this.convertor.from(buffer);
11
+ this.queue.push(item);
11
12
  if (this.resolveNext) {
12
- this.resolveNext(item);
13
+ this.resolveNext(undefined);
13
14
  this.resolveNext = null;
14
15
  }
15
- else {
16
- this.queue.push(item);
17
- }
18
16
  }
19
17
  close() {
18
+ this.queue.push(undefined);
20
19
  if (this.resolveNext) {
21
20
  this.resolveNext(undefined);
22
21
  this.resolveNext = null;
23
22
  }
24
- else {
25
- this.queue.push(undefined);
26
- }
27
23
  }
28
24
  async pushStream(chunks) {
29
25
  const stream = (async function* (stream) {
@@ -33,13 +29,11 @@ class MyIter {
33
29
  }
34
30
  })(chunks);
35
31
  const item = await this.convertor.fromStream(stream);
32
+ this.queue.push(item);
36
33
  if (this.resolveNext) {
37
- this.resolveNext(item);
34
+ this.resolveNext(undefined);
38
35
  this.resolveNext = null;
39
36
  }
40
- else {
41
- this.queue.push(item);
42
- }
43
37
  }
44
38
  async *[Symbol.asyncIterator]() {
45
39
  while (true) {
@@ -50,10 +44,7 @@ class MyIter {
50
44
  yield item;
51
45
  }
52
46
  else {
53
- const item = await new Promise((resolve) => (this.resolveNext = resolve));
54
- if (item === undefined)
55
- break;
56
- yield item;
47
+ await new Promise((resolve) => (this.resolveNext = resolve));
57
48
  }
58
49
  }
59
50
  }
@@ -90,6 +81,7 @@ export class ReaderInstance {
90
81
  }
91
82
  handleMsg(msg) {
92
83
  this.logger.debug(`${this.uri} handling message`);
84
+ console.log(`${this.uri} handling message`);
93
85
  for (const iter of this.iterators) {
94
86
  iter.push(msg.data);
95
87
  }
@@ -107,4 +99,4 @@ export class ReaderInstance {
107
99
  }
108
100
  }
109
101
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0gsWUFBWSxFQUVaLFdBQVcsRUFDWCxlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLGFBQWEsQ0FBQTtBQXFCcEIsTUFBTSxNQUFNO0lBQ0EsU0FBUyxDQUFjO0lBQ3ZCLEtBQUssR0FBc0IsRUFBRSxDQUFBO0lBQzdCLFdBQVcsR0FBNEMsSUFBSSxDQUFBO0lBRW5FLFlBQVksU0FBdUI7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDOUIsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFrQjtRQUNuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTtRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUF1QztRQUNwRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFD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SSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQTtRQUNqRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QixDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDaEIsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxHQUFrQjtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLDZCQUE2QixDQUFDLENBQUE7UUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLENBQUE7UUFDeEQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMzQixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50UmVhZGFibGVTdHJlYW0gfSBmcm9tICdAZ3JwYy9ncnBjLWpzJ1xuaW1wb3J0IHsgRGF0YUNodW5rLCBNZXNzYWdlLCBSdW5uZXJDbGllbnQsIFN0cmVhbU1lc3NhZ2UgfSBmcm9tICdAcmRmYy9wcm90bydcbmltcG9ydCB3aW5zdG9uIGZyb20gJ3dpbnN0b24nXG5pbXBvcnQge1xuICAgIEFueUNvbnZlcnRvcixcbiAgICBDb252ZXJ0b3IsXG4gICAgTm9Db252ZXJ0b3IsXG4gICAgU3RyZWFtQ29udmVydG9yLFxuICAgIFN0cmluZ0NvbnZlcnRvcixcbn0gZnJvbSAnLi9jb252ZXJ0b3InXG5cbmV4cG9ydCB0eXBlIEFueSA9XG4gICAgfCB7XG4gICAgICAgIHN0cmluZzogc3RyaW5nXG4gICAgfVxuICAgIHwge1xuICAgICAgICBzdHJlYW06IEFzeW5jR2VuZXJhdG9yPFVpbnQ4QXJyYXk+XG4gICAgfVxuICAgIHwge1xuICAgICAgICBidWZmZXI6IFVpbnQ4QXJyYXlcbiAgICB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZGVyIHtcbiAgICByZWFkb25seSB1cmk6IHN0cmluZ1xuICAgIHN0cmluZ3MoKTogQXN5bmNJdGVyYWJsZTxzdHJpbmc+XG4gICAgc3RyZWFtcygpOiBBc3luY0l0ZXJhYmxlPEFzeW5jR2VuZXJhdG9yPFVpbnQ4QXJyYXk+PlxuICAgIGJ1ZmZlcnMoKTogQXN5bmNJdGVyYWJsZTxVaW50OEFycmF5PlxuICAgIGFueXMoKTogQXN5bmNJdGVyYWJsZTxBbnk+XG59XG5cbmNsYXNzIE15SXRlcjxUPiBpbXBsZW1lbnRzIEFzeW5jSXRlcmFibGU8VD4ge1xuICAgIHByaXZhdGUgY29udmVydG9yOiBDb252ZXJ0b3I8VD5cbiAgICBwcml2YXRlIHF1ZXVlOiAoVCB8IHVuZGVmaW5lZClbXSA9IFtdXG4gICAgcHJpdmF0ZSByZXNvbHZlTmV4dDogKCh2YWx1ZTogVCB8IHVuZGVmaW5lZCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3RydWN0b3IoY29udmVydG9yOiBDb252ZXJ0b3I8VD4pIHtcbiAgICAgICAgdGhpcy5jb252ZXJ0b3IgPSBjb252ZXJ0b3JcbiAgICB9XG5cbiAgICBwdXNoKGJ1ZmZlcjogVWludDhBcnJheSkge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb252ZXJ0b3IuZnJvbShidWZmZXIpXG4gICAgICAgIGlmICh0aGlzLnJlc29sdmVOZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVOZXh0KGl0ZW0pXG4gICAgICAgICAgICB0aGlzLnJlc29sdmVOZXh0ID0gbnVsbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5xdWV1ZS5wdXNoKGl0ZW0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucmVzb2x2ZU5leHQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZU5leHQodW5kZWZpbmVkKVxuICAgICAgICAgICAgdGhpcy5yZXNvbHZlTmV4dCA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucXVldWUucHVzaCh1bmRlZmluZWQpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBwdXNoU3RyZWFtKGNodW5rczogQ2xpZW50UmVhZGFibGVTdHJlYW08RGF0YUNodW5rPikge1xuICAgICAgICBjb25zdCBzdHJlYW0gPSAoYXN5bmMgZnVuY3Rpb24qKHN0cmVhbSkge1xuICAgICAgICAgICAgZm9yIGF3YWl0IChjb25zdCBjIG9mIHN0cmVhbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNodW5rOiBEYXRhQ2h1bmsgPSBjXG4gICAgICAgICAgICAgICAgeWllbGQgY2h1bmsuZGF0YVxuICAgICAgICAgICAgfVxuICAgICAgICB9KShjaHVua3MpXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCB0aGlzLmNvbnZlcnRvci5mcm9tU3RyZWFtKHN0cmVhbSlcbiAgICAgICAgaWYgKHRoaXMucmVzb2x2ZU5leHQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZU5leHQoaXRlbSlcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZU5leHQgPSBudWxsXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXVlLnB1c2goaXRlbSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jICpbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCkge1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnF1ZXVlLnNoaWZ0KCkhXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0gPT09IHVuZGVmaW5lZCkgYnJlYWtcbiAgICAgICAgICAgICAgICB5aWVsZCBpdGVtXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCBuZXcgUHJvbWlzZTxUIHwgdW5kZWZpbmVkPihcbiAgICAgICAgICAgICAgICAgICAgKHJlc29sdmUpID0+ICh0aGlzLnJlc29sdmVOZXh0ID0gcmVzb2x2ZSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIGlmIChpdGVtID09PSB1bmRlZmluZWQpIGJyZWFrXG4gICAgICAgICAgICAgICAgeWllbGQgaXRlbVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVhZGVySW5zdGFuY2UgaW1wbGVtZW50cyBSZWFkZXIge1xuICAgIHByaXZhdGUgY2xpZW50OiBSdW5uZXJDbGllbnRcbiAgICByZWFkb25seSB1cmk6IHN0cmluZ1xuICAgIHByaXZhdGUgbG9nZ2VyOiB3aW5zdG9uLkxvZ2dlclxuXG4gICAgcHJpdmF0ZSBpdGVyYXRvcnM6IE15SXRlcjx1bmtub3duPltdID0gW11cblxuICAgIGNvbnN0cnVjdG9yKHVyaTogc3RyaW5nLCBjbGllbnQ6IFJ1bm5lckNsaWVudCwgbG9nZ2VyOiB3aW5zdG9uLkxvZ2dlcikge1xuICAgICAgICB0aGlzLnVyaSA9IHVyaVxuICAgICAgICB0aGlzLmNsaWVudCA9IGNsaWVudFxuICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlclxuICAgIH1cblxuICAgIGFueXMoKTogQXN5bmNJdGVyYWJsZTxBbnk+IHtcbiAgICAgICAgY29uc3QgaXRlciA9IG5ldyBNeUl0ZXIoQW55Q29udmVydG9yKVxuICAgICAgICB0aGlzLml0ZXJhdG9ycy5wdXNoKGl0ZXIpXG4gICAgICAgIHJldHVybiBpdGVyXG4gICAgfVxuXG4gICAgc3RyaW5ncygpOiBBc3luY0l0ZXJhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBpdGVyID0gbmV3IE15SXRlcihTdHJpbmdDb252ZXJ0b3IpXG4gICAgICAgIHRoaXMuaXRlcmF0b3JzLnB1c2goaXRlcilcbiAgICAgICAgcmV0dXJuIGl0ZXJcbiAgICB9XG5cbiAgICBidWZmZXJzKCk6IEFzeW5jSXRlcmFibGU8VWludDhBcnJheT4ge1xuICAgICAgICBjb25zdCBpdGVyID0gbmV3IE15SXRlcihOb0NvbnZlcnRvcilcbiAgICAgICAgdGhpcy5pdGVyYXRvcnMucHVzaChpdGVyKVxuICAgICAgICByZXR1cm4gaXRlclxuICAgIH1cblxuICAgIHN0cmVhbXMoKTogQXN5bmNJdGVyYWJsZTxBc3luY0dlbmVyYXRvcjxVaW50OEFycmF5Pj4ge1xuICAgICAgICBjb25zdCBpdGVyID0gbmV3IE15SXRlcihTdHJlYW1Db252ZXJ0b3IpXG4gICAgICAgIHRoaXMuaXRlcmF0b3JzLnB1c2goaXRlcilcbiAgICAgICAgcmV0dXJuIGl0ZXJcbiAgICB9XG5cbiAgICBoYW5kbGVNc2cobXNnOiBNZXNzYWdlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGAke3RoaXMudXJpfSBoYW5kbGluZyBtZXNzYWdlYClcbiAgICAgICAgZm9yIChjb25zdCBpdGVyIG9mIHRoaXMuaXRlcmF0b3JzKSB7XG4gICAgICAgICAgICBpdGVyLnB1c2gobXNnLmRhdGEpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgZm9yIChjb25zdCBpdGVyIG9mIHRoaXMuaXRlcmF0b3JzKSB7XG4gICAgICAgICAgICBpdGVyLmNsb3NlKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVN0cmVhbWluZ01lc3NhZ2UobXNnOiBTdHJlYW1NZXNzYWdlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGAke3RoaXMudXJpfSBoYW5kbGluZyBzdHJlYW1pbmcgbWVzc2FnZWApXG4gICAgICAgIGNvbnN0IGNodW5rcyA9IHRoaXMuY2xpZW50LnJlY2VpdmVTdHJlYW1NZXNzYWdlKG1zZy5pZCEpXG4gICAgICAgIGZvciAoY29uc3QgaXRlciBvZiB0aGlzLml0ZXJhdG9ycykge1xuICAgICAgICAgICAgaXRlci5wdXNoU3RyZWFtKGNodW5rcylcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0wsWUFBWSxFQUVaLFdBQVcsRUFDWCxlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLGFBQWEsQ0FBQTtBQXFCcEIsTUFBTSxNQUFNO0lBQ0YsU0FBUyxDQUFjO0lBQ3ZCLEtBQUssR0FBc0IsRUFBRSxDQUFBO0lBQzdCLFdBQVcsR0FBd0MsSUFBSSxDQUFBO0lBRS9ELFlBQVksU0FBdUI7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFrQjtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzFCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQXVDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBQyxNQUFNO1lBQ3BDLElBQUksS0FBSyxFQUFFLE1BQU0sQ0FB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QUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxHQUFrQjtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLDZCQUE2QixDQUFDLENBQUE7UUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLENBQUE7UUFDeEQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50UmVhZGFibGVTdHJlYW0gfSBmcm9tICdAZ3JwYy9ncnBjLWpzJ1xuaW1wb3J0IHsgRGF0YUNodW5rLCBNZXNzYWdlLCBSdW5uZXJDbGllbnQsIFN0cmVhbU1lc3NhZ2UgfSBmcm9tICdAcmRmYy9wcm90bydcbmltcG9ydCB3aW5zdG9uIGZyb20gJ3dpbnN0b24nXG5pbXBvcnQge1xuICBBbnlDb252ZXJ0b3IsXG4gIENvbnZlcnRvcixcbiAgTm9Db252ZXJ0b3IsXG4gIFN0cmVhbUNvbnZlcnRvcixcbiAgU3RyaW5nQ29udmVydG9yLFxufSBmcm9tICcuL2NvbnZlcnRvcidcblxuZXhwb3J0IHR5cGUgQW55ID1cbiAgfCB7XG4gICAgc3RyaW5nOiBzdHJpbmdcbiAgfVxuICB8IHtcbiAgICBzdHJlYW06IEFzeW5jR2VuZXJhdG9yPFVpbnQ4QXJyYXk+XG4gIH1cbiAgfCB7XG4gICAgYnVmZmVyOiBVaW50OEFycmF5XG4gIH1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXIge1xuICByZWFkb25seSB1cmk6IHN0cmluZ1xuICBzdHJpbmdzKCk6IEFzeW5jSXRlcmFibGU8c3RyaW5nPlxuICBzdHJlYW1zKCk6IEFzeW5jSXRlcmFibGU8QXN5bmNHZW5lcmF0b3I8VWludDhBcnJheT4+XG4gIGJ1ZmZlcnMoKTogQXN5bmNJdGVyYWJsZTxVaW50OEFycmF5PlxuICBhbnlzKCk6IEFzeW5jSXRlcmFibGU8QW55PlxufVxuXG5jbGFzcyBNeUl0ZXI8VD4gaW1wbGVtZW50cyBBc3luY0l0ZXJhYmxlPFQ+IHtcbiAgcHJpdmF0ZSBjb252ZXJ0b3I6IENvbnZlcnRvcjxUPlxuICBwcml2YXRlIHF1ZXVlOiAoVCB8IHVuZGVmaW5lZClbXSA9IFtdXG4gIHByaXZhdGUgcmVzb2x2ZU5leHQ6ICgodmFsdWU6IHVuZGVmaW5lZCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKGNvbnZlcnRvcjogQ29udmVydG9yPFQ+KSB7XG4gICAgdGhpcy5jb252ZXJ0b3IgPSBjb252ZXJ0b3JcbiAgfVxuXG4gIHB1c2goYnVmZmVyOiBVaW50OEFycmF5KSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuY29udmVydG9yLmZyb20oYnVmZmVyKVxuICAgIHRoaXMucXVldWUucHVzaChpdGVtKVxuICAgIGlmICh0aGlzLnJlc29sdmVOZXh0KSB7XG4gICAgICB0aGlzLnJlc29sdmVOZXh0KHVuZGVmaW5lZClcbiAgICAgIHRoaXMucmVzb2x2ZU5leHQgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5xdWV1ZS5wdXNoKHVuZGVmaW5lZClcbiAgICBpZiAodGhpcy5yZXNvbHZlTmV4dCkge1xuICAgICAgdGhpcy5yZXNvbHZlTmV4dCh1bmRlZmluZWQpXG4gICAgICB0aGlzLnJlc29sdmVOZXh0ID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHB1c2hTdHJlYW0oY2h1bmtzOiBDbGllbnRSZWFkYWJsZVN0cmVhbTxEYXRhQ2h1bms+KSB7XG4gICAgY29uc3Qgc3RyZWFtID0gKGFzeW5jIGZ1bmN0aW9uKihzdHJlYW0pIHtcbiAgICAgIGZvciBhd2FpdCAoY29uc3QgYyBvZiBzdHJlYW0pIHtcbiAgICAgICAgY29uc3QgY2h1bms6IERhdGFDaHVuayA9IGNcbiAgICAgICAgeWllbGQgY2h1bmsuZGF0YVxuICAgICAgfVxuICAgIH0pKGNodW5rcylcbiAgICBjb25zdCBpdGVtID0gYXdhaXQgdGhpcy5jb252ZXJ0b3IuZnJvbVN0cmVhbShzdHJlYW0pXG4gICAgdGhpcy5xdWV1ZS5wdXNoKGl0ZW0pXG4gICAgaWYgKHRoaXMucmVzb2x2ZU5leHQpIHtcbiAgICAgIHRoaXMucmVzb2x2ZU5leHQodW5kZWZpbmVkKVxuICAgICAgdGhpcy5yZXNvbHZlTmV4dCA9IG51bGxcbiAgICB9XG4gIH1cblxuICBhc3luYyAqW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpIHtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKHRoaXMucXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5xdWV1ZS5zaGlmdCgpIVxuICAgICAgICBpZiAoaXRlbSA9PT0gdW5kZWZpbmVkKSBicmVha1xuICAgICAgICB5aWVsZCBpdGVtXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx1bmRlZmluZWQ+KFxuICAgICAgICAgIChyZXNvbHZlKSA9PiAodGhpcy5yZXNvbHZlTmV4dCA9IHJlc29sdmUpLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWFkZXJJbnN0YW5jZSBpbXBsZW1lbnRzIFJlYWRlciB7XG4gIHByaXZhdGUgY2xpZW50OiBSdW5uZXJDbGllbnRcbiAgcmVhZG9ubHkgdXJpOiBzdHJpbmdcbiAgcHJpdmF0ZSBsb2dnZXI6IHdpbnN0b24uTG9nZ2VyXG5cbiAgcHJpdmF0ZSBpdGVyYXRvcnM6IE15SXRlcjx1bmtub3duPltdID0gW11cblxuICBjb25zdHJ1Y3Rvcih1cmk6IHN0cmluZywgY2xpZW50OiBSdW5uZXJDbGllbnQsIGxvZ2dlcjogd2luc3Rvbi5Mb2dnZXIpIHtcbiAgICB0aGlzLnVyaSA9IHVyaVxuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXJcbiAgfVxuXG4gIGFueXMoKTogQXN5bmNJdGVyYWJsZTxBbnk+IHtcbiAgICBjb25zdCBpdGVyID0gbmV3IE15SXRlcihBbnlDb252ZXJ0b3IpXG4gICAgdGhpcy5pdGVyYXRvcnMucHVzaChpdGVyKVxuICAgIHJldHVybiBpdGVyXG4gIH1cblxuICBzdHJpbmdzKCk6IEFzeW5jSXRlcmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgaXRlciA9IG5ldyBNeUl0ZXIoU3RyaW5nQ29udmVydG9yKVxuICAgIHRoaXMuaXRlcmF0b3JzLnB1c2goaXRlcilcbiAgICByZXR1cm4gaXRlclxuICB9XG5cbiAgYnVmZmVycygpOiBBc3luY0l0ZXJhYmxlPFVpbnQ4QXJyYXk+IHtcbiAgICBjb25zdCBpdGVyID0gbmV3IE15SXRlcihOb0NvbnZlcnRvcilcbiAgICB0aGlzLml0ZXJhdG9ycy5wdXNoKGl0ZXIpXG4gICAgcmV0dXJuIGl0ZXJcbiAgfVxuXG4gIHN0cmVhbXMoKTogQXN5bmNJdGVyYWJsZTxBc3luY0dlbmVyYXRvcjxVaW50OEFycmF5Pj4ge1xuICAgIGNvbnN0IGl0ZXIgPSBuZXcgTXlJdGVyKFN0cmVhbUNvbnZlcnRvcilcbiAgICB0aGlzLml0ZXJhdG9ycy5wdXNoKGl0ZXIpXG4gICAgcmV0dXJuIGl0ZXJcbiAgfVxuXG4gIGhhbmRsZU1zZyhtc2c6IE1lc3NhZ2UpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgJHt0aGlzLnVyaX0gaGFuZGxpbmcgbWVzc2FnZWApXG4gICAgY29uc29sZS5sb2coYCR7dGhpcy51cml9IGhhbmRsaW5nIG1lc3NhZ2VgKVxuICAgIGZvciAoY29uc3QgaXRlciBvZiB0aGlzLml0ZXJhdG9ycykge1xuICAgICAgaXRlci5wdXNoKG1zZy5kYXRhKVxuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGZvciAoY29uc3QgaXRlciBvZiB0aGlzLml0ZXJhdG9ycykge1xuICAgICAgaXRlci5jbG9zZSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU3RyZWFtaW5nTWVzc2FnZShtc2c6IFN0cmVhbU1lc3NhZ2UpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgJHt0aGlzLnVyaX0gaGFuZGxpbmcgc3RyZWFtaW5nIG1lc3NhZ2VgKVxuICAgIGNvbnN0IGNodW5rcyA9IHRoaXMuY2xpZW50LnJlY2VpdmVTdHJlYW1NZXNzYWdlKG1zZy5pZCEpXG4gICAgZm9yIChjb25zdCBpdGVyIG9mIHRoaXMuaXRlcmF0b3JzKSB7XG4gICAgICBpdGVyLnB1c2hTdHJlYW0oY2h1bmtzKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from "@rdfc/proto";
2
- export { ClientReadableStreamImpl, ClientReadableStream } from '@grpc/grpc-js/build/src/call.js';
1
+ export * from '@rdfc/proto';
2
+ export { ClientReadableStreamImpl, ClientReadableStream, } from '@grpc/grpc-js/build/src/call.js';
3
3
  export * as grpc from '@grpc/grpc-js';
package/lib/reexports.js CHANGED
@@ -1,4 +1,4 @@
1
- export * from "@rdfc/proto";
2
- export { ClientReadableStreamImpl } from '@grpc/grpc-js/build/src/call.js';
1
+ export * from '@rdfc/proto';
2
+ export { ClientReadableStreamImpl, } from '@grpc/grpc-js/build/src/call.js';
3
3
  export * as grpc from '@grpc/grpc-js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVleHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixPQUFPLEVBQUUsd0JBQXdCLEVBQXdCLE1BQU0saUNBQWlDLENBQUE7QUFDaEcsT0FBTyxLQUFLLElBQUksTUFBTSxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiQHJkZmMvcHJvdG9cIjtcbmV4cG9ydCB7IENsaWVudFJlYWRhYmxlU3RyZWFtSW1wbCwgQ2xpZW50UmVhZGFibGVTdHJlYW0gfSBmcm9tICdAZ3JwYy9ncnBjLWpzL2J1aWxkL3NyYy9jYWxsLmpzJ1xuZXhwb3J0ICogYXMgZ3JwYyBmcm9tICdAZ3JwYy9ncnBjLWpzJ1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVleHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQTtBQUMzQixPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0saUNBQWlDLENBQUE7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAcmRmYy9wcm90bydcbmV4cG9ydCB7XG4gIENsaWVudFJlYWRhYmxlU3RyZWFtSW1wbCxcbiAgQ2xpZW50UmVhZGFibGVTdHJlYW0sXG59IGZyb20gJ0BncnBjL2dycGMtanMvYnVpbGQvc3JjL2NhbGwuanMnXG5leHBvcnQgKiBhcyBncnBjIGZyb20gJ0BncnBjL2dycGMtanMnXG4iXX0=