securemark 0.241.0 → 0.243.1

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/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/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,11 +364,12 @@ 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,
@@ -393,8 +388,8 @@ export namespace MarkdownParser {
393
388
  Parser<never, Context, [
394
389
  CodeBlockParser.SegmentParser,
395
390
  MathBlockParser.SegmentParser,
396
- BlockquoteParser.SegmentParser,
397
391
  TableParser.SegmentParser,
392
+ BlockquoteParser.SegmentParser,
398
393
  PlaceholderParser.SegmentParser,
399
394
  SourceParser.ContentLineParser,
400
395
  ]>,
@@ -423,8 +418,8 @@ export namespace MarkdownParser {
423
418
  Parser<never, Context, [
424
419
  CodeBlockParser.SegmentParser,
425
420
  MathBlockParser.SegmentParser,
426
- BlockquoteParser.SegmentParser,
427
421
  TableParser.SegmentParser,
422
+ BlockquoteParser.SegmentParser,
428
423
  PlaceholderParser.SegmentParser,
429
424
  SourceParser.ContentLineParser,
430
425
  ]>,
@@ -514,8 +509,10 @@ export namespace MarkdownParser {
514
509
  BlockParser.OListParser,
515
510
  BlockParser.IListParser,
516
511
  BlockParser.TableParser,
512
+ BlockParser.IndentBlockParser,
517
513
  BlockParser.CodeBlockParser,
518
514
  BlockParser.MathBlockParser,
515
+ BlockParser.SidefenceParser,
519
516
  BlockParser.BlockquoteParser,
520
517
  BlockParser.ParagraphParser,
521
518
  ]> {
@@ -551,6 +548,37 @@ export namespace MarkdownParser {
551
548
  }
552
549
  }
553
550
  }
551
+ export interface BlockquoteParser extends
552
+ // > abc
553
+ // !> *abc*
554
+ Block<'blockquote'>,
555
+ Parser<HTMLQuoteElement, Context, [
556
+ BlockquoteParser.SourceParser,
557
+ BlockquoteParser.MarkdownParser,
558
+ ]> {
559
+ }
560
+ export namespace BlockquoteParser {
561
+ export interface SegmentParser extends
562
+ Block<'blockquote/segment'>,
563
+ Parser<never, Context, [
564
+ SourceParser.ContentLineParser,
565
+ ]> {
566
+ }
567
+ export interface SourceParser extends
568
+ Block<'blockquote/source'>,
569
+ Parser<HTMLQuoteElement, Context, [
570
+ SourceParser,
571
+ AutolinkParser,
572
+ ]> {
573
+ }
574
+ export interface MarkdownParser extends
575
+ Block<'blockquote/markdown'>,
576
+ Parser<HTMLQuoteElement, Context, [
577
+ MarkdownParser,
578
+ Parser<HTMLElement, Context, []>,
579
+ ]> {
580
+ }
581
+ }
554
582
  export interface ReplyParser extends
555
583
  // >>1
556
584
  // > text
package/package-lock.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "securemark",
3
- "version": "0.241.0",
3
+ "version": "0.243.1",
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,12 +364,28 @@
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
378
  "version": "3.0.6",
368
379
  "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
369
380
  "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==",
370
381
  "dev": true
371
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==",
387
+ "dev": true
388
+ },
372
389
  "@jridgewell/sourcemap-codec": {
373
390
  "version": "1.4.11",
374
391
  "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
@@ -602,9 +619,9 @@
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,9 +1784,9 @@
1767
1784
  "dev": true
1768
1785
  },
1769
1786
  "cacache": {
1770
- "version": "16.0.6",
1771
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.6.tgz",
1772
- "integrity": "sha512-9a/MLxGaw3LEGes0HaPez2RgZWDV6X0jrgChsuxfEh8xoDoYGxaGrkMe7Dlyjrb655tA/b8fX0qlUg6Ii5MBvw==",
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",
@@ -2586,9 +2603,9 @@
2586
2603
  "dev": true
2587
2604
  },
2588
2605
  "date-format": {
2589
- "version": "4.0.7",
2590
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.7.tgz",
2591
- "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==",
2592
2609
  "dev": true
2593
2610
  },
2594
2611
  "debug": {
@@ -3058,9 +3075,9 @@
3058
3075
  "dev": true
3059
3076
  },
