@dbx-tools/postgres 0.9.21 → 0.9.29
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/index.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/src/advisory-lock.js +9 -3
- package/package.json +3 -4
- package/src/advisory-lock.ts +7 -2
- package/._LICENSE +0 -0
- package/._README.md +0 -0
- package/._index.ts +0 -0
- package/._package.json +0 -0
- package/lib/._exports.d.ts +0 -0
- package/lib/._exports.js +0 -0
- package/lib/._index.d.ts +0 -0
- package/lib/._index.js +0 -0
- package/lib/._tsconfig.tsbuildinfo +0 -0
- package/lib/src/._advisory-lock.d.ts +0 -0
- package/lib/src/._advisory-lock.js +0 -0
- package/lib/src/._persistence.d.ts +0 -0
- package/lib/src/._persistence.js +0 -0
- package/lib/src/._topic-bus.d.ts +0 -0
- package/lib/src/._topic-bus.js +0 -0
- package/src/._advisory-lock.ts +0 -0
- package/src/._persistence.ts +0 -0
- package/src/._topic-bus.ts +0 -0
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/postgres";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.29";
|
|
7
7
|
export * as advisoryLock from "./src/advisory-lock.ts";
|
|
8
8
|
export * as persistence from "./src/persistence.ts";
|
|
9
9
|
export * as topicBus from "./src/topic-bus.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/postgres";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.29";
|
|
3
3
|
export * as advisoryLock from "./src/advisory-lock.ts";
|
|
4
4
|
export * as persistence from "./src/persistence.ts";
|
|
5
5
|
export * as topicBus from "./src/topic-bus.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/postgres";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.29";
|
|
6
6
|
export * as advisoryLock from "./src/advisory-lock.js";
|
|
7
7
|
export * as persistence from "./src/persistence.js";
|
|
8
8
|
export * as topicBus from "./src/topic-bus.js";
|
|
9
9
|
export { POINTER_VERSION } from "./src/persistence.js";
|
|
10
10
|
export { PostgresTopicBus } from "./src/topic-bus.js";
|
|
11
11
|
export * from "./exports.js";
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxZQUFZLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxLQUFLLFdBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssUUFBUSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvcG9zdGdyZXNcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS4yOVwiO1xuZXhwb3J0ICogYXMgYWR2aXNvcnlMb2NrIGZyb20gXCIuL3NyYy9hZHZpc29yeS1sb2NrLnRzXCI7XG5leHBvcnQgKiBhcyBwZXJzaXN0ZW5jZSBmcm9tIFwiLi9zcmMvcGVyc2lzdGVuY2UudHNcIjtcbmV4cG9ydCAqIGFzIHRvcGljQnVzIGZyb20gXCIuL3NyYy90b3BpYy1idXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgQWR2aXNvcnlMb2NrS2V5LCBQZ1Bvb2xMaWtlLCBQZ1F1ZXJ5YWJsZSB9IGZyb20gXCIuL3NyYy9hZHZpc29yeS1sb2NrLnRzXCI7XG5leHBvcnQgeyBQT0lOVEVSX1ZFUlNJT04gfSBmcm9tIFwiLi9zcmMvcGVyc2lzdGVuY2UudHNcIjtcbmV4cG9ydCB0eXBlIHsgRHVyYXRpb25JbnB1dCwgUmVzb2x2ZWRUb3BpY0J1c1BlcnNpc3RlbmNlT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9wZXJzaXN0ZW5jZS50c1wiO1xuZXhwb3J0IHsgUG9zdGdyZXNUb3BpY0J1cyB9IGZyb20gXCIuL3NyYy90b3BpYy1idXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgVG9waWNNZXRhZGF0YSwgVG9waWNNZXNzYWdlLCBUb3BpY1B1Ymxpc2hJbnB1dCwgVG9waWNMaXN0ZW5lciwgVG9waWNNZXRhZGF0YVByb3ZpZGVyLCBQb3N0Z3Jlc1RvcGljQnVzT3B0aW9ucyB9IGZyb20gXCIuL3NyYy90b3BpYy1idXMudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydHMudHNcIjtcbiJdfQ==
|
package/lib/src/advisory-lock.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
11
11
|
import { object } from "@dbx-tools/shared-core";
|
|
12
12
|
const SIGNED_BIGINT_BITS = 64;
|
|
13
13
|
/**
|
|
@@ -24,7 +24,13 @@ export function advisoryLockId(key) {
|
|
|
24
24
|
if (typeof key === "bigint")
|
|
25
25
|
return BigInt.asIntN(SIGNED_BIGINT_BITS, key);
|
|
26
26
|
const parts = object.toOneOrMany(key);
|
|
27
|
-
|
|
27
|
+
const digest = createHash("sha256");
|
|
28
|
+
parts.forEach((part, index) => {
|
|
29
|
+
if (index > 0)
|
|
30
|
+
digest.update(Buffer.from([0]));
|
|
31
|
+
digest.update(object.toStableKey(part), "utf8");
|
|
32
|
+
});
|
|
33
|
+
return digest.digest().readBigInt64BE(0);
|
|
28
34
|
}
|
|
29
35
|
async function acquire(client, id, transaction) {
|
|
30
36
|
const fn = transaction ? "pg_advisory_xact_lock" : "pg_advisory_lock";
|
|
@@ -105,4 +111,4 @@ export async function withAdvisoryTransactionLock(pool, key, fn) {
|
|
|
105
111
|
client.release(releaseError);
|
|
106
112
|
}
|
|
107
113
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2aXNvcnktbG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZHZpc29yeS1sb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFFLGNBQWMsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRCxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQTBCOUI7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFvQjtJQUNqRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7UUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0UsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxLQUFLLFVBQVUsT0FBTyxDQUFDLE1BQW1CLEVBQUUsRUFBVSxFQUFFLFdBQW9CO0lBQzFFLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0lBQ3RFLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsS0FBSyxVQUFVLE1BQU0sQ0FBQyxNQUFtQixFQUFFLEVBQVU7SUFDbkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUMv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QUN0RixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO1lBQVMsQ0FBQztRQUNULE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkdmlzb3J5LWxvY2sgaGVscGVycyBmb3IgYW55IGBwZy5Qb29sYC1jb21wYXRpYmxlIHBvb2wuXG4gKlxuICogUG9zdGdyZVNRTCBhZHZpc29yeSBsb2NrcyBiZWxvbmcgdG8gYSBjb25uZWN0aW9uLCBub3QgYSBwb29sLiBUaGVzZSBoZWxwZXJzXG4gKiByZXNlcnZlIG9uZSBwb29sZWQgY2xpZW50IGZvciB0aGUgZnVsbCBjYWxsYmFjaywgYWNxdWlyZSB0aGUgbG9jayBvbiB0aGF0XG4gKiBjbGllbnQsIGFuZCByZWxlYXNlIGJvdGggaW4gdGhlIGNvcnJlY3Qgb3JkZXIuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IGFkdmlzb3J5TG9ja0lkIGFzIG5hdGl2ZUFkdmlzb3J5TG9ja0lkIH0gZnJvbSBcIkBkYngtdG9vbHMvY29yZS1yc1wiO1xuaW1wb3J0IHsgb2JqZWN0IH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWNvcmVcIjtcbmltcG9ydCB0eXBlIHsgUG9vbCwgUG9vbENsaWVudCwgUXVlcnlSZXN1bHQsIFF1ZXJ5UmVzdWx0Um93IH0gZnJvbSBcInBnXCI7XG5cbmNvbnN0IFNJR05FRF9CSUdJTlRfQklUUyA9IDY0O1xuXG4vKipcbiAqIFdoYXQgbmFtZXMgYSBsb2NrLiBBbnl0aGluZyByZWR1Y2libGUgdG8gYSBzdGFibGUgaWRlbnRpdHk6IGEgc3RyaW5nLCBhbiBpZCwgYVxuICogYFtcImludm9pY2VcIiwgaWRdYCBwYWlyLCBhIGNvbmZpZyBvYmplY3QsIG9yIGFuIGV4cGxpY2l0IGBiaWdpbnRgIHRvIGludGVyb3BlcmF0ZVxuICogd2l0aCBhbm90aGVyIGltcGxlbWVudGF0aW9uJ3MgcHVibGlzaGVkIGxvY2sgaWQuXG4gKlxuICogT25lIHZhbHVlIG9yIG1hbnk6IGFuIGFycmF5IGlzIHJlYWQgYXMgbXVsdGlwbGUgcGFydHMsIGFueXRoaW5nIGVsc2UgYXMgYSBzaW5nbGVcbiAqIHBhcnQuIFNvIGBbXCJpbnZvaWNlXCIsIDddYCBhbmQgYFwiaW52b2ljZV83XCJgIGFyZSBkaWZmZXJlbnQgbG9ja3MsIHNpbmNlIHRoZVxuICogY2Fub25pY2FsIGZvcm0gc2VlcyBkaWZmZXJlbnQgc3RydWN0dXJlLlxuICovXG5leHBvcnQgdHlwZSBBZHZpc29yeUxvY2tLZXkgPSB1bmtub3duO1xuXG4vKiogU3RydWN0dXJhbCBwb29sIHNoYXBlIGFjY2VwdGVkIGJ5IHRoZSBsb2NrIGhlbHBlcnMuICovXG5leHBvcnQgdHlwZSBQZ1Bvb2xMaWtlID0gUGljazxQb29sLCBcImNvbm5lY3RcIj47XG5cbi8qKiBTdHJ1Y3R1cmFsIHF1ZXJ5IHNoYXBlIHNoYXJlZCBieSBgcGcuUG9vbENsaWVudGAgYW5kIEFwcEtpdCBMYWtlYmFzZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGdRdWVyeWFibGUge1xuICBxdWVyeTxUIGV4dGVuZHMgUXVlcnlSZXN1bHRSb3cgPSBRdWVyeVJlc3VsdFJvdz4oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHZhbHVlcz86IHVua25vd25bXSxcbiAgKTogUHJvbWlzZTxRdWVyeVJlc3VsdDxUPj47XG59XG5cbnR5cGUgVW5sb2NrUm93ID0gUXVlcnlSZXN1bHRSb3cgJiB7IHVubG9ja2VkOiBib29sZWFuIH07XG5cbi8qKlxuICogQ29udmVydCBhbiBhcmJpdHJhcnkgc3RydWN0dXJlZCBrZXkgaW50byBQb3N0Z3JlU1FMJ3Mgc2lnbmVkIDY0LWJpdCBhZHZpc29yeVxuICogbG9jayBuYW1lc3BhY2UuIEEgYmlnaW50IGlzIHByZXNlcnZlZCBkaXJlY3RseSBzbyBjYWxsZXJzIGNhbiBpbnRlcm9wZXJhdGVcbiAqIHdpdGggYW5vdGhlciBpbXBsZW1lbnRhdGlvbiB0aGF0IHB1Ymxpc2hlcyBpdHMgbG9jayBJRC5cbiAqXG4gKiBFdmVyeXRoaW5nIGVsc2UgaXMgY2Fub25pY2FsaXplZCB3aXRoIGBvYmplY3QudG9TdGFibGVLZXlgIGFuZCBoYXNoZWQsIHNvIGtleVxuICogb3JkZXIgaW4gYW4gb2JqZWN0IGRvZXMgbm90IG1hdHRlciB3aGlsZSBhIGAxYCBhbmQgYSBgXCIxXCJgIHN0YXkgZGlmZmVyZW50IGxvY2tzLlxuICogQSBjeWNsZSwgYSBub24tZmluaXRlIG51bWJlciwgb3IgYSBmdW5jdGlvbi9zeW1ib2wga2V5IHRocm93cyBgVHlwZUVycm9yYFxuICogcmF0aGVyIHRoYW4geWllbGRpbmcgYW4gaWRlbnRpdHkgdHdvIGNhbGxlcnMgY291bGQgZGlzYWdyZWUgYWJvdXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZHZpc29yeUxvY2tJZChrZXk6IEFkdmlzb3J5TG9ja0tleSk6IGJpZ2ludCB7XG4gIGlmICh0eXBlb2Yga2V5ID09PSBcImJpZ2ludFwiKSByZXR1cm4gQmlnSW50LmFzSW50TihTSUdORURfQklHSU5UX0JJVFMsIGtleSk7XG4gIGNvbnN0IHBhcnRzID0gb2JqZWN0LnRvT25lT3JNYW55KGtleSk7XG4gIHJldHVybiBuYXRpdmVBZHZpc29yeUxvY2tJZChwYXJ0cy5tYXAoKHBhcnQpID0+IG9iamVjdC50b1N0YWJsZUtleShwYXJ0KSkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBhY3F1aXJlKGNsaWVudDogUGdRdWVyeWFibGUsIGlkOiBiaWdpbnQsIHRyYW5zYWN0aW9uOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGZuID0gdHJhbnNhY3Rpb24gPyBcInBnX2Fkdmlzb3J5X3hhY3RfbG9ja1wiIDogXCJwZ19hZHZpc29yeV9sb2NrXCI7XG4gIGF3YWl0IGNsaWVudC5xdWVyeShgU0VMRUNUICR7Zm59KCQxOjpiaWdpbnQpYCwgW2lkLnRvU3RyaW5nKCldKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdW5sb2NrKGNsaWVudDogUGdRdWVyeWFibGUsIGlkOiBiaWdpbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2xpZW50LnF1ZXJ5PFVubG9ja1Jvdz4oXG4gICAgXCJTRUxFQ1QgcGdfYWR2aXNvcnlfdW5sb2NrKCQxOjpiaWdpbnQpIEFTIHVubG9ja2VkXCIsXG4gICAgW2lkLnRvU3RyaW5nKCldLFxuICApO1xuICBpZiAocmVzdWx0LnJvd3NbMF0/LnVubG9ja2VkICE9PSB0cnVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQb3N0Z3JlcyBhZHZpc29yeSBsb2NrICR7aWR9IHdhcyBub3QgaGVsZCBieSB0aGlzIGNvbm5lY3Rpb25gKTtcbiAgfVxufVxuXG4vKipcbiAqIEhvbGQgYSBzZXNzaW9uIGFkdmlzb3J5IGxvY2sgZm9yIHRoZSBkdXJhdGlvbiBvZiBgZm5gLlxuICpcbiAqIFRoZSBjYWxsYmFjayByZWNlaXZlcyB0aGUgZGVkaWNhdGVkIGBQb29sQ2xpZW50YCB0aGF0IG93bnMgdGhlIGxvY2suIFVzZSBpdFxuICogZm9yIGFueSBvcGVyYXRpb24gdGhhdCBtdXN0IGJlIHByb3RlY3RlZCBieSB0aGUgbG9jay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhBZHZpc29yeUxvY2s8VD4oXG4gIHBvb2w6IFBnUG9vbExpa2UsXG4gIGtleTogQWR2aXNvcnlMb2NrS2V5LFxuICBmbjogKGNsaWVudDogUG9vbENsaWVudCkgPT4gUHJvbWlzZTxUPiB8IFQsXG4pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgaWQgPSBhZHZpc29yeUxvY2tJZChrZXkpO1xuICBjb25zdCBjbGllbnQgPSBhd2FpdCBwb29sLmNvbm5lY3QoKTtcbiAgbGV0IGFjcXVpcmVkID0gZmFsc2U7XG4gIGxldCBmYWlsZWQgPSBmYWxzZTtcbiAgbGV0IGZhaWx1cmU6IHVua25vd247XG4gIGxldCB2YWx1ZTogVCB8IHVuZGVmaW5lZDtcblxuICB0cnkge1xuICAgIGF3YWl0IGFjcXVpcmUoY2xpZW50LCBpZCwgZmFsc2UpO1xuICAgIGFjcXVpcmVkID0gdHJ1ZTtcbiAgICB2YWx1ZSA9IGF3YWl0IGZuKGNsaWVudCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgZmFpbGVkID0gdHJ1ZTtcbiAgICBmYWlsdXJlID0gZXJyb3I7XG4gIH1cblxuICBsZXQgdW5sb2NrRmFpbHVyZTogdW5rbm93bjtcbiAgaWYgKGFjcXVpcmVkKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHVubG9jayhjbGllbnQsIGlkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdW5sb2NrRmFpbHVyZSA9IGVycm9yO1xuICAgIH1cbiAgfVxuICBjbGllbnQucmVsZWFzZSh1bmxvY2tGYWlsdXJlIGluc3RhbmNlb2YgRXJyb3IgPyB1bmxvY2tGYWlsdXJlIDogdW5kZWZpbmVkKTtcblxuICBpZiAoZmFpbGVkKSB0aHJvdyBmYWlsdXJlO1xuICBpZiAodW5sb2NrRmFpbHVyZSAhPT0gdW5kZWZpbmVkKSB0aHJvdyB1bmxvY2tGYWlsdXJlO1xuICByZXR1cm4gdmFsdWUgYXMgVDtcbn1cblxuLyoqXG4gKiBSdW4gYGZuYCBpbiBhIHRyYW5zYWN0aW9uIHdoaWxlIGhvbGRpbmcgYSB0cmFuc2FjdGlvbiBhZHZpc29yeSBsb2NrLlxuICpcbiAqIFRoZSBsb2NrIGlzIHJlbGVhc2VkIGF0b21pY2FsbHkgYnkgYENPTU1JVGAgb3IgYFJPTExCQUNLYCwgbWFraW5nIHRoaXMgdGhlXG4gKiByaWdodCBwcmltaXRpdmUgZm9yIG9uZS10aW1lIHNjaGVtYSBpbnN0YWxsYXRpb24gYW5kIG1pZ3JhdGlvbnMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoQWR2aXNvcnlUcmFuc2FjdGlvbkxvY2s8VD4oXG4gIHBvb2w6IFBnUG9vbExpa2UsXG4gIGtleTogQWR2aXNvcnlMb2NrS2V5LFxuICBmbjogKGNsaWVudDogUG9vbENsaWVudCkgPT4gUHJvbWlzZTxUPiB8IFQsXG4pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgaWQgPSBhZHZpc29yeUxvY2tJZChrZXkpO1xuICBjb25zdCBjbGllbnQgPSBhd2FpdCBwb29sLmNvbm5lY3QoKTtcbiAgbGV0IHJlbGVhc2VFcnJvcjogRXJyb3IgfCB1bmRlZmluZWQ7XG4gIHRyeSB7XG4gICAgYXdhaXQgY2xpZW50LnF1ZXJ5KFwiQkVHSU5cIik7XG4gICAgYXdhaXQgYWNxdWlyZShjbGllbnQsIGlkLCB0cnVlKTtcbiAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IGZuKGNsaWVudCk7XG4gICAgYXdhaXQgY2xpZW50LnF1ZXJ5KFwiQ09NTUlUXCIpO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY2xpZW50LnF1ZXJ5KFwiUk9MTEJBQ0tcIik7XG4gICAgfSBjYXRjaCAocm9sbGJhY2tFcnJvcikge1xuICAgICAgcmVsZWFzZUVycm9yID1cbiAgICAgICAgcm9sbGJhY2tFcnJvciBpbnN0YW5jZW9mIEVycm9yID8gcm9sbGJhY2tFcnJvciA6IG5ldyBFcnJvcihTdHJpbmcocm9sbGJhY2tFcnJvcikpO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfSBmaW5hbGx5IHtcbiAgICBjbGllbnQucmVsZWFzZShyZWxlYXNlRXJyb3IpO1xuICB9XG59XG4iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2aXNvcnktbG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZHZpc29yeS1sb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHaEQsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUEwQjlCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBb0I7SUFDakQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDNUIsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELEtBQUssVUFBVSxPQUFPLENBQUMsTUFBbUIsRUFBRSxFQUFVLEVBQUUsV0FBb0I7SUFDMUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7SUFDdEUsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxLQUFLLFVBQVUsTUFBTSxDQUFDLE1BQW1CLEVBQUUsRUFBVTtJQUNuRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQy9CLG1EQUFtRCxFQUNuRCxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUNoQixDQUFDO0lBQ0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixFQUFFLGtDQUFrQyxDQUFDLENBQUM7SUFDbEYsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLElBQWdCLEVBQ2hCLEdBQW9CLEVBQ3BCLEVBQTBDO0lBRTFDLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ25CLElBQUksT0FBZ0IsQ0FBQztJQUNyQixJQUFJLEtBQW9CLENBQUM7SUFFekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLGFBQXNCLENBQUM7SUFDM0IsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFM0UsSUFBSSxNQUFNO1FBQUUsTUFBTSxPQUFPLENBQUM7SUFDMUIsSUFBSSxhQUFhLEtBQUssU0FBUztRQUFFLE1BQU0sYUFBYSxDQUFDO0lBQ3JELE9BQU8sS0FBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsMkJBQTJCLENBQy9DLElBQWdCLEVBQ2hCLEdBQW9CLEVBQ3BCLEVBQTBDO0lBRTFDLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxJQUFJLFlBQStCLENBQUM7SUFDcEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUFDLE9BQU8sYUFBYSxFQUFFLENBQUM7WUFDdkIsWUFBWTtnQkFDVixhQUFhLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWR2aXNvcnktbG9jayBoZWxwZXJzIGZvciBhbnkgYHBnLlBvb2xgLWNvbXBhdGlibGUgcG9vbC5cbiAqXG4gKiBQb3N0Z3JlU1FMIGFkdmlzb3J5IGxvY2tzIGJlbG9uZyB0byBhIGNvbm5lY3Rpb24sIG5vdCBhIHBvb2wuIFRoZXNlIGhlbHBlcnNcbiAqIHJlc2VydmUgb25lIHBvb2xlZCBjbGllbnQgZm9yIHRoZSBmdWxsIGNhbGxiYWNrLCBhY3F1aXJlIHRoZSBsb2NrIG9uIHRoYXRcbiAqIGNsaWVudCwgYW5kIHJlbGVhc2UgYm90aCBpbiB0aGUgY29ycmVjdCBvcmRlci5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuaW1wb3J0IHsgb2JqZWN0IH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWNvcmVcIjtcbmltcG9ydCB0eXBlIHsgUG9vbCwgUG9vbENsaWVudCwgUXVlcnlSZXN1bHQsIFF1ZXJ5UmVzdWx0Um93IH0gZnJvbSBcInBnXCI7XG5cbmNvbnN0IFNJR05FRF9CSUdJTlRfQklUUyA9IDY0O1xuXG4vKipcbiAqIFdoYXQgbmFtZXMgYSBsb2NrLiBBbnl0aGluZyByZWR1Y2libGUgdG8gYSBzdGFibGUgaWRlbnRpdHk6IGEgc3RyaW5nLCBhbiBpZCwgYVxuICogYFtcImludm9pY2VcIiwgaWRdYCBwYWlyLCBhIGNvbmZpZyBvYmplY3QsIG9yIGFuIGV4cGxpY2l0IGBiaWdpbnRgIHRvIGludGVyb3BlcmF0ZVxuICogd2l0aCBhbm90aGVyIGltcGxlbWVudGF0aW9uJ3MgcHVibGlzaGVkIGxvY2sgaWQuXG4gKlxuICogT25lIHZhbHVlIG9yIG1hbnk6IGFuIGFycmF5IGlzIHJlYWQgYXMgbXVsdGlwbGUgcGFydHMsIGFueXRoaW5nIGVsc2UgYXMgYSBzaW5nbGVcbiAqIHBhcnQuIFNvIGBbXCJpbnZvaWNlXCIsIDddYCBhbmQgYFwiaW52b2ljZV83XCJgIGFyZSBkaWZmZXJlbnQgbG9ja3MsIHNpbmNlIHRoZVxuICogY2Fub25pY2FsIGZvcm0gc2VlcyBkaWZmZXJlbnQgc3RydWN0dXJlLlxuICovXG5leHBvcnQgdHlwZSBBZHZpc29yeUxvY2tLZXkgPSB1bmtub3duO1xuXG4vKiogU3RydWN0dXJhbCBwb29sIHNoYXBlIGFjY2VwdGVkIGJ5IHRoZSBsb2NrIGhlbHBlcnMuICovXG5leHBvcnQgdHlwZSBQZ1Bvb2xMaWtlID0gUGljazxQb29sLCBcImNvbm5lY3RcIj47XG5cbi8qKiBTdHJ1Y3R1cmFsIHF1ZXJ5IHNoYXBlIHNoYXJlZCBieSBgcGcuUG9vbENsaWVudGAgYW5kIEFwcEtpdCBMYWtlYmFzZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGdRdWVyeWFibGUge1xuICBxdWVyeTxUIGV4dGVuZHMgUXVlcnlSZXN1bHRSb3cgPSBRdWVyeVJlc3VsdFJvdz4oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHZhbHVlcz86IHVua25vd25bXSxcbiAgKTogUHJvbWlzZTxRdWVyeVJlc3VsdDxUPj47XG59XG5cbnR5cGUgVW5sb2NrUm93ID0gUXVlcnlSZXN1bHRSb3cgJiB7IHVubG9ja2VkOiBib29sZWFuIH07XG5cbi8qKlxuICogQ29udmVydCBhbiBhcmJpdHJhcnkgc3RydWN0dXJlZCBrZXkgaW50byBQb3N0Z3JlU1FMJ3Mgc2lnbmVkIDY0LWJpdCBhZHZpc29yeVxuICogbG9jayBuYW1lc3BhY2UuIEEgYmlnaW50IGlzIHByZXNlcnZlZCBkaXJlY3RseSBzbyBjYWxsZXJzIGNhbiBpbnRlcm9wZXJhdGVcbiAqIHdpdGggYW5vdGhlciBpbXBsZW1lbnRhdGlvbiB0aGF0IHB1Ymxpc2hlcyBpdHMgbG9jayBJRC5cbiAqXG4gKiBFdmVyeXRoaW5nIGVsc2UgaXMgY2Fub25pY2FsaXplZCB3aXRoIGBvYmplY3QudG9TdGFibGVLZXlgIGFuZCBoYXNoZWQsIHNvIGtleVxuICogb3JkZXIgaW4gYW4gb2JqZWN0IGRvZXMgbm90IG1hdHRlciB3aGlsZSBhIGAxYCBhbmQgYSBgXCIxXCJgIHN0YXkgZGlmZmVyZW50IGxvY2tzLlxuICogQSBjeWNsZSwgYSBub24tZmluaXRlIG51bWJlciwgb3IgYSBmdW5jdGlvbi9zeW1ib2wga2V5IHRocm93cyBgVHlwZUVycm9yYFxuICogcmF0aGVyIHRoYW4geWllbGRpbmcgYW4gaWRlbnRpdHkgdHdvIGNhbGxlcnMgY291bGQgZGlzYWdyZWUgYWJvdXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZHZpc29yeUxvY2tJZChrZXk6IEFkdmlzb3J5TG9ja0tleSk6IGJpZ2ludCB7XG4gIGlmICh0eXBlb2Yga2V5ID09PSBcImJpZ2ludFwiKSByZXR1cm4gQmlnSW50LmFzSW50TihTSUdORURfQklHSU5UX0JJVFMsIGtleSk7XG4gIGNvbnN0IHBhcnRzID0gb2JqZWN0LnRvT25lT3JNYW55KGtleSk7XG4gIGNvbnN0IGRpZ2VzdCA9IGNyZWF0ZUhhc2goXCJzaGEyNTZcIik7XG4gIHBhcnRzLmZvckVhY2goKHBhcnQsIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID4gMCkgZGlnZXN0LnVwZGF0ZShCdWZmZXIuZnJvbShbMF0pKTtcbiAgICBkaWdlc3QudXBkYXRlKG9iamVjdC50b1N0YWJsZUtleShwYXJ0KSwgXCJ1dGY4XCIpO1xuICB9KTtcbiAgcmV0dXJuIGRpZ2VzdC5kaWdlc3QoKS5yZWFkQmlnSW50NjRCRSgwKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYWNxdWlyZShjbGllbnQ6IFBnUXVlcnlhYmxlLCBpZDogYmlnaW50LCB0cmFuc2FjdGlvbjogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmbiA9IHRyYW5zYWN0aW9uID8gXCJwZ19hZHZpc29yeV94YWN0X2xvY2tcIiA6IFwicGdfYWR2aXNvcnlfbG9ja1wiO1xuICBhd2FpdCBjbGllbnQucXVlcnkoYFNFTEVDVCAke2ZufSgkMTo6YmlnaW50KWAsIFtpZC50b1N0cmluZygpXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVubG9jayhjbGllbnQ6IFBnUXVlcnlhYmxlLCBpZDogYmlnaW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNsaWVudC5xdWVyeTxVbmxvY2tSb3c+KFxuICAgIFwiU0VMRUNUIHBnX2Fkdmlzb3J5X3VubG9jaygkMTo6YmlnaW50KSBBUyB1bmxvY2tlZFwiLFxuICAgIFtpZC50b1N0cmluZygpXSxcbiAgKTtcbiAgaWYgKHJlc3VsdC5yb3dzWzBdPy51bmxvY2tlZCAhPT0gdHJ1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUG9zdGdyZXMgYWR2aXNvcnkgbG9jayAke2lkfSB3YXMgbm90IGhlbGQgYnkgdGhpcyBjb25uZWN0aW9uYCk7XG4gIH1cbn1cblxuLyoqXG4gKiBIb2xkIGEgc2Vzc2lvbiBhZHZpc29yeSBsb2NrIGZvciB0aGUgZHVyYXRpb24gb2YgYGZuYC5cbiAqXG4gKiBUaGUgY2FsbGJhY2sgcmVjZWl2ZXMgdGhlIGRlZGljYXRlZCBgUG9vbENsaWVudGAgdGhhdCBvd25zIHRoZSBsb2NrLiBVc2UgaXRcbiAqIGZvciBhbnkgb3BlcmF0aW9uIHRoYXQgbXVzdCBiZSBwcm90ZWN0ZWQgYnkgdGhlIGxvY2suXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoQWR2aXNvcnlMb2NrPFQ+KFxuICBwb29sOiBQZ1Bvb2xMaWtlLFxuICBrZXk6IEFkdmlzb3J5TG9ja0tleSxcbiAgZm46IChjbGllbnQ6IFBvb2xDbGllbnQpID0+IFByb21pc2U8VD4gfCBULFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGlkID0gYWR2aXNvcnlMb2NrSWQoa2V5KTtcbiAgY29uc3QgY2xpZW50ID0gYXdhaXQgcG9vbC5jb25uZWN0KCk7XG4gIGxldCBhY3F1aXJlZCA9IGZhbHNlO1xuICBsZXQgZmFpbGVkID0gZmFsc2U7XG4gIGxldCBmYWlsdXJlOiB1bmtub3duO1xuICBsZXQgdmFsdWU6IFQgfCB1bmRlZmluZWQ7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBhY3F1aXJlKGNsaWVudCwgaWQsIGZhbHNlKTtcbiAgICBhY3F1aXJlZCA9IHRydWU7XG4gICAgdmFsdWUgPSBhd2FpdCBmbihjbGllbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGZhaWxlZCA9IHRydWU7XG4gICAgZmFpbHVyZSA9IGVycm9yO1xuICB9XG5cbiAgbGV0IHVubG9ja0ZhaWx1cmU6IHVua25vd247XG4gIGlmIChhY3F1aXJlZCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB1bmxvY2soY2xpZW50LCBpZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHVubG9ja0ZhaWx1cmUgPSBlcnJvcjtcbiAgICB9XG4gIH1cbiAgY2xpZW50LnJlbGVhc2UodW5sb2NrRmFpbHVyZSBpbnN0YW5jZW9mIEVycm9yID8gdW5sb2NrRmFpbHVyZSA6IHVuZGVmaW5lZCk7XG5cbiAgaWYgKGZhaWxlZCkgdGhyb3cgZmFpbHVyZTtcbiAgaWYgKHVubG9ja0ZhaWx1cmUgIT09IHVuZGVmaW5lZCkgdGhyb3cgdW5sb2NrRmFpbHVyZTtcbiAgcmV0dXJuIHZhbHVlIGFzIFQ7XG59XG5cbi8qKlxuICogUnVuIGBmbmAgaW4gYSB0cmFuc2FjdGlvbiB3aGlsZSBob2xkaW5nIGEgdHJhbnNhY3Rpb24gYWR2aXNvcnkgbG9jay5cbiAqXG4gKiBUaGUgbG9jayBpcyByZWxlYXNlZCBhdG9taWNhbGx5IGJ5IGBDT01NSVRgIG9yIGBST0xMQkFDS2AsIG1ha2luZyB0aGlzIHRoZVxuICogcmlnaHQgcHJpbWl0aXZlIGZvciBvbmUtdGltZSBzY2hlbWEgaW5zdGFsbGF0aW9uIGFuZCBtaWdyYXRpb25zLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2l0aEFkdmlzb3J5VHJhbnNhY3Rpb25Mb2NrPFQ+KFxuICBwb29sOiBQZ1Bvb2xMaWtlLFxuICBrZXk6IEFkdmlzb3J5TG9ja0tleSxcbiAgZm46IChjbGllbnQ6IFBvb2xDbGllbnQpID0+IFByb21pc2U8VD4gfCBULFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGlkID0gYWR2aXNvcnlMb2NrSWQoa2V5KTtcbiAgY29uc3QgY2xpZW50ID0gYXdhaXQgcG9vbC5jb25uZWN0KCk7XG4gIGxldCByZWxlYXNlRXJyb3I6IEVycm9yIHwgdW5kZWZpbmVkO1xuICB0cnkge1xuICAgIGF3YWl0IGNsaWVudC5xdWVyeShcIkJFR0lOXCIpO1xuICAgIGF3YWl0IGFjcXVpcmUoY2xpZW50LCBpZCwgdHJ1ZSk7XG4gICAgY29uc3QgdmFsdWUgPSBhd2FpdCBmbihjbGllbnQpO1xuICAgIGF3YWl0IGNsaWVudC5xdWVyeShcIkNPTU1JVFwiKTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNsaWVudC5xdWVyeShcIlJPTExCQUNLXCIpO1xuICAgIH0gY2F0Y2ggKHJvbGxiYWNrRXJyb3IpIHtcbiAgICAgIHJlbGVhc2VFcnJvciA9XG4gICAgICAgIHJvbGxiYWNrRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IHJvbGxiYWNrRXJyb3IgOiBuZXcgRXJyb3IoU3RyaW5nKHJvbGxiYWNrRXJyb3IpKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH0gZmluYWxseSB7XG4gICAgY2xpZW50LnJlbGVhc2UocmVsZWFzZUVycm9yKTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@databricks/appkit": "0.81.0",
|
|
23
|
-
"@dbx-tools/test-polyglot": "^0.9.
|
|
23
|
+
"@dbx-tools/test-polyglot": "^0.9.29",
|
|
24
24
|
"@types/bun": "1.3.14",
|
|
25
25
|
"@types/node": "^24.6.0",
|
|
26
26
|
"@types/pg": "^8",
|
|
@@ -30,8 +30,7 @@
|
|
|
30
30
|
"@databricks/appkit": "0.81.0"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@dbx-tools/core
|
|
34
|
-
"@dbx-tools/shared-core": "^0.9.21",
|
|
33
|
+
"@dbx-tools/shared-core": "^0.9.29",
|
|
35
34
|
"pg": "^8.22.0"
|
|
36
35
|
},
|
|
37
36
|
"main": "./lib/index.js",
|
|
@@ -48,7 +47,7 @@
|
|
|
48
47
|
"./package.json": "./package.json"
|
|
49
48
|
}
|
|
50
49
|
},
|
|
51
|
-
"version": "0.9.
|
|
50
|
+
"version": "0.9.29",
|
|
52
51
|
"types": "./lib/index.d.ts",
|
|
53
52
|
"type": "module",
|
|
54
53
|
"exports": {
|
package/src/advisory-lock.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import { createHash } from "node:crypto";
|
|
12
12
|
import { object } from "@dbx-tools/shared-core";
|
|
13
13
|
import type { Pool, PoolClient, QueryResult, QueryResultRow } from "pg";
|
|
14
14
|
|
|
@@ -51,7 +51,12 @@ type UnlockRow = QueryResultRow & { unlocked: boolean };
|
|
|
51
51
|
export function advisoryLockId(key: AdvisoryLockKey): bigint {
|
|
52
52
|
if (typeof key === "bigint") return BigInt.asIntN(SIGNED_BIGINT_BITS, key);
|
|
53
53
|
const parts = object.toOneOrMany(key);
|
|
54
|
-
|
|
54
|
+
const digest = createHash("sha256");
|
|
55
|
+
parts.forEach((part, index) => {
|
|
56
|
+
if (index > 0) digest.update(Buffer.from([0]));
|
|
57
|
+
digest.update(object.toStableKey(part), "utf8");
|
|
58
|
+
});
|
|
59
|
+
return digest.digest().readBigInt64BE(0);
|
|
55
60
|
}
|
|
56
61
|
|
|
57
62
|
async function acquire(client: PgQueryable, id: bigint, transaction: boolean): Promise<void> {
|
package/._LICENSE
DELETED
|
Binary file
|
package/._README.md
DELETED
|
Binary file
|
package/._index.ts
DELETED
|
Binary file
|
package/._package.json
DELETED
|
Binary file
|
package/lib/._exports.d.ts
DELETED
|
Binary file
|
package/lib/._exports.js
DELETED
|
Binary file
|
package/lib/._index.d.ts
DELETED
|
Binary file
|
package/lib/._index.js
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/src/._persistence.js
DELETED
|
Binary file
|
package/lib/src/._topic-bus.d.ts
DELETED
|
Binary file
|
package/lib/src/._topic-bus.js
DELETED
|
Binary file
|
package/src/._advisory-lock.ts
DELETED
|
Binary file
|
package/src/._persistence.ts
DELETED
|
Binary file
|
package/src/._topic-bus.ts
DELETED
|
Binary file
|