securemark 0.240.2 → 0.243.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/securemark.js +1082 -2461
  3. package/global.dev.d.ts +6 -2
  4. package/index.d.ts +0 -1
  5. package/markdown.d.ts +61 -32
  6. package/package-lock.json +169 -77
  7. package/package.json +5 -4
  8. package/src/combinator/control/manipulation/fallback.ts +0 -1
  9. package/src/combinator/control/manipulation/indent.test.ts +3 -1
  10. package/src/combinator/control/manipulation/indent.ts +7 -6
  11. package/src/debug.test.ts +1 -1
  12. package/src/parser/api/bind.test.ts +1 -1
  13. package/src/parser/api/parse.test.ts +1 -1
  14. package/src/parser/api/parse.ts +1 -1
  15. package/src/parser/block/blockquote.test.ts +4 -4
  16. package/src/parser/block/blockquote.ts +2 -8
  17. package/src/parser/block/codeblock.test.ts +27 -27
  18. package/src/parser/block/codeblock.ts +2 -2
  19. package/src/parser/block/dlist.ts +1 -1
  20. package/src/parser/block/extension/aside.ts +1 -1
  21. package/src/parser/block/extension/example.ts +1 -1
  22. package/src/parser/block/extension/fig.test.ts +3 -3
  23. package/src/parser/block/extension/fig.ts +7 -6
  24. package/src/parser/block/extension/figbase.ts +1 -1
  25. package/src/parser/block/extension/figure.test.ts +10 -10
  26. package/src/parser/block/extension/figure.ts +16 -6
  27. package/src/parser/block/extension/message.test.ts +7 -7
  28. package/src/parser/block/extension/message.ts +6 -2
  29. package/src/parser/block/extension/placeholder.ts +9 -3
  30. package/src/parser/block/extension/table.test.ts +1 -1
  31. package/src/parser/block/extension/table.ts +1 -1
  32. package/src/parser/block/heading.ts +1 -1
  33. package/src/parser/block/horizontalrule.ts +1 -1
  34. package/src/parser/block/ilist.ts +1 -1
  35. package/src/parser/block/indentblock.test.ts +30 -0
  36. package/src/parser/block/indentblock.ts +13 -0
  37. package/src/parser/block/mathblock.ts +1 -1
  38. package/src/parser/block/olist.ts +6 -6
  39. package/src/parser/block/paragraph.ts +1 -1
  40. package/src/parser/block/reply/cite.ts +1 -1
  41. package/src/parser/block/reply/quote.ts +1 -1
  42. package/src/parser/block/reply.ts +1 -1
  43. package/src/parser/block/sidefence.test.ts +66 -0
  44. package/src/parser/block/sidefence.ts +31 -0
  45. package/src/parser/block/table.ts +1 -1
  46. package/src/parser/block/ulist.ts +1 -1
  47. package/src/parser/block.ts +8 -2
  48. package/src/parser/header.ts +1 -1
  49. package/src/parser/inline/annotation.ts +1 -1
  50. package/src/parser/inline/autolink/account.ts +1 -1
  51. package/src/parser/inline/autolink/anchor.ts +1 -1
  52. package/src/parser/inline/autolink/channel.ts +1 -1
  53. package/src/parser/inline/autolink/email.ts +1 -1
  54. package/src/parser/inline/autolink/hashnum.ts +1 -1
  55. package/src/parser/inline/autolink/hashtag.ts +1 -1
  56. package/src/parser/inline/bracket.ts +1 -1
  57. package/src/parser/inline/code.ts +1 -1
  58. package/src/parser/inline/comment.ts +1 -1
  59. package/src/parser/inline/deletion.ts +1 -1
  60. package/src/parser/inline/emphasis.ts +1 -1
  61. package/src/parser/inline/emstrong.ts +1 -1
  62. package/src/parser/inline/extension/index.ts +1 -1
  63. package/src/parser/inline/extension/indexee.ts +1 -1
  64. package/src/parser/inline/extension/indexer.ts +1 -1
  65. package/src/parser/inline/extension/label.ts +1 -1
  66. package/src/parser/inline/extension/placeholder.ts +3 -3
  67. package/src/parser/inline/html.ts +1 -1
  68. package/src/parser/inline/htmlentity.ts +1 -1
  69. package/src/parser/inline/insertion.ts +1 -1
  70. package/src/parser/inline/link.ts +1 -1
  71. package/src/parser/inline/mark.ts +1 -1
  72. package/src/parser/inline/math.ts +1 -1
  73. package/src/parser/inline/media.ts +1 -1
  74. package/src/parser/inline/reference.ts +1 -1
  75. package/src/parser/inline/ruby.ts +1 -1
  76. package/src/parser/inline/strong.ts +1 -1
  77. package/src/parser/inline/template.ts +1 -1
  78. package/src/parser/locale.ts +1 -1
  79. package/src/parser/processor/figure.test.ts +1 -1
  80. package/src/parser/processor/figure.ts +4 -4
  81. package/src/parser/processor/footnote.test.ts +1 -1
  82. package/src/parser/processor/footnote.ts +6 -5
  83. package/src/parser/source/text.ts +1 -1
  84. package/src/renderer/render/math.ts +1 -1
  85. package/src/renderer/render/media/audio.ts +1 -1
  86. package/src/renderer/render/media/image.ts +1 -1
  87. package/src/renderer/render/media/pdf.ts +1 -1
  88. package/src/renderer/render/media/twitter.ts +21 -23
  89. package/src/renderer/render/media/video.ts +1 -1
  90. package/src/renderer/render/media/youtube.ts +1 -1
  91. package/src/renderer/render/media.test.ts +1 -1
  92. package/src/renderer/render.ts +3 -5
  93. package/src/util/info.ts +3 -7
  94. package/src/util/quote.ts +1 -1
  95. package/src/util/toc.test.ts +1 -1
  96. package/src/util/toc.ts +1 -1
  97. package/src/util.ts +0 -1
  98. package/src/util/sync.ts +0 -57
