@clickhouse/client-web 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.js CHANGED
@@ -10,6 +10,6 @@ exports.WebImpl = {
10
10
  fetch: config.fetch,
11
11
  }),
12
12
  make_result_set: ((stream, format, query_id, _log_error, response_headers) => new result_set_1.ResultSet(stream, format, query_id, response_headers)),
13
- values_encoder: new utils_1.WebValuesEncoder(),
13
+ values_encoder: (jsonHandling) => new utils_1.WebValuesEncoder(jsonHandling),
14
14
  };
15
15
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../packages/client-web/src/config.ts"],"names":[],"mappings":";;;AAOA,6CAA4C;AAC5C,6CAAwC;AACxC,mCAA0C;AAS7B,QAAA,OAAO,GAAkD;IACpE,eAAe,EAAE,CACf,MAAwC,EACxC,MAAwB,EACxB,EAAE,CACF,IAAI,0BAAa,CAAC;QAChB,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IACJ,eAAe,EAAE,CAAC,CAChB,MAAsB,EACtB,MAAkB,EAClB,QAAgB,EAChB,UAAgC,EAChC,gBAAiC,EACjC,EAAE,CAAC,IAAI,sBAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAQ;IACtE,cAAc,EAAE,IAAI,wBAAgB,EAAE;CACvC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../packages/client-web/src/config.ts"],"names":[],"mappings":";;;AAQA,6CAA4C;AAC5C,6CAAwC;AACxC,mCAA0C;AAS7B,QAAA,OAAO,GAAkD;IACpE,eAAe,EAAE,CACf,MAAwC,EACxC,MAAwB,EACxB,EAAE,CACF,IAAI,0BAAa,CAAC;QAChB,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IACJ,eAAe,EAAE,CAAC,CAChB,MAAsB,EACtB,MAAkB,EAClB,QAAgB,EAChB,UAAgC,EAChC,gBAAiC,EACjC,EAAE,CAAC,IAAI,sBAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAQ;IACtE,cAAc,EAAE,CAAC,YAA0B,EAAE,EAAE,CAC7C,IAAI,wBAAgB,CAAC,YAAY,CAAC;CACrC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { BaseResultSet, DataFormat, ResponseHeaders, ResultJSONType, ResultStream, Row } from '@clickhouse/client-common';
1
+ import type { BaseResultSet, DataFormat, JSONHandling, ResponseHeaders, ResultJSONType, ResultStream, Row } from '@clickhouse/client-common';
2
2
  export declare class ResultSet<Format extends DataFormat | unknown> implements BaseResultSet<ReadableStream<Row[]>, Format> {
3
3
  private _stream;
4
4
  private readonly format;
@@ -6,7 +6,8 @@ export declare class ResultSet<Format extends DataFormat | unknown> implements B
6
6
  readonly response_headers: ResponseHeaders;
7
7
  private readonly exceptionTag;
8
8
  private isAlreadyConsumed;
9
- constructor(_stream: ReadableStream, format: Format, query_id: string, _response_headers?: ResponseHeaders);
9
+ private readonly jsonHandling;
10
+ constructor(_stream: ReadableStream, format: Format, query_id: string, _response_headers?: ResponseHeaders, jsonHandling?: JSONHandling);
10
11
  /** See {@link BaseResultSet.text} */
11
12
  text(): Promise<string>;
12
13
  /** See {@link BaseResultSet.json} */
@@ -6,7 +6,10 @@ const client_common_2 = require("@clickhouse/client-common");
6
6
  const utils_1 = require("./utils");
7
7
  const NEWLINE = 0x0a;
8
8
  class ResultSet {
9
- constructor(_stream, format, query_id, _response_headers) {
9
+ constructor(_stream, format, query_id, _response_headers, jsonHandling = {
10
+ parse: JSON.parse,
11
+ stringify: JSON.stringify,
12
+ }) {
10
13
  Object.defineProperty(this, "_stream", {
11
14
  enumerable: true,
12
15
  configurable: true,
@@ -43,9 +46,16 @@ class ResultSet {
43
46
  writable: true,
44
47
  value: false
45
48
  });
49
+ Object.defineProperty(this, "jsonHandling", {
50
+ enumerable: true,
51
+ configurable: true,
52
+ writable: true,
53
+ value: void 0
54
+ });
46
55
  this.response_headers =
47
56
  _response_headers !== undefined ? Object.freeze(_response_headers) : {};
48
57
  this.exceptionTag = this.response_headers['x-clickhouse-exception-tag'];
58
+ this.jsonHandling = jsonHandling;
49
59
  }
50
60
  /** See {@link BaseResultSet.text} */
51
61
  async text() {
@@ -72,7 +82,7 @@ class ResultSet {
72
82
  // JSON, JSONObjectEachRow, etc.
73
83
  if ((0, client_common_2.isNotStreamableJSONFamily)(this.format)) {
74
84
  const text = await (0, utils_1.getAsText)(this._stream);
75
- return JSON.parse(text);
85
+ return this.jsonHandling.parse(text);
76
86
  }
77
87
  // should not be called for CSV, etc.
78
88
  throw new Error(`Cannot decode ${this.format} as JSON`);
@@ -84,6 +94,7 @@ class ResultSet {
84
94
  let incompleteChunks = [];
85
95
  let totalIncompleteLength = 0;
86
96
  const exceptionTag = this.exceptionTag;
97
+ const jsonHandling = this.jsonHandling;
87
98
  const decoder = new TextDecoder('utf-8');
88
99
  const transform = new TransformStream({
89
100
  start() {
@@ -129,7 +140,7 @@ class ResultSet {
129
140
  rows.push({
130
141
  text,
131
142
  json() {
132
- return JSON.parse(text);
143
+ return jsonHandling.parse(text);
133
144
  },
134
145
  });
135
146
  lastIdx = idx + 1; // skipping newline character
@@ -1 +1 @@
1
- {"version":3,"file":"result_set.js","sourceRoot":"","sources":["../../../packages/client-web/src/result_set.ts"],"names":[],"mappings":";;;AAQA,6DAAoE;AACpE,6DAIkC;AAClC,mCAAmC;AAEnC,MAAM,OAAO,GAAG,IAAa,CAAA;AAE7B,MAAa,SAAS;IAQpB,YACU,OAAuB,EACd,MAAc,EACf,QAAgB,EAChC,iBAAmC;QAHnC;;;;mBAAQ,OAAO;WAAgB;QAC/B;;;;mBAAiB,MAAM;WAAQ;QAC/B;;;;mBAAgB,QAAQ;WAAQ;QARlB;;;;;WAAiC;QAEhC;;;;mBAAmC,SAAS;WAAA;QACrD;;;;mBAAoB,KAAK;WAAA;QAQ/B,IAAI,CAAC,gBAAgB;YACnB,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAEzD,CAAA;IACf,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,IAAI;QACR,oBAAoB;QACpB,IAAI,IAAA,sCAAsB,EAAC,IAAI,CAAC,MAAoB,CAAC,EAAE,CAAC;YACtD,MAAM,MAAM,GAAQ,EAAE,CAAA;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAK,CAAC,SAAS,EAAE,CAAA;YAE3C,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBAC3C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAK;gBACP,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAO,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;YACD,OAAO,MAAa,CAAA;QACtB,CAAC;QACD,gCAAgC;QAChC,IAAI,IAAA,yCAAyB,EAAC,IAAI,CAAC,MAAoB,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,qCAAqC;QACrC,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,MAAM,UAAU,CAAC,CAAA;IACzD,CAAC;IAED,uCAAuC;IACvC,MAAM;QACJ,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,IAAA,oCAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjC,IAAI,gBAAgB,GAAiB,EAAE,CAAA;QACvC,IAAI,qBAAqB,GAAG,CAAC,CAAA;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;YACpC,KAAK;gBACH,EAAE;YACJ,CAAC;YACD,SAAS,EAAE,CAAC,KAAiB,EAAE,UAAU,EAAE,EAAE;gBAC3C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,UAAU,CAAC,SAAS,EAAE,CAAA;gBACxB,CAAC;gBAED,MAAM,IAAI,GAAU,EAAE,CAAA;gBAEtB,IAAI,GAAW,CAAA;gBACf,IAAI,OAAO,GAAG,CAAC,CAAA;gBAEf,GAAG,CAAC;oBACF,2DAA2D;oBAC3D,oDAAoD;oBACpD,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;oBACrC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,IAAI,aAAyB,CAAA;wBAE7B,MAAM,QAAQ,GAAG,IAAA,wCAAwB,EAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAA;wBACnE,IAAI,QAAQ,EAAE,CAAC;4BACb,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;wBAC5B,CAAC;wBAED,2DAA2D;wBAC3D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAChC,MAAM,gBAAgB,GAAG,IAAI,UAAU,CACrC,qBAAqB,GAAG,GAAG,CAC5B,CAAA;4BAED,IAAI,MAAM,GAAG,CAAC,CAAA;4BACd,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;gCAC3C,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;gCAC7C,MAAM,IAAI,eAAe,CAAC,MAAM,CAAA;4BAClC,CAAC,CAAC,CAAA;4BAEF,yEAAyE;4BACzE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;4BACtC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;4BAExC,8BAA8B;4BAC9B,gBAAgB,GAAG,EAAE,CAAA;4BACrB,qBAAqB,GAAG,CAAC,CAAA;4BAEzB,aAAa,GAAG,gBAAgB,CAAA;wBAClC,CAAC;6BAAM,CAAC;4BACN,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;wBAC3C,CAAC;wBAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;wBAC1C,IAAI,CAAC,IAAI,CAAC;4BACR,IAAI;4BACJ,IAAI;gCACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;4BACzB,CAAC;yBACF,CAAC,CAAA;wBAEF,OAAO,GAAG,GAAG,GAAG,CAAC,CAAA,CAAC,6BAA6B;oBACjD,CAAC;yBAAM,CAAC;wBACN,4DAA4D;wBAC5D,sDAAsD;wBACtD,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;wBAC5C,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;wBACtC,qBAAqB,IAAI,eAAe,CAAC,MAAM,CAAA;wBAE/C,kDAAkD;wBAClD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAC;YACtB,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE;YACnD,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;QACF,OAAO,QAAe,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC/B,CAAC;CACF;AA/JD,8BA+JC;AAED,MAAM,4BAA4B,GAAG,kCAAkC,CAAA"}
1
+ {"version":3,"file":"result_set.js","sourceRoot":"","sources":["../../../packages/client-web/src/result_set.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import type { DataFormat, InsertValues, ValuesEncoder } from '@clickhouse/client-common';
2
+ import { type JSONHandling } from '@clickhouse/client-common';
2
3
  export declare class WebValuesEncoder implements ValuesEncoder<ReadableStream> {
4
+ private readonly json;
5
+ constructor(jsonHandling?: JSONHandling);
3
6
  encodeValues<T = unknown>(values: InsertValues<T>, format: DataFormat): string | ReadableStream;
4
7
  validateInsertValues<T = unknown>(values: InsertValues<T>): void;
5
8
  }
@@ -4,15 +4,29 @@ exports.WebValuesEncoder = void 0;
4
4
  const client_common_1 = require("@clickhouse/client-common");
5
5
  const stream_1 = require("./stream");
6
6
  class WebValuesEncoder {
7
+ constructor(jsonHandling = {
8
+ parse: JSON.parse,
9
+ stringify: JSON.stringify,
10
+ }) {
11
+ Object.defineProperty(this, "json", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ this.json = jsonHandling;
18
+ }
7
19
  encodeValues(values, format) {
8
20
  throwIfStream(values);
9
21
  // JSON* arrays
10
22
  if (Array.isArray(values)) {
11
- return values.map((value) => (0, client_common_1.encodeJSON)(value, format)).join('');
23
+ return values
24
+ .map((value) => (0, client_common_1.encodeJSON)(value, format, this.json.stringify))
25
+ .join('');
12
26
  }
13
27
  // JSON & JSONObjectEachRow format input
14
28
  if (typeof values === 'object') {
15
- return (0, client_common_1.encodeJSON)(values, format);
29
+ return (0, client_common_1.encodeJSON)(values, format, this.json.stringify);
16
30
  }
17
31
  throw new Error(`Cannot encode values of type ${typeof values} with ${format} format`);
18
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../packages/client-web/src/utils/encoder.ts"],"names":[],"mappings":";;;AAKA,6DAAsD;AACtD,qCAAmC;AAEnC,MAAa,gBAAgB;IAC3B,YAAY,CACV,MAAuB,EACvB,MAAkB;QAElB,aAAa,CAAC,MAAM,CAAC,CAAA;QACrB,eAAe;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;QACD,wCAAwC;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,MAAM,SAAS,MAAM,SAAS,CACtE,CAAA;IACH,CAAC;IAED,oBAAoB,CAAc,MAAuB;QACvD,aAAa,CAAC,MAAM,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,4DAA4D;gBAC1D,QAAQ,OAAO,MAAM,EAAE,CAC1B,CAAA;QACH,CAAC;IACH,CAAC;CACF;AA5BD,4CA4BC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../packages/client-web/src/utils/encoder.ts"],"names":[],"mappings":";;;AAKA,6DAAyE;AACzE,qCAAmC;AAEnC,MAAa,gBAAgB;IAG3B,YACE,eAA6B;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B;QANc;;;;;WAAkB;QAQjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;IAED,YAAY,CACV,MAAuB,EACvB,MAAkB;QAElB,aAAa,CAAC,MAAM,CAAC,CAAA;QACrB,eAAe;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC9D,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,CAAC;QACD,wCAAwC;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,MAAM,SAAS,MAAM,SAAS,CACtE,CAAA;IACH,CAAC;IAED,oBAAoB,CAAc,MAAuB;QACvD,aAAa,CAAC,MAAM,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,4DAA4D;gBAC1D,QAAQ,OAAO,MAAM,EAAE,CAC1B,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAzCD,4CAyCC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;IACH,CAAC;AACH,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "1.13.0";
1
+ declare const _default: "1.14.0";
2
2
  export default _default;
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = '1.13.0';
3
+ exports.default = '1.14.0';
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@clickhouse/client-web",
3
3
  "description": "Official JS client for ClickHouse DB - Web API implementation",
4
4
  "homepage": "https://clickhouse.com",
5
- "version": "1.13.0",
5
+ "version": "1.14.0",
6
6
  "license": "Apache-2.0",
7
7
  "keywords": [
8
8
  "clickhouse",
@@ -20,6 +20,6 @@
20
20
  "dist"
21
21
  ],
22
22
  "dependencies": {
23
- "@clickhouse/client-common": "1.13.0"
23
+ "@clickhouse/client-common": "1.14.0"
24
24
  }
25
25
  }