@clickhouse/client 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -150,27 +150,28 @@ See also:
150
150
 
151
151
  ## Supported formats
152
152
 
153
- | Format | Input (array) | Input (stream) | Output (JSON) | Output (text) |
154
- | ------------------------------------------ | ------------- | -------------- | ------------- | ------------- |
155
- | JSON | ❌ | ❌ | ✔️ | ✔️ |
156
- | JSONEachRow | ✔️ | ✔️ | ✔️ | ✔️ |
157
- | JSONStringsEachRow | ✔️ | ✔️ | ✔️ | ✔️ |
158
- | JSONCompactEachRow | ✔️ | ✔️ | ✔️ | ✔️ |
159
- | JSONCompactStringsEachRow | ✔️ | ✔️ | ✔️ | ✔️ |
160
- | JSONCompactEachRowWithNames | ✔️ | ✔️ | ✔️ | ✔️ |
161
- | JSONCompactEachRowWithNamesAndTypes | ✔️ | ✔️ | ✔️ | ✔️ |
162
- | JSONCompactStringsEachRowWithNames | ✔️ | ✔️ | ✔️ | ✔️ |
163
- | JSONCompactStringsEachRowWithNamesAndTypes | ✔️ | ✔️ | ✔️ | ✔️ |
164
- | CSV | | ✔️ | | ✔️ |
165
- | CSVWithNames | ❌ | ✔️ | ❌ | ✔️ |
166
- | CSVWithNamesAndTypes | ❌ | ✔️ | ❌ | ✔️ |
167
- | TabSeparated | ❌ | ✔️ | ❌ | ✔️ |
168
- | TabSeparatedRaw | ❌ | ✔️ | ❌ | ✔️ |
169
- | TabSeparatedWithNames | ❌ | ✔️ | ❌ | ✔️ |
170
- | TabSeparatedWithNamesAndTypes | ❌ | ✔️ | ❌ | ✔️ |
171
- | CustomSeparated | ❌ | ✔️ | ❌ | ✔️ |
172
- | CustomSeparatedWithNames | ❌ | ✔️ | ❌ | ✔️ |
173
- | CustomSeparatedWithNamesAndTypes | ❌ | ✔️ | ❌ | ✔️ |
153
+ | Format | Input (array) | Input (stream) | Input (object) | Output (JSON) | Output (text) |
154
+ | ------------------------------------------ | ------------- | -------------- | -------------- | ------------- | ------------- |
155
+ | JSON | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
156
+ | JSONObjectEachRow | | ❌ | ✔️ | ✔️ | ✔️ |
157
+ | JSONEachRow | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
158
+ | JSONStringsEachRow | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
159
+ | JSONCompactEachRow | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
160
+ | JSONCompactStringsEachRow | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
161
+ | JSONCompactEachRowWithNames | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
162
+ | JSONCompactEachRowWithNamesAndTypes | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
163
+ | JSONCompactStringsEachRowWithNames | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
164
+ | JSONCompactStringsEachRowWithNamesAndTypes | ✔️ | ✔️ | ❌️ | ✔️ | ✔️ |
165
+ | CSV | ❌ | ✔️ | ❌ | ❌ | ✔️ |
166
+ | CSVWithNames | ❌ | ✔️ | ❌ | ❌ | ✔️ |
167
+ | CSVWithNamesAndTypes | ❌ | ✔️ | ❌ | ❌ | ✔️ |
168
+ | TabSeparated | ❌ | ✔️ | ❌ | ❌ | ✔️ |
169
+ | TabSeparatedRaw | ❌ | ✔️ | ❌ | ❌ | ✔️ |
170
+ | TabSeparatedWithNames | ❌ | ✔️ | ❌ | ❌ | ✔️ |
171
+ | TabSeparatedWithNamesAndTypes | ❌ | ✔️ | ❌ | ❌ | ✔️ |
172
+ | CustomSeparated | ❌ | ✔️ | ❌ | ❌ | ✔️ |
173
+ | CustomSeparatedWithNames | ❌ | ✔️ | ❌ | ❌ | ✔️ |
174
+ | CustomSeparatedWithNamesAndTypes | ❌ | ✔️ | ❌ | ❌ | ✔️ |
174
175
 
