@kreuzberg/html-to-markdown-wasm 3.5.5 → 3.6.0-rc.2

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.
@@ -505,6 +505,7 @@ export class WasmConversionOptions {
505
505
  * @param {string[] | null} [stripTags]
506
506
  * @param {string[] | null} [preserveTags]
507
507
  * @param {boolean | null} [skipImages]
508
+ * @param {WasmUrlEscapeStyle | null} [urlEscapeStyle]
508
509
  * @param {WasmLinkStyle | null} [linkStyle]
509
510
  * @param {WasmOutputFormat | null} [outputFormat]
510
511
  * @param {boolean | null} [includeDocumentStructure]
@@ -513,9 +514,10 @@ export class WasmConversionOptions {
513
514
  * @param {boolean | null} [captureSvg]
514
515
  * @param {boolean | null} [inferDimensions]
515
516
  * @param {string[] | null} [excludeSelectors]
517
+ * @param {WasmTierStrategy | null} [tierStrategy]
516
518
  * @param {number | null} [maxDepth]
517
519
  */
518
- constructor(headingStyle, listIndentType, listIndentWidth, bullets, strongEmSymbol, escapeAsterisks, escapeUnderscores, escapeMisc, escapeAscii, codeLanguage, autolinks, defaultTitle, brInTables, compactTables, highlightStyle, extractMetadata, whitespaceMode, stripNewlines, wrap, wrapWidth, convertAsInline, subSymbol, supSymbol, newlineStyle, codeBlockStyle, keepInlineImagesIn, preprocessing, encoding, debug, stripTags, preserveTags, skipImages, linkStyle, outputFormat, includeDocumentStructure, extractImages, maxImageSize, captureSvg, inferDimensions, excludeSelectors, maxDepth) {
520
+ constructor(headingStyle, listIndentType, listIndentWidth, bullets, strongEmSymbol, escapeAsterisks, escapeUnderscores, escapeMisc, escapeAscii, codeLanguage, autolinks, defaultTitle, brInTables, compactTables, highlightStyle, extractMetadata, whitespaceMode, stripNewlines, wrap, wrapWidth, convertAsInline, subSymbol, supSymbol, newlineStyle, codeBlockStyle, keepInlineImagesIn, preprocessing, encoding, debug, stripTags, preserveTags, skipImages, urlEscapeStyle, linkStyle, outputFormat, includeDocumentStructure, extractImages, maxImageSize, captureSvg, inferDimensions, excludeSelectors, tierStrategy, maxDepth) {
519
521
  var ptr0 = isLikeNone(bullets) ? 0 : passStringToWasm0(bullets, wasm.__wbindgen_export, wasm.__wbindgen_export2);
520
522
  var len0 = WASM_VECTOR_LEN;
521
523
  var ptr1 = isLikeNone(strongEmSymbol) ? 0 : passStringToWasm0(strongEmSymbol, wasm.__wbindgen_export, wasm.__wbindgen_export2);
@@ -541,7 +543,7 @@ export class WasmConversionOptions {
541
543
  var len9 = WASM_VECTOR_LEN;
542
544
  var ptr10 = isLikeNone(excludeSelectors) ? 0 : passArrayJsValueToWasm0(excludeSelectors, wasm.__wbindgen_export);
543
545
  var len10 = WASM_VECTOR_LEN;
544
- const ret = wasm.wasmconversionoptions_new(isLikeNone(headingStyle) ? 3 : headingStyle, isLikeNone(listIndentType) ? 2 : listIndentType, isLikeNone(listIndentWidth) ? Number.MAX_SAFE_INTEGER : (listIndentWidth) >>> 0, ptr0, len0, ptr1, len1, isLikeNone(escapeAsterisks) ? 0xFFFFFF : escapeAsterisks ? 1 : 0, isLikeNone(escapeUnderscores) ? 0xFFFFFF : escapeUnderscores ? 1 : 0, isLikeNone(escapeMisc) ? 0xFFFFFF : escapeMisc ? 1 : 0, isLikeNone(escapeAscii) ? 0xFFFFFF : escapeAscii ? 1 : 0, ptr2, len2, isLikeNone(autolinks) ? 0xFFFFFF : autolinks ? 1 : 0, isLikeNone(defaultTitle) ? 0xFFFFFF : defaultTitle ? 1 : 0, isLikeNone(brInTables) ? 0xFFFFFF : brInTables ? 1 : 0, isLikeNone(compactTables) ? 0xFFFFFF : compactTables ? 1 : 0, isLikeNone(highlightStyle) ? 4 : highlightStyle, isLikeNone(extractMetadata) ? 0xFFFFFF : extractMetadata ? 1 : 0, isLikeNone(whitespaceMode) ? 2 : whitespaceMode, isLikeNone(stripNewlines) ? 0xFFFFFF : stripNewlines ? 1 : 0, isLikeNone(wrap) ? 0xFFFFFF : wrap ? 1 : 0, isLikeNone(wrapWidth) ? Number.MAX_SAFE_INTEGER : (wrapWidth) >>> 0, isLikeNone(convertAsInline) ? 0xFFFFFF : convertAsInline ? 1 : 0, ptr3, len3, ptr4, len4, isLikeNone(newlineStyle) ? 2 : newlineStyle, isLikeNone(codeBlockStyle) ? 3 : codeBlockStyle, ptr5, len5, ptr6, ptr7, len7, isLikeNone(debug) ? 0xFFFFFF : debug ? 1 : 0, ptr8, len8, ptr9, len9, isLikeNone(skipImages) ? 0xFFFFFF : skipImages ? 1 : 0, isLikeNone(linkStyle) ? 2 : linkStyle, isLikeNone(outputFormat) ? 3 : outputFormat, isLikeNone(includeDocumentStructure) ? 0xFFFFFF : includeDocumentStructure ? 1 : 0, isLikeNone(extractImages) ? 0xFFFFFF : extractImages ? 1 : 0, !isLikeNone(maxImageSize), isLikeNone(maxImageSize) ? BigInt(0) : maxImageSize, isLikeNone(captureSvg) ? 0xFFFFFF : captureSvg ? 1 : 0, isLikeNone(inferDimensions) ? 0xFFFFFF : inferDimensions ? 1 : 0, ptr10, len10, isLikeNone(maxDepth) ? Number.MAX_SAFE_INTEGER : (maxDepth) >>> 0);
546
+ const ret = wasm.wasmconversionoptions_new(isLikeNone(headingStyle) ? 3 : headingStyle, isLikeNone(listIndentType) ? 2 : listIndentType, isLikeNone(listIndentWidth) ? Number.MAX_SAFE_INTEGER : (listIndentWidth) >>> 0, ptr0, len0, ptr1, len1, isLikeNone(escapeAsterisks) ? 0xFFFFFF : escapeAsterisks ? 1 : 0, isLikeNone(escapeUnderscores) ? 0xFFFFFF : escapeUnderscores ? 1 : 0, isLikeNone(escapeMisc) ? 0xFFFFFF : escapeMisc ? 1 : 0, isLikeNone(escapeAscii) ? 0xFFFFFF : escapeAscii ? 1 : 0, ptr2, len2, isLikeNone(autolinks) ? 0xFFFFFF : autolinks ? 1 : 0, isLikeNone(defaultTitle) ? 0xFFFFFF : defaultTitle ? 1 : 0, isLikeNone(brInTables) ? 0xFFFFFF : brInTables ? 1 : 0, isLikeNone(compactTables) ? 0xFFFFFF : compactTables ? 1 : 0, isLikeNone(highlightStyle) ? 4 : highlightStyle, isLikeNone(extractMetadata) ? 0xFFFFFF : extractMetadata ? 1 : 0, isLikeNone(whitespaceMode) ? 2 : whitespaceMode, isLikeNone(stripNewlines) ? 0xFFFFFF : stripNewlines ? 1 : 0, isLikeNone(wrap) ? 0xFFFFFF : wrap ? 1 : 0, isLikeNone(wrapWidth) ? Number.MAX_SAFE_INTEGER : (wrapWidth) >>> 0, isLikeNone(convertAsInline) ? 0xFFFFFF : convertAsInline ? 1 : 0, ptr3, len3, ptr4, len4, isLikeNone(newlineStyle) ? 2 : newlineStyle, isLikeNone(codeBlockStyle) ? 3 : codeBlockStyle, ptr5, len5, ptr6, ptr7, len7, isLikeNone(debug) ? 0xFFFFFF : debug ? 1 : 0, ptr8, len8, ptr9, len9, isLikeNone(skipImages) ? 0xFFFFFF : skipImages ? 1 : 0, isLikeNone(urlEscapeStyle) ? 2 : urlEscapeStyle, isLikeNone(linkStyle) ? 2 : linkStyle, isLikeNone(outputFormat) ? 3 : outputFormat, isLikeNone(includeDocumentStructure) ? 0xFFFFFF : includeDocumentStructure ? 1 : 0, isLikeNone(extractImages) ? 0xFFFFFF : extractImages ? 1 : 0, !isLikeNone(maxImageSize), isLikeNone(maxImageSize) ? BigInt(0) : maxImageSize, isLikeNone(captureSvg) ? 0xFFFFFF : captureSvg ? 1 : 0, isLikeNone(inferDimensions) ? 0xFFFFFF : inferDimensions ? 1 : 0, ptr10, len10, isLikeNone(tierStrategy) ? 3 : tierStrategy, isLikeNone(maxDepth) ? Number.MAX_SAFE_INTEGER : (maxDepth) >>> 0);
545
547
  this.__wbg_ptr = ret;
546
548
  WasmConversionOptionsFinalization.register(this, this.__wbg_ptr, this);
547
549
  return this;
@@ -857,6 +859,18 @@ export class WasmConversionOptions {
857
859
  const len0 = WASM_VECTOR_LEN;
858
860
  wasm.wasmconversionoptions_set_supSymbol(this.__wbg_ptr, ptr0, len0);
859
861
  }
862
+ /**
863
+ * @param {WasmTierStrategy} value
864
+ */
865
+ set tierStrategy(value) {
866
+ wasm.wasmconversionoptions_set_tierStrategy(this.__wbg_ptr, value);
867
+ }
868
+ /**
869
+ * @param {WasmUrlEscapeStyle} value
870
+ */
871
+ set urlEscapeStyle(value) {
872
+ wasm.wasmconversionoptions_set_urlEscapeStyle(this.__wbg_ptr, value);
873
+ }
860
874
  /**
861
875
  * @param {WasmVisitorHandle | null} [value]
862
876
  */
@@ -973,6 +987,44 @@ export class WasmConversionOptions {
973
987
  wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
974
988
  }
975
989
  }
990
+ /**
991
+ * @returns {string}
992
+ */
993
+ get tierStrategy() {
994
+ let deferred1_0;
995
+ let deferred1_1;
996
+ try {
997
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
998
+ wasm.wasmconversionoptions_tierStrategy(retptr, this.__wbg_ptr);
999
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1000
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1001
+ deferred1_0 = r0;
1002
+ deferred1_1 = r1;
1003
+ return getStringFromWasm0(r0, r1);
1004
+ } finally {
1005
+ wasm.__wbindgen_add_to_stack_pointer(16);
1006
+ wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
1007
+ }
1008
+ }
1009
+ /**
1010
+ * @returns {string}
1011
+ */
1012
+ get urlEscapeStyle() {
1013
+ let deferred1_0;
1014
+ let deferred1_1;
1015
+ try {
1016
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1017
+ wasm.wasmconversionoptions_urlEscapeStyle(retptr, this.__wbg_ptr);
1018
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1019
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1020
+ deferred1_0 = r0;
1021
+ deferred1_1 = r1;
1022
+ return getStringFromWasm0(r0, r1);
1023
+ } finally {
1024
+ wasm.__wbindgen_add_to_stack_pointer(16);
1025
+ wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
1026
+ }
1027
+ }
976
1028
  /**
977
1029
  * @returns {WasmVisitorHandle | undefined}
978
1030
  */
@@ -1402,6 +1454,7 @@ export class WasmConversionOptionsUpdate {
1402
1454
  * @param {string[] | null} [stripTags]
1403
1455
  * @param {string[] | null} [preserveTags]
1404
1456
  * @param {boolean | null} [skipImages]
1457
+ * @param {WasmUrlEscapeStyle | null} [urlEscapeStyle]
1405
1458
  * @param {WasmLinkStyle | null} [linkStyle]
1406
1459
  * @param {WasmOutputFormat | null} [outputFormat]
1407
1460
  * @param {boolean | null} [includeDocumentStructure]
@@ -1411,8 +1464,9 @@ export class WasmConversionOptionsUpdate {
1411
1464
  * @param {boolean | null} [inferDimensions]
1412
1465
  * @param {number | null} [maxDepth]
1413
1466
  * @param {string[] | null} [excludeSelectors]
1467
+ * @param {WasmTierStrategy | null} [tierStrategy]
1414
1468
  */
1415
- constructor(headingStyle, listIndentType, listIndentWidth, bullets, strongEmSymbol, escapeAsterisks, escapeUnderscores, escapeMisc, escapeAscii, codeLanguage, autolinks, defaultTitle, brInTables, compactTables, highlightStyle, extractMetadata, whitespaceMode, stripNewlines, wrap, wrapWidth, convertAsInline, subSymbol, supSymbol, newlineStyle, codeBlockStyle, keepInlineImagesIn, preprocessing, encoding, debug, stripTags, preserveTags, skipImages, linkStyle, outputFormat, includeDocumentStructure, extractImages, maxImageSize, captureSvg, inferDimensions, maxDepth, excludeSelectors) {
1469
+ constructor(headingStyle, listIndentType, listIndentWidth, bullets, strongEmSymbol, escapeAsterisks, escapeUnderscores, escapeMisc, escapeAscii, codeLanguage, autolinks, defaultTitle, brInTables, compactTables, highlightStyle, extractMetadata, whitespaceMode, stripNewlines, wrap, wrapWidth, convertAsInline, subSymbol, supSymbol, newlineStyle, codeBlockStyle, keepInlineImagesIn, preprocessing, encoding, debug, stripTags, preserveTags, skipImages, urlEscapeStyle, linkStyle, outputFormat, includeDocumentStructure, extractImages, maxImageSize, captureSvg, inferDimensions, maxDepth, excludeSelectors, tierStrategy) {
1416
1470
  var ptr0 = isLikeNone(bullets) ? 0 : passStringToWasm0(bullets, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1417
1471
  var len0 = WASM_VECTOR_LEN;
1418
1472
  var ptr1 = isLikeNone(strongEmSymbol) ? 0 : passStringToWasm0(strongEmSymbol, wasm.__wbindgen_export, wasm.__wbindgen_export2);
@@ -1438,7 +1492,7 @@ export class WasmConversionOptionsUpdate {
1438
1492
  var len9 = WASM_VECTOR_LEN;
1439
1493
  var ptr10 = isLikeNone(excludeSelectors) ? 0 : passArrayJsValueToWasm0(excludeSelectors, wasm.__wbindgen_export);
1440
1494
  var len10 = WASM_VECTOR_LEN;
1441
- const ret = wasm.wasmconversionoptionsupdate_new(isLikeNone(headingStyle) ? 3 : headingStyle, isLikeNone(listIndentType) ? 2 : listIndentType, isLikeNone(listIndentWidth) ? Number.MAX_SAFE_INTEGER : (listIndentWidth) >>> 0, ptr0, len0, ptr1, len1, isLikeNone(escapeAsterisks) ? 0xFFFFFF : escapeAsterisks ? 1 : 0, isLikeNone(escapeUnderscores) ? 0xFFFFFF : escapeUnderscores ? 1 : 0, isLikeNone(escapeMisc) ? 0xFFFFFF : escapeMisc ? 1 : 0, isLikeNone(escapeAscii) ? 0xFFFFFF : escapeAscii ? 1 : 0, ptr2, len2, isLikeNone(autolinks) ? 0xFFFFFF : autolinks ? 1 : 0, isLikeNone(defaultTitle) ? 0xFFFFFF : defaultTitle ? 1 : 0, isLikeNone(brInTables) ? 0xFFFFFF : brInTables ? 1 : 0, isLikeNone(compactTables) ? 0xFFFFFF : compactTables ? 1 : 0, isLikeNone(highlightStyle) ? 4 : highlightStyle, isLikeNone(extractMetadata) ? 0xFFFFFF : extractMetadata ? 1 : 0, isLikeNone(whitespaceMode) ? 2 : whitespaceMode, isLikeNone(stripNewlines) ? 0xFFFFFF : stripNewlines ? 1 : 0, isLikeNone(wrap) ? 0xFFFFFF : wrap ? 1 : 0, isLikeNone(wrapWidth) ? Number.MAX_SAFE_INTEGER : (wrapWidth) >>> 0, isLikeNone(convertAsInline) ? 0xFFFFFF : convertAsInline ? 1 : 0, ptr3, len3, ptr4, len4, isLikeNone(newlineStyle) ? 2 : newlineStyle, isLikeNone(codeBlockStyle) ? 3 : codeBlockStyle, ptr5, len5, ptr6, ptr7, len7, isLikeNone(debug) ? 0xFFFFFF : debug ? 1 : 0, ptr8, len8, ptr9, len9, isLikeNone(skipImages) ? 0xFFFFFF : skipImages ? 1 : 0, isLikeNone(linkStyle) ? 2 : linkStyle, isLikeNone(outputFormat) ? 3 : outputFormat, isLikeNone(includeDocumentStructure) ? 0xFFFFFF : includeDocumentStructure ? 1 : 0, isLikeNone(extractImages) ? 0xFFFFFF : extractImages ? 1 : 0, !isLikeNone(maxImageSize), isLikeNone(maxImageSize) ? BigInt(0) : maxImageSize, isLikeNone(captureSvg) ? 0xFFFFFF : captureSvg ? 1 : 0, isLikeNone(inferDimensions) ? 0xFFFFFF : inferDimensions ? 1 : 0, isLikeNone(maxDepth) ? Number.MAX_SAFE_INTEGER : (maxDepth) >>> 0, ptr10, len10);
1495
+ const ret = wasm.wasmconversionoptionsupdate_new(isLikeNone(headingStyle) ? 3 : headingStyle, isLikeNone(listIndentType) ? 2 : listIndentType, isLikeNone(listIndentWidth) ? Number.MAX_SAFE_INTEGER : (listIndentWidth) >>> 0, ptr0, len0, ptr1, len1, isLikeNone(escapeAsterisks) ? 0xFFFFFF : escapeAsterisks ? 1 : 0, isLikeNone(escapeUnderscores) ? 0xFFFFFF : escapeUnderscores ? 1 : 0, isLikeNone(escapeMisc) ? 0xFFFFFF : escapeMisc ? 1 : 0, isLikeNone(escapeAscii) ? 0xFFFFFF : escapeAscii ? 1 : 0, ptr2, len2, isLikeNone(autolinks) ? 0xFFFFFF : autolinks ? 1 : 0, isLikeNone(defaultTitle) ? 0xFFFFFF : defaultTitle ? 1 : 0, isLikeNone(brInTables) ? 0xFFFFFF : brInTables ? 1 : 0, isLikeNone(compactTables) ? 0xFFFFFF : compactTables ? 1 : 0, isLikeNone(highlightStyle) ? 4 : highlightStyle, isLikeNone(extractMetadata) ? 0xFFFFFF : extractMetadata ? 1 : 0, isLikeNone(whitespaceMode) ? 2 : whitespaceMode, isLikeNone(stripNewlines) ? 0xFFFFFF : stripNewlines ? 1 : 0, isLikeNone(wrap) ? 0xFFFFFF : wrap ? 1 : 0, isLikeNone(wrapWidth) ? Number.MAX_SAFE_INTEGER : (wrapWidth) >>> 0, isLikeNone(convertAsInline) ? 0xFFFFFF : convertAsInline ? 1 : 0, ptr3, len3, ptr4, len4, isLikeNone(newlineStyle) ? 2 : newlineStyle, isLikeNone(codeBlockStyle) ? 3 : codeBlockStyle, ptr5, len5, ptr6, ptr7, len7, isLikeNone(debug) ? 0xFFFFFF : debug ? 1 : 0, ptr8, len8, ptr9, len9, isLikeNone(skipImages) ? 0xFFFFFF : skipImages ? 1 : 0, isLikeNone(urlEscapeStyle) ? 2 : urlEscapeStyle, isLikeNone(linkStyle) ? 2 : linkStyle, isLikeNone(outputFormat) ? 3 : outputFormat, isLikeNone(includeDocumentStructure) ? 0xFFFFFF : includeDocumentStructure ? 1 : 0, isLikeNone(extractImages) ? 0xFFFFFF : extractImages ? 1 : 0, !isLikeNone(maxImageSize), isLikeNone(maxImageSize) ? BigInt(0) : maxImageSize, isLikeNone(captureSvg) ? 0xFFFFFF : captureSvg ? 1 : 0, isLikeNone(inferDimensions) ? 0xFFFFFF : inferDimensions ? 1 : 0, isLikeNone(maxDepth) ? Number.MAX_SAFE_INTEGER : (maxDepth) >>> 0, ptr10, len10, isLikeNone(tierStrategy) ? 3 : tierStrategy);
1442
1496
  this.__wbg_ptr = ret;
1443
1497
  WasmConversionOptionsUpdateFinalization.register(this, this.__wbg_ptr, this);
1444
1498
  return this;
@@ -1760,6 +1814,18 @@ export class WasmConversionOptionsUpdate {
1760
1814
  var len0 = WASM_VECTOR_LEN;
1761
1815
  wasm.wasmconversionoptionsupdate_set_supSymbol(this.__wbg_ptr, ptr0, len0);
1762
1816
  }
1817
+ /**
1818
+ * @param {WasmTierStrategy | null} [value]
1819
+ */
1820
+ set tierStrategy(value) {
1821
+ wasm.wasmconversionoptionsupdate_set_tierStrategy(this.__wbg_ptr, isLikeNone(value) ? 3 : value);
1822
+ }
1823
+ /**
1824
+ * @param {WasmUrlEscapeStyle | null} [value]
1825
+ */
1826
+ set urlEscapeStyle(value) {
1827
+ wasm.wasmconversionoptionsupdate_set_urlEscapeStyle(this.__wbg_ptr, isLikeNone(value) ? 2 : value);
1828
+ }
1763
1829
  /**
1764
1830
  * @param {WasmVisitorHandle | null} [value]
1765
1831
  */
@@ -1879,6 +1945,44 @@ export class WasmConversionOptionsUpdate {
1879
1945
  wasm.__wbindgen_add_to_stack_pointer(16);
1880
1946
  }
1881
1947
  }
1948
+ /**
1949
+ * @returns {string | undefined}
1950
+ */
1951
+ get tierStrategy() {
1952
+ try {
1953
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1954
+ wasm.wasmconversionoptionsupdate_tierStrategy(retptr, this.__wbg_ptr);
1955
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1956
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1957
+ let v1;
1958
+ if (r0 !== 0) {
1959
+ v1 = getStringFromWasm0(r0, r1).slice();
1960
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1961
+ }
1962
+ return v1;
1963
+ } finally {
1964
+ wasm.__wbindgen_add_to_stack_pointer(16);
1965
+ }
1966
+ }
1967
+ /**
1968
+ * @returns {string | undefined}
1969
+ */
1970
+ get urlEscapeStyle() {
1971
+ try {
1972
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1973
+ wasm.wasmconversionoptionsupdate_urlEscapeStyle(retptr, this.__wbg_ptr);
1974
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1975
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1976
+ let v1;
1977
+ if (r0 !== 0) {
1978
+ v1 = getStringFromWasm0(r0, r1).slice();
1979
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1980
+ }
1981
+ return v1;
1982
+ } finally {
1983
+ wasm.__wbindgen_add_to_stack_pointer(16);
1984
+ }
1985
+ }
1882
1986
  /**
1883
1987
  * @returns {WasmVisitorHandle | undefined}
1884
1988
  */
@@ -5183,6 +5287,36 @@ export const WasmTextDirection = Object.freeze({
5183
5287
  Auto: 2, "2": "Auto",
5184
5288
  });
5185
5289
 
5290
+ /**
5291
+ * Controls which conversion tier is used.
5292
+ * @enum {0 | 1 | 2}
5293
+ */
5294
+ export const WasmTierStrategy = Object.freeze({
5295
+ Auto: 0, "0": "Auto",
5296
+ Tier2: 1, "1": "Tier2",
5297
+ Tier1: 2, "2": "Tier1",
5298
+ });
5299
+
5300
+ /**
5301
+ * URL encoding strategy for link and image destinations.
5302
+ *
5303
+ * Controls how special characters in URL destinations are handled when they
5304
+ * require escaping to produce valid Markdown.
5305
+ *
5306
+ * The `Angle` variant (default) wraps the destination in angle brackets:
5307
+ * `[text](<url with spaces>)`. This is the CommonMark-specified escape hatch
5308
+ * but breaks when the URL itself contains `>`.
5309
+ *
5310
+ * The `Percent` variant percent-encodes every character that is not an RFC 3986
5311
+ * unreserved character or `/`, producing a destination safe for all Markdown
5312
+ * parsers: `[text](url%20with%20spaces)`.
5313
+ * @enum {0 | 1}
5314
+ */
5315
+ export const WasmUrlEscapeStyle = Object.freeze({
5316
+ Angle: 0, "0": "Angle",
5317
+ Percent: 1, "1": "Percent",
5318
+ });
5319
+
5186
5320
  /**
5187
5321
  * Result of a visitor callback.
5188
5322
  *
@@ -5267,7 +5401,12 @@ export const WasmWhitespaceMode = Object.freeze({
5267
5401
  * # Arguments
5268
5402
  *
5269
5403
  * * `html` — the HTML string to convert.
5270
- * * `options` — optional conversion options. Defaults to `ConversionOptions.default`.
5404
+ * * `options` — conversion options. The parameter bound is
5405
+ * `impl Into<Option<ConversionOptions>>`, so any of the following call shapes are accepted:
5406
+ * - `convert(html, ConversionOptions.default())` — bare options.
5407
+ * - `convert(html, opts)` — bare options.
5408
+ * - `convert(html, Some(opts))` — explicit `Option`.
5409
+ * - `convert(html, None)` — fall back to `ConversionOptions.default`.
5271
5410
  *
5272
5411
  * # Example
5273
5412
  *
@@ -59,7 +59,7 @@ export const wasmconversionoptions_listIndentType: (a: number, b: number) => voi
59
59
  export const wasmconversionoptions_listIndentWidth: (a: number) => number;
60
60
  export const wasmconversionoptions_maxDepth: (a: number) => number;
61
61
  export const wasmconversionoptions_maxImageSize: (a: number) => bigint;
62
- export const wasmconversionoptions_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: bigint, v1: number, w1: number, x1: number, y1: number, z1: number) => number;
62
+ export const wasmconversionoptions_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: bigint, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number) => number;
63
63
  export const wasmconversionoptions_newlineStyle: (a: number, b: number) => void;
64
64
  export const wasmconversionoptions_outputFormat: (a: number, b: number) => void;
65
65
  export const wasmconversionoptions_preprocessing: (a: number) => number;
@@ -102,6 +102,8 @@ export const wasmconversionoptions_set_stripTags: (a: number, b: number, c: numb
102
102
  export const wasmconversionoptions_set_strongEmSymbol: (a: number, b: number, c: number) => void;
103
103
  export const wasmconversionoptions_set_subSymbol: (a: number, b: number, c: number) => void;
104
104
  export const wasmconversionoptions_set_supSymbol: (a: number, b: number, c: number) => void;
105
+ export const wasmconversionoptions_set_tierStrategy: (a: number, b: number) => void;
106
+ export const wasmconversionoptions_set_urlEscapeStyle: (a: number, b: number) => void;
105
107
  export const wasmconversionoptions_set_visitor: (a: number, b: number) => void;
106
108
  export const wasmconversionoptions_set_whitespaceMode: (a: number, b: number) => void;
107
109
  export const wasmconversionoptions_set_wrap: (a: number, b: number) => void;
@@ -112,6 +114,8 @@ export const wasmconversionoptions_stripTags: (a: number, b: number) => void;
112
114
  export const wasmconversionoptions_strongEmSymbol: (a: number, b: number) => void;
113
115
  export const wasmconversionoptions_subSymbol: (a: number, b: number) => void;
114
116
  export const wasmconversionoptions_supSymbol: (a: number, b: number) => void;
117
+ export const wasmconversionoptions_tierStrategy: (a: number, b: number) => void;
118
+ export const wasmconversionoptions_urlEscapeStyle: (a: number, b: number) => void;
115
119
  export const wasmconversionoptions_visitor: (a: number) => number;
116
120
  export const wasmconversionoptions_whitespaceMode: (a: number, b: number) => void;
117
121
  export const wasmconversionoptions_wrap: (a: number) => number;
@@ -145,7 +149,7 @@ export const wasmconversionoptionsupdate_listIndentType: (a: number, b: number)
145
149
  export const wasmconversionoptionsupdate_listIndentWidth: (a: number) => number;
146
150
  export const wasmconversionoptionsupdate_maxDepth: (a: number) => number;
147
151
  export const wasmconversionoptionsupdate_maxImageSize: (a: number, b: number) => void;
148
- export const wasmconversionoptionsupdate_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: bigint, v1: number, w1: number, x1: number, y1: number, z1: number) => number;
152
+ export const wasmconversionoptionsupdate_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: bigint, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number) => number;
149
153
  export const wasmconversionoptionsupdate_newlineStyle: (a: number, b: number) => void;
150
154
  export const wasmconversionoptionsupdate_outputFormat: (a: number, b: number) => void;
151
155
  export const wasmconversionoptionsupdate_preprocessing: (a: number) => number;
@@ -188,6 +192,8 @@ export const wasmconversionoptionsupdate_set_stripTags: (a: number, b: number, c
188
192
  export const wasmconversionoptionsupdate_set_strongEmSymbol: (a: number, b: number, c: number) => void;
189
193
  export const wasmconversionoptionsupdate_set_subSymbol: (a: number, b: number, c: number) => void;
190
194
  export const wasmconversionoptionsupdate_set_supSymbol: (a: number, b: number, c: number) => void;
195
+ export const wasmconversionoptionsupdate_set_tierStrategy: (a: number, b: number) => void;
196
+ export const wasmconversionoptionsupdate_set_urlEscapeStyle: (a: number, b: number) => void;
191
197
  export const wasmconversionoptionsupdate_set_visitor: (a: number, b: number) => void;
192
198
  export const wasmconversionoptionsupdate_set_whitespaceMode: (a: number, b: number) => void;
193
199
  export const wasmconversionoptionsupdate_set_wrap: (a: number, b: number) => void;
@@ -198,6 +204,8 @@ export const wasmconversionoptionsupdate_stripTags: (a: number, b: number) => vo
198
204
  export const wasmconversionoptionsupdate_strongEmSymbol: (a: number, b: number) => void;
199
205
  export const wasmconversionoptionsupdate_subSymbol: (a: number, b: number) => void;
200
206
  export const wasmconversionoptionsupdate_supSymbol: (a: number, b: number) => void;
207
+ export const wasmconversionoptionsupdate_tierStrategy: (a: number, b: number) => void;
208
+ export const wasmconversionoptionsupdate_urlEscapeStyle: (a: number, b: number) => void;
201
209
  export const wasmconversionoptionsupdate_visitor: (a: number) => number;
202
210
  export const wasmconversionoptionsupdate_whitespaceMode: (a: number, b: number) => void;
203
211
  export const wasmconversionoptionsupdate_wrap: (a: number) => number;
@@ -126,6 +126,25 @@ const markdown = result.content;
126
126
  console.log(markdown);
127
127
  ```
128
128
 
129
+ ## Architecture
130
+
131
+ The converter routes each input through one of three tiers based on a fast prescan of the byte stream:
132
+
133
+ 1. **Tier-1 — single-pass byte scanner.** Handles 110+ HTML tags directly. Bails on any construct it cannot prove byte-equivalent to Tier-2.
134
+ 2. **Tier-2 — DOM walker.** Picks up Tier-1 bails and inputs the classifier rejected up front.
135
+ 3. **Tier-3 — standards-conformant parser.** Engaged for malformed HTML requiring full HTML5 repair.
136
+
137
+ The dispatcher is invisible to the caller. Output is byte-identical across tiers — enforced by a 116-snapshot oracle.
138
+
139
+ ## Capabilities
140
+
141
+ - **16 languages, one Rust core.** Rust, Python, Node.js, WASM, Java, Go, C#, PHP, Ruby, Elixir, R, Dart, Kotlin (Android), Swift, Zig, C ABI.
142
+ - **CommonMark-compatible Markdown** with GFM-style tables.
143
+ - **Djot output**: set `output_format = "djot"` (see Djot Output Format section below).
144
+ - **Real-HTML robust**: unclosed tags, CDATA, custom elements, malformed entities, nested tables, mixed encodings handled without losing content.
145
+ - **Metadata extraction**, **visitor API**, **inline images**, **configurable preprocessing presets**.
146
+ - **Per-group regression gates in CI**: every PR runs the bench harness against per-group thresholds.
147
+
129
148
  ## API Reference
130
149
 
131
150
  ### Core Function
@@ -40,7 +40,7 @@ export class WasmConversionOptions {
40
40
  free(): void;
41
41
  [Symbol.dispose](): void;
42
42
  static default(): WasmConversionOptions;
43
- constructor(headingStyle?: WasmHeadingStyle | null, listIndentType?: WasmListIndentType | null, listIndentWidth?: number | null, bullets?: string | null, strongEmSymbol?: string | null, escapeAsterisks?: boolean | null, escapeUnderscores?: boolean | null, escapeMisc?: boolean | null, escapeAscii?: boolean | null, codeLanguage?: string | null, autolinks?: boolean | null, defaultTitle?: boolean | null, brInTables?: boolean | null, compactTables?: boolean | null, highlightStyle?: WasmHighlightStyle | null, extractMetadata?: boolean | null, whitespaceMode?: WasmWhitespaceMode | null, stripNewlines?: boolean | null, wrap?: boolean | null, wrapWidth?: number | null, convertAsInline?: boolean | null, subSymbol?: string | null, supSymbol?: string | null, newlineStyle?: WasmNewlineStyle | null, codeBlockStyle?: WasmCodeBlockStyle | null, keepInlineImagesIn?: string[] | null, preprocessing?: WasmPreprocessingOptions | null, encoding?: string | null, debug?: boolean | null, stripTags?: string[] | null, preserveTags?: string[] | null, skipImages?: boolean | null, linkStyle?: WasmLinkStyle | null, outputFormat?: WasmOutputFormat | null, includeDocumentStructure?: boolean | null, extractImages?: boolean | null, maxImageSize?: bigint | null, captureSvg?: boolean | null, inferDimensions?: boolean | null, excludeSelectors?: string[] | null, maxDepth?: number | null);
43
+ constructor(headingStyle?: WasmHeadingStyle | null, listIndentType?: WasmListIndentType | null, listIndentWidth?: number | null, bullets?: string | null, strongEmSymbol?: string | null, escapeAsterisks?: boolean | null, escapeUnderscores?: boolean | null, escapeMisc?: boolean | null, escapeAscii?: boolean | null, codeLanguage?: string | null, autolinks?: boolean | null, defaultTitle?: boolean | null, brInTables?: boolean | null, compactTables?: boolean | null, highlightStyle?: WasmHighlightStyle | null, extractMetadata?: boolean | null, whitespaceMode?: WasmWhitespaceMode | null, stripNewlines?: boolean | null, wrap?: boolean | null, wrapWidth?: number | null, convertAsInline?: boolean | null, subSymbol?: string | null, supSymbol?: string | null, newlineStyle?: WasmNewlineStyle | null, codeBlockStyle?: WasmCodeBlockStyle | null, keepInlineImagesIn?: string[] | null, preprocessing?: WasmPreprocessingOptions | null, encoding?: string | null, debug?: boolean | null, stripTags?: string[] | null, preserveTags?: string[] | null, skipImages?: boolean | null, urlEscapeStyle?: WasmUrlEscapeStyle | null, linkStyle?: WasmLinkStyle | null, outputFormat?: WasmOutputFormat | null, includeDocumentStructure?: boolean | null, extractImages?: boolean | null, maxImageSize?: bigint | null, captureSvg?: boolean | null, inferDimensions?: boolean | null, excludeSelectors?: string[] | null, tierStrategy?: WasmTierStrategy | null, maxDepth?: number | null);
44
44
  autolinks: boolean;
45
45
  brInTables: boolean;
46
46
  bullets: string;
@@ -87,6 +87,10 @@ export class WasmConversionOptions {
87
87
  strongEmSymbol: string;
88
88
  subSymbol: string;
89
89
  supSymbol: string;
90
+ get tierStrategy(): string;
91
+ set tierStrategy(value: WasmTierStrategy);
92
+ get urlEscapeStyle(): string;
93
+ set urlEscapeStyle(value: WasmUrlEscapeStyle);
90
94
  get visitor(): WasmVisitorHandle | undefined;
91
95
  set visitor(value: WasmVisitorHandle | null | undefined);
92
96
  get whitespaceMode(): string;
@@ -105,7 +109,7 @@ export class WasmConversionOptionsUpdate {
105
109
  free(): void;
106
110
  [Symbol.dispose](): void;
107
111
  static default(): WasmConversionOptionsUpdate;
108
- constructor(headingStyle?: WasmHeadingStyle | null, listIndentType?: WasmListIndentType | null, listIndentWidth?: number | null, bullets?: string | null, strongEmSymbol?: string | null, escapeAsterisks?: boolean | null, escapeUnderscores?: boolean | null, escapeMisc?: boolean | null, escapeAscii?: boolean | null, codeLanguage?: string | null, autolinks?: boolean | null, defaultTitle?: boolean | null, brInTables?: boolean | null, compactTables?: boolean | null, highlightStyle?: WasmHighlightStyle | null, extractMetadata?: boolean | null, whitespaceMode?: WasmWhitespaceMode | null, stripNewlines?: boolean | null, wrap?: boolean | null, wrapWidth?: number | null, convertAsInline?: boolean | null, subSymbol?: string | null, supSymbol?: string | null, newlineStyle?: WasmNewlineStyle | null, codeBlockStyle?: WasmCodeBlockStyle | null, keepInlineImagesIn?: string[] | null, preprocessing?: WasmPreprocessingOptionsUpdate | null, encoding?: string | null, debug?: boolean | null, stripTags?: string[] | null, preserveTags?: string[] | null, skipImages?: boolean | null, linkStyle?: WasmLinkStyle | null, outputFormat?: WasmOutputFormat | null, includeDocumentStructure?: boolean | null, extractImages?: boolean | null, maxImageSize?: bigint | null, captureSvg?: boolean | null, inferDimensions?: boolean | null, maxDepth?: number | null, excludeSelectors?: string[] | null);
112
+ constructor(headingStyle?: WasmHeadingStyle | null, listIndentType?: WasmListIndentType | null, listIndentWidth?: number | null, bullets?: string | null, strongEmSymbol?: string | null, escapeAsterisks?: boolean | null, escapeUnderscores?: boolean | null, escapeMisc?: boolean | null, escapeAscii?: boolean | null, codeLanguage?: string | null, autolinks?: boolean | null, defaultTitle?: boolean | null, brInTables?: boolean | null, compactTables?: boolean | null, highlightStyle?: WasmHighlightStyle | null, extractMetadata?: boolean | null, whitespaceMode?: WasmWhitespaceMode | null, stripNewlines?: boolean | null, wrap?: boolean | null, wrapWidth?: number | null, convertAsInline?: boolean | null, subSymbol?: string | null, supSymbol?: string | null, newlineStyle?: WasmNewlineStyle | null, codeBlockStyle?: WasmCodeBlockStyle | null, keepInlineImagesIn?: string[] | null, preprocessing?: WasmPreprocessingOptionsUpdate | null, encoding?: string | null, debug?: boolean | null, stripTags?: string[] | null, preserveTags?: string[] | null, skipImages?: boolean | null, urlEscapeStyle?: WasmUrlEscapeStyle | null, linkStyle?: WasmLinkStyle | null, outputFormat?: WasmOutputFormat | null, includeDocumentStructure?: boolean | null, extractImages?: boolean | null, maxImageSize?: bigint | null, captureSvg?: boolean | null, inferDimensions?: boolean | null, maxDepth?: number | null, excludeSelectors?: string[] | null, tierStrategy?: WasmTierStrategy | null);
109
113
  get autolinks(): boolean | undefined;
110
114
  set autolinks(value: boolean | null | undefined);
111
115
  get brInTables(): boolean | undefined;
@@ -182,6 +186,10 @@ export class WasmConversionOptionsUpdate {
182
186
  set subSymbol(value: string | null | undefined);
183
187
  get supSymbol(): string | undefined;
184
188
  set supSymbol(value: string | null | undefined);
189
+ get tierStrategy(): string | undefined;
190
+ set tierStrategy(value: WasmTierStrategy | null | undefined);
191
+ get urlEscapeStyle(): string | undefined;
192
+ set urlEscapeStyle(value: WasmUrlEscapeStyle | null | undefined);
185
193
  get visitor(): WasmVisitorHandle | undefined;
186
194
  set visitor(value: WasmVisitorHandle | null | undefined);
187
195
  get whitespaceMode(): string | undefined;
@@ -826,6 +834,34 @@ export enum WasmTextDirection {
826
834
  Auto = 2,
827
835
  }
828
836
 
837
+ /**
838
+ * Controls which conversion tier is used.
839
+ */
840
+ export enum WasmTierStrategy {
841
+ Auto = 0,
842
+ Tier2 = 1,
843
+ Tier1 = 2,
844
+ }
845
+
846
+ /**
847
+ * URL encoding strategy for link and image destinations.
848
+ *
849
+ * Controls how special characters in URL destinations are handled when they
850
+ * require escaping to produce valid Markdown.
851
+ *
852
+ * The `Angle` variant (default) wraps the destination in angle brackets:
853
+ * `[text](<url with spaces>)`. This is the CommonMark-specified escape hatch
854
+ * but breaks when the URL itself contains `>`.
855
+ *
856
+ * The `Percent` variant percent-encodes every character that is not an RFC 3986
857
+ * unreserved character or `/`, producing a destination safe for all Markdown
858
+ * parsers: `[text](url%20with%20spaces)`.
859
+ */
860
+ export enum WasmUrlEscapeStyle {
861
+ Angle = 0,
862
+ Percent = 1,
863
+ }
864
+
829
865
  /**
830
866
  * Result of a visitor callback.
831
867
  *
@@ -884,7 +920,12 @@ export enum WasmWhitespaceMode {
884
920
  * # Arguments
885
921
  *
886
922
  * * `html` — the HTML string to convert.
887
- * * `options` — optional conversion options. Defaults to `ConversionOptions.default`.
923
+ * * `options` — conversion options. The parameter bound is
924
+ * `impl Into<Option<ConversionOptions>>`, so any of the following call shapes are accepted:
925
+ * - `convert(html, ConversionOptions.default())` — bare options.
926
+ * - `convert(html, opts)` — bare options.
927
+ * - `convert(html, Some(opts))` — explicit `Option`.
928
+ * - `convert(html, None)` — fall back to `ConversionOptions.default`.
888
929
  *
889
930
  * # Example
890
931
  *