@ultipa-graph/ultipa-driver 6.2.2 → 6.2.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.
@@ -159,12 +159,23 @@ class QueryService {
159
159
  const rows = chunks.flatMap(c => c.rows);
160
160
  const warnings = chunks.flatMap(c => c.warnings);
161
161
  let rowsAffected = 0;
162
+ // Server populates timing / current_graph only on the final batch
163
+ // (has_more=false). Take latest non-zero values.
164
+ let currentGraph = '';
165
+ let timeCostNs = 0, diskCostNs = 0, computeCostNs = 0;
162
166
  for (const c of chunks) {
163
- if (c.rowsAffected) {
167
+ if (c.rowsAffected)
164
168
  rowsAffected = c.rowsAffected;
165
- }
169
+ if (c.currentGraph)
170
+ currentGraph = c.currentGraph;
171
+ if (c.timeCostNs)
172
+ timeCostNs = c.timeCostNs;
173
+ if (c.diskCostNs)
174
+ diskCostNs = c.diskCostNs;
175
+ if (c.computeCostNs)
176
+ computeCostNs = c.computeCostNs;
166
177
  }
167
- return new response_1.Response(columns, rows, rows.length, false, warnings, rowsAffected);
178
+ return new response_1.Response(columns, rows, rows.length, false, warnings, rowsAffected, currentGraph, timeCostNs, diskCostNs, computeCostNs);
168
179
  }
169
180
  /**
170
181
  * Execute a GQL query and stream the results.
@@ -220,4 +231,4 @@ class QueryService {
220
231
  }
221
232
  }
222
233
  exports.QueryService = QueryService;
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9xdWVyeS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsb0RBQXNDO0FBRXRDLDBDQUF1QztBQUN2QyxzQ0FBOEQ7QUFDOUQsMENBQXdEO0FBQ3hELDZDQUdzQjtBQUd0Qjs7OztHQUlHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsb0NBQW9DLENBQUM7QUFFMUQ7O0dBRUc7QUFDSCxNQUFhLFlBQVk7SUFDSDtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7Ozs7Ozs7O09BUUc7SUFDSyxnQkFBZ0IsQ0FBQyxNQUFvQjtRQUMzQyxnRUFBZ0U7UUFDaEUsSUFBSSxNQUFNLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUM7UUFFRCx1Q0FBdUM7UUFDdkMsd0VBQXdFO1FBQ3hFLHNDQUFzQztRQUV0QyxxREFBcUQ7UUFDckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUFvQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksd0JBQWUsRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDRCQUFlLEVBQUMsS0FBSyxFQUFFLE9B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SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFhLEVBQUUsTUFBb0I7UUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLHdCQUFlLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBQSw0QkFBZSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxNQUFNLFFBQVEsR0FBUSxNQUFNLElBQUEsb0NBQXlCLEVBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFDN0IsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxDQUNULENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQXBORCxvQ0FvTkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFF1ZXJ5IHNlcnZpY2UgaGFuZGxlcyBHUUwgcXVlcnkgZXhlY3V0aW9uLlxuICovXG5cbmltcG9ydCAqIGFzIGdycGMgZnJvbSAnQGdycGMvZ3JwYy1qcyc7XG5pbXBvcnQgeyBTZXJ2aWNlQ29udGV4dCB9IGZyb20gJy4vc2VydmljZS1jb250ZXh0JztcbmltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnLi4vcmVzcG9uc2UnO1xuaW1wb3J0IHsgRW1wdHlRdWVyeUVycm9yLCBRdWVyeUZhaWxlZEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzJztcbmltcG9ydCB7IHByb21pc2lmeUNhbGxXaXRoRGVhZGxpbmUgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBidWlsZEdxbFJlcXVlc3QsXG4gIGNvbnZlcnRHcWxSZXNwb25zZSxcbn0gZnJvbSAnLi9jb252ZXJ0ZXJzJztcbmltcG9ydCB7IFF1ZXJ5Q29uZmlnIH0gZnJvbSAnLi4vY2xpZW50JztcblxuLyoqXG4gKiBNYXRjaCBhIFNJTkdMRSBgVVNFIEdSQVBIIDxpZGVudD5gIHN0YXRlbWVudCAoY2FzZS1pbnNlbnNpdGl2ZSkgd2l0aFxuICogb3B0aW9uYWwgdHJhaWxpbmcgd2hpdGVzcGFjZSBhbmQgc2VtaWNvbG9ucy4gQ29tcG91bmQgcXVlcmllcyBkbyBub3RcbiAqIG1hdGNoIOKAlCBzZWUgY29tbWVudCBpbiBRdWVyeVNlcnZpY2UuZ3FsIGJlbG93LlxuICovXG5jb25zdCBVU0VfR1JBUEhfUkUgPSAvXlxccypVU0VcXHMrR1JBUEhcXHMrKFxcUys/KVxccyo7KlxccyokL2k7XG5cbi8qKlxuICogUXVlcnkgc2VydmljZSBmb3IgZXhlY3V0aW5nIEdRTCBxdWVyaWVzLlxuICovXG5leHBvcnQgY2xhc3MgUXVlcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjdHg6IFNlcnZpY2VDb250ZXh0KSB7fVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGltZW91dCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJpb3JpdHk6XG4gICAqIDEuIFF1ZXJ5Q29uZmlnLnRpbWVvdXQgKGhpZ2hlc3QgcHJpb3JpdHkpIC0gZXhwbGljaXRseSBzcGVjaWZpZWQgdGltZW91dFxuICAgKiAyLiBDb250ZXh0IGRlYWRsaW5lIChtZWRpdW0gcHJpb3JpdHkpIC0gcmVtYWluaW5nIHRpbWUgZnJvbSBjb250ZXh0IGRlYWRsaW5lXG4gICAqIDMuIGNsaWVudC5jb25maWcudGltZW91dCAoZGVmYXVsdCkgLSBkZWZhdWx0IHRpbWVvdXQgZnJvbSBjbGllbnQgY29uZmlnXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgT3B0aW9uYWwgcXVlcnkgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBUaW1lb3V0IGluIG1pbGxpc2Vjb25kc1xuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUaW1lb3V0KGNvbmZpZz86IFF1ZXJ5Q29uZmlnKTogbnVtYmVyIHtcbiAgICAvLyBQcmlvcml0eSAxOiBVc2UgZXhwbGljaXRseSBzcGVjaWZpZWQgdGltZW91dCBmcm9tIFF1ZXJ5Q29uZmlnXG4gICAgaWYgKGNvbmZpZz8udGltZW91dCAmJiBjb25maWcudGltZW91dCA+IDApIHtcbiAgICAgIHJldHVybiBjb25maWcudGltZW91dDtcbiAgICB9XG5cbiAgICAvLyBQcmlvcml0eSAyOiBDb250ZXh0IGRlYWRsaW5lIHN1cHBvcnRcbiAgICAvLyBOb3RlOiBOb2RlLmpzIFNESyBkb2Vzbid0IGN1cnJlbnRseSBleHBvc2UgY29udGV4dCBkZWFkbGluZSBwYXJhbWV0ZXJcbiAgICAvLyBUaGlzIGlzIGxlZnQgZm9yIGZ1dHVyZSBlbmhhbmNlbWVudFxuXG4gICAgLy8gUHJpb3JpdHkgMzogVXNlIGRlZmF1bHQgdGltZW91dCBmcm9tIGNsaWVudCBjb25maWdcbiAgICByZXR1cm4gdGhpcy5jdHguY29uZmlnLnRpbWVvdXQgfHwgMzAwMDA7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIEdRTCBxdWVyeSBhbmQgcmV0dXJuIHRoZSByZXN1bHQuXG4gICAqXG4gICAqIEZhbGxzIGJhY2sgdG8gR3FsU3RyZWFtICsgY2xpZW50LXNpZGUgYWdncmVnYXRpb24gd2hlbiB0aGUgc2VydmVyXG4gICAqIHJlamVjdHMgdGhlIHJlc3VsdCBzZXQgYXMgdG9vIGxhcmdlIGZvciBub24tc3RyZWFtaW5nIFJQQ1xuICAgKiAoUkVTT1VSQ0VfRVhIQVVTVEVEIHdpdGggXCJ1c2Ugc3RyZWFtaW5nIEFQSVwiIGRldGFpbCkuXG4gICAqL1xuICBhc3luYyBncWwocXVlcnk6IHN0cmluZywgY29uZmlnPzogUXVlcnlDb25maWcpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5UXVlcnlFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmN0eC5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGJ1aWxkR3FsUmVxdWVzdChxdWVyeSwgc2Vzc2lvbiwgdGhpcy5jdHguY29uZmlnLCBjb25maWcpO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IHRoaXMuY2FsY3VsYXRlVGltZW91dChjb25maWcpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbFdpdGhEZWFkbGluZShcbiAgICAgICAgdGhpcy5jdHguY2xpZW50cy5xdWVyeVNlcnZpY2UsXG4gICAgICAgICdHcWwnLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICB0aW1lb3V0TXMsXG4gICAgICAgIG1ldGFkYXRhXG4gICAgICApO1xuXG4gICAgICB0aGlzLmN0eC51cGRhdGVBY3Rpdml0eSgpO1xuXG4gICAgICAvLyBQaGFzZSAyIGR1YWwtc291cmNlIGNhY2hlIHVwZGF0ZTogcHJlZmVyIHRoZSBzZXJ2ZXIncyBhdXRob3JpdGF0aXZlXG4gICAgICAvLyBjdXJyZW50X2dyYXBoIChjb3ZlcnMgY29tcG91bmQgcXVlcmllcywgbXVsdGlwbGUgZW1iZWRkZWRcbiAgICAgIC8vIFVTRSBHUkFQSCwgYW5kIGxhc3Qtd3JpdGUtd2lucykgYW5kIGZhbGwgYmFjayB0byB0aGUgc3RyaWN0XG4gICAgICAvLyBjbGllbnQtc2lkZSByZWdleCAvIERST1AgR1JBUEggZGV0ZWN0aW9uIGZvciBvbGRlciBzZXJ2ZXJzIHRoYXRcbiAgICAgIC8vIGRvbid0IHBvcHVsYXRlIHRoZSBmaWVsZC5cbiAgICAgIGNvbnN0IHNlcnZlckN1cnJlbnQ6IHN0cmluZyA9IChyZXNwb25zZSBhcyBhbnkpLmN1cnJlbnRfZ3JhcGggfHwgJyc7XG4gICAgICBpZiAoc2VydmVyQ3VycmVudCkge1xuICAgICAgICB0aGlzLmN0eC5zZXNzaW9ucy5zZXREZWZhdWx0R3JhcGgoc2VydmVyQ3VycmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtID0gcXVlcnkubWF0Y2goVVNFX0dSQVBIX1JFKTtcbiAgICAgICAgaWYgKG0pIHtcbiAgICAgICAgICAvLyBDb21wb3VuZCBxdWVyaWVzIHRoYXQgbWVyZWx5ICpzdGFydCogd2l0aCBgVVNFIEdSQVBIYCBtdXN0XG4gICAgICAgICAgLy8gTk9UIHBvaXNvbiB0aGUgZGVmYXVsdC1ncmFwaCBzdGF0ZSDigJQgb25seSBzaW5nbGUtc3RhdGVtZW50XG4gICAgICAgICAgLy8gZm9ybSBtYXRjaGVzLlxuICAgICAgICAgIHRoaXMuY3R4LnNlc3Npb25zLnNldERlZmF1bHRHcmFwaChtWzFdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBSb3VuZC0yMSAjNTogYSBzdWNjZXNzZnVsIERST1AgR1JBUEggWCBtdXN0IGNsZWFyIG91ciBjYWNoZWRcbiAgICAgICAgICAvLyBkZWZhdWx0X2dyYXBoIGlmIGl0IHBvaW50ZWQgYXQgWC4gTmV3IHNlcnZlcnMgaGFuZGxlIHRoaXNcbiAgICAgICAgICAvLyBhdXRob3JpdGF0aXZlbHkgdmlhIGN1cnJlbnRfZ3JhcGggKHJldHVybnMgXCJcIiBhZnRlciBzZWxmLWRyb3ApXG4gICAgICAgICAgLy8g4oCUIHRoaXMgYnJhbmNoIG9ubHkgZmlyZXMgb24gb2xkZXIgc2VydmVycyB3aXRob3V0IHRoZSBmaWVsZC5cbiAgICAgICAgICBjb25zdCB0cmltbWVkID0gcXVlcnkudHJpbSgpO1xuICAgICAgICAgIGlmICh0cmltbWVkLnRvVXBwZXJDYXNlKCkuc3RhcnRzV2l0aCgnRFJPUCBHUkFQSCcpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdCA9IHRyaW1tZWQuc3Vic3RyaW5nKCdEUk9QIEdSQVBIJy5sZW5ndGgpLnRyaW1TdGFydCgpO1xuICAgICAgICAgICAgaWYgKHJlc3QudG9VcHBlckNhc2UoKS5zdGFydHNXaXRoKCdJRiBFWElTVFMnKSkge1xuICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHJpbmcoJ0lGIEVYSVNUUycubGVuZ3RoKS50cmltU3RhcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGRyb3BwZWQgPSByZXN0LnJlcGxhY2UoLzsrJC8sICcnKS50cmltKCkucmVwbGFjZSgvXltgXCInXSt8W2BcIiddKyQvZywgJycpO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuY3R4LnNlc3Npb25zLmdldERlZmF1bHRHcmFwaCgpO1xuICAgICAgICAgICAgaWYgKGRyb3BwZWQgJiYgY3VycmVudCAmJiBkcm9wcGVkID09PSBjdXJyZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMuY3R4LnNlc3Npb25zLnNldERlZmF1bHRHcmFwaCgnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb252ZXJ0R3FsUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgZXJyb3I/LmNvZGUgPT09IGdycGMuc3RhdHVzLlJFU09VUkNFX0VYSEFVU1RFRCAmJlxuICAgICAgICB0eXBlb2YgZXJyb3I/LmRldGFpbHMgPT09ICdzdHJpbmcnICYmXG4gICAgICAgIGVycm9yLmRldGFpbHMuaW5jbHVkZXMoJ3VzZSBzdHJlYW1pbmcgQVBJJylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncWxTdHJlYW1Db2xsZWN0KHF1ZXJ5LCBjb25maWcpO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFF1ZXJ5RmFpbGVkRXJyb3IoZXJyb3IubWVzc2FnZSB8fCAnUXVlcnkgZmFpbGVkJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1biBHcWxTdHJlYW0gYW5kIGFnZ3JlZ2F0ZSBjaHVua3MgaW50byBhIHNpbmdsZSBSZXNwb25zZS5cbiAgICpcbiAgICogVXNlZCBhcyBmYWxsYmFjayBmcm9tIGdxbCgpIHdoZW4gdGhlIHNlcnZlciByZWplY3RzIHRoZSByZXN1bHQgc2V0XG4gICAqIGFzIHRvbyBsYXJnZSBmb3Igbm9uLXN0cmVhbWluZyBSUEMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGdxbFN0cmVhbUNvbGxlY3QocXVlcnk6IHN0cmluZywgY29uZmlnPzogUXVlcnlDb25maWcpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgY2h1bmtzOiBSZXNwb25zZVtdID0gW107XG4gICAgYXdhaXQgdGhpcy5ncWxTdHJlYW0ocXVlcnksIGNvbmZpZywgKGNodW5rOiBSZXNwb25zZSkgPT4ge1xuICAgICAgY2h1bmtzLnB1c2goY2h1bmspO1xuICAgIH0pO1xuXG4gICAgaWYgKGNodW5rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoW10sIFtdLCAwLCBmYWxzZSwgW10sIDApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbHVtbnMgPSBjaHVua3NbMF0uY29sdW1ucztcbiAgICBjb25zdCByb3dzID0gY2h1bmtzLmZsYXRNYXAoYyA9PiBjLnJvd3MpO1xuICAgIGNvbnN0IHdhcm5pbmdzID0gY2h1bmtzLmZsYXRNYXAoYyA9PiBjLndhcm5pbmdzKTtcbiAgICBsZXQgcm93c0FmZmVjdGVkID0gMDtcbiAgICBmb3IgKGNvbnN0IGMgb2YgY2h1bmtzKSB7XG4gICAgICBpZiAoYy5yb3dzQWZmZWN0ZWQpIHtcbiAgICAgICAgcm93c0FmZmVjdGVkID0gYy5yb3dzQWZmZWN0ZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgUmVzcG9uc2UoY29sdW1ucywgcm93cywgcm93cy5sZW5ndGgsIGZhbHNlLCB3YXJuaW5ncywgcm93c0FmZmVjdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgR1FMIHF1ZXJ5IGFuZCBzdHJlYW0gdGhlIHJlc3VsdHMuXG4gICAqL1xuICBhc3luYyBncWxTdHJlYW0oXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICBjb25maWc/OiBRdWVyeUNvbmZpZyxcbiAgICBjYWxsYmFjaz86IChyZXNwb25zZTogUmVzcG9uc2UpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5UXVlcnlFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmN0eC5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGJ1aWxkR3FsUmVxdWVzdChxdWVyeSwgc2Vzc2lvbiwgdGhpcy5jdHguY29uZmlnLCBjb25maWcpO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgdGltZW91dE1zID0gdGhpcy5jYWxjdWxhdGVUaW1lb3V0KGNvbmZpZyk7XG4gICAgY29uc3QgZGVhZGxpbmUgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgdGltZW91dE1zKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBzdHJlYW0gPSAodGhpcy5jdHguY2xpZW50cy5xdWVyeVNlcnZpY2UgYXMgYW55KS5HcWxTdHJlYW0oXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgICB7IGRlYWRsaW5lIH1cbiAgICAgICk7XG5cbiAgICAgIHN0cmVhbS5vbignZGF0YScsIChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY3R4LnVwZGF0ZUFjdGl2aXR5KCk7XG4gICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgIGNhbGxiYWNrKGNvbnZlcnRHcWxSZXNwb25zZShyZXNwb25zZSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc3RyZWFtLm9uKCdlbmQnLCAoKSA9PiByZXNvbHZlKCkpO1xuICAgICAgc3RyZWFtLm9uKCdlcnJvcicsIChlcnJvcjogYW55KSA9PiByZWplY3QobmV3IFF1ZXJ5RmFpbGVkRXJyb3IoZXJyb3IubWVzc2FnZSkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGV4ZWN1dGlvbiBwbGFuIGZvciBhIHF1ZXJ5LlxuICAgKi9cbiAgYXN5bmMgZXhwbGFpbihxdWVyeTogc3RyaW5nLCBjb25maWc/OiBRdWVyeUNvbmZpZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5UXVlcnlFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmN0eC5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGJ1aWxkR3FsUmVxdWVzdChxdWVyeSwgc2Vzc2lvbiwgdGhpcy5jdHguY29uZmlnLCBjb25maWcpO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgdGltZW91dE1zID0gdGhpcy5jYWxjdWxhdGVUaW1lb3V0KGNvbmZpZyk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGxXaXRoRGVhZGxpbmUoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLnF1ZXJ5U2VydmljZSxcbiAgICAgICdFeHBsYWluJyxcbiAgICAgIHJlcXVlc3QsXG4gICAgICB0aW1lb3V0TXMsXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzcG9uc2UucGxhbiB8fCAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgcXVlcnkgd2l0aCBwcm9maWxpbmcgYW5kIHJldHVybiBzdGF0aXN0aWNzLlxuICAgKi9cbiAgYXN5bmMgcHJvZmlsZShxdWVyeTogc3RyaW5nLCBjb25maWc/OiBRdWVyeUNvbmZpZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5UXVlcnlFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmN0eC5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGJ1aWxkR3FsUmVxdWVzdChxdWVyeSwgc2Vzc2lvbiwgdGhpcy5jdHguY29uZmlnLCBjb25maWcpO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgdGltZW91dE1zID0gdGhpcy5jYWxjdWxhdGVUaW1lb3V0KGNvbmZpZyk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGxXaXRoRGVhZGxpbmUoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLnF1ZXJ5U2VydmljZSxcbiAgICAgICdQcm9maWxlJyxcbiAgICAgIHJlcXVlc3QsXG4gICAgICB0aW1lb3V0TXMsXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzcG9uc2UucHJvZmlsZSB8fCAnJztcbiAgfVxufVxuIl19
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9xdWVyeS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsb0RBQXNDO0FBRXRDLDBDQUF1QztBQUN2QyxzQ0FBOEQ7QUFDOUQsMENBQXdEO0FBQ3hELDZDQUdzQjtBQUd0Qjs7OztHQUlHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsb0NBQW9DLENBQUM7QUFFMUQ7O0dBRUc7QUFDSCxNQUFhLFlBQVk7SUFDSDtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7Ozs7Ozs7O09BUUc7SUFDSyxnQkFBZ0IsQ0FBQyxNQUFvQjtRQUMzQyxnRUFBZ0U7UUFDaEUsSUFBSSxNQUFNLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUM7UUFFRCx1Q0FBdUM7UUFDdkMsd0VBQXdFO1FBQ3hFLHNDQUFzQztRQUV0QyxxREFBcUQ7UUFDckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUFvQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksd0JBQWUsRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDRCQUFlLEVBQUMsS0FBSyxFQUFFLE9B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U0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxDQUNULENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQTNORCxvQ0EyTkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFF1ZXJ5IHNlcnZpY2UgaGFuZGxlcyBHUUwgcXVlcnkgZXhlY3V0aW9uLlxuICovXG5cbmltcG9ydCAqIGFzIGdycGMgZnJvbSAnQGdycGMvZ3JwYy1qcyc7XG5pbXBvcnQgeyBTZXJ2aWNlQ29udGV4dCB9IGZyb20gJy4vc2VydmljZS1jb250ZXh0JztcbmltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnLi4vcmVzcG9uc2UnO1xuaW1wb3J0IHsgRW1wdHlRdWVyeUVycm9yLCBRdWVyeUZhaWxlZEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzJztcbmltcG9ydCB7IHByb21pc2lmeUNhbGxXaXRoRGVhZGxpbmUgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBidWlsZEdxbFJlcXVlc3QsXG4gIGNvbnZlcnRHcWxSZXNwb25zZSxcbn0gZnJvbSAnLi9jb252ZXJ0ZXJzJztcbmltcG9ydCB7IFF1ZXJ5Q29uZmlnIH0gZnJvbSAnLi4vY2xpZW50JztcblxuLyoqXG4gKiBNYXRjaCBhIFNJTkdMRSBgVVNFIEdSQVBIIDxpZGVudD5gIHN0YXRlbWVudCAoY2FzZS1pbnNlbnNpdGl2ZSkgd2l0aFxuICogb3B0aW9uYWwgdHJhaWxpbmcgd2hpdGVzcGFjZSBhbmQgc2VtaWNvbG9ucy4gQ29tcG91bmQgcXVlcmllcyBkbyBub3RcbiAqIG1hdGNoIOKAlCBzZWUgY29tbWVudCBpbiBRdWVyeVNlcnZpY2UuZ3FsIGJlbG93LlxuICovXG5jb25zdCBVU0VfR1JBUEhfUkUgPSAvXlxccypVU0VcXHMrR1JBUEhcXHMrKFxcUys/KVxccyo7KlxccyokL2k7XG5cbi8qKlxuICogUXVlcnkgc2VydmljZSBmb3IgZXhlY3V0aW5nIEdRTCBxdWVyaWVzLlxuICovXG5leHBvcnQgY2xhc3MgUXVlcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjdHg6IFNlcnZpY2VDb250ZXh0KSB7fVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGltZW91dCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJpb3JpdHk6XG4gICAqIDEuIFF1ZXJ5Q29uZmlnLnRpbWVvdXQgKGhpZ2hlc3QgcHJpb3JpdHkpIC0gZXhwbGljaXRseSBzcGVjaWZpZWQgdGltZW91dFxuICAgKiAyLiBDb250ZXh0IGRlYWRsaW5lIChtZWRpdW0gcHJpb3JpdHkpIC0gcmVtYWluaW5nIHRpbWUgZnJvbSBjb250ZXh0IGRlYWRsaW5lXG4gICAqIDMuIGNsaWVudC5jb25maWcudGltZW91dCAoZGVmYXVsdCkgLSBkZWZhdWx0IHRpbWVvdXQgZnJvbSBjbGllbnQgY29uZmlnXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgT3B0aW9uYWwgcXVlcnkgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBUaW1lb3V0IGluIG1pbGxpc2Vjb25kc1xuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUaW1lb3V0KGNvbmZpZz86IFF1ZXJ5Q29uZmlnKTogbnVtYmVyIHtcbiAgICAvLyBQcmlvcml0eSAxOiBVc2UgZXhwbGljaXRseSBzcGVjaWZpZWQgdGltZW91dCBmcm9tIFF1ZXJ5Q29uZmlnXG4gICAgaWYgKGNvbmZpZz8udGltZW91dCAmJiBjb25maWcudGltZW91dCA+IDApIHtcbiAgICAgIHJldHVybiBjb25maWcudGltZW91dDtcbiAgICB9XG5cbiAgICAvLyBQcmlvcml0eSAyOiBDb250ZXh0IGRlYWRsaW5lIHN1cHBvcnRcbiAgICAvLyBOb3RlOiBOb2RlLmpzIFNESyBkb2Vzbid0IGN1cnJlbnRseSBleHBvc2UgY29udGV4dCBkZWFkbGluZSBwYXJhbWV0ZXJcbiAgICAvLyBUaGlzIGlzIGxlZnQgZm9yIGZ1dHVyZSBlbmhhbmNlbWVudFxuXG4gICAgLy8gUHJpb3JpdHkgMzogVXNlIGRlZmF1bHQgdGltZW91dCBmcm9tIGNsaWVudCBjb25maWdcbiAgICByZXR1cm4gdGhpcy5jdHguY29uZmlnLnRpbWVvdXQgfHwgMzAwMDA7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIEdRTCBxdWVyeSBhbmQgcmV0dXJuIHRoZSByZXN1bHQuXG4gICAqXG4gICAqIEZhbGxzIGJhY2sgdG8gR3FsU3RyZWFtICsgY2xpZW50LXNpZGUgYWdncmVnYXRpb24gd2hlbiB0aGUgc2VydmVyXG4gICAqIHJlamVjdHMgdGhlIHJlc3VsdCBzZXQgYXMgdG9vIGxhcmdlIGZvciBub24tc3RyZWFtaW5nIFJQQ1xuICAgKiAoUkVTT1VSQ0VfRVhIQVVTVEVEIHdpdGggXCJ1c2Ugc3RyZWFtaW5nIEFQSVwiIGRldGFpbCkuXG4gICAqL1xuICBhc3luYyBncWwocXVlcnk6IHN0cmluZywgY29uZmlnPzogUXVlcnlDb25maWcpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5UXVlcnlFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmN0eC5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGJ1aWxkR3FsUmVxdWVzdChxdWVyeSwgc2Vzc2lvbiwgdGhpcy5jdHguY29uZmlnLCBjb25maWcpO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IHRoaXMuY2FsY3VsYXRlVGltZW91dChjb25maWcpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbFdpdGhEZWFkbGluZShcbiAgICAgICAgdGhpcy5jdHguY2xpZW50cy5xdWVyeVNlcnZpY2UsXG4gICAgICAgICdHcWwnLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICB0aW1lb3V0TXMsXG4gICAgICAgIG1ldGFkYXRhXG4gICAgICApO1xuXG4gICAgICB0aGlzLmN0eC51cGRhdGVBY3Rpdml0eSgpO1xuXG4gICAgICAvLyBQaGFzZSAyIGR1YWwtc291cmNlIGNhY2hlIHVwZGF0ZTogcHJlZmVyIHRoZSBzZXJ2ZXIncyBhdXRob3JpdGF0aXZlXG4gICAgICAvLyBjdXJyZW50X2dyYXBoIChjb3ZlcnMgY29tcG91bmQgcXVlcmllcywgbXVsdGlwbGUgZW1iZWRkZWRcbiAgICAgIC8vIFVTRSBHUkFQSCwgYW5kIGxhc3Qtd3JpdGUtd2lucykgYW5kIGZhbGwgYmFjayB0byB0aGUgc3RyaWN0XG4gICAgICAvLyBjbGllbnQtc2lkZSByZWdleCAvIERST1AgR1JBUEggZGV0ZWN0aW9uIGZvciBvbGRlciBzZXJ2ZXJzIHRoYXRcbiAgICAgIC8vIGRvbid0IHBvcHVsYXRlIHRoZSBmaWVsZC5cbiAgICAgIGNvbnN0IHNlcnZlckN1cnJlbnQ6IHN0cmluZyA9IChyZXNwb25zZSBhcyBhbnkpLmN1cnJlbnRfZ3JhcGggfHwgJyc7XG4gICAgICBpZiAoc2VydmVyQ3VycmVudCkge1xuICAgICAgICB0aGlzLmN0eC5zZXNzaW9ucy5zZXREZWZhdWx0R3JhcGgoc2VydmVyQ3VycmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtID0gcXVlcnkubWF0Y2goVVNFX0dSQVBIX1JFKTtcbiAgICAgICAgaWYgKG0pIHtcbiAgICAgICAgICAvLyBDb21wb3VuZCBxdWVyaWVzIHRoYXQgbWVyZWx5ICpzdGFydCogd2l0aCBgVVNFIEdSQVBIYCBtdXN0XG4gICAgICAgICAgLy8gTk9UIHBvaXNvbiB0aGUgZGVmYXVsdC1ncmFwaCBzdGF0ZSDigJQgb25seSBzaW5nbGUtc3RhdGVtZW50XG4gICAgICAgICAgLy8gZm9ybSBtYXRjaGVzLlxuICAgICAgICAgIHRoaXMuY3R4LnNlc3Npb25zLnNldERlZmF1bHRHcmFwaChtWzFdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBSb3VuZC0yMSAjNTogYSBzdWNjZXNzZnVsIERST1AgR1JBUEggWCBtdXN0IGNsZWFyIG91ciBjYWNoZWRcbiAgICAgICAgICAvLyBkZWZhdWx0X2dyYXBoIGlmIGl0IHBvaW50ZWQgYXQgWC4gTmV3IHNlcnZlcnMgaGFuZGxlIHRoaXNcbiAgICAgICAgICAvLyBhdXRob3JpdGF0aXZlbHkgdmlhIGN1cnJlbnRfZ3JhcGggKHJldHVybnMgXCJcIiBhZnRlciBzZWxmLWRyb3ApXG4gICAgICAgICAgLy8g4oCUIHRoaXMgYnJhbmNoIG9ubHkgZmlyZXMgb24gb2xkZXIgc2VydmVycyB3aXRob3V0IHRoZSBmaWVsZC5cbiAgICAgICAgICBjb25zdCB0cmltbWVkID0gcXVlcnkudHJpbSgpO1xuICAgICAgICAgIGlmICh0cmltbWVkLnRvVXBwZXJDYXNlKCkuc3RhcnRzV2l0aCgnRFJPUCBHUkFQSCcpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdCA9IHRyaW1tZWQuc3Vic3RyaW5nKCdEUk9QIEdSQVBIJy5sZW5ndGgpLnRyaW1TdGFydCgpO1xuICAgICAgICAgICAgaWYgKHJlc3QudG9VcHBlckNhc2UoKS5zdGFydHNXaXRoKCdJRiBFWElTVFMnKSkge1xuICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHJpbmcoJ0lGIEVYSVNUUycubGVuZ3RoKS50cmltU3RhcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGRyb3BwZWQgPSByZXN0LnJlcGxhY2UoLzsrJC8sICcnKS50cmltKCkucmVwbGFjZSgvXltgXCInXSt8W2BcIiddKyQvZywgJycpO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuY3R4LnNlc3Npb25zLmdldERlZmF1bHRHcmFwaCgpO1xuICAgICAgICAgICAgaWYgKGRyb3BwZWQgJiYgY3VycmVudCAmJiBkcm9wcGVkID09PSBjdXJyZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMuY3R4LnNlc3Npb25zLnNldERlZmF1bHRHcmFwaCgnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb252ZXJ0R3FsUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgZXJyb3I/LmNvZGUgPT09IGdycGMuc3RhdHVzLlJFU09VUkNFX0VYSEFVU1RFRCAmJlxuICAgICAgICB0eXBlb2YgZXJyb3I/LmRldGFpbHMgPT09ICdzdHJpbmcnICYmXG4gICAgICAgIGVycm9yLmRldGFpbHMuaW5jbHVkZXMoJ3VzZSBzdHJlYW1pbmcgQVBJJylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncWxTdHJlYW1Db2xsZWN0KHF1ZXJ5LCBjb25maWcpO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFF1ZXJ5RmFpbGVkRXJyb3IoZXJyb3IubWVzc2FnZSB8fCAnUXVlcnkgZmFpbGVkJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1biBHcWxTdHJlYW0gYW5kIGFnZ3JlZ2F0ZSBjaHVua3MgaW50byBhIHNpbmdsZSBSZXNwb25zZS5cbiAgICpcbiAgICogVXNlZCBhcyBmYWxsYmFjayBmcm9tIGdxbCgpIHdoZW4gdGhlIHNlcnZlciByZWplY3RzIHRoZSByZXN1bHQgc2V0XG4gICAqIGFzIHRvbyBsYXJnZSBmb3Igbm9uLXN0cmVhbWluZyBSUEMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGdxbFN0cmVhbUNvbGxlY3QocXVlcnk6IHN0cmluZywgY29uZmlnPzogUXVlcnlDb25maWcpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgY2h1bmtzOiBSZXNwb25zZVtdID0gW107XG4gICAgYXdhaXQgdGhpcy5ncWxTdHJlYW0ocXVlcnksIGNvbmZpZywgKGNodW5rOiBSZXNwb25zZSkgPT4ge1xuICAgICAgY2h1bmtzLnB1c2goY2h1bmspO1xuICAgIH0pO1xuXG4gICAgaWYgKGNodW5rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoW10sIFtdLCAwLCBmYWxzZSwgW10sIDApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbHVtbnMgPSBjaHVua3NbMF0uY29sdW1ucztcbiAgICBjb25zdCByb3dzID0gY2h1bmtzLmZsYXRNYXAoYyA9PiBjLnJvd3MpO1xuICAgIGNvbnN0IHdhcm5pbmdzID0gY2h1bmtzLmZsYXRNYXAoYyA9PiBjLndhcm5pbmdzKTtcbiAgICBsZXQgcm93c0FmZmVjdGVkID0gMDtcbiAgICAvLyBTZXJ2ZXIgcG9wdWxhdGVzIHRpbWluZyAvIGN1cnJlbnRfZ3JhcGggb25seSBvbiB0aGUgZmluYWwgYmF0Y2hcbiAgICAvLyAoaGFzX21vcmU9ZmFsc2UpLiBUYWtlIGxhdGVzdCBub24temVybyB2YWx1ZXMuXG4gICAgbGV0IGN1cnJlbnRHcmFwaCA9ICcnO1xuICAgIGxldCB0aW1lQ29zdE5zID0gMCwgZGlza0Nvc3ROcyA9IDAsIGNvbXB1dGVDb3N0TnMgPSAwO1xuICAgIGZvciAoY29uc3QgYyBvZiBjaHVua3MpIHtcbiAgICAgIGlmIChjLnJvd3NBZmZlY3RlZCkgcm93c0FmZmVjdGVkID0gYy5yb3dzQWZmZWN0ZWQ7XG4gICAgICBpZiAoYy5jdXJyZW50R3JhcGgpIGN1cnJlbnRHcmFwaCA9IGMuY3VycmVudEdyYXBoO1xuICAgICAgaWYgKGMudGltZUNvc3ROcykgdGltZUNvc3ROcyA9IGMudGltZUNvc3ROcztcbiAgICAgIGlmIChjLmRpc2tDb3N0TnMpIGRpc2tDb3N0TnMgPSBjLmRpc2tDb3N0TnM7XG4gICAgICBpZiAoYy5jb21wdXRlQ29zdE5zKSBjb21wdXRlQ29zdE5zID0gYy5jb21wdXRlQ29zdE5zO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlc3BvbnNlKGNvbHVtbnMsIHJvd3MsIHJvd3MubGVuZ3RoLCBmYWxzZSwgd2FybmluZ3MsXG4gICAgICByb3dzQWZmZWN0ZWQsIGN1cnJlbnRHcmFwaCwgdGltZUNvc3ROcywgZGlza0Nvc3ROcywgY29tcHV0ZUNvc3ROcyk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIEdRTCBxdWVyeSBhbmQgc3RyZWFtIHRoZSByZXN1bHRzLlxuICAgKi9cbiAgYXN5bmMgZ3FsU3RyZWFtKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgY29uZmlnPzogUXVlcnlDb25maWcsXG4gICAgY2FsbGJhY2s/OiAocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVF1ZXJ5RXJyb3IoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBidWlsZEdxbFJlcXVlc3QocXVlcnksIHNlc3Npb24sIHRoaXMuY3R4LmNvbmZpZywgY29uZmlnKTtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IHRoaXMuY2FsY3VsYXRlVGltZW91dChjb25maWcpO1xuICAgIGNvbnN0IGRlYWRsaW5lID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIHRpbWVvdXRNcyk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgc3RyZWFtID0gKHRoaXMuY3R4LmNsaWVudHMucXVlcnlTZXJ2aWNlIGFzIGFueSkuR3FsU3RyZWFtKFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgeyBkZWFkbGluZSB9XG4gICAgICApO1xuXG4gICAgICBzdHJlYW0ub24oJ2RhdGEnLCAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmN0eC51cGRhdGVBY3Rpdml0eSgpO1xuICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICBjYWxsYmFjayhjb252ZXJ0R3FsUmVzcG9uc2UocmVzcG9uc2UpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHN0cmVhbS5vbignZW5kJywgKCkgPT4gcmVzb2x2ZSgpKTtcbiAgICAgIHN0cmVhbS5vbignZXJyb3InLCAoZXJyb3I6IGFueSkgPT4gcmVqZWN0KG5ldyBRdWVyeUZhaWxlZEVycm9yKGVycm9yLm1lc3NhZ2UpKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBleGVjdXRpb24gcGxhbiBmb3IgYSBxdWVyeS5cbiAgICovXG4gIGFzeW5jIGV4cGxhaW4ocXVlcnk6IHN0cmluZywgY29uZmlnPzogUXVlcnlDb25maWcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVF1ZXJ5RXJyb3IoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBidWlsZEdxbFJlcXVlc3QocXVlcnksIHNlc3Npb24sIHRoaXMuY3R4LmNvbmZpZywgY29uZmlnKTtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IHRoaXMuY2FsY3VsYXRlVGltZW91dChjb25maWcpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsV2l0aERlYWRsaW5lKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy5xdWVyeVNlcnZpY2UsXG4gICAgICAnRXhwbGFpbicsXG4gICAgICByZXF1ZXN0LFxuICAgICAgdGltZW91dE1zLFxuICAgICAgbWV0YWRhdGFcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLnBsYW4gfHwgJyc7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIHF1ZXJ5IHdpdGggcHJvZmlsaW5nIGFuZCByZXR1cm4gc3RhdGlzdGljcy5cbiAgICovXG4gIGFzeW5jIHByb2ZpbGUocXVlcnk6IHN0cmluZywgY29uZmlnPzogUXVlcnlDb25maWcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVF1ZXJ5RXJyb3IoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdHguc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBidWlsZEdxbFJlcXVlc3QocXVlcnksIHNlc3Npb24sIHRoaXMuY3R4LmNvbmZpZywgY29uZmlnKTtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IHRoaXMuY2FsY3VsYXRlVGltZW91dChjb25maWcpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsV2l0aERlYWRsaW5lKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy5xdWVyeVNlcnZpY2UsXG4gICAgICAnUHJvZmlsZScsXG4gICAgICByZXF1ZXN0LFxuICAgICAgdGltZW91dE1zLFxuICAgICAgbWV0YWRhdGFcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLnByb2ZpbGUgfHwgJyc7XG4gIH1cbn1cbiJdfQ==
@@ -26,14 +26,25 @@ export declare class ServiceContext {
26
26
  readonly config: GqldbConfig;
27
27
  readonly sessions: SessionManager;
28
28
  readonly txManager: TransactionManager;
29
- readonly clients: ServiceClients;
29
+ /**
30
+ * Not readonly: the client rebuilds the underlying gRPC channels
31
+ * on transport-level errors (UNAVAILABLE / connection reset) by
32
+ * mutating this in place. See GqldbClient.forceReconnectAll.
33
+ */
34
+ clients: ServiceClients;
30
35
  /**
31
36
  * Stable per-client logical session id sent as the
32
37
  * `x-ultipa-session-id` gRPC metadata header. Empty string omits the
33
38
  * header (legacy behavior). See TRANSACTIONS_DRIVER_GUIDE.md §2.1.
34
39
  */
35
40
  readonly clientSessionId: string;
36
- constructor(config: GqldbConfig, sessions: SessionManager, txManager: TransactionManager, clients: ServiceClients,
41
+ constructor(config: GqldbConfig, sessions: SessionManager, txManager: TransactionManager,
42
+ /**
43
+ * Not readonly: the client rebuilds the underlying gRPC channels
44
+ * on transport-level errors (UNAVAILABLE / connection reset) by
45
+ * mutating this in place. See GqldbClient.forceReconnectAll.
46
+ */
47
+ clients: ServiceClients,
37
48
  /**
38
49
  * Stable per-client logical session id sent as the
39
50
  * `x-ultipa-session-id` gRPC metadata header. Empty string omits the
@@ -48,7 +48,13 @@ class ServiceContext {
48
48
  txManager;
49
49
  clients;
50
50
  clientSessionId;
51
- constructor(config, sessions, txManager, clients,
51
+ constructor(config, sessions, txManager,
52
+ /**
53
+ * Not readonly: the client rebuilds the underlying gRPC channels
54
+ * on transport-level errors (UNAVAILABLE / connection reset) by
55
+ * mutating this in place. See GqldbClient.forceReconnectAll.
56
+ */
57
+ clients,
52
58
  /**
53
59
  * Stable per-client logical session id sent as the
54
60
  * `x-ultipa-session-id` gRPC metadata header. Empty string omits the
@@ -81,4 +87,4 @@ class ServiceContext {
81
87
  }
82
88
  }
83
89
  exports.ServiceContext = ServiceContext;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3NlcnZpY2UtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxvREFBc0M7QUFtQnRDOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBRVA7SUFDQTtJQUNBO0lBQ0E7SUFNQTtJQVZsQixZQUNrQixNQUFtQixFQUNuQixRQUF3QixFQUN4QixTQUE2QixFQUM3QixPQUF1QjtJQUN2Qzs7OztPQUlHO0lBQ2Esa0JBQTBCLEVBQUU7UUFUNUIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQU12QixvQkFBZSxHQUFmLGVBQWUsQ0FBYTtJQUMzQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFqQ0Qsd0NBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaGFyZWQgY29udGV4dCBmb3IgYWxsIHNlcnZpY2UgY2xhc3Nlcy5cbiAqIENvbnRhaW5zIGdSUEMgY2xpZW50cywgbWFuYWdlcnMsIGFuZCBjb25maWd1cmF0aW9uLlxuICovXG5cbmltcG9ydCAqIGFzIGdycGMgZnJvbSAnQGdycGMvZ3JwYy1qcyc7XG5pbXBvcnQgeyBHcWxkYkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTZXNzaW9uTWFuYWdlciB9IGZyb20gJy4uL3Nlc3Npb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nO1xuXG4vKipcbiAqIFNlcnZpY2UgY2xpZW50IHR5cGVzIGZvciBnUlBDIGNvbW11bmljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUNsaWVudHMge1xuICBzZXNzaW9uU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIHF1ZXJ5U2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGdyYXBoU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIHRyYW5zYWN0aW9uU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGRhdGFTZXJ2aWNlOiBncnBjLkNsaWVudDtcbiAgaGVhbHRoU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGFkbWluU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGJ1bGtJbXBvcnRTZXJ2aWNlOiBncnBjLkNsaWVudDtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIGNvbnRleHQgaG9sZHMgc2hhcmVkIGRlcGVuZGVuY2llcyBmb3IgYWxsIHNlcnZpY2UgY2xhc3Nlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogR3FsZGJDb25maWcsXG4gICAgcHVibGljIHJlYWRvbmx5IHNlc3Npb25zOiBTZXNzaW9uTWFuYWdlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHhNYW5hZ2VyOiBUcmFuc2FjdGlvbk1hbmFnZXIsXG4gICAgcHVibGljIHJlYWRvbmx5IGNsaWVudHM6IFNlcnZpY2VDbGllbnRzLFxuICAgIC8qKlxuICAgICAqIFN0YWJsZSBwZXItY2xpZW50IGxvZ2ljYWwgc2Vzc2lvbiBpZCBzZW50IGFzIHRoZVxuICAgICAqIGB4LXVsdGlwYS1zZXNzaW9uLWlkYCBnUlBDIG1ldGFkYXRhIGhlYWRlci4gRW1wdHkgc3RyaW5nIG9taXRzIHRoZVxuICAgICAqIGhlYWRlciAobGVnYWN5IGJlaGF2aW9yKS4gU2VlIFRSQU5TQUNUSU9OU19EUklWRVJfR1VJREUubWQgwqcyLjEuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNsaWVudFNlc3Npb25JZDogc3RyaW5nID0gJydcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBHZXQgc2Vzc2lvbiBtZXRhZGF0YSBmb3IgYXV0aGVudGljYXRlZCByZXF1ZXN0cy5cbiAgICovXG4gIGdldFNlc3Npb25NZXRhZGF0YSgpOiBncnBjLk1ldGFkYXRhIHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IG5ldyBncnBjLk1ldGFkYXRhKCk7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpO1xuICAgIG1ldGFkYXRhLmFkZCgnc2Vzc2lvbi1pZCcsIHNlc3Npb24/LmlkPy50b1N0cmluZygpIHx8ICcwJyk7XG4gICAgaWYgKHRoaXMuY2xpZW50U2Vzc2lvbklkKSB7XG4gICAgICBtZXRhZGF0YS5hZGQoJ3gtdWx0aXBhLXNlc3Npb24taWQnLCB0aGlzLmNsaWVudFNlc3Npb25JZCk7XG4gICAgfVxuICAgIHJldHVybiBtZXRhZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgc2Vzc2lvbiBhY3Rpdml0eSB0aW1lc3RhbXAuXG4gICAqL1xuICB1cGRhdGVBY3Rpdml0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlc3Npb25zLnVwZGF0ZUFjdGl2aXR5KCk7XG4gIH1cbn1cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3NlcnZpY2UtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxvREFBc0M7QUFtQnRDOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBRVA7SUFDQTtJQUNBO0lBTVQ7SUFNUztJQWZsQixZQUNrQixNQUFtQixFQUNuQixRQUF3QixFQUN4QixTQUE2QjtJQUM3Qzs7OztPQUlHO0lBQ0ksT0FBdUI7SUFDOUI7Ozs7T0FJRztJQUNhLGtCQUEwQixFQUFFO1FBZDVCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFNdEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFNZCxvQkFBZSxHQUFmLGVBQWUsQ0FBYTtJQUMzQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUF0Q0Qsd0NBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaGFyZWQgY29udGV4dCBmb3IgYWxsIHNlcnZpY2UgY2xhc3Nlcy5cbiAqIENvbnRhaW5zIGdSUEMgY2xpZW50cywgbWFuYWdlcnMsIGFuZCBjb25maWd1cmF0aW9uLlxuICovXG5cbmltcG9ydCAqIGFzIGdycGMgZnJvbSAnQGdycGMvZ3JwYy1qcyc7XG5pbXBvcnQgeyBHcWxkYkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTZXNzaW9uTWFuYWdlciB9IGZyb20gJy4uL3Nlc3Npb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nO1xuXG4vKipcbiAqIFNlcnZpY2UgY2xpZW50IHR5cGVzIGZvciBnUlBDIGNvbW11bmljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUNsaWVudHMge1xuICBzZXNzaW9uU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIHF1ZXJ5U2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGdyYXBoU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIHRyYW5zYWN0aW9uU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGRhdGFTZXJ2aWNlOiBncnBjLkNsaWVudDtcbiAgaGVhbHRoU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGFkbWluU2VydmljZTogZ3JwYy5DbGllbnQ7XG4gIGJ1bGtJbXBvcnRTZXJ2aWNlOiBncnBjLkNsaWVudDtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIGNvbnRleHQgaG9sZHMgc2hhcmVkIGRlcGVuZGVuY2llcyBmb3IgYWxsIHNlcnZpY2UgY2xhc3Nlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogR3FsZGJDb25maWcsXG4gICAgcHVibGljIHJlYWRvbmx5IHNlc3Npb25zOiBTZXNzaW9uTWFuYWdlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHhNYW5hZ2VyOiBUcmFuc2FjdGlvbk1hbmFnZXIsXG4gICAgLyoqXG4gICAgICogTm90IHJlYWRvbmx5OiB0aGUgY2xpZW50IHJlYnVpbGRzIHRoZSB1bmRlcmx5aW5nIGdSUEMgY2hhbm5lbHNcbiAgICAgKiBvbiB0cmFuc3BvcnQtbGV2ZWwgZXJyb3JzIChVTkFWQUlMQUJMRSAvIGNvbm5lY3Rpb24gcmVzZXQpIGJ5XG4gICAgICogbXV0YXRpbmcgdGhpcyBpbiBwbGFjZS4gU2VlIEdxbGRiQ2xpZW50LmZvcmNlUmVjb25uZWN0QWxsLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbGllbnRzOiBTZXJ2aWNlQ2xpZW50cyxcbiAgICAvKipcbiAgICAgKiBTdGFibGUgcGVyLWNsaWVudCBsb2dpY2FsIHNlc3Npb24gaWQgc2VudCBhcyB0aGVcbiAgICAgKiBgeC11bHRpcGEtc2Vzc2lvbi1pZGAgZ1JQQyBtZXRhZGF0YSBoZWFkZXIuIEVtcHR5IHN0cmluZyBvbWl0cyB0aGVcbiAgICAgKiBoZWFkZXIgKGxlZ2FjeSBiZWhhdmlvcikuIFNlZSBUUkFOU0FDVElPTlNfRFJJVkVSX0dVSURFLm1kIMKnMi4xLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjbGllbnRTZXNzaW9uSWQ6IHN0cmluZyA9ICcnXG4gICkge31cblxuICAvKipcbiAgICogR2V0IHNlc3Npb24gbWV0YWRhdGEgZm9yIGF1dGhlbnRpY2F0ZWQgcmVxdWVzdHMuXG4gICAqL1xuICBnZXRTZXNzaW9uTWV0YWRhdGEoKTogZ3JwYy5NZXRhZGF0YSB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBuZXcgZ3JwYy5NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLnNlc3Npb25zLmdldFNlc3Npb24oKTtcbiAgICBtZXRhZGF0YS5hZGQoJ3Nlc3Npb24taWQnLCBzZXNzaW9uPy5pZD8udG9TdHJpbmcoKSB8fCAnMCcpO1xuICAgIGlmICh0aGlzLmNsaWVudFNlc3Npb25JZCkge1xuICAgICAgbWV0YWRhdGEuYWRkKCd4LXVsdGlwYS1zZXNzaW9uLWlkJywgdGhpcy5jbGllbnRTZXNzaW9uSWQpO1xuICAgIH1cbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNlc3Npb24gYWN0aXZpdHkgdGltZXN0YW1wLlxuICAgKi9cbiAgdXBkYXRlQWN0aXZpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5zZXNzaW9ucy51cGRhdGVBY3Rpdml0eSgpO1xuICB9XG59XG4iXX0=
@@ -44,6 +44,11 @@ export declare enum GraphType {
44
44
  CLOSED = 1,// Schema-enforced graph
45
45
  ONTOLOGY = 2
46
46
  }
47
+ /** Edge ID mode enumeration for graph-level EDGE_ID setting */
48
+ export declare enum EdgeIdMode {
49
+ DISABLED = 0,
50
+ ENABLED = 1
51
+ }
47
52
  /** Health status enumeration */
48
53
  export declare enum HealthStatus {
49
54
  UNKNOWN = 0,
@@ -3,7 +3,7 @@
3
3
  * Enumeration types for GQLDB Node.js driver.
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CacheType = exports.HealthStatus = exports.GraphType = exports.PropertyType = void 0;
6
+ exports.CacheType = exports.HealthStatus = exports.EdgeIdMode = exports.GraphType = exports.PropertyType = void 0;
7
7
  /** Property type enumeration */
8
8
  var PropertyType;
9
9
  (function (PropertyType) {
@@ -49,6 +49,12 @@ var GraphType;
49
49
  GraphType[GraphType["CLOSED"] = 1] = "CLOSED";
50
50
  GraphType[GraphType["ONTOLOGY"] = 2] = "ONTOLOGY";
51
51
  })(GraphType || (exports.GraphType = GraphType = {}));
52
+ /** Edge ID mode enumeration for graph-level EDGE_ID setting */
53
+ var EdgeIdMode;
54
+ (function (EdgeIdMode) {
55
+ EdgeIdMode[EdgeIdMode["DISABLED"] = 0] = "DISABLED";
56
+ EdgeIdMode[EdgeIdMode["ENABLED"] = 1] = "ENABLED";
57
+ })(EdgeIdMode || (exports.EdgeIdMode = EdgeIdMode = {}));
52
58
  /** Health status enumeration */
53
59
  var HealthStatus;
54
60
  (function (HealthStatus) {
@@ -64,4 +70,4 @@ var CacheType;
64
70
  CacheType[CacheType["AST"] = 1] = "AST";
65
71
  CacheType[CacheType["PLAN"] = 2] = "PLAN";
66
72
  })(CacheType || (exports.CacheType = CacheType = {}));
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCxnQ0FBZ0M7QUFDaEMsSUFBWSxZQW1DWDtBQW5DRCxXQUFZLFlBQVk7SUFDdEIsaURBQVMsQ0FBQTtJQUNULGlEQUFTLENBQUE7SUFDVCxtREFBVSxDQUFBO0lBQ1YsaURBQVMsQ0FBQTtJQUNULG1EQUFVLENBQUE7SUFDVixpREFBUyxDQUFBO0lBQ1QsbURBQVUsQ0FBQTtJQUNWLG1EQUFVLENBQUE7SUFDVix1REFBWSxDQUFBO0lBQ1oseURBQWEsQ0FBQTtJQUNiLGdEQUFTLENBQUE7SUFDVCxnREFBUyxDQUFBO0lBQ1Qsa0RBQVUsQ0FBQTtJQUNWLHNEQUFZLENBQUE7SUFDWixnREFBUyxDQUFBO0lBQ1QsOENBQVEsQ0FBQTtJQUNSLDhDQUFRLENBQUE7SUFDUixnREFBUyxDQUFBO0lBQ1QsZ0RBQVMsQ0FBQTtJQUNULG9FQUFtQixDQUFBO0lBQ25CLG9FQUFtQixDQUFBO0lBQ25CLGdEQUFTLENBQUE7SUFDVCw0REFBZSxDQUFBO0lBQ2YsNERBQWUsQ0FBQTtJQUNmLGtFQUFrQixDQUFBO0lBQ2xCLGtFQUFrQixDQUFBO0lBQ2xCLG9EQUFXLENBQUE7SUFDWCxzREFBWSxDQUFBO0lBQ1osb0RBQVcsQ0FBQTtJQUNYLGtEQUFVLENBQUE7SUFDVixnREFBUyxDQUFBO0lBQ1Qsa0RBQVUsQ0FBQTtJQUNWLGdEQUFTLENBQUE7SUFDVCxnREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQW5DVyxZQUFZLDRCQUFaLFlBQVksUUFtQ3ZCO0FBRUQsNkJBQTZCO0FBQzdCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix5Q0FBUSxDQUFBO0lBQ1IsNkNBQVUsQ0FBQTtJQUNWLGlEQUFZLENBQUE7QUFDZCxDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCO0FBRUQsZ0NBQWdDO0FBQ2hDLElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gscURBQVcsQ0FBQTtJQUNYLDZEQUFlLENBQUE7SUFDZixxRUFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsWUFBWSw0QkFBWixZQUFZLFFBS3ZCO0FBRUQsNkJBQTZCO0FBQzdCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix1Q0FBTyxDQUFBO0lBQ1AsdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7QUFDVixDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtZXJhdGlvbiB0eXBlcyBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuLyoqIFByb3BlcnR5IHR5cGUgZW51bWVyYXRpb24gKi9cbmV4cG9ydCBlbnVtIFByb3BlcnR5VHlwZSB7XG4gIFVOU0VUID0gMCxcbiAgSU5UMzIgPSAxLFxuICBVSU5UMzIgPSAyLFxuICBJTlQ2NCA9IDMsXG4gIFVJTlQ2NCA9IDQsXG4gIEZMT0FUID0gNSxcbiAgRE9VQkxFID0gNixcbiAgU1RSSU5HID0gNyxcbiAgREFURVRJTUUgPSA4LCAvLyBEZXByZWNhdGVkLCB1c2UgVElNRVNUQU1QXG4gIFRJTUVTVEFNUCA9IDksXG4gIFRFWFQgPSAxMCxcbiAgQkxPQiA9IDExLFxuICBQT0lOVCA9IDEyLFxuICBERUNJTUFMID0gMTMsXG4gIExJU1QgPSAxNCxcbiAgU0VUID0gMTUsXG4gIE1BUCA9IDE2LFxuICBOVUxMID0gMTcsXG4gIEJPT0wgPSAxOCxcbiAgTE9DQUxfREFURVRJTUUgPSAxOSxcbiAgWk9ORURfREFURVRJTUUgPSAyMCxcbiAgREFURSA9IDIxLFxuICBaT05FRF9USU1FID0gMjIsXG4gIExPQ0FMX1RJTUUgPSAyMyxcbiAgWUVBUl9UT19NT05USCA9IDI0LFxuICBEQVlfVE9fU0VDT05EID0gMjUsXG4gIFJFQ09SRCA9IDI2LFxuICBQT0lOVDNEID0gMjcsXG4gIFZFQ1RPUiA9IDI4LFxuICBUQUJMRSA9IDI5LFxuICBQQVRIID0gMzAsXG4gIEVSUk9SID0gMzEsXG4gIE5PREUgPSAzMixcbiAgRURHRSA9IDMzLFxufVxuXG4vKiogR3JhcGggdHlwZSBlbnVtZXJhdGlvbiAqL1xuZXhwb3J0IGVudW0gR3JhcGhUeXBlIHtcbiAgT1BFTiA9IDAsIC8vIFNjaGVtYS1sZXNzIGdyYXBoXG4gIENMT1NFRCA9IDEsIC8vIFNjaGVtYS1lbmZvcmNlZCBncmFwaFxuICBPTlRPTE9HWSA9IDIsIC8vIE9udG9sb2d5LWVuYWJsZWQgZ3JhcGhcbn1cblxuLyoqIEhlYWx0aCBzdGF0dXMgZW51bWVyYXRpb24gKi9cbmV4cG9ydCBlbnVtIEhlYWx0aFN0YXR1cyB7XG4gIFVOS05PV04gPSAwLFxuICBTRVJWSU5HID0gMSxcbiAgTk9UX1NFUlZJTkcgPSAyLFxuICBTRVJWSUNFX1VOS05PV04gPSAzLFxufVxuXG4vKiogQ2FjaGUgdHlwZSBlbnVtZXJhdGlvbiAqL1xuZXhwb3J0IGVudW0gQ2FjaGVUeXBlIHtcbiAgQUxMID0gMCxcbiAgQVNUID0gMSxcbiAgUExBTiA9IDIsXG59XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCxnQ0FBZ0M7QUFDaEMsSUFBWSxZQW1DWDtBQW5DRCxXQUFZLFlBQVk7SUFDdEIsaURBQVMsQ0FBQTtJQUNULGlEQUFTLENBQUE7SUFDVCxtREFBVSxDQUFBO0lBQ1YsaURBQVMsQ0FBQTtJQUNULG1EQUFVLENBQUE7SUFDVixpREFBUyxDQUFBO0lBQ1QsbURBQVUsQ0FBQTtJQUNWLG1EQUFVLENBQUE7SUFDVix1REFBWSxDQUFBO0lBQ1oseURBQWEsQ0FBQTtJQUNiLGdEQUFTLENBQUE7SUFDVCxnREFBUyxDQUFBO0lBQ1Qsa0RBQVUsQ0FBQTtJQUNWLHNEQUFZLENBQUE7SUFDWixnREFBUyxDQUFBO0lBQ1QsOENBQVEsQ0FBQTtJQUNSLDhDQUFRLENBQUE7SUFDUixnREFBUyxDQUFBO0lBQ1QsZ0RBQVMsQ0FBQTtJQUNULG9FQUFtQixDQUFBO0lBQ25CLG9FQUFtQixDQUFBO0lBQ25CLGdEQUFTLENBQUE7SUFDVCw0REFBZSxDQUFBO0lBQ2YsNERBQWUsQ0FBQTtJQUNmLGtFQUFrQixDQUFBO0lBQ2xCLGtFQUFrQixDQUFBO0lBQ2xCLG9EQUFXLENBQUE7SUFDWCxzREFBWSxDQUFBO0lBQ1osb0RBQVcsQ0FBQTtJQUNYLGtEQUFVLENBQUE7SUFDVixnREFBUyxDQUFBO0lBQ1Qsa0RBQVUsQ0FBQTtJQUNWLGdEQUFTLENBQUE7SUFDVCxnREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQW5DVyxZQUFZLDRCQUFaLFlBQVksUUFtQ3ZCO0FBRUQsNkJBQTZCO0FBQzdCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix5Q0FBUSxDQUFBO0lBQ1IsNkNBQVUsQ0FBQTtJQUNWLGlEQUFZLENBQUE7QUFDZCxDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCO0FBRUQsK0RBQStEO0FBQy9ELElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNwQixtREFBWSxDQUFBO0lBQ1osaURBQVcsQ0FBQTtBQUNiLENBQUMsRUFIVyxVQUFVLDBCQUFWLFVBQVUsUUFHckI7QUFFRCxnQ0FBZ0M7QUFDaEMsSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLHFEQUFXLENBQUE7SUFDWCxxREFBVyxDQUFBO0lBQ1gsNkRBQWUsQ0FBQTtJQUNmLHFFQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxZQUFZLDRCQUFaLFlBQVksUUFLdkI7QUFFRCw2QkFBNkI7QUFDN0IsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLHVDQUFPLENBQUE7SUFDUCx1Q0FBTyxDQUFBO0lBQ1AseUNBQVEsQ0FBQTtBQUNWLENBQUMsRUFKVyxTQUFTLHlCQUFULFNBQVMsUUFJcEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVudW1lcmF0aW9uIHR5cGVzIGZvciBHUUxEQiBOb2RlLmpzIGRyaXZlci5cbiAqL1xuXG4vKiogUHJvcGVydHkgdHlwZSBlbnVtZXJhdGlvbiAqL1xuZXhwb3J0IGVudW0gUHJvcGVydHlUeXBlIHtcbiAgVU5TRVQgPSAwLFxuICBJTlQzMiA9IDEsXG4gIFVJTlQzMiA9IDIsXG4gIElOVDY0ID0gMyxcbiAgVUlOVDY0ID0gNCxcbiAgRkxPQVQgPSA1LFxuICBET1VCTEUgPSA2LFxuICBTVFJJTkcgPSA3LFxuICBEQVRFVElNRSA9IDgsIC8vIERlcHJlY2F0ZWQsIHVzZSBUSU1FU1RBTVBcbiAgVElNRVNUQU1QID0gOSxcbiAgVEVYVCA9IDEwLFxuICBCTE9CID0gMTEsXG4gIFBPSU5UID0gMTIsXG4gIERFQ0lNQUwgPSAxMyxcbiAgTElTVCA9IDE0LFxuICBTRVQgPSAxNSxcbiAgTUFQID0gMTYsXG4gIE5VTEwgPSAxNyxcbiAgQk9PTCA9IDE4LFxuICBMT0NBTF9EQVRFVElNRSA9IDE5LFxuICBaT05FRF9EQVRFVElNRSA9IDIwLFxuICBEQVRFID0gMjEsXG4gIFpPTkVEX1RJTUUgPSAyMixcbiAgTE9DQUxfVElNRSA9IDIzLFxuICBZRUFSX1RPX01PTlRIID0gMjQsXG4gIERBWV9UT19TRUNPTkQgPSAyNSxcbiAgUkVDT1JEID0gMjYsXG4gIFBPSU5UM0QgPSAyNyxcbiAgVkVDVE9SID0gMjgsXG4gIFRBQkxFID0gMjksXG4gIFBBVEggPSAzMCxcbiAgRVJST1IgPSAzMSxcbiAgTk9ERSA9IDMyLFxuICBFREdFID0gMzMsXG59XG5cbi8qKiBHcmFwaCB0eXBlIGVudW1lcmF0aW9uICovXG5leHBvcnQgZW51bSBHcmFwaFR5cGUge1xuICBPUEVOID0gMCwgLy8gU2NoZW1hLWxlc3MgZ3JhcGhcbiAgQ0xPU0VEID0gMSwgLy8gU2NoZW1hLWVuZm9yY2VkIGdyYXBoXG4gIE9OVE9MT0dZID0gMiwgLy8gT250b2xvZ3ktZW5hYmxlZCBncmFwaFxufVxuXG4vKiogRWRnZSBJRCBtb2RlIGVudW1lcmF0aW9uIGZvciBncmFwaC1sZXZlbCBFREdFX0lEIHNldHRpbmcgKi9cbmV4cG9ydCBlbnVtIEVkZ2VJZE1vZGUge1xuICBESVNBQkxFRCA9IDAsXG4gIEVOQUJMRUQgPSAxLFxufVxuXG4vKiogSGVhbHRoIHN0YXR1cyBlbnVtZXJhdGlvbiAqL1xuZXhwb3J0IGVudW0gSGVhbHRoU3RhdHVzIHtcbiAgVU5LTk9XTiA9IDAsXG4gIFNFUlZJTkcgPSAxLFxuICBOT1RfU0VSVklORyA9IDIsXG4gIFNFUlZJQ0VfVU5LTk9XTiA9IDMsXG59XG5cbi8qKiBDYWNoZSB0eXBlIGVudW1lcmF0aW9uICovXG5leHBvcnQgZW51bSBDYWNoZVR5cGUge1xuICBBTEwgPSAwLFxuICBBU1QgPSAxLFxuICBQTEFOID0gMixcbn1cbiJdfQ==