marked 4.3.0 → 5.0.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/lib/marked.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * marked v4.3.0 - a markdown parser
2
+ * marked v5.0.0 - a markdown parser
3
3
  * Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)
4
4
  * https://github.com/markedjs/marked
5
5
  */
@@ -259,9 +259,7 @@ function splitCells(tableRow, count) {
259
259
  var row = tableRow.replace(/\|/g, function (match, offset, str) {
260
260
  var escaped = false,
261
261
  curr = offset;
262
- while (--curr >= 0 && str[curr] === '\\') {
263
- escaped = !escaped;
264
- }
262
+ while (--curr >= 0 && str[curr] === '\\') escaped = !escaped;
265
263
  if (escaped) {
266
264
  // odd number of slashes means | is escaped
267
265
  // so we leave it alone
@@ -284,9 +282,7 @@ function splitCells(tableRow, count) {
284
282
  if (cells.length > count) {
285
283
  cells.splice(count);
286
284
  } else {
287
- while (cells.length < count) {
288
- cells.push('');
289
- }
285
+ while (cells.length < count) cells.push('');
290
286
  }
291
287
  for (; i < cells.length; i++) {
292
288
  // leading or trailing whitespace is ignored per the gfm spec
@@ -346,10 +342,34 @@ function findClosingBracket(str, b) {
346
342
  }
347
343
  return -1;
348
344
  }
349
- function checkSanitizeDeprecation(opt) {
350
- if (opt && opt.sanitize && !opt.silent) {
345
+ function checkDeprecations(opt, callback) {
346
+ if (!opt || opt.silent) {
347
+ return;
348
+ }
349
+ if (callback) {
350
+ console.warn('marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async');
351
+ }
352
+ if (opt.sanitize || opt.sanitizer) {
351
353
  console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
352
354
  }
355
+ if (opt.highlight || opt.langPrefix) {
356
+ console.warn('marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight.');
357
+ }
358
+ if (opt.mangle) {
359
+ console.warn('marked(): mangle parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-mangle.');
360
+ }
361
+ if (opt.baseUrl) {
362
+ console.warn('marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url.');
363
+ }
364
+ if (opt.smartypants) {
365
+ console.warn('marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants.');
366
+ }
367
+ if (opt.xhtml) {
368
+ console.warn('marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml.');
369
+ }
370
+ if (opt.headerIds || opt.headerPrefix) {
371
+ console.warn('marked(): headerIds and headerPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-gfm-heading-id.');
372
+ }
353
373
  }
354
374
 
355
375
  // copied from https://stackoverflow.com/a/5450113/806777
@@ -694,6 +714,7 @@ var Tokenizer = /*#__PURE__*/function () {
694
714
  if (cap) {
695
715
  var token = {
696
716
  type: 'html',
717
+ block: true,
697
718
  raw: cap[0],
698
719
  pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
699
720
  text: cap[0]
@@ -842,6 +863,7 @@ var Tokenizer = /*#__PURE__*/function () {
842
863
  raw: cap[0],
843
864
  inLink: this.lexer.state.inLink,
844
865
  inRawBlock: this.lexer.state.inRawBlock,
866
+ block: false,
845
867
  text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]
846
868
  };
847
869
  }
@@ -923,7 +945,7 @@ var Tokenizer = /*#__PURE__*/function () {
923
945
  if (!match) return;
924
946
 
925
947
  // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
926
- if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return;
948
+ if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/)) return;
927
949
  var nextChar = match[1] || match[2] || '';
928
950
  if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {
929
951
  var lLength = match[0].length - 1;
@@ -1414,8 +1436,8 @@ var Lexer = /*#__PURE__*/function () {
1414
1436
  });
1415
1437
  }
1416
1438
  var token, lastToken, cutSrc, lastParagraphClipped;
1417
- while (src) {
1418
- if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {
1439
+ var _loop = function _loop() {
1440
+ if (_this.options.extensions && _this.options.extensions.block && _this.options.extensions.block.some(function (extTokenizer) {
1419
1441
  if (token = extTokenizer.call({
1420
1442
  lexer: _this
1421
1443
  }, src, tokens)) {
@@ -1425,11 +1447,11 @@ var Lexer = /*#__PURE__*/function () {
1425
1447
  }
1426
1448
  return false;
1427
1449
  })) {
1428
- continue;
1450
+ return "continue";
1429
1451
  }
1430
1452
 
1431
1453
  // newline
1432
- if (token = this.tokenizer.space(src)) {
1454
+ if (token = _this.tokenizer.space(src)) {
1433
1455
  src = src.substring(token.raw.length);
1434
1456
  if (token.raw.length === 1 && tokens.length > 0) {
1435
1457
  // if there's a single \n as a spacer, it's terminating the last line,
@@ -1438,156 +1460,159 @@ var Lexer = /*#__PURE__*/function () {
1438
1460
  } else {
1439
1461
  tokens.push(token);
1440
1462
  }
1441
- continue;
1463
+ return "continue";
1442
1464
  }
1443
1465
 
1444
1466
  // code
1445
- if (token = this.tokenizer.code(src)) {
1467
+ if (token = _this.tokenizer.code(src)) {
1446
1468
  src = src.substring(token.raw.length);
1447
1469
  lastToken = tokens[tokens.length - 1];
1448
1470
  // An indented code block cannot interrupt a paragraph.
1449
1471
  if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
1450
1472
  lastToken.raw += '\n' + token.raw;
1451
1473
  lastToken.text += '\n' + token.text;
1452
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
1474
+ _this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
1453
1475
  } else {
1454
1476
  tokens.push(token);
1455
1477
  }
1456
- continue;
1478
+ return "continue";
1457
1479
  }
1458
1480
 
1459
1481
  // fences
1460
- if (token = this.tokenizer.fences(src)) {
1482
+ if (token = _this.tokenizer.fences(src)) {
1461
1483
  src = src.substring(token.raw.length);
1462
1484
  tokens.push(token);
1463
- continue;
1485
+ return "continue";
1464
1486
  }
1465
1487
 
1466
1488
  // heading
1467
- if (token = this.tokenizer.heading(src)) {
1489
+ if (token = _this.tokenizer.heading(src)) {
1468
1490
  src = src.substring(token.raw.length);
1469
1491
  tokens.push(token);
1470
- continue;
1492
+ return "continue";
1471
1493
  }
1472
1494
 
1473
1495
  // hr
1474
- if (token = this.tokenizer.hr(src)) {
1496
+ if (token = _this.tokenizer.hr(src)) {
1475
1497
  src = src.substring(token.raw.length);
1476
1498
  tokens.push(token);
1477
- continue;
1499
+ return "continue";
1478
1500
  }
1479
1501
 
1480
1502
  // blockquote
1481
- if (token = this.tokenizer.blockquote(src)) {
1503
+ if (token = _this.tokenizer.blockquote(src)) {
1482
1504
  src = src.substring(token.raw.length);
1483
1505
  tokens.push(token);
1484
- continue;
1506
+ return "continue";
1485
1507
  }
1486
1508
 
1487
1509
  // list
1488
- if (token = this.tokenizer.list(src)) {
1510
+ if (token = _this.tokenizer.list(src)) {
1489
1511
  src = src.substring(token.raw.length);
1490
1512
  tokens.push(token);
1491
- continue;
1513
+ return "continue";
1492
1514
  }
1493
1515
 
1494
1516
  // html
1495
- if (token = this.tokenizer.html(src)) {
1517
+ if (token = _this.tokenizer.html(src)) {
1496
1518
  src = src.substring(token.raw.length);
1497
1519
  tokens.push(token);
1498
- continue;
1520
+ return "continue";
1499
1521
  }
1500
1522
 
1501
1523
  // def
1502
- if (token = this.tokenizer.def(src)) {
1524
+ if (token = _this.tokenizer.def(src)) {
1503
1525
  src = src.substring(token.raw.length);
1504
1526
  lastToken = tokens[tokens.length - 1];
1505
1527
  if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
1506
1528
  lastToken.raw += '\n' + token.raw;
1507
1529
  lastToken.text += '\n' + token.raw;
1508
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
1509
- } else if (!this.tokens.links[token.tag]) {
1510
- this.tokens.links[token.tag] = {
1530
+ _this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
1531
+ } else if (!_this.tokens.links[token.tag]) {
1532
+ _this.tokens.links[token.tag] = {
1511
1533
  href: token.href,
1512
1534
  title: token.title
1513
1535
  };
1514
1536
  }
1515
- continue;
1537
+ return "continue";
1516
1538
  }
1517
1539
 
1518
1540
  // table (gfm)
1519
- if (token = this.tokenizer.table(src)) {
1541
+ if (token = _this.tokenizer.table(src)) {
1520
1542
  src = src.substring(token.raw.length);
1521
1543
  tokens.push(token);
1522
- continue;
1544
+ return "continue";
1523
1545
  }
1524
1546
 
1525
1547
  // lheading
1526
- if (token = this.tokenizer.lheading(src)) {
1548
+ if (token = _this.tokenizer.lheading(src)) {
1527
1549
  src = src.substring(token.raw.length);
1528
1550
  tokens.push(token);
1529
- continue;
1551
+ return "continue";
1530
1552
  }
1531
1553
 
1532
1554
  // top-level paragraph
1533
1555
  // prevent paragraph consuming extensions by clipping 'src' to extension start
1534
1556
  cutSrc = src;
1535
- if (this.options.extensions && this.options.extensions.startBlock) {
1536
- (function () {
1537
- var startIndex = Infinity;
1538
- var tempSrc = src.slice(1);
1539
- var tempStart = void 0;
1540
- _this.options.extensions.startBlock.forEach(function (getStartIndex) {
1541
- tempStart = getStartIndex.call({
1542
- lexer: this
1543
- }, tempSrc);
1544
- if (typeof tempStart === 'number' && tempStart >= 0) {
1545
- startIndex = Math.min(startIndex, tempStart);
1546
- }
1547
- });
1548
- if (startIndex < Infinity && startIndex >= 0) {
1549
- cutSrc = src.substring(0, startIndex + 1);
1557
+ if (_this.options.extensions && _this.options.extensions.startBlock) {
1558
+ var startIndex = Infinity;
1559
+ var tempSrc = src.slice(1);
1560
+ var tempStart;
1561
+ _this.options.extensions.startBlock.forEach(function (getStartIndex) {
1562
+ tempStart = getStartIndex.call({
1563
+ lexer: this
1564
+ }, tempSrc);
1565
+ if (typeof tempStart === 'number' && tempStart >= 0) {
1566
+ startIndex = Math.min(startIndex, tempStart);
1550
1567
  }
1551
- })();
1568
+ });
1569
+ if (startIndex < Infinity && startIndex >= 0) {
1570
+ cutSrc = src.substring(0, startIndex + 1);
1571
+ }
1552
1572
  }
1553
- if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
1573
+ if (_this.state.top && (token = _this.tokenizer.paragraph(cutSrc))) {
1554
1574
  lastToken = tokens[tokens.length - 1];
1555
1575
  if (lastParagraphClipped && lastToken.type === 'paragraph') {
1556
1576
  lastToken.raw += '\n' + token.raw;
1557
1577
  lastToken.text += '\n' + token.text;
1558
- this.inlineQueue.pop();
1559
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
1578
+ _this.inlineQueue.pop();
1579
+ _this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
1560
1580
  } else {
1561
1581
  tokens.push(token);
1562
1582
  }
1563
1583
  lastParagraphClipped = cutSrc.length !== src.length;
1564
1584
  src = src.substring(token.raw.length);
1565
- continue;
1585
+ return "continue";
1566
1586
  }
1567
1587
 
1568
1588
  // text
1569
- if (token = this.tokenizer.text(src)) {
1589
+ if (token = _this.tokenizer.text(src)) {
1570
1590
  src = src.substring(token.raw.length);
1571
1591
  lastToken = tokens[tokens.length - 1];
1572
1592
  if (lastToken && lastToken.type === 'text') {
1573
1593
  lastToken.raw += '\n' + token.raw;
1574
1594
  lastToken.text += '\n' + token.text;
1575
- this.inlineQueue.pop();
1576
- this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
1595
+ _this.inlineQueue.pop();
1596
+ _this.inlineQueue[_this.inlineQueue.length - 1].src = lastToken.text;
1577
1597
  } else {
1578
1598
  tokens.push(token);
1579
1599
  }
1580
- continue;
1600
+ return "continue";
1581
1601
  }
1582
1602
  if (src) {
1583
1603
  var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
1584
- if (this.options.silent) {
1604
+ if (_this.options.silent) {
1585
1605
  console.error(errMsg);
1586
- break;
1606
+ return "break";
1587
1607
  } else {
1588
1608
  throw new Error(errMsg);
1589
1609
  }
1590
1610
  }
1611
+ };
1612
+ while (src) {
1613
+ var _ret = _loop();
1614
+ if (_ret === "continue") continue;
1615
+ if (_ret === "break") break;
1591
1616
  }
1592
1617
  this.state.top = true;
1593
1618
  return tokens;
@@ -1639,14 +1664,14 @@ var Lexer = /*#__PURE__*/function () {
1639
1664
  maskedSrc = maskedSrc.slice(0, match.index + match[0].length - 2) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);
1640
1665
  this.tokenizer.rules.inline.escapedEmSt.lastIndex--;
1641
1666
  }
1642
- while (src) {
1667
+ var _loop2 = function _loop2() {
1643
1668
  if (!keepPrevChar) {
1644
1669
  prevChar = '';
1645
1670
  }
1646
1671
  keepPrevChar = false;
1647
1672
 
1648
1673
  // extensions
1649
- if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {
1674
+ if (_this2.options.extensions && _this2.options.extensions.inline && _this2.options.extensions.inline.some(function (extTokenizer) {
1650
1675
  if (token = extTokenizer.call({
1651
1676
  lexer: _this2
1652
1677
  }, src, tokens)) {
@@ -1656,18 +1681,18 @@ var Lexer = /*#__PURE__*/function () {
1656
1681
  }
1657
1682
  return false;
1658
1683
  })) {
1659
- continue;
1684
+ return "continue";
1660
1685
  }
1661
1686
 
1662
1687
  // escape
1663
- if (token = this.tokenizer.escape(src)) {
1688
+ if (token = _this2.tokenizer.escape(src)) {
1664
1689
  src = src.substring(token.raw.length);
1665
1690
  tokens.push(token);
1666
- continue;
1691
+ return "continue";
1667
1692
  }
1668
1693
 
1669
1694
  // tag
1670
- if (token = this.tokenizer.tag(src)) {
1695
+ if (token = _this2.tokenizer.tag(src)) {
1671
1696
  src = src.substring(token.raw.length);
1672
1697
  lastToken = tokens[tokens.length - 1];
1673
1698
  if (lastToken && token.type === 'text' && lastToken.type === 'text') {
@@ -1676,18 +1701,18 @@ var Lexer = /*#__PURE__*/function () {
1676
1701
  } else {
1677
1702
  tokens.push(token);
1678
1703
  }
1679
- continue;
1704
+ return "continue";
1680
1705
  }
1681
1706
 
1682
1707
  // link
1683
- if (token = this.tokenizer.link(src)) {
1708
+ if (token = _this2.tokenizer.link(src)) {
1684
1709
  src = src.substring(token.raw.length);
1685
1710
  tokens.push(token);
1686
- continue;
1711
+ return "continue";
1687
1712
  }
1688
1713
 
1689
1714
  // reflink, nolink
1690
- if (token = this.tokenizer.reflink(src, this.tokens.links)) {
1715
+ if (token = _this2.tokenizer.reflink(src, _this2.tokens.links)) {
1691
1716
  src = src.substring(token.raw.length);
1692
1717
  lastToken = tokens[tokens.length - 1];
1693
1718
  if (lastToken && token.type === 'text' && lastToken.type === 'text') {
@@ -1696,73 +1721,71 @@ var Lexer = /*#__PURE__*/function () {
1696
1721
  } else {
1697
1722
  tokens.push(token);
1698
1723
  }
1699
- continue;
1724
+ return "continue";
1700
1725
  }
1701
1726
 
1702
1727
  // em & strong
1703
- if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
1728
+ if (token = _this2.tokenizer.emStrong(src, maskedSrc, prevChar)) {
1704
1729
  src = src.substring(token.raw.length);
1705
1730
  tokens.push(token);
1706
- continue;
1731
+ return "continue";
1707
1732
  }
1708
1733
 
1709
1734
  // code
1710
- if (token = this.tokenizer.codespan(src)) {
1735
+ if (token = _this2.tokenizer.codespan(src)) {
1711
1736
  src = src.substring(token.raw.length);
1712
1737
  tokens.push(token);
1713
- continue;
1738
+ return "continue";
1714
1739
  }
1715
1740
 
1716
1741
  // br
1717
- if (token = this.tokenizer.br(src)) {
1742
+ if (token = _this2.tokenizer.br(src)) {
1718
1743
  src = src.substring(token.raw.length);
1719
1744
  tokens.push(token);
1720
- continue;
1745
+ return "continue";
1721
1746
  }
1722
1747
 
1723
1748
  // del (gfm)
1724
- if (token = this.tokenizer.del(src)) {
1749
+ if (token = _this2.tokenizer.del(src)) {
1725
1750
  src = src.substring(token.raw.length);
1726
1751
  tokens.push(token);
1727
- continue;
1752
+ return "continue";
1728
1753
  }
1729
1754
 
1730
1755
  // autolink
1731
- if (token = this.tokenizer.autolink(src, mangle)) {
1756
+ if (token = _this2.tokenizer.autolink(src, mangle)) {
1732
1757
  src = src.substring(token.raw.length);
1733
1758
  tokens.push(token);
1734
- continue;
1759
+ return "continue";
1735
1760
  }
1736
1761
 
1737
1762
  // url (gfm)
1738
- if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {
1763
+ if (!_this2.state.inLink && (token = _this2.tokenizer.url(src, mangle))) {
1739
1764
  src = src.substring(token.raw.length);
1740
1765
  tokens.push(token);
1741
- continue;
1766
+ return "continue";
1742
1767
  }
1743
1768
 
1744
1769
  // text
1745
1770
  // prevent inlineText consuming extensions by clipping 'src' to extension start
1746
1771
  cutSrc = src;
1747
- if (this.options.extensions && this.options.extensions.startInline) {
1748
- (function () {
1749
- var startIndex = Infinity;
1750
- var tempSrc = src.slice(1);
1751
- var tempStart = void 0;
1752
- _this2.options.extensions.startInline.forEach(function (getStartIndex) {
1753
- tempStart = getStartIndex.call({
1754
- lexer: this
1755
- }, tempSrc);
1756
- if (typeof tempStart === 'number' && tempStart >= 0) {
1757
- startIndex = Math.min(startIndex, tempStart);
1758
- }
1759
- });
1760
- if (startIndex < Infinity && startIndex >= 0) {
1761
- cutSrc = src.substring(0, startIndex + 1);
1772
+ if (_this2.options.extensions && _this2.options.extensions.startInline) {
1773
+ var startIndex = Infinity;
1774
+ var tempSrc = src.slice(1);
1775
+ var tempStart;
1776
+ _this2.options.extensions.startInline.forEach(function (getStartIndex) {
1777
+ tempStart = getStartIndex.call({
1778
+ lexer: this
1779
+ }, tempSrc);
1780
+ if (typeof tempStart === 'number' && tempStart >= 0) {
1781
+ startIndex = Math.min(startIndex, tempStart);
1762
1782
  }
1763
- })();
1783
+ });
1784
+ if (startIndex < Infinity && startIndex >= 0) {
1785
+ cutSrc = src.substring(0, startIndex + 1);
1786
+ }
1764
1787
  }
1765
- if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {
1788
+ if (token = _this2.tokenizer.inlineText(cutSrc, smartypants)) {
1766
1789
  src = src.substring(token.raw.length);
1767
1790
  if (token.raw.slice(-1) !== '_') {
1768
1791
  // Track prevChar before string of ____ started
@@ -1776,17 +1799,22 @@ var Lexer = /*#__PURE__*/function () {
1776
1799
  } else {
1777
1800
  tokens.push(token);
1778
1801
  }
1779
- continue;
1802
+ return "continue";
1780
1803
  }
1781
1804
  if (src) {
1782
1805
  var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
1783
- if (this.options.silent) {
1806
+ if (_this2.options.silent) {
1784
1807
  console.error(errMsg);
1785
- break;
1808
+ return "break";
1786
1809
  } else {
1787
1810
  throw new Error(errMsg);
1788
1811
  }
1789
1812
  }
1813
+ };
1814
+ while (src) {
1815
+ var _ret2 = _loop2();
1816
+ if (_ret2 === "continue") continue;
1817
+ if (_ret2 === "break") break;
1790
1818
  }
1791
1819
  return tokens;
1792
1820
  };
@@ -1832,7 +1860,7 @@ var Renderer = /*#__PURE__*/function () {
1832
1860
  _proto.blockquote = function blockquote(quote) {
1833
1861
  return "<blockquote>\n" + quote + "</blockquote>\n";
1834
1862
  };
1835
- _proto.html = function html(_html) {
1863
+ _proto.html = function html(_html, block) {
1836
1864
  return _html;
1837
1865
  }
1838
1866
 
@@ -2233,8 +2261,7 @@ var Parser = /*#__PURE__*/function () {
2233
2261
  }
2234
2262
  case 'html':
2235
2263
  {
2236
- // TODO parse inline content if parameter markdown=1
2237
- out += this.renderer.html(token.text);
2264
+ out += this.renderer.html(token.text, token.block);
2238
2265
  continue;
2239
2266
  }
2240
2267
  case 'paragraph':
@@ -2421,7 +2448,7 @@ function parseMarkdown(lexer, parser) {
2421
2448
  if (typeof src !== 'string') {
2422
2449
  return throwError(new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'));
2423
2450
  }
2424
- checkSanitizeDeprecation(opt);
2451
+ checkDeprecations(opt, callback);
2425
2452
  if (opt.hooks) {
2426
2453
  opt.hooks.options = opt;
2427
2454
  }
@@ -2617,86 +2644,80 @@ marked.use = function () {
2617
2644
 
2618
2645
  // ==-- Parse "overwrite" extensions --== //
2619
2646
  if (pack.renderer) {
2620
- (function () {
2621
- var renderer = marked.defaults.renderer || new Renderer();
2622
- var _loop = function _loop(prop) {
2623
- var prevRenderer = renderer[prop];
2624
- // Replace renderer with func to run extension, but fall back if false
2625
- renderer[prop] = function () {
2626
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
2627
- args[_key3] = arguments[_key3];
2628
- }
2629
- var ret = pack.renderer[prop].apply(renderer, args);
2630
- if (ret === false) {
2631
- ret = prevRenderer.apply(renderer, args);
2632
- }
2633
- return ret;
2634
- };
2647
+ var renderer = marked.defaults.renderer || new Renderer();
2648
+ var _loop = function _loop(prop) {
2649
+ var prevRenderer = renderer[prop];
2650
+ // Replace renderer with func to run extension, but fall back if false
2651
+ renderer[prop] = function () {
2652
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
2653
+ args[_key3] = arguments[_key3];
2654
+ }
2655
+ var ret = pack.renderer[prop].apply(renderer, args);
2656
+ if (ret === false) {
2657
+ ret = prevRenderer.apply(renderer, args);
2658
+ }
2659
+ return ret;
2635
2660
  };
2636
- for (var prop in pack.renderer) {
2637
- _loop(prop);
2638
- }
2639
- opts.renderer = renderer;
2640
- })();
2661
+ };
2662
+ for (var prop in pack.renderer) {
2663
+ _loop(prop);
2664
+ }
2665
+ opts.renderer = renderer;
2641
2666
  }
2642
2667
  if (pack.tokenizer) {
2643
- (function () {
2644
- var tokenizer = marked.defaults.tokenizer || new Tokenizer();
2645
- var _loop2 = function _loop2(prop) {
2646
- var prevTokenizer = tokenizer[prop];
2647
- // Replace tokenizer with func to run extension, but fall back if false
2648
- tokenizer[prop] = function () {
2649
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
2650
- args[_key4] = arguments[_key4];
2651
- }
2652
- var ret = pack.tokenizer[prop].apply(tokenizer, args);
2653
- if (ret === false) {
2654
- ret = prevTokenizer.apply(tokenizer, args);
2655
- }
2656
- return ret;
2657
- };
2668
+ var tokenizer = marked.defaults.tokenizer || new Tokenizer();
2669
+ var _loop2 = function _loop2(_prop) {
2670
+ var prevTokenizer = tokenizer[_prop];
2671
+ // Replace tokenizer with func to run extension, but fall back if false
2672
+ tokenizer[_prop] = function () {
2673
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
2674
+ args[_key4] = arguments[_key4];
2675
+ }
2676
+ var ret = pack.tokenizer[_prop].apply(tokenizer, args);
2677
+ if (ret === false) {
2678
+ ret = prevTokenizer.apply(tokenizer, args);
2679
+ }
2680
+ return ret;
2658
2681
  };
2659
- for (var prop in pack.tokenizer) {
2660
- _loop2(prop);
2661
- }
2662
- opts.tokenizer = tokenizer;
2663
- })();
2682
+ };
2683
+ for (var _prop in pack.tokenizer) {
2684
+ _loop2(_prop);
2685
+ }
2686
+ opts.tokenizer = tokenizer;
2664
2687
  }
2665
2688
 
2666
2689
  // ==-- Parse Hooks extensions --== //
2667
2690
  if (pack.hooks) {
2668
- (function () {
2669
- var hooks = marked.defaults.hooks || new Hooks();
2670
- var _loop3 = function _loop3(prop) {
2671
- var prevHook = hooks[prop];
2672
- if (Hooks.passThroughHooks.has(prop)) {
2673
- hooks[prop] = function (arg) {
2674
- if (marked.defaults.async) {
2675
- return Promise.resolve(pack.hooks[prop].call(hooks, arg)).then(function (ret) {
2676
- return prevHook.call(hooks, ret);
2677
- });
2678
- }
2679
- var ret = pack.hooks[prop].call(hooks, arg);
2680
- return prevHook.call(hooks, ret);
2681
- };
2682
- } else {
2683
- hooks[prop] = function () {
2684
- for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
2685
- args[_key5] = arguments[_key5];
2686
- }
2687
- var ret = pack.hooks[prop].apply(hooks, args);
2688
- if (ret === false) {
2689
- ret = prevHook.apply(hooks, args);
2690
- }
2691
- return ret;
2692
- };
2693
- }
2694
- };
2695
- for (var prop in pack.hooks) {
2696
- _loop3(prop);
2691
+ var hooks = marked.defaults.hooks || new Hooks();
2692
+ var _loop3 = function _loop3(_prop2) {
2693
+ var prevHook = hooks[_prop2];
2694
+ if (Hooks.passThroughHooks.has(_prop2)) {
2695
+ hooks[_prop2] = function (arg) {
2696
+ if (marked.defaults.async) {
2697
+ return Promise.resolve(pack.hooks[_prop2].call(hooks, arg)).then(function (ret) {
2698
+ return prevHook.call(hooks, ret);
2699
+ });
2700
+ }
2701
+ var ret = pack.hooks[_prop2].call(hooks, arg);
2702
+ return prevHook.call(hooks, ret);
2703
+ };
2704
+ } else {
2705
+ hooks[_prop2] = function () {
2706
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
2707
+ args[_key5] = arguments[_key5];
2708
+ }
2709
+ var ret = pack.hooks[_prop2].apply(hooks, args);
2710
+ if (ret === false) {
2711
+ ret = prevHook.apply(hooks, args);
2712
+ }
2713
+ return ret;
2714
+ };
2697
2715
  }
2698
- opts.hooks = hooks;
2699
- })();
2716
+ };
2717
+ for (var _prop2 in pack.hooks) {
2718
+ _loop3(_prop2);
2719
+ }
2720
+ opts.hooks = hooks;
2700
2721
  }
2701
2722
 
2702
2723
  // ==-- Parse WalkTokens extensions --== //