@ultipa-graph/ultipa-driver 5.1.5-s5.2 → 6.0.4
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 +196 -0
- package/dist/client.js +394 -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 +689 -0
- package/dist/response.d.ts +256 -0
- package/dist/response.js +723 -0
- package/dist/services/admin-service.d.ts +44 -0
- package/dist/services/admin-service.js +168 -0
- package/dist/services/bulk-import-service.d.ts +35 -0
- package/dist/services/bulk-import-service.js +105 -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 +107 -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 +50 -63
- package/dist/connection/connection.final.d.ts +0 -14
- package/dist/connection/connection.final.js +0 -94
- 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/algos/algo.extra.d.ts +0 -34
- package/dist/connection/extra/algos/algo.extra.js +0 -69
- package/dist/connection/extra/algos/algo.extra.js.map +0 -1
- package/dist/connection/extra/algos/algo.utils.d.ts +0 -3
- package/dist/connection/extra/algos/algo.utils.js +0 -54
- package/dist/connection/extra/algos/algo.utils.js.map +0 -1
- package/dist/connection/extra/algos/community.d.ts +0 -27
- package/dist/connection/extra/algos/community.js +0 -76
- package/dist/connection/extra/algos/community.js.map +0 -1
- package/dist/connection/extra/algos/degrees.d.ts +0 -10
- package/dist/connection/extra/algos/degrees.js +0 -24
- package/dist/connection/extra/algos/degrees.js.map +0 -1
- package/dist/connection/extra/algos/embedding.d.ts +0 -13
- package/dist/connection/extra/algos/embedding.js +0 -33
- package/dist/connection/extra/algos/embedding.js.map +0 -1
- package/dist/connection/extra/algos/index.d.ts +0 -5
- package/dist/connection/extra/algos/index.js +0 -14
- package/dist/connection/extra/algos/index.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 -354
- 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 -530
- 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/meta.extra.d.ts +0 -36
- package/dist/connection/extra/meta.extra.js +0 -123
- package/dist/connection/extra/meta.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/search.extra.d.ts +0 -12
- package/dist/connection/extra/search.extra.js +0 -117
- package/dist/connection/extra/search.extra.js.map +0 -1
- package/dist/connection/extra/task.extra.d.ts +0 -24
- package/dist/connection/extra/task.extra.js +0 -107
- package/dist/connection/extra/task.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/extra/user.privilege.extra.d.ts +0 -64
- package/dist/connection/extra/user.privilege.extra.js +0 -273
- package/dist/connection/extra/user.privilege.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/common.d.ts +0 -0
- package/dist/printers/common.js +0 -1
- package/dist/printers/common.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 -12119
- 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 -1214
- 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 -1606
- 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/config.d.ts +0 -3
- package/dist/utils/config.js +0 -7
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/format.d.ts +0 -45
- package/dist/utils/format.js +0 -879
- 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/params.validate.d.ts +0 -4
- package/dist/utils/params.validate.js +0 -14
- package/dist/utils/params.validate.js.map +0 -1
- package/dist/utils/property.d.ts +0 -24
- package/dist/utils/property.js +0 -203
- package/dist/utils/property.js.map +0 -1
- package/dist/utils/raft.retry.d.ts +0 -0
- package/dist/utils/raft.retry.js +0 -1
- package/dist/utils/raft.retry.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 -10
- package/dist/utils/serialize/deserialize.js +0 -288
- package/dist/utils/serialize/deserialize.js.map +0 -1
- package/dist/utils/serialize/null.d.ts +0 -32
- package/dist/utils/serialize/null.js +0 -178
- 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 -146
- 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/timezone.d.ts +0 -7
- package/dist/utils/timezone.js +0 -21
- package/dist/utils/timezone.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 -531
- 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 -1983
- package/src/proto/ultipa_pb.js +0 -14852
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Transaction management for GQLDB Node.js driver.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TransactionManager = void 0;
|
|
7
|
+
const errors_1 = require("./errors");
|
|
8
|
+
/** Manages transactions for the client */
|
|
9
|
+
class TransactionManager {
|
|
10
|
+
transactions = new Map();
|
|
11
|
+
/** Create a new transaction */
|
|
12
|
+
begin(txId, sessionId, graphName, readOnly, timeout) {
|
|
13
|
+
const tx = {
|
|
14
|
+
id: txId,
|
|
15
|
+
sessionId,
|
|
16
|
+
graphName,
|
|
17
|
+
readOnly,
|
|
18
|
+
createdAt: Date.now(),
|
|
19
|
+
timeout,
|
|
20
|
+
committed: false,
|
|
21
|
+
rolledBack: false,
|
|
22
|
+
};
|
|
23
|
+
this.transactions.set(txId, tx);
|
|
24
|
+
return tx;
|
|
25
|
+
}
|
|
26
|
+
/** Mark a transaction as committed */
|
|
27
|
+
commit(txId) {
|
|
28
|
+
const tx = this.transactions.get(txId);
|
|
29
|
+
if (!tx) {
|
|
30
|
+
throw new errors_1.TransactionNotFoundError();
|
|
31
|
+
}
|
|
32
|
+
tx.committed = true;
|
|
33
|
+
this.transactions.delete(txId);
|
|
34
|
+
}
|
|
35
|
+
/** Mark a transaction as rolled back */
|
|
36
|
+
rollback(txId) {
|
|
37
|
+
const tx = this.transactions.get(txId);
|
|
38
|
+
if (!tx) {
|
|
39
|
+
throw new errors_1.TransactionNotFoundError();
|
|
40
|
+
}
|
|
41
|
+
tx.rolledBack = true;
|
|
42
|
+
this.transactions.delete(txId);
|
|
43
|
+
}
|
|
44
|
+
/** Get a transaction by ID */
|
|
45
|
+
get(txId) {
|
|
46
|
+
return this.transactions.get(txId);
|
|
47
|
+
}
|
|
48
|
+
/** Get all active transactions */
|
|
49
|
+
getActive() {
|
|
50
|
+
return Array.from(this.transactions.values());
|
|
51
|
+
}
|
|
52
|
+
/** Get all active transactions for a session */
|
|
53
|
+
getActiveForSession(sessionId) {
|
|
54
|
+
return this.getActive().filter(tx => tx.sessionId === sessionId);
|
|
55
|
+
}
|
|
56
|
+
/** Check if there are any active transactions */
|
|
57
|
+
hasActive() {
|
|
58
|
+
return this.transactions.size > 0;
|
|
59
|
+
}
|
|
60
|
+
/** Get the number of active transactions */
|
|
61
|
+
count() {
|
|
62
|
+
return this.transactions.size;
|
|
63
|
+
}
|
|
64
|
+
/** Clear all transactions */
|
|
65
|
+
clearAll() {
|
|
66
|
+
this.transactions.clear();
|
|
67
|
+
}
|
|
68
|
+
/** Check if a transaction is active */
|
|
69
|
+
isActive(txId) {
|
|
70
|
+
const tx = this.transactions.get(txId);
|
|
71
|
+
return tx !== undefined && !tx.committed && !tx.rolledBack;
|
|
72
|
+
}
|
|
73
|
+
/** Check if a transaction has expired */
|
|
74
|
+
isExpired(txId) {
|
|
75
|
+
const tx = this.transactions.get(txId);
|
|
76
|
+
if (!tx || tx.timeout === 0)
|
|
77
|
+
return false;
|
|
78
|
+
return Date.now() - tx.createdAt > tx.timeout;
|
|
79
|
+
}
|
|
80
|
+
/** Get transaction age in milliseconds */
|
|
81
|
+
age(txId) {
|
|
82
|
+
const tx = this.transactions.get(txId);
|
|
83
|
+
if (!tx)
|
|
84
|
+
return 0;
|
|
85
|
+
return Date.now() - tx.createdAt;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.TransactionManager = TransactionManager;
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCxxQ0FBb0Q7QUFjcEQsMENBQTBDO0FBQzFDLE1BQWEsa0JBQWtCO0lBQ3JCLFlBQVksR0FBNkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUUzRCwrQkFBK0I7SUFDL0IsS0FBSyxDQUNILElBQVksRUFDWixTQUFpQixFQUNqQixTQUFpQixFQUNqQixRQUFpQixFQUNqQixPQUFlO1FBRWYsTUFBTSxFQUFFLEdBQWdCO1lBQ3RCLEVBQUUsRUFBRSxJQUFJO1lBQ1IsU0FBUztZQUNULFNBQVM7WUFDVCxRQUFRO1lBQ1IsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckIsT0FBTztZQUNQLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxpQ0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLFFBQVEsQ0FBQyxJQUFZO1FBQ25CLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxpQ0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxFQUFFLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLEdBQUcsQ0FBQyxJQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLFNBQVM7UUFDUCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxnREFBZ0Q7SUFDaEQsbUJBQW1CLENBQUMsU0FBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsaURBQWlEO0lBQ2pELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxRQUFRLENBQUMsSUFBWTtRQUNuQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxPQUFPLEVBQUUsS0FBSyxTQUFTLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUM3RCxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLE9BQU8sS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsR0FBRyxDQUFDLElBQVk7UUFDZCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBOUZELGdEQThGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHJhbnNhY3Rpb24gbWFuYWdlbWVudCBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuaW1wb3J0IHsgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vKiogUmVwcmVzZW50cyBhbiBhY3RpdmUgZGF0YWJhc2UgdHJhbnNhY3Rpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb24ge1xuICBpZDogbnVtYmVyO1xuICBzZXNzaW9uSWQ6IG51bWJlcjtcbiAgZ3JhcGhOYW1lOiBzdHJpbmc7XG4gIHJlYWRPbmx5OiBib29sZWFuO1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgdGltZW91dDogbnVtYmVyOyAvLyBpbiBtaWxsaXNlY29uZHNcbiAgY29tbWl0dGVkOiBib29sZWFuO1xuICByb2xsZWRCYWNrOiBib29sZWFuO1xufVxuXG4vKiogTWFuYWdlcyB0cmFuc2FjdGlvbnMgZm9yIHRoZSBjbGllbnQgKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbk1hbmFnZXIge1xuICBwcml2YXRlIHRyYW5zYWN0aW9uczogTWFwPG51bWJlciwgVHJhbnNhY3Rpb24+ID0gbmV3IE1hcCgpO1xuXG4gIC8qKiBDcmVhdGUgYSBuZXcgdHJhbnNhY3Rpb24gKi9cbiAgYmVnaW4oXG4gICAgdHhJZDogbnVtYmVyLFxuICAgIHNlc3Npb25JZDogbnVtYmVyLFxuICAgIGdyYXBoTmFtZTogc3RyaW5nLFxuICAgIHJlYWRPbmx5OiBib29sZWFuLFxuICAgIHRpbWVvdXQ6IG51bWJlclxuICApOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHg6IFRyYW5zYWN0aW9uID0ge1xuICAgICAgaWQ6IHR4SWQsXG4gICAgICBzZXNzaW9uSWQsXG4gICAgICBncmFwaE5hbWUsXG4gICAgICByZWFkT25seSxcbiAgICAgIGNyZWF0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICAgIHRpbWVvdXQsXG4gICAgICBjb21taXR0ZWQ6IGZhbHNlLFxuICAgICAgcm9sbGVkQmFjazogZmFsc2UsXG4gICAgfTtcbiAgICB0aGlzLnRyYW5zYWN0aW9ucy5zZXQodHhJZCwgdHgpO1xuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBNYXJrIGEgdHJhbnNhY3Rpb24gYXMgY29tbWl0dGVkICovXG4gIGNvbW1pdCh0eElkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0eCA9IHRoaXMudHJhbnNhY3Rpb25zLmdldCh0eElkKTtcbiAgICBpZiAoIXR4KSB7XG4gICAgICB0aHJvdyBuZXcgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yKCk7XG4gICAgfVxuICAgIHR4LmNvbW1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy50cmFuc2FjdGlvbnMuZGVsZXRlKHR4SWQpO1xuICB9XG5cbiAgLyoqIE1hcmsgYSB0cmFuc2FjdGlvbiBhcyByb2xsZWQgYmFjayAqL1xuICByb2xsYmFjayh0eElkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0eCA9IHRoaXMudHJhbnNhY3Rpb25zLmdldCh0eElkKTtcbiAgICBpZiAoIXR4KSB7XG4gICAgICB0aHJvdyBuZXcgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yKCk7XG4gICAgfVxuICAgIHR4LnJvbGxlZEJhY2sgPSB0cnVlO1xuICAgIHRoaXMudHJhbnNhY3Rpb25zLmRlbGV0ZSh0eElkKTtcbiAgfVxuXG4gIC8qKiBHZXQgYSB0cmFuc2FjdGlvbiBieSBJRCAqL1xuICBnZXQodHhJZDogbnVtYmVyKTogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9ucy5nZXQodHhJZCk7XG4gIH1cblxuICAvKiogR2V0IGFsbCBhY3RpdmUgdHJhbnNhY3Rpb25zICovXG4gIGdldEFjdGl2ZSgpOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnRyYW5zYWN0aW9ucy52YWx1ZXMoKSk7XG4gIH1cblxuICAvKiogR2V0IGFsbCBhY3RpdmUgdHJhbnNhY3Rpb25zIGZvciBhIHNlc3Npb24gKi9cbiAgZ2V0QWN0aXZlRm9yU2Vzc2lvbihzZXNzaW9uSWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZSgpLmZpbHRlcih0eCA9PiB0eC5zZXNzaW9uSWQgPT09IHNlc3Npb25JZCk7XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBhY3RpdmUgdHJhbnNhY3Rpb25zICovXG4gIGhhc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbnMuc2l6ZSA+IDA7XG4gIH1cblxuICAvKiogR2V0IHRoZSBudW1iZXIgb2YgYWN0aXZlIHRyYW5zYWN0aW9ucyAqL1xuICBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9ucy5zaXplO1xuICB9XG5cbiAgLyoqIENsZWFyIGFsbCB0cmFuc2FjdGlvbnMgKi9cbiAgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbnMuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiBhIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZSAqL1xuICBpc0FjdGl2ZSh0eElkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCB0eCA9IHRoaXMudHJhbnNhY3Rpb25zLmdldCh0eElkKTtcbiAgICByZXR1cm4gdHggIT09IHVuZGVmaW5lZCAmJiAhdHguY29tbWl0dGVkICYmICF0eC5yb2xsZWRCYWNrO1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIGEgdHJhbnNhY3Rpb24gaGFzIGV4cGlyZWQgKi9cbiAgaXNFeHBpcmVkKHR4SWQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHR4ID0gdGhpcy50cmFuc2FjdGlvbnMuZ2V0KHR4SWQpO1xuICAgIGlmICghdHggfHwgdHgudGltZW91dCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBEYXRlLm5vdygpIC0gdHguY3JlYXRlZEF0ID4gdHgudGltZW91dDtcbiAgfVxuXG4gIC8qKiBHZXQgdHJhbnNhY3Rpb24gYWdlIGluIG1pbGxpc2Vjb25kcyAqL1xuICBhZ2UodHhJZDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB0eCA9IHRoaXMudHJhbnNhY3Rpb25zLmdldCh0eElkKTtcbiAgICBpZiAoIXR4KSByZXR1cm4gMDtcbiAgICByZXR1cm4gRGF0ZS5ub3coKSAtIHR4LmNyZWF0ZWRBdDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bulk import types for GQLDB Node.js driver.
|
|
3
|
+
*/
|
|
4
|
+
/** Options for bulk node creation */
|
|
5
|
+
export interface BulkCreateNodesOptions {
|
|
6
|
+
overwrite?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** Options for bulk edge creation */
|
|
9
|
+
export interface BulkCreateEdgesOptions {
|
|
10
|
+
skipInvalidNodes?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/** Options for starting a bulk import session */
|
|
13
|
+
export interface BulkImportOptions {
|
|
14
|
+
/** @deprecated No longer used. Server ignores this value. */
|
|
15
|
+
checkpointEvery?: number;
|
|
16
|
+
/** Hint for pre-allocating node ID cache */
|
|
17
|
+
estimatedNodes?: number;
|
|
18
|
+
/** Hint for edge batch sizing */
|
|
19
|
+
estimatedEdges?: number;
|
|
20
|
+
}
|
|
21
|
+
/** Result of starting a bulk import session */
|
|
22
|
+
export interface BulkImportSession {
|
|
23
|
+
success: boolean;
|
|
24
|
+
sessionId: string;
|
|
25
|
+
message: string;
|
|
26
|
+
}
|
|
27
|
+
/** Result of a checkpoint operation */
|
|
28
|
+
export interface CheckpointResult {
|
|
29
|
+
success: boolean;
|
|
30
|
+
recordCount: number;
|
|
31
|
+
lastCheckpointCount: number;
|
|
32
|
+
message: string;
|
|
33
|
+
}
|
|
34
|
+
/** Result of ending a bulk import session */
|
|
35
|
+
export interface EndBulkImportResult {
|
|
36
|
+
success: boolean;
|
|
37
|
+
totalRecords: number;
|
|
38
|
+
message: string;
|
|
39
|
+
}
|
|
40
|
+
/** Result of aborting a bulk import session */
|
|
41
|
+
export interface AbortBulkImportResult {
|
|
42
|
+
success: boolean;
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
/** Status of a bulk import session */
|
|
46
|
+
export interface BulkImportStatus {
|
|
47
|
+
isActive: boolean;
|
|
48
|
+
graphName: string;
|
|
49
|
+
recordCount: number;
|
|
50
|
+
lastCheckpointCount: number;
|
|
51
|
+
createdAt: number;
|
|
52
|
+
lastActivity: number;
|
|
53
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Bulk import types for GQLDB Node.js driver.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsa19pbXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvYnVsa19pbXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCdWxrIGltcG9ydCB0eXBlcyBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuLyoqIE9wdGlvbnMgZm9yIGJ1bGsgbm9kZSBjcmVhdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWxrQ3JlYXRlTm9kZXNPcHRpb25zIHtcbiAgb3ZlcndyaXRlPzogYm9vbGVhbjtcbn1cblxuLyoqIE9wdGlvbnMgZm9yIGJ1bGsgZWRnZSBjcmVhdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWxrQ3JlYXRlRWRnZXNPcHRpb25zIHtcbiAgc2tpcEludmFsaWROb2Rlcz86IGJvb2xlYW47XG59XG5cbi8qKiBPcHRpb25zIGZvciBzdGFydGluZyBhIGJ1bGsgaW1wb3J0IHNlc3Npb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVsa0ltcG9ydE9wdGlvbnMge1xuICAvKiogQGRlcHJlY2F0ZWQgTm8gbG9uZ2VyIHVzZWQuIFNlcnZlciBpZ25vcmVzIHRoaXMgdmFsdWUuICovXG4gIGNoZWNrcG9pbnRFdmVyeT86IG51bWJlcjtcbiAgLyoqIEhpbnQgZm9yIHByZS1hbGxvY2F0aW5nIG5vZGUgSUQgY2FjaGUgKi9cbiAgZXN0aW1hdGVkTm9kZXM/OiBudW1iZXI7XG4gIC8qKiBIaW50IGZvciBlZGdlIGJhdGNoIHNpemluZyAqL1xuICBlc3RpbWF0ZWRFZGdlcz86IG51bWJlcjtcbn1cblxuLyoqIFJlc3VsdCBvZiBzdGFydGluZyBhIGJ1bGsgaW1wb3J0IHNlc3Npb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVsa0ltcG9ydFNlc3Npb24ge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKiogUmVzdWx0IG9mIGEgY2hlY2twb2ludCBvcGVyYXRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2twb2ludFJlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIHJlY29yZENvdW50OiBudW1iZXI7XG4gIGxhc3RDaGVja3BvaW50Q291bnQ6IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKiogUmVzdWx0IG9mIGVuZGluZyBhIGJ1bGsgaW1wb3J0IHNlc3Npb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5kQnVsa0ltcG9ydFJlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKiBSZXN1bHQgb2YgYWJvcnRpbmcgYSBidWxrIGltcG9ydCBzZXNzaW9uICovXG5leHBvcnQgaW50ZXJmYWNlIEFib3J0QnVsa0ltcG9ydFJlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqIFN0YXR1cyBvZiBhIGJ1bGsgaW1wb3J0IHNlc3Npb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVsa0ltcG9ydFN0YXR1cyB7XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBncmFwaE5hbWU6IHN0cmluZztcbiAgcmVjb3JkQ291bnQ6IG51bWJlcjtcbiAgbGFzdENoZWNrcG9pbnRDb3VudDogbnVtYmVyO1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgbGFzdEFjdGl2aXR5OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specialized data types for GQLDB Node.js driver.
|
|
3
|
+
*/
|
|
4
|
+
/** 2D geographic point */
|
|
5
|
+
export interface Point {
|
|
6
|
+
latitude: number;
|
|
7
|
+
longitude: number;
|
|
8
|
+
}
|
|
9
|
+
/** 3D point */
|
|
10
|
+
export interface Point3D {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
z: number;
|
|
14
|
+
}
|
|
15
|
+
/** High-precision decimal number */
|
|
16
|
+
export interface GqldbDecimal {
|
|
17
|
+
value: string;
|
|
18
|
+
}
|
|
19
|
+
/** Timestamp with component-based fields (UTC) */
|
|
20
|
+
export interface GqldbTimestamp {
|
|
21
|
+
_type: 'timestamp';
|
|
22
|
+
year: number;
|
|
23
|
+
month: number;
|
|
24
|
+
day: number;
|
|
25
|
+
hour: number;
|
|
26
|
+
minute: number;
|
|
27
|
+
second: number;
|
|
28
|
+
nanosecond: number;
|
|
29
|
+
}
|
|
30
|
+
/** Helper: Create a GqldbTimestamp from component values */
|
|
31
|
+
export declare function createTimestamp(year: number, month: number, day: number, hour: number, minute: number, second: number, nanosecond?: number): GqldbTimestamp;
|
|
32
|
+
/** Helper: Convert a GqldbTimestamp to a JavaScript Date (millisecond precision) */
|
|
33
|
+
export declare function timestampToDate(ts: GqldbTimestamp): Date;
|
|
34
|
+
/** Helper: Create a GqldbTimestamp from a JavaScript Date */
|
|
35
|
+
export declare function timestampFromDate(date: Date): GqldbTimestamp;
|
|
36
|
+
/** Local date-time without timezone (component-based) */
|
|
37
|
+
export interface GqldbLocalDateTime {
|
|
38
|
+
_type: 'localDatetime';
|
|
39
|
+
year: number;
|
|
40
|
+
month: number;
|
|
41
|
+
day: number;
|
|
42
|
+
hour: number;
|
|
43
|
+
minute: number;
|
|
44
|
+
second: number;
|
|
45
|
+
nanosecond: number;
|
|
46
|
+
}
|
|
47
|
+
/** Helper: Create a GqldbLocalDateTime from component values */
|
|
48
|
+
export declare function createLocalDateTime(year: number, month: number, day: number, hour: number, minute: number, second: number, nanosecond?: number): GqldbLocalDateTime;
|
|
49
|
+
/** Helper: Convert a GqldbLocalDateTime to a JavaScript Date (interpreted as UTC) */
|
|
50
|
+
export declare function localDateTimeToDate(ldt: GqldbLocalDateTime): Date;
|
|
51
|
+
/** Helper: Convert a GqldbLocalDateTime to ISO 8601 string without timezone */
|
|
52
|
+
export declare function localDateTimeToString(ldt: GqldbLocalDateTime): string;
|
|
53
|
+
/** Date without time */
|
|
54
|
+
export interface GqldbDate {
|
|
55
|
+
year: number;
|
|
56
|
+
month: number;
|
|
57
|
+
day: number;
|
|
58
|
+
}
|
|
59
|
+
/** Date-time with timezone offset (component-based) */
|
|
60
|
+
export interface GqldbZonedDateTime {
|
|
61
|
+
year: number;
|
|
62
|
+
month: number;
|
|
63
|
+
day: number;
|
|
64
|
+
hour: number;
|
|
65
|
+
minute: number;
|
|
66
|
+
second: number;
|
|
67
|
+
nanosecond: number;
|
|
68
|
+
offsetMinutes: number;
|
|
69
|
+
}
|
|
70
|
+
/** Local time without timezone */
|
|
71
|
+
export interface GqldbLocalTime {
|
|
72
|
+
hour: number;
|
|
73
|
+
minute: number;
|
|
74
|
+
second: number;
|
|
75
|
+
nanosecond: number;
|
|
76
|
+
}
|
|
77
|
+
/** Time with timezone offset */
|
|
78
|
+
export interface GqldbZonedTime {
|
|
79
|
+
hour: number;
|
|
80
|
+
minute: number;
|
|
81
|
+
second: number;
|
|
82
|
+
nanosecond: number;
|
|
83
|
+
offsetMinutes: number;
|
|
84
|
+
}
|
|
85
|
+
/** Year-month interval */
|
|
86
|
+
export interface YearToMonth {
|
|
87
|
+
months: number;
|
|
88
|
+
}
|
|
89
|
+
/** Day-second interval */
|
|
90
|
+
export interface DayToSecond {
|
|
91
|
+
seconds: number;
|
|
92
|
+
nanoseconds: number;
|
|
93
|
+
}
|
|
94
|
+
/** Float32 vector for embeddings */
|
|
95
|
+
export interface Vector {
|
|
96
|
+
values: number[];
|
|
97
|
+
}
|
|
98
|
+
/** Table data with columns and rows */
|
|
99
|
+
export interface GqldbTable {
|
|
100
|
+
columns: string[];
|
|
101
|
+
rows: any[][];
|
|
102
|
+
}
|
|
103
|
+
/** Type guards for data types */
|
|
104
|
+
export declare function isPoint(value: any): value is Point;
|
|
105
|
+
export declare function isPoint3D(value: any): value is Point3D;
|
|
106
|
+
export declare function isGqldbDecimal(value: any): value is GqldbDecimal;
|
|
107
|
+
export declare function isGqldbTimestamp(value: any): value is GqldbTimestamp;
|
|
108
|
+
export declare function isGqldbLocalDateTime(value: any): value is GqldbLocalDateTime;
|
|
109
|
+
export declare function isGqldbDate(value: any): value is GqldbDate;
|
|
110
|
+
export declare function isGqldbZonedDateTime(value: any): value is GqldbZonedDateTime;
|
|
111
|
+
export declare function isGqldbLocalTime(value: any): value is GqldbLocalTime;
|
|
112
|
+
export declare function isGqldbZonedTime(value: any): value is GqldbZonedTime;
|
|
113
|
+
export declare function isYearToMonth(value: any): value is YearToMonth;
|
|
114
|
+
export declare function isDayToSecond(value: any): value is DayToSecond;
|
|
115
|
+
export declare function isVector(value: any): value is Vector;
|
|
116
|
+
export declare function isGqldbSet(value: any): value is Set<any>;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Specialized data types for GQLDB Node.js driver.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createTimestamp = createTimestamp;
|
|
7
|
+
exports.timestampToDate = timestampToDate;
|
|
8
|
+
exports.timestampFromDate = timestampFromDate;
|
|
9
|
+
exports.createLocalDateTime = createLocalDateTime;
|
|
10
|
+
exports.localDateTimeToDate = localDateTimeToDate;
|
|
11
|
+
exports.localDateTimeToString = localDateTimeToString;
|
|
12
|
+
exports.isPoint = isPoint;
|
|
13
|
+
exports.isPoint3D = isPoint3D;
|
|
14
|
+
exports.isGqldbDecimal = isGqldbDecimal;
|
|
15
|
+
exports.isGqldbTimestamp = isGqldbTimestamp;
|
|
16
|
+
exports.isGqldbLocalDateTime = isGqldbLocalDateTime;
|
|
17
|
+
exports.isGqldbDate = isGqldbDate;
|
|
18
|
+
exports.isGqldbZonedDateTime = isGqldbZonedDateTime;
|
|
19
|
+
exports.isGqldbLocalTime = isGqldbLocalTime;
|
|
20
|
+
exports.isGqldbZonedTime = isGqldbZonedTime;
|
|
21
|
+
exports.isYearToMonth = isYearToMonth;
|
|
22
|
+
exports.isDayToSecond = isDayToSecond;
|
|
23
|
+
exports.isVector = isVector;
|
|
24
|
+
exports.isGqldbSet = isGqldbSet;
|
|
25
|
+
/** Helper: Create a GqldbTimestamp from component values */
|
|
26
|
+
function createTimestamp(year, month, day, hour, minute, second, nanosecond = 0) {
|
|
27
|
+
return { _type: 'timestamp', year, month, day, hour, minute, second, nanosecond };
|
|
28
|
+
}
|
|
29
|
+
/** Helper: Convert a GqldbTimestamp to a JavaScript Date (millisecond precision) */
|
|
30
|
+
function timestampToDate(ts) {
|
|
31
|
+
return new Date(Date.UTC(ts.year, ts.month - 1, ts.day, ts.hour, ts.minute, ts.second, Math.floor(ts.nanosecond / 1000000)));
|
|
32
|
+
}
|
|
33
|
+
/** Helper: Create a GqldbTimestamp from a JavaScript Date */
|
|
34
|
+
function timestampFromDate(date) {
|
|
35
|
+
return {
|
|
36
|
+
_type: 'timestamp',
|
|
37
|
+
year: date.getUTCFullYear(),
|
|
38
|
+
month: date.getUTCMonth() + 1,
|
|
39
|
+
day: date.getUTCDate(),
|
|
40
|
+
hour: date.getUTCHours(),
|
|
41
|
+
minute: date.getUTCMinutes(),
|
|
42
|
+
second: date.getUTCSeconds(),
|
|
43
|
+
nanosecond: date.getUTCMilliseconds() * 1000000,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** Helper: Create a GqldbLocalDateTime from component values */
|
|
47
|
+
function createLocalDateTime(year, month, day, hour, minute, second, nanosecond = 0) {
|
|
48
|
+
return { _type: 'localDatetime', year, month, day, hour, minute, second, nanosecond };
|
|
49
|
+
}
|
|
50
|
+
/** Helper: Convert a GqldbLocalDateTime to a JavaScript Date (interpreted as UTC) */
|
|
51
|
+
function localDateTimeToDate(ldt) {
|
|
52
|
+
return new Date(Date.UTC(ldt.year, ldt.month - 1, ldt.day, ldt.hour, ldt.minute, ldt.second, Math.floor(ldt.nanosecond / 1000000)));
|
|
53
|
+
}
|
|
54
|
+
/** Helper: Convert a GqldbLocalDateTime to ISO 8601 string without timezone */
|
|
55
|
+
function localDateTimeToString(ldt) {
|
|
56
|
+
const y = ldt.year.toString().padStart(4, '0');
|
|
57
|
+
const m = ldt.month.toString().padStart(2, '0');
|
|
58
|
+
const d = ldt.day.toString().padStart(2, '0');
|
|
59
|
+
const h = ldt.hour.toString().padStart(2, '0');
|
|
60
|
+
const min = ldt.minute.toString().padStart(2, '0');
|
|
61
|
+
const s = ldt.second.toString().padStart(2, '0');
|
|
62
|
+
const ms = Math.floor(ldt.nanosecond / 1000000);
|
|
63
|
+
if (ms !== 0) {
|
|
64
|
+
return `${y}-${m}-${d}T${h}:${min}:${s}.${ms.toString().padStart(3, '0')}`;
|
|
65
|
+
}
|
|
66
|
+
return `${y}-${m}-${d}T${h}:${min}:${s}`;
|
|
67
|
+
}
|
|
68
|
+
/** Type guards for data types */
|
|
69
|
+
function isPoint(value) {
|
|
70
|
+
return value && typeof value === 'object' && 'latitude' in value && 'longitude' in value;
|
|
71
|
+
}
|
|
72
|
+
function isPoint3D(value) {
|
|
73
|
+
return value && typeof value === 'object' && 'x' in value && 'y' in value && 'z' in value && !('latitude' in value);
|
|
74
|
+
}
|
|
75
|
+
function isGqldbDecimal(value) {
|
|
76
|
+
return value && typeof value === 'object' && 'value' in value && typeof value.value === 'string' && !('latitude' in value) && !('x' in value);
|
|
77
|
+
}
|
|
78
|
+
function isGqldbTimestamp(value) {
|
|
79
|
+
return value && typeof value === 'object'
|
|
80
|
+
&& 'year' in value && 'month' in value && 'day' in value
|
|
81
|
+
&& 'hour' in value && 'minute' in value && 'second' in value
|
|
82
|
+
&& 'nanosecond' in value && !('offsetMinutes' in value)
|
|
83
|
+
&& typeof value.year === 'number' && typeof value.hour === 'number'
|
|
84
|
+
&& value._type === 'timestamp';
|
|
85
|
+
}
|
|
86
|
+
function isGqldbLocalDateTime(value) {
|
|
87
|
+
return value && typeof value === 'object'
|
|
88
|
+
&& 'year' in value && 'month' in value && 'day' in value
|
|
89
|
+
&& 'hour' in value && 'minute' in value && 'second' in value
|
|
90
|
+
&& 'nanosecond' in value && !('offsetMinutes' in value)
|
|
91
|
+
&& typeof value.year === 'number' && typeof value.hour === 'number'
|
|
92
|
+
&& value._type === 'localDatetime';
|
|
93
|
+
}
|
|
94
|
+
function isGqldbDate(value) {
|
|
95
|
+
return value && typeof value === 'object' && 'year' in value && 'month' in value && 'day' in value && typeof value.year === 'number' && !('hour' in value);
|
|
96
|
+
}
|
|
97
|
+
function isGqldbZonedDateTime(value) {
|
|
98
|
+
return value && typeof value === 'object'
|
|
99
|
+
&& 'year' in value && 'month' in value && 'day' in value
|
|
100
|
+
&& 'hour' in value && 'minute' in value && 'second' in value
|
|
101
|
+
&& 'nanosecond' in value && 'offsetMinutes' in value
|
|
102
|
+
&& typeof value.year === 'number' && typeof value.hour === 'number';
|
|
103
|
+
}
|
|
104
|
+
function isGqldbLocalTime(value) {
|
|
105
|
+
return value && typeof value === 'object' && 'hour' in value && 'minute' in value && 'second' in value && 'nanosecond' in value && !('offsetMinutes' in value) && !('year' in value);
|
|
106
|
+
}
|
|
107
|
+
function isGqldbZonedTime(value) {
|
|
108
|
+
return value && typeof value === 'object' && 'hour' in value && 'minute' in value && 'second' in value && 'nanosecond' in value && 'offsetMinutes' in value && !('year' in value);
|
|
109
|
+
}
|
|
110
|
+
function isYearToMonth(value) {
|
|
111
|
+
return value && typeof value === 'object' && 'months' in value && typeof value.months === 'number';
|
|
112
|
+
}
|
|
113
|
+
function isDayToSecond(value) {
|
|
114
|
+
return value && typeof value === 'object' && 'seconds' in value && 'nanoseconds' in value && typeof value.seconds === 'number';
|
|
115
|
+
}
|
|
116
|
+
function isVector(value) {
|
|
117
|
+
return value && typeof value === 'object' && 'values' in value && Array.isArray(value.values);
|
|
118
|
+
}
|
|
119
|
+
function isGqldbSet(value) {
|
|
120
|
+
return value instanceof Set;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV90eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9kYXRhX3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7QUFpQ0gsMENBRUM7QUFHRCwwQ0FFQztBQUdELDhDQVdDO0FBZUQsa0RBRUM7QUFHRCxrREFFQztBQUdELHNEQVlDO0FBNkRELDBCQUVDO0FBRUQsOEJBRUM7QUFFRCx3Q0FFQztBQUVELDRDQU9DO0FBRUQsb0RBT0M7QUFFRCxrQ0FFQztBQUVELG9EQU1DO0FBRUQsNENBRUM7QUFFRCw0Q0FFQztBQUVELHNDQUVDO0FBRUQsc0NBRUM7QUFFRCw0QkFFQztBQUVELGdDQUVDO0FBeExELDREQUE0RDtBQUM1RCxTQUFnQixlQUFlLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxHQUFXLEVBQUUsSUFBWSxFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsYUFBcUIsQ0FBQztJQUM1SSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUNwRixDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLFNBQWdCLGVBQWUsQ0FBQyxFQUFrQjtJQUNoRCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0gsQ0FBQztBQUVELDZEQUE2RDtBQUM3RCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFVO0lBQzFDLE9BQU87UUFDTCxLQUFLLEVBQUUsV0FBVztRQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7UUFDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLE9BQU87S0FDaEQsQ0FBQztBQUNKLENBQUM7QUFjRCxnRUFBZ0U7QUFDaEUsU0FBZ0IsbUJBQW1CLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxHQUFXLEVBQUUsSUFBWSxFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsYUFBcUIsQ0FBQztJQUNoSixPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUN4RixDQUFDO0FBRUQscUZBQXFGO0FBQ3JGLFNBQWdCLG1CQUFtQixDQUFDLEdBQXVCO0lBQ3pELE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0SSxDQUFDO0FBRUQsK0VBQStFO0FBQy9FLFNBQWdCLHFCQUFxQixDQUFDLEdBQXVCO0lBQzNELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkQsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNoRCxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNiLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBNERE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S0FBVTtJQUNuQyxPQUFPLEtBQUssWUFBWSxHQUFHLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lhbGl6ZWQgZGF0YSB0eXBlcyBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuLyoqIDJEIGdlb2dyYXBoaWMgcG9pbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQge1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbn1cblxuLyoqIDNEIHBvaW50ICovXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50M0Qge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgejogbnVtYmVyO1xufVxuXG4vKiogSGlnaC1wcmVjaXNpb24gZGVjaW1hbCBudW1iZXIgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJEZWNpbWFsIHtcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqIFRpbWVzdGFtcCB3aXRoIGNvbXBvbmVudC1iYXNlZCBmaWVsZHMgKFVUQykgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJUaW1lc3RhbXAge1xuICBfdHlwZTogJ3RpbWVzdGFtcCc7XG4gIHllYXI6IG51bWJlcjtcbiAgbW9udGg6IG51bWJlcjsgICAvLyAxLTEyXG4gIGRheTogbnVtYmVyOyAgICAgLy8gMS0zMVxuICBob3VyOiBudW1iZXI7ICAgIC8vIDAtMjNcbiAgbWludXRlOiBudW1iZXI7ICAvLyAwLTU5XG4gIHNlY29uZDogbnVtYmVyOyAgLy8gMC01OVxuICBuYW5vc2Vjb25kOiBudW1iZXI7IC8vIDAtOTk5OTk5OTk5XG59XG5cbi8qKiBIZWxwZXI6IENyZWF0ZSBhIEdxbGRiVGltZXN0YW1wIGZyb20gY29tcG9uZW50IHZhbHVlcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRpbWVzdGFtcCh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRheTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyLCBzZWNvbmQ6IG51bWJlciwgbmFub3NlY29uZDogbnVtYmVyID0gMCk6IEdxbGRiVGltZXN0YW1wIHtcbiAgcmV0dXJuIHsgX3R5cGU6ICd0aW1lc3RhbXAnLCB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbmFub3NlY29uZCB9O1xufVxuXG4vKiogSGVscGVyOiBDb252ZXJ0IGEgR3FsZGJUaW1lc3RhbXAgdG8gYSBKYXZhU2NyaXB0IERhdGUgKG1pbGxpc2Vjb25kIHByZWNpc2lvbikgKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lc3RhbXBUb0RhdGUodHM6IEdxbGRiVGltZXN0YW1wKTogRGF0ZSB7XG4gIHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0cy55ZWFyLCB0cy5tb250aCAtIDEsIHRzLmRheSwgdHMuaG91ciwgdHMubWludXRlLCB0cy5zZWNvbmQsIE1hdGguZmxvb3IodHMubmFub3NlY29uZCAvIDEwMDAwMDApKSk7XG59XG5cbi8qKiBIZWxwZXI6IENyZWF0ZSBhIEdxbGRiVGltZXN0YW1wIGZyb20gYSBKYXZhU2NyaXB0IERhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lc3RhbXBGcm9tRGF0ZShkYXRlOiBEYXRlKTogR3FsZGJUaW1lc3RhbXAge1xuICByZXR1cm4ge1xuICAgIF90eXBlOiAndGltZXN0YW1wJyxcbiAgICB5ZWFyOiBkYXRlLmdldFVUQ0Z1bGxZZWFyKCksXG4gICAgbW9udGg6IGRhdGUuZ2V0VVRDTW9udGgoKSArIDEsXG4gICAgZGF5OiBkYXRlLmdldFVUQ0RhdGUoKSxcbiAgICBob3VyOiBkYXRlLmdldFVUQ0hvdXJzKCksXG4gICAgbWludXRlOiBkYXRlLmdldFVUQ01pbnV0ZXMoKSxcbiAgICBzZWNvbmQ6IGRhdGUuZ2V0VVRDU2Vjb25kcygpLFxuICAgIG5hbm9zZWNvbmQ6IGRhdGUuZ2V0VVRDTWlsbGlzZWNvbmRzKCkgKiAxMDAwMDAwLFxuICB9O1xufVxuXG4vKiogTG9jYWwgZGF0ZS10aW1lIHdpdGhvdXQgdGltZXpvbmUgKGNvbXBvbmVudC1iYXNlZCkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJMb2NhbERhdGVUaW1lIHtcbiAgX3R5cGU6ICdsb2NhbERhdGV0aW1lJztcbiAgeWVhcjogbnVtYmVyO1xuICBtb250aDogbnVtYmVyOyAgIC8vIDEtMTJcbiAgZGF5OiBudW1iZXI7ICAgICAvLyAxLTMxXG4gIGhvdXI6IG51bWJlcjsgICAgLy8gMC0yM1xuICBtaW51dGU6IG51bWJlcjsgIC8vIDAtNTlcbiAgc2Vjb25kOiBudW1iZXI7ICAvLyAwLTU5XG4gIG5hbm9zZWNvbmQ6IG51bWJlcjsgLy8gMC05OTk5OTk5OTlcbn1cblxuLyoqIEhlbHBlcjogQ3JlYXRlIGEgR3FsZGJMb2NhbERhdGVUaW1lIGZyb20gY29tcG9uZW50IHZhbHVlcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvY2FsRGF0ZVRpbWUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlciwgaG91cjogbnVtYmVyLCBtaW51dGU6IG51bWJlciwgc2Vjb25kOiBudW1iZXIsIG5hbm9zZWNvbmQ6IG51bWJlciA9IDApOiBHcWxkYkxvY2FsRGF0ZVRpbWUge1xuICByZXR1cm4geyBfdHlwZTogJ2xvY2FsRGF0ZXRpbWUnLCB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbmFub3NlY29uZCB9O1xufVxuXG4vKiogSGVscGVyOiBDb252ZXJ0IGEgR3FsZGJMb2NhbERhdGVUaW1lIHRvIGEgSmF2YVNjcmlwdCBEYXRlIChpbnRlcnByZXRlZCBhcyBVVEMpICovXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxEYXRlVGltZVRvRGF0ZShsZHQ6IEdxbGRiTG9jYWxEYXRlVGltZSk6IERhdGUge1xuICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMobGR0LnllYXIsIGxkdC5tb250aCAtIDEsIGxkdC5kYXksIGxkdC5ob3VyLCBsZHQubWludXRlLCBsZHQuc2Vjb25kLCBNYXRoLmZsb29yKGxkdC5uYW5vc2Vjb25kIC8gMTAwMDAwMCkpKTtcbn1cblxuLyoqIEhlbHBlcjogQ29udmVydCBhIEdxbGRiTG9jYWxEYXRlVGltZSB0byBJU08gODYwMSBzdHJpbmcgd2l0aG91dCB0aW1lem9uZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvY2FsRGF0ZVRpbWVUb1N0cmluZyhsZHQ6IEdxbGRiTG9jYWxEYXRlVGltZSk6IHN0cmluZyB7XG4gIGNvbnN0IHkgPSBsZHQueWVhci50b1N0cmluZygpLnBhZFN0YXJ0KDQsICcwJyk7XG4gIGNvbnN0IG0gPSBsZHQubW9udGgudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICBjb25zdCBkID0gbGR0LmRheS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIGNvbnN0IGggPSBsZHQuaG91ci50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIGNvbnN0IG1pbiA9IGxkdC5taW51dGUudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICBjb25zdCBzID0gbGR0LnNlY29uZC50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIGNvbnN0IG1zID0gTWF0aC5mbG9vcihsZHQubmFub3NlY29uZCAvIDEwMDAwMDApO1xuICBpZiAobXMgIT09IDApIHtcbiAgICByZXR1cm4gYCR7eX0tJHttfS0ke2R9VCR7aH06JHttaW59OiR7c30uJHttcy50b1N0cmluZygpLnBhZFN0YXJ0KDMsICcwJyl9YDtcbiAgfVxuICByZXR1cm4gYCR7eX0tJHttfS0ke2R9VCR7aH06JHttaW59OiR7c31gO1xufVxuXG4vKiogRGF0ZSB3aXRob3V0IHRpbWUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJEYXRlIHtcbiAgeWVhcjogbnVtYmVyO1xuICBtb250aDogbnVtYmVyOyAgLy8gMS0xMlxuICBkYXk6IG51bWJlcjsgICAgLy8gMS0zMVxufVxuXG4vKiogRGF0ZS10aW1lIHdpdGggdGltZXpvbmUgb2Zmc2V0IChjb21wb25lbnQtYmFzZWQpICovXG5leHBvcnQgaW50ZXJmYWNlIEdxbGRiWm9uZWREYXRlVGltZSB7XG4gIHllYXI6IG51bWJlcjtcbiAgbW9udGg6IG51bWJlcjsgICAvLyAxLTEyXG4gIGRheTogbnVtYmVyOyAgICAgLy8gMS0zMVxuICBob3VyOiBudW1iZXI7ICAgIC8vIDAtMjNcbiAgbWludXRlOiBudW1iZXI7ICAvLyAwLTU5XG4gIHNlY29uZDogbnVtYmVyOyAgLy8gMC01OVxuICBuYW5vc2Vjb25kOiBudW1iZXI7IC8vIDAtOTk5OTk5OTk5XG4gIG9mZnNldE1pbnV0ZXM6IG51bWJlcjsgLy8gc2lnbmVkIG9mZnNldCBpbiBtaW51dGVzXG59XG5cbi8qKiBMb2NhbCB0aW1lIHdpdGhvdXQgdGltZXpvbmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJMb2NhbFRpbWUge1xuICBob3VyOiBudW1iZXI7XG4gIG1pbnV0ZTogbnVtYmVyO1xuICBzZWNvbmQ6IG51bWJlcjtcbiAgbmFub3NlY29uZDogbnVtYmVyO1xufVxuXG4vKiogVGltZSB3aXRoIHRpbWV6b25lIG9mZnNldCAqL1xuZXhwb3J0IGludGVyZmFjZSBHcWxkYlpvbmVkVGltZSB7XG4gIGhvdXI6IG51bWJlcjtcbiAgbWludXRlOiBudW1iZXI7XG4gIHNlY29uZDogbnVtYmVyO1xuICBuYW5vc2Vjb25kOiBudW1iZXI7XG4gIG9mZnNldE1pbnV0ZXM6IG51bWJlcjtcbn1cblxuLyoqIFllYXItbW9udGggaW50ZXJ2YWwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgWWVhclRvTW9udGgge1xuICBtb250aHM6IG51bWJlcjtcbn1cblxuLyoqIERheS1zZWNvbmQgaW50ZXJ2YWwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF5VG9TZWNvbmQge1xuICBzZWNvbmRzOiBudW1iZXI7XG4gIG5hbm9zZWNvbmRzOiBudW1iZXI7XG59XG5cbi8qKiBGbG9hdDMyIHZlY3RvciBmb3IgZW1iZWRkaW5ncyAqL1xuZXhwb3J0IGludGVyZmFjZSBWZWN0b3Ige1xuICB2YWx1ZXM6IG51bWJlcltdO1xufVxuXG4vKiogVGFibGUgZGF0YSB3aXRoIGNvbHVtbnMgYW5kIHJvd3MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJUYWJsZSB7XG4gIGNvbHVtbnM6IHN0cmluZ1tdO1xuICByb3dzOiBhbnlbXVtdO1xufVxuXG4vKiogVHlwZSBndWFyZHMgZm9yIGRhdGEgdHlwZXMgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1BvaW50KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQb2ludCB7XG4gIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICdsYXRpdHVkZScgaW4gdmFsdWUgJiYgJ2xvbmdpdHVkZScgaW4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1BvaW50M0QodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBvaW50M0Qge1xuICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAneCcgaW4gdmFsdWUgJiYgJ3knIGluIHZhbHVlICYmICd6JyBpbiB2YWx1ZSAmJiAhKCdsYXRpdHVkZScgaW4gdmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNHcWxkYkRlY2ltYWwodmFsdWU6IGFueSk6IHZhbHVlIGlzIEdxbGRiRGVjaW1hbCB7XG4gIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICd2YWx1ZScgaW4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnZhbHVlID09PSAnc3RyaW5nJyAmJiAhKCdsYXRpdHVkZScgaW4gdmFsdWUpICYmICEoJ3gnIGluIHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3FsZGJUaW1lc3RhbXAodmFsdWU6IGFueSk6IHZhbHVlIGlzIEdxbGRiVGltZXN0YW1wIHtcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCdcbiAgICAmJiAneWVhcicgaW4gdmFsdWUgJiYgJ21vbnRoJyBpbiB2YWx1ZSAmJiAnZGF5JyBpbiB2YWx1ZVxuICAgICYmICdob3VyJyBpbiB2YWx1ZSAmJiAnbWludXRlJyBpbiB2YWx1ZSAmJiAnc2Vjb25kJyBpbiB2YWx1ZVxuICAgICYmICduYW5vc2Vjb25kJyBpbiB2YWx1ZSAmJiAhKCdvZmZzZXRNaW51dGVzJyBpbiB2YWx1ZSlcbiAgICAmJiB0eXBlb2YgdmFsdWUueWVhciA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHZhbHVlLmhvdXIgPT09ICdudW1iZXInXG4gICAgJiYgdmFsdWUuX3R5cGUgPT09ICd0aW1lc3RhbXAnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNHcWxkYkxvY2FsRGF0ZVRpbWUodmFsdWU6IGFueSk6IHZhbHVlIGlzIEdxbGRiTG9jYWxEYXRlVGltZSB7XG4gIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG4gICAgJiYgJ3llYXInIGluIHZhbHVlICYmICdtb250aCcgaW4gdmFsdWUgJiYgJ2RheScgaW4gdmFsdWVcbiAgICAmJiAnaG91cicgaW4gdmFsdWUgJiYgJ21pbnV0ZScgaW4gdmFsdWUgJiYgJ3NlY29uZCcgaW4gdmFsdWVcbiAgICAmJiAnbmFub3NlY29uZCcgaW4gdmFsdWUgJiYgISgnb2Zmc2V0TWludXRlcycgaW4gdmFsdWUpXG4gICAgJiYgdHlwZW9mIHZhbHVlLnllYXIgPT09ICdudW1iZXInICYmIHR5cGVvZiB2YWx1ZS5ob3VyID09PSAnbnVtYmVyJ1xuICAgICYmIHZhbHVlLl90eXBlID09PSAnbG9jYWxEYXRldGltZSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dxbGRiRGF0ZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgR3FsZGJEYXRlIHtcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3llYXInIGluIHZhbHVlICYmICdtb250aCcgaW4gdmFsdWUgJiYgJ2RheScgaW4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnllYXIgPT09ICdudW1iZXInICYmICEoJ2hvdXInIGluIHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3FsZGJab25lZERhdGVUaW1lKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBHcWxkYlpvbmVkRGF0ZVRpbWUge1xuICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICYmICd5ZWFyJyBpbiB2YWx1ZSAmJiAnbW9udGgnIGluIHZhbHVlICYmICdkYXknIGluIHZhbHVlXG4gICAgJiYgJ2hvdXInIGluIHZhbHVlICYmICdtaW51dGUnIGluIHZhbHVlICYmICdzZWNvbmQnIGluIHZhbHVlXG4gICAgJiYgJ25hbm9zZWNvbmQnIGluIHZhbHVlICYmICdvZmZzZXRNaW51dGVzJyBpbiB2YWx1ZVxuICAgICYmIHR5cGVvZiB2YWx1ZS55ZWFyID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgdmFsdWUuaG91ciA9PT0gJ251bWJlcic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dxbGRiTG9jYWxUaW1lKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBHcWxkYkxvY2FsVGltZSB7XG4gIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICdob3VyJyBpbiB2YWx1ZSAmJiAnbWludXRlJyBpbiB2YWx1ZSAmJiAnc2Vjb25kJyBpbiB2YWx1ZSAmJiAnbmFub3NlY29uZCcgaW4gdmFsdWUgJiYgISgnb2Zmc2V0TWludXRlcycgaW4gdmFsdWUpICYmICEoJ3llYXInIGluIHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3FsZGJab25lZFRpbWUodmFsdWU6IGFueSk6IHZhbHVlIGlzIEdxbGRiWm9uZWRUaW1lIHtcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgJ2hvdXInIGluIHZhbHVlICYmICdtaW51dGUnIGluIHZhbHVlICYmICdzZWNvbmQnIGluIHZhbHVlICYmICduYW5vc2Vjb25kJyBpbiB2YWx1ZSAmJiAnb2Zmc2V0TWludXRlcycgaW4gdmFsdWUgJiYgISgneWVhcicgaW4gdmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNZZWFyVG9Nb250aCh2YWx1ZTogYW55KTogdmFsdWUgaXMgWWVhclRvTW9udGgge1xuICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAnbW9udGhzJyBpbiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUubW9udGhzID09PSAnbnVtYmVyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF5VG9TZWNvbmQodmFsdWU6IGFueSk6IHZhbHVlIGlzIERheVRvU2Vjb25kIHtcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3NlY29uZHMnIGluIHZhbHVlICYmICduYW5vc2Vjb25kcycgaW4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnNlY29uZHMgPT09ICdudW1iZXInO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWZWN0b3IodmFsdWU6IGFueSk6IHZhbHVlIGlzIFZlY3RvciB7XG4gIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICd2YWx1ZXMnIGluIHZhbHVlICYmIEFycmF5LmlzQXJyYXkodmFsdWUudmFsdWVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3FsZGJTZXQodmFsdWU6IGFueSk6IHZhbHVlIGlzIFNldDxhbnk+IHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgU2V0O1xufVxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enumeration types for GQLDB Node.js driver.
|
|
3
|
+
*/
|
|
4
|
+
/** Property type enumeration */
|
|
5
|
+
export declare enum PropertyType {
|
|
6
|
+
UNSET = 0,
|
|
7
|
+
INT32 = 1,
|
|
8
|
+
UINT32 = 2,
|
|
9
|
+
INT64 = 3,
|
|
10
|
+
UINT64 = 4,
|
|
11
|
+
FLOAT = 5,
|
|
12
|
+
DOUBLE = 6,
|
|
13
|
+
STRING = 7,
|
|
14
|
+
DATETIME = 8,// Deprecated, use TIMESTAMP
|
|
15
|
+
TIMESTAMP = 9,
|
|
16
|
+
TEXT = 10,
|
|
17
|
+
BLOB = 11,
|
|
18
|
+
POINT = 12,
|
|
19
|
+
DECIMAL = 13,
|
|
20
|
+
LIST = 14,
|
|
21
|
+
SET = 15,
|
|
22
|
+
MAP = 16,
|
|
23
|
+
NULL = 17,
|
|
24
|
+
BOOL = 18,
|
|
25
|
+
LOCAL_DATETIME = 19,
|
|
26
|
+
ZONED_DATETIME = 20,
|
|
27
|
+
DATE = 21,
|
|
28
|
+
ZONED_TIME = 22,
|
|
29
|
+
LOCAL_TIME = 23,
|
|
30
|
+
YEAR_TO_MONTH = 24,
|
|
31
|
+
DAY_TO_SECOND = 25,
|
|
32
|
+
RECORD = 26,
|
|
33
|
+
POINT3D = 27,
|
|
34
|
+
VECTOR = 28,
|
|
35
|
+
TABLE = 29,
|
|
36
|
+
PATH = 30,
|
|
37
|
+
ERROR = 31,
|
|
38
|
+
NODE = 32,
|
|
39
|
+
EDGE = 33
|
|
40
|
+
}
|
|
41
|
+
/** Graph type enumeration */
|
|
42
|
+
export declare enum GraphType {
|
|
43
|
+
OPEN = 0,// Schema-less graph
|
|
44
|
+
CLOSED = 1,// Schema-enforced graph
|
|
45
|
+
ONTOLOGY = 2
|
|
46
|
+
}
|
|
47
|
+
/** Health status enumeration */
|
|
48
|
+
export declare enum HealthStatus {
|
|
49
|
+
UNKNOWN = 0,
|
|
50
|
+
SERVING = 1,
|
|
51
|
+
NOT_SERVING = 2,
|
|
52
|
+
SERVICE_UNKNOWN = 3
|
|
53
|
+
}
|
|
54
|
+
/** Cache type enumeration */
|
|
55
|
+
export declare enum CacheType {
|
|
56
|
+
ALL = 0,
|
|
57
|
+
AST = 1,
|
|
58
|
+
PLAN = 2
|
|
59
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Enumeration types for GQLDB Node.js driver.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CacheType = exports.HealthStatus = exports.GraphType = exports.PropertyType = void 0;
|
|
7
|
+
/** Property type enumeration */
|
|
8
|
+
var PropertyType;
|
|
9
|
+
(function (PropertyType) {
|
|
10
|
+
PropertyType[PropertyType["UNSET"] = 0] = "UNSET";
|
|
11
|
+
PropertyType[PropertyType["INT32"] = 1] = "INT32";
|
|
12
|
+
PropertyType[PropertyType["UINT32"] = 2] = "UINT32";
|
|
13
|
+
PropertyType[PropertyType["INT64"] = 3] = "INT64";
|
|
14
|
+
PropertyType[PropertyType["UINT64"] = 4] = "UINT64";
|
|
15
|
+
PropertyType[PropertyType["FLOAT"] = 5] = "FLOAT";
|
|
16
|
+
PropertyType[PropertyType["DOUBLE"] = 6] = "DOUBLE";
|
|
17
|
+
PropertyType[PropertyType["STRING"] = 7] = "STRING";
|
|
18
|
+
PropertyType[PropertyType["DATETIME"] = 8] = "DATETIME";
|
|
19
|
+
PropertyType[PropertyType["TIMESTAMP"] = 9] = "TIMESTAMP";
|
|
20
|
+
PropertyType[PropertyType["TEXT"] = 10] = "TEXT";
|
|
21
|
+
PropertyType[PropertyType["BLOB"] = 11] = "BLOB";
|
|
22
|
+
PropertyType[PropertyType["POINT"] = 12] = "POINT";
|
|
23
|
+
PropertyType[PropertyType["DECIMAL"] = 13] = "DECIMAL";
|
|
24
|
+
PropertyType[PropertyType["LIST"] = 14] = "LIST";
|
|
25
|
+
PropertyType[PropertyType["SET"] = 15] = "SET";
|
|
26
|
+
PropertyType[PropertyType["MAP"] = 16] = "MAP";
|
|
27
|
+
PropertyType[PropertyType["NULL"] = 17] = "NULL";
|
|
28
|
+
PropertyType[PropertyType["BOOL"] = 18] = "BOOL";
|
|
29
|
+
PropertyType[PropertyType["LOCAL_DATETIME"] = 19] = "LOCAL_DATETIME";
|
|
30
|
+
PropertyType[PropertyType["ZONED_DATETIME"] = 20] = "ZONED_DATETIME";
|
|
31
|
+
PropertyType[PropertyType["DATE"] = 21] = "DATE";
|
|
32
|
+
PropertyType[PropertyType["ZONED_TIME"] = 22] = "ZONED_TIME";
|
|
33
|
+
PropertyType[PropertyType["LOCAL_TIME"] = 23] = "LOCAL_TIME";
|
|
34
|
+
PropertyType[PropertyType["YEAR_TO_MONTH"] = 24] = "YEAR_TO_MONTH";
|
|
35
|
+
PropertyType[PropertyType["DAY_TO_SECOND"] = 25] = "DAY_TO_SECOND";
|
|
36
|
+
PropertyType[PropertyType["RECORD"] = 26] = "RECORD";
|
|
37
|
+
PropertyType[PropertyType["POINT3D"] = 27] = "POINT3D";
|
|
38
|
+
PropertyType[PropertyType["VECTOR"] = 28] = "VECTOR";
|
|
39
|
+
PropertyType[PropertyType["TABLE"] = 29] = "TABLE";
|
|
40
|
+
PropertyType[PropertyType["PATH"] = 30] = "PATH";
|
|
41
|
+
PropertyType[PropertyType["ERROR"] = 31] = "ERROR";
|
|
42
|
+
PropertyType[PropertyType["NODE"] = 32] = "NODE";
|
|
43
|
+
PropertyType[PropertyType["EDGE"] = 33] = "EDGE";
|
|
44
|
+
})(PropertyType || (exports.PropertyType = PropertyType = {}));
|
|
45
|
+
/** Graph type enumeration */
|
|
46
|
+
var GraphType;
|
|
47
|
+
(function (GraphType) {
|
|
48
|
+
GraphType[GraphType["OPEN"] = 0] = "OPEN";
|
|
49
|
+
GraphType[GraphType["CLOSED"] = 1] = "CLOSED";
|
|
50
|
+
GraphType[GraphType["ONTOLOGY"] = 2] = "ONTOLOGY";
|
|
51
|
+
})(GraphType || (exports.GraphType = GraphType = {}));
|
|
52
|
+
/** Health status enumeration */
|
|
53
|
+
var HealthStatus;
|
|
54
|
+
(function (HealthStatus) {
|
|
55
|
+
HealthStatus[HealthStatus["UNKNOWN"] = 0] = "UNKNOWN";
|
|
56
|
+
HealthStatus[HealthStatus["SERVING"] = 1] = "SERVING";
|
|
57
|
+
HealthStatus[HealthStatus["NOT_SERVING"] = 2] = "NOT_SERVING";
|
|
58
|
+
HealthStatus[HealthStatus["SERVICE_UNKNOWN"] = 3] = "SERVICE_UNKNOWN";
|
|
59
|
+
})(HealthStatus || (exports.HealthStatus = HealthStatus = {}));
|
|
60
|
+
/** Cache type enumeration */
|
|
61
|
+
var CacheType;
|
|
62
|
+
(function (CacheType) {
|
|
63
|
+
CacheType[CacheType["ALL"] = 0] = "ALL";
|
|
64
|
+
CacheType[CacheType["AST"] = 1] = "AST";
|
|
65
|
+
CacheType[CacheType["PLAN"] = 2] = "PLAN";
|
|
66
|
+
})(CacheType || (exports.CacheType = CacheType = {}));
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCxnQ0FBZ0M7QUFDaEMsSUFBWSxZQW1DWDtBQW5DRCxXQUFZLFlBQVk7SUFDdEIsaURBQVMsQ0FBQTtJQUNULGlEQUFTLENBQUE7SUFDVCxtREFBVSxDQUFBO0lBQ1YsaURBQVMsQ0FBQTtJQUNULG1EQUFVLENBQUE7SUFDVixpREFBUyxDQUFBO0lBQ1QsbURBQVUsQ0FBQTtJQUNWLG1EQUFVLENBQUE7SUFDVix1REFBWSxDQUFBO0lBQ1oseURBQWEsQ0FBQTtJQUNiLGdEQUFTLENBQUE7SUFDVCxnREFBUyxDQUFBO0lBQ1Qsa0RBQVUsQ0FBQTtJQUNWLHNEQUFZLENBQUE7SUFDWixnREFBUyxDQUFBO0lBQ1QsOENBQVEsQ0FBQTtJQUNSLDhDQUFRLENBQUE7SUFDUixnREFBUyxDQUFBO0lBQ1QsZ0RBQVMsQ0FBQTtJQUNULG9FQUFtQixDQUFBO0lBQ25CLG9FQUFtQixDQUFBO0lBQ25CLGdEQUFTLENBQUE7SUFDVCw0REFBZSxDQUFBO0lBQ2YsNERBQWUsQ0FBQTtJQUNmLGtFQUFrQixDQUFBO0lBQ2xCLGtFQUFrQixDQUFBO0lBQ2xCLG9EQUFXLENBQUE7SUFDWCxzREFBWSxDQUFBO0lBQ1osb0RBQVcsQ0FBQTtJQUNYLGtEQUFVLENBQUE7SUFDVixnREFBUyxDQUFBO0lBQ1Qsa0RBQVUsQ0FBQTtJQUNWLGdEQUFTLENBQUE7SUFDVCxnREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQW5DVyxZQUFZLDRCQUFaLFlBQVksUUFtQ3ZCO0FBRUQsNkJBQTZCO0FBQzdCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix5Q0FBUSxDQUFBO0lBQ1IsNkNBQVUsQ0FBQTtJQUNWLGlEQUFZLENBQUE7QUFDZCxDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCO0FBRUQsZ0NBQWdDO0FBQ2hDLElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gscURBQVcsQ0FBQTtJQUNYLDZEQUFlLENBQUE7SUFDZixxRUFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsWUFBWSw0QkFBWixZQUFZLFFBS3ZCO0FBRUQsNkJBQTZCO0FBQzdCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix1Q0FBTyxDQUFBO0lBQ1AsdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7QUFDVixDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtZXJhdGlvbiB0eXBlcyBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuLyoqIFByb3BlcnR5IHR5cGUgZW51bWVyYXRpb24gKi9cbmV4cG9ydCBlbnVtIFByb3BlcnR5VHlwZSB7XG4gIFVOU0VUID0gMCxcbiAgSU5UMzIgPSAxLFxuICBVSU5UMzIgPSAyLFxuICBJTlQ2NCA9IDMsXG4gIFVJTlQ2NCA9IDQsXG4gIEZMT0FUID0gNSxcbiAgRE9VQkxFID0gNixcbiAgU1RSSU5HID0gNyxcbiAgREFURVRJTUUgPSA4LCAvLyBEZXByZWNhdGVkLCB1c2UgVElNRVNUQU1QXG4gIFRJTUVTVEFNUCA9IDksXG4gIFRFWFQgPSAxMCxcbiAgQkxPQiA9IDExLFxuICBQT0lOVCA9IDEyLFxuICBERUNJTUFMID0gMTMsXG4gIExJU1QgPSAxNCxcbiAgU0VUID0gMTUsXG4gIE1BUCA9IDE2LFxuICBOVUxMID0gMTcsXG4gIEJPT0wgPSAxOCxcbiAgTE9DQUxfREFURVRJTUUgPSAxOSxcbiAgWk9ORURfREFURVRJTUUgPSAyMCxcbiAgREFURSA9IDIxLFxuICBaT05FRF9USU1FID0gMjIsXG4gIExPQ0FMX1RJTUUgPSAyMyxcbiAgWUVBUl9UT19NT05USCA9IDI0LFxuICBEQVlfVE9fU0VDT05EID0gMjUsXG4gIFJFQ09SRCA9IDI2LFxuICBQT0lOVDNEID0gMjcsXG4gIFZFQ1RPUiA9IDI4LFxuICBUQUJMRSA9IDI5LFxuICBQQVRIID0gMzAsXG4gIEVSUk9SID0gMzEsXG4gIE5PREUgPSAzMixcbiAgRURHRSA9IDMzLFxufVxuXG4vKiogR3JhcGggdHlwZSBlbnVtZXJhdGlvbiAqL1xuZXhwb3J0IGVudW0gR3JhcGhUeXBlIHtcbiAgT1BFTiA9IDAsIC8vIFNjaGVtYS1sZXNzIGdyYXBoXG4gIENMT1NFRCA9IDEsIC8vIFNjaGVtYS1lbmZvcmNlZCBncmFwaFxuICBPTlRPTE9HWSA9IDIsIC8vIE9udG9sb2d5LWVuYWJsZWQgZ3JhcGhcbn1cblxuLyoqIEhlYWx0aCBzdGF0dXMgZW51bWVyYXRpb24gKi9cbmV4cG9ydCBlbnVtIEhlYWx0aFN0YXR1cyB7XG4gIFVOS05PV04gPSAwLFxuICBTRVJWSU5HID0gMSxcbiAgTk9UX1NFUlZJTkcgPSAyLFxuICBTRVJWSUNFX1VOS05PV04gPSAzLFxufVxuXG4vKiogQ2FjaGUgdHlwZSBlbnVtZXJhdGlvbiAqL1xuZXhwb3J0IGVudW0gQ2FjaGVUeXBlIHtcbiAgQUxMID0gMCxcbiAgQVNUID0gMSxcbiAgUExBTiA9IDIsXG59XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph entity types for GQLDB Node.js driver.
|
|
3
|
+
*/
|
|
4
|
+
/** Graph node */
|
|
5
|
+
export interface GqldbNode {
|
|
6
|
+
id: string;
|
|
7
|
+
labels: string[];
|
|
8
|
+
properties: Record<string, any>;
|
|
9
|
+
}
|
|
10
|
+
/** Graph edge */
|
|
11
|
+
export interface GqldbEdge {
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
fromNodeId: string;
|
|
15
|
+
toNodeId: string;
|
|
16
|
+
properties: Record<string, any>;
|
|
17
|
+
}
|
|
18
|
+
/** Graph path consisting of nodes and edges */
|
|
19
|
+
export interface GqldbPath {
|
|
20
|
+
nodes: GqldbNode[];
|
|
21
|
+
edges: GqldbEdge[];
|
|
22
|
+
}
|
|
23
|
+
/** Error value from TRY/CATCH handling */
|
|
24
|
+
export interface GqldbError {
|
|
25
|
+
code: number;
|
|
26
|
+
message: string;
|
|
27
|
+
}
|
|
28
|
+
/** Data for a node to be inserted */
|
|
29
|
+
export interface NodeData {
|
|
30
|
+
id?: string;
|
|
31
|
+
labels: string[];
|
|
32
|
+
properties: Record<string, any>;
|
|
33
|
+
}
|
|
34
|
+
/** Data for an edge to be inserted */
|
|
35
|
+
export interface EdgeData {
|
|
36
|
+
label: string;
|
|
37
|
+
fromNodeId: string;
|
|
38
|
+
toNodeId: string;
|
|
39
|
+
properties: Record<string, any>;
|
|
40
|
+
}
|
|
41
|
+
/** A node exported from the database */
|
|
42
|
+
export interface ExportedNode {
|
|
43
|
+
id: string;
|
|
44
|
+
labels: string[];
|
|
45
|
+
properties: Record<string, any>;
|
|
46
|
+
}
|
|
47
|
+
/** An edge exported from the database */
|
|
48
|
+
export interface ExportedEdge {
|
|
49
|
+
id: string;
|
|
50
|
+
label: string;
|
|
51
|
+
fromNodeId: string;
|
|
52
|
+
toNodeId: string;
|
|
53
|
+
properties: Record<string, any>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Graph entity types for GQLDB Node.js driver.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhfbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2dyYXBoX21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdyYXBoIGVudGl0eSB0eXBlcyBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuLyoqIEdyYXBoIG5vZGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJOb2RlIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWxzOiBzdHJpbmdbXTtcbiAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLyoqIEdyYXBoIGVkZ2UgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJFZGdlIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZnJvbU5vZGVJZDogc3RyaW5nO1xuICB0b05vZGVJZDogc3RyaW5nO1xuICBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKiogR3JhcGggcGF0aCBjb25zaXN0aW5nIG9mIG5vZGVzIGFuZCBlZGdlcyAqL1xuZXhwb3J0IGludGVyZmFjZSBHcWxkYlBhdGgge1xuICBub2RlczogR3FsZGJOb2RlW107XG4gIGVkZ2VzOiBHcWxkYkVkZ2VbXTtcbn1cblxuLyoqIEVycm9yIHZhbHVlIGZyb20gVFJZL0NBVENIIGhhbmRsaW5nICovXG5leHBvcnQgaW50ZXJmYWNlIEdxbGRiRXJyb3Ige1xuICBjb2RlOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqIERhdGEgZm9yIGEgbm9kZSB0byBiZSBpbnNlcnRlZCAqL1xuZXhwb3J0IGludGVyZmFjZSBOb2RlRGF0YSB7XG4gIGlkPzogc3RyaW5nO1xuICBsYWJlbHM6IHN0cmluZ1tdO1xuICBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKiogRGF0YSBmb3IgYW4gZWRnZSB0byBiZSBpbnNlcnRlZCAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGdlRGF0YSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGZyb21Ob2RlSWQ6IHN0cmluZztcbiAgdG9Ob2RlSWQ6IHN0cmluZztcbiAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLyoqIEEgbm9kZSBleHBvcnRlZCBmcm9tIHRoZSBkYXRhYmFzZSAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRlZE5vZGUge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbHM6IHN0cmluZ1tdO1xuICBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKiogQW4gZWRnZSBleHBvcnRlZCBmcm9tIHRoZSBkYXRhYmFzZSAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRlZEVkZ2Uge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBmcm9tTm9kZUlkOiBzdHJpbmc7XG4gIHRvTm9kZUlkOiBzdHJpbmc7XG4gIHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG4iXX0=
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export *
|
|
1
|
+
/**
|
|
2
|
+
* Barrel export for all types in GQLDB Node.js driver.
|
|
3
|
+
*/
|
|
4
|
+
export * from './enums';
|
|
5
|
+
export * from './wrappers';
|
|
6
|
+
export * from './data_types';
|
|
7
|
+
export * from './graph_models';
|
|
8
|
+
export * from './metadata';
|
|
9
|
+
export * from './bulk_import';
|
|
10
|
+
export * from './schema';
|
|
11
|
+
export * from './typed_value';
|