@serfab/quereus-plugin-sereus 0.10.0 → 0.12.0

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.
@@ -1,3 +1,18 @@
1
+ const STRAND_TRANSACTORS = ['local', 'network', 'test'];
2
+ /**
3
+ * Read the optional `transactor` key. Unlike `fret_profile` (whose unknown
4
+ * values fall back to the default), an unrecognised transactor throws: silently
5
+ * running on the network when the caller asked for local storage is the kind of
6
+ * mistake that only surfaces as a mysterious hang on a machine with no peers.
7
+ */
8
+ function parseTransactor(raw) {
9
+ if (raw === undefined || raw === null || raw === '')
10
+ return undefined;
11
+ if (typeof raw !== 'string' || !STRAND_TRANSACTORS.includes(raw)) {
12
+ throw new Error(`quereus-plugin-sereus: transactor must be one of ${STRAND_TRANSACTORS.join(', ')} (got ${JSON.stringify(raw)})`);
13
+ }
14
+ return raw;
15
+ }
1
16
  /**
2
17
  * Parse the plugin-loader SqlValue config into typed StrandConnectionOptions.
3
18
  * Shared by the Node (`plugin.ts`) and browser (`plugin-browser.ts`) entries.
@@ -17,16 +32,14 @@ export function parseConfig(config) {
17
32
  const port = typeof config.port === 'number' ? config.port : 0;
18
33
  const enableCache = config.enable_cache !== false && config.enable_cache !== 0;
19
34
  const fretProfile = config.fret_profile === 'core' ? 'core' : 'edge';
20
- // Lifecycle mode: selects bootstrap (local transactor) vs networked. Only the
21
- // two known values are honored; anything else falls through to the default.
22
- const mode = config.mode === 'bootstrap' || config.mode === 'networked'
23
- ? config.mode
24
- : undefined;
25
- // Internal transactor override (e.g. `'test'`). Applies only when `mode` is
26
- // unset — see `StrandConnectionOptions.transactor`.
27
- const transactor = typeof config.transactor === 'string' && config.transactor
28
- ? config.transactor
29
- : undefined;
35
+ // Storage engine — see `StrandConnectionOptions.transactor`. Left out entirely
36
+ // when unset so `composeStrand` applies its own default.
37
+ const transactor = parseTransactor(config.transactor);
38
+ // NOTE: `parseConfig` reads the keys it knows and ignores every other key in
39
+ // the map — there is no allowlist, so a misspelled or retired setting (e.g.
40
+ // the `mode` this package used to carry) is silently dropped rather than
41
+ // rejected. Deliberate: the plugin loader hands through whatever the host's
42
+ // settings file holds.
30
43
  // NOTE: persistent storage cannot ride a `Record<string, SqlValue>` — an
31
44
  // `IRawStorage` is not an `SqlValue`. The Node loader (`plugin.ts`) reads the
32
45
  // platform-only `storage_path` key directly and resolves it to a concrete
@@ -40,7 +53,6 @@ export function parseConfig(config) {
40
53
  port,
41
54
  enableCache,
42
55
  fretProfile,
43
- ...(mode && { mode }),
44
56
  ...(transactor && { transactor }),
45
57
  };
46
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-config.js","sourceRoot":"","sources":["../src/parse-config.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgC;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB;QAChF,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC;IAEN,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5F,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,KAAK,KAAK,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,MAAe,CAAC;IAEvF,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QACtE,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,SAAS,CAAC;IAEb,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU;QAC5E,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,SAAS,CAAC;IAEb,yEAAyE;IACzE,8EAA8E;IAC9E,0EAA0E;IAC1E,gFAAgF;IAEhF,OAAO;QACN,QAAQ;QACR,cAAc;QACd,MAAM;QACN,MAAM;QACN,WAAW;QACX,IAAI;QACJ,WAAW;QACX,WAAW;QACX,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KACjC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"parse-config.js","sourceRoot":"","sources":["../src/parse-config.ts"],"names":[],"mappings":"AAGA,MAAM,kBAAkB,GAAgC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAErF;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAAa;IACrC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAuB,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CACd,oDAAoD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAChH,CAAC;IACH,CAAC;IACD,OAAO,GAAuB,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgC;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB;QAChF,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC;IAEN,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5F,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,KAAK,KAAK,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,MAAe,CAAC;IAEvF,+EAA+E;IAC/E,yDAAyD;IACzD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEtD,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,uBAAuB;IAEvB,yEAAyE;IACzE,8EAA8E;IAC9E,0EAA0E;IAC1E,gFAAgF;IAEhF,OAAO;QACN,QAAQ;QACR,cAAc;QACd,MAAM;QACN,MAAM;QACN,WAAW;QACX,IAAI;QACJ,WAAW;QACX,WAAW;QACX,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KACjC,CAAC;AACH,CAAC"}