@comake/skl-js-engine 0.31.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import './util/safeJsonStringify';
1
2
  import type { GraphObject, NodeObject } from 'jsonld';
2
3
  import type { Frame } from 'jsonld/jsonld-spec';
3
4
  import type { SklEngineOptions } from './SklEngineOptions';
@@ -98,4 +99,5 @@ export declare class SKLEngine {
98
99
  private getJsonDataFromSource;
99
100
  private throwValidationReportError;
100
101
  private validationReportToMessages;
102
+ private ifVerbStreaming;
101
103
  }
package/dist/SklEngine.js CHANGED
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SKLEngine = void 0;
7
+ /* eslint-disable @typescript-eslint/naming-convention */
8
+ require("./util/safeJsonStringify");
7
9
  const openapi_operation_executor_1 = require("@comake/openapi-operation-executor");
8
10
  const rmlmapper_js_1 = require("@comake/rmlmapper-js");
9
11
  const axios_1 = __importDefault(require("axios"));
@@ -508,7 +510,7 @@ class SKLEngine {
508
510
  return await this.getDataFromDataSource((0, rmlmapper_js_1.getIdFromNodeObjectIfDefined)(operationInfo[Vocabularies_1.SKL.dataSource]), verbConfig);
509
511
  }
510
512
  if (operationInfo[Vocabularies_1.SKL.operationId]) {
511
- const response = await this.performOpenapiOperationWithCredentials((0, Util_1.getValueIfDefined)(operationInfo[Vocabularies_1.SKL.operationId]), operationArgs, account);
513
+ const response = await this.performOpenapiOperationWithCredentials((0, Util_1.getValueIfDefined)(operationInfo[Vocabularies_1.SKL.operationId]), operationArgs, account, verbConfig);
512
514
  return this.axiosResponseAndParamsToOperationResponse(response, operationArgs, originalArgs);
513
515
  }
514
516
  throw new Error('Operation not supported.');
@@ -631,7 +633,7 @@ class SKLEngine {
631
633
  }
632
634
  }
633
635
  }
