@ultipa-graph/ultipa-driver 5.1.4-s5.1 → 6.0.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/LICENSE +21 -0
- package/README.md +65 -0
- package/dist/client.d.ts +194 -0
- package/dist/client.js +390 -0
- package/dist/config.d.ts +65 -0
- package/dist/config.js +135 -0
- package/dist/connection.d.ts +30 -0
- package/dist/connection.js +190 -0
- package/dist/errors.d.ts +99 -0
- package/dist/errors.js +237 -0
- package/dist/index.d.ts +14 -5
- package/dist/index.js +88 -39
- package/dist/printers.d.ts +33 -0
- package/dist/printers.js +312 -0
- package/dist/proto/gqldb.proto +632 -0
- package/dist/response.d.ts +256 -0
- package/dist/response.js +723 -0
- package/dist/services/admin-service.d.ts +40 -0
- package/dist/services/admin-service.js +115 -0
- package/dist/services/bulk-import-service.d.ts +35 -0
- package/dist/services/bulk-import-service.js +108 -0
- package/dist/services/converters.d.ts +57 -0
- package/dist/services/converters.js +254 -0
- package/dist/services/data-service.d.ts +44 -0
- package/dist/services/data-service.js +206 -0
- package/dist/services/graph-service.d.ts +32 -0
- package/dist/services/graph-service.js +127 -0
- package/dist/services/health-service.d.ts +50 -0
- package/dist/services/health-service.js +78 -0
- package/dist/services/index.d.ts +13 -0
- package/dist/services/index.js +30 -0
- package/dist/services/query-service.d.ts +39 -0
- package/dist/services/query-service.js +112 -0
- package/dist/services/service-context.d.ts +39 -0
- package/dist/services/service-context.js +73 -0
- package/dist/services/session-service.d.ts +24 -0
- package/dist/services/session-service.js +66 -0
- package/dist/services/transaction-service.d.ts +33 -0
- package/dist/services/transaction-service.js +100 -0
- package/dist/services.d.ts +28 -0
- package/dist/services.js +122 -0
- package/dist/session.d.ts +45 -0
- package/dist/session.js +75 -0
- package/dist/transaction.d.ts +42 -0
- package/dist/transaction.js +89 -0
- package/dist/types/bulk_import.d.ts +53 -0
- package/dist/types/bulk_import.js +6 -0
- package/dist/types/data_types.d.ts +116 -0
- package/dist/types/data_types.js +122 -0
- package/dist/types/enums.d.ts +59 -0
- package/dist/types/enums.js +67 -0
- package/dist/types/graph_models.d.ts +54 -0
- package/dist/types/graph_models.js +6 -0
- package/dist/types/index.d.ts +11 -5
- package/dist/types/index.js +36 -37
- package/dist/types/metadata.d.ts +60 -0
- package/dist/types/metadata.js +6 -0
- package/dist/types/schema.d.ts +31 -0
- package/dist/types/schema.js +6 -0
- package/dist/types/typed_value.d.ts +25 -0
- package/dist/types/typed_value.js +1176 -0
- package/dist/types/wrappers.d.ts +23 -0
- package/dist/types/wrappers.js +39 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.js +24 -0
- package/package.json +40 -53
- package/dist/connection/connection.final.d.ts +0 -14
- package/dist/connection/connection.final.js +0 -96
- package/dist/connection/connection.final.js.map +0 -1
- package/dist/connection/connection.pool.d.ts +0 -21
- package/dist/connection/connection.pool.js +0 -103
- package/dist/connection/connection.pool.js.map +0 -1
- package/dist/connection/extra/base.extra.d.ts +0 -18
- package/dist/connection/extra/base.extra.js +0 -111
- package/dist/connection/extra/base.extra.js.map +0 -1
- package/dist/connection/extra/batch.insert.extra.d.ts +0 -58
- package/dist/connection/extra/batch.insert.extra.js +0 -353
- package/dist/connection/extra/batch.insert.extra.js.map +0 -1
- package/dist/connection/extra/connection.base.d.ts +0 -112
- package/dist/connection/extra/connection.base.js +0 -528
- package/dist/connection/extra/connection.base.js.map +0 -1
- package/dist/connection/extra/connection.d.ts +0 -17
- package/dist/connection/extra/connection.js +0 -44
- package/dist/connection/extra/connection.js.map +0 -1
- package/dist/connection/extra/graph.extra.d.ts +0 -54
- package/dist/connection/extra/graph.extra.js +0 -151
- package/dist/connection/extra/graph.extra.js.map +0 -1
- package/dist/connection/extra/hdc.extra.d.ts +0 -89
- package/dist/connection/extra/hdc.extra.js +0 -322
- package/dist/connection/extra/hdc.extra.js.map +0 -1
- package/dist/connection/extra/index.extra.d.ts +0 -102
- package/dist/connection/extra/index.extra.js +0 -210
- package/dist/connection/extra/index.extra.js.map +0 -1
- package/dist/connection/extra/job.extra.d.ts +0 -32
- package/dist/connection/extra/job.extra.js +0 -122
- package/dist/connection/extra/job.extra.js.map +0 -1
- package/dist/connection/extra/policy.extra.d.ts +0 -32
- package/dist/connection/extra/policy.extra.js +0 -114
- package/dist/connection/extra/policy.extra.js.map +0 -1
- package/dist/connection/extra/privilege.extra.d.ts +0 -8
- package/dist/connection/extra/privilege.extra.js +0 -20
- package/dist/connection/extra/privilege.extra.js.map +0 -1
- package/dist/connection/extra/property.extra.d.ts +0 -66
- package/dist/connection/extra/property.extra.js +0 -190
- package/dist/connection/extra/property.extra.js.map +0 -1
- package/dist/connection/extra/schema.extra.d.ts +0 -108
- package/dist/connection/extra/schema.extra.js +0 -253
- package/dist/connection/extra/schema.extra.js.map +0 -1
- package/dist/connection/extra/user.extra.d.ts +0 -28
- package/dist/connection/extra/user.extra.js +0 -91
- package/dist/connection/extra/user.extra.js.map +0 -1
- package/dist/connection/index.d.ts +0 -5
- package/dist/connection/index.js +0 -13
- package/dist/connection/index.js.map +0 -1
- package/dist/connection/network.manager.d.ts +0 -28
- package/dist/connection/network.manager.js +0 -179
- package/dist/connection/network.manager.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/printers/alias.d.ts +0 -2
- package/dist/printers/alias.js +0 -39
- package/dist/printers/alias.js.map +0 -1
- package/dist/printers/any.d.ts +0 -2
- package/dist/printers/any.js +0 -63
- package/dist/printers/any.js.map +0 -1
- package/dist/printers/array.aio.d.ts +0 -3
- package/dist/printers/array.aio.js +0 -259
- package/dist/printers/array.aio.js.map +0 -1
- package/dist/printers/edge.d.ts +0 -5
- package/dist/printers/edge.js +0 -78
- package/dist/printers/edge.js.map +0 -1
- package/dist/printers/explain.plan.d.ts +0 -2
- package/dist/printers/explain.plan.js +0 -46
- package/dist/printers/explain.plan.js.map +0 -1
- package/dist/printers/index.d.ts +0 -24
- package/dist/printers/index.js +0 -43
- package/dist/printers/index.js.map +0 -1
- package/dist/printers/node.d.ts +0 -5
- package/dist/printers/node.js +0 -77
- package/dist/printers/node.js.map +0 -1
- package/dist/printers/path.d.ts +0 -3
- package/dist/printers/path.js +0 -62
- package/dist/printers/path.js.map +0 -1
- package/dist/printers/status.d.ts +0 -3
- package/dist/printers/status.js +0 -68
- package/dist/printers/status.js.map +0 -1
- package/dist/printers/table.d.ts +0 -2
- package/dist/printers/table.js +0 -56
- package/dist/printers/table.js.map +0 -1
- package/dist/proto/tmp.js +0 -366
- package/dist/proto/ultipa_grpc_pb.d.ts +0 -258
- package/dist/proto/ultipa_grpc_pb.js +0 -366
- package/dist/proto/ultipa_grpc_pb.js.map +0 -1
- package/dist/proto/ultipa_pb.d.ts +0 -1
- package/dist/proto/ultipa_pb.js +0 -11002
- package/dist/proto/ultipa_pb.js.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/types.algos.params.d.ts +0 -545
- package/dist/types/types.algos.params.js +0 -16
- package/dist/types/types.algos.params.js.map +0 -1
- package/dist/types/types.d.ts +0 -1204
- package/dist/types/types.extra.d.ts +0 -146
- package/dist/types/types.extra.js +0 -27
- package/dist/types/types.extra.js.map +0 -1
- package/dist/types/types.js +0 -1596
- package/dist/types/types.js.map +0 -1
- package/dist/types/util.d.ts +0 -15
- package/dist/types/util.js +0 -136
- package/dist/types/util.js.map +0 -1
- package/dist/utils/common.d.ts +0 -3
- package/dist/utils/common.js +0 -22
- package/dist/utils/common.js.map +0 -1
- package/dist/utils/format.d.ts +0 -45
- package/dist/utils/format.js +0 -877
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/index.d.ts +0 -10
- package/dist/utils/index.js +0 -30
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/property.d.ts +0 -18
- package/dist/utils/property.js +0 -153
- package/dist/utils/property.js.map +0 -1
- package/dist/utils/serialize/commont.d.ts +0 -12
- package/dist/utils/serialize/commont.js +0 -46
- package/dist/utils/serialize/commont.js.map +0 -1
- package/dist/utils/serialize/deserialize.d.ts +0 -9
- package/dist/utils/serialize/deserialize.js +0 -166
- package/dist/utils/serialize/deserialize.js.map +0 -1
- package/dist/utils/serialize/null.d.ts +0 -25
- package/dist/utils/serialize/null.js +0 -136
- package/dist/utils/serialize/null.js.map +0 -1
- package/dist/utils/serialize/serialize.d.ts +0 -10
- package/dist/utils/serialize/serialize.js +0 -144
- package/dist/utils/serialize/serialize.js.map +0 -1
- package/dist/utils/stream.helper.d.ts +0 -10
- package/dist/utils/stream.helper.js +0 -71
- package/dist/utils/stream.helper.js.map +0 -1
- package/dist/utils/time.record.d.ts +0 -15
- package/dist/utils/time.record.js +0 -52
- package/dist/utils/time.record.js.map +0 -1
- package/dist/utils/ultipa.datetime.d.ts +0 -14
- package/dist/utils/ultipa.datetime.js +0 -160
- package/dist/utils/ultipa.datetime.js.map +0 -1
- package/dist/utils/uql-maker.d.ts +0 -165
- package/dist/utils/uql-maker.js +0 -402
- package/dist/utils/uql-maker.js.map +0 -1
- package/dist/utils/uql.parse.d.ts +0 -27
- package/dist/utils/uql.parse.js +0 -205
- package/dist/utils/uql.parse.js.map +0 -1
- package/readme.md +0 -65
- package/src/proto/build.sh +0 -41
- package/src/proto/build_windows.sh +0 -40
- package/src/proto/ultipa.proto +0 -492
- package/src/proto/ultipa_grpc_pb.d.ts +0 -92
- package/src/proto/ultipa_grpc_pb.js +0 -414
- package/src/proto/ultipa_pb.d.ts +0 -1806
- package/src/proto/ultipa_pb.js +0 -13499
package/dist/config.js
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for GQLDB Node.js driver.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ConfigBuilder = exports.DEFAULT_CONFIG = void 0;
|
|
7
|
+
exports.validateConfig = validateConfig;
|
|
8
|
+
exports.createConfig = createConfig;
|
|
9
|
+
/** Default configuration values */
|
|
10
|
+
exports.DEFAULT_CONFIG = {
|
|
11
|
+
hosts: ['localhost:9000'],
|
|
12
|
+
timeout: 30000, // 30 seconds (in milliseconds)
|
|
13
|
+
maxRecvSize: 64 * 1024 * 1024, // 64MB
|
|
14
|
+
poolSize: 10,
|
|
15
|
+
healthCheckInterval: 30000, // 30 seconds (in milliseconds)
|
|
16
|
+
retryCount: 3,
|
|
17
|
+
retryDelay: 100, // 100ms
|
|
18
|
+
};
|
|
19
|
+
/** Builder for creating GqldbConfig */
|
|
20
|
+
class ConfigBuilder {
|
|
21
|
+
config = {};
|
|
22
|
+
/** Set the server hosts */
|
|
23
|
+
hosts(...hosts) {
|
|
24
|
+
this.config.hosts = hosts;
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
/** Set the username for authentication */
|
|
28
|
+
username(username) {
|
|
29
|
+
this.config.username = username;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
/** Set the password for authentication */
|
|
33
|
+
password(password) {
|
|
34
|
+
this.config.password = password;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/** Set the default graph */
|
|
38
|
+
defaultGraph(graph) {
|
|
39
|
+
this.config.defaultGraph = graph;
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
/** Set the query timeout in milliseconds */
|
|
43
|
+
timeout(ms) {
|
|
44
|
+
this.config.timeout = ms;
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
/** Set the query timeout in seconds (convenience method) */
|
|
48
|
+
timeoutSeconds(seconds) {
|
|
49
|
+
this.config.timeout = seconds * 1000;
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
/** Set the maximum receive message size */
|
|
53
|
+
maxRecvSize(bytes) {
|
|
54
|
+
this.config.maxRecvSize = bytes;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/** Set TLS options */
|
|
58
|
+
tls(options) {
|
|
59
|
+
this.config.tlsOptions = options;
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
/** Set the connection pool size per host */
|
|
63
|
+
poolSize(size) {
|
|
64
|
+
this.config.poolSize = size;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/** Set the health check interval in milliseconds */
|
|
68
|
+
healthCheckInterval(ms) {
|
|
69
|
+
this.config.healthCheckInterval = ms;
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
/** Set the number of retries */
|
|
73
|
+
retryCount(count) {
|
|
74
|
+
this.config.retryCount = count;
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
/** Set the delay between retries in milliseconds */
|
|
78
|
+
retryDelay(ms) {
|
|
79
|
+
this.config.retryDelay = ms;
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
/** Build and return the configuration */
|
|
83
|
+
build() {
|
|
84
|
+
const config = {
|
|
85
|
+
hosts: this.config.hosts ?? exports.DEFAULT_CONFIG.hosts,
|
|
86
|
+
username: this.config.username,
|
|
87
|
+
password: this.config.password,
|
|
88
|
+
defaultGraph: this.config.defaultGraph,
|
|
89
|
+
timeout: this.config.timeout ?? exports.DEFAULT_CONFIG.timeout,
|
|
90
|
+
maxRecvSize: this.config.maxRecvSize ?? exports.DEFAULT_CONFIG.maxRecvSize,
|
|
91
|
+
tlsOptions: this.config.tlsOptions,
|
|
92
|
+
poolSize: this.config.poolSize ?? exports.DEFAULT_CONFIG.poolSize,
|
|
93
|
+
healthCheckInterval: this.config.healthCheckInterval ?? exports.DEFAULT_CONFIG.healthCheckInterval,
|
|
94
|
+
retryCount: this.config.retryCount ?? exports.DEFAULT_CONFIG.retryCount,
|
|
95
|
+
retryDelay: this.config.retryDelay ?? exports.DEFAULT_CONFIG.retryDelay,
|
|
96
|
+
};
|
|
97
|
+
validateConfig(config);
|
|
98
|
+
return config;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.ConfigBuilder = ConfigBuilder;
|
|
102
|
+
/** Validate the configuration */
|
|
103
|
+
function validateConfig(config) {
|
|
104
|
+
if (!config.hosts || config.hosts.length === 0) {
|
|
105
|
+
throw new Error('No hosts configured');
|
|
106
|
+
}
|
|
107
|
+
if (config.timeout !== undefined && config.timeout < 0) {
|
|
108
|
+
throw new Error('Invalid timeout value');
|
|
109
|
+
}
|
|
110
|
+
if (config.maxRecvSize !== undefined && config.maxRecvSize <= 0) {
|
|
111
|
+
config.maxRecvSize = exports.DEFAULT_CONFIG.maxRecvSize;
|
|
112
|
+
}
|
|
113
|
+
if (config.poolSize !== undefined && config.poolSize <= 0) {
|
|
114
|
+
config.poolSize = exports.DEFAULT_CONFIG.poolSize;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/** Create a configuration with defaults */
|
|
118
|
+
function createConfig(options = {}) {
|
|
119
|
+
const config = {
|
|
120
|
+
hosts: options.hosts ?? exports.DEFAULT_CONFIG.hosts,
|
|
121
|
+
username: options.username,
|
|
122
|
+
password: options.password,
|
|
123
|
+
defaultGraph: options.defaultGraph,
|
|
124
|
+
timeout: options.timeout ?? exports.DEFAULT_CONFIG.timeout,
|
|
125
|
+
maxRecvSize: options.maxRecvSize ?? exports.DEFAULT_CONFIG.maxRecvSize,
|
|
126
|
+
tlsOptions: options.tlsOptions,
|
|
127
|
+
poolSize: options.poolSize ?? exports.DEFAULT_CONFIG.poolSize,
|
|
128
|
+
healthCheckInterval: options.healthCheckInterval ?? exports.DEFAULT_CONFIG.healthCheckInterval,
|
|
129
|
+
retryCount: options.retryCount ?? exports.DEFAULT_CONFIG.retryCount,
|
|
130
|
+
retryDelay: options.retryDelay ?? exports.DEFAULT_CONFIG.retryDelay,
|
|
131
|
+
};
|
|
132
|
+
validateConfig(config);
|
|
133
|
+
return config;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQTJJSCx3Q0FnQkM7QUFHRCxvQ0FpQkM7QUFqSkQsbUNBQW1DO0FBQ3RCLFFBQUEsY0FBYyxHQUF5RjtJQUNsSCxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN6QixPQUFPLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUMvQyxXQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUUsT0FBTztJQUN0QyxRQUFRLEVBQUUsRUFBRTtJQUNaLG1CQUFtQixFQUFFLEtBQUssRUFBRSwrQkFBK0I7SUFDM0QsVUFBVSxFQUFFLENBQUM7SUFDYixVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVE7Q0FDMUIsQ0FBQztBQUVGLHVDQUF1QztBQUN2QyxNQUFhLGFBQWE7SUFDaEIsTUFBTSxHQUF5QixFQUFFLENBQUM7SUFFMUMsMkJBQTJCO0lBQzNCLEtBQUssQ0FBQyxHQUFHLEtBQWU7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDakMsT0FBTyxJQUFJLENB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T0FBTyxDQUFDLFVBQVUsSUFBSSxzQkFBYyxDQUFDLFVBQVU7UUFDM0QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksc0JBQWMsQ0FBQyxVQUFVO0tBQzVELENBQUM7SUFFRixjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZvciBHUUxEQiBOb2RlLmpzIGRyaXZlci5cclxuICovXHJcblxyXG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEdxbGRiQ2xpZW50ICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJDb25maWcge1xyXG4gIC8qKiBTZXJ2ZXIgaG9zdHMgaW4gZm9ybWF0IFwiaG9zdDpwb3J0XCIgKi9cclxuICBob3N0czogc3RyaW5nW107XHJcbiAgLyoqIFVzZXJuYW1lIGZvciBhdXRoZW50aWNhdGlvbiAqL1xyXG4gIHVzZXJuYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBQYXNzd29yZCBmb3IgYXV0aGVudGljYXRpb24gKi9cclxuICBwYXNzd29yZD86IHN0cmluZztcclxuICAvKiogRGVmYXVsdCBncmFwaCB0byB1c2UgKi9cclxuICBkZWZhdWx0R3JhcGg/OiBzdHJpbmc7XHJcbiAgLyoqIFF1ZXJ5IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0IDMwMDAwbXMgPSAzMHMpICovXHJcbiAgdGltZW91dD86IG51bWJlcjtcclxuICAvKiogTWF4aW11bSByZWNlaXZlIG1lc3NhZ2Ugc2l6ZSBpbiBieXRlcyAoZGVmYXVsdCA2NE1CKSAqL1xyXG4gIG1heFJlY3ZTaXplPzogbnVtYmVyO1xyXG4gIC8qKiBUTFMgb3B0aW9ucyBmb3Igc2VjdXJlIGNvbm5lY3Rpb25zICovXHJcbiAgdGxzT3B0aW9ucz86IHRscy5Db25uZWN0aW9uT3B0aW9ucztcclxuICAvKiogQ29ubmVjdGlvbiBwb29sIHNpemUgcGVyIGhvc3QgKi9cclxuICBwb29sU2l6ZT86IG51bWJlcjtcclxuICAvKiogSGVhbHRoIGNoZWNrIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdCAzMDAwMG1zID0gMzBzKSAqL1xyXG4gIGhlYWx0aENoZWNrSW50ZXJ2YWw/OiBudW1iZXI7XHJcbiAgLyoqIE51bWJlciBvZiByZXRyaWVzIGZvciBmYWlsZWQgcmVxdWVzdHMgKi9cclxuICByZXRyeUNvdW50PzogbnVtYmVyO1xyXG4gIC8qKiBEZWxheSBiZXR3ZWVuIHJldHJpZXMgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0IDEwMG1zKSAqL1xyXG4gIHJldHJ5RGVsYXk/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKiBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gdmFsdWVzICovXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogUmVxdWlyZWQ8T21pdDxHcWxkYkNvbmZpZywgJ3VzZXJuYW1lJyB8ICdwYXNzd29yZCcgfCAnZGVmYXVsdEdyYXBoJyB8ICd0bHNPcHRpb25zJz4+ID0ge1xyXG4gIGhvc3RzOiBbJ2xvY2FsaG9zdDo5MDAwJ10sXHJcbiAgdGltZW91dDogMzAwMDAsIC8vIDMwIHNlY29uZHMgKGluIG1pbGxpc2Vjb25kcylcclxuICBtYXhSZWN2U2l6ZTogNjQgKiAxMDI0ICogMTAyNCwgLy8gNjRNQlxyXG4gIHBvb2xTaXplOiAxMCxcclxuICBoZWFsdGhDaGVja0ludGVydmFsOiAzMDAwMCwgLy8gMzAgc2Vjb25kcyAoaW4gbWlsbGlzZWNvbmRzKVxyXG4gIHJldHJ5Q291bnQ6IDMsXHJcbiAgcmV0cnlEZWxheTogMTAwLCAvLyAxMDBtc1xyXG59O1xyXG5cclxuLyoqIEJ1aWxkZXIgZm9yIGNyZWF0aW5nIEdxbGRiQ29uZmlnICovXHJcbmV4cG9ydCBjbGFzcyBDb25maWdCdWlsZGVyIHtcclxuICBwcml2YXRlIGNvbmZpZzogUGFydGlhbDxHcWxkYkNvbmZpZz4gPSB7fTtcclxuXHJcbiAgLyoqIFNldCB0aGUgc2VydmVyIGhvc3RzICovXHJcbiAgaG9zdHMoLi4uaG9zdHM6IHN0cmluZ1tdKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy5ob3N0cyA9IGhvc3RzO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSB1c2VybmFtZSBmb3IgYXV0aGVudGljYXRpb24gKi9cclxuICB1c2VybmFtZSh1c2VybmFtZTogc3RyaW5nKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy51c2VybmFtZSA9IHVzZXJuYW1lO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBwYXNzd29yZCBmb3IgYXV0aGVudGljYXRpb24gKi9cclxuICBwYXNzd29yZChwYXNzd29yZDogc3RyaW5nKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy5wYXNzd29yZCA9IHBhc3N3b3JkO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBkZWZhdWx0IGdyYXBoICovXHJcbiAgZGVmYXVsdEdyYXBoKGdyYXBoOiBzdHJpbmcpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLmRlZmF1bHRHcmFwaCA9IGdyYXBoO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBxdWVyeSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAqL1xyXG4gIHRpbWVvdXQobXM6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5jb25maWcudGltZW91dCA9IG1zO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBxdWVyeSB0aW1lb3V0IGluIHNlY29uZHMgKGNvbnZlbmllbmNlIG1ldGhvZCkgKi9cclxuICB0aW1lb3V0U2Vjb25kcyhzZWNvbmRzOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLnRpbWVvdXQgPSBzZWNvbmRzICogMTAwMDtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgbWF4aW11bSByZWNlaXZlIG1lc3NhZ2Ugc2l6ZSAqL1xyXG4gIG1heFJlY3ZTaXplKGJ5dGVzOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLm1heFJlY3ZTaXplID0gYnl0ZXM7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBTZXQgVExTIG9wdGlvbnMgKi9cclxuICB0bHMob3B0aW9uczogdGxzLkNvbm5lY3Rpb25PcHRpb25zKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy50bHNPcHRpb25zID0gb3B0aW9ucztcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgY29ubmVjdGlvbiBwb29sIHNpemUgcGVyIGhvc3QgKi9cclxuICBwb29sU2l6ZShzaXplOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLnBvb2xTaXplID0gc2l6ZTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgaGVhbHRoIGNoZWNrIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyAqL1xyXG4gIGhlYWx0aENoZWNrSW50ZXJ2YWwobXM6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5jb25maWcuaGVhbHRoQ2hlY2tJbnRlcnZhbCA9IG1zO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBudW1iZXIgb2YgcmV0cmllcyAqL1xyXG4gIHJldHJ5Q291bnQoY291bnQ6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5jb25maWcucmV0cnlDb3VudCA9IGNvdW50O1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBkZWxheSBiZXR3ZWVuIHJldHJpZXMgaW4gbWlsbGlzZWNvbmRzICovXHJcbiAgcmV0cnlEZWxheShtczogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy5yZXRyeURlbGF5ID0gbXM7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBCdWlsZCBhbmQgcmV0dXJuIHRoZSBjb25maWd1cmF0aW9uICovXHJcbiAgYnVpbGQoKTogR3FsZGJDb25maWcge1xyXG4gICAgY29uc3QgY29uZmlnOiBHcWxkYkNvbmZpZyA9IHtcclxuICAgICAgaG9zdHM6IHRoaXMuY29uZmlnLmhvc3RzID8/IERFRkFVTFRfQ09ORklHLmhvc3RzLFxyXG4gICAgICB1c2VybmFtZTogdGhpcy5jb25maWcudXNlcm5hbWUsXHJcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNvbmZpZy5wYXNzd29yZCxcclxuICAgICAgZGVmYXVsdEdyYXBoOiB0aGlzLmNvbmZpZy5kZWZhdWx0R3JhcGgsXHJcbiAgICAgIHRpbWVvdXQ6IHRoaXMuY29uZmlnLnRpbWVvdXQgPz8gREVGQVVMVF9DT05GSUcudGltZW91dCxcclxuICAgICAgbWF4UmVjdlNpemU6IHRoaXMuY29uZmlnLm1heFJlY3ZTaXplID8/IERFRkFVTFRfQ09ORklHLm1heFJlY3ZTaXplLFxyXG4gICAgICB0bHNPcHRpb25zOiB0aGlzLmNvbmZpZy50bHNPcHRpb25zLFxyXG4gICAgICBwb29sU2l6ZTogdGhpcy5jb25maWcucG9vbFNpemUgPz8gREVGQVVMVF9DT05GSUcucG9vbFNpemUsXHJcbiAgICAgIGhlYWx0aENoZWNrSW50ZXJ2YWw6IHRoaXMuY29uZmlnLmhlYWx0aENoZWNrSW50ZXJ2YWwgPz8gREVGQVVMVF9DT05GSUcuaGVhbHRoQ2hlY2tJbnRlcnZhbCxcclxuICAgICAgcmV0cnlDb3VudDogdGhpcy5jb25maWcucmV0cnlDb3VudCA/PyBERUZBVUxUX0NPTkZJRy5yZXRyeUNvdW50LFxyXG4gICAgICByZXRyeURlbGF5OiB0aGlzLmNvbmZpZy5yZXRyeURlbGF5ID8/IERFRkFVTFRfQ09ORklHLnJldHJ5RGVsYXksXHJcbiAgICB9O1xyXG5cclxuICAgIHZhbGlkYXRlQ29uZmlnKGNvbmZpZyk7XHJcbiAgICByZXR1cm4gY29uZmlnO1xyXG4gIH1cclxufVxyXG5cclxuLyoqIFZhbGlkYXRlIHRoZSBjb25maWd1cmF0aW9uICovXHJcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNvbmZpZyhjb25maWc6IEdxbGRiQ29uZmlnKTogdm9pZCB7XHJcbiAgaWYgKCFjb25maWcuaG9zdHMgfHwgY29uZmlnLmhvc3RzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBob3N0cyBjb25maWd1cmVkJyk7XHJcbiAgfVxyXG5cclxuICBpZiAoY29uZmlnLnRpbWVvdXQgIT09IHVuZGVmaW5lZCAmJiBjb25maWcudGltZW91dCA8IDApIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0aW1lb3V0IHZhbHVlJyk7XHJcbiAgfVxyXG5cclxuICBpZiAoY29uZmlnLm1heFJlY3ZTaXplICE9PSB1bmRlZmluZWQgJiYgY29uZmlnLm1heFJlY3ZTaXplIDw9IDApIHtcclxuICAgIGNvbmZpZy5tYXhSZWN2U2l6ZSA9IERFRkFVTFRfQ09ORklHLm1heFJlY3ZTaXplO1xyXG4gIH1cclxuXHJcbiAgaWYgKGNvbmZpZy5wb29sU2l6ZSAhPT0gdW5kZWZpbmVkICYmIGNvbmZpZy5wb29sU2l6ZSA8PSAwKSB7XHJcbiAgICBjb25maWcucG9vbFNpemUgPSBERUZBVUxUX0NPTkZJRy5wb29sU2l6ZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKiBDcmVhdGUgYSBjb25maWd1cmF0aW9uIHdpdGggZGVmYXVsdHMgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbmZpZyhvcHRpb25zOiBQYXJ0aWFsPEdxbGRiQ29uZmlnPiA9IHt9KTogR3FsZGJDb25maWcge1xyXG4gIGNvbnN0IGNvbmZpZzogR3FsZGJDb25maWcgPSB7XHJcbiAgICBob3N0czogb3B0aW9ucy5ob3N0cyA/PyBERUZBVUxUX0NPTkZJRy5ob3N0cyxcclxuICAgIHVzZXJuYW1lOiBvcHRpb25zLnVzZXJuYW1lLFxyXG4gICAgcGFzc3dvcmQ6IG9wdGlvbnMucGFzc3dvcmQsXHJcbiAgICBkZWZhdWx0R3JhcGg6IG9wdGlvbnMuZGVmYXVsdEdyYXBoLFxyXG4gICAgdGltZW91dDogb3B0aW9ucy50aW1lb3V0ID8/IERFRkFVTFRfQ09ORklHLnRpbWVvdXQsXHJcbiAgICBtYXhSZWN2U2l6ZTogb3B0aW9ucy5tYXhSZWN2U2l6ZSA/PyBERUZBVUxUX0NPTkZJRy5tYXhSZWN2U2l6ZSxcclxuICAgIHRsc09wdGlvbnM6IG9wdGlvbnMudGxzT3B0aW9ucyxcclxuICAgIHBvb2xTaXplOiBvcHRpb25zLnBvb2xTaXplID8/IERFRkFVTFRfQ09ORklHLnBvb2xTaXplLFxyXG4gICAgaGVhbHRoQ2hlY2tJbnRlcnZhbDogb3B0aW9ucy5oZWFsdGhDaGVja0ludGVydmFsID8/IERFRkFVTFRfQ09ORklHLmhlYWx0aENoZWNrSW50ZXJ2YWwsXHJcbiAgICByZXRyeUNvdW50OiBvcHRpb25zLnJldHJ5Q291bnQgPz8gREVGQVVMVF9DT05GSUcucmV0cnlDb3VudCxcclxuICAgIHJldHJ5RGVsYXk6IG9wdGlvbnMucmV0cnlEZWxheSA/PyBERUZBVUxUX0NPTkZJRy5yZXRyeURlbGF5LFxyXG4gIH07XHJcblxyXG4gIHZhbGlkYXRlQ29uZmlnKGNvbmZpZyk7XHJcbiAgcmV0dXJuIGNvbmZpZztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection management for GQLDB Node.js driver.
|
|
3
|
+
*/
|
|
4
|
+
import * as grpc from '@grpc/grpc-js';
|
|
5
|
+
import { GqldbConfig } from './config';
|
|
6
|
+
/** Manages a pool of connections to GQLDB servers */
|
|
7
|
+
export declare class ConnectionPool {
|
|
8
|
+
private config;
|
|
9
|
+
private connections;
|
|
10
|
+
private closed;
|
|
11
|
+
private healthCheckTimer?;
|
|
12
|
+
constructor(config: GqldbConfig);
|
|
13
|
+
private initConnections;
|
|
14
|
+
private createConnection;
|
|
15
|
+
/** Get a healthy connection from the pool */
|
|
16
|
+
getConnection(): grpc.Client;
|
|
17
|
+
/** Get a connection for a specific host */
|
|
18
|
+
getConnectionForHost(host: string): grpc.Client;
|
|
19
|
+
private startHealthCheck;
|
|
20
|
+
private checkHealth;
|
|
21
|
+
private reconnect;
|
|
22
|
+
/** Close all connections in the pool */
|
|
23
|
+
close(): void;
|
|
24
|
+
/** Get the number of healthy hosts */
|
|
25
|
+
healthyHostCount(): number;
|
|
26
|
+
/** Get the list of configured hosts */
|
|
27
|
+
hosts(): string[];
|
|
28
|
+
/** Check if the pool is closed */
|
|
29
|
+
isClosed(): boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Connection management for GQLDB Node.js driver.
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ConnectionPool = void 0;
|
|
40
|
+
const grpc = __importStar(require("@grpc/grpc-js"));
|
|
41
|
+
const errors_1 = require("./errors");
|
|
42
|
+
/** Manages a pool of connections to GQLDB servers */
|
|
43
|
+
class ConnectionPool {
|
|
44
|
+
config;
|
|
45
|
+
connections = new Map();
|
|
46
|
+
closed = false;
|
|
47
|
+
healthCheckTimer;
|
|
48
|
+
constructor(config) {
|
|
49
|
+
this.config = config;
|
|
50
|
+
this.initConnections();
|
|
51
|
+
this.startHealthCheck();
|
|
52
|
+
}
|
|
53
|
+
initConnections() {
|
|
54
|
+
for (const host of this.config.hosts) {
|
|
55
|
+
try {
|
|
56
|
+
const conn = this.createConnection(host);
|
|
57
|
+
this.connections.set(host, conn);
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
// Continue with other hosts
|
|
61
|
+
console.error(`Failed to connect to ${host}:`, e);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (this.connections.size === 0) {
|
|
65
|
+
throw new errors_1.AllHostsFailedError();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
createConnection(host) {
|
|
69
|
+
let credentials;
|
|
70
|
+
if (this.config.tlsOptions) {
|
|
71
|
+
credentials = grpc.credentials.createSsl();
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
credentials = grpc.credentials.createInsecure();
|
|
75
|
+
}
|
|
76
|
+
const options = {
|
|
77
|
+
'grpc.max_receive_message_length': this.config.maxRecvSize ?? 4 * 1024 * 1024,
|
|
78
|
+
'grpc.keepalive_time_ms': 30000,
|
|
79
|
+
'grpc.keepalive_timeout_ms': 10000,
|
|
80
|
+
'grpc.keepalive_permit_without_calls': 1,
|
|
81
|
+
};
|
|
82
|
+
// Create a generic client for the channel
|
|
83
|
+
const client = new grpc.Client(host, credentials, options);
|
|
84
|
+
return {
|
|
85
|
+
host,
|
|
86
|
+
client,
|
|
87
|
+
healthy: true,
|
|
88
|
+
lastPing: Date.now(),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/** Get a healthy connection from the pool */
|
|
92
|
+
getConnection() {
|
|
93
|
+
if (this.closed) {
|
|
94
|
+
throw new errors_1.ConnectionClosedError();
|
|
95
|
+
}
|
|
96
|
+
for (const conn of this.connections.values()) {
|
|
97
|
+
if (conn.healthy) {
|
|
98
|
+
return conn.client;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
throw new errors_1.NoConnectionError();
|
|
102
|
+
}
|
|
103
|
+
/** Get a connection for a specific host */
|
|
104
|
+
getConnectionForHost(host) {
|
|
105
|
+
const conn = this.connections.get(host);
|
|
106
|
+
if (!conn || !conn.healthy) {
|
|
107
|
+
throw new errors_1.NoConnectionError();
|
|
108
|
+
}
|
|
109
|
+
return conn.client;
|
|
110
|
+
}
|
|
111
|
+
startHealthCheck() {
|
|
112
|
+
const interval = this.config.healthCheckInterval ?? 30000;
|
|
113
|
+
if (interval > 0) {
|
|
114
|
+
this.healthCheckTimer = setInterval(() => this.checkHealth(), interval);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
checkHealth() {
|
|
118
|
+
for (const [host, conn] of this.connections) {
|
|
119
|
+
const state = conn.client.getChannel().getConnectivityState(false);
|
|
120
|
+
const healthy = state === grpc.connectivityState.READY ||
|
|
121
|
+
state === grpc.connectivityState.IDLE;
|
|
122
|
+
conn.healthy = healthy;
|
|
123
|
+
if (healthy) {
|
|
124
|
+
conn.lastPing = Date.now();
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this.reconnect(host);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async reconnect(host) {
|
|
132
|
+
if (this.closed)
|
|
133
|
+
return;
|
|
134
|
+
const oldConn = this.connections.get(host);
|
|
135
|
+
if (oldConn) {
|
|
136
|
+
try {
|
|
137
|
+
oldConn.client.close();
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
// Ignore
|
|
141
|
+
}
|
|
142
|
+
this.connections.delete(host);
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const newConn = this.createConnection(host);
|
|
146
|
+
this.connections.set(host, newConn);
|
|
147
|
+
}
|
|
148
|
+
catch (e) {
|
|
149
|
+
// Log and continue
|
|
150
|
+
console.error(`Failed to reconnect to ${host}:`, e);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/** Close all connections in the pool */
|
|
154
|
+
close() {
|
|
155
|
+
if (this.closed)
|
|
156
|
+
return;
|
|
157
|
+
this.closed = true;
|
|
158
|
+
if (this.healthCheckTimer) {
|
|
159
|
+
clearInterval(this.healthCheckTimer);
|
|
160
|
+
}
|
|
161
|
+
for (const conn of this.connections.values()) {
|
|
162
|
+
try {
|
|
163
|
+
conn.client.close();
|
|
164
|
+
}
|
|
165
|
+
catch (e) {
|
|
166
|
+
// Ignore
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
this.connections.clear();
|
|
170
|
+
}
|
|
171
|
+
/** Get the number of healthy hosts */
|
|
172
|
+
healthyHostCount() {
|
|
173
|
+
let count = 0;
|
|
174
|
+
for (const conn of this.connections.values()) {
|
|
175
|
+
if (conn.healthy)
|
|
176
|
+
count++;
|
|
177
|
+
}
|
|
178
|
+
return count;
|
|
179
|
+
}
|
|
180
|
+
/** Get the list of configured hosts */
|
|
181
|
+
hosts() {
|
|
182
|
+
return Array.from(this.connections.keys());
|
|
183
|
+
}
|
|
184
|
+
/** Check if the pool is closed */
|
|
185
|
+
isClosed() {
|
|
186
|
+
return this.closed;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.ConnectionPool = ConnectionPool;
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsb0RBQXNDO0FBRXRDLHFDQUF5RjtBQVV6RixxREFBcUQ7QUFDckQsTUFBYSxjQUFjO0lBQ2pCLE1BQU0sQ0FBYztJQUNwQixXQUFXLEdBQTRCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakQsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLGdCQUFnQixDQUFrQjtJQUUxQyxZQUFZLE1BQW1CO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZUFBZTtRQUNyQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLDRCQUE0QjtnQkFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSw0QkFBbUIsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENB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SSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxTQUFTO1lBQ1gsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsZ0JBQWdCO1FBQ2QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDN0MsSUFBSSxJQUFJLENBQUMsT0FBTztnQkFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLEtBQUs7UUFDSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFsS0Qsd0NBa0tDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENvbm5lY3Rpb24gbWFuYWdlbWVudCBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXHJcbiAqL1xyXG5cclxuaW1wb3J0ICogYXMgZ3JwYyBmcm9tICdAZ3JwYy9ncnBjLWpzJztcclxuaW1wb3J0IHsgR3FsZGJDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmltcG9ydCB7IEFsbEhvc3RzRmFpbGVkRXJyb3IsIENvbm5lY3Rpb25DbG9zZWRFcnJvciwgTm9Db25uZWN0aW9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XHJcblxyXG4vKiogUmVwcmVzZW50cyBhIHNpbmdsZSBnUlBDIGNvbm5lY3Rpb24gKi9cclxuaW50ZXJmYWNlIENvbm5lY3Rpb24ge1xyXG4gIGhvc3Q6IHN0cmluZztcclxuICBjbGllbnQ6IGdycGMuQ2xpZW50O1xyXG4gIGhlYWx0aHk6IGJvb2xlYW47XHJcbiAgbGFzdFBpbmc6IG51bWJlcjtcclxufVxyXG5cclxuLyoqIE1hbmFnZXMgYSBwb29sIG9mIGNvbm5lY3Rpb25zIHRvIEdRTERCIHNlcnZlcnMgKi9cclxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25Qb29sIHtcclxuICBwcml2YXRlIGNvbmZpZzogR3FsZGJDb25maWc7XHJcbiAgcHJpdmF0ZSBjb25uZWN0aW9uczogTWFwPHN0cmluZywgQ29ubmVjdGlvbj4gPSBuZXcgTWFwKCk7XHJcbiAgcHJpdmF0ZSBjbG9zZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIGhlYWx0aENoZWNrVGltZXI/OiBOb2RlSlMuVGltZW91dDtcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBHcWxkYkNvbmZpZykge1xyXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XHJcbiAgICB0aGlzLmluaXRDb25uZWN0aW9ucygpO1xyXG4gICAgdGhpcy5zdGFydEhlYWx0aENoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDb25uZWN0aW9ucygpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgaG9zdCBvZiB0aGlzLmNvbmZpZy5ob3N0cykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGNvbm4gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oaG9zdCk7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0aW9ucy5zZXQoaG9zdCwgY29ubik7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAvLyBDb250aW51ZSB3aXRoIG90aGVyIGhvc3RzXHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvbm5lY3QgdG8gJHtob3N0fTpgLCBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25zLnNpemUgPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEFsbEhvc3RzRmFpbGVkRXJyb3IoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQ29ubmVjdGlvbihob3N0OiBzdHJpbmcpOiBDb25uZWN0aW9uIHtcclxuICAgIGxldCBjcmVkZW50aWFsczogZ3JwYy5DaGFubmVsQ3JlZGVudGlhbHM7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRsc09wdGlvbnMpIHtcclxuICAgICAgY3JlZGVudGlhbHMgPSBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZVNzbCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY3JlZGVudGlhbHMgPSBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZUluc2VjdXJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uczogZ3JwYy5DaGFubmVsT3B0aW9ucyA9IHtcclxuICAgICAgJ2dycGMubWF4X3JlY2VpdmVfbWVzc2FnZV9sZW5ndGgnOiB0aGlzLmNvbmZpZy5tYXhSZWN2U2l6ZSA/PyA0ICogMTAyNCAqIDEwMjQsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lX21zJzogMzAwMDAsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lb3V0X21zJzogMTAwMDAsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV9wZXJtaXRfd2l0aG91dF9jYWxscyc6IDEsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSBhIGdlbmVyaWMgY2xpZW50IGZvciB0aGUgY2hhbm5lbFxyXG4gICAgY29uc3QgY2xpZW50ID0gbmV3IGdycGMuQ2xpZW50KGhvc3QsIGNyZWRlbnRpYWxzLCBvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBob3N0LFxyXG4gICAgICBjbGllbnQsXHJcbiAgICAgIGhlYWx0aHk6IHRydWUsXHJcbiAgICAgIGxhc3RQaW5nOiBEYXRlLm5vdygpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKiBHZXQgYSBoZWFsdGh5IGNvbm5lY3Rpb24gZnJvbSB0aGUgcG9vbCAqL1xyXG4gIGdldENvbm5lY3Rpb24oKTogZ3JwYy5DbGllbnQge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VkKSB7XHJcbiAgICAgIHRocm93IG5ldyBDb25uZWN0aW9uQ2xvc2VkRXJyb3IoKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGNvbm4gb2YgdGhpcy5jb25uZWN0aW9ucy52YWx1ZXMoKSkge1xyXG4gICAgICBpZiAoY29ubi5oZWFsdGh5KSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbm4uY2xpZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhyb3cgbmV3IE5vQ29ubmVjdGlvbkVycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IGEgY29ubmVjdGlvbiBmb3IgYSBzcGVjaWZpYyBob3N0ICovXHJcbiAgZ2V0Q29ubmVjdGlvbkZvckhvc3QoaG9zdDogc3RyaW5nKTogZ3JwYy5DbGllbnQge1xyXG4gICAgY29uc3QgY29ubiA9IHRoaXMuY29ubmVjdGlvbnMuZ2V0KGhvc3QpO1xyXG4gICAgaWYgKCFjb25uIHx8ICFjb25uLmhlYWx0aHkpIHtcclxuICAgICAgdGhyb3cgbmV3IE5vQ29ubmVjdGlvbkVycm9yKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29ubi5jbGllbnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXJ0SGVhbHRoQ2hlY2soKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuY29uZmlnLmhlYWx0aENoZWNrSW50ZXJ2YWwgPz8gMzAwMDA7XHJcbiAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7XHJcbiAgICAgIHRoaXMuaGVhbHRoQ2hlY2tUaW1lciA9IHNldEludGVydmFsKCgpID0+IHRoaXMuY2hlY2tIZWFsdGgoKSwgaW50ZXJ2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0hlYWx0aCgpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgW2hvc3QsIGNvbm5dIG9mIHRoaXMuY29ubmVjdGlvbnMpIHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSBjb25uLmNsaWVudC5nZXRDaGFubmVsKCkuZ2V0Q29ubmVjdGl2aXR5U3RhdGUoZmFsc2UpO1xyXG4gICAgICBjb25zdCBoZWFsdGh5ID0gc3RhdGUgPT09IGdycGMuY29ubmVjdGl2aXR5U3RhdGUuUkVBRFkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPT09IGdycGMuY29ubmVjdGl2aXR5U3RhdGUuSURMRTtcclxuXHJcbiAgICAgIGNvbm4uaGVhbHRoeSA9IGhlYWx0aHk7XHJcbiAgICAgIGlmIChoZWFsdGh5KSB7XHJcbiAgICAgICAgY29ubi5sYXN0UGluZyA9IERhdGUubm93KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZWNvbm5lY3QoaG9zdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcmVjb25uZWN0KGhvc3Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VkKSByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgb2xkQ29ubiA9IHRoaXMuY29ubmVjdGlvbnMuZ2V0KGhvc3QpO1xyXG4gICAgaWYgKG9sZENvbm4pIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBvbGRDb25uLmNsaWVudC5jbG9zZSgpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgLy8gSWdub3JlXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb25uZWN0aW9ucy5kZWxldGUoaG9zdCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgbmV3Q29ubiA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbihob3N0KTtcclxuICAgICAgdGhpcy5jb25uZWN0aW9ucy5zZXQoaG9zdCwgbmV3Q29ubik7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIC8vIExvZyBhbmQgY29udGludWVcclxuICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHJlY29ubmVjdCB0byAke2hvc3R9OmAsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIENsb3NlIGFsbCBjb25uZWN0aW9ucyBpbiB0aGUgcG9vbCAqL1xyXG4gIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VkKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLmhlYWx0aENoZWNrVGltZXIpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmhlYWx0aENoZWNrVGltZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgY29ubiBvZiB0aGlzLmNvbm5lY3Rpb25zLnZhbHVlcygpKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29ubi5jbGllbnQuY2xvc2UoKTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIC8vIElnbm9yZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb25uZWN0aW9ucy5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEdldCB0aGUgbnVtYmVyIG9mIGhlYWx0aHkgaG9zdHMgKi9cclxuICBoZWFsdGh5SG9zdENvdW50KCk6IG51bWJlciB7XHJcbiAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgZm9yIChjb25zdCBjb25uIG9mIHRoaXMuY29ubmVjdGlvbnMudmFsdWVzKCkpIHtcclxuICAgICAgaWYgKGNvbm4uaGVhbHRoeSkgY291bnQrKztcclxuICAgIH1cclxuICAgIHJldHVybiBjb3VudDtcclxuICB9XHJcblxyXG4gIC8qKiBHZXQgdGhlIGxpc3Qgb2YgY29uZmlndXJlZCBob3N0cyAqL1xyXG4gIGhvc3RzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY29ubmVjdGlvbnMua2V5cygpKTtcclxuICB9XHJcblxyXG4gIC8qKiBDaGVjayBpZiB0aGUgcG9vbCBpcyBjbG9zZWQgKi9cclxuICBpc0Nsb3NlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNsb3NlZDtcclxuICB9XHJcbn1cclxuIl19
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error definitions for GQLDB Node.js driver.
|
|
3
|
+
*/
|
|
4
|
+
/** Base error class for GQLDB errors */
|
|
5
|
+
export declare class GqldbError extends Error {
|
|
6
|
+
readonly code: number;
|
|
7
|
+
readonly cause?: Error | undefined;
|
|
8
|
+
constructor(message: string, code?: number, cause?: Error | undefined);
|
|
9
|
+
}
|
|
10
|
+
export declare class NoHostsError extends GqldbError {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
13
|
+
export declare class InvalidTimeoutError extends GqldbError {
|
|
14
|
+
constructor();
|
|
15
|
+
}
|
|
16
|
+
export declare class NoConnectionError extends GqldbError {
|
|
17
|
+
constructor();
|
|
18
|
+
}
|
|
19
|
+
export declare class ConnectionClosedError extends GqldbError {
|
|
20
|
+
constructor();
|
|
21
|
+
}
|
|
22
|
+
export declare class ConnectionFailedError extends GqldbError {
|
|
23
|
+
constructor(message?: string, cause?: Error);
|
|
24
|
+
}
|
|
25
|
+
export declare class AllHostsFailedError extends GqldbError {
|
|
26
|
+
constructor();
|
|
27
|
+
}
|
|
28
|
+
export declare class HealthCheckFailedError extends GqldbError {
|
|
29
|
+
constructor();
|
|
30
|
+
}
|
|
31
|
+
export declare class NotLoggedInError extends GqldbError {
|
|
32
|
+
constructor();
|
|
33
|
+
}
|
|
34
|
+
export declare class LoginFailedError extends GqldbError {
|
|
35
|
+
constructor(message?: string, cause?: Error);
|
|
36
|
+
}
|
|
37
|
+
export declare class LogoutFailedError extends GqldbError {
|
|
38
|
+
constructor(message?: string, cause?: Error);
|
|
39
|
+
}
|
|
40
|
+
export declare class SessionExpiredError extends GqldbError {
|
|
41
|
+
constructor();
|
|
42
|
+
}
|
|
43
|
+
export declare class InvalidSessionError extends GqldbError {
|
|
44
|
+
constructor();
|
|
45
|
+
}
|
|
46
|
+
export declare class NoTransactionError extends GqldbError {
|
|
47
|
+
constructor();
|
|
48
|
+
}
|
|
49
|
+
export declare class TransactionFailedError extends GqldbError {
|
|
50
|
+
constructor(message?: string, cause?: Error);
|
|
51
|
+
}
|
|
52
|
+
export declare class TransactionNotFoundError extends GqldbError {
|
|
53
|
+
constructor();
|
|
54
|
+
}
|
|
55
|
+
export declare class TransactionAlreadyOpenError extends GqldbError {
|
|
56
|
+
constructor();
|
|
57
|
+
}
|
|
58
|
+
export declare class QueryFailedError extends GqldbError {
|
|
59
|
+
constructor(message?: string, cause?: Error);
|
|
60
|
+
}
|
|
61
|
+
export declare class QueryTimeoutError extends GqldbError {
|
|
62
|
+
constructor();
|
|
63
|
+
}
|
|
64
|
+
export declare class InvalidQueryError extends GqldbError {
|
|
65
|
+
constructor(message?: string);
|
|
66
|
+
}
|
|
67
|
+
export declare class EmptyQueryError extends GqldbError {
|
|
68
|
+
constructor();
|
|
69
|
+
}
|
|
70
|
+
export declare class GraphNotFoundError extends GqldbError {
|
|
71
|
+
constructor(graphName?: string);
|
|
72
|
+
}
|
|
73
|
+
export declare class GraphExistsError extends GqldbError {
|
|
74
|
+
constructor(graphName?: string);
|
|
75
|
+
}
|
|
76
|
+
export declare class CreateGraphFailedError extends GqldbError {
|
|
77
|
+
constructor(message?: string, cause?: Error);
|
|
78
|
+
}
|
|
79
|
+
export declare class DropGraphFailedError extends GqldbError {
|
|
80
|
+
constructor(message?: string, cause?: Error);
|
|
81
|
+
}
|
|
82
|
+
export declare class InsertFailedError extends GqldbError {
|
|
83
|
+
constructor(message?: string, cause?: Error);
|
|
84
|
+
}
|
|
85
|
+
export declare class DeleteFailedError extends GqldbError {
|
|
86
|
+
constructor(message?: string, cause?: Error);
|
|
87
|
+
}
|
|
88
|
+
export declare class ExportFailedError extends GqldbError {
|
|
89
|
+
constructor(message?: string, cause?: Error);
|
|
90
|
+
}
|
|
91
|
+
export declare class InvalidTypeError extends GqldbError {
|
|
92
|
+
constructor(message?: string);
|
|
93
|
+
}
|
|
94
|
+
export declare class TypeConversionError extends GqldbError {
|
|
95
|
+
constructor(message?: string);
|
|
96
|
+
}
|
|
97
|
+
export declare class UnsupportedTypeError extends GqldbError {
|
|
98
|
+
constructor(typeName?: string);
|
|
99
|
+
}
|