@rdfc/js-runner 2.0.0-alpha.1 → 2.0.0-alpha.11
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 +9 -0
- package/__tests__/channels.test.ts +1 -38
- package/examples/echo/.idea/echo.iml +9 -0
- package/examples/echo/.idea/misc.xml +6 -0
- package/examples/echo/.idea/modules.xml +8 -0
- package/examples/echo/.idea/vcs.xml +7 -0
- package/examples/echo/.swls/config.json +1 -0
- package/examples/echo/index.ttl +3 -0
- package/examples/echo/minimal.ttl +90 -0
- package/examples/echo/pipeline.ttl +22 -4
- package/examples/echo/processors.ttl +5 -7
- package/examples/echo/shacl.ttl +9 -0
- package/examples/echo/shape.ttl +1339 -0
- package/examples/echo/src/processors.ts +3 -4
- package/examples/echo/test.ttl +9 -12
- package/file:/home/silvius/Projects/mumo-pipeline/ldes/http_3A_2F_2Fdata.mumo.be_2Fstreams_2Fnodes_2Fdefault/root/index.trig +3 -0
- package/index.ttl +29 -21
- package/ldes/http_3A_2F_2Fdata.mumo.be_2Fstreams_2Fnodes_2Fdefault/root/index.trig +3 -0
- package/lib/client.js +2 -2
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/lib/jsonld.js +4 -3
- package/lib/logger.d.ts +3 -1
- package/lib/logger.js +23 -1
- package/lib/reader.d.ts +2 -1
- package/lib/reader.js +7 -16
- package/lib/reexports.d.ts +3 -0
- package/lib/reexports.js +4 -0
- package/lib/runner.d.ts +4 -3
- package/lib/runner.js +30 -20
- package/lib/testUtils.d.ts +24 -0
- package/lib/testUtils.js +150 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/writer.d.ts +2 -1
- package/lib/writer.js +1 -1
- package/minimal.ttl +99 -0
- package/package.json +3 -3
- package/src/client.ts +15 -15
- package/src/index.ts +4 -0
- package/src/jsonld.ts +5 -2
- package/src/logger.ts +27 -1
- package/src/reader.ts +9 -15
- package/src/reexports.ts +6 -0
- package/src/runner.ts +51 -40
- package/src/testUtils.ts +196 -0
- package/src/writer.ts +2 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { 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> {
|
|
@@ -38,17 +38,16 @@ type LogArgs = {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export class LogProcessor extends Processor<LogArgs> {
|
|
41
|
+
async produce(this: LogArgs & LogProcessor): Promise<void> {}
|
|
41
42
|
async init(): Promise<void> {
|
|
42
43
|
this.logger.info('Init log processor')
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
async transform(this:
|
|
46
|
+
async transform(this: FullProc<this>): Promise<void> {
|
|
46
47
|
for await (const msg of this.args.reader.strings()) {
|
|
47
48
|
this.logger.info('Got msg' + msg)
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
|
|
51
|
-
async produce() {}
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
type SendArgs = {
|
package/examples/echo/test.ttl
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
@prefix
|
|
2
|
-
@prefix
|
|
1
|
+
@prefix rdfc: <https://w3id.org/rdf-connect#>.
|
|
2
|
+
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
|
|
3
3
|
|
|
4
|
-
[]
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
sh:node [ sh:property [
|
|
11
|
-
sh:path sh:prop;
|
|
12
|
-
] ];
|
|
13
|
-
].
|
|
4
|
+
[ ] foaf:knows [
|
|
5
|
+
foaf:name "Arthur";
|
|
6
|
+
foaf:img <img>;
|
|
7
|
+
foaf:knows <me>;
|
|
8
|
+
];
|
|
9
|
+
foaf:name "Arthur".
|
|
14
10
|
|
|
11
|
+
<b> <c> <D>
|
package/index.ttl
CHANGED
|
@@ -6,48 +6,56 @@
|
|
|
6
6
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
|
7
7
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
|
|
8
8
|
@prefix sh: <http://www.w3.org/ns/shacl#>.
|
|
9
|
-
@prefix rdfc: <https://w3id.org/rdf-connect
|
|
9
|
+
@prefix rdfc: <https://w3id.org/rdf-connect#>.
|
|
10
10
|
|
|
11
|
+
# rdfc:LogProcessor a rdfc:JsProcessor;
|
|
12
|
+
# rdfs:label "Simple Log Processor";
|
|
13
|
+
# rdfs:comment "Logs incoming messages";
|
|
14
|
+
# rdfc:entrypoint <./>;
|
|
15
|
+
# rdfc:file <./lib/util_processors.js>;
|
|
16
|
+
# rdfc:class "LogProcessor".
|
|
17
|
+
# [ ] a sh:NodeShape; sh:targetClass rdfc:LogProcessor;
|
|
18
|
+
# sh:property [
|
|
19
|
+
# sh:path rdfc:reader;
|
|
20
|
+
# sh:name "reader";
|
|
21
|
+
# sh:minCount 1;
|
|
22
|
+
# sh:maxCount 1;
|
|
23
|
+
# sh:class rdfc:Reader;
|
|
24
|
+
# ].
|
|
11
25
|
# rdfc:JsRunner a rdfc:CommandRunner;
|
|
12
26
|
# rdfc:command "npx js-runner";
|
|
13
27
|
# rdfc:processor_definition <JsProcessorShape>.
|
|
14
28
|
#
|
|
15
29
|
rdfc:JsRunner a rdfc:CommandRunner;
|
|
16
30
|
rdfc:handles rdfc:JsProcessor;
|
|
31
|
+
rdfc:command "node node_modules/@rdfc/js-runner/bin/runner.js";
|
|
32
|
+
rdfc:processor_definition <JsProcessorShape>.
|
|
33
|
+
|
|
34
|
+
rdfc:NodeRunner a rdfc:Runner;
|
|
17
35
|
rdfc:handlesSubjectsOf rdfc:jsImplementationOf;
|
|
18
36
|
rdfc:command "npx js-runner";
|
|
19
37
|
rdfc:processor_definition <JsProcessorShape>.
|
|
20
38
|
|
|
39
|
+
# rdfc:NodeRunner a rdfc:JsRunner;
|
|
40
|
+
# rdfc:command "npx js-runner";
|
|
41
|
+
# rdfc:processor_definition <JsProcessorShape>.
|
|
42
|
+
rdfc:BunRunner a rdfc:CommandRunner;
|
|
43
|
+
rdfc:handlesSubjectsOf rdfc:jsImplementationOf;
|
|
44
|
+
rdfc:command "bunx js-runner";
|
|
45
|
+
rdfc:processor_definition <JsProcessorShape>.
|
|
46
|
+
|
|
21
47
|
sds:Activity rdfs:subClassOf prov:Activity.
|
|
22
48
|
rdfc:Processor rdfs:subClassOf sds:Activity.
|
|
23
49
|
sds:implementationOf rdfs:subPropertyOf rdfs:subClassOf.
|
|
24
50
|
rdfc:jsImplementationOf rdfs:subPropertyOf sds:implementationOf.
|
|
25
|
-
|
|
26
|
-
# rdfc:LogProcessor sds:jsImplementationOf rdfc:Processor;
|
|
27
|
-
# rdfs:label "Simple Log Processor";
|
|
28
|
-
# rdfs:comment "Logs incoming messages";
|
|
29
|
-
# rdfc:entrypoint <./>;
|
|
30
|
-
# rdfc:file <./lib/util_processors.js>;
|
|
31
|
-
# rdfc:class "LogProcessor".
|
|
32
|
-
#
|
|
33
|
-
# [ ] a sh:NodeShape;
|
|
34
|
-
# sh:targetClass rdfc:LogProcessor;
|
|
35
|
-
# sh:property [
|
|
36
|
-
# sh:path rdfc:reader;
|
|
37
|
-
# sh:name "reader";
|
|
38
|
-
# sh:minCount 1;
|
|
39
|
-
# sh:maxCount 1;
|
|
40
|
-
# sh:class rdfc:Reader;
|
|
41
|
-
# ].
|
|
42
|
-
|
|
43
51
|
[ ] a sh:NodeShape;
|
|
44
|
-
sh:
|
|
52
|
+
sh:targetSubjectsOf rdfc:jsImplementationOf;
|
|
45
53
|
sh:property [
|
|
46
54
|
sh:path rdfc:entrypoint;
|
|
47
55
|
sh:name "location";
|
|
48
56
|
sh:minCount 1;
|
|
49
57
|
sh:maxCount 1;
|
|
50
|
-
sh:datatype xsd:
|
|
58
|
+
sh:datatype xsd:string;
|
|
51
59
|
], [
|
|
52
60
|
sh:path rdfc:file;
|
|
53
61
|
sh:name "file";
|
package/lib/client.js
CHANGED
|
@@ -38,6 +38,6 @@ export async function start(addr, uri) {
|
|
|
38
38
|
logger.info('All processors are finished');
|
|
39
39
|
stream.end();
|
|
40
40
|
client.close();
|
|
41
|
-
process.exit(0);
|
|
41
|
+
setTimeout(() => process.exit(0), 500);
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sYUFBYSxDQUFBO0FBQ3pELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQTtBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFakMsTUFBTSxDQUFDLEtBQUssVUFBVSxLQUFLLENBQUMsSUFBWSxFQUFFLEdBQVc7SUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtJQUV4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2xDLFVBQVUsRUFBRTtZQUNWLElBQUksWUFBWSxDQUFDO2dCQUNmLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNwQyxDQUFDO1NBQ0g7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUV4RCxNQUFNLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVyQyxJQUFJLGFBQXVDLENBQUE7SUFDM0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQ2hFO0lBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNaLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxHQUFrQixLQUFLLENBQUE7WUFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNyQyxDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUNwQyxDQUFDO1lBRUQsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDckMsQ0FBQztRQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDOUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUVOLE1BQU0sZUFBZSxDQUFBO0lBRXJCLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQUMxQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDWixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ3JwYyBmcm9tICdAZ3JwYy9ncnBjLWpzJ1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCdcbmltcG9ydCB7IFJ1bm5lckNsaWVudCwgUnVubmVyTWVzc2FnZSB9IGZyb20gJ0ByZGZjL3Byb3RvJ1xuaW1wb3J0IHdpbnN0b24gZnJvbSAnd2luc3RvbidcbmltcG9ydCB7IFJwY1RyYW5zcG9ydCB9IGZyb20gJy4vbG9nZ2VyJ1xuaW1wb3J0IHsgUnVubmVyIH0gZnJvbSAnLi9ydW5uZXInXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdGFydChhZGRyOiBzdHJpbmcsIHVyaTogc3RyaW5nKSB7XG4gIGNvbnN0IGNsaWVudCA9IG5ldyBSdW5uZXJDbGllbnQoYWRkciwgZ3JwYy5jcmVkZW50aWFscy5jcmVhdGVJbnNlY3VyZSgpKVxuXG4gIGNvbnN0IGxvZ2dlciA9IHdpbnN0b24uY3JlYXRlTG9nZ2VyKHtcbiAgICB0cmFuc3BvcnRzOiBbXG4gICAgICBuZXcgUnBjVHJhbnNwb3J0KHtcbiAgICAgICAgZW50aXRpZXM6IFt1cmksICdjbGknXSxcbiAgICAgICAgc3RyZWFtOiBjbGllbnQubG9nU3RyZWFtKCgpID0+IHsgfSksXG4gICAgICB9KSxcbiAgICBdLFxuICB9KVxuXG4gIGNvbnN0IHN0cmVhbSA9IGNsaWVudC5jb25uZWN0KClcblxuICBsb2dnZXIuaW5mbygnQ29ubmVjdGVkIHdpdGggc2VydmVyICcgKyBhZGRyKVxuICBjb25zdCB3cml0YWJsZSA9IHByb21pc2lmeShzdHJlYW0ud3JpdGUuYmluZChzdHJlYW0pKVxuICBjb25zdCBydW5uZXIgPSBuZXcgUnVubmVyKGNsaWVudCwgd3JpdGFibGUsIHVyaSwgbG9nZ2VyKVxuXG4gIGF3YWl0IHdyaXRhYmxlKHsgaWRlbnRpZnk6IHsgdXJpIH0gfSlcblxuICBsZXQgcHJvY2Vzc29yc0VuZCE6ICh2OiB1bmtub3duKSA9PiB1bmtub3duXG4gIGNvbnN0IHByb2Nlc3NvcnNFbmRlZCA9IG5ldyBQcm9taXNlKChyZXMpID0+IChwcm9jZXNzb3JzRW5kID0gcmVzKSlcbiAgICA7IChhc3luYyAoKSA9PiB7XG4gICAgICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIHN0cmVhbSkge1xuICAgICAgICBjb25zdCBtc2c6IFJ1bm5lck1lc3NhZ2UgPSBjaHVua1xuICAgICAgICBpZiAobXNnLnByb2MpIHtcbiAgICAgICAgICBhd2FpdCBydW5uZXIuYWRkUHJvY2Vzc29yKG1zZy5wcm9jKVxuICAgICAgICB9XG4gICAgICAgIGlmIChtc2cuc3RhcnQpIHtcbiAgICAgICAgICBydW5uZXIuc3RhcnQoKS50aGVuKHByb2Nlc3NvcnNFbmQpXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBydW5uZXIuaGFuZGxlT3JjaE1lc3NhZ2UobXNnKVxuICAgICAgfVxuXG4gICAgICBsb2dnZXIuZXJyb3IoJ1N0cmVhbSBlbmRlZCcpXG4gICAgfSkoKVxuXG4gIGF3YWl0IHByb2Nlc3NvcnNFbmRlZFxuXG4gIGxvZ2dlci5pbmZvKCdBbGwgcHJvY2Vzc29ycyBhcmUgZmluaXNoZWQnKVxuICBzdHJlYW0uZW5kKClcbiAgY2xpZW50LmNsb3NlKClcbiAgc2V0VGltZW91dCgoKSA9PiBwcm9jZXNzLmV4aXQoMCksIDUwMClcbn1cbiJdfQ==
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -2,4 +2,7 @@ export * from './client.js';
|
|
|
2
2
|
export * from './writer.js';
|
|
3
3
|
export * from './reader.js';
|
|
4
4
|
export * from './processor.js';
|
|
5
|
-
|
|
5
|
+
export * from './runner.js';
|
|
6
|
+
export * from './logger.js';
|
|
7
|
+
export * as reexports from './reexports.js';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFFeEIsT0FBTyxLQUFLLFNBQVMsTUFBTSxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaWVudCdcbmV4cG9ydCAqIGZyb20gJy4vd3JpdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9yZWFkZXInXG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vcnVubmVyJ1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXInXG5cbmV4cG9ydCAqIGFzIHJlZXhwb3J0cyBmcm9tICcuL3JlZXhwb3J0cydcbiJdfQ==
|
package/lib/jsonld.js
CHANGED
|
@@ -5,7 +5,7 @@ import { JsonLdParser } from 'jsonld-streaming-parser';
|
|
|
5
5
|
import { pred, ShaclPath } from 'rdf-lens';
|
|
6
6
|
import { NamedNode } from 'n3';
|
|
7
7
|
const RDFL = createUriAndTermNamespace('https://w3id.org/rdf-lens/ontology#', 'CBD', 'Path', 'PathLens', 'Context', 'TypedExtract', 'EnvVariable', 'envKey', 'envDefault', 'datatype');
|
|
8
|
-
const RDFC = createNamespace('https://w3id.org/rdf-connect
|
|
8
|
+
const RDFC = createNamespace('https://w3id.org/rdf-connect#', (x) => x, 'Reader', 'Writer');
|
|
9
9
|
function as_string_array(obj) {
|
|
10
10
|
const out = Array.isArray(obj) ? obj : [obj];
|
|
11
11
|
return out.filter((x) => typeof x === 'string');
|
|
@@ -116,7 +116,8 @@ function expandArgs(args, cont, logger) {
|
|
|
116
116
|
try {
|
|
117
117
|
x = JSON.stringify(v);
|
|
118
118
|
}
|
|
119
|
-
catch (
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbmxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2pzb25sZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQTtBQVM5QixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FDcEMscUNBQXFDLEVBQ3JDLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEVBQ2QsYUFBYSxFQUNiLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxDQUNYLENBQUE7QUFHRCxNQUFNLElBQUksR0FBRyxlQUFlLENBQzFCLHdDQUF3QyxFQUN4QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLFFBQVEsRUFDUixRQUFRLENBQ1QsQ0FBQTtBQUVELFNBQVMsZUFBZSxDQUFDLEdBQVk7SUFDbkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUE7QUFDakQsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWM7SUFDaEMsTUFBTSxLQUFLLEdBQVcsRUFBRSxDQUFB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RUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBRTdFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUUzQixVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUM3QixPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmNoZXN0cmF0b3JNZXNzYWdlLCBSdW5uZXJDbGllbnQgfSBmcm9tICdAcmRmYy9wcm90bydcbmltcG9ydCB7IGNyZWF0ZU5hbWVzcGFjZSwgY3JlYXRlVXJpQW5kVGVybU5hbWVzcGFjZSB9IGZyb20gJ0B0cmVlY2cvdHlwZXMnXG5pbXBvcnQgeyBSZWFkZXJJbnN0YW5jZSB9IGZyb20gJy4vcmVhZGVyJ1xuaW1wb3J0IHsgV3JpdGVySW5zdGFuY2UgfSBmcm9tICcuL3dyaXRlcidcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ3dpbnN0b24nXG5pbXBvcnQgeyBKc29uTGRQYXJzZXIgfSBmcm9tICdqc29ubGQtc3RyZWFtaW5nLXBhcnNlcidcbmltcG9ydCB7IHByZWQsIFNoYWNsUGF0aCB9IGZyb20gJ3JkZi1sZW5zJ1xuaW1wb3J0IHsgUXVhZCwgVGVybSB9IGZyb20gJ0ByZGZqcy90eXBlcydcbmltcG9ydCB7IE5hbWVkTm9kZSB9IGZyb20gJ24zJ1xuXG5leHBvcnQgdHlwZSBSdW5uZXJJdGVtcyA9IHtcbiAgcmVhZGVyczogeyBbdXJpOiBzdHJpbmddOiBSZWFkZXJJbnN0YW5jZVtdIH1cbiAgd3JpdGVyczogeyBbdXJpOiBzdHJpbmddOiBXcml0ZXJJbnN0YW5jZVtdIH1cbiAgY2xpZW50OiBSdW5uZXJDbGllbnRcbiAgd3JpdGU6IFdyaXRhYmxlXG59XG5cbmNvbnN0IFJERkwgPSBjcmVhdGVVcmlBbmRUZXJtTmFtZXNwYWNlKFxuICAnaHR0cHM6Ly93M2lkLm9yZy9yZGYtbGVucy9vbnRvbG9neSMnLFxuICAnQ0JEJyxcbiAgJ1BhdGgnLFxuICAnUGF0aExlbnMnLFxuICAnQ29udGV4dCcsXG4gICdUeXBlZEV4dHJhY3QnLFxuICAnRW52VmFyaWFibGUnLFxuICAnZW52S2V5JyxcbiAgJ2VudkRlZmF1bHQnLFxuICAnZGF0YXR5cGUnLFxuKVxuXG50eXBlIFdyaXRhYmxlID0gKG1zZzogT3JjaGVzdHJhdG9yTWVzc2FnZSkgPT4gUHJvbWlzZTx1bmtub3duPlxuY29uc3QgUkRGQyA9IGNyZWF0ZU5hbWVzcGFjZShcbiAgJ2h0dHBzOi8vdzNpZC5vcmcvcmRmLWNvbm5lY3Qvb250b2xvZ3kjJyxcbiAgKHgpID0+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/logger.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import winston from 'winston';
|
|
1
|
+
import winston, { Logger } from 'winston';
|
|
2
2
|
import Transport from 'winston-transport';
|
|
3
3
|
import * as grpc from '@grpc/grpc-js';
|
|
4
4
|
import { LogMessage } from '@rdfc/proto';
|
|
@@ -12,4 +12,6 @@ export declare class RpcTransport extends Transport {
|
|
|
12
12
|
aliases?: string[];
|
|
13
13
|
});
|
|
14
14
|
log(info: winston.LogEntry, callback: () => void): void;
|
|
15
|
+
withEntity(entity: string): RpcTransport;
|
|
15
16
|
}
|
|
17
|
+
export declare function extendLogger(baseLogger: Logger, newEntity: string): Logger;
|
package/lib/logger.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import winston from 'winston';
|
|
1
2
|
import Transport from 'winston-transport';
|
|
2
3
|
export class RpcTransport extends Transport {
|
|
3
4
|
stream;
|
|
@@ -23,5 +24,26 @@ export class RpcTransport extends Transport {
|
|
|
23
24
|
callback();
|
|
24
25
|
}
|
|
25
26
|
}
|
|
27
|
+
withEntity(entity) {
|
|
28
|
+
return new RpcTransport({
|
|
29
|
+
stream: this.stream,
|
|
30
|
+
entities: [...this.entities, entity],
|
|
31
|
+
aliases: this.aliases,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function extendLogger(baseLogger, newEntity) {
|
|
36
|
+
const newTransports = baseLogger.transports.map((t) => {
|
|
37
|
+
if (t instanceof RpcTransport) {
|
|
38
|
+
return t.withEntity(newEntity);
|
|
39
|
+
}
|
|
40
|
+
return t;
|
|
41
|
+
});
|
|
42
|
+
return winston.createLogger({
|
|
43
|
+
level: baseLogger.level,
|
|
44
|
+
format: baseLogger.format,
|
|
45
|
+
defaultMeta: baseLogger.defaultMeta,
|
|
46
|
+
transports: newTransports,
|
|
47
|
+
});
|
|
26
48
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQW1CLE1BQU0sU0FBUyxDQUFBO0FBQ3pDLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFBO0FBS3pDLE1BQU0sT0FBTyxZQUFhLFNBQVEsU0FBUztJQUN4QixNQUFNLENBQXVDO0lBQzdDLFFBQVEsQ0FBVTtJQUNsQixPQUFPLENBQVU7SUFFbEMsWUFBWSxJQUlYO1FBQ0MsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFFekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBc0IsRUFBRSxRQUFvQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZjtnQkFDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDdEIsRUFDRCxRQUFRLENBQ1QsQ0FBQTtRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1lBQ25DLFFBQVEsRUFBRSxDQUFBO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsTUFBYztRQUN2QixPQUFPLElBQUksWUFBWSxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO1lBQ3BDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLFVBQWtCLEVBQUUsU0FBaUI7SUFDaEUsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNwRCxJQUFJLENBQUMsWUFBWSxZQUFZLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDaEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDMUIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1FBQ3ZCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtRQUN6QixXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVc7UUFDbkMsVUFBVSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB3aW5zdG9uLCB7IExvZ2dlciB9IGZyb20gJ3dpbnN0b24nXG5pbXBvcnQgVHJhbnNwb3J0IGZyb20gJ3dpbnN0b24tdHJhbnNwb3J0J1xuXG5pbXBvcnQgKiBhcyBncnBjIGZyb20gJ0BncnBjL2dycGMtanMnXG5pbXBvcnQgeyBMb2dNZXNzYWdlIH0gZnJvbSAnQHJkZmMvcHJvdG8nXG5cbmV4cG9ydCBjbGFzcyBScGNUcmFuc3BvcnQgZXh0ZW5kcyBUcmFuc3BvcnQge1xuICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbTogZ3JwYy5DbGllbnRXcml0YWJsZVN0cmVhbTxMb2dNZXNzYWdlPlxuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0aWVzOiBzdHJpbmdbXVxuICBwcml2YXRlIHJlYWRvbmx5IGFsaWFzZXM6IHN0cmluZ1tdXG5cbiAgY29uc3RydWN0b3Iob3B0czoge1xuICAgIHN0cmVhbTogZ3JwYy5DbGllbnRXcml0YWJsZVN0cmVhbTxMb2dNZXNzYWdlPlxuICAgIGVudGl0aWVzOiBzdHJpbmdbXVxuICAgIGFsaWFzZXM/OiBzdHJpbmdbXVxuICB9KSB7XG4gICAgc3VwZXIoeyBsZXZlbDogJ2RlYnVnJyB9KVxuXG4gICAgdGhpcy5zdHJlYW0gPSBvcHRzLnN0cmVhbVxuICAgIHRoaXMuZW50aXRpZXMgPSBvcHRzLmVudGl0aWVzXG4gICAgdGhpcy5hbGlhc2VzID0gb3B0cy5hbGlhc2VzIHx8IFtdXG4gIH1cblxuICBsb2coaW5mbzogd2luc3Rvbi5Mb2dFbnRyeSwgY2FsbGJhY2s6ICgpID0+IHZvaWQpIHtcbiAgICBpZiAoIXRoaXMuc3RyZWFtLmNsb3NlZCkge1xuICAgICAgdGhpcy5zdHJlYW0ud3JpdGUoXG4gICAgICAgIHtcbiAgICAgICAgICBtc2c6IGluZm8ubWVzc2FnZSxcbiAgICAgICAgICBsZXZlbDogaW5mby5sZXZlbCxcbiAgICAgICAgICBlbnRpdGllczogdGhpcy5lbnRpdGllcyxcbiAgICAgICAgICBhbGlhc2VzOiB0aGlzLmFsaWFzZXMsXG4gICAgICAgIH0sXG4gICAgICAgIGNhbGxiYWNrLFxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnT3V0cHV0IHN0cmVhbSBjbG9zZWQnKVxuICAgICAgY2FsbGJhY2soKVxuICAgIH1cbiAgfVxuXG4gIHdpdGhFbnRpdHkoZW50aXR5OiBzdHJpbmcpOiBScGNUcmFuc3BvcnQge1xuICAgIHJldHVybiBuZXcgUnBjVHJhbnNwb3J0KHtcbiAgICAgIHN0cmVhbTogdGhpcy5zdHJlYW0sXG4gICAgICBlbnRpdGllczogWy4uLnRoaXMuZW50aXRpZXMsIGVudGl0eV0sXG4gICAgICBhbGlhc2VzOiB0aGlzLmFsaWFzZXMsXG4gICAgfSlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5kTG9nZ2VyKGJhc2VMb2dnZXI6IExvZ2dlciwgbmV3RW50aXR5OiBzdHJpbmcpOiBMb2dnZXIge1xuICBjb25zdCBuZXdUcmFuc3BvcnRzID0gYmFzZUxvZ2dlci50cmFuc3BvcnRzLm1hcCgodCkgPT4ge1xuICAgIGlmICh0IGluc3RhbmNlb2YgUnBjVHJhbnNwb3J0KSB7XG4gICAgICByZXR1cm4gdC53aXRoRW50aXR5KG5ld0VudGl0eSlcbiAgICB9XG4gICAgcmV0dXJuIHRcbiAgfSlcblxuICByZXR1cm4gd2luc3Rvbi5jcmVhdGVMb2dnZXIoe1xuICAgIGxldmVsOiBiYXNlTG9nZ2VyLmxldmVsLFxuICAgIGZvcm1hdDogYmFzZUxvZ2dlci5mb3JtYXQsXG4gICAgZGVmYXVsdE1ldGE6IGJhc2VMb2dnZXIuZGVmYXVsdE1ldGEsXG4gICAgdHJhbnNwb3J0czogbmV3VHJhbnNwb3J0cyxcbiAgfSlcbn1cbiJdfQ==
|
package/lib/reader.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export type Any = {
|
|
|
8
8
|
buffer: Uint8Array;
|
|
9
9
|
};
|
|
10
10
|
export interface Reader {
|
|
11
|
+
readonly uri: string;
|
|
11
12
|
strings(): AsyncIterable<string>;
|
|
12
13
|
streams(): AsyncIterable<AsyncGenerator<Uint8Array>>;
|
|
13
14
|
buffers(): AsyncIterable<Uint8Array>;
|
|
@@ -15,7 +16,7 @@ export interface Reader {
|
|
|
15
16
|
}
|
|
16
17
|
export declare class ReaderInstance implements Reader {
|
|
17
18
|
private client;
|
|
18
|
-
|
|
19
|
+
readonly uri: string;
|
|
19
20
|
private logger;
|
|
20
21
|
private iterators;
|
|
21
22
|
constructor(uri: string, client: RunnerClient, logger: winston.Logger);
|
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(
|
|
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(
|
|
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
|
-
|
|
54
|
-
if (item === undefined)
|
|
55
|
-
break;
|
|
56
|
-
yield item;
|
|
47
|
+
await new Promise((resolve) => (this.resolveNext = resolve));
|
|
57
48
|
}
|
|
58
49
|
}
|
|
59
50
|
}
|
|
@@ -107,4 +98,4 @@ export class ReaderInstance {
|
|
|
107
98
|
}
|
|
108
99
|
}
|
|
109
100
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0wsWUFBWSxFQUVaLFdBQVcsRUFDWCxlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLGFBQWEsQ0FBQTtBQXFCcEIsTUFBTSxNQUFNO0lBQ0YsU0FBUyxDQUFjO0lBQ3ZCLEtBQUssR0FBc0IsRUFBRSxDQUFBO0lBQzdCLFdBQVcsR0FBd0MsSUFBSSxDQUFBO0lBRS9ELFlBQVksU0FBdUI7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFrQjtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzFCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQXVDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRSxNQUFNO1lBQ3JDLElBQUksS0FBSyxFQUFFLE1BQU0sQ0FB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ckIsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxHQUFrQjtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLDZCQUE2QixDQUFDLENBQUE7UUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLENBQUE7UUFDeEQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50UmVhZGFibGVTdHJlYW0gfSBmcm9tICdAZ3JwYy9ncnBjLWpzJ1xuaW1wb3J0IHsgRGF0YUNodW5rLCBNZXNzYWdlLCBSdW5uZXJDbGllbnQsIFN0cmVhbU1lc3NhZ2UgfSBmcm9tICdAcmRmYy9wcm90bydcbmltcG9ydCB3aW5zdG9uIGZyb20gJ3dpbnN0b24nXG5pbXBvcnQge1xuICBBbnlDb252ZXJ0b3IsXG4gIENvbnZlcnRvcixcbiAgTm9Db252ZXJ0b3IsXG4gIFN0cmVhbUNvbnZlcnRvcixcbiAgU3RyaW5nQ29udmVydG9yLFxufSBmcm9tICcuL2NvbnZlcnRvcidcblxuZXhwb3J0IHR5cGUgQW55ID1cbiAgfCB7XG4gICAgICBzdHJpbmc6IHN0cmluZ1xuICAgIH1cbiAgfCB7XG4gICAgICBzdHJlYW06IEFzeW5jR2VuZXJhdG9yPFVpbnQ4QXJyYXk+XG4gICAgfVxuICB8IHtcbiAgICAgIGJ1ZmZlcjogVWludDhBcnJheVxuICAgIH1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXIge1xuICByZWFkb25seSB1cmk6IHN0cmluZ1xuICBzdHJpbmdzKCk6IEFzeW5jSXRlcmFibGU8c3RyaW5nPlxuICBzdHJlYW1zKCk6IEFzeW5jSXRlcmFibGU8QXN5bmNHZW5lcmF0b3I8VWludDhBcnJheT4+XG4gIGJ1ZmZlcnMoKTogQXN5bmNJdGVyYWJsZTxVaW50OEFycmF5PlxuICBhbnlzKCk6IEFzeW5jSXRlcmFibGU8QW55PlxufVxuXG5jbGFzcyBNeUl0ZXI8VD4gaW1wbGVtZW50cyBBc3luY0l0ZXJhYmxlPFQ+IHtcbiAgcHJpdmF0ZSBjb252ZXJ0b3I6IENvbnZlcnRvcjxUPlxuICBwcml2YXRlIHF1ZXVlOiAoVCB8IHVuZGVmaW5lZClbXSA9IFtdXG4gIHByaXZhdGUgcmVzb2x2ZU5leHQ6ICgodmFsdWU6IHVuZGVmaW5lZCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKGNvbnZlcnRvcjogQ29udmVydG9yPFQ+KSB7XG4gICAgdGhpcy5jb252ZXJ0b3IgPSBjb252ZXJ0b3JcbiAgfVxuXG4gIHB1c2goYnVmZmVyOiBVaW50OEFycmF5KSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuY29udmVydG9yLmZyb20oYnVmZmVyKVxuICAgIHRoaXMucXVldWUucHVzaChpdGVtKVxuICAgIGlmICh0aGlzLnJlc29sdmVOZXh0KSB7XG4gICAgICB0aGlzLnJlc29sdmVOZXh0KHVuZGVmaW5lZClcbiAgICAgIHRoaXMucmVzb2x2ZU5leHQgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5xdWV1ZS5wdXNoKHVuZGVmaW5lZClcbiAgICBpZiAodGhpcy5yZXNvbHZlTmV4dCkge1xuICAgICAgdGhpcy5yZXNvbHZlTmV4dCh1bmRlZmluZWQpXG4gICAgICB0aGlzLnJlc29sdmVOZXh0ID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHB1c2hTdHJlYW0oY2h1bmtzOiBDbGllbnRSZWFkYWJsZVN0cmVhbTxEYXRhQ2h1bms+KSB7XG4gICAgY29uc3Qgc3RyZWFtID0gKGFzeW5jIGZ1bmN0aW9uKiAoc3RyZWFtKSB7XG4gICAgICBmb3IgYXdhaXQgKGNvbnN0IGMgb2Ygc3RyZWFtKSB7XG4gICAgICAgIGNvbnN0IGNodW5rOiBEYXRhQ2h1bmsgPSBjXG4gICAgICAgIHlpZWxkIGNodW5rLmRhdGFcbiAgICAgIH1cbiAgICB9KShjaHVua3MpXG4gICAgY29uc3QgaXRlbSA9IGF3YWl0IHRoaXMuY29udmVydG9yLmZyb21TdHJlYW0oc3RyZWFtKVxuICAgIHRoaXMucXVldWUucHVzaChpdGVtKVxuICAgIGlmICh0aGlzLnJlc29sdmVOZXh0KSB7XG4gICAgICB0aGlzLnJlc29sdmVOZXh0KHVuZGVmaW5lZClcbiAgICAgIHRoaXMucmVzb2x2ZU5leHQgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgKltTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKSB7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICh0aGlzLnF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMucXVldWUuc2hpZnQoKSFcbiAgICAgICAgaWYgKGl0ZW0gPT09IHVuZGVmaW5lZCkgYnJlYWtcbiAgICAgICAgeWllbGQgaXRlbVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2U8dW5kZWZpbmVkPigocmVzb2x2ZSkgPT4gKHRoaXMucmVzb2x2ZU5leHQgPSByZXNvbHZlKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlYWRlckluc3RhbmNlIGltcGxlbWVudHMgUmVhZGVyIHtcbiAgcHJpdmF0ZSBjbGllbnQ6IFJ1bm5lckNsaWVudFxuICByZWFkb25seSB1cmk6IHN0cmluZ1xuICBwcml2YXRlIGxvZ2dlcjogd2luc3Rvbi5Mb2dnZXJcblxuICBwcml2YXRlIGl0ZXJhdG9yczogTXlJdGVyPHVua25vd24+W10gPSBbXVxuXG4gIGNvbnN0cnVjdG9yKHVyaTogc3RyaW5nLCBjbGllbnQ6IFJ1bm5lckNsaWVudCwgbG9nZ2VyOiB3aW5zdG9uLkxvZ2dlcikge1xuICAgIHRoaXMudXJpID0gdXJpXG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlclxuICB9XG5cbiAgYW55cygpOiBBc3luY0l0ZXJhYmxlPEFueT4ge1xuICAgIGNvbnN0IGl0ZXIgPSBuZXcgTXlJdGVyKEFueUNvbnZlcnRvcilcbiAgICB0aGlzLml0ZXJhdG9ycy5wdXNoKGl0ZXIpXG4gICAgcmV0dXJuIGl0ZXJcbiAgfVxuXG4gIHN0cmluZ3MoKTogQXN5bmNJdGVyYWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBpdGVyID0gbmV3IE15SXRlcihTdHJpbmdDb252ZXJ0b3IpXG4gICAgdGhpcy5pdGVyYXRvcnMucHVzaChpdGVyKVxuICAgIHJldHVybiBpdGVyXG4gIH1cblxuICBidWZmZXJzKCk6IEFzeW5jSXRlcmFibGU8VWludDhBcnJheT4ge1xuICAgIGNvbnN0IGl0ZXIgPSBuZXcgTXlJdGVyKE5vQ29udmVydG9yKVxuICAgIHRoaXMuaXRlcmF0b3JzLnB1c2goaXRlcilcbiAgICByZXR1cm4gaXRlclxuICB9XG5cbiAgc3RyZWFtcygpOiBBc3luY0l0ZXJhYmxlPEFzeW5jR2VuZXJhdG9yPFVpbnQ4QXJyYXk+PiB7XG4gICAgY29uc3QgaXRlciA9IG5ldyBNeUl0ZXIoU3RyZWFtQ29udmVydG9yKVxuICAgIHRoaXMuaXRlcmF0b3JzLnB1c2goaXRlcilcbiAgICByZXR1cm4gaXRlclxuICB9XG5cbiAgaGFuZGxlTXNnKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGAke3RoaXMudXJpfSBoYW5kbGluZyBtZXNzYWdlYClcbiAgICBmb3IgKGNvbnN0IGl0ZXIgb2YgdGhpcy5pdGVyYXRvcnMpIHtcbiAgICAgIGl0ZXIucHVzaChtc2cuZGF0YSlcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBmb3IgKGNvbnN0IGl0ZXIgb2YgdGhpcy5pdGVyYXRvcnMpIHtcbiAgICAgIGl0ZXIuY2xvc2UoKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVN0cmVhbWluZ01lc3NhZ2UobXNnOiBTdHJlYW1NZXNzYWdlKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYCR7dGhpcy51cml9IGhhbmRsaW5nIHN0cmVhbWluZyBtZXNzYWdlYClcbiAgICBjb25zdCBjaHVua3MgPSB0aGlzLmNsaWVudC5yZWNlaXZlU3RyZWFtTWVzc2FnZShtc2cuaWQhKVxuICAgIGZvciAoY29uc3QgaXRlciBvZiB0aGlzLml0ZXJhdG9ycykge1xuICAgICAgaXRlci5wdXNoU3RyZWFtKGNodW5rcylcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/lib/reexports.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from '@rdfc/proto';
|
|
2
|
+
export { ClientReadableStreamImpl, } from '@grpc/grpc-js/build/src/call.js';
|
|
3
|
+
export * as grpc from '@grpc/grpc-js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVleHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQTtBQUMzQixPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0saUNBQWlDLENBQUE7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAcmRmYy9wcm90bydcbmV4cG9ydCB7XG4gIENsaWVudFJlYWRhYmxlU3RyZWFtSW1wbCxcbiAgQ2xpZW50UmVhZGFibGVTdHJlYW0sXG59IGZyb20gJ0BncnBjL2dycGMtanMvYnVpbGQvc3JjL2NhbGwuanMnXG5leHBvcnQgKiBhcyBncnBjIGZyb20gJ0BncnBjL2dycGMtanMnXG4iXX0=
|
package/lib/runner.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { OrchestratorMessage, Processor, RunnerClient, RunnerMessage } from '@rdfc/proto';
|
|
2
2
|
import { Reader } from './reader.js';
|
|
3
3
|
import { Writer } from './writer.js';
|
|
4
|
+
import { Processor as Proc } from './processor.js';
|
|
4
5
|
import { Logger } from 'winston';
|
|
5
6
|
import { Term } from '@rdfjs/types';
|
|
6
|
-
type Writable = (msg: OrchestratorMessage) => Promise<unknown>;
|
|
7
|
+
export type Writable = (msg: OrchestratorMessage) => Promise<unknown>;
|
|
8
|
+
export type FullProc<C extends Proc<unknown>> = C extends Proc<infer T> ? T & C : unknown;
|
|
7
9
|
export declare class Runner {
|
|
8
10
|
private readonly readers;
|
|
9
11
|
private readonly writers;
|
|
@@ -16,10 +18,9 @@ export declare class Runner {
|
|
|
16
18
|
private readonly processors;
|
|
17
19
|
private readonly processorTransforms;
|
|
18
20
|
constructor(client: RunnerClient, write: Writable, uri: string, logger: Logger);
|
|
19
|
-
addProcessor(proc: Processor): Promise<
|
|
21
|
+
addProcessor<P extends Proc<unknown>>(proc: Processor): Promise<FullProc<P>>;
|
|
20
22
|
start(): Promise<void>;
|
|
21
23
|
createWriter(uri: Term): Writer;
|
|
22
24
|
createReader(uri: Term): Reader;
|
|
23
25
|
handleOrchMessage(msg: RunnerMessage): Promise<void>;
|
|
24
26
|
}
|
|
25
|
-
export {};
|