634
- async performOpenapiOperationWithCredentials(operationId, operationArgs, account) {
636
+ async performOpenapiOperationWithCredentials(operationId, operationArgs, account, verbConfig) {
635
637
  const integrationId = account[Vocabularies_1.SKL.integration]['@id'];
636
638
  const openApiDescription = await this.getOpenApiDescriptionForIntegration(integrationId);
637
639
  const openApiExecutor = await this.createOpenApiOperationExecutorWithSpec(openApiDescription);
@@ -657,21 +659,27 @@ class SKLEngine {
657
659
  password: (0, Util_1.getValueIfDefined)(securityCredentials?.[Vocabularies_1.SKL.clientSecret]),
658
660
  };
659
661
  let response;
662
+ let executeOperationOptions;
660
663
  try {
661
664
  const additionalHeaders = this.getHeadersFromRuntimeCredentials(runtimeAuthorization);
662
- let executeOperationOptions;
663
665
  if (additionalHeaders &&
664
666
  typeof additionalHeaders === 'object' &&
665
667
  !Array.isArray(additionalHeaders) &&
666
668
  Object.keys(additionalHeaders).length > 0) {
667
669
  executeOperationOptions = { headers: additionalHeaders };
668
670
  }
671
+ if (this.ifVerbStreaming(verbConfig)) {
672
+ executeOperationOptions = {
673
+ ...executeOperationOptions,
674
+ responseType: 'stream',
675
+ };
676
+ }
669
677
  response = await openApiExecutor.executeOperation(operationId, configuration, operationArgs, executeOperationOptions);
670
678
  }
671
679
  catch (error) {
672
680
  if (axios_1.default.isAxiosError(error) && (await this.isInvalidTokenError(error, integrationId)) && securityCredentials) {
673
681
  const refreshedConfiguration = await this.refreshSecurityCredentials(securityCredentials, integrationId, account);
674
- response = await openApiExecutor.executeOperation(operationId, refreshedConfiguration, operationArgs);
682
+ response = await openApiExecutor.executeOperation(operationId, refreshedConfiguration, operationArgs, executeOperationOptions);
675
683
  }
676
684
  else {
677
685
  throw error;
@@ -886,6 +894,9 @@ class SKLEngine {
886
894
  }
887
895
  return reportMessages;
888
896
  }
897
+ ifVerbStreaming(verbConfig) {
898
+ return Boolean(verbConfig && 'stream' in verbConfig && verbConfig.stream);
899
+ }
889
900
  }
890
901
  exports.SKLEngine = SKLEngine;
891
902
  //# sourceMappingURL=SklEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ export declare type Bytes = string | ArrayBuffer | Uint8Array | Buffer | null | undefined;
3
+ /**
4
+ * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
5
+ * reading lines from text.
6
+ *
7
+ * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258
8
+ */
9
+ export declare class LineDecoder {
10
+ static NEWLINE_CHARS: Set<string>;
11
+ static NEWLINE_REGEXP: RegExp;
12
+ buffer: string[];
13
+ trailingCR: boolean;
14
+ textDecoder: any;
15
+ constructor();
16
+ decode(chunk: Bytes): string[];
17
+ decodeText(bytes: Bytes): string;
18
+ flush(): string[];
19
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LineDecoder = void 0;
4
+ /**
5
+ * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
6
+ * reading lines from text.
7
+ *
8
+ * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258
9
+ */
10
+ class LineDecoder {
11
+ constructor() {
12
+ this.buffer = [];
13
+ this.trailingCR = false;
14
+ }
15
+ decode(chunk) {
16
+ let text = this.decodeText(chunk);
17
+ if (this.trailingCR) {
18
+ text = '\r' + text;
19
+ this.trailingCR = false;
20
+ }
21
+ if (text.endsWith('\r')) {
22
+ this.trailingCR = true;
23
+ text = text.slice(0, -1);
24
+ }
25
+ if (!text) {
26
+ return [];
27
+ }
28
+ const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || '');
29
+ let lines = text.split(LineDecoder.NEWLINE_REGEXP);
30
+ // if there is a trailing new line then the last entry will be an empty
31
+ // string which we don't care about
32
+ if (trailingNewline) {
33
+ lines.pop();
34
+ }
35
+ if (lines.length === 1 && !trailingNewline) {
36
+ this.buffer.push(lines[0]);
37
+ return [];
38
+ }
39
+ if (this.buffer.length > 0) {
40
+ lines = [this.buffer.join('') + lines[0], ...lines.slice(1)];
41
+ this.buffer = [];
42
+ }
43
+ if (!trailingNewline) {
44
+ this.buffer = [lines.pop() || ''];
45
+ }
46
+ return lines;
47
+ }
48
+ decodeText(bytes) {
49
+ if (bytes == null)
50
+ return '';
51
+ if (typeof bytes === 'string')
52
+ return bytes;
53
+ // Node:
54
+ if (typeof Buffer !== 'undefined') {
55
+ if (bytes instanceof Buffer) {
56
+ return bytes.toString();
57
+ }
58
+ if (bytes instanceof Uint8Array) {
59
+ return Buffer.from(bytes).toString();
60
+ }
61
+ throw new Error(`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`);
62
+ }
63
+ // Browser
64
+ if (typeof TextDecoder !== 'undefined') {
65
+ if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) {
66
+ this.textDecoder ?? (this.textDecoder = new TextDecoder('utf8'));
67
+ return this.textDecoder.decode(bytes);
68
+ }
69
+ throw new Error(`Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`);
70
+ }
71
+ throw new Error(`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`);
72
+ }
73
+ flush() {
74
+ if (!this.buffer.length && !this.trailingCR) {
75
+ return [];
76
+ }
77
+ const lines = [this.buffer.join('')];
78
+ this.buffer = [];
79
+ this.trailingCR = false;
80
+ return lines;
81
+ }
82
+ }
83
+ exports.LineDecoder = LineDecoder;
84
+ // prettier-ignore
85
+ LineDecoder.NEWLINE_CHARS = new Set(['\n', '\r']);
86
+ LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g;
87
+ //# sourceMappingURL=LineDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineDecoder.js","sourceRoot":"","sources":["../../src/util/LineDecoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ServerSentEvent } from './Types';
2
+ export declare class SSEDecoder {
3
+ private data;
4
+ private event;
5
+ private chunks;
6
+ constructor();
7
+ decode(line: string): ServerSentEvent | null;
8
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SSEDecoder = void 0;
4
+ class SSEDecoder {
5
+ constructor() {
6
+ this.event = null;
7
+ this.data = [];
8
+ this.chunks = [];
9
+ }
10
+ decode(line) {
11
+ if (line.endsWith('\r')) {
12
+ line = line.substring(0, line.length - 1);
13
+ }
14
+ if (!line) {
15
+ // empty line and we didn't previously encounter any messages
16
+ if (!this.event && !this.data.length)
17
+ return null;
18
+ const sse = {
19
+ event: this.event,
20
+ data: this.data.join('\n'),
21
+ raw: this.chunks,
22
+ };
23
+ this.event = null;
24
+ this.data = [];
25
+ this.chunks = [];
26
+ return sse;
27
+ }
28
+ this.chunks.push(line);
29
+ if (line.startsWith(':')) {
30
+ return null;
31
+ }
32
+ let [fieldname, _, value] = partition(line, ':');
33
+ if (value.startsWith(' ')) {
34
+ value = value.substring(1);
35
+ }
36
+ if (fieldname === 'event') {
37
+ this.event = value;
38
+ }
39
+ else if (fieldname === 'data') {
40
+ this.data.push(value);
41
+ }
42
+ return null;
43
+ }
44
+ }
45
+ exports.SSEDecoder = SSEDecoder;
46
+ function partition(str, delimiter) {
47
+ const index = str.indexOf(delimiter);
48
+ if (index !== -1) {
49
+ return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)];
50
+ }
51
+ return [str, '', ''];
52
+ }
53
+ //# sourceMappingURL=SSEDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SSEDecoder.js","sourceRoot":"","sources":["../../src/util/SSEDecoder.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAKrB;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,IAAI,EAAE;YACT,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAElD,MAAM,GAAG,GAAoB;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,MAAM;aACjB,CAAC;YAEF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YAEjB,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,IAAI,SAAS,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AArDD,gCAqDC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,SAAiB;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KACtF;IAED,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC"}
@@ -167,6 +167,10 @@ export interface VerbConfig {
167
167
  * Merged with the global setting. The verb config taking prededence in the case of overlapping names.
168
168
  */
169
169
  readonly functions?: Record<string, (args: any | any[]) => any>;
170
+ /**
171
+ * When true, the operation will be streamed.
172
+ */
173
+ readonly stream?: boolean;
170
174
  }