175
176
  The entire list of ClickHouse input and output formats is available [here](https://clickhouse.com/docs/en/interfaces/formats).
176
177
 
@@ -1,4 +1,3 @@
1
- export declare type DataType = 'UInt8' | 'UInt16' | 'UInt32' | 'UInt64' | 'UInt128' | 'UInt256' | 'Int8' | 'Int16' | 'Int32' | 'Int64' | 'Int128' | 'Int256' | 'Float32' | 'Float64';
2
1
  export interface ResponseJSON<T = unknown> {
3
2
  data: Array<T>;
4
3
  query_id?: string;
@@ -6,7 +5,7 @@ export interface ResponseJSON<T = unknown> {
6
5
  extremes?: Record<string, any>;
7
6
  meta?: Array<{
8
7
  name: string;
9
- type: DataType;
8
+ type: string;
10
9
  }>;
11
10
  statistics?: {
12
11
  elapsed: number;
@@ -15,3 +14,11 @@ export interface ResponseJSON<T = unknown> {
15
14
  };
16
15
  rows?: number;
17
16
  }
17
+ export interface InputJSON<T = unknown> {
18
+ meta: {
19
+ name: string;
20
+ type: string;
21
+ }[];
22
+ data: T[];
23
+ }
24
+ export declare type InputJSONObjectEachRow<T = unknown> = Record<string, T>;
package/dist/client.d.ts CHANGED
@@ -4,10 +4,11 @@ import { Logger } from './logger';
4
4
  import { type DataFormat } from './data_formatter';
5
5
  import { ResultSet } from './result';
6
6
  import type { ClickHouseSettings } from './settings';
7
+ import type { InputJSON, InputJSONObjectEachRow } from './clickhouse_types';
7
8
  export interface ClickHouseClientConfigOptions {
8
9
  /** A ClickHouse instance URL. Default value: `http://localhost:8123`. */
9
10
  host?: string;
10
- /** The timeout to setup a connection in milliseconds. Default value: `10_000`. */
11
+ /** The timeout to set up a connection in milliseconds. Default value: `10_000`. */
11
12
  connect_timeout?: number;
12
13
  /** The request timeout in milliseconds. Default value: `30_000`. */
13
14
  request_timeout?: number;
@@ -54,11 +55,12 @@ export interface ExecParams extends BaseParams {
54
55
  /** Statement to execute. */
55
56
  query: string;
56
57
  }
58
+ declare type InsertValues<T> = ReadonlyArray<T> | Stream.Readable | InputJSON<T> | InputJSONObjectEachRow<T>;
57
59
  export interface InsertParams<T = unknown> extends BaseParams {
58
60
  /** Name of a table to insert into. */
59
61
  table: string;
60
62
  /** A dataset to insert. */
61
- values: ReadonlyArray<T> | Stream.Readable;
63
+ values: InsertValues<T>;
62
64
  /** Format of the dataset to insert. */
63
65
  format?: DataFormat;
64
66
  }
@@ -74,5 +76,16 @@ export declare class ClickHouseClient {
74
76
  ping(): Promise<boolean>;
75
77
  close(): Promise<void>;
76
78
  }
77
- export declare function validateInsertValues(values: ReadonlyArray<any> | Stream.Readable, format: DataFormat): void;
79
+ export declare function validateInsertValues<T>(values: InsertValues<T>, format: DataFormat): void;
80
+ /**
81
+ * A function encodes an array or a stream of JSON objects to a format compatible with ClickHouse.
82
+ * If values are provided as an array of JSON objects, the function encodes it in place.
83
+ * If values are provided as a stream of JSON objects, the function sets up the encoding of each chunk.
84
+ * If values are provided as a raw non-object stream, the function does nothing.
85
+ *
86
+ * @param values a set of values to send to ClickHouse.
87
+ * @param format a format to encode value to.
88
+ */
89
+ export declare function encodeValues<T>(values: InsertValues<T>, format: DataFormat): string | Stream.Readable;
78
90
  export declare function createClient(config?: ClickHouseClientConfigOptions): ClickHouseClient;
91
+ export {};
package/dist/client.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createClient = exports.validateInsertValues = exports.ClickHouseClient = void 0;
6
+ exports.createClient = exports.encodeValues = exports.validateInsertValues = exports.ClickHouseClient = void 0;
7
7
  const stream_1 = __importDefault(require("stream"));
8
8
  const connection_1 = require("./connection");
9
9
  const logger_1 = require("./logger");
@@ -132,8 +132,11 @@ function removeSemi(query) {
132
132
  return query;
133
133
  }
134
134
  function validateInsertValues(values, format) {
135
- if (Array.isArray(values) === false && (0, utils_1.isStream)(values) === false) {
136
- throw new Error('Insert expected "values" to be an array or a stream of values.');
135
+ if (!Array.isArray(values) &&
136
+ !(0, utils_1.isStream)(values) &&
137
+ typeof values !== 'object') {
138
+ throw new Error('Insert expected "values" to be an array, a stream of values or a JSON object, ' +
139
+ `got: ${typeof values}`);
137
140
  }
138
141
  if ((0, utils_1.isStream)(values)) {
139
142
  if ((0, data_formatter_1.isSupportedRawFormat)(format)) {
@@ -166,8 +169,16 @@ function encodeValues(values, format) {
166
169
  return stream_1.default.pipeline(values, (0, utils_1.mapStream)((value) => (0, data_formatter_1.encodeJSON)(value, format)), pipelineCb);
167
170
  }
168
171
  // JSON* arrays
169
- return values.map((value) => (0, data_formatter_1.encodeJSON)(value, format)).join('');
172
+ if (Array.isArray(values)) {
173
+ return values.map((value) => (0, data_formatter_1.encodeJSON)(value, format)).join('');
174
+ }
175
+ // JSON & JSONObjectEachRow format input
176
+ if (typeof values === 'object') {
177
+ return (0, data_formatter_1.encodeJSON)(values, format);
178
+ }
179
+ throw new Error(`Cannot encode values of type ${typeof values} with ${format} format`);
170
180
  }
181
+ exports.encodeValues = encodeValues;
171
182
  function createClient(config) {
172
183
  return new ClickHouseClient(config);
173
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- declare const supportedJSONFormats: readonly ["JSON", "JSONEachRow", "JSONStringsEachRow", "JSONCompactEachRow", "JSONCompactStringsEachRow", "JSONCompactEachRowWithNames", "JSONCompactEachRowWithNamesAndTypes", "JSONCompactStringsEachRowWithNames", "JSONCompactStringsEachRowWithNamesAndTypes"];
1
+ declare const supportedJSONFormats: readonly ["JSON", "JSONObjectEachRow", "JSONEachRow", "JSONStringsEachRow", "JSONCompactEachRow", "JSONCompactStringsEachRow", "JSONCompactEachRowWithNames", "JSONCompactEachRowWithNamesAndTypes", "JSONCompactStringsEachRowWithNames", "JSONCompactStringsEachRowWithNamesAndTypes"];
2
2
  declare const supportedRawFormats: readonly ["CSV", "CSVWithNames", "CSVWithNamesAndTypes", "TabSeparated", "TabSeparatedRaw", "TabSeparatedWithNames", "TabSeparatedWithNamesAndTypes", "CustomSeparated", "CustomSeparatedWithNames", "CustomSeparatedWithNamesAndTypes"];
3
3
  export declare type JSONDataFormat = typeof supportedJSONFormats[number];
4
4
  export declare type RawDataFormat = typeof supportedRawFormats[number];
@@ -11,7 +11,11 @@ const streamableJSONFormats = [
11
11
  'JSONCompactStringsEachRowWithNames',
12
12
  'JSONCompactStringsEachRowWithNamesAndTypes',
13
13
  ];
14
- const supportedJSONFormats = ['JSON', ...streamableJSONFormats];
14
+ const supportedJSONFormats = [
15
+ 'JSON',
16
+ 'JSONObjectEachRow',
17
+ ...streamableJSONFormats,
18
+ ];
15
19
  const supportedRawFormats = [
16
20
  'CSV',
17
21
  'CSVWithNames',
@@ -60,7 +64,7 @@ function decode(text, format) {
60
64
  .map((l) => decode(l, 'JSON'));
61
65
  }
62
66
  if (isSupportedRawFormat(format)) {
63
- throw new Error(`cannot decode ${format} to JSON`);
67
+ throw new Error(`Cannot decode ${format} to JSON`);
64
68
  }
65
69
  throw new Error(`The client does not support [${format}] format decoding.`);
66
70
  }
@@ -72,7 +76,7 @@ exports.decode = decode;
72
76
  * @returns string
73
77
  */
74
78
  function encodeJSON(value, format) {
75
- if (streamableJSONFormats.includes(format)) {
79
+ if (supportedJSONFormats.includes(format)) {
76
80
  return JSON.stringify(value) + '\n';
77
81
  }
78
82
  throw new Error(`The client does not support JSON encoding in [${format}] format.`);
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/data_formatter/formatter.ts"],"names":[],"mappings":";;;AAAA,MAAM,qBAAqB,GAAG;IAC5B,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,6BAA6B;IAC7B,qCAAqC;IACrC,oCAAoC;IACpC,4CAA4C;CACpC,CAAA;AACV,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,GAAG,qBAAqB,CAAU,CAAA;AACxE,MAAM,mBAAmB,GAAG;IAC1B,KAAK;IACL,cAAc;IACd,sBAAsB;IACtB,cAAc;IACd,iBAAiB;IACjB,uBAAuB;IACvB,+BAA+B;IAC/B,iBAAiB;IACjB,0BAA0B;IAC1B,kCAAkC;CAC1B,CAAA;AAQV,0BAA0B;AAC1B,MAAM,gBAAgB,GAAG;IACvB,GAAG,qBAAqB;IACxB,GAAG,mBAAmB;CACd,CAAA;AAGV,SAAS,sBAAsB,CAC7B,MAAkB;IAElB,mEAAmE;IACnE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAAsB;IACzD,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,oBAAoB,CAClC,MAAW;IAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,kDAAkD,gBAAgB,CAAC,IAAI,CAC9E,GAAG,CACJ,EAAE,CACJ,CAAA;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAXD,oDAWC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,MAAkB;IACrD,IAAI,MAAM,KAAK,MAAM,EAAE;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KACxB;IACD,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;QAClC,OAAO,IAAI;aACR,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;KACjC;IACD,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,UAAU,CAAC,CAAA;KACnD;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,oBAAoB,CAAC,CAAA;AAC7E,CAAC;AAdD,wBAcC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,KAAU,EAAE,MAAkB;IACvD,IAAK,qBAA2C,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;KACpC;IACD,MAAM,IAAI,KAAK,CACb,iDAAiD,MAAM,WAAW,CACnE,CAAA;AACH,CAAC;AAPD,gCAOC"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/data_formatter/formatter.ts"],"names":[],"mappings":";;;AAAA,MAAM,qBAAqB,GAAG;IAC5B,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,6BAA6B;IAC7B,qCAAqC;IACrC,oCAAoC;IACpC,4CAA4C;CACpC,CAAA;AACV,MAAM,oBAAoB,GAAG;IAC3B,MAAM;IACN,mBAAmB;IACnB,GAAG,qBAAqB;CAChB,CAAA;AACV,MAAM,mBAAmB,GAAG;IAC1B,KAAK;IACL,cAAc;IACd,sBAAsB;IACtB,cAAc;IACd,iBAAiB;IACjB,uBAAuB;IACvB,+BAA+B;IAC/B,iBAAiB;IACjB,0BAA0B;IAC1B,kCAAkC;CAC1B,CAAA;AAQV,0BAA0B;AAC1B,MAAM,gBAAgB,GAAG;IACvB,GAAG,qBAAqB;IACxB,GAAG,mBAAmB;CACd,CAAA;AAGV,SAAS,sBAAsB,CAC7B,MAAkB;IAElB,mEAAmE;IACnE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAAsB;IACzD,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,oBAAoB,CAClC,MAAW;IAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,kDAAkD,gBAAgB,CAAC,IAAI,CAC9E,GAAG,CACJ,EAAE,CACJ,CAAA;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAXD,oDAWC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,MAAkB;IACrD,IAAI,MAAM,KAAK,MAAM,EAAE;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KACxB;IACD,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;QAClC,OAAO,IAAI;aACR,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;KACjC;IACD,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,UAAU,CAAC,CAAA;KACnD;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,oBAAoB,CAAC,CAAA;AAC7E,CAAC;AAdD,wBAcC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,KAAU,EAAE,MAAkB;IACvD,IAAK,oBAA0C,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;KACpC;IACD,MAAM,IAAI,KAAK,CACb,iDAAiD,MAAM,WAAW,CACnE,CAAA;AACH,CAAC;AAPD,gCAOC"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,6 @@ export type { Connection } from './connection';
10
10
  export type { DataFormat } from './data_formatter';
11
11
  export type { ClickHouseError } from './error';
12
12
  export type { Logger } from './logger';
13
- export type { ResponseJSON, DataType } from './clickhouse_types';
13
+ export type { ResponseJSON, InputJSON, InputJSONObjectEachRow, } from './clickhouse_types';
14
14
  export type { ClickHouseSettings } from './settings';
15
15
  export { SettingsMap } from './settings';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAE9B,6FAFA,qBAAY,OAEA;AACrB,kBAAe;IACb,YAAY,EAAZ,qBAAY;CACb,CAAA;AAWD,mCAAyC;AAA3B,mGAAA,SAAS,OAAA;AAQvB,uCAAwC;AAA/B,uGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAE9B,6FAFA,qBAAY,OAEA;AACrB,kBAAe;IACb,YAAY,EAAZ,qBAAY;CACb,CAAA;AAWD,mCAAyC;AAA3B,mGAAA,SAAS,OAAA;AAYvB,uCAAwC;AAA/B,uGAAA,WAAW,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clickhouse/client",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Official JS client for ClickHouse DB",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [