@gmb/bitmark-parser 7.7.0 → 7.8.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.
- package/README.md +26 -17
- package/config/bitmark.json +2 -2
- package/dist/browser/bitmark-parser.min.js +4 -4
- package/dist/browser/bitmark-parser.min.js.map +1 -1
- package/dist/browser/cjs/index.cjs +16 -10
- package/dist/browser/cjs/index.cjs.map +1 -1
- package/dist/browser/cjs/index.d.cts +30 -17
- package/dist/browser/esm/index.d.ts +30 -17
- package/dist/browser/esm/index.js +16 -10
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/browser/esm/worker-entry.js +6 -6
- package/dist/browser/esm/worker-entry.js.map +1 -1
- package/dist/browser/wasm/bitmark_browser_full_wasm_bg.wasm +0 -0
- package/dist/browser/wasm/bitmark_json_wasm_bg.wasm +0 -0
- package/dist/browser/wasm/bitmark_wasm_bg.wasm +0 -0
- package/dist/index.cjs +10 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -17
- package/dist/index.d.ts +30 -17
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/legacy.cjs +1 -1
- package/dist/legacy.cjs.map +1 -1
- package/dist/legacy.js +1 -1
- package/dist/legacy.js.map +1 -1
- package/dist/worker-entry.cjs.map +1 -1
- package/package.json +6 -6
- package/schema/bitmark.schema.json +1 -1
- package/wasm/bitmark_wasm.d.ts +2 -2
- package/wasm/bitmark_wasm.js +2 -2
- package/wasm/bitmark_wasm_bg.wasm +0 -0
- package/wasm/package.json +1 -1
- package/wasm-bitmark-json/bitmark_json_wasm.d.ts +2 -2
- package/wasm-bitmark-json/bitmark_json_wasm.js +2 -2
- package/wasm-bitmark-json/bitmark_json_wasm_bg.wasm +0 -0
- package/wasm-bitmark-json/package.json +1 -1
- package/wasm-browser-full/bitmark_browser_full_wasm.d.ts +2 -2
- package/wasm-browser-full/bitmark_browser_full_wasm.js +2 -2
- package/wasm-browser-full/bitmark_browser_full_wasm_bg.wasm +0 -0
- package/wasm-browser-full/package.json +1 -1
|
@@ -14799,30 +14799,42 @@ interface SemanticTokensOptions {
|
|
|
14799
14799
|
tokensLayout?: TokensLayout;
|
|
14800
14800
|
}
|
|
14801
14801
|
|
|
14802
|
-
/** Where one top-level bit's text is in
|
|
14802
|
+
/** Where one top-level bit's text is in the input and in the output. */
|
|
14803
14803
|
interface BitSpan {
|
|
14804
14804
|
/**
|
|
14805
14805
|
* The bit's position in the INPUT: its {@link splitBits} index for bitmark
|
|
14806
|
-
* input, its entry index in the top-level array for JSON input
|
|
14807
|
-
*
|
|
14806
|
+
* input, its entry index in the top-level array for JSON input, its
|
|
14807
|
+
* position among the bits the import finds for markup input. An entry that
|
|
14808
|
+
* is not a bit gets no span, so the indexes can have gaps.
|
|
14808
14809
|
*/
|
|
14809
14810
|
index: number;
|
|
14811
|
+
/**
|
|
14812
|
+
* Offset of the bit's first character in the input: for bitmark, its
|
|
14813
|
+
* {@link splitBits} `start`; for JSON, the start of its top-level entry;
|
|
14814
|
+
* for markup, the start of the element it was read from.
|
|
14815
|
+
*/
|
|
14816
|
+
inputStart: number;
|
|
14817
|
+
/**
|
|
14818
|
+
* Offset just past its last character in the input. A markup element that
|
|
14819
|
+
* holds the next bit's element ends where that element starts.
|
|
14820
|
+
*/
|
|
14821
|
+
inputEnd: number;
|
|
14810
14822
|
/** Offset of the bit's first character in the output. */
|
|
14811
|
-
|
|
14823
|
+
outputStart: number;
|
|
14812
14824
|
/**
|
|
14813
|
-
* Offset just past its last character. A bit that produced
|
|
14814
|
-
* (e.g. an empty bit in `"text"` output) has
|
|
14815
|
-
* where its output would begin.
|
|
14825
|
+
* Offset just past its last character in the output. A bit that produced
|
|
14826
|
+
* no output (e.g. an empty bit in `"text"` output) has
|
|
14827
|
+
* `outputEnd === outputStart`, at the point where its output would begin.
|
|
14816
14828
|
*/
|
|
14817
|
-
|
|
14829
|
+
outputEnd: number;
|
|
14818
14830
|
}
|
|
14819
14831
|
/**
|
|
14820
|
-
* The bit spans of one
|
|
14832
|
+
* The bit spans of one conversion, in the encoding their offsets are counted in
|
|
14821
14833
|
* — echoed, as {@link Diagnostics} and {@link SemanticTokens} echo theirs.
|
|
14822
14834
|
*/
|
|
14823
14835
|
interface BitSpans {
|
|
14824
14836
|
positionEncoding: PositionEncoding;
|
|
14825
|
-
/** In output order; they never overlap. */
|
|
14837
|
+
/** In output order; they never overlap, on either side. */
|
|
14826
14838
|
spans: BitSpan[];
|
|
14827
14839
|
}
|
|
14828
14840
|
/** Options for {@link convertWithDetails}: {@link ConvertOptions} plus one
|
|
@@ -14841,7 +14853,7 @@ interface ConvertResult {
|
|
|
14841
14853
|
/** The converted output — exactly what {@link convert} returns. */
|
|
14842
14854
|
output: string;
|
|
14843
14855
|
/**
|
|
14844
|
-
* Where each top-level bit
|
|
14856
|
+
* Where each top-level bit is in the input and in `output`. Present whenever `bitSpans`
|
|
14845
14857
|
* was asked for; `spans` is empty for an output that is not a document
|
|
14846
14858
|
* (`"lex"`, `"ast"`, `"semantic-tokens"`, `"diagnostics"`, a mapping
|
|
14847
14859
|
* report).
|
|
@@ -17580,15 +17592,16 @@ declare function objectsToBitmark(bits: readonly (Bit | AnyBit | BitEntry)[], op
|
|
|
17580
17592
|
declare function convert(input: string, options?: ConvertOptions$1): string;
|
|
17581
17593
|
/**
|
|
17582
17594
|
* {@link convert}, returning the output together with the extras asked for
|
|
17583
|
-
* (PLAN-221) — today `bitSpans`: where each top-level bit's text
|
|
17584
|
-
* the output, for linking
|
|
17595
|
+
* (PLAN-221) — today `bitSpans`: where each top-level bit's text is in the
|
|
17596
|
+
* input and in the output (PLAN-223), for linking the panes that show them
|
|
17597
|
+
* bit by bit. The
|
|
17585
17598
|
* conversion runs once; `output` is exactly what {@link convert} returns for
|
|
17586
17599
|
* the same input and options, and it throws exactly as {@link convert} does.
|
|
17587
17600
|
*
|
|
17588
17601
|
* Spans are reported for the document outputs — `"bitmark"`, `"json"`
|
|
17589
17602
|
* (compact or pretty), `"text"` and the markup formats (`"html"`, `"xml"`,
|
|
17590
|
-
* …). A span covers the bit's text only
|
|
17591
|
-
* nor the JSON array's `[` / `]`.
|
|
17603
|
+
* …), from any input format. A span covers the bit's text only, on either
|
|
17604
|
+
* side: never the separators between bits, nor the JSON array's `[` / `]`.
|
|
17592
17605
|
*
|
|
17593
17606
|
* @example
|
|
17594
17607
|
* const { output, bitSpans } = convertWithDetails(source, {
|
|
@@ -17596,8 +17609,8 @@ declare function convert(input: string, options?: ConvertOptions$1): string;
|
|
|
17596
17609
|
* outputFormat: "html",
|
|
17597
17610
|
* bitSpans: true,
|
|
17598
17611
|
* });
|
|
17599
|
-
* for (const { index,
|
|
17600
|
-
* console.log(index, output.slice(
|
|
17612
|
+
* for (const { index, inputStart, inputEnd, outputStart, outputEnd } of bitSpans!.spans) {
|
|
17613
|
+
* console.log(index, source.slice(inputStart, inputEnd), output.slice(outputStart, outputEnd));
|
|
17601
17614
|
* }
|
|
17602
17615
|
*
|
|
17603
17616
|
* @param input - Bitmark, JSON, or mapped-format input text.
|
|
@@ -14799,30 +14799,42 @@ interface SemanticTokensOptions {
|
|
|
14799
14799
|
tokensLayout?: TokensLayout;
|
|
14800
14800
|
}
|
|
14801
14801
|
|
|
14802
|
-
/** Where one top-level bit's text is in
|
|
14802
|
+
/** Where one top-level bit's text is in the input and in the output. */
|
|
14803
14803
|
interface BitSpan {
|
|
14804
14804
|
/**
|
|
14805
14805
|
* The bit's position in the INPUT: its {@link splitBits} index for bitmark
|
|
14806
|
-
* input, its entry index in the top-level array for JSON input
|
|
14807
|
-
*
|
|
14806
|
+
* input, its entry index in the top-level array for JSON input, its
|
|
14807
|
+
* position among the bits the import finds for markup input. An entry that
|
|
14808
|
+
* is not a bit gets no span, so the indexes can have gaps.
|
|
14808
14809
|
*/
|
|
14809
14810
|
index: number;
|
|
14811
|
+
/**
|
|
14812
|
+
* Offset of the bit's first character in the input: for bitmark, its
|
|
14813
|
+
* {@link splitBits} `start`; for JSON, the start of its top-level entry;
|
|
14814
|
+
* for markup, the start of the element it was read from.
|
|
14815
|
+
*/
|
|
14816
|
+
inputStart: number;
|
|
14817
|
+
/**
|
|
14818
|
+
* Offset just past its last character in the input. A markup element that
|
|
14819
|
+
* holds the next bit's element ends where that element starts.
|
|
14820
|
+
*/
|
|
14821
|
+
inputEnd: number;
|
|
14810
14822
|
/** Offset of the bit's first character in the output. */
|
|
14811
|
-
|
|
14823
|
+
outputStart: number;
|
|
14812
14824
|
/**
|
|
14813
|
-
* Offset just past its last character. A bit that produced
|
|
14814
|
-
* (e.g. an empty bit in `"text"` output) has
|
|
14815
|
-
* where its output would begin.
|
|
14825
|
+
* Offset just past its last character in the output. A bit that produced
|
|
14826
|
+
* no output (e.g. an empty bit in `"text"` output) has
|
|
14827
|
+
* `outputEnd === outputStart`, at the point where its output would begin.
|
|
14816
14828
|
*/
|
|
14817
|
-
|
|
14829
|
+
outputEnd: number;
|
|
14818
14830
|
}
|
|
14819
14831
|
/**
|
|
14820
|
-
* The bit spans of one
|
|
14832
|
+
* The bit spans of one conversion, in the encoding their offsets are counted in
|
|
14821
14833
|
* — echoed, as {@link Diagnostics} and {@link SemanticTokens} echo theirs.
|
|
14822
14834
|
*/
|
|
14823
14835
|
interface BitSpans {
|
|
14824
14836
|
positionEncoding: PositionEncoding;
|
|
14825
|
-
/** In output order; they never overlap. */
|
|
14837
|
+
/** In output order; they never overlap, on either side. */
|
|
14826
14838
|
spans: BitSpan[];
|
|
14827
14839
|
}
|
|
14828
14840
|
/** Options for {@link convertWithDetails}: {@link ConvertOptions} plus one
|
|
@@ -14841,7 +14853,7 @@ interface ConvertResult {
|
|
|
14841
14853
|
/** The converted output — exactly what {@link convert} returns. */
|
|
14842
14854
|
output: string;
|
|
14843
14855
|
/**
|
|
14844
|
-
* Where each top-level bit
|
|
14856
|
+
* Where each top-level bit is in the input and in `output`. Present whenever `bitSpans`
|
|
14845
14857
|
* was asked for; `spans` is empty for an output that is not a document
|
|
14846
14858
|
* (`"lex"`, `"ast"`, `"semantic-tokens"`, `"diagnostics"`, a mapping
|
|
14847
14859
|
* report).
|
|
@@ -17580,15 +17592,16 @@ declare function objectsToBitmark(bits: readonly (Bit | AnyBit | BitEntry)[], op
|
|
|
17580
17592
|
declare function convert(input: string, options?: ConvertOptions$1): string;
|
|
17581
17593
|
/**
|
|
17582
17594
|
* {@link convert}, returning the output together with the extras asked for
|
|
17583
|
-
* (PLAN-221) — today `bitSpans`: where each top-level bit's text
|
|
17584
|
-
* the output, for linking
|
|
17595
|
+
* (PLAN-221) — today `bitSpans`: where each top-level bit's text is in the
|
|
17596
|
+
* input and in the output (PLAN-223), for linking the panes that show them
|
|
17597
|
+
* bit by bit. The
|
|
17585
17598
|
* conversion runs once; `output` is exactly what {@link convert} returns for
|
|
17586
17599
|
* the same input and options, and it throws exactly as {@link convert} does.
|
|
17587
17600
|
*
|
|
17588
17601
|
* Spans are reported for the document outputs — `"bitmark"`, `"json"`
|
|
17589
17602
|
* (compact or pretty), `"text"` and the markup formats (`"html"`, `"xml"`,
|
|
17590
|
-
* …). A span covers the bit's text only
|
|
17591
|
-
* nor the JSON array's `[` / `]`.
|
|
17603
|
+
* …), from any input format. A span covers the bit's text only, on either
|
|
17604
|
+
* side: never the separators between bits, nor the JSON array's `[` / `]`.
|
|
17592
17605
|
*
|
|
17593
17606
|
* @example
|
|
17594
17607
|
* const { output, bitSpans } = convertWithDetails(source, {
|
|
@@ -17596,8 +17609,8 @@ declare function convert(input: string, options?: ConvertOptions$1): string;
|
|
|
17596
17609
|
* outputFormat: "html",
|
|
17597
17610
|
* bitSpans: true,
|
|
17598
17611
|
* });
|
|
17599
|
-
* for (const { index,
|
|
17600
|
-
* console.log(index, output.slice(
|
|
17612
|
+
* for (const { index, inputStart, inputEnd, outputStart, outputEnd } of bitSpans!.spans) {
|
|
17613
|
+
* console.log(index, source.slice(inputStart, inputEnd), output.slice(outputStart, outputEnd));
|
|
17601
17614
|
* }
|
|
17602
17615
|
*
|
|
17603
17616
|
* @param input - Bitmark, JSON, or mapped-format input text.
|
|
@@ -691,8 +691,8 @@ var ConvertDetails = class _ConvertDetails {
|
|
|
691
691
|
}
|
|
692
692
|
}
|
|
693
693
|
/**
|
|
694
|
-
* The bit spans, flat `[index,
|
|
695
|
-
* asked for.
|
|
694
|
+
* The bit spans, flat `[index, inputStart, inputEnd, outputStart,
|
|
695
|
+
* outputEnd, …]` (PLAN-223 F5); `undefined` when not asked for.
|
|
696
696
|
* @returns {Uint32Array | undefined}
|
|
697
697
|
*/
|
|
698
698
|
bit_spans() {
|
|
@@ -1503,8 +1503,8 @@ var ConvertDetails2 = class _ConvertDetails {
|
|
|
1503
1503
|
}
|
|
1504
1504
|
}
|
|
1505
1505
|
/**
|
|
1506
|
-
* The bit spans, flat `[index,
|
|
1507
|
-
* asked for.
|
|
1506
|
+
* The bit spans, flat `[index, inputStart, inputEnd, outputStart,
|
|
1507
|
+
* outputEnd, …]` (PLAN-223 F5); `undefined` when not asked for.
|
|
1508
1508
|
* @returns {Uint32Array | undefined}
|
|
1509
1509
|
*/
|
|
1510
1510
|
bit_spans() {
|
|
@@ -2276,8 +2276,8 @@ var ConvertDetails3 = class _ConvertDetails {
|
|
|
2276
2276
|
}
|
|
2277
2277
|
}
|
|
2278
2278
|
/**
|
|
2279
|
-
* The bit spans, flat `[index,
|
|
2280
|
-
* asked for.
|
|
2279
|
+
* The bit spans, flat `[index, inputStart, inputEnd, outputStart,
|
|
2280
|
+
* outputEnd, …]` (PLAN-223 F5); `undefined` when not asked for.
|
|
2281
2281
|
* @returns {Uint32Array | undefined}
|
|
2282
2282
|
*/
|
|
2283
2283
|
bit_spans() {
|
|
@@ -2406,7 +2406,7 @@ var bitmark_json_wasm_default = __wbg_init3;
|
|
|
2406
2406
|
// src/generated/package_info.ts
|
|
2407
2407
|
var PACKAGE_INFO = {
|
|
2408
2408
|
"name": "@gmb/bitmark-parser",
|
|
2409
|
-
"version": "7.
|
|
2409
|
+
"version": "7.8.0",
|
|
2410
2410
|
"author": "Get More Brain Ltd <info@getmorebrain.com>",
|
|
2411
2411
|
"license": "ISC",
|
|
2412
2412
|
"description": "A parser for bitmark text, powered by WebAssembly."
|
|
@@ -3845,9 +3845,15 @@ function convertWithDetails(input, options = {}) {
|
|
|
3845
3845
|
const result = { output: details.take_data() };
|
|
3846
3846
|
const flat = details.bit_spans();
|
|
3847
3847
|
if (flat !== void 0) {
|
|
3848
|
-
const spans = new Array(flat.length /
|
|
3849
|
-
for (let i = 0, j = 0; j < flat.length; i++, j +=
|
|
3850
|
-
spans[i] = {
|
|
3848
|
+
const spans = new Array(flat.length / 5);
|
|
3849
|
+
for (let i = 0, j = 0; j < flat.length; i++, j += 5) {
|
|
3850
|
+
spans[i] = {
|
|
3851
|
+
index: flat[j],
|
|
3852
|
+
inputStart: flat[j + 1],
|
|
3853
|
+
inputEnd: flat[j + 2],
|
|
3854
|
+
outputStart: flat[j + 3],
|
|
3855
|
+
outputEnd: flat[j + 4]
|
|
3856
|
+
};
|
|
3851
3857
|
}
|
|
3852
3858
|
result.bitSpans = {
|
|
3853
3859
|
positionEncoding: details.bit_spans_encoding(),
|