@gmb/bitmark-parser 6.10.0 → 6.11.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.
Files changed (50) hide show
  1. package/README.md +194 -20
  2. package/dist/browser/bitmark-parser.min.js +4 -4
  3. package/dist/browser/bitmark-parser.min.js.map +1 -1
  4. package/dist/browser/cjs/index.cjs +726 -180
  5. package/dist/browser/cjs/index.cjs.map +1 -1
  6. package/dist/browser/cjs/index.d.cts +1031 -29
  7. package/dist/browser/esm/index.d.ts +1031 -29
  8. package/dist/browser/esm/index.js +723 -180
  9. package/dist/browser/esm/index.js.map +1 -1
  10. package/dist/browser/esm/worker-entry.js +599 -96
  11. package/dist/browser/esm/worker-entry.js.map +1 -1
  12. package/dist/browser/wasm/bitmark_browser_full_wasm_bg.wasm +0 -0
  13. package/dist/browser/wasm/bitmark_json_wasm_bg.wasm +0 -0
  14. package/dist/browser/wasm/bitmark_wasm_bg.wasm +0 -0
  15. package/dist/index.cjs +52 -9
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +1031 -29
  18. package/dist/index.d.ts +1031 -29
  19. package/dist/index.js +49 -9
  20. package/dist/index.js.map +1 -1
  21. package/dist/legacy.cjs +4 -4
  22. package/dist/legacy.cjs.map +1 -1
  23. package/dist/legacy.js +4 -4
  24. package/dist/legacy.js.map +1 -1
  25. package/dist/worker-entry.cjs +7 -1
  26. package/dist/worker-entry.cjs.map +1 -1
  27. package/package.json +14 -8
  28. package/schema/bitmark.schema.json +2746 -573
  29. package/translations/translations.json +2940 -0
  30. package/wasm/bitmark_wasm.d.ts +30 -12
  31. package/wasm/bitmark_wasm.js +91 -47
  32. package/wasm/bitmark_wasm_bg.wasm +0 -0
  33. package/wasm/bitmark_wasm_bg.wasm.d.ts +2 -1
  34. package/wasm/package.json +1 -1
  35. package/wasm-bitmark-json/bitmark_json_wasm.d.ts +30 -12
  36. package/wasm-bitmark-json/bitmark_json_wasm.js +97 -53
  37. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm +0 -0
  38. package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm.d.ts +2 -1
  39. package/wasm-bitmark-json/package.json +1 -1
  40. package/wasm-browser-full/bitmark_browser_full_wasm.d.ts +126 -0
  41. package/wasm-browser-full/bitmark_browser_full_wasm.js +567 -0
  42. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm +0 -0
  43. package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm.d.ts +21 -0
  44. package/wasm-browser-full/package.json +20 -0
  45. package/dist/browser/bitmark_json_wasm_bg.wasm +0 -0
  46. package/dist/browser/bitmark_wasm_bg.wasm +0 -0
  47. package/dist/browser/cjs/bitmark_json_wasm_bg.wasm +0 -0
  48. package/dist/browser/cjs/bitmark_wasm_bg.wasm +0 -0
  49. package/dist/browser/esm/bitmark_json_wasm_bg.wasm +0 -0
  50. package/dist/browser/esm/bitmark_wasm_bg.wasm +0 -0
package/dist/index.js CHANGED
@@ -10,19 +10,26 @@ import { createRequire } from "module";
10
10
  // src/generated/package_info.ts
11
11
  var PACKAGE_INFO = {
12
12
  "name": "@gmb/bitmark-parser",
13
- "version": "6.10.0",
13
+ "version": "6.11.0",
14
14
  "author": "Get More Brain Ltd <info@getmorebrain.com>",
15
15
  "license": "ISC",
16
16
  "description": "A parser for bitmark text, powered by WebAssembly."
17
17
  };
18
18
 
19
19
  // src/core/facade.ts
20
+ var NODE_DEFAULT_FEATURE = "full";
20
21
  var NotInitializedError = class extends Error {
21
22
  constructor() {
22
23
  super("wasm not initialised: call init() (or init({ feature: \u2026 })) first");
23
24
  this.name = "NotInitializedError";
24
25
  }
25
26
  };
