@cubist-labs/cubesigner-sdk-browser-storage 0.4.262 → 0.4.265

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/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
2
  if (kind === "m") throw new TypeError("Private method is not writable");
4
3
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
@@ -11,14 +10,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
11
  };
13
12
  var _BrowserStorageManager_instances, _BrowserStorageManager_key, _BrowserStorageManager_storage, _BrowserStorageManager_lock, _BrowserStorageManager_emitIfNecessary, _BrowserStorageManager_loadSession;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.BrowserStorageManager = void 0;
16
- const cubesigner_sdk_1 = require("@cubist-labs/cubesigner-sdk");
17
- const locks_1 = require("./locks");
13
+ import { EventEmitter, NoSessionFoundError, isStale, isRefreshable, metadata, refresh, ErrResponse, } from "@cubist-labs/cubesigner-sdk";
14
+ import { readTestAndSet } from "./locks.js";
18
15
  /**
19
16
  * A manager that persists into browser storage and uses weblocks to safely perform refreshes
20
17
  */
21
- class BrowserStorageManager extends cubesigner_sdk_1.EventEmitter {
18
+ export class BrowserStorageManager extends EventEmitter {
22
19
  /**
23
20
  *
24
21
  * @param key The storage key to use
@@ -50,9 +47,9 @@ class BrowserStorageManager extends cubesigner_sdk_1.EventEmitter {
50
47
  async metadata() {
51
48
  const sess = __classPrivateFieldGet(this, _BrowserStorageManager_instances, "m", _BrowserStorageManager_loadSession).call(this);
52
49
  if (!sess) {
53
- throw new cubesigner_sdk_1.NoSessionFoundError();
50
+ throw new NoSessionFoundError();
54
51
  }
55
- return (0, cubesigner_sdk_1.metadata)(sess);
52
+ return metadata(sess);
56
53
  }
57
54
  /**
58
55
  * Loads the current access token from storage
@@ -60,18 +57,18 @@ class BrowserStorageManager extends cubesigner_sdk_1.EventEmitter {
60
57
  * @returns The access token
61
58
  */
62
59
  async token() {
63
- const sess = await (0, locks_1.readTestAndSet)(__classPrivateFieldGet(this, _BrowserStorageManager_lock, "f"), {
60
+ const sess = await readTestAndSet(__classPrivateFieldGet(this, _BrowserStorageManager_lock, "f"), {
64
61
  read: () => __classPrivateFieldGet(this, _BrowserStorageManager_instances, "m", _BrowserStorageManager_loadSession).call(this),
65
- test: (v) => v !== undefined && (0, cubesigner_sdk_1.isStale)(v),
62
+ test: (v) => v !== undefined && isStale(v),
66
63
  set: async (oldSession) => {
67
- if ((0, cubesigner_sdk_1.isRefreshable)(oldSession)) {
64
+ if (isRefreshable(oldSession)) {
68
65
  try {
69
- const newSession = await (0, cubesigner_sdk_1.refresh)(oldSession);
66
+ const newSession = await refresh(oldSession);
70
67
  __classPrivateFieldGet(this, _BrowserStorageManager_storage, "f").setItem(__classPrivateFieldGet(this, _BrowserStorageManager_key, "f"), JSON.stringify(newSession));
71
68
  console.log("Successfully refreshed");
72
69
  }
73
70
  catch (e) {
74
- if (e instanceof cubesigner_sdk_1.ErrResponse && e.status === 403) {
71
+ if (e instanceof ErrResponse && e.status === 403) {
75
72
  __classPrivateFieldGet(this, _BrowserStorageManager_storage, "f").removeItem(__classPrivateFieldGet(this, _BrowserStorageManager_key, "f"));
76
73
  }
77
74
  }
@@ -85,7 +82,7 @@ class BrowserStorageManager extends cubesigner_sdk_1.EventEmitter {
85
82
  },
86
83
  });
87
84
  if (!sess) {
88
- throw new cubesigner_sdk_1.NoSessionFoundError();
85
+ throw new NoSessionFoundError();
89
86
  }
90
87
  return sess.token;
91
88
  }
@@ -114,7 +111,6 @@ class BrowserStorageManager extends cubesigner_sdk_1.EventEmitter {
114
111
  });
115
112
  }
116
113
  }
117
- exports.BrowserStorageManager = BrowserStorageManager;
118
114
  _BrowserStorageManager_key = new WeakMap(), _BrowserStorageManager_storage = new WeakMap(), _BrowserStorageManager_lock = new WeakMap(), _BrowserStorageManager_instances = new WeakSet(), _BrowserStorageManager_emitIfNecessary = function _BrowserStorageManager_emitIfNecessary(oldValue, newValue) {
119
115
  if (newValue === null && oldValue !== null) {
120
116
  this.emit("logout");
@@ -130,4 +126,4 @@ _BrowserStorageManager_key = new WeakMap(), _BrowserStorageManager_storage = new
130
126
  }
131
127
  return JSON.parse(stored);
132
128
  };
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsK0RBUW9DO0FBQ3BDLG1DQUF5QztBQU96Qzs7R0FFRztBQUNILE1BQWEscUJBQ1gsU0FBUSw2QkFBa0M7SUFRMUM7Ozs7T0FJRztJQUNILFlBQVksR0FBVyxFQUFFLFVBQW1CLFVBQVUsQ0FBQyxZQUFZO1FBQ2pFLEtBQUssRUFBRSxDQUFDOztRQVhWLDJDQUEyQztRQUMzQyw2Q0FBYTtRQUNiLGlEQUFrQjtRQUNsQiw4Q0FBYztRQVNaLHVCQUFBLElBQUksOEJBQVEsR0FBRyxNQUFBLENBQUM7UUFDaEIsdUJBQUEsSUFBSSxrQ0FBWSxPQUFPLE1BQUEsQ0FBQztRQUN4Qix1QkFBQSxJQUFJLCtCQUFTLHVCQUF1QixHQUFHLEVBQUUsTUFBQSxDQUFDO1FBQzFDLCtEQUErRDtRQUMvRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDeEMsaUVBQWlFO1lBQ2pFLElBQUksRUFBRSxDQUFDLFdBQVcsS0FBSyxPQUFPLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHO2dCQUFFLE9BQU87WUFDekQsdUJBQUEsSUFBSSxnRkFBaUIsTUFBckIsSUFBSSxFQUFrQixFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFpQ0Q7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxRQUFRO1FBQ1osTUFBTSxJQUFJLEdBQUcsdUJBQUEsSUFBSSw0RUFBYSxNQUFqQixJQUFJLENBQWUsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksb0NBQW1CLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxJQUFBLHlCQUFRLEVBQUMs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QUFDO1FBQzVDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdklELHNEQXVJQztvUkF0R2tCLFFBQXVCLEVBQUUsUUFBdUI7SUFDL0QsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCx1REFBdUQ7U0FDbEQsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDO0lBUUMsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSxzQ0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBQSxJQUFJLGtDQUFLLENBQUMsQ0FBQztJQUNoRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNwQixPQUFPO0lBQ1QsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZXNzaW9uRGF0YSwgU2Vzc2lvbk1hbmFnZXIsIFNlc3Npb25NZXRhZGF0YSB9IGZyb20gXCJAY3ViaXN0LWRldi9jdWJlc2lnbmVyLXNka1wiO1xuaW1wb3J0IHtcbiAgRXZlbnRFbWl0dGVyLFxuICBOb1Nlc3Npb25Gb3VuZEVycm9yLFxuICBpc1N0YWxlLFxuICBpc1JlZnJlc2hhYmxlLFxuICBtZXRhZGF0YSxcbiAgcmVmcmVzaCxcbiAgRXJyUmVzcG9uc2UsXG59IGZyb20gXCJAY3ViaXN0LWRldi9jdWJlc2lnbmVyLXNka1wiO1xuaW1wb3J0IHsgcmVhZFRlc3RBbmRTZXQgfSBmcm9tIFwiLi9sb2Nrc1wiO1xuXG50eXBlIEJyb3dzZXJTdG9yYWdlRXZlbnRzID0ge1xuICBsb2dvdXQoKTogdm9pZDtcbiAgbG9naW4oKTogdm9pZDtcbn07XG5cbi8qKlxuICogQSBtYW5hZ2VyIHRoYXQgcGVyc2lzdHMgaW50byBicm93c2VyIHN0b3JhZ2UgYW5kIHVzZXMgd2VibG9ja3MgdG8gc2FmZWx5IHBlcmZvcm0gcmVmcmVzaGVzXG4gKi9cbmV4cG9ydCBjbGFzcyBCcm93c2VyU3RvcmFnZU1hbmFnZXJcbiAgZXh0ZW5kcyBFdmVudEVtaXR0ZXI8QnJvd3NlclN0b3JhZ2VFdmVudHM+XG4gIGltcGxlbWVudHMgU2Vzc2lvbk1hbmFnZXJcbntcbiAgLyoqIFRoZSBzdG9yYWdlIGtleSBmb3IgdGhlIHNlc3Npb24gZGF0YSAqL1xuICAja2V5OiBzdHJpbmc7XG4gICNzdG9yYWdlOiBTdG9yYWdlO1xuICAjbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSB0byB1c2VcbiAgICogQHBhcmFtIHN0b3JhZ2UgVGhlIHN0b3JhZ2Ugb2JqZWN0IHRvIHVzZSAoZGVmYXVsdHMgdG8gbG9jYWxTdG9yYWdlKVxuICAgKi9cbiAgY29uc3RydWN0b3Ioa2V5OiBzdHJpbmcsIHN0b3JhZ2U6IFN0b3JhZ2UgPSBnbG9iYWxUaGlzLmxvY2FsU3RvcmFnZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy4ja2V5ID0ga2V5O1xuICAgIHRoaXMuI3N0b3JhZ2UgPSBzdG9yYWdlO1xuICAgIHRoaXMuI2xvY2sgPSBgQ1NfU0RLX1NUT1JBR0VfTE9DS18ke2tleX1gO1xuICAgIC8vIFNldCB1cCBsaXN0ZW5lcnMgdG8gZW1pdCBldmVudHMgd2hlbiB1c2VycyBsb2cgaW4gb3IgbG9nIG91dFxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic3RvcmFnZVwiLCAoZXYpID0+IHtcbiAgICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBldmVudHMgb24gb3VyIHN0b3JhZ2Ugb2JqZWN0LCB1c2luZyBvdXIga2V5XG4gICAgICBpZiAoZXYuc3RvcmFnZUFyZWEgIT09IHN0b3JhZ2UgfHwgZXYua2V5ICE9PSBrZXkpIHJldHVybjtcbiAgICAgIHRoaXMuI2VtaXRJZk5lY2Vzc2FyeShldi5vbGRWYWx1ZSwgZXYubmV3VmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYGxvZ2luYCBvciBgbG9nb3V0YCBldmVudCBpZiBuZWNlc3NhcnlcbiAgICpcbiAgICogQHBhcmFtIG9sZFZhbHVlIFRoZSBwcmV2aW91c2x5IHN0b3JlZCB2YWx1ZVxuICAgKiBAcGFyYW0gbmV3VmFsdWUgVGhlIG5ld2x5IHN0b3JlZCB2YWx1ZVxuICAgKi9cbiAgI2VtaXRJZk5lY2Vzc2FyeShvbGRWYWx1ZTogbnVsbCB8IHN0cmluZywgbmV3VmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAobmV3VmFsdWUgPT09IG51bGwgJiYgb2xkVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuZW1pdChcImxvZ291dFwiKTtcbiAgICB9XG5cbiAgICAvLyBUaGVyZSBpcyBub3cgYSBzZXNzaW9uIHdoZW4gdGhlcmUgZGlkbid0IHVzZWQgdG8gYmUuXG4gICAgZWxzZSBpZiAob2xkVmFsdWUgPT09IG51bGwgJiYgbmV3VmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuZW1pdChcImxvZ2luXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhIHNlc3Npb24gZnJvbSB0aGUgY29uZmlndXJlZCBzdG9yYWdlIGF0IHRoZSBjb25maWd1cmVkIGtleVxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgc3RvcmVkIGRhdGEgb3IgdW5kZWZpbmVkIGlmIG5vdCBwcmVzZW50XG4gICAqL1xuICAjbG9hZFNlc3Npb24oKTogU2Vzc2lvbkRhdGEgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHN0b3JlZCA9IHRoaXMuI3N0b3JhZ2UuZ2V0SXRlbSh0aGlzLiNrZXkpO1xuICAgIGlmIChzdG9yZWQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5wYXJzZShzdG9yZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBtZXRhZGF0YSBmb3IgYSBzZXNzaW9uIGZyb20gc3RvcmFnZVxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgc2Vzc2lvbiBtZXRhZGF0YVxuICAgKi9cbiAgYXN5bmMgbWV0YWRhdGEoKTogUHJvbWlzZTxTZXNzaW9uTWV0YWRhdGE+IHtcbiAgICBjb25zdCBzZXNzID0gdGhpcy4jbG9hZFNlc3Npb24oKTtcbiAgICBpZiAoIXNlc3MpIHtcbiAgICAgIHRocm93IG5ldyBOb1Nlc3Npb25Gb3VuZEVycm9yKCk7XG4gICAgfVxuICAgIHJldHVybiBtZXRhZGF0YShzZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgY3VycmVudCBhY2Nlc3MgdG9rZW4gZnJvbSBzdG9yYWdlXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBhY2Nlc3MgdG9rZW5cbiAgICovXG4gIGFzeW5jIHRva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc2VzcyA9IGF3YWl0IHJlYWRUZXN0QW5kU2V0PFNlc3Npb25EYXRhIHwgdW5kZWZpbmVkPih0aGlzLiNsb2NrLCB7XG4gICAgICByZWFkOiAoKSA9PiB0aGlzLiNsb2FkU2Vzc2lvbigpLFxuICAgICAgdGVzdDogKHYpID0+IHYgIT09IHVuZGVmaW5lZCAmJiBpc1N0YWxlKHYpLFxuICAgICAgc2V0OiBhc3luYyAob2xkU2Vzc2lvbjogU2Vzc2lvbkRhdGEpID0+IHtcbiAgICAgICAgaWYgKGlzUmVmcmVzaGFibGUob2xkU2Vzc2lvbikpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbmV3U2Vzc2lvbiA9IGF3YWl0IHJlZnJlc2gob2xkU2Vzc2lvbik7XG4gICAgICAgICAgICB0aGlzLiNzdG9yYWdlLnNldEl0ZW0odGhpcy4ja2V5LCBKU09OLnN0cmluZ2lmeShuZXdTZXNzaW9uKSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3NmdWxseSByZWZyZXNoZWRcIik7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJSZXNwb25zZSAmJiBlLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgIHRoaXMuI3N0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLiNrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJZiB0aGUgc2Vzc2lvbiBpcyBub3QgcmVmcmVzaGFibGUsIHdlIHNob3VsZCByZW1vdmUgaXRcbiAgICAgICAgICB0aGlzLiNzdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy4ja2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5vdGlmeSB0aGF0IHRoZSBzZXNzaW9uIGhhcyBjaGFuZ2VkXG4gICAgICAgIHRoaXMuI2VtaXRJZk5lY2Vzc2FyeShcIlwiLCB0aGlzLiNzdG9yYWdlLmdldEl0ZW0odGhpcy4ja2V5KSk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGlmICghc2Vzcykge1xuICAgICAgdGhyb3cgbmV3IE5vU2Vzc2lvbkZvdW5kRXJyb3IoKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlc3MudG9rZW47XG4gIH1cblxuICAvKipcbiAgICogRGlyZWN0bHkgc2V0IHRoZSBzZXNzaW9uICh1cGRhdGluZyBhbGwgY29uc3VtZXJzIG9mIHRoZSBzZXNzaW9uIHN0b3JhZ2UpXG4gICAqXG4gICAqIEBwYXJhbSBzZXNzaW9uIFRoZSBuZXcgc2Vzc2lvblxuICAgKi9cbiAgYXN5bmMgc2V0U2Vzc2lvbihzZXNzaW9uPzogU2Vzc2lvbkRhdGEpIHtcbiAgICBhd2FpdCBuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChcbiAgICAgIHRoaXMuI2xvY2ssXG4gICAgICB7XG4gICAgICAgIG1vZGU6IFwiZXhjbHVzaXZlXCIsXG4gICAgICB9LFxuICAgICAgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuI3N0b3JhZ2UuZ2V0SXRlbSh0aGlzLiNrZXkpO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHNlc3Npb24gPyBKU09OLnN0cmluZ2lmeShzZXNzaW9uKSA6IG51bGw7XG5cbiAgICAgICAgLy8gVW5saWtlIGR1cmluZyByZWZyZXNoLCB3ZSBkb24ndCBwcmVlbXB0IHRoZSByZWFkIGxvY2tzXG4gICAgICAgIC8vIGJlY2F1c2UgdGhpcyBvcGVyYXRpb24gaXMgc3luY2hyb25vdXNcbiAgICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy4jc3RvcmFnZS5zZXRJdGVtKHRoaXMuI2tleSwgbmV3VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuI3N0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLiNrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RvcmFnZSBldmVudHMgZG9uJ3QgZmlyZSBpZiB0aGUgc3RvcmUgb2NjdXJyZWQgb24gdGhlIHNhbWUgcGFnZSxcbiAgICAgICAgLy8gc28gd2UgaGF2ZSB0byBtYW51YWxseSBpbnZva2Ugb3VyIGVtaXQgbG9naWNcbiAgICAgICAgdGhpcy4jZW1pdElmTmVjZXNzYXJ5KG9sZFZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLGFBQWEsRUFDYixRQUFRLEVBQ1IsT0FBTyxFQUNQLFdBQVcsR0FDWixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFPNUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQ1gsU0FBUSxZQUFrQztJQVExQzs7OztPQUlHO0lBQ0gsWUFBWSxHQUFXLEVBQUUsVUFBbUIsVUFBVSxDQUFDLFlBQVk7UUFDakUsS0FBSyxFQUFFLENBQUM7O1FBWFYsMkNBQTJDO1FBQzNDLDZDQUFhO1FBQ2IsaURBQWtCO1FBQ2xCLDhDQUFjO1FBU1osdUJBQUEsSUFBSSw4QkFBUSxHQUFHLE1BQUEsQ0FBQztRQUNoQix1QkFBQSxJQUFJLGtDQUFZLE9BQU8sTUFBQSxDQUFDO1FBQ3hCLHVCQUFBLElBQUksK0JBQVMsdUJBQXVCLEdBQUcsRUFBRSxNQUFBLENBQUM7UUFDMUMsK0RBQStEO1FBQy9ELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN4QyxpRUFBaUU7WUFDakUsSUFBSSxFQUFFLENBQUMsV0FBVyxLQUFLLE9BQU8sSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUc7Z0JBQUUsT0FBTztZQUN6RCx1QkFBQSxJQUFJLGdGQUFpQixNQUFyQixJQUFJLEVBQWtCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQWlDRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLElBQUksR0FBRyx1QkFBQSxJQUFJLDRFQUFh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QUFDO1lBRUQsb0VBQW9FO1lBQ3BFLCtDQUErQztZQUMvQyx1QkFBQSxJQUFJLGdGQUFpQixNQUFyQixJQUFJLEVBQWtCLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtvUkF0R2tCLFFBQXVCLEVBQUUsUUFBdUI7SUFDL0QsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCx1REFBdUQ7U0FDbEQsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDO0lBUUMsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSxzQ0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBQSxJQUFJLGtDQUFLLENBQUMsQ0FBQztJQUNoRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNwQixPQUFPO0lBQ1QsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZXNzaW9uRGF0YSwgU2Vzc2lvbk1hbmFnZXIsIFNlc3Npb25NZXRhZGF0YSB9IGZyb20gXCJAY3ViaXN0LWRldi9jdWJlc2lnbmVyLXNka1wiO1xuaW1wb3J0IHtcbiAgRXZlbnRFbWl0dGVyLFxuICBOb1Nlc3Npb25Gb3VuZEVycm9yLFxuICBpc1N0YWxlLFxuICBpc1JlZnJlc2hhYmxlLFxuICBtZXRhZGF0YSxcbiAgcmVmcmVzaCxcbiAgRXJyUmVzcG9uc2UsXG59IGZyb20gXCJAY3ViaXN0LWRldi9jdWJlc2lnbmVyLXNka1wiO1xuaW1wb3J0IHsgcmVhZFRlc3RBbmRTZXQgfSBmcm9tIFwiLi9sb2Nrcy50c1wiO1xuXG50eXBlIEJyb3dzZXJTdG9yYWdlRXZlbnRzID0ge1xuICBsb2dvdXQoKTogdm9pZDtcbiAgbG9naW4oKTogdm9pZDtcbn07XG5cbi8qKlxuICogQSBtYW5hZ2VyIHRoYXQgcGVyc2lzdHMgaW50byBicm93c2VyIHN0b3JhZ2UgYW5kIHVzZXMgd2VibG9ja3MgdG8gc2FmZWx5IHBlcmZvcm0gcmVmcmVzaGVzXG4gKi9cbmV4cG9ydCBjbGFzcyBCcm93c2VyU3RvcmFnZU1hbmFnZXJcbiAgZXh0ZW5kcyBFdmVudEVtaXR0ZXI8QnJvd3NlclN0b3JhZ2VFdmVudHM+XG4gIGltcGxlbWVudHMgU2Vzc2lvbk1hbmFnZXJcbntcbiAgLyoqIFRoZSBzdG9yYWdlIGtleSBmb3IgdGhlIHNlc3Npb24gZGF0YSAqL1xuICAja2V5OiBzdHJpbmc7XG4gICNzdG9yYWdlOiBTdG9yYWdlO1xuICAjbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSB0byB1c2VcbiAgICogQHBhcmFtIHN0b3JhZ2UgVGhlIHN0b3JhZ2Ugb2JqZWN0IHRvIHVzZSAoZGVmYXVsdHMgdG8gbG9jYWxTdG9yYWdlKVxuICAgKi9cbiAgY29uc3RydWN0b3Ioa2V5OiBzdHJpbmcsIHN0b3JhZ2U6IFN0b3JhZ2UgPSBnbG9iYWxUaGlzLmxvY2FsU3RvcmFnZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy4ja2V5ID0ga2V5O1xuICAgIHRoaXMuI3N0b3JhZ2UgPSBzdG9yYWdlO1xuICAgIHRoaXMuI2xvY2sgPSBgQ1NfU0RLX1NUT1JBR0VfTE9DS18ke2tleX1gO1xuICAgIC8vIFNldCB1cCBsaXN0ZW5lcnMgdG8gZW1pdCBldmVudHMgd2hlbiB1c2VycyBsb2cgaW4gb3IgbG9nIG91dFxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic3RvcmFnZVwiLCAoZXYpID0+IHtcbiAgICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBldmVudHMgb24gb3VyIHN0b3JhZ2Ugb2JqZWN0LCB1c2luZyBvdXIga2V5XG4gICAgICBpZiAoZXYuc3RvcmFnZUFyZWEgIT09IHN0b3JhZ2UgfHwgZXYua2V5ICE9PSBrZXkpIHJldHVybjtcbiAgICAgIHRoaXMuI2VtaXRJZk5lY2Vzc2FyeShldi5vbGRWYWx1ZSwgZXYubmV3VmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYGxvZ2luYCBvciBgbG9nb3V0YCBldmVudCBpZiBuZWNlc3NhcnlcbiAgICpcbiAgICogQHBhcmFtIG9sZFZhbHVlIFRoZSBwcmV2aW91c2x5IHN0b3JlZCB2YWx1ZVxuICAgKiBAcGFyYW0gbmV3VmFsdWUgVGhlIG5ld2x5IHN0b3JlZCB2YWx1ZVxuICAgKi9cbiAgI2VtaXRJZk5lY2Vzc2FyeShvbGRWYWx1ZTogbnVsbCB8IHN0cmluZywgbmV3VmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAobmV3VmFsdWUgPT09IG51bGwgJiYgb2xkVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuZW1pdChcImxvZ291dFwiKTtcbiAgICB9XG5cbiAgICAvLyBUaGVyZSBpcyBub3cgYSBzZXNzaW9uIHdoZW4gdGhlcmUgZGlkbid0IHVzZWQgdG8gYmUuXG4gICAgZWxzZSBpZiAob2xkVmFsdWUgPT09IG51bGwgJiYgbmV3VmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuZW1pdChcImxvZ2luXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhIHNlc3Npb24gZnJvbSB0aGUgY29uZmlndXJlZCBzdG9yYWdlIGF0IHRoZSBjb25maWd1cmVkIGtleVxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgc3RvcmVkIGRhdGEgb3IgdW5kZWZpbmVkIGlmIG5vdCBwcmVzZW50XG4gICAqL1xuICAjbG9hZFNlc3Npb24oKTogU2Vzc2lvbkRhdGEgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHN0b3JlZCA9IHRoaXMuI3N0b3JhZ2UuZ2V0SXRlbSh0aGlzLiNrZXkpO1xuICAgIGlmIChzdG9yZWQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5wYXJzZShzdG9yZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBtZXRhZGF0YSBmb3IgYSBzZXNzaW9uIGZyb20gc3RvcmFnZVxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgc2Vzc2lvbiBtZXRhZGF0YVxuICAgKi9cbiAgYXN5bmMgbWV0YWRhdGEoKTogUHJvbWlzZTxTZXNzaW9uTWV0YWRhdGE+IHtcbiAgICBjb25zdCBzZXNzID0gdGhpcy4jbG9hZFNlc3Npb24oKTtcbiAgICBpZiAoIXNlc3MpIHtcbiAgICAgIHRocm93IG5ldyBOb1Nlc3Npb25Gb3VuZEVycm9yKCk7XG4gICAgfVxuICAgIHJldHVybiBtZXRhZGF0YShzZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgY3VycmVudCBhY2Nlc3MgdG9rZW4gZnJvbSBzdG9yYWdlXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBhY2Nlc3MgdG9rZW5cbiAgICovXG4gIGFzeW5jIHRva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc2VzcyA9IGF3YWl0IHJlYWRUZXN0QW5kU2V0PFNlc3Npb25EYXRhIHwgdW5kZWZpbmVkPih0aGlzLiNsb2NrLCB7XG4gICAgICByZWFkOiAoKSA9PiB0aGlzLiNsb2FkU2Vzc2lvbigpLFxuICAgICAgdGVzdDogKHYpID0+IHYgIT09IHVuZGVmaW5lZCAmJiBpc1N0YWxlKHYpLFxuICAgICAgc2V0OiBhc3luYyAob2xkU2Vzc2lvbjogU2Vzc2lvbkRhdGEpID0+IHtcbiAgICAgICAgaWYgKGlzUmVmcmVzaGFibGUob2xkU2Vzc2lvbikpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbmV3U2Vzc2lvbiA9IGF3YWl0IHJlZnJlc2gob2xkU2Vzc2lvbik7XG4gICAgICAgICAgICB0aGlzLiNzdG9yYWdlLnNldEl0ZW0odGhpcy4ja2V5LCBKU09OLnN0cmluZ2lmeShuZXdTZXNzaW9uKSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3NmdWxseSByZWZyZXNoZWRcIik7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJSZXNwb25zZSAmJiBlLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgIHRoaXMuI3N0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLiNrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJZiB0aGUgc2Vzc2lvbiBpcyBub3QgcmVmcmVzaGFibGUsIHdlIHNob3VsZCByZW1vdmUgaXRcbiAgICAgICAgICB0aGlzLiNzdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy4ja2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5vdGlmeSB0aGF0IHRoZSBzZXNzaW9uIGhhcyBjaGFuZ2VkXG4gICAgICAgIHRoaXMuI2VtaXRJZk5lY2Vzc2FyeShcIlwiLCB0aGlzLiNzdG9yYWdlLmdldEl0ZW0odGhpcy4ja2V5KSk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGlmICghc2Vzcykge1xuICAgICAgdGhyb3cgbmV3IE5vU2Vzc2lvbkZvdW5kRXJyb3IoKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlc3MudG9rZW47XG4gIH1cblxuICAvKipcbiAgICogRGlyZWN0bHkgc2V0IHRoZSBzZXNzaW9uICh1cGRhdGluZyBhbGwgY29uc3VtZXJzIG9mIHRoZSBzZXNzaW9uIHN0b3JhZ2UpXG4gICAqXG4gICAqIEBwYXJhbSBzZXNzaW9uIFRoZSBuZXcgc2Vzc2lvblxuICAgKi9cbiAgYXN5bmMgc2V0U2Vzc2lvbihzZXNzaW9uPzogU2Vzc2lvbkRhdGEpIHtcbiAgICBhd2FpdCBuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChcbiAgICAgIHRoaXMuI2xvY2ssXG4gICAgICB7XG4gICAgICAgIG1vZGU6IFwiZXhjbHVzaXZlXCIsXG4gICAgICB9LFxuICAgICAgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuI3N0b3JhZ2UuZ2V0SXRlbSh0aGlzLiNrZXkpO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHNlc3Npb24gPyBKU09OLnN0cmluZ2lmeShzZXNzaW9uKSA6IG51bGw7XG5cbiAgICAgICAgLy8gVW5saWtlIGR1cmluZyByZWZyZXNoLCB3ZSBkb24ndCBwcmVlbXB0IHRoZSByZWFkIGxvY2tzXG4gICAgICAgIC8vIGJlY2F1c2UgdGhpcyBvcGVyYXRpb24gaXMgc3luY2hyb25vdXNcbiAgICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy4jc3RvcmFnZS5zZXRJdGVtKHRoaXMuI2tleSwgbmV3VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuI3N0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLiNrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RvcmFnZSBldmVudHMgZG9uJ3QgZmlyZSBpZiB0aGUgc3RvcmUgb2NjdXJyZWQgb24gdGhlIHNhbWUgcGFnZSxcbiAgICAgICAgLy8gc28gd2UgaGF2ZSB0byBtYW51YWxseSBpbnZva2Ugb3VyIGVtaXQgbG9naWNcbiAgICAgICAgdGhpcy4jZW1pdElmTmVjZXNzYXJ5KG9sZFZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
package/dist/locks.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readTestAndSet = readTestAndSet;
4
1
  /**
5
2
  * A locking primitive for contentious reads and writes.
6
3
  *
@@ -13,7 +10,7 @@ exports.readTestAndSet = readTestAndSet;
13
10
  * @param spec The set of read, test, and set functions to use
14
11
  * @returns The current value
15
12
  */
16
- async function readTestAndSet(lock, spec) {
13
+ export async function readTestAndSet(lock, spec) {
17
14
  const { read, test, set } = spec;
18
15
  const value = await navigator.locks.request(lock, { mode: "shared" }, async () => read());
19
16
  if (test(value)) {
@@ -28,4 +25,4 @@ async function readTestAndSet(lock, spec) {
28
25
  }
29
26
  return value;
30
27
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbG9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5QkEsd0NBY0M7QUExQkQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSSxLQUFLLFVBQVUsY0FBYyxDQUFJLElBQVksRUFBRSxJQUF1QjtJQUMzRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEIsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckUsTUFBTSxJQUFJLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDZixNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZWQgYXMgYW4gYXJndW1lbnQgdG8ge0BsaW5rIHJlYWRUZXN0QW5kU2V0fS5cbiAqIERlZmluZXMgdGhlIGJlaGF2aW9yIHRvIHBlcmZvcm0gZHVyaW5nIHRoZSBsb2NraW5nIHN0cmF0ZWd5XG4gKi9cbmV4cG9ydCB0eXBlIFJlYWRUZXN0QW5kU2V0PFQ+ID0ge1xuICAvKiogSG93IHRvIHJlYWQgdGhlIGRhdGEgKi9cbiAgcmVhZCgpOiBUO1xuICAvKiogSWYgdHJ1ZSwgcGVyZm9ybSBzZXQsIGlmIGZhbHNlLCByZXR1cm4gdiAqL1xuICB0ZXN0KHY6IFQpOiBib29sZWFuO1xuICAvKiogUGVyc2lzdCB0aGUgdmFsdWUgKi9cbiAgc2V0KHByZXY6IFQpOiBQcm9taXNlPHZvaWQ+O1xufTtcblxuLyoqXG4gKiBBIGxvY2tpbmcgcHJpbWl0aXZlIGZvciBjb250ZW50aW91cyByZWFkcyBhbmQgd3JpdGVzLlxuICpcbiAqIEd1YXJhbnRlZXM6XG4gKiAgMS4gU2V0IGlzIG9ubHkgY2FsbGVkIHdoZW4gdGVzdChyZWFkKCkpIHJldHVybnMgdHJ1ZVxuICogIDIuIE9ubHkgMSBzZXQoKSBjYWxsIGlzIGFjdGl2ZSBhdCBhIHRpbWVcbiAqICAzLiByZWFkKCkgbmV2ZXIgb2NjdXJzIHdoaWxlIHNldCgpIGlzIHJ1bm5pbmdcbiAqXG4gKiBAcGFyYW0gbG9jayBUaGUgbmFtZSBvZiB0aGUgbG9jayB0byB1c2VcbiAqIEBwYXJhbSBzcGVjIFRoZSBzZXQgb2YgcmVhZCwgdGVzdCwgYW5kIHNldCBmdW5jdGlvbnMgdG8gdXNlXG4gKiBAcmV0dXJucyBUaGUgY3VycmVudCB2YWx1ZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZFRlc3RBbmRTZXQ8VD4obG9jazogc3RyaW5nLCBzcGVjOiBSZWFkVGVzdEFuZFNldDxUPik6IFByb21pc2U8VD4ge1xuICBjb25zdCB7IHJlYWQsIHRlc3QsIHNldCB9ID0gc3BlYztcbiAgY29uc3QgdmFsdWUgPSBhd2FpdCBuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChsb2NrLCB7IG1vZGU6IFwic2hhcmVkXCIgfSwgYXN5bmMgKCkgPT4gcmVhZCgpKTtcbiAgaWYgKHRlc3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIG5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGxvY2ssIHsgbW9kZTogXCJleGNsdXNpdmVcIiB9LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBwcmV2ID0gcmVhZCgpO1xuICAgICAgaWYgKHRlc3QocHJldikpIHtcbiAgICAgICAgYXdhaXQgc2V0KHByZXYpO1xuICAgICAgICByZXR1cm4gcmVhZCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbG9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBSSxJQUFZLEVBQUUsSUFBdUI7SUFDM0UsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3JFLE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hCLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2VkIGFzIGFuIGFyZ3VtZW50IHRvIHtAbGluayByZWFkVGVzdEFuZFNldH0uXG4gKiBEZWZpbmVzIHRoZSBiZWhhdmlvciB0byBwZXJmb3JtIGR1cmluZyB0aGUgbG9ja2luZyBzdHJhdGVneVxuICovXG5leHBvcnQgdHlwZSBSZWFkVGVzdEFuZFNldDxUPiA9IHtcbiAgLyoqIEhvdyB0byByZWFkIHRoZSBkYXRhICovXG4gIHJlYWQoKTogVDtcbiAgLyoqIElmIHRydWUsIHBlcmZvcm0gc2V0LCBpZiBmYWxzZSwgcmV0dXJuIHYgKi9cbiAgdGVzdCh2OiBUKTogYm9vbGVhbjtcbiAgLyoqIFBlcnNpc3QgdGhlIHZhbHVlICovXG4gIHNldChwcmV2OiBUKTogUHJvbWlzZTx2b2lkPjtcbn07XG5cbi8qKlxuICogQSBsb2NraW5nIHByaW1pdGl2ZSBmb3IgY29udGVudGlvdXMgcmVhZHMgYW5kIHdyaXRlcy5cbiAqXG4gKiBHdWFyYW50ZWVzOlxuICogIDEuIFNldCBpcyBvbmx5IGNhbGxlZCB3aGVuIHRlc3QocmVhZCgpKSByZXR1cm5zIHRydWVcbiAqICAyLiBPbmx5IDEgc2V0KCkgY2FsbCBpcyBhY3RpdmUgYXQgYSB0aW1lXG4gKiAgMy4gcmVhZCgpIG5ldmVyIG9jY3VycyB3aGlsZSBzZXQoKSBpcyBydW5uaW5nXG4gKlxuICogQHBhcmFtIGxvY2sgVGhlIG5hbWUgb2YgdGhlIGxvY2sgdG8gdXNlXG4gKiBAcGFyYW0gc3BlYyBUaGUgc2V0IG9mIHJlYWQsIHRlc3QsIGFuZCBzZXQgZnVuY3Rpb25zIHRvIHVzZVxuICogQHJldHVybnMgVGhlIGN1cnJlbnQgdmFsdWVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRUZXN0QW5kU2V0PFQ+KGxvY2s6IHN0cmluZywgc3BlYzogUmVhZFRlc3RBbmRTZXQ8VD4pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgeyByZWFkLCB0ZXN0LCBzZXQgfSA9IHNwZWM7XG4gIGNvbnN0IHZhbHVlID0gYXdhaXQgbmF2aWdhdG9yLmxvY2tzLnJlcXVlc3QobG9jaywgeyBtb2RlOiBcInNoYXJlZFwiIH0sIGFzeW5jICgpID0+IHJlYWQoKSk7XG4gIGlmICh0ZXN0KHZhbHVlKSkge1xuICAgIHJldHVybiBuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChsb2NrLCB7IG1vZGU6IFwiZXhjbHVzaXZlXCIgfSwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcHJldiA9IHJlYWQoKTtcbiAgICAgIGlmICh0ZXN0KHByZXYpKSB7XG4gICAgICAgIGF3YWl0IHNldChwcmV2KTtcbiAgICAgICAgcmV0dXJuIHJlYWQoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmV2O1xuICAgIH0pO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -5,12 +5,19 @@
5
5
  "url": "git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git",
6
6
  "directory": "packages/browser-storage"
7
7
  },
8
- "version": "0.4.262",
8
+ "version": "0.4.265",
9
9
  "description": "Browser-based storage for CubeSigner SDK sessions",
10
10
  "license": "MIT OR Apache-2.0",
11
11
  "author": "Cubist, Inc.",
12
+ "type": "module",
12
13
  "main": "dist/index.js",
13
14
  "types": "dist/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "default": "./dist/index.js"
19
+ }
20
+ },
14
21
  "files": [
15
22
  "tsconfig.json",
16
23
  "src/**",
@@ -27,14 +34,14 @@
27
34
  "test:server": "http-server ./test/site -c-1"
28
35
  },
29
36
  "peerDependencies": {
30
- "@cubist-labs/cubesigner-sdk": "^0.4.262"
37
+ "@cubist-labs/cubesigner-sdk": "^0.4.265"
31
38
  },
32
39
  "directories": {
33
40
  "test": "test"
34
41
  },
35
42
  "devDependencies": {
36
- "@cubist-labs/cubesigner-sdk": "^0.4.262",
37
- "@cubist-labs/cubesigner-sdk-fs-storage": "^0.4.262",
43
+ "@cubist-labs/cubesigner-sdk": "^0.4.265",
44
+ "@cubist-labs/cubesigner-sdk-fs-storage": "^0.4.265",
38
45
  "@playwright/test": "^1.44.1",
39
46
  "esbuild": "^0.27.2",
40
47
  "http-server": "^14.1.1"
package/src/index.ts CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  refresh,
9
9
  ErrResponse,
10
10
  } from "@cubist-labs/cubesigner-sdk";
11
- import { readTestAndSet } from "./locks";
11
+ import { readTestAndSet } from "./locks.ts";
12
12
 
13
13
  type BrowserStorageEvents = {
14
14
  logout(): void;
package/tsconfig.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "../../tsconfig.build.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist"
5
+ },
6
+ "typedocOptions": {
7
+ "out": "./docs",
8
+ "entryPoints": ["src/index.ts"]
9
+ },
10
+ "exclude": ["spec", "node_modules", "dist"],
11
+ "include": ["src/**/*.ts"]
12
+ }