@ultipa-graph/ultipa-driver 6.0.6 → 6.0.7

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.
@@ -42,9 +42,19 @@ class TransactionService {
42
42
  transaction_id: transactionId.toString(),
43
43
  };
44
44
  const metadata = this.ctx.getSessionMetadata();
45
- const response = await (0, services_1.promisifyCall)(this.ctx.clients.transactionService, 'Commit', request, metadata);
46
- this.ctx.txManager.commit(transactionId);
47
- return response.success || false;
45
+ try {
46
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.transactionService, 'Commit', request, metadata);
47
+ this.ctx.txManager.commit(transactionId);
48
+ return response.success || false;
49
+ }
50
+ catch (e) {
51
+ // Clean up local state even if server commit fails
52
+ try {
53
+ this.ctx.txManager.rollback(transactionId);
54
+ }
55
+ catch { }
56
+ throw e;
57
+ }
48
58
  }
49
59
  /**
50
60
  * Rollback a transaction.
@@ -56,9 +66,19 @@ class TransactionService {
56
66
  transaction_id: transactionId.toString(),
57
67
  };
58
68
  const metadata = this.ctx.getSessionMetadata();
59
- const response = await (0, services_1.promisifyCall)(this.ctx.clients.transactionService, 'Rollback', request, metadata);
60
- this.ctx.txManager.rollback(transactionId);
61
- return response.success || false;
69
+ try {
70
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.transactionService, 'Rollback', request, metadata);
71
+ this.ctx.txManager.rollback(transactionId);
72
+ return response.success || false;
73
+ }
74
+ catch (e) {
75
+ // Always clean up local state even if server rollback fails
76
+ try {
77
+ this.ctx.txManager.rollback(transactionId);
78
+ }
79
+ catch { }
80
+ throw e;
81
+ }
62
82
  }
63
83
  /**
64
84
  * Return active transactions for the current session.
@@ -97,4 +117,4 @@ class TransactionService {
97
117
  }
98
118
  }
99
119
  exports.TransactionService = TransactionService;
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90cmFuc2FjdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBS0gsMENBQTRDO0FBRTVDOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDVDtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7O09BRUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQ3BCLFNBQWlCLEVBQ2pCLFdBQW9CLEtBQUssRUFDekIsVUFBa0IsQ0FBQztRQUVuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRztZQUNkLFVBQVUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUc7WUFDMUMsVUFBVSxFQUFFLFNBQVM7WUFDckIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLGlDQUFpQztTQUM3RyxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFRLE1BQU0sSUFBQSx3QkFBYSxFQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFDbkMsT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLENBQ1QsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsY0FBYyxJQUFJLEdBQUcsRUFBRSxFQUFF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QTRIQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHJhbnNhY3Rpb24gc2VydmljZSBoYW5kbGVzIHRyYW5zYWN0aW9uIGxpZmVjeWNsZSBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7IFNlcnZpY2VDb250ZXh0IH0gZnJvbSAnLi9zZXJ2aWNlLWNvbnRleHQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkluZm8gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBwcm9taXNpZnlDYWxsIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG4vKipcbiAqIFRyYW5zYWN0aW9uIHNlcnZpY2UgZm9yIG1hbmFnaW5nIGRhdGFiYXNlIHRyYW5zYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3R4OiBTZXJ2aWNlQ29udGV4dCkge31cblxuICAvKipcbiAgICogU3RhcnQgYSBuZXcgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBhc3luYyBiZWdpblRyYW5zYWN0aW9uKFxuICAgIGdyYXBoTmFtZTogc3RyaW5nLFxuICAgIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2UsXG4gICAgdGltZW91dDogbnVtYmVyID0gMFxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuY3R4LnNlc3Npb25zLmdldFNlc3Npb24oKTtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbj8uaWQ/LnRvU3RyaW5nKCkgfHwgJzAnLFxuICAgICAgZ3JhcGhfbmFtZTogZ3JhcGhOYW1lLFxuICAgICAgcmVhZF9vbmx5OiByZWFkT25seSxcbiAgICAgIHRpbWVvdXQ6IE1hdGguZmxvb3IoKHRpbWVvdXQgfHwgdGhpcy5jdHguY29uZmlnLnRpbWVvdXQgfHwgMzAwMDApIC8gMTAwMCksIC8vIENvbnZlcnQgbXMgdG8gc2Vjb25kcyBmb3IgZ1JQQ1xuICAgIH07XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy50cmFuc2FjdGlvblNlcnZpY2UsXG4gICAgICAnQmVnaW4nLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcblxuICAgIGNvbnN0IHR4SWQgPSBwYXJzZUludChyZXNwb25zZS50cmFuc2FjdGlvbl9pZCB8fCAnMCcsIDEwKTtcbiAgICBjb25zdCBzZXNzaW9uSWQgPSBzZXNzaW9uPy5pZCB8fCAwO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IHRpbWVvdXQgfHwgdGhpcy5jdHguY29uZmlnLnRpbWVvdXQgfHwgMzAwMDA7XG4gICAgY29uc3QgdHggPSB0aGlzLmN0eC50eE1hbmFnZXIuYmVnaW4odHhJZCwgc2Vzc2lvbklkLCBncmFwaE5hbWUsIHJlYWRPbmx5LCB0aW1lb3V0TXMpO1xuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21taXQgYSB0cmFuc2FjdGlvbi5cbiAgICovXG4gIGFzeW5jIGNvbW1pdCh0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uPy5pZD8udG9TdHJpbmcoKSB8fCAnMCcsXG4gICAgICB0cmFuc2FjdGlvbl9pZDogdHJhbnNhY3Rpb25JZC50b1N0cmluZygpLFxuICAgIH07XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy50cmFuc2FjdGlvblNlcnZpY2UsXG4gICAgICAnQ29tbWl0JyxcbiAgICAgIHJlcXVlc3QsXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG5cbiAgICB0aGlzLmN0eC50eE1hbmFnZXIuY29tbWl0KHRyYW5zYWN0aW9uSWQpO1xuICAgIHJldHVybiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvbGxiYWNrIGEgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBhc3luYyByb2xsYmFjayh0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uPy5pZD8udG9TdHJpbmcoKSB8fCAnMCcsXG4gICAgICB0cmFuc2FjdGlvbl9pZDogdHJhbnNhY3Rpb25JZC50b1N0cmluZygpLFxuICAgIH07XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy50cmFuc2FjdGlvblNlcnZpY2UsXG4gICAgICAnUm9sbGJhY2snLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcblxuICAgIHRoaXMuY3R4LnR4TWFuYWdlci5yb2xsYmFjayh0cmFuc2FjdGlvbklkKTtcbiAgICByZXR1cm4gcmVzcG9uc2Uuc3VjY2VzcyB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYWN0aXZlIHRyYW5zYWN0aW9ucyBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbi5cbiAgICovXG4gIGFzeW5jIGxpc3RUcmFuc2FjdGlvbnMoKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9bXT4ge1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmN0eC5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIHNlc3Npb25faWQ6IHNlc3Npb24/LmlkPy50b1N0cmluZygpIHx8ICcwJyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcbiAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbChcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMudHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgICAgJ0xpc3RUcmFuc2FjdGlvbnMnLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcblxuICAgIHJldHVybiAocmVzcG9uc2UudHJhbnNhY3Rpb25zIHx8IFtdKS5tYXAoKHQ6IGFueSkgPT4gKHtcbiAgICAgIHRyYW5zYWN0aW9uSWQ6IHBhcnNlSW50KHQudHJhbnNhY3Rpb25faWQgfHwgJzAnLCAxMCksXG4gICAgICBzZXNzaW9uSWQ6IHBhcnNlSW50KHQuc2Vzc2lvbl9pZCB8fCAnMCcsIDEwKSxcbiAgICAgIGdyYXBoTmFtZTogdC5ncmFwaF9uYW1lIHx8ICcnLFxuICAgICAgcmVhZE9ubHk6IHQucmVhZF9vbmx5IHx8IGZhbHNlLFxuICAgICAgY3JlYXRlZEF0OiBwYXJzZUludCh0LmNyZWF0ZWRfYXQgfHwgJzAnLCAxMCksXG4gICAgICBkdXJhdGlvbk1zOiBwYXJzZUludCh0LmR1cmF0aW9uX21zIHx8ICcwJywgMTApLFxuICAgICAgaW50ZXJuYWxUeElkOiB0LmludGVybmFsX3R4X2lkIHx8ICcnLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgZnVuY3Rpb24gd2l0aGluIGEgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBhc3luYyB3aXRoVHJhbnNhY3Rpb248VD4oXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXG4gICAgZm46ICh0eElkOiBudW1iZXIpID0+IFByb21pc2U8VD4sXG4gICAgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZVxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHRoaXMuYmVnaW5UcmFuc2FjdGlvbihncmFwaE5hbWUsIHJlYWRPbmx5LCB0aGlzLmN0eC5jb25maWcudGltZW91dCA/PyAzMDAwMCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZuKHR4LmlkKTtcbiAgICAgIGF3YWl0IHRoaXMuY29tbWl0KHR4LmlkKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFjayh0eC5pZCk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90cmFuc2FjdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBS0gsMENBQTRDO0FBRTVDOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDVDtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7O09BRUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQ3BCLFNBQWlCLEVBQ2pCLFdBQW9CLEtBQUssRUFDekIsVUFBa0IsQ0FBQztRQUVuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRztZQUNkLFVBQVUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUc7WUFDMUMsVUFBVSxFQUFFLFNBQVM7WUFDckIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLGlDQUFpQztTQUM3RyxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFRLE1BQU0sSUFBQSx3QkFBYSxFQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFDbkMsT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLENBQ1QsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsY0FBYyxJQUFJLEdBQUcsRUFBRSxFQUFF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RUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF4SUQsZ0RBd0lDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUcmFuc2FjdGlvbiBzZXJ2aWNlIGhhbmRsZXMgdHJhbnNhY3Rpb24gbGlmZWN5Y2xlIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHsgU2VydmljZUNvbnRleHQgfSBmcm9tICcuL3NlcnZpY2UtY29udGV4dCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uSW5mbyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHByb21pc2lmeUNhbGwgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbi8qKlxuICogVHJhbnNhY3Rpb24gc2VydmljZSBmb3IgbWFuYWdpbmcgZGF0YWJhc2UgdHJhbnNhY3Rpb25zLlxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjdHg6IFNlcnZpY2VDb250ZXh0KSB7fVxuXG4gIC8qKlxuICAgKiBTdGFydCBhIG5ldyB0cmFuc2FjdGlvbi5cbiAgICovXG4gIGFzeW5jIGJlZ2luVHJhbnNhY3Rpb24oXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXG4gICAgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICB0aW1lb3V0OiBudW1iZXIgPSAwXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uPy5pZD8udG9TdHJpbmcoKSB8fCAnMCcsXG4gICAgICBncmFwaF9uYW1lOiBncmFwaE5hbWUsXG4gICAgICByZWFkX29ubHk6IHJlYWRPbmx5LFxuICAgICAgdGltZW91dDogTWF0aC5mbG9vcigodGltZW91dCB8fCB0aGlzLmN0eC5jb25maWcudGltZW91dCB8fCAzMDAwMCkgLyAxMDAwKSwgLy8gQ29udmVydCBtcyB0byBzZWNvbmRzIGZvciBnUlBDXG4gICAgfTtcblxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLnRyYW5zYWN0aW9uU2VydmljZSxcbiAgICAgICdCZWdpbicsXG4gICAgICByZXF1ZXN0LFxuICAgICAgbWV0YWRhdGFcbiAgICApO1xuXG4gICAgY29uc3QgdHhJZCA9IHBhcnNlSW50KHJlc3BvbnNlLnRyYW5zYWN0aW9uX2lkIHx8ICcwJywgMTApO1xuICAgIGNvbnN0IHNlc3Npb25JZCA9IHNlc3Npb24/LmlkIHx8IDA7XG4gICAgY29uc3QgdGltZW91dE1zID0gdGltZW91dCB8fCB0aGlzLmN0eC5jb25maWcudGltZW91dCB8fCAzMDAwMDtcbiAgICBjb25zdCB0eCA9IHRoaXMuY3R4LnR4TWFuYWdlci5iZWdpbih0eElkLCBzZXNzaW9uSWQsIGdyYXBoTmFtZSwgcmVhZE9ubHksIHRpbWVvdXRNcyk7XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbW1pdCBhIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgYXN5bmMgY29tbWl0KHRyYW5zYWN0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmN0eC5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIHNlc3Npb25faWQ6IHNlc3Npb24/LmlkPy50b1N0cmluZygpIHx8ICcwJyxcbiAgICAgIHRyYW5zYWN0aW9uX2lkOiB0cmFuc2FjdGlvbklkLnRvU3RyaW5nKCksXG4gICAgfTtcblxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgICB0aGlzLmN0eC5jbGllbnRzLnRyYW5zYWN0aW9uU2VydmljZSxcbiAgICAgICAgJ0NvbW1pdCcsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICAgIG1ldGFkYXRhXG4gICAgICApO1xuXG4gICAgICB0aGlzLmN0eC50eE1hbmFnZXIuY29tbWl0KHRyYW5zYWN0aW9uSWQpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnN1Y2Nlc3MgfHwgZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gQ2xlYW4gdXAgbG9jYWwgc3RhdGUgZXZlbiBpZiBzZXJ2ZXIgY29tbWl0IGZhaWxzXG4gICAgICB0cnkgeyB0aGlzLmN0eC50eE1hbmFnZXIucm9sbGJhY2sodHJhbnNhY3Rpb25JZCk7IH0gY2F0Y2gge31cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJvbGxiYWNrIGEgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBhc3luYyByb2xsYmFjayh0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uPy5pZD8udG9TdHJpbmcoKSB8fCAnMCcsXG4gICAgICB0cmFuc2FjdGlvbl9pZDogdHJhbnNhY3Rpb25JZC50b1N0cmluZygpLFxuICAgIH07XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbChcbiAgICAgICAgdGhpcy5jdHguY2xpZW50cy50cmFuc2FjdGlvblNlcnZpY2UsXG4gICAgICAgICdSb2xsYmFjaycsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICAgIG1ldGFkYXRhXG4gICAgICApO1xuXG4gICAgICB0aGlzLmN0eC50eE1hbmFnZXIucm9sbGJhY2sodHJhbnNhY3Rpb25JZCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2Uuc3VjY2VzcyB8fCBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBBbHdheXMgY2xlYW4gdXAgbG9jYWwgc3RhdGUgZXZlbiBpZiBzZXJ2ZXIgcm9sbGJhY2sgZmFpbHNcbiAgICAgIHRyeSB7IHRoaXMuY3R4LnR4TWFuYWdlci5yb2xsYmFjayh0cmFuc2FjdGlvbklkKTsgfSBjYXRjaCB7fVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFjdGl2ZSB0cmFuc2FjdGlvbnMgZm9yIHRoZSBjdXJyZW50IHNlc3Npb24uXG4gICAqL1xuICBhc3luYyBsaXN0VHJhbnNhY3Rpb25zKCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvW10+IHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uPy5pZD8udG9TdHJpbmcoKSB8fCAnMCcsXG4gICAgfTtcblxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLnRyYW5zYWN0aW9uU2VydmljZSxcbiAgICAgICdMaXN0VHJhbnNhY3Rpb25zJyxcbiAgICAgIHJlcXVlc3QsXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG5cbiAgICByZXR1cm4gKHJlc3BvbnNlLnRyYW5zYWN0aW9ucyB8fCBbXSkubWFwKCh0OiBhbnkpID0+ICh7XG4gICAgICB0cmFuc2FjdGlvbklkOiBwYXJzZUludCh0LnRyYW5zYWN0aW9uX2lkIHx8ICcwJywgMTApLFxuICAgICAgc2Vzc2lvbklkOiBwYXJzZUludCh0LnNlc3Npb25faWQgfHwgJzAnLCAxMCksXG4gICAgICBncmFwaE5hbWU6IHQuZ3JhcGhfbmFtZSB8fCAnJyxcbiAgICAgIHJlYWRPbmx5OiB0LnJlYWRfb25seSB8fCBmYWxzZSxcbiAgICAgIGNyZWF0ZWRBdDogcGFyc2VJbnQodC5jcmVhdGVkX2F0IHx8ICcwJywgMTApLFxuICAgICAgZHVyYXRpb25NczogcGFyc2VJbnQodC5kdXJhdGlvbl9tcyB8fCAnMCcsIDEwKSxcbiAgICAgIGludGVybmFsVHhJZDogdC5pbnRlcm5hbF90eF9pZCB8fCAnJyxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIGZ1bmN0aW9uIHdpdGhpbiBhIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgYXN5bmMgd2l0aFRyYW5zYWN0aW9uPFQ+KFxuICAgIGdyYXBoTmFtZTogc3RyaW5nLFxuICAgIGZuOiAodHhJZDogbnVtYmVyKSA9PiBQcm9taXNlPFQ+LFxuICAgIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2VcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0aGlzLmJlZ2luVHJhbnNhY3Rpb24oZ3JhcGhOYW1lLCByZWFkT25seSwgdGhpcy5jdHguY29uZmlnLnRpbWVvdXQgPz8gMzAwMDApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmbih0eC5pZCk7XG4gICAgICBhd2FpdCB0aGlzLmNvbW1pdCh0eC5pZCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGF3YWl0IHRoaXMucm9sbGJhY2sodHguaWQpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Convenience API types for GQLDB Node.js driver.
3
+ */
4
+ /** Distinguishes between node and edge operations */
5
+ export declare enum DBType {
6
+ NODE = 0,
7
+ EDGE = 1
8
+ }
9
+ /** Controls the insert mode for GQL-based insert operations */
10
+ export declare enum InsertType {
11
+ Normal = 0,
12
+ Overwrite = 1
13
+ }
14
+ /** Label info from SHOW LABELS */
15
+ export interface LabelInfo {
16
+ name: string;
17
+ type: string;
18
+ }
19
+ /** Node type info from SHOW NODE TYPES */
20
+ export interface NodeTypeInfo {
21
+ name: string;
22
+ properties: ConvPropertyDef[];
23
+ }
24
+ /** Edge type info from SHOW EDGE TYPES */
25
+ export interface EdgeTypeInfo {
26
+ name: string;
27
+ properties: ConvPropertyDef[];
28
+ }
29
+ /** Label definition used when creating closed graphs */
30
+ export interface LabelDef {
31
+ name: string;
32
+ properties: ConvPropertyDef[];
33
+ }
34
+ /** Property definition for convenience API (uses string type name) */
35
+ export interface ConvPropertyDef {
36
+ name: string;
37
+ type: string;
38
+ }
39
+ /** Property in an index definition */
40
+ export interface IndexProperty {
41
+ name: string;
42
+ prefixLength?: number;
43
+ }
44
+ /** Index info from SHOW INDEX */
45
+ export interface IndexInfo {
46
+ indexName: string;
47
+ entityType: string;
48
+ label: string;
49
+ property: string;
50
+ prefixLength?: number;
51
+ status: string;
52
+ progress: string;
53
+ indexedCount: number;
54
+ totalCount: number;
55
+ error: string;
56
+ }
57
+ /** Fulltext index info from SHOW FULLTEXT */
58
+ export interface FulltextInfo {
59
+ indexName: string;
60
+ entityType: string;
61
+ schemaName: string;
62
+ properties: string;
63
+ analyzer: string;
64
+ status: string;
65
+ docCount: number;
66
+ progress: string;
67
+ }
68
+ /** Task info from SHOW TASKS */
69
+ export interface TaskInfo {
70
+ taskId: string;
71
+ type: string;
72
+ query: string;
73
+ algoName: string;
74
+ status: string;
75
+ startedAt: string;
76
+ progress: string;
77
+ parameters: string;
78
+ nodesWritten: number;
79
+ computeTimeMs: number;
80
+ writeTimeMs: number;
81
+ }
82
+ /** Process info from TOP */
83
+ export interface ProcessInfo {
84
+ queryId: string;
85
+ queryText: string;
86
+ startTime: string;
87
+ durationMs: number;
88
+ status: string;
89
+ }
90
+ /** Graph statistics from db.stats() */
91
+ export interface GraphStats {
92
+ graphName: string;
93
+ nodeCount: number;
94
+ edgeCount: number;
95
+ labelCounts: Record<string, number>;
96
+ edgeLabelCounts: Record<string, number>;
97
+ nodePropertyStats: Record<string, Record<string, number>>;
98
+ edgePropertyStats: Record<string, Record<string, number>>;
99
+ }
100
+ /** Response for GQL-based insert operations */
101
+ export interface InsertGqlResponse {
102
+ rowsAffected: number;
103
+ }
104
+ /** Algorithm info from SHOW ALGOS */
105
+ export interface AlgoInfo {
106
+ name: string;
107
+ description: string;
108
+ version: string;
109
+ parameters: string;
110
+ }
111
+ /**
112
+ * Parse a comma-separated property definition string like "age INTEGER, name STRING"
113
+ * into an array of ConvPropertyDef.
114
+ */
115
+ export declare function parsePropertyString(s: string): ConvPropertyDef[];
116
+ /**
117
+ * Convert a ConvPropertyDef type string to its GQL representation.
118
+ * If the type is already a valid GQL type name, returns it as-is (uppercased).
119
+ */
120
+ export declare function propertyTypeToGQL(typeName: string): string;
121
+ /**
122
+ * Build a GQL property definition string like "{age INT64, name STRING}" from ConvPropertyDef[].
123
+ */
124
+ export declare function buildPropertyDefString(props: ConvPropertyDef[]): string;
125
+ /**
126
+ * Build the property list for CREATE INDEX, e.g. "prop1, prop2(10)".
127
+ */
128
+ export declare function buildIndexPropertyString(props: IndexProperty[]): string;
129
+ /**
130
+ * Format a JavaScript value as a GQL literal for INSERT statements.
131
+ */
132
+ export declare function formatGqlValue(v: any): string;
133
+ /**
134
+ * Build a GQL property value map like "{name: 'Alice', age: 30}" from a Record.
135
+ */
136
+ export declare function buildPropertiesValueString(props: Record<string, any>): string;
137
+ /**
138
+ * Return "USE GRAPH <name>\n" if graphName is non-empty, otherwise "".
139
+ */
140
+ export declare function useGraphPrefix(graphName: string): string;
141
+ /**
142
+ * Convert DBType to GQL keyword "NODE" or "EDGE".
143
+ */
144
+ export declare function dbTypeToKeyword(dt: DBType): string;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /**
3
+ * Convenience API types for GQLDB Node.js driver.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.InsertType = exports.DBType = void 0;
7
+ exports.parsePropertyString = parsePropertyString;
8
+ exports.propertyTypeToGQL = propertyTypeToGQL;
9
+ exports.buildPropertyDefString = buildPropertyDefString;
10
+ exports.buildIndexPropertyString = buildIndexPropertyString;
11
+ exports.formatGqlValue = formatGqlValue;
12
+ exports.buildPropertiesValueString = buildPropertiesValueString;
13
+ exports.useGraphPrefix = useGraphPrefix;
14
+ exports.dbTypeToKeyword = dbTypeToKeyword;
15
+ /** Distinguishes between node and edge operations */
16
+ var DBType;
17
+ (function (DBType) {
18
+ DBType[DBType["NODE"] = 0] = "NODE";
19
+ DBType[DBType["EDGE"] = 1] = "EDGE";
20
+ })(DBType || (exports.DBType = DBType = {}));
21
+ /** Controls the insert mode for GQL-based insert operations */
22
+ var InsertType;
23
+ (function (InsertType) {
24
+ InsertType[InsertType["Normal"] = 0] = "Normal";
25
+ InsertType[InsertType["Overwrite"] = 1] = "Overwrite";
26
+ })(InsertType || (exports.InsertType = InsertType = {}));
27
+ // ConvNode and ConvEdge have been removed.
28
+ // Use NodeData and EdgeData from graph_models instead.
29
+ // =============================================================================
30
+ // Helper Functions
31
+ // =============================================================================
32
+ /**
33
+ * Parse a comma-separated property definition string like "age INTEGER, name STRING"
34
+ * into an array of ConvPropertyDef.
35
+ */
36
+ function parsePropertyString(s) {
37
+ s = s.trim();
38
+ if (!s)
39
+ return [];
40
+ const parts = s.split(',');
41
+ const result = [];
42
+ for (const part of parts) {
43
+ const trimmed = part.trim();
44
+ if (!trimmed)
45
+ continue;
46
+ const tokens = trimmed.split(/\s+/);
47
+ if (tokens.length < 2)
48
+ continue;
49
+ result.push({ name: tokens[0], type: tokens[1].toUpperCase() });
50
+ }
51
+ return result;
52
+ }
53
+ /**
54
+ * Convert a ConvPropertyDef type string to its GQL representation.
55
+ * If the type is already a valid GQL type name, returns it as-is (uppercased).
56
+ */
57
+ function propertyTypeToGQL(typeName) {
58
+ return typeName.toUpperCase();
59
+ }
60
+ /**
61
+ * Build a GQL property definition string like "{age INT64, name STRING}" from ConvPropertyDef[].
62
+ */
63
+ function buildPropertyDefString(props) {
64
+ if (!props || props.length === 0)
65
+ return '{}';
66
+ const parts = props.map(p => `\`${p.name}\` ${propertyTypeToGQL(p.type)}`);
67
+ return '{' + parts.join(', ') + '}';
68
+ }
69
+ /**
70
+ * Build the property list for CREATE INDEX, e.g. "prop1, prop2(10)".
71
+ */
72
+ function buildIndexPropertyString(props) {
73
+ return props.map(p => {
74
+ if (p.prefixLength && p.prefixLength > 0) {
75
+ return `\`${p.name}\`(${p.prefixLength})`;
76
+ }
77
+ return `\`${p.name}\``;
78
+ }).join(', ');
79
+ }
80
+ /**
81
+ * Format a JavaScript value as a GQL literal for INSERT statements.
82
+ */
83
+ function formatGqlValue(v) {
84
+ if (v === null || v === undefined)
85
+ return 'NULL';
86
+ if (typeof v === 'string') {
87
+ const escaped = v.replace(/'/g, "\\'");
88
+ return `'${escaped}'`;
89
+ }
90
+ if (typeof v === 'boolean')
91
+ return v ? 'TRUE' : 'FALSE';
92
+ if (typeof v === 'number')
93
+ return String(v);
94
+ if (typeof v === 'bigint')
95
+ return String(v);
96
+ return `'${String(v)}'`;
97
+ }
98
+ /**
99
+ * Build a GQL property value map like "{name: 'Alice', age: 30}" from a Record.
100
+ */
101
+ function buildPropertiesValueString(props) {
102
+ const keys = Object.keys(props);
103
+ if (keys.length === 0)
104
+ return '';
105
+ const parts = keys.map(k => `${k}: ${formatGqlValue(props[k])}`);
106
+ return '{' + parts.join(', ') + '}';
107
+ }
108
+ /**
109
+ * Return "USE GRAPH <name>\n" if graphName is non-empty, otherwise "".
110
+ */
111
+ function useGraphPrefix(graphName) {
112
+ if (!graphName)
113
+ return '';
114
+ return `USE GRAPH ${graphName}\n`;
115
+ }
116
+ /**
117
+ * Convert DBType to GQL keyword "NODE" or "EDGE".
118
+ */
119
+ function dbTypeToKeyword(dt) {
120
+ return dt === DBType.EDGE ? 'EDGE' : 'NODE';
121
+ }
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVuaWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvY29udmVuaWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUF5SUgsa0RBY0M7QUFNRCw4Q0FFQztBQUtELHdEQUlDO0FBS0QsNERBT0M7QUFLRCx3Q0FVQztBQUtELGdFQUtDO0FBS0Qsd0NBR0M7QUFLRCwwQ0FFQztBQXhORCxxREFBcUQ7QUFDckQsSUFBWSxNQUdYO0FBSEQsV0FBWSxNQUFNO0lBQ2hCLG1DQUFRLENBQUE7SUFDUixtQ0FBUSxDQUFBO0FBQ1YsQ0FBQyxFQUhXLE1BQU0sc0JBQU4sTUFBTSxRQUdqQjtBQUVELCtEQUErRDtBQUMvRCxJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsK0NBQVUsQ0FBQTtJQUNWLHFEQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsVUFBVSwwQkFBVixVQUFVLFFBR3JCO0FBZ0hELDJDQUEyQztBQUMzQyx1REFBdUQ7QUFFdkQsZ0ZBQWdGO0FBQ2hGLG1CQUFtQjtBQUNuQixnRkFBZ0Y7QUFFaEY7OztHQUdHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsQ0FBUztJQUMzQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsSUFBSSxDQUFDLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUVsQixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLE1BQU0sTUFBTSxHQUFzQixFQUFFLENBQUM7SUFDckMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU87WUFBRSxTQUFTO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7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QUFDLEdBQUcsR0FBRyxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxTQUFpQjtJQUM5QyxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLE9BQU8sYUFBYSxTQUFTLElBQUksQ0FBQztBQUNwQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixlQUFlLENBQUMsRUFBVTtJQUN4QyxPQUFPLEVBQUUsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZW5pZW5jZSBBUEkgdHlwZXMgZm9yIEdRTERCIE5vZGUuanMgZHJpdmVyLlxuICovXG5cbmltcG9ydCB7IFByb3BlcnR5VHlwZSB9IGZyb20gJy4vZW51bXMnO1xuXG4vKiogRGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIG5vZGUgYW5kIGVkZ2Ugb3BlcmF0aW9ucyAqL1xuZXhwb3J0IGVudW0gREJUeXBlIHtcbiAgTk9ERSA9IDAsXG4gIEVER0UgPSAxLFxufVxuXG4vKiogQ29udHJvbHMgdGhlIGluc2VydCBtb2RlIGZvciBHUUwtYmFzZWQgaW5zZXJ0IG9wZXJhdGlvbnMgKi9cbmV4cG9ydCBlbnVtIEluc2VydFR5cGUge1xuICBOb3JtYWwgPSAwLFxuICBPdmVyd3JpdGUgPSAxLFxufVxuXG4vKiogTGFiZWwgaW5mbyBmcm9tIFNIT1cgTEFCRUxTICovXG5leHBvcnQgaW50ZXJmYWNlIExhYmVsSW5mbyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nOyAvLyBcIk5PREVcIiBvciBcIkVER0VcIlxufVxuXG4vKiogTm9kZSB0eXBlIGluZm8gZnJvbSBTSE9XIE5PREUgVFlQRVMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVR5cGVJbmZvIHtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9wZXJ0aWVzOiBDb252UHJvcGVydHlEZWZbXTtcbn1cblxuLyoqIEVkZ2UgdHlwZSBpbmZvIGZyb20gU0hPVyBFREdFIFRZUEVTICovXG5leHBvcnQgaW50ZXJmYWNlIEVkZ2VUeXBlSW5mbyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvcGVydGllczogQ29udlByb3BlcnR5RGVmW107XG59XG5cbi8qKiBMYWJlbCBkZWZpbml0aW9uIHVzZWQgd2hlbiBjcmVhdGluZyBjbG9zZWQgZ3JhcGhzICovXG5leHBvcnQgaW50ZXJmYWNlIExhYmVsRGVmIHtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9wZXJ0aWVzOiBDb252UHJvcGVydHlEZWZbXTtcbn1cblxuLyoqIFByb3BlcnR5IGRlZmluaXRpb24gZm9yIGNvbnZlbmllbmNlIEFQSSAodXNlcyBzdHJpbmcgdHlwZSBuYW1lKSAqL1xuZXhwb3J0IGludGVyZmFjZSBDb252UHJvcGVydHlEZWYge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZzsgLy8gR1FMIHR5cGUgbmFtZTogXCJTVFJJTkdcIiwgXCJJTlQ2NFwiLCBcIkRPVUJMRVwiLCBldGMuXG59XG5cbi8qKiBQcm9wZXJ0eSBpbiBhbiBpbmRleCBkZWZpbml0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIEluZGV4UHJvcGVydHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByZWZpeExlbmd0aD86IG51bWJlcjsgLy8gMCBvciB1bmRlZmluZWQgPSBubyBwcmVmaXgsID4wID0gcHJlZml4IGxlbmd0aCBmb3IgU1RSSU5HXG59XG5cbi8qKiBJbmRleCBpbmZvIGZyb20gU0hPVyBJTkRFWCAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleEluZm8ge1xuICBpbmRleE5hbWU6IHN0cmluZztcbiAgZW50aXR5VHlwZTogc3RyaW5nOyAvLyBcIk5PREVcIiBvciBcIkVER0VcIlxuICBsYWJlbDogc3RyaW5nO1xuICBwcm9wZXJ0eTogc3RyaW5nO1xuICBwcmVmaXhMZW5ndGg/OiBudW1iZXI7XG4gIHN0YXR1czogc3RyaW5nO1xuICBwcm9ncmVzczogc3RyaW5nO1xuICBpbmRleGVkQ291bnQ6IG51bWJlcjtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xuICBlcnJvcjogc3RyaW5nO1xufVxuXG4vKiogRnVsbHRleHQgaW5kZXggaW5mbyBmcm9tIFNIT1cgRlVMTFRFWFQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVsbHRleHRJbmZvIHtcbiAgaW5kZXhOYW1lOiBzdHJpbmc7XG4gIGVudGl0eVR5cGU6IHN0cmluZzsgLy8gXCJOT0RFXCIgb3IgXCJFREdFXCJcbiAgc2NoZW1hTmFtZTogc3RyaW5nO1xuICBwcm9wZXJ0aWVzOiBzdHJpbmc7XG4gIGFuYWx5emVyOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBkb2NDb3VudDogbnVtYmVyO1xuICBwcm9ncmVzczogc3RyaW5nO1xufVxuXG4vKiogVGFzayBpbmZvIGZyb20gU0hPVyBUQVNLUyAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrSW5mbyB7XG4gIHRhc2tJZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIGFsZ29OYW1lOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBzdGFydGVkQXQ6IHN0cmluZztcbiAgcHJvZ3Jlc3M6IHN0cmluZztcbiAgcGFyYW1ldGVyczogc3RyaW5nO1xuICBub2Rlc1dyaXR0ZW46IG51bWJlcjtcbiAgY29tcHV0ZVRpbWVNczogbnVtYmVyO1xuICB3cml0ZVRpbWVNczogbnVtYmVyO1xufVxuXG4vKiogUHJvY2VzcyBpbmZvIGZyb20gVE9QICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NJbmZvIHtcbiAgcXVlcnlJZDogc3RyaW5nO1xuICBxdWVyeVRleHQ6IHN0cmluZztcbiAgc3RhcnRUaW1lOiBzdHJpbmc7XG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbi8qKiBHcmFwaCBzdGF0aXN0aWNzIGZyb20gZGIuc3RhdHMoKSAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaFN0YXRzIHtcbiAgZ3JhcGhOYW1lOiBzdHJpbmc7XG4gIG5vZGVDb3VudDogbnVtYmVyO1xuICBlZGdlQ291bnQ6IG51bWJlcjtcbiAgbGFiZWxDb3VudHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gIGVkZ2VMYWJlbENvdW50czogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcbiAgbm9kZVByb3BlcnR5U3RhdHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+O1xuICBlZGdlUHJvcGVydHlTdGF0czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj47XG59XG5cbi8qKiBSZXNwb25zZSBmb3IgR1FMLWJhc2VkIGluc2VydCBvcGVyYXRpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydEdxbFJlc3BvbnNlIHtcbiAgcm93c0FmZmVjdGVkOiBudW1iZXI7XG59XG5cbi8qKiBBbGdvcml0aG0gaW5mbyBmcm9tIFNIT1cgQUxHT1MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxnb0luZm8ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgcGFyYW1ldGVyczogc3RyaW5nO1xufVxuXG4vLyBDb252Tm9kZSBhbmQgQ29udkVkZ2UgaGF2ZSBiZWVuIHJlbW92ZWQuXG4vLyBVc2UgTm9kZURhdGEgYW5kIEVkZ2VEYXRhIGZyb20gZ3JhcGhfbW9kZWxzIGluc3RlYWQuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWxwZXIgRnVuY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFBhcnNlIGEgY29tbWEtc2VwYXJhdGVkIHByb3BlcnR5IGRlZmluaXRpb24gc3RyaW5nIGxpa2UgXCJhZ2UgSU5URUdFUiwgbmFtZSBTVFJJTkdcIlxuICogaW50byBhbiBhcnJheSBvZiBDb252UHJvcGVydHlEZWYuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVByb3BlcnR5U3RyaW5nKHM6IHN0cmluZyk6IENvbnZQcm9wZXJ0eURlZltdIHtcbiAgcyA9IHMudHJpbSgpO1xuICBpZiAoIXMpIHJldHVybiBbXTtcblxuICBjb25zdCBwYXJ0cyA9IHMuc3BsaXQoJywnKTtcbiAgY29uc3QgcmVzdWx0OiBDb252UHJvcGVydHlEZWZbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICBjb25zdCB0cmltbWVkID0gcGFydC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkKSBjb250aW51ZTtcbiAgICBjb25zdCB0b2tlbnMgPSB0cmltbWVkLnNwbGl0KC9cXHMrLyk7XG4gICAgaWYgKHRva2Vucy5sZW5ndGggPCAyKSBjb250aW51ZTtcbiAgICByZXN1bHQucHVzaCh7IG5hbWU6IHRva2Vuc1swXSwgdHlwZTogdG9rZW5zWzFdLnRvVXBwZXJDYXNlKCkgfSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgQ29udlByb3BlcnR5RGVmIHR5cGUgc3RyaW5nIHRvIGl0cyBHUUwgcmVwcmVzZW50YXRpb24uXG4gKiBJZiB0aGUgdHlwZSBpcyBhbHJlYWR5IGEgdmFsaWQgR1FMIHR5cGUgbmFtZSwgcmV0dXJucyBpdCBhcy1pcyAodXBwZXJjYXNlZCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0eVR5cGVUb0dRTCh0eXBlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVOYW1lLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICogQnVpbGQgYSBHUUwgcHJvcGVydHkgZGVmaW5pdGlvbiBzdHJpbmcgbGlrZSBcInthZ2UgSU5UNjQsIG5hbWUgU1RSSU5HfVwiIGZyb20gQ29udlByb3BlcnR5RGVmW10uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFByb3BlcnR5RGVmU3RyaW5nKHByb3BzOiBDb252UHJvcGVydHlEZWZbXSk6IHN0cmluZyB7XG4gIGlmICghcHJvcHMgfHwgcHJvcHMubGVuZ3RoID09PSAwKSByZXR1cm4gJ3t9JztcbiAgY29uc3QgcGFydHMgPSBwcm9wcy5tYXAocCA9PiBgXFxgJHtwLm5hbWV9XFxgICR7cHJvcGVydHlUeXBlVG9HUUwocC50eXBlKX1gKTtcbiAgcmV0dXJuICd7JyArIHBhcnRzLmpvaW4oJywgJykgKyAnfSc7XG59XG5cbi8qKlxuICogQnVpbGQgdGhlIHByb3BlcnR5IGxpc3QgZm9yIENSRUFURSBJTkRFWCwgZS5nLiBcInByb3AxLCBwcm9wMigxMClcIi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkSW5kZXhQcm9wZXJ0eVN0cmluZyhwcm9wczogSW5kZXhQcm9wZXJ0eVtdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHByb3BzLm1hcChwID0+IHtcbiAgICBpZiAocC5wcmVmaXhMZW5ndGggJiYgcC5wcmVmaXhMZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gYFxcYCR7cC5uYW1lfVxcYCgke3AucHJlZml4TGVuZ3RofSlgO1xuICAgIH1cbiAgICByZXR1cm4gYFxcYCR7cC5uYW1lfVxcYGA7XG4gIH0pLmpvaW4oJywgJyk7XG59XG5cbi8qKlxuICogRm9ybWF0IGEgSmF2YVNjcmlwdCB2YWx1ZSBhcyBhIEdRTCBsaXRlcmFsIGZvciBJTlNFUlQgc3RhdGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEdxbFZhbHVlKHY6IGFueSk6IHN0cmluZyB7XG4gIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCkgcmV0dXJuICdOVUxMJztcbiAgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IGVzY2FwZWQgPSB2LnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKTtcbiAgICByZXR1cm4gYCcke2VzY2FwZWR9J2A7XG4gIH1cbiAgaWYgKHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHJldHVybiB2ID8gJ1RSVUUnIDogJ0ZBTFNFJztcbiAgaWYgKHR5cGVvZiB2ID09PSAnbnVtYmVyJykgcmV0dXJuIFN0cmluZyh2KTtcbiAgaWYgKHR5cGVvZiB2ID09PSAnYmlnaW50JykgcmV0dXJuIFN0cmluZyh2KTtcbiAgcmV0dXJuIGAnJHtTdHJpbmcodil9J2A7XG59XG5cbi8qKlxuICogQnVpbGQgYSBHUUwgcHJvcGVydHkgdmFsdWUgbWFwIGxpa2UgXCJ7bmFtZTogJ0FsaWNlJywgYWdlOiAzMH1cIiBmcm9tIGEgUmVjb3JkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQcm9wZXJ0aWVzVmFsdWVTdHJpbmcocHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocHJvcHMpO1xuICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHJldHVybiAnJztcbiAgY29uc3QgcGFydHMgPSBrZXlzLm1hcChrID0+IGAke2t9OiAke2Zvcm1hdEdxbFZhbHVlKHByb3BzW2tdKX1gKTtcbiAgcmV0dXJuICd7JyArIHBhcnRzLmpvaW4oJywgJykgKyAnfSc7XG59XG5cbi8qKlxuICogUmV0dXJuIFwiVVNFIEdSQVBIIDxuYW1lPlxcblwiIGlmIGdyYXBoTmFtZSBpcyBub24tZW1wdHksIG90aGVyd2lzZSBcIlwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlR3JhcGhQcmVmaXgoZ3JhcGhOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWdyYXBoTmFtZSkgcmV0dXJuICcnO1xuICByZXR1cm4gYFVTRSBHUkFQSCAke2dyYXBoTmFtZX1cXG5gO1xufVxuXG4vKipcbiAqIENvbnZlcnQgREJUeXBlIHRvIEdRTCBrZXl3b3JkIFwiTk9ERVwiIG9yIFwiRURHRVwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGJUeXBlVG9LZXl3b3JkKGR0OiBEQlR5cGUpOiBzdHJpbmcge1xuICByZXR1cm4gZHQgPT09IERCVHlwZS5FREdFID8gJ0VER0UnIDogJ05PREUnO1xufVxuIl19
@@ -9,3 +9,4 @@ export * from './metadata';
9
9
  export * from './bulk_import';
10
10
  export * from './schema';
11
11
  export * from './typed_value';
12
+ export * from './convenience';
@@ -33,4 +33,6 @@ __exportStar(require("./bulk_import"), exports);
33
33
  __exportStar(require("./schema"), exports);
34
34
  // TypedValue and encoding
35
35
  __exportStar(require("./typed_value"), exports);
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsUUFBUTtBQUNSLDBDQUF3QjtBQUV4QixXQUFXO0FBQ1gsNkNBQTJCO0FBRTNCLGFBQWE7QUFDYiwrQ0FBNkI7QUFFN0IsZUFBZTtBQUNmLGlEQUErQjtBQUUvQixXQUFXO0FBQ1gsNkNBQTJCO0FBRTNCLGNBQWM7QUFDZCxnREFBOEI7QUFFOUIsU0FBUztBQUNULDJDQUF5QjtBQUV6QiwwQkFBMEI7QUFDMUIsZ0RBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCYXJyZWwgZXhwb3J0IGZvciBhbGwgdHlwZXMgaW4gR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuLy8gRW51bXNcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xuXG4vLyBXcmFwcGVyc1xuZXhwb3J0ICogZnJvbSAnLi93cmFwcGVycyc7XG5cbi8vIERhdGEgdHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vZGF0YV90eXBlcyc7XG5cbi8vIEdyYXBoIG1vZGVsc1xuZXhwb3J0ICogZnJvbSAnLi9ncmFwaF9tb2RlbHMnO1xuXG4vLyBNZXRhZGF0YVxuZXhwb3J0ICogZnJvbSAnLi9tZXRhZGF0YSc7XG5cbi8vIEJ1bGsgaW1wb3J0XG5leHBvcnQgKiBmcm9tICcuL2J1bGtfaW1wb3J0JztcblxuLy8gU2NoZW1hXG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYSc7XG5cbi8vIFR5cGVkVmFsdWUgYW5kIGVuY29kaW5nXG5leHBvcnQgKiBmcm9tICcuL3R5cGVkX3ZhbHVlJztcbiJdfQ==
36
+ // Convenience API types
37
+ __exportStar(require("./convenience"), exports);
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsUUFBUTtBQUNSLDBDQUF3QjtBQUV4QixXQUFXO0FBQ1gsNkNBQTJCO0FBRTNCLGFBQWE7QUFDYiwrQ0FBNkI7QUFFN0IsZUFBZTtBQUNmLGlEQUErQjtBQUUvQixXQUFXO0FBQ1gsNkNBQTJCO0FBRTNCLGNBQWM7QUFDZCxnREFBOEI7QUFFOUIsU0FBUztBQUNULDJDQUF5QjtBQUV6QiwwQkFBMEI7QUFDMUIsZ0RBQThCO0FBRTlCLHdCQUF3QjtBQUN4QixnREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJhcnJlbCBleHBvcnQgZm9yIGFsbCB0eXBlcyBpbiBHUUxEQiBOb2RlLmpzIGRyaXZlci5cbiAqL1xuXG4vLyBFbnVtc1xuZXhwb3J0ICogZnJvbSAnLi9lbnVtcyc7XG5cbi8vIFdyYXBwZXJzXG5leHBvcnQgKiBmcm9tICcuL3dyYXBwZXJzJztcblxuLy8gRGF0YSB0eXBlc1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhX3R5cGVzJztcblxuLy8gR3JhcGggbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL2dyYXBoX21vZGVscyc7XG5cbi8vIE1ldGFkYXRhXG5leHBvcnQgKiBmcm9tICcuL21ldGFkYXRhJztcblxuLy8gQnVsayBpbXBvcnRcbmV4cG9ydCAqIGZyb20gJy4vYnVsa19pbXBvcnQnO1xuXG4vLyBTY2hlbWFcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hJztcblxuLy8gVHlwZWRWYWx1ZSBhbmQgZW5jb2RpbmdcbmV4cG9ydCAqIGZyb20gJy4vdHlwZWRfdmFsdWUnO1xuXG4vLyBDb252ZW5pZW5jZSBBUEkgdHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vY29udmVuaWVuY2UnO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ultipa-graph/ultipa-driver",
3
- "version": "6.0.6",
3
+ "version": "6.0.7",
4
4
  "description": "NodeJS SDK for Ultipa GQL",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,11 +37,11 @@
37
37
  "dist/**/*"
38
38
  ],
39
39
  "keywords": [
40
- "gqldb",
41
- "graph",
42
- "database",
43
- "grpc",
44
- "driver"
40
+ "Ultipa",
41
+ "GQLDB",
42
+ "Driver",
43
+ "Graph",
44
+ "Database"
45
45
  ],
46
46
  "license": "MIT",
47
47
  "engines": {