27
+ var RegisterError = class extends Error {
28
+ constructor(message) {
29
+ super(message);
30
+ this.name = "RegisterError";
31
+ }
32
+ };
26
33
  var UnsupportedFeatureError = class extends Error {
27
34
  constructor(what, active2) {
28
35
  super(
@@ -34,15 +41,23 @@ var UnsupportedFeatureError = class extends Error {
34
41
  var active;
35
42
  var activeFeature;
36
43
  var lazyLoader;
44
+ var registrations = /* @__PURE__ */ new Map();
37
45
  function getActive() {
38
46
  if (!active && lazyLoader) lazyLoader();
39
47
  if (!active) throw new NotInitializedError();
40
48
  return active;
41
49
  }
42
50
  function setActive(feature, module) {
51
+ for (const [type, data] of registrations) {
52
+ const error = module.register(type, data);
53
+ if (error) throw new RegisterError(error.replace(/^error:\s*/, ""));
54
+ }
43
55
  active = module;
44
56
  activeFeature = feature;
45
57
  }
58
+ function rememberRegistration(type, data) {
59
+ registrations.set(type, data);
60
+ }
46
61
  function setLazyLoader(loader) {
47
62
  lazyLoader = loader;
48
63
  }
@@ -621,7 +636,7 @@ var Builder = class {
621
636
  const wasm = getLegacyWasm();
622
637
  if (bitType !== void 0) {
623
638
  try {
624
- const info2 = JSON.parse(wasm.info("bit", "json", bitType, false, 2, false, false, true));
639
+ const info2 = JSON.parse(wasm.info("bit", "json", bitType, false, 2, false, false, true, ""));
625
640
  if (info2.error === void 0) return { bodyFormat: info2.body?.format };
626
641
  } catch {
627
642
  }
@@ -720,7 +735,7 @@ var BitmarkParserGenerator = class {
720
735
  const format = opts.outputFormat ?? "text";
721
736
  const { pretty, indent } = prettyIndent(opts.prettify);
722
737
  const coreFormat = format === "pojo" ? "json" : format;
723
- const out = wasm.info(type, coreFormat, opts.bit ?? "", pretty, indent, false, false, true);
738
+ const out = wasm.info(type, coreFormat, opts.bit ?? "", pretty, indent, false, false, true, "");
724
739
  this.throwOnError(out);
725
740
  if (format === "pojo") return JSON.parse(out);
726
741
  return out;
@@ -1303,7 +1318,7 @@ var bitTypeCache;
1303
1318
  function loadBitTypes() {
1304
1319
  if (!bitTypeCache) {
1305
1320
  const wasm = getLegacyWasm();
1306
- const all = JSON.parse(wasm.info("all", "json", "", false, 2, true, false, false));
1321
+ const all = JSON.parse(wasm.info("all", "json", "", false, 2, true, false, false, ""));
1307
1322
  const map = { _standard: "_standard" };
1308
1323
  for (const { name } of all) {
1309
1324
  map[bitNameToKey(name)] = name;
@@ -1374,6 +1389,7 @@ var StreamWriter = stubClass("StreamWriter", INTERNAL_REASON);
1374
1389
  function patchEntry(path2, op, value) {
1375
1390
  return value === void 0 ? { path: path2, op } : { path: path2, op, value };
1376
1391
  }
1392
+ var ALL_LANGUAGES = "all";
1377
1393
 
1378
1394
  // src/core/api.ts
1379
1395
  function lex(input, options = {}) {
@@ -1481,35 +1497,58 @@ function info(options = {}) {
1481
1497
  const includeDeprecated = options.includeDeprecated ?? false;
1482
1498
  const onlyDeprecated = options.onlyDeprecated ?? false;
1483
1499
  const full = options.full ?? false;
1484
- return getActive().info(infoType, format, bit, pretty, indent, includeDeprecated, onlyDeprecated, full);
1500
+ const language = typeof options.language === "string" ? options.language : options.language?.join(",") ?? "";
1501
+ return getActive().info(
1502
+ infoType,
1503
+ format,
1504
+ bit,
1505
+ pretty,
1506
+ indent,
1507
+ includeDeprecated,
1508
+ onlyDeprecated,
1509
+ full,
1510
+ language
1511
+ );
1512
+ }
1513
+ function register(options) {
1514
+ const result = getActive().register(options.type, options.data);
1515
+ if (result) throw new RegisterError(result.replace(/^error:\s*/, ""));
1516
+ rememberRegistration(options.type, options.data);
1485
1517
  }
1486
1518
 
1487
1519
  // src/index.ts
1488
1520
  var require2 = createRequire(import.meta.url);
1489
1521
  var VARIANT_GLUE = {
1490
1522
  full: "../wasm/bitmark_wasm.js",
1523
+ "browser-full": "../wasm-browser-full/bitmark_browser_full_wasm.js",
1491
1524
  "bitmark-json": "../wasm-bitmark-json/bitmark_json_wasm.js"
1492
1525
  };
1493
1526
  function loadVariant(feature) {
1494
1527
  const module = require2(VARIANT_GLUE[feature]);
1495
1528
  setActive(feature, module);
1496
1529
  }
1497
- setLazyLoader(() => loadVariant("full"));
1530
+ setLazyLoader(() => loadVariant(NODE_DEFAULT_FEATURE));
1498
1531
  async function init(options = {}) {
1499
- loadVariant(options.feature ?? "full");
1532
+ loadVariant(options.feature ?? NODE_DEFAULT_FEATURE);
1500
1533
  }
1501
1534
  function initSync(options = {}) {
1502
- loadVariant(options.feature ?? "full");
1535
+ loadVariant(options.feature ?? NODE_DEFAULT_FEATURE);
1503
1536
  }
1504
1537
  initLegacyNode(() => getActive());
1505
1538
  function version() {
1506
1539
  return PACKAGE_INFO.version;
1507
1540
  }
1508
1541
  function transformParallel(input, options = {}) {
1509
- return runParallelTransform(getActive(), input, options);
1542
+ return runParallelTransform(
1543
+ getActive(),
1544
+ input,
1545
+ options
1546
+ );
1510
1547
  }
1511
1548
  export {
1549
+ ALL_LANGUAGES,
1512
1550
  NotInitializedError,
1551
+ RegisterError,
1513
1552
  UnsupportedFeatureError,
1514
1553
  bitmarkToObjects,
1515
1554
  breakscapeText,
@@ -1523,6 +1562,7 @@ export {
1523
1562
  lex,
1524
1563
  objectsToBitmark,
1525
1564
  patchEntry,
1565
+ register,
1526
1566
  splitBits,
1527
1567
  transform,
1528
1568
  transformParallel,