@gmb/bitmark-parser 6.10.1 → 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.cjs CHANGED
@@ -30,7 +30,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
+ ALL_LANGUAGES: () => ALL_LANGUAGES,
33
34
  NotInitializedError: () => NotInitializedError,
35
+ RegisterError: () => RegisterError,
34
36
  UnsupportedFeatureError: () => UnsupportedFeatureError,
35
37
  bitmarkToObjects: () => bitmarkToObjects,
36
38
  breakscapeText: () => breakscapeText,
@@ -44,6 +46,7 @@ __export(src_exports, {
44
46
  lex: () => lex,
45
47
  objectsToBitmark: () => objectsToBitmark,
46
48
  patchEntry: () => patchEntry,
49
+ register: () => register,
47
50
  splitBits: () => splitBits,
48
51
  transform: () => transform,
49
52
  transformParallel: () => transformParallel,
@@ -63,19 +66,26 @@ var import_node_module = require("module");
63
66
  // src/generated/package_info.ts
64
67
  var PACKAGE_INFO = {
65
68
  "name": "@gmb/bitmark-parser",
66
- "version": "6.10.1",
69
+ "version": "6.11.0",
67
70
  "author": "Get More Brain Ltd <info@getmorebrain.com>",
68
71
  "license": "ISC",
69
72
  "description": "A parser for bitmark text, powered by WebAssembly."
70
73
  };
71
74
 
72
75
  // src/core/facade.ts
76
+ var NODE_DEFAULT_FEATURE = "full";
73
77
  var NotInitializedError = class extends Error {
74
78
  constructor() {
75
79
  super("wasm not initialised: call init() (or init({ feature: \u2026 })) first");
76
80
  this.name = "NotInitializedError";
77
81
  }
78
82
  };
83
+ var RegisterError = class extends Error {
84
+ constructor(message) {
85
+ super(message);
86
+ this.name = "RegisterError";
87
+ }
88
+ };
79
89
  var UnsupportedFeatureError = class extends Error {
80
90
  constructor(what, active2) {
81
91
  super(
@@ -87,15 +97,23 @@ var UnsupportedFeatureError = class extends Error {
87
97
  var active;
88
98
  var activeFeature;
89
99
  var lazyLoader;
100
+ var registrations = /* @__PURE__ */ new Map();
90
101
  function getActive() {
91
102
  if (!active && lazyLoader) lazyLoader();
92
103
  if (!active) throw new NotInitializedError();
93
104
  return active;
94
105
  }
95
106
  function setActive(feature, module2) {
107
+ for (const [type, data] of registrations) {
108
+ const error = module2.register(type, data);
109
+ if (error) throw new RegisterError(error.replace(/^error:\s*/, ""));
110
+ }
96
111
  active = module2;
97
112
  activeFeature = feature;
98
113
  }
114
+ function rememberRegistration(type, data) {
115
+ registrations.set(type, data);
116
+ }
99
117
  function setLazyLoader(loader) {
100
118
  lazyLoader = loader;
101
119
  }
@@ -674,7 +692,7 @@ var Builder = class {
674
692
  const wasm = getLegacyWasm();
675
693
  if (bitType !== void 0) {
676
694
  try {
677
- const info2 = JSON.parse(wasm.info("bit", "json", bitType, false, 2, false, false, true));
695
+ const info2 = JSON.parse(wasm.info("bit", "json", bitType, false, 2, false, false, true, ""));
678
696
  if (info2.error === void 0) return { bodyFormat: info2.body?.format };
679
697
  } catch {
680
698
  }
@@ -773,7 +791,7 @@ var BitmarkParserGenerator = class {
773
791
  const format = opts.outputFormat ?? "text";
774
792
  const { pretty, indent } = prettyIndent(opts.prettify);
775
793
  const coreFormat = format === "pojo" ? "json" : format;
776
- const out = wasm.info(type, coreFormat, opts.bit ?? "", pretty, indent, false, false, true);
794
+ const out = wasm.info(type, coreFormat, opts.bit ?? "", pretty, indent, false, false, true, "");
777
795
  this.throwOnError(out);
778
796
  if (format === "pojo") return JSON.parse(out);
779
797
  return out;
@@ -1356,7 +1374,7 @@ var bitTypeCache;
1356
1374
  function loadBitTypes() {
1357
1375
  if (!bitTypeCache) {
1358
1376
  const wasm = getLegacyWasm();
1359
- const all = JSON.parse(wasm.info("all", "json", "", false, 2, true, false, false));
1377
+ const all = JSON.parse(wasm.info("all", "json", "", false, 2, true, false, false, ""));
1360
1378
  const map = { _standard: "_standard" };
1361
1379
  for (const { name } of all) {
1362
1380
  map[bitNameToKey(name)] = name;
@@ -1427,6 +1445,7 @@ var StreamWriter = stubClass("StreamWriter", INTERNAL_REASON);
1427
1445
  function patchEntry(path2, op, value) {
1428
1446
  return value === void 0 ? { path: path2, op } : { path: path2, op, value };
1429
1447
  }
1448
+ var ALL_LANGUAGES = "all";
1430
1449
 
1431
1450
  // src/core/api.ts
1432
1451
  function lex(input, options = {}) {
@@ -1534,36 +1553,59 @@ function info(options = {}) {
1534
1553
  const includeDeprecated = options.includeDeprecated ?? false;
1535
1554
  const onlyDeprecated = options.onlyDeprecated ?? false;
1536
1555
  const full = options.full ?? false;
1537
- return getActive().info(infoType, format, bit, pretty, indent, includeDeprecated, onlyDeprecated, full);
1556
+ const language = typeof options.language === "string" ? options.language : options.language?.join(",") ?? "";
1557
+ return getActive().info(
1558
+ infoType,
1559
+ format,
1560
+ bit,
1561
+ pretty,
1562
+ indent,
1563
+ includeDeprecated,
1564
+ onlyDeprecated,
1565
+ full,
1566
+ language
1567
+ );
1568
+ }
1569
+ function register(options) {
1570
+ const result = getActive().register(options.type, options.data);
1571
+ if (result) throw new RegisterError(result.replace(/^error:\s*/, ""));
1572
+ rememberRegistration(options.type, options.data);
1538
1573
  }
1539
1574
 
1540
1575
  // src/index.ts
1541
1576
  var require2 = (0, import_node_module.createRequire)(importMetaUrl);
1542
1577
  var VARIANT_GLUE = {
1543
1578
  full: "../wasm/bitmark_wasm.js",
1579
+ "browser-full": "../wasm-browser-full/bitmark_browser_full_wasm.js",
1544
1580
  "bitmark-json": "../wasm-bitmark-json/bitmark_json_wasm.js"
1545
1581
  };
1546
1582
  function loadVariant(feature) {
1547
1583
  const module2 = require2(VARIANT_GLUE[feature]);
1548
1584
  setActive(feature, module2);
1549
1585
  }
1550
- setLazyLoader(() => loadVariant("full"));
1586
+ setLazyLoader(() => loadVariant(NODE_DEFAULT_FEATURE));
1551
1587
  async function init(options = {}) {
1552
- loadVariant(options.feature ?? "full");
1588
+ loadVariant(options.feature ?? NODE_DEFAULT_FEATURE);
1553
1589
  }
1554
1590
  function initSync(options = {}) {
1555
- loadVariant(options.feature ?? "full");
1591
+ loadVariant(options.feature ?? NODE_DEFAULT_FEATURE);
1556
1592
  }
1557
1593
  initLegacyNode(() => getActive());
1558
1594
  function version() {
1559
1595
  return PACKAGE_INFO.version;
1560
1596
  }
1561
1597
  function transformParallel(input, options = {}) {
1562
- return runParallelTransform(getActive(), input, options);
1598
+ return runParallelTransform(
1599
+ getActive(),
1600
+ input,
1601
+ options
1602
+ );
1563
1603
  }
1564
1604
  // Annotate the CommonJS export names for ESM import in node:
1565
1605
  0 && (module.exports = {
1606
+ ALL_LANGUAGES,
1566
1607
  NotInitializedError,
1608
+ RegisterError,
1567
1609
  UnsupportedFeatureError,
1568
1610
  bitmarkToObjects,
1569
1611
  breakscapeText,
@@ -1577,6 +1619,7 @@ function transformParallel(input, options = {}) {
1577
1619
  lex,
1578
1620
  objectsToBitmark,
1579
1621
  patchEntry,
1622
+ register,
1580
1623
  splitBits,
1581
1624
  transform,
1582
1625
  transformParallel,