3060
3077
  "electron-to-chromium": {
3061
- "version": "1.4.118",
3062
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz",
3063
- "integrity": "sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==",
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==",
3064
3081
  "dev": true
3065
3082
  },
3066
3083
  "elliptic": {
@@ -3167,9 +3184,9 @@
3167
3184
  }
3168
3185
  },
3169
3186
  "engine.io": {
3170
- "version": "6.1.3",
3171
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
3172
- "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==",
3173
3190
  "dev": true,
3174
3191
  "requires": {
3175
3192
  "@types/cookie": "^0.4.1",
@@ -7107,16 +7124,16 @@
7107
7124
  }
7108
7125
  },
7109
7126
  "log4js": {
7110
- "version": "6.4.5",
7111
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.5.tgz",
7112
- "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==",
7113
7130
  "dev": true,
7114
7131
  "requires": {
7115
- "date-format": "^4.0.7",
7132
+ "date-format": "^4.0.9",
7116
7133
  "debug": "^4.3.4",
7117
7134
  "flatted": "^3.2.5",
7118
7135
  "rfdc": "^1.3.0",
7119
- "streamroller": "^3.0.7"
7136
+ "streamroller": "^3.0.8"
7120
7137
  },
7121
7138
  "dependencies": {
7122
7139
  "debug": {
@@ -10235,16 +10252,16 @@
10235
10252
  }
10236
10253
  },
10237
10254
  "socket.io": {
10238
- "version": "4.4.1",
10239
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
10240
- "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==",
10241
10258
  "dev": true,
10242
10259
  "requires": {
10243
10260
  "accepts": "~1.3.4",
10244
10261
  "base64id": "~2.0.0",
10245
10262
  "debug": "~4.3.2",
10246
- "engine.io": "~6.1.0",
10247
- "socket.io-adapter": "~2.3.3",
10263
+ "engine.io": "~6.2.0",
10264
+ "socket.io-adapter": "~2.4.0",
10248
10265
  "socket.io-parser": "~4.0.4"
10249
10266
  },
10250
10267
  "dependencies": {
@@ -10266,9 +10283,9 @@
10266
10283
  }
10267
10284
  },
10268
10285
  "socket.io-adapter": {
10269
- "version": "2.3.3",
10270
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
10271
- "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==",
10272
10289
  "dev": true
10273
10290
  },
10274
10291
  "socket.io-parser": {
@@ -10431,9 +10448,9 @@
10431
10448
  "dev": true
10432
10449
  },
10433
10450
  "spica": {
10434
- "version": "0.0.521",
10435
- "resolved": "https://registry.npmjs.org/spica/-/spica-0.0.521.tgz",
10436
- "integrity": "sha512-3WxY7K1QbcMA/9b85F5DsKQutzXJshtKejsudJTIXZovzVWlfdwnBAbQ5opFFiV5/ThDnYnKMO+qvVMNMjB3MQ==",
10451
+ "version": "0.0.524",
10452
+ "resolved": "https://registry.npmjs.org/spica/-/spica-0.0.524.tgz",
10453
+ "integrity": "sha512-gfBpnk65wCBH2Ub8T5PrT3uZqUFCPnrClJM6sS4UsQSYrLyfPlvXc5DmHkDidkgl/UeGbzIlLikf9kMIzgPOqQ==",
10437
10454
  "dev": true
10438
10455
  },
10439
10456
  "split-string": {
@@ -10574,14 +10591,14 @@
10574
10591
  }
10575
10592
  },