171
175
  export interface Callbacks {
172
176
  /**
@@ -0,0 +1,6 @@
1
+ import { Bytes } from "./LineDecoder";
2
+ /**
3
+ * Given an async iterable iterator, iterates over it and yields full
4
+ * SSE chunks, i.e. yields when a double new-line is encountered.
5
+ */
6
+ export declare function iterSSEChunks(iterator: AsyncIterableIterator<Bytes>): AsyncGenerator<Uint8Array>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.iterSSEChunks = void 0;
4
+ /**
5
+ * Given an async iterable iterator, iterates over it and yields full
6
+ * SSE chunks, i.e. yields when a double new-line is encountered.
7
+ */
8
+ async function* iterSSEChunks(iterator) {
9
+ let data = new Uint8Array();
10
+ for await (const chunk of iterator) {
11
+ if (chunk == null) {
12
+ continue;
13
+ }
14
+ const binaryChunk = chunk instanceof ArrayBuffer
15
+ ? new Uint8Array(chunk)
16
+ : typeof chunk === 'string'
17
+ ? new TextEncoder().encode(chunk)
18
+ : chunk;
19
+ let newData = new Uint8Array(data.length + binaryChunk.length);
20
+ newData.set(data);
21
+ newData.set(binaryChunk, data.length);
22
+ data = newData;
23
+ let patternIndex;
24
+ while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) {
25
+ yield data.slice(0, patternIndex);
26
+ data = data.slice(patternIndex);
27
+ }
28
+ }
29
+ if (data.length > 0) {
30
+ yield data;
31
+ }
32
+ }
33
+ exports.iterSSEChunks = iterSSEChunks;
34
+ function findDoubleNewlineIndex(buffer) {
35
+ // This function searches the buffer for the end patterns (\r\r, \n\n, \r\n\r\n)
36
+ // and returns the index right after the first occurrence of any pattern,
37
+ // or -1 if none of the patterns are found.
38
+ const newline = 0x0a; // \n
39
+ const carriage = 0x0d; // \r
40
+ for (let i = 0; i < buffer.length - 2; i++) {
41
+ if (buffer[i] === newline && buffer[i + 1] === newline) {
42
+ // \n\n
43
+ return i + 2;
44
+ }
45
+ if (buffer[i] === carriage && buffer[i + 1] === carriage) {
46
+ // \r\r
47
+ return i + 2;
48
+ }
49
+ if (buffer[i] === carriage &&
50
+ buffer[i + 1] === newline &&
51
+ i + 3 < buffer.length &&
52
+ buffer[i + 2] === carriage &&
53
+ buffer[i + 3] === newline) {
54
+ // \r\n\r\n
55
+ return i + 4;
56
+ }
57
+ }
58
+ return -1;
59
+ }
60
+ //# sourceMappingURL=iterSSEChunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterSSEChunks.js","sourceRoot":"","sources":["../../src/util/iterSSEChunks.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACI,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,QAAsC;IACzE,IAAI,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE;QAClC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,SAAS;SACV;QAED,MAAM,WAAW,GACf,KAAK,YAAY,WAAW;YAC1B,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;YACvB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBAC3B,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;gBACjC,CAAC,CAAC,KAAK,CAAC;QAEZ,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,GAAG,OAAO,CAAC;QAEf,IAAI,YAAY,CAAC;QACjB,OAAO,CAAC,YAAY,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACjC;KACF;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAI,CAAC;KACZ;AACH,CAAC;AA9BD,sCA8BC;AAED,SAAS,sBAAsB,CAAC,MAAkB;IAChD,gFAAgF;IAChF,yEAAyE;IACzE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE;YACtD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;QACD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACxD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;QACD,IACE,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO;YACzB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM;YACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ;YAC1B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EACzB;YACA,WAAW;YACX,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;KACF;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const nativeJSONStringify: {
2
+ (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string;
3
+ (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string;
4
+ };
5
+ declare function stringifyCircular(obj: any): string;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // Preserve the native JSON.stringify
3
+ const nativeJSONStringify = JSON.stringify;
4
+ function stringifyCircular(obj) {
5
+ const seen = new WeakSet();
6
+ return nativeJSONStringify(obj, (key, value) => {
7
+ if (value !== null && typeof value === 'object') {
8
+ if (seen.has(value)) {
9
+ // Circular reference found, discard key
10
+ return;
11
+ }
12
+ seen.add(value);
13
+ }
14
+ return value;
15
+ });
16
+ }
17
+ global.JSON.stringify = stringifyCircular;
18
+ JSON.stringify = stringifyCircular;
19
+ //# sourceMappingURL=safeJsonStringify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeJsonStringify.js","sourceRoot":"","sources":["../../src/util/safeJsonStringify.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC;AAE3C,SAAS,iBAAiB,CAAC,GAAQ;IACjC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,mBAAmB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACnB,wCAAwC;gBACxC,OAAO;aACR;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACjB;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;AAC1C,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Most browsers don't yet have async iterable support for ReadableStream,
3
+ * and Node has a very different way of reading bytes from its "ReadableStream".
4
+ *
5
+ * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490
6
+ */
7
+ export declare function ReadableStreamToAsyncIterable<T>(stream: any): AsyncIterableIterator<T>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadableStreamToAsyncIterable = void 0;
4
+ /**
5
+ * Most browsers don't yet have async iterable support for ReadableStream,
6
+ * and Node has a very different way of reading bytes from its "ReadableStream".
7
+ *
8
+ * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490
9
+ */
10
+ function ReadableStreamToAsyncIterable(stream) {
11
+ if (stream[Symbol.asyncIterator])
12
+ return stream;
13
+ const reader = stream.getReader();
14
+ return {
15
+ async next() {
16
+ try {
17
+ const result = await reader.read();
18
+ if (result?.done)
19
+ reader.releaseLock(); // release lock when stream becomes closed
20
+ return result;
21
+ }
22
+ catch (e) {
23
+ reader.releaseLock(); // release lock when stream becomes errored
24
+ throw e;
25
+ }
26
+ },
27
+ async return() {
28
+ const cancelPromise = reader.cancel();
29
+ reader.releaseLock();
30
+ await cancelPromise;
31
+ return { done: true, value: undefined };
32
+ },
33
+ [Symbol.asyncIterator]() {
34
+ return this;
35
+ },
36
+ };
37
+ }
38
+ exports.ReadableStreamToAsyncIterable = ReadableStreamToAsyncIterable;
39
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/util/stream.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,6BAA6B,CAAI,MAAW;IAC1D,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;QAAE,OAAO,MAAM,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,OAAO;QACL,KAAK,CAAC,IAAI;YACR,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,MAAM,EAAE,IAAI;oBAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,0CAA0C;gBAClF,OAAO,MAAM,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,2CAA2C;gBACjE,MAAM,CAAC,CAAC;aACT;QACH,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,aAAa,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;QACD,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAzBD,sEAyBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comake/skl-js-engine",
3
- "version": "0.31.0",
3
+ "version": "0.33.0",
4
4
  "description": "Standard Knowledge Language Javascript Engine",
5
5
  "keywords": [
6
6
  "skl",
@@ -29,7 +29,8 @@
29
29
  "test:integration": "jest --coverageReporters text-summary -- test/integration",
30
30
  "test:unit": "jest --config=./jest.coverage.config.js test/unit",
31
31
  "test:package": "chmod +x test/deploy/validate-package.sh && test/deploy/validate-package.sh",
32
- "prepare": "husky && npm run build"
32
+ "prepare": "husky && npm run build",
33
+ "postinstall": "patch-package"
33
34
  },
34
35
  "main": "./dist/index.js",
35
36
  "types": "./dist/index.d.ts",
@@ -52,6 +53,7 @@
52
53
  "memory-level": "^1.0.0",
53
54
  "mime-types": "^2.1.35",
54
55
  "n3": "^1.17.2",
56
+ "patch-package": "^8.0.0",
55
57
  "quadstore": "13.1.1",
56
58
  "quadstore-comunica": "^4.3.0",
57
59
  "rdf-data-factory": "^1.1.2",