package/global.dev.d.ts CHANGED
@@ -1,3 +1,7 @@
1
- interface Node {
2
- cloneNode(deep?: boolean): this;
1
+ import 'typed-query-selector';
2
+
3
+ declare global {
4
+ interface Node {
5
+ cloneNode(deep?: boolean): this;
6
+ }
3
7
  }
package/index.d.ts CHANGED
@@ -23,7 +23,6 @@ export function quote(anchor: string, range: Range): string;
23
23
  export function toc(source: DocumentFragment | HTMLElement | ShadowRoot): HTMLUListElement;
24
24
  export function info(source: DocumentFragment | HTMLElement | ShadowRoot): Info;
25
25
  export function scope(base: DocumentFragment | HTMLElement | ShadowRoot, filter?: string, bound?: string): (el: Element) => boolean;
26
- export function sync(editor: HTMLElement, viewer: HTMLElement, bottom?: Element | null): () => void;
27
26
 
28
27
  export type ParserOptions = Omit<Partial<ParserSettings>, 'chunk'>;
29
28
  export interface ParserSettings {
package/markdown.d.ts CHANGED
@@ -83,9 +83,11 @@ export namespace MarkdownParser {
83
83
  BlockParser.IListParser,
84
84
  BlockParser.DListParser,
85
85
  BlockParser.TableParser,
86
+ BlockParser.IndentBlockParser,
86
87
  BlockParser.CodeBlockParser,
87
88
  BlockParser.MathBlockParser,
88
89
  BlockParser.ExtensionParser,
90
+ BlockParser.SidefenceParser,
89
91
  BlockParser.BlockquoteParser,
90
92
  BlockParser.ReplyParser,
91
93
  BlockParser.ParagraphParser,
@@ -226,6 +228,22 @@ export namespace MarkdownParser {
226
228
  ]> {
227
229
  }
228
230
  }
231
+ export interface SidefenceParser extends
232
+ // | abc
233
+ Block<'sidefence'>,
234
+ Parser<HTMLQuoteElement, Context, [
235
+ SidefenceParser.SourceParser,
236
+ ]> {
237
+ }
238
+ export namespace SidefenceParser {
239
+ export interface SourceParser extends
240
+ Block<'sidefence/source'>,
241
+ Parser<HTMLQuoteElement, Context, [
242
+ SourceParser,
243
+ AutolinkParser,
244
+ ]> {
245
+ }
246
+ }
229
247
  export interface TableParser extends
230
248
  // |Head|
231
249
  // |:--:|
@@ -271,37 +289,13 @@ export namespace MarkdownParser {
271
289
  }
272
290
  }
273
291
  }
274
- export interface BlockquoteParser extends
275
- // > abc
276
- // !> *abc*
277
- Block<'blockquote'>,
278
- Parser<HTMLQuoteElement, Context, [
279
- BlockquoteParser.SourceParser,
280
- BlockquoteParser.MarkdownParser,
292
+ export interface IndentBlockParser extends
293
+ // abc
294
+ Block<'indentblock'>,
295
+ Parser<HTMLPreElement, Context, [
296
+ CodeBlockParser,
281
297
  ]> {
282
298
  }
283
- export namespace BlockquoteParser {
284
- export interface SegmentParser extends
285
- Block<'blockquote/segment'>,
286
- Parser<never, Context, [
287
- SourceParser.ContentLineParser,
288
- ]> {
289
- }
290
- export interface SourceParser extends
291
- Block<'blockquote/source'>,
292
- Parser<HTMLQuoteElement, Context, [
293
- SourceParser,
294
- AutolinkParser,
295
- ]> {
296
- }
297
- export interface MarkdownParser extends
298
- Block<'blockquote/markdown'>,
299
- Parser<HTMLQuoteElement, Context, [
300
- MarkdownParser,
301
- Parser<HTMLElement, Context, []>,
302
- ]> {
303
- }
304
- }
305
299
  export interface CodeBlockParser extends
306
300
  // ```js index.js
307
301
  // abc
@@ -370,14 +364,16 @@ export namespace MarkdownParser {
370
364
  UListParser,
371
365
  OListParser,
372
366
  BlockParser.TableParser,
367
+ IndentBlockParser,
373
368
  CodeBlockParser,
374
369
  MathBlockParser,
375
- BlockquoteParser,
376
370
  ExampleParser,
377
371
  TableParser,
372
+ BlockquoteParser,
378
373
  PlaceholderParser,
379
374
  InlineParser.MediaParser,
380
375
  InlineParser.ShortmediaParser,
376
+ Parser<HTMLElement, Context, []>,
381
377
  ]>,
382
378
  SourceParser.EmptyLineParser,
383
379
  InlineParser,
@@ -393,8 +389,8 @@ export namespace MarkdownParser {
393
389
  Parser<never, Context, [
394
390
  CodeBlockParser.SegmentParser,
395
391
  MathBlockParser.SegmentParser,
396
- BlockquoteParser.SegmentParser,
397
392
  TableParser.SegmentParser,
393
+ BlockquoteParser.SegmentParser,
398
394
  PlaceholderParser.SegmentParser,
399
395
  SourceParser.ContentLineParser,
400
396
  ]>,
@@ -423,8 +419,8 @@ export namespace MarkdownParser {
423
419
  Parser<never, Context, [
424
420
  CodeBlockParser.SegmentParser,
425
421
  MathBlockParser.SegmentParser,
426
- BlockquoteParser.SegmentParser,
427
422
  TableParser.SegmentParser,
423
+ BlockquoteParser.SegmentParser,
428
424
  PlaceholderParser.SegmentParser,
429
425
  SourceParser.ContentLineParser,
430
426
  ]>,
@@ -514,8 +510,10 @@ export namespace MarkdownParser {
514
510
  BlockParser.OListParser,
515
511
  BlockParser.IListParser,
516
512
  BlockParser.TableParser,
513
+ BlockParser.IndentBlockParser,
517
514
  BlockParser.CodeBlockParser,
518
515
  BlockParser.MathBlockParser,
516
+ BlockParser.SidefenceParser,
519
517
  BlockParser.BlockquoteParser,
520
518
  BlockParser.ParagraphParser,
521
519
  ]> {
@@ -551,6 +549,37 @@ export namespace MarkdownParser {
551
549
  }
552
550
  }
553
551
  }
552
+ export interface BlockquoteParser extends
553
+ // > abc
554
+ // !> *abc*
555
+ Block<'blockquote'>,
556
+ Parser<HTMLQuoteElement, Context, [
557
+ BlockquoteParser.SourceParser,
558
+ BlockquoteParser.MarkdownParser,
559
+ ]> {
560
+ }
561
+ export namespace BlockquoteParser {
562
+ export interface SegmentParser extends
563
+ Block<'blockquote/segment'>,
564
+ Parser<never, Context, [
565
+ SourceParser.ContentLineParser,
566
+ ]> {
567
+ }
568
+ export interface SourceParser extends
569
+ Block<'blockquote/source'>,
570
+ Parser<HTMLQuoteElement, Context, [
571
+ SourceParser,
572
+ AutolinkParser,
573
+ ]> {
574
+ }
575
+ export interface MarkdownParser extends
576
+ Block<'blockquote/markdown'>,
577
+ Parser<HTMLQuoteElement, Context, [
578
+ MarkdownParser,
579
+ Parser<HTMLElement, Context, []>,
580
+ ]> {
581
+ }
582
+ }
554
583
  export interface ReplyParser extends
555
584
  // >>1
556
585
  // > text
package/package-lock.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "securemark",
3
- "version": "0.240.2",
3
+ "version": "0.243.0",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
7
7
  "@ampproject/remapping": {
8
- "version": "2.1.2",
9
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz",
10
- "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==",
8
+ "version": "2.2.0",
9
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
10
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
11
11
  "dev": true,
12
12
  "requires": {
13
- "@jridgewell/trace-mapping": "^0.3.0"
13
+ "@jridgewell/gen-mapping": "^0.1.0",
14
+ "@jridgewell/trace-mapping": "^0.3.9"
14
15
  }
15
16
  },
16
17
  "@babel/code-frame": {
@@ -363,10 +364,26 @@
363
364
  "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
364
365
  "dev": true
365
366
  },
367
+ "@jridgewell/gen-mapping": {
368
+ "version": "0.1.1",
369
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
370
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
371
+ "dev": true,
372
+ "requires": {
373
+ "@jridgewell/set-array": "^1.0.0",
374
+ "@jridgewell/sourcemap-codec": "^1.4.10"
375
+ }
376
+ },
366
377
  "@jridgewell/resolve-uri": {
367
- "version": "3.0.5",
368
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz",
369
- "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==",
378
+ "version": "3.0.6",
379
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
380
+ "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==",
381
+ "dev": true
382
+ },
383
+ "@jridgewell/set-array": {
384
+ "version": "1.1.0",
385
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz",
386
+ "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==",
370
387
  "dev": true
371
388
  },
372
389
  "@jridgewell/sourcemap-codec": {
@@ -376,9 +393,9 @@
376
393
  "dev": true
377
394
  },
378
395
  "@jridgewell/trace-mapping": {
379
- "version": "0.3.7",
380
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.7.tgz",
381
- "integrity": "sha512-8XC0l0PwCbdg2Uc8zIIf6djNX3lYiz9GqQlC1LJ9WQvTYvcfP8IA9K2IKRnPm5tAX6X/+orF+WwKZ0doGcgJlg==",
396
+ "version": "0.3.9",
397
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
398
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
382
399
  "dev": true,
383
400
  "requires": {
384
401
  "@jridgewell/resolve-uri": "^3.0.3",
@@ -596,15 +613,15 @@
596
613
  "dev": true
597
614
  },
598
615
  "@types/mocha": {
599
- "version": "9.1.0",
600
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz",
601
- "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==",
616
+ "version": "9.1.1",
617
+ "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz",
618
+ "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==",
602
619
  "dev": true
603
620
  },
604
621
  "@types/node": {
605
- "version": "17.0.25",
606
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz",
607
- "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==",
622
+ "version": "17.0.29",
623
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.29.tgz",
624
+ "integrity": "sha512-tx5jMmMFwx7wBwq/V7OohKDVb/JwJU5qCVkeLMh1//xycAJ/ESuw9aJ9SEtlCZDYi2pBfe4JkisSoAtbOsBNAA==",
608
625
  "dev": true
609
626
  },
610
627
  "@types/power-assert": {
@@ -1683,15 +1700,15 @@
1683
1700
  }
1684
1701
  },
1685
1702
  "browserslist": {
1686
- "version": "4.20.2",
1687
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
1688
- "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
1703
+ "version": "4.20.3",
1704
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
1705
+ "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
1689
1706
  "dev": true,
1690
1707
  "requires": {
1691
- "caniuse-lite": "^1.0.30001317",
1692
- "electron-to-chromium": "^1.4.84",
1708
+ "caniuse-lite": "^1.0.30001332",
1709
+ "electron-to-chromium": "^1.4.118",
1693
1710
  "escalade": "^3.1.1",
1694
- "node-releases": "^2.0.2",
1711
+ "node-releases": "^2.0.3",
1695
1712
  "picocolors": "^1.0.0"
1696
1713
  }
1697
1714
  },
@@ -1767,16 +1784,16 @@
1767
1784
  "dev": true
1768
1785
  },
1769
1786
  "cacache": {
1770
- "version": "16.0.4",
1771
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.4.tgz",
1772
- "integrity": "sha512-U0D4wF3/W8ZgK4qDA5fTtOVSr0gaDfd5aa7tUdAV0uukVWKsAIn6SzXQCoVlg7RWZiJa+bcsM3/pXLumGaL2Ug==",
1787
+ "version": "16.0.7",
1788
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz",
1789
+ "integrity": "sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==",
1773
1790
  "dev": true,
1774
1791
  "requires": {
1775
1792
  "@npmcli/fs": "^2.1.0",
1776
1793
  "@npmcli/move-file": "^2.0.0",
1777
1794
  "chownr": "^2.0.0",
1778
1795
  "fs-minipass": "^2.1.0",
1779
- "glob": "^7.2.0",
1796
+ "glob": "^8.0.1",
1780
1797
  "infer-owner": "^1.0.4",
1781
1798
  "lru-cache": "^7.7.1",
1782
1799
  "minipass": "^3.1.6",
@@ -1792,6 +1809,38 @@
1792
1809
  "unique-filename": "^1.1.1"
1793
1810
  },
1794
1811
  "dependencies": {
1812
+ "brace-expansion": {
1813
+ "version": "2.0.1",
1814
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
1815
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
1816
+ "dev": true,
1817
+ "requires": {
1818
+ "balanced-match": "^1.0.0"
1819
+ }
1820
+ },
1821
+ "glob": {
1822
+ "version": "8.0.1",
1823
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz",
1824
+ "integrity": "sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==",
1825
+ "dev": true,
1826
+ "requires": {
1827
+ "fs.realpath": "^1.0.0",
1828
+ "inflight": "^1.0.4",
1829
+ "inherits": "2",
1830
+ "minimatch": "^5.0.1",
1831
+ "once": "^1.3.0",
1832
+ "path-is-absolute": "^1.0.0"
1833
+ }
1834
+ },
1835
+ "minimatch": {
1836
+ "version": "5.0.1",
1837
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
1838
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
1839
+ "dev": true,
1840
+ "requires": {
1841
+ "brace-expansion": "^2.0.1"
1842
+ }
1843
+ },
1795
1844
  "mkdirp": {
1796
1845
  "version": "1.0.4",
1797
1846
  "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
@@ -2554,9 +2603,9 @@
2554
2603
  "dev": true
2555
2604
  },
2556
2605
  "date-format": {
2557
- "version": "4.0.7",
2558
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.7.tgz",
2559
- "integrity": "sha512-k5xqlzDGIfv2N/DHR/BR8Kc4N9CRy9ReuDkmdxeX/jNfit94QXd36emWMm40ZOEDKNm/c91yV9EO3uGPkR7wWQ==",
2606
+ "version": "4.0.9",
2607
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.9.tgz",
2608
+ "integrity": "sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg==",
2560
2609
  "dev": true
2561
2610
  },
2562
2611
  "debug": {
@@ -3026,9 +3075,9 @@
3026
3075
  "dev": true
3027
3076
  },
3028
3077
  "electron-to-chromium": {
3029
- "version": "1.4.114",
3030
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.114.tgz",
3031
- "integrity": "sha512-gRwLpVYWHGbERPU6o8pKfR168V6enWEXzZc6zQNNXbgJ7UJna+9qzAIHY94+9KOv71D/CH+QebLA9pChD2q8zA==",
3078
+ "version": "1.4.124",
3079
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.124.tgz",
3080
+ "integrity": "sha512-VhaE9VUYU6d2eIb+4xf83CATD+T+3bTzvxvlADkQE+c2hisiw3sZmvEDtsW704+Zky9WZGhBuQXijDVqSriQLA==",
3032
3081
  "dev": true
3033
3082
  },
3034
3083
  "elliptic": {
@@ -3135,9 +3184,9 @@
3135
3184
  }
3136
3185
  },
3137
3186
  "engine.io": {
3138
- "version": "6.1.3",
3139
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
3140
- "integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
3187
+ "version": "6.2.0",
3188
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
3189
+ "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
3141
3190
  "dev": true,
3142
3191
  "requires": {
3143
3192
  "@types/cookie": "^0.4.1",
@@ -3245,9 +3294,9 @@
3245
3294
  }
3246
3295
  },
3247
3296
  "es5-ext": {
3248
- "version": "0.10.60",
3249
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.60.tgz",
3250
- "integrity": "sha512-jpKNXIt60htYG59/9FGf2PYT3pwMpnEbNKysU+k/4FGwyGtMotOvcZOuW+EmXXYASRqYSXQfGL5cVIthOTgbkg==",
3297
+ "version": "0.10.61",
3298
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz",
3299
+ "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==",
3251
3300
  "dev": true,
3252
3301
  "requires": {
3253
3302
  "es6-iterator": "^2.0.3",
@@ -7075,16 +7124,16 @@
7075
7124
  }
7076
7125
  },
7077
7126
  "log4js": {
7078
- "version": "6.4.5",
7079
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.5.tgz",
7080
- "integrity": "sha512-43RJcYZ7nfUxpPO2woTl8CJ0t5+gucLJZ43mtp2PlInT+LygCp/bl6hNJtKulCJ+++fQsjIv4EO3Mp611PfeLQ==",
7127
+ "version": "6.4.6",
7128
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.6.tgz",
7129
+ "integrity": "sha512-1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw==",
7081
7130
  "dev": true,
7082
7131
  "requires": {
7083
- "date-format": "^4.0.7",
7132
+ "date-format": "^4.0.9",
7084
7133
  "debug": "^4.3.4",
7085
7134
  "flatted": "^3.2.5",
7086
7135
  "rfdc": "^1.3.0",
7087
- "streamroller": "^3.0.7"
7136
+ "streamroller": "^3.0.8"
7088
7137
  },
7089
7138
  "dependencies": {
7090
7139
  "debug": {
@@ -8190,15 +8239,49 @@
8190
8239
  }
8191
8240
  },
8192
8241
  "npm-packlist": {
8193
- "version": "5.0.0",
8194
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.0.0.tgz",
8195
- "integrity": "sha512-uU20UwM4Hogfab1Q7htJbhcyafM9lGHxOrDjkKvR2S3z7Ds0uRaESk0cXctczk+ABT4DZWNwjB10xlurFdEwZg==",
8242
+ "version": "5.0.2",
8243
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.0.2.tgz",
8244
+ "integrity": "sha512-jLhcNisUgpz6v2KC75qSeEYAM8UBMYjQ2OhlCOJjB4Ovu7XXnD25UqZ6hOQNeGShL/2ju3LL2E/zBbsuzkIQ8w==",
8196
8245
  "dev": true,
8197
8246
  "requires": {
8198
- "glob": "^7.2.0",
8247
+ "glob": "^8.0.1",
8199
8248
  "ignore-walk": "^5.0.1",
8200
8249
  "npm-bundled": "^1.1.2",
8201
8250
  "npm-normalize-package-bin": "^1.0.1"
8251
+ },
8252
+ "dependencies": {
8253
+ "brace-expansion": {
8254
+ "version": "2.0.1",
8255
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
8256
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
8257
+ "dev": true,
8258
+ "requires": {
8259
+ "balanced-match": "^1.0.0"
8260
+ }
8261
+ },
8262
+ "glob": {
8263
+ "version": "8.0.1",
8264
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz",
8265
+ "integrity": "sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==",
8266
+ "dev": true,
8267
+ "requires": {
8268
+ "fs.realpath": "^1.0.0",
8269
+ "inflight": "^1.0.4",
8270
+ "inherits": "2",
8271
+ "minimatch": "^5.0.1",
8272
+ "once": "^1.3.0",
8273
+ "path-is-absolute": "^1.0.0"
8274
+ }
8275
+ },
8276
+ "minimatch": {
8277
+ "version": "5.0.1",
8278
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
8279
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
8280
+ "dev": true,
8281
+ "requires": {
8282
+ "brace-expansion": "^2.0.1"
8283
+ }
8284
+ }
8202
8285
  }
8203
8286
  },
8204
8287
  "npm-pick-manifest": {
@@ -8246,14 +8329,14 @@
8246
8329
  }
8247
8330
  },
8248
8331
  "npmlog": {
8249
- "version": "6.0.1",
8250
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz",
8251
- "integrity": "sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg==",
8332
+ "version": "6.0.2",
8333
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
8334
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
8252
8335
  "dev": true,
8253
8336
  "requires": {
8254
8337
  "are-we-there-yet": "^3.0.0",
8255
8338
  "console-control-strings": "^1.1.0",
8256
- "gauge": "^4.0.0",
8339
+ "gauge": "^4.0.3",
8257
8340
  "set-blocking": "^2.0.0"
8258
8341
  }
8259
8342
  },
@@ -10169,16 +10252,16 @@
10169
10252
  }
10170
10253
  },
