@arcote.tech/arc-adapter-db-sqlite 0.7.16 → 0.7.18

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.
Files changed (2) hide show
  1. package/dist/index.js +37 -0
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1473,6 +1473,42 @@ class AuthAdapter {
1473
1473
  this.scopes.clear();
1474
1474
  }
1475
1475
  }
1476
+ var DEFAULT_TIMEOUT_MS = 8000;
1477
+ var provider = null;
1478
+ var latestSync = null;
1479
+ var syncSeq = 0;
1480
+ function triggerModuleSync(scope, timeoutMs = DEFAULT_TIMEOUT_MS) {
1481
+ if (!provider) {
1482
+ latestSync = Promise.resolve();
1483
+ return latestSync;
1484
+ }
1485
+ const seq = ++syncSeq;
1486
+ const run = (async () => {
1487
+ try {
1488
+ await provider(scope);
1489
+ } catch (err) {
1490
+ console.warn("[arc] module sync failed during setToken:", err);
1491
+ }
1492
+ })();
1493
+ const guarded = new Promise((resolve) => {
1494
+ let settled = false;
1495
+ const done = () => {
1496
+ if (settled)
1497
+ return;
1498
+ settled = true;
1499
+ resolve();
1500
+ };
1501
+ const timer = setTimeout(() => {
1502
+ console.warn(`[arc] module sync did not complete within ${timeoutMs}ms; proceeding anyway.`);
1503
+ done();
1504
+ }, timeoutMs);
1505
+ timer?.unref?.();
1506
+ run.then(done, done).finally(() => clearTimeout(timer));
1507
+ });
1508
+ if (seq === syncSeq)
1509
+ latestSync = guarded;
1510
+ return guarded;
1511
+ }
1476
1512
  var eventWireInstanceCounter = 0;
1477
1513
 
1478
1514
  class EventWire {
@@ -4240,6 +4276,7 @@ class ScopedModel {
4240
4276
  for (const listener4 of this.tokenListeners) {
4241
4277
  listener4();
4242
4278
  }
4279
+ return triggerModuleSync(this.scopeName);
4243
4280
  }
4244
4281
  getToken() {
4245
4282
  return this.authAdapter.getToken();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcote.tech/arc-adapter-db-sqlite",
3
- "version": "0.7.16",
3
+ "version": "0.7.18",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "test": "bun test"
21
21
  },
22
22
  "peerDependencies": {
23
- "@arcote.tech/arc": "^0.7.16"
23
+ "@arcote.tech/arc": "^0.7.18"
24
24
  },
25
25
  "devDependencies": {
26
26
  "typescript": "^5.0.0"