@clickhouse/client-common 0.2.0-beta1 → 0.2.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/README.md +4 -3
- package/dist/client.d.ts +5 -2
- package/dist/client.js +35 -34
- package/dist/client.js.map +1 -1
- package/dist/connection.d.ts +7 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/settings.d.ts +1829 -1350
- package/dist/settings.js +0 -1
- package/dist/settings.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,11 +16,12 @@ thoroughly tested with actual ClickHouse versions.
|
|
|
16
16
|
|
|
17
17
|
The repository consists of three packages:
|
|
18
18
|
|
|
19
|
-
- `@clickhouse/client` - Node.js
|
|
19
|
+
- `@clickhouse/client` - a version of the client designed for Node.js platform only. It is built on top of [HTTP](https://nodejs.org/api/http.html)
|
|
20
20
|
and [Stream](https://nodejs.org/api/stream.html) APIs; supports streaming for both selects and inserts.
|
|
21
|
-
- `@clickhouse/client-
|
|
21
|
+
- `@clickhouse/client-web` - a version of the client built on top of [Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
|
|
22
22
|
and [Web Streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API) APIs; supports streaming for selects.
|
|
23
|
-
|
|
23
|
+
Compatible with Chrome/Firefox browsers and CloudFlare workers.
|
|
24
|
+
- `@clickhouse/client-common` - shared common types and the base framework for building a custom client implementation.
|
|
24
25
|
|
|
25
26
|
## Documentation
|
|
26
27
|
|
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ClickHouseLogLevel, ClickHouseSettings, Connection, ConnectionParams, ConnInsertResult, ConnQueryResult, Logger } from '@clickhouse/client-common';
|
|
2
2
|
import { type DataFormat } from '@clickhouse/client-common';
|
|
3
3
|
import type { InputJSON, InputJSONObjectEachRow } from './clickhouse_types';
|
|
4
|
+
import type { ConnPingResult } from './connection';
|
|
4
5
|
import type { BaseResultSet } from './result';
|
|
5
6
|
export type MakeConnection<Stream> = (params: ConnectionParams) => Connection<Stream>;
|
|
6
7
|
export type MakeResultSet<Stream> = (stream: Stream, format: DataFormat, session_id: string) => BaseResultSet<Stream>;
|
|
@@ -89,6 +90,7 @@ export interface CommandResult {
|
|
|
89
90
|
}
|
|
90
91
|
export type InsertResult = ConnInsertResult;
|
|
91
92
|
export type ExecResult<Stream> = ConnQueryResult<Stream>;
|
|
93
|
+
export type PingResult = ConnPingResult;
|
|
92
94
|
export type InsertValues<Stream, T = unknown> = ReadonlyArray<T> | Stream | InputJSON<T> | InputJSONObjectEachRow<T>;
|
|
93
95
|
export interface InsertParams<Stream = unknown, T = unknown> extends BaseQueryParams {
|
|
94
96
|
/** Name of a table to insert into. */
|
|
@@ -137,9 +139,10 @@ export declare class ClickHouseClient<Stream = unknown> {
|
|
|
137
139
|
*/
|
|
138
140
|
insert<T>(params: InsertParams<Stream, T>): Promise<InsertResult>;
|
|
139
141
|
/**
|
|
140
|
-
* Health-check request.
|
|
142
|
+
* Health-check request. It does not throw if an error occurs -
|
|
143
|
+
* the error is returned inside the result object.
|
|
141
144
|
*/
|
|
142
|
-
ping(): Promise<
|
|
145
|
+
ping(): Promise<PingResult>;
|
|
143
146
|
/**
|
|
144
147
|
* Shuts down the underlying connection.
|
|
145
148
|
* This method should ideally be called only once per application lifecycle,
|
package/dist/client.js
CHANGED
|
@@ -2,39 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ClickHouseClient = void 0;
|
|
4
4
|
const client_common_1 = require("@clickhouse/client-common");
|
|
5
|
-
function validateConnectionParams({ url }) {
|
|
6
|
-
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
7
|
-
throw new Error(`Only http(s) protocol is supported, but given: [${url.protocol}]`);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
function createUrl(host) {
|
|
11
|
-
try {
|
|
12
|
-
return new URL(host);
|
|
13
|
-
}
|
|
14
|
-
catch (err) {
|
|
15
|
-
throw new Error('Configuration parameter "host" contains malformed url.');
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function getConnectionParams(config) {
|
|
19
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
20
|
-
return {
|
|
21
|
-
application_id: config.application,
|
|
22
|
-
url: createUrl((_a = config.host) !== null && _a !== void 0 ? _a : 'http://localhost:8123'),
|
|
23
|
-
request_timeout: (_b = config.request_timeout) !== null && _b !== void 0 ? _b : 300000,
|
|
24
|
-
max_open_connections: (_c = config.max_open_connections) !== null && _c !== void 0 ? _c : Infinity,
|
|
25
|
-
compression: {
|
|
26
|
-
decompress_response: (_e = (_d = config.compression) === null || _d === void 0 ? void 0 : _d.response) !== null && _e !== void 0 ? _e : true,
|
|
27
|
-
compress_request: (_g = (_f = config.compression) === null || _f === void 0 ? void 0 : _f.request) !== null && _g !== void 0 ? _g : false,
|
|
28
|
-
},
|
|
29
|
-
username: (_h = config.username) !== null && _h !== void 0 ? _h : 'default',
|
|
30
|
-
password: (_j = config.password) !== null && _j !== void 0 ? _j : '',
|
|
31
|
-
database: (_k = config.database) !== null && _k !== void 0 ? _k : 'default',
|
|
32
|
-
clickhouse_settings: (_l = config.clickhouse_settings) !== null && _l !== void 0 ? _l : {},
|
|
33
|
-
logWriter: new client_common_1.LogWriter(((_m = config === null || config === void 0 ? void 0 : config.log) === null || _m === void 0 ? void 0 : _m.LoggerClass)
|
|
34
|
-
? new config.log.LoggerClass()
|
|
35
|
-
: new client_common_1.DefaultLogger(), (_o = config.log) === null || _o === void 0 ? void 0 : _o.level),
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
5
|
class ClickHouseClient {
|
|
39
6
|
constructor(config) {
|
|
40
7
|
Object.defineProperty(this, "connectionParams", {
|
|
@@ -151,7 +118,8 @@ class ClickHouseClient {
|
|
|
151
118
|
});
|
|
152
119
|
}
|
|
153
120
|
/**
|
|
154
|
-
* Health-check request.
|
|
121
|
+
* Health-check request. It does not throw if an error occurs -
|
|
122
|
+
* the error is returned inside the result object.
|
|
155
123
|
*/
|
|
156
124
|
async ping() {
|
|
157
125
|
return await this.connection.ping();
|
|
@@ -184,4 +152,37 @@ function removeTrailingSemi(query) {
|
|
|
184
152
|
}
|
|
185
153
|
return query;
|
|
186
154
|
}
|
|
155
|
+
function validateConnectionParams({ url }) {
|
|
156
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
157
|
+
throw new Error(`Only http(s) protocol is supported, but given: [${url.protocol}]`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
function createUrl(host) {
|
|
161
|
+
try {
|
|
162
|
+
return new URL(host);
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
throw new Error('Configuration parameter "host" contains malformed url.');
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function getConnectionParams(config) {
|
|
169
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
170
|
+
return {
|
|
171
|
+
application_id: config.application,
|
|
172
|
+
url: createUrl((_a = config.host) !== null && _a !== void 0 ? _a : 'http://localhost:8123'),
|
|
173
|
+
request_timeout: (_b = config.request_timeout) !== null && _b !== void 0 ? _b : 300000,
|
|
174
|
+
max_open_connections: (_c = config.max_open_connections) !== null && _c !== void 0 ? _c : Infinity,
|
|
175
|
+
compression: {
|
|
176
|
+
decompress_response: (_e = (_d = config.compression) === null || _d === void 0 ? void 0 : _d.response) !== null && _e !== void 0 ? _e : true,
|
|
177
|
+
compress_request: (_g = (_f = config.compression) === null || _f === void 0 ? void 0 : _f.request) !== null && _g !== void 0 ? _g : false,
|
|
178
|
+
},
|
|
179
|
+
username: (_h = config.username) !== null && _h !== void 0 ? _h : 'default',
|
|
180
|
+
password: (_j = config.password) !== null && _j !== void 0 ? _j : '',
|
|
181
|
+
database: (_k = config.database) !== null && _k !== void 0 ? _k : 'default',
|
|
182
|
+
clickhouse_settings: (_l = config.clickhouse_settings) !== null && _l !== void 0 ? _l : {},
|
|
183
|
+
logWriter: new client_common_1.LogWriter(((_m = config === null || config === void 0 ? void 0 : config.log) === null || _m === void 0 ? void 0 : _m.LoggerClass)
|
|
184
|
+
? new config.log.LoggerClass()
|
|
185
|
+
: new client_common_1.DefaultLogger(), (_o = config.log) === null || _o === void 0 ? void 0 : _o.level),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
187
188
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../packages/client-common/src/client.ts"],"names":[],"mappings":";;;AASA,6DAIkC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../packages/client-common/src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/connection.d.ts
CHANGED
|
@@ -35,8 +35,14 @@ export interface ConnQueryResult<Stream> extends ConnBaseResult {
|
|
|
35
35
|
}
|
|
36
36
|
export type ConnInsertResult = ConnBaseResult;
|
|
37
37
|
export type ConnExecResult<Stream> = ConnQueryResult<Stream>;
|
|
38
|
+
export type ConnPingResult = {
|
|
39
|
+
success: true;
|
|
40
|
+
} | {
|
|
41
|
+
success: false;
|
|
42
|
+
error: Error;
|
|
43
|
+
};
|
|
38
44
|
export interface Connection<Stream> {
|
|
39
|
-
ping(): Promise<
|
|
45
|
+
ping(): Promise<ConnPingResult>;
|
|
40
46
|
close(): Promise<void>;
|
|
41
47
|
query(params: ConnBaseQueryParams): Promise<ConnQueryResult<Stream>>;
|
|
42
48
|
exec(params: ConnBaseQueryParams): Promise<ConnExecResult<Stream>>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Should be re-exported by the implementation */
|
|
2
|
-
export { type BaseClickHouseClientConfigOptions, type ClickHouseClientConfigOptions, type BaseQueryParams, type QueryParams, type ExecParams, type InsertParams, type InsertValues, ClickHouseClient, type CommandParams, type CommandResult, type ExecResult, type InsertResult, } from './client';
|
|
2
|
+
export { type BaseClickHouseClientConfigOptions, type ClickHouseClientConfigOptions, type BaseQueryParams, type QueryParams, type ExecParams, type InsertParams, type InsertValues, ClickHouseClient, type CommandParams, type CommandResult, type ExecResult, type InsertResult, type PingResult, } from './client';
|
|
3
3
|
export type { Row, BaseResultSet } from './result';
|
|
4
4
|
export { type DataFormat } from './data_formatter';
|
|
5
5
|
export { ClickHouseError } from './error';
|
|
@@ -12,5 +12,5 @@ export { type ValuesEncoder, type MakeResultSet, type MakeConnection, } from './
|
|
|
12
12
|
export { withCompressionHeaders, isSuccessfulResponse, toSearchParams, transformUrl, withHttpSettings, } from './utils';
|
|
13
13
|
export { LogWriter, DefaultLogger } from './logger';
|
|
14
14
|
export { parseError } from './error';
|
|
15
|
-
export type { Connection, ConnectionParams, ConnInsertResult, ConnExecResult, ConnQueryResult, ConnBaseQueryParams, ConnBaseResult, ConnInsertParams, } from './connection';
|
|
15
|
+
export type { Connection, ConnectionParams, ConnInsertResult, ConnExecResult, ConnQueryResult, ConnBaseQueryParams, ConnBaseResult, ConnInsertParams, ConnPingResult, } from './connection';
|
|
16
16
|
export { type RawDataFormat, type JSONDataFormat, formatQuerySettings, formatQueryParams, } from './data_formatter';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/client-common/src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/client-common/src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,mCAciB;AANf,0GAAA,gBAAgB,OAAA;AASlB,iCAAyC;AAAhC,wGAAA,eAAe,OAAA;AACxB,mCAKiB;AAJf,4GAAA,kBAAkB,OAAA;AAUpB,uCAImB;AADjB,uGAAA,WAAW,OAAA;AAGb,qCAAqC;AACrC,mDAKyB;AAJvB,4GAAA,UAAU,OAAA;AACV,sHAAA,oBAAoB,OAAA;AACpB,wGAAA,MAAM,OAAA;AACN,sHAAA,oBAAoB,OAAA;AAOtB,iCAMgB;AALd,+GAAA,sBAAsB,OAAA;AACtB,6GAAA,oBAAoB,OAAA;AACpB,uGAAA,cAAc,OAAA;AACd,qGAAA,YAAY,OAAA;AACZ,yGAAA,gBAAgB,OAAA;AAElB,mCAAmD;AAA1C,mGAAA,SAAS,OAAA;AAAE,uGAAA,aAAa,OAAA;AACjC,iCAAoC;AAA3B,mGAAA,UAAU,OAAA;AAYnB,mDAKyB;AAFvB,qHAAA,mBAAmB,OAAA;AACnB,mHAAA,iBAAiB,OAAA"}
|