10171
10254
  "socket.io": {
10172
- "version": "4.4.1",
10173
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
10174
- "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
10255
+ "version": "4.5.0",
10256
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz",
10257
+ "integrity": "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==",
10175
10258
  "dev": true,
10176
10259
  "requires": {
10177
10260
  "accepts": "~1.3.4",
10178
10261
  "base64id": "~2.0.0",
10179
10262
  "debug": "~4.3.2",
10180
- "engine.io": "~6.1.0",
10181
- "socket.io-adapter": "~2.3.3",
10263
+ "engine.io": "~6.2.0",
10264
+ "socket.io-adapter": "~2.4.0",
10182
10265
  "socket.io-parser": "~4.0.4"
10183
10266
  },
10184
10267
  "dependencies": {
@@ -10200,9 +10283,9 @@
10200
10283
  }
10201
10284
  },
10202
10285
  "socket.io-adapter": {
10203
- "version": "2.3.3",
10204
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
10205
- "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==",
10286
+ "version": "2.4.0",
10287
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
10288
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==",
10206
10289
  "dev": true
10207
10290
  },
10208
10291
  "socket.io-parser": {
@@ -10365,9 +10448,9 @@
10365
10448
  "dev": true
10366
10449
  },
10367
10450
  "spica": {
10368
- "version": "0.0.518",
10369
- "resolved": "https://registry.npmjs.org/spica/-/spica-0.0.518.tgz",
10370
- "integrity": "sha512-DOaGrLnzccxFTRaVqhBVENaDWvUTlD7ZTEERCc8vLsTqdnd63LuI53iJiXXq39NgYHnjBkihp2RvJymGymMlAw==",
10451
+ "version": "0.0.524",
10452
+ "resolved": "https://registry.npmjs.org/spica/-/spica-0.0.524.tgz",
10453
+ "integrity": "sha512-gfBpnk65wCBH2Ub8T5PrT3uZqUFCPnrClJM6sS4UsQSYrLyfPlvXc5DmHkDidkgl/UeGbzIlLikf9kMIzgPOqQ==",
10371
10454
  "dev": true
10372
10455
  },