10576
10593
  "streamroller": {
10577
- "version": "3.0.7",
10578
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.7.tgz",
10579
- "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==",
10580
10597
  "dev": true,
10581
10598
  "requires": {
10582
- "date-format": "^4.0.7",
10599
+ "date-format": "^4.0.9",
10583
10600
  "debug": "^4.3.4",
10584
- "fs-extra": "^10.0.1"
10601
+ "fs-extra": "^10.1.0"
10585
10602
  },
10586
10603
  "dependencies": {
10587
10604
  "debug": {
@@ -11078,9 +11095,18 @@
11078
11095
  "dev": true
11079
11096
  },
11080
11097
  "typed-dom": {
11081
- "version": "0.0.253",
11082
- "resolved": "https://registry.npmjs.org/typed-dom/-/typed-dom-0.0.253.tgz",
11083
- "integrity": "sha512-g6GJQqmmF7EaMcExhKsOdeTubRS5GuarLctB78EhCHfIxCopWZ5QvrCbygzIFkjEh/zATZlZjLxacYQ+WRHtvg==",
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==",
11084
11110
  "dev": true
11085
11111
  },
11086
11112
  "typedarray": {
@@ -11146,14 +11172,14 @@
11146
11172
  }
11147
11173
  },
11148
11174
  "unbox-primitive": {
11149
- "version": "1.0.1",
11150
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
11151
- "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==",
11152
11178
  "dev": true,
11153
11179
  "requires": {
11154
- "function-bind": "^1.1.1",
11155
- "has-bigints": "^1.0.1",
11156
- "has-symbols": "^1.0.2",
11180
+ "call-bind": "^1.0.2",
11181
+ "has-bigints": "^1.0.2",
11182
+ "has-symbols": "^1.0.3",
11157
11183
  "which-boxed-primitive": "^1.0.2"
11158
11184
  }
11159
11185
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "securemark",
3
- "version": "0.241.0",
3
+ "version": "0.243.1",
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",
@@ -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.521",
64
+ "spica": "0.0.524",
65
65
  "tsify": "^5.0.4",
66
- "typed-dom": "0.0.253",
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"
@@ -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']);
@@ -1,6 +1,7 @@
1
1
  import { undefined } from 'spica/global';
2
2
  import { Parser, eval, exec } from '../../data/parser';
3
3
  import { some } from '../../data/parser/some';
4
+ import { block } from '../constraint/block';
4
5
  import { line } from '../constraint/line';
5
6
  import { bind } from '../monad/bind';
6
7
  import { match } from './match';
@@ -8,15 +9,15 @@ import { open } from './surround';
8
9
  import { memoize } from 'spica/memoize';
9
10
  import { join } from 'spica/array';
10
11
 
11
- export function indent<P extends Parser<unknown>>(parser: P): P;
12
- export function indent<T>(parser: Parser<T>): Parser<T> {
12
+ export function indent<P extends Parser<unknown>>(parser: P, separation?: boolean): P;
13
+ export function indent<T>(parser: Parser<T>, separation = false): Parser<T> {
13
14
  assert(parser);
14
- return bind(match(
15
+ return bind(block(match(
15
16
  /^(?=(([ \t])\2*))/,
16
17
  memoize(
17
18
  ([, indent]) =>
18
19
  some(line(open(indent, source => [[unline(source)], '']))),
19
- ([, indent]) => indent.length * 2 + +(indent[0] === ' '), [])),
20
+ ([, indent]) => indent.length * 2 + +(indent[0] === ' '), [])), separation),
20
21
  (nodes, rest, context) => {
21
22
  const result = parser(join(nodes, '\n'), context);
22
23
  return result && exec(result) === ''
@@ -76,10 +76,10 @@ describe('Unit: parser/block/blockquote', () => {
76
76
  assert.deepStrictEqual(inspect(parser('!>> a')), [['<blockquote><blockquote><section><p>a</p><ol class="annotations"></ol><ol class="references"></ol></section></blockquote></blockquote>'], '']);
77
77
  assert.deepStrictEqual(inspect(parser('!>> a\n> b')), [['<blockquote><blockquote><section><p>a</p><ol class="annotations"></ol><ol class="references"></ol></section></blockquote><section><p>b</p><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
78
78
  assert.deepStrictEqual(inspect(parser('!> - a')), [['<blockquote><section><ul><li>a</li></ul><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
79
- assert.deepStrictEqual(inspect(parser('!> ```\na\n```')), [['<blockquote><section><pre class="text" translate="no">a</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
80
- assert.deepStrictEqual(inspect(parser('!> ```\n> a\n```')), [['<blockquote><section><pre class="text" translate="no">a</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
81
- assert.deepStrictEqual(inspect(parser('!> ```\n> a\n> ```')), [['<blockquote><section><pre class="text" translate="no">a</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
82
- assert.deepStrictEqual(inspect(parser('!> ```\n> a\n> \n> b\n> ```')), [['<blockquote><section><pre class="text" translate="no">a<br><br>b</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
79
+ assert.deepStrictEqual(inspect(parser('!> ```\na\n```')), [['<blockquote><section><pre class="text">a</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
80
+ assert.deepStrictEqual(inspect(parser('!> ```\n> a\n```')), [['<blockquote><section><pre class="text">a</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
81
+ assert.deepStrictEqual(inspect(parser('!> ```\n> a\n> ```')), [['<blockquote><section><pre class="text">a</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
82
+ assert.deepStrictEqual(inspect(parser('!> ```\n> a\n> \n> b\n> ```')), [['<blockquote><section><pre class="text">a<br><br>b</pre><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
83
83
  assert.deepStrictEqual(inspect(parser('!> a\n>\n> b')), [['<blockquote><section><p>a</p><p>b</p><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
84
84
  assert.deepStrictEqual(inspect(parser('!> > a')), [['<blockquote><section><blockquote><pre>a</pre></blockquote><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
85
85
  assert.deepStrictEqual(inspect(parser('!> > a\n> b')), [['<blockquote><section><blockquote><pre>a<br>b</pre></blockquote><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
@@ -15,14 +15,8 @@ export const blockquote: BlockquoteParser = lazy(() => block(rewrite(segment, un
15
15
  ]))));
16
16
 
17
17
  const opener = /^(?=>>+(?:$|\s))/;
18
-
19
18
  const indent = block(open(opener, some(contentline, /^>(?:$|\s)/)), false);
20
-
21
- function unindent(source: string): string {
22
- return source
23
- .replace(/\n$/, '')
24
- .replace(/^>(?:$|\s|(?=>+(?:$|\s)))/mg, '');
25
- }
19
+ const unindent = (source: string) => source.replace(/(^|\n)>(?:[^\S\n]|(?=>*(?:$|\s)))|\n$/g, '$1');
26
20
 
27
21
  const source: BlockquoteParser.SourceParser = lazy(() => fmap(
28
22
  some(creator(union([
@@ -24,24 +24,24 @@ describe('Unit: parser/block/codeblock', () => {
24
24
  });
25
25
 
26
26
  it('basic', () => {
27
- assert.deepStrictEqual(inspect(parser('```\n```')), [['<pre class="text" translate="no"></pre>'], '']);
28
- assert.deepStrictEqual(inspect(parser('```\n\n```')), [['<pre class="text" translate="no"></pre>'], '']);
29
- assert.deepStrictEqual(inspect(parser('```\na\n```')), [['<pre class="text" translate="no">a</pre>'], '']);
30
- assert.deepStrictEqual(inspect(parser('```\na\nb\n```')), [['<pre class="text" translate="no">a<br>b</pre>'], '']);
31
- assert.deepStrictEqual(inspect(parser('```\n\\\n```')), [['<pre class="text" translate="no">\\</pre>'], '']);
32
- assert.deepStrictEqual(inspect(parser('```\n`\n```')), [['<pre class="text" translate="no">`</pre>'], '']);
33
- assert.deepStrictEqual(inspect(parser('```\n```\n```')), [['<pre class="text" translate="no">```</pre>'], '']);
34
- assert.deepStrictEqual(inspect(parser('```\n```\n\n```')), [['<pre class="text" translate="no"></pre>'], '\n```']);
35
- assert.deepStrictEqual(inspect(parser('```\n````\n```')), [['<pre class="text" translate="no">````</pre>'], '']);
36
- assert.deepStrictEqual(inspect(parser('```\n````\n\n```')), [['<pre class="text" translate="no">````<br></pre>'], '']);
37
- assert.deepStrictEqual(inspect(parser('````\n```\n````')), [['<pre class="text" translate="no">```</pre>'], '']);
38
- assert.deepStrictEqual(inspect(parser('````\n```\n\n````')), [['<pre class="text" translate="no">```<br></pre>'], '']);
39
- assert.deepStrictEqual(inspect(parser('```\n\n```\n')), [['<pre class="text" translate="no"></pre>'], '']);
40
- assert.deepStrictEqual(inspect(parser('```\nhttp://host\n```')), [['<pre class="text" translate="no"><a href="http://host" target="_blank">http://host</a></pre>'], '']);
41
- assert.deepStrictEqual(inspect(parser('```\n!http://host\n```')), [['<pre class="text" translate="no">!<a href="http://host" target="_blank">http://host</a></pre>'], '']);
42
- assert.deepStrictEqual(inspect(parser('```\n#a\n```')), [['<pre class="text" translate="no"><a href="/hashtags/a" class="hashtag">#a</a></pre>'], '']);
43
- assert.deepStrictEqual(inspect(parser('```\n@a#b\n```')), [['<pre class="text" translate="no"><a href="/@a?ch=b" class="channel">@a#b</a></pre>'], '']);
44
- assert.deepStrictEqual(inspect(parser(`\`\`\`\n0${'\n'.repeat(300)}\`\`\``), '>'), [['<pre class="text" translate="no">'], '']);
27
+ assert.deepStrictEqual(inspect(parser('```\n```')), [['<pre class="text"></pre>'], '']);
28
+ assert.deepStrictEqual(inspect(parser('```\n\n```')), [['<pre class="text"></pre>'], '']);
29
+ assert.deepStrictEqual(inspect(parser('```\na\n```')), [['<pre class="text">a</pre>'], '']);
30
+ assert.deepStrictEqual(inspect(parser('```\na\nb\n```')), [['<pre class="text">a<br>b</pre>'], '']);
31
+ assert.deepStrictEqual(inspect(parser('```\n\\\n```')), [['<pre class="text">\\</pre>'], '']);
32
+ assert.deepStrictEqual(inspect(parser('```\n`\n```')), [['<pre class="text">`</pre>'], '']);
33
+ assert.deepStrictEqual(inspect(parser('```\n```\n```')), [['<pre class="text">```</pre>'], '']);
34
+ assert.deepStrictEqual(inspect(parser('```\n```\n\n```')), [['<pre class="text"></pre>'], '\n```']);
35
+ assert.deepStrictEqual(inspect(parser('```\n````\n```')), [['<pre class="text">````</pre>'], '']);
36
+ assert.deepStrictEqual(inspect(parser('```\n````\n\n```')), [['<pre class="text">````<br></pre>'], '']);
37
+ assert.deepStrictEqual(inspect(parser('````\n```\n````')), [['<pre class="text">```</pre>'], '']);
38
+ assert.deepStrictEqual(inspect(parser('````\n```\n\n````')), [['<pre class="text">```<br></pre>'], '']);
39
+ assert.deepStrictEqual(inspect(parser('```\n\n```\n')), [['<pre class="text"></pre>'], '']);
40
+ assert.deepStrictEqual(inspect(parser('```\nhttp://host\n```')), [['<pre class="text"><a href="http://host" target="_blank">http://host</a></pre>'], '']);
41
+ assert.deepStrictEqual(inspect(parser('```\n!http://host\n```')), [['<pre class="text">!<a href="http://host" target="_blank">http://host</a></pre>'], '']);
42
+ assert.deepStrictEqual(inspect(parser('```\n#a\n```')), [['<pre class="text"><a href="/hashtags/a" class="hashtag">#a</a></pre>'], '']);
43
+ assert.deepStrictEqual(inspect(parser('```\n@a#b\n```')), [['<pre class="text"><a href="/@a?ch=b" class="channel">@a#b</a></pre>'], '']);
44
+ assert.deepStrictEqual(inspect(parser(`\`\`\`\n0${'\n'.repeat(300)}\`\`\``), '>'), [['<pre class="text">'], '']);
45
45
  });
46
46
 
47
47
  it('attribute', () => {
@@ -50,21 +50,21 @@ describe('Unit: parser/block/codeblock', () => {
50
50
  assert.deepStrictEqual(inspect(parser('```A\n```')), [['<pre class="code language-a" translate="no" data-lang="a"></pre>'], '']);
51
51
  assert.deepStrictEqual(inspect(parser('```a-b\n```')), [['<pre class="code language-a-b" translate="no" data-lang="a-b"></pre>'], '']);
52
52
  assert.deepStrictEqual(inspect(parser('```a-b0\n```')), [['<pre class="code language-a-b0" translate="no" data-lang="a-b0"></pre>'], '']);
53
- assert.deepStrictEqual(inspect(parser('```a--b\n```')), [['<pre class="text" translate="no" data-path="a--b"></pre>'], '']);
54
- assert.deepStrictEqual(inspect(parser('``` b\n```')), [['<pre class="text" translate="no" data-path="b"></pre>'], '']);
53
+ assert.deepStrictEqual(inspect(parser('```a--b\n```')), [['<pre class="text" data-path="a--b"></pre>'], '']);
54
+ assert.deepStrictEqual(inspect(parser('``` b\n```')), [['<pre class="text" data-path="b"></pre>'], '']);
55
55
  assert.deepStrictEqual(inspect(parser('``` b c\n```')), [['<pre class="invalid" translate="no">``` b c\n```</pre>'], '']);
56
- assert.deepStrictEqual(inspect(parser('``` b\\ c\n```')), [['<pre class="text" translate="no" data-path="b\\ c"></pre>'], '']);
56
+ assert.deepStrictEqual(inspect(parser('``` b\\ c\n```')), [['<pre class="text" data-path="b\\ c"></pre>'], '']);
57
57
  assert.deepStrictEqual(inspect(parser('``` b.c\n```')), [['<pre class="code language-c" translate="no" data-lang="c" data-path="b.c"></pre>'], '']);
58
- assert.deepStrictEqual(inspect(parser('``` .b\n```')), [['<pre class="text" translate="no" data-path=".b"></pre>'], '']);
59
- assert.deepStrictEqual(inspect(parser('``` b \n```')), [['<pre class="text" translate="no" data-path="b"></pre>'], '']);
60
- assert.deepStrictEqual(inspect(parser('``` ~/.b\n```')), [['<pre class="text" translate="no" data-path="~/.b"></pre>'], '']);
58
+ assert.deepStrictEqual(inspect(parser('``` .b\n```')), [['<pre class="text" data-path=".b"></pre>'], '']);
59
+ assert.deepStrictEqual(inspect(parser('``` b \n```')), [['<pre class="text" data-path="b"></pre>'], '']);
60
+ assert.deepStrictEqual(inspect(parser('``` ~/.b\n```')), [['<pre class="text" data-path="~/.b"></pre>'], '']);
61
61
  assert.deepStrictEqual(inspect(parser('``` ~/b.c\n```')), [['<pre class="code language-c" translate="no" data-lang="c" data-path="~/b.c"></pre>'], '']);
62
- assert.deepStrictEqual(inspect(parser('```.b\n```')), [['<pre class="text" translate="no" data-path=".b"></pre>'], '']);
62
+ assert.deepStrictEqual(inspect(parser('```.b\n```')), [['<pre class="text" data-path=".b"></pre>'], '']);
63
63
  assert.deepStrictEqual(inspect(parser('```b.c\n```')), [['<pre class="code language-c" translate="no" data-lang="c" data-path="b.c"></pre>'], '']);
64
64
  assert.deepStrictEqual(inspect(parser('```a b.c\n```')), [['<pre class="code language-a" translate="no" data-lang="a" data-path="b.c"></pre>'], '']);
65
65
  assert.deepStrictEqual(inspect(parser('```a 1\n```')), [['<pre class="code language-a" translate="no" data-lang="a" data-line="1"></pre>'], '']);
66
- assert.deepStrictEqual(inspect(parser('``` 1\n```')), [['<pre class="text" translate="no" data-line="1"></pre>'], '']);
67
- assert.deepStrictEqual(inspect(parser('``` 1,2-3\n```')), [['<pre class="text" translate="no" data-line="1,2-3"></pre>'], '']);
66
+ assert.deepStrictEqual(inspect(parser('``` 1\n```')), [['<pre class="text" data-line="1"></pre>'], '']);
67
+ assert.deepStrictEqual(inspect(parser('``` 1,2-3\n```')), [['<pre class="text" data-line="1,2-3"></pre>'], '']);
68
68
  assert.deepStrictEqual(inspect(parser('``` 1 b.c\n```')), [['<pre class="code language-c" translate="no" data-lang="c" data-line="1" data-path="b.c"></pre>'], '']);
69
69
  });
70
70
 
@@ -59,7 +59,7 @@ export const codeblock: CodeBlockParser = block(validate('```', fmap(
59
59
  const el = html('pre',
60
60
  {
61
61
  class: params.lang ? `code language-${params.lang}` : 'text',
62
- translate: 'no',
62
+ translate: params.lang ? 'no' : undefined,
63
63
  'data-lang': params.lang || undefined,
64
64
  'data-line': params.line || undefined,
65
65
  'data-path': params.path || undefined,