10373
10456
  "split-string": {
@@ -10508,14 +10591,14 @@
10508
10591
  }
10509
10592
  },
10510
10593
  "streamroller": {
10511
- "version": "3.0.7",
10512
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.7.tgz",
10513
- "integrity": "sha512-kh68kwiDGuIPiPDWwRbEC5us+kfARP1e9AsQiaLaSqGrctOvMn0mtL8iNY3r4/o5nIoYi3gPI1jexguZsXDlxw==",
10594
+ "version": "3.0.8",
10595
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.8.tgz",
10596
+ "integrity": "sha512-VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg==",
10514
10597
  "dev": true,
10515
10598
  "requires": {
10516
- "date-format": "^4.0.7",
10599
+ "date-format": "^4.0.9",
10517
10600
  "debug": "^4.3.4",
10518
- "fs-extra": "^10.0.1"
10601
+ "fs-extra": "^10.1.0"
10519
10602
  },
10520
10603
  "dependencies": {
10521
10604
  "debug": {
@@ -11012,9 +11095,18 @@
11012
11095
  "dev": true
11013
11096
  },
11014
11097
  "typed-dom": {
11015
- "version": "0.0.250",
11016
- "resolved": "https://registry.npmjs.org/typed-dom/-/typed-dom-0.0.250.tgz",
11017
- "integrity": "sha512-hjCpUI+E7St1bGVgyjYZww0ruhXLbPrcih6puElqXTIGHG9JHqd70p94RVilWup/mKoLnzeIdbFDYHLuloCfdQ==",
11098
+ "version": "0.0.267",
11099
+ "resolved": "https://registry.npmjs.org/typed-dom/-/typed-dom-0.0.267.tgz",
11100
+ "integrity": "sha512-Zon5ujgW5NDw/Wg5A22LYwKvCq8eyP2/T/gHgnSIoXreX+4v5a/9jhRaPuD1i9bgXjZD5YmYRAHpQ+I5ABWPeg==",
11101
+ "dev": true,
11102
+ "requires": {
11103
+ "typed-query-selector": "^2.6.1"
11104
+ }
11105
+ },
11106
+ "typed-query-selector": {
11107
+ "version": "2.6.1",
11108
+ "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.6.1.tgz",
11109
+ "integrity": "sha512-nzzcDrI0nncM5XTNyqeG7MrcXTx8lelUtNlTP+NvpnOfRzApyr+ZW4H/FoOaPfzmjn++Tf0ZxXpBN7Q3FN3ERw==",
11018
11110
  "dev": true
11019
11111
  },
11020
11112
  "typedarray": {
@@ -11080,14 +11172,14 @@
11080
11172
  }
11081
11173
  },
11082
11174
  "unbox-primitive": {
11083
- "version": "1.0.1",
11084
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
11085
- "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
11175
+ "version": "1.0.2",
11176
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
11177
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
11086
11178
  "dev": true,
11087
11179
  "requires": {
11088
- "function-bind": "^1.1.1",
11089
- "has-bigints": "^1.0.1",
11090
- "has-symbols": "^1.0.2",
11180
+ "call-bind": "^1.0.2",
11181
+ "has-bigints": "^1.0.2",
11182
+ "has-symbols": "^1.0.3",
11091
11183
  "which-boxed-primitive": "^1.0.2"
11092
11184
  }
11093
11185
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "securemark",
3
- "version": "0.240.2",
3
+ "version": "0.243.0",
4
4
  "description": "Secure markdown renderer working on browsers for user input data.",
5
5
  "private": false,
6
6
  "homepage": "https://github.com/falsandtru/securemark",
@@ -33,7 +33,7 @@
33
33
  "@types/dompurify": "2.3.3",
34
34
  "@types/jquery": "3.5.14",
35
35
  "@types/mathjax": "0.0.37",
36
- "@types/mocha": "9.1.0",
36
+ "@types/mocha": "9.1.1",
37
37
  "@types/power-assert": "1.5.8",
38
38
  "@types/prismjs": "1.26.0",
39
39
  "browserify": "^17.0.0",
@@ -61,9 +61,10 @@
61
61
  "npm-check-updates": "^12.5.9",
62
62
  "power-assert": "^1.6.1",
63
63
  "semver": "^7.3.7",
64
- "spica": "0.0.518",
64
+ "spica": "0.0.524",
65
65
  "tsify": "^5.0.4",
66
- "typed-dom": "0.0.250",
66
+ "typed-dom": "0.0.267",
67
+ "typed-query-selector": "^2.6.1",
67
68
  "typescript": "4.6.3",
68
69
  "vinyl-buffer": "^1.0.1",
69
70
  "vinyl-source-stream": "^2.0.0"
@@ -2,7 +2,6 @@ import { Parser, Tree, Context } from '../../data/parser';
2
2
  import { union } from '../../data/parser/union';
3
3
 
4
4
  export function fallback<P extends Parser<unknown>>(parser: P, otherwise: Parser<Tree<P>, Context<P>>): P;
5
- export function fallback<T, P extends Parser<T>>(parser: P, otherwise: Parser<T, Context<P>>): P;
6
5
  export function fallback<T>(parser: Parser<T>, otherwise: Parser<T>): Parser<T> {
7
6
  return union([parser, otherwise]);
8
7
  }
@@ -9,8 +9,10 @@ describe('Unit: combinator/indent', () => {
9
9
  assert.deepStrictEqual(inspect(parser(' ', {})), undefined);
10
10
  assert.deepStrictEqual(inspect(parser(' ', {})), undefined);
11
11
  assert.deepStrictEqual(inspect(parser('a ', {})), undefined);
12
+ assert.deepStrictEqual(inspect(parser(' a\n', {})), [['a'], '']);
12
13
  assert.deepStrictEqual(inspect(parser(' a ', {})), [['a '], '']);
13
- assert.deepStrictEqual(inspect(parser(' a ', {})), [['a '], '']);
14
+ assert.deepStrictEqual(inspect(parser(' a \n', {})), [['a '], '']);
15
+ assert.deepStrictEqual(inspect(parser(' a', {})), [['a'], '']);
14
16
  assert.deepStrictEqual(inspect(parser(' a\n a', {})), [['a\na'], '']);
15
17
  assert.deepStrictEqual(inspect(parser(' a\n a', {})), [['a\n a'], '']);
16
18
  assert.deepStrictEqual(inspect(parser(' a\n a', {})), [['a'], ' a']);