mdat 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6706,6 +6706,14 @@ function push(list$3, items) {
6706
6706
 
6707
6707
  //#endregion
6708
6708
  //#region node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js
6709
+ /**
6710
+ * @import {
6711
+ * Extension,
6712
+ * Handles,
6713
+ * HtmlExtension,
6714
+ * NormalizedExtension
6715
+ * } from 'micromark-util-types'
6716
+ */
6709
6717
  const hasOwnProperty = {}.hasOwnProperty;
6710
6718
  /**
6711
6719
  * Combine multiple syntax extensions into one.
@@ -7047,6 +7055,9 @@ function regexCheck(regex$1) {
7047
7055
  //#endregion
7048
7056
  //#region node_modules/.pnpm/micromark-factory-space@2.0.1/node_modules/micromark-factory-space/index.js
7049
7057
  /**
7058
+ * @import {Effects, State, TokenType} from 'micromark-util-types'
7059
+ */
7060
+ /**
7050
7061
  * Parse spaces and tabs.
7051
7062
  *
7052
7063
  * There is no `nok` parameter:
@@ -7103,6 +7114,15 @@ function factorySpace(effects, ok$2, type, max) {
7103
7114
 
7104
7115
  //#endregion
7105
7116
  //#region node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/content.js
7117
+ /**
7118
+ * @import {
7119
+ * InitialConstruct,
7120
+ * Initializer,
7121
+ * State,
7122
+ * TokenizeContext,
7123
+ * Token
7124
+ * } from 'micromark-util-types'
7125
+ */
7106
7126
  /** @type {InitialConstruct} */
7107
7127
  const content = { tokenize: initializeContent };
7108
7128
  /**
@@ -7162,6 +7182,23 @@ function initializeContent(effects) {
7162
7182
 
7163
7183
  //#endregion
7164
7184
  //#region node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/document.js
7185
+ /**
7186
+ * @import {
7187
+ * Construct,
7188
+ * ContainerState,
7189
+ * InitialConstruct,
7190
+ * Initializer,
7191
+ * Point,
7192
+ * State,
7193
+ * TokenizeContext,
7194
+ * Tokenizer,
7195
+ * Token
7196
+ * } from 'micromark-util-types'
7197
+ */
7198
+ /**
7199
+ * @typedef {[Construct, ContainerState]} StackItem
7200
+ * Construct and its state.
7201
+ */
7165
7202
  /** @type {InitialConstruct} */
7166
7203
  const document = { tokenize: initializeDocument };
7167
7204
  /** @type {Construct} */
@@ -7363,6 +7400,9 @@ function tokenizeContainer(effects, ok$2, nok) {
7363
7400
  //#endregion
7364
7401
  //#region node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js
7365
7402
  /**
7403
+ * @import {Code} from 'micromark-util-types'
7404
+ */
7405
+ /**
7366
7406
  * Classify whether a code represents whitespace, punctuation, or something
7367
7407
  * else.
7368
7408
  *
@@ -7414,6 +7454,19 @@ function resolveAll(constructs$1, events, context) {
7414
7454
 
7415
7455
  //#endregion
7416
7456
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/attention.js
7457
+ /**
7458
+ * @import {
7459
+ * Code,
7460
+ * Construct,
7461
+ * Event,
7462
+ * Point,
7463
+ * Resolver,
7464
+ * State,
7465
+ * TokenizeContext,
7466
+ * Tokenizer,
7467
+ * Token
7468
+ * } from 'micromark-util-types'
7469
+ */
7417
7470
  /** @type {Construct} */
7418
7471
  const attention = {
7419
7472
  name: "attention",
@@ -7622,6 +7675,14 @@ function movePoint(point$2, offset) {
7622
7675
 
7623
7676
  //#endregion
7624
7677
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/autolink.js
7678
+ /**
7679
+ * @import {
7680
+ * Construct,
7681
+ * State,
7682
+ * TokenizeContext,
7683
+ * Tokenizer
7684
+ * } from 'micromark-util-types'
7685
+ */
7625
7686
  /** @type {Construct} */
7626
7687
  const autolink = {
7627
7688
  name: "autolink",
@@ -7826,6 +7887,14 @@ function tokenizeAutolink(effects, ok$2, nok) {
7826
7887
 
7827
7888
  //#endregion
7828
7889
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/blank-line.js
7890
+ /**
7891
+ * @import {
7892
+ * Construct,
7893
+ * State,
7894
+ * TokenizeContext,
7895
+ * Tokenizer
7896
+ * } from 'micromark-util-types'
7897
+ */
7829
7898
  /** @type {Construct} */
7830
7899
  const blankLine = {
7831
7900
  partial: true,
@@ -7876,6 +7945,15 @@ function tokenizeBlankLine(effects, ok$2, nok) {
7876
7945
 
7877
7946
  //#endregion
7878
7947
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/block-quote.js
7948
+ /**
7949
+ * @import {
7950
+ * Construct,
7951
+ * Exiter,
7952
+ * State,
7953
+ * TokenizeContext,
7954
+ * Tokenizer
7955
+ * } from 'micromark-util-types'
7956
+ */
7879
7957
  /** @type {Construct} */
7880
7958
  const blockQuote = {
7881
7959
  continuation: { tokenize: tokenizeBlockQuoteContinuation },
@@ -7995,6 +8073,14 @@ function exit$1(effects) {
7995
8073
 
7996
8074
  //#endregion
7997
8075
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-escape.js
8076
+ /**
8077
+ * @import {
8078
+ * Construct,
8079
+ * State,
8080
+ * TokenizeContext,
8081
+ * Tokenizer
8082
+ * } from 'micromark-util-types'
8083
+ */
7998
8084
  /** @type {Construct} */
7999
8085
  const characterEscape = {
8000
8086
  name: "characterEscape",
@@ -8048,6 +8134,15 @@ function tokenizeCharacterEscape(effects, ok$2, nok) {
8048
8134
 
8049
8135
  //#endregion
8050
8136
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-reference.js
8137
+ /**
8138
+ * @import {
8139
+ * Code,
8140
+ * Construct,
8141
+ * State,
8142
+ * TokenizeContext,
8143
+ * Tokenizer
8144
+ * } from 'micromark-util-types'
8145
+ */
8051
8146
  /** @type {Construct} */
8052
8147
  const characterReference = {
8053
8148
  name: "characterReference",
@@ -8178,6 +8273,15 @@ function tokenizeCharacterReference(effects, ok$2, nok) {
8178
8273
 
8179
8274
  //#endregion
8180
8275
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-fenced.js
8276
+ /**
8277
+ * @import {
8278
+ * Code,
8279
+ * Construct,
8280
+ * State,
8281
+ * TokenizeContext,
8282
+ * Tokenizer
8283
+ * } from 'micromark-util-types'
8284
+ */
8181
8285
  /** @type {Construct} */
8182
8286
  const nonLazyContinuation = {
8183
8287
  partial: true,
@@ -8585,6 +8689,14 @@ function tokenizeNonLazyContinuation(effects, ok$2, nok) {
8585
8689
 
8586
8690
  //#endregion
8587
8691
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-indented.js
8692
+ /**
8693
+ * @import {
8694
+ * Construct,
8695
+ * State,
8696
+ * TokenizeContext,
8697
+ * Tokenizer
8698
+ * } from 'micromark-util-types'
8699
+ */
8588
8700
  /** @type {Construct} */
8589
8701
  const codeIndented = {
8590
8702
  name: "codeIndented",
@@ -8722,6 +8834,17 @@ function tokenizeFurtherStart(effects, ok$2, nok) {
8722
8834
 
8723
8835
  //#endregion
8724
8836
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-text.js
8837
+ /**
8838
+ * @import {
8839
+ * Construct,
8840
+ * Previous,
8841
+ * Resolver,
8842
+ * State,
8843
+ * TokenizeContext,
8844
+ * Tokenizer,
8845
+ * Token
8846
+ * } from 'micromark-util-types'
8847
+ */
8725
8848
  /** @type {Construct} */
8726
8849
  const codeText = {
8727
8850
  name: "codeText",
@@ -9129,6 +9252,9 @@ function chunkedPush(list$3, right) {
9129
9252
  //#endregion
9130
9253
  //#region node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/index.js
9131
9254
  /**
9255
+ * @import {Chunk, Event, Token} from 'micromark-util-types'
9256
+ */
9257
+ /**
9132
9258
  * Tokenize subcontent.
9133
9259
  *
9134
9260
  * @param {Array<Event>} eventsArray
@@ -9282,6 +9408,16 @@ function subcontent(events, eventIndex) {
9282
9408
  //#endregion
9283
9409
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/content.js
9284
9410
  /**
9411
+ * @import {
9412
+ * Construct,
9413
+ * Resolver,
9414
+ * State,
9415
+ * TokenizeContext,
9416
+ * Tokenizer,
9417
+ * Token
9418
+ * } from 'micromark-util-types'
9419
+ */
9420
+ /**
9285
9421
  * No name because it must not be turned off.
9286
9422
  * @type {Construct}
9287
9423
  */
@@ -9406,6 +9542,9 @@ function tokenizeContinuation(effects, ok$2, nok) {
9406
9542
  //#endregion
9407
9543
  //#region node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js
9408
9544
  /**
9545
+ * @import {Effects, State, TokenType} from 'micromark-util-types'
9546
+ */
9547
+ /**
9409
9548
  * Parse destinations.
9410
9549
  *
9411
9550
  * ###### Examples
@@ -9588,6 +9727,14 @@ function factoryDestination(effects, ok$2, nok, type, literalType$1, literalMark
9588
9727
  //#endregion
9589
9728
  //#region node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js
9590
9729
  /**
9730
+ * @import {
9731
+ * Effects,
9732
+ * State,
9733
+ * TokenizeContext,
9734
+ * TokenType
9735
+ * } from 'micromark-util-types'
9736
+ */
9737
+ /**
9591
9738
  * Parse labels.
9592
9739
  *
9593
9740
  * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.
@@ -9713,6 +9860,14 @@ function factoryLabel(effects, ok$2, nok, type, markerType, stringType$1) {
9713
9860
  //#endregion
9714
9861
  //#region node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js
9715
9862
  /**
9863
+ * @import {
9864
+ * Code,
9865
+ * Effects,
9866
+ * State,
9867
+ * TokenType
9868
+ * } from 'micromark-util-types'
9869
+ */
9870
+ /**
9716
9871
  * Parse titles.
9717
9872
  *
9718
9873
  * ###### Examples
@@ -9851,6 +10006,9 @@ function factoryTitle(effects, ok$2, nok, type, markerType, stringType$1) {
9851
10006
  //#endregion
9852
10007
  //#region node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js
9853
10008
  /**
10009
+ * @import {Effects, State} from 'micromark-util-types'
10010
+ */
10011
+ /**
9854
10012
  * Parse spaces and tabs.
9855
10013
  *
9856
10014
  * There is no `nok` parameter:
@@ -9888,6 +10046,14 @@ function factoryWhitespace(effects, ok$2) {
9888
10046
 
9889
10047
  //#endregion
9890
10048
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/definition.js
10049
+ /**
10050
+ * @import {
10051
+ * Construct,
10052
+ * State,
10053
+ * TokenizeContext,
10054
+ * Tokenizer
10055
+ * } from 'micromark-util-types'
10056
+ */
9891
10057
  /** @type {Construct} */
9892
10058
  const definition$1 = {
9893
10059
  name: "definition",
@@ -10096,6 +10262,14 @@ function tokenizeTitleBefore(effects, ok$2, nok) {
10096
10262
 
10097
10263
  //#endregion
10098
10264
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/hard-break-escape.js
10265
+ /**
10266
+ * @import {
10267
+ * Construct,
10268
+ * State,
10269
+ * TokenizeContext,
10270
+ * Tokenizer
10271
+ * } from 'micromark-util-types'
10272
+ */
10099
10273
  /** @type {Construct} */
10100
10274
  const hardBreakEscape = {
10101
10275
  name: "hardBreakEscape",
@@ -10146,6 +10320,16 @@ function tokenizeHardBreakEscape(effects, ok$2, nok) {
10146
10320
 
10147
10321
  //#endregion
10148
10322
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/heading-atx.js
10323
+ /**
10324
+ * @import {
10325
+ * Construct,
10326
+ * Resolver,
10327
+ * State,
10328
+ * TokenizeContext,
10329
+ * Tokenizer,
10330
+ * Token
10331
+ * } from 'micromark-util-types'
10332
+ */
10149
10333
  /** @type {Construct} */
10150
10334
  const headingAtx = {
10151
10335
  name: "headingAtx",
@@ -10422,6 +10606,16 @@ const htmlRawNames = [
10422
10606
 
10423
10607
  //#endregion
10424
10608
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-flow.js
10609
+ /**
10610
+ * @import {
10611
+ * Code,
10612
+ * Construct,
10613
+ * Resolver,
10614
+ * State,
10615
+ * TokenizeContext,
10616
+ * Tokenizer
10617
+ * } from 'micromark-util-types'
10618
+ */
10425
10619
  /** @type {Construct} */
10426
10620
  const htmlFlow = {
10427
10621
  concrete: true,
@@ -11186,6 +11380,15 @@ function tokenizeBlankLineBefore(effects, ok$2, nok) {
11186
11380
 
11187
11381
  //#endregion
11188
11382
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-text.js
11383
+ /**
11384
+ * @import {
11385
+ * Code,
11386
+ * Construct,
11387
+ * State,
11388
+ * TokenizeContext,
11389
+ * Tokenizer
11390
+ * } from 'micromark-util-types'
11391
+ */
11189
11392
  /** @type {Construct} */
11190
11393
  const htmlText = {
11191
11394
  name: "htmlText",
@@ -11792,6 +11995,17 @@ function tokenizeHtmlText(effects, ok$2, nok) {
11792
11995
 
11793
11996
  //#endregion
11794
11997
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-end.js
11998
+ /**
11999
+ * @import {
12000
+ * Construct,
12001
+ * Event,
12002
+ * Resolver,
12003
+ * State,
12004
+ * TokenizeContext,
12005
+ * Tokenizer,
12006
+ * Token
12007
+ * } from 'micromark-util-types'
12008
+ */
11795
12009
  /** @type {Construct} */
11796
12010
  const labelEnd = {
11797
12011
  name: "labelEnd",
@@ -12252,6 +12466,14 @@ function tokenizeReferenceCollapsed(effects, ok$2, nok) {
12252
12466
 
12253
12467
  //#endregion
12254
12468
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-image.js
12469
+ /**
12470
+ * @import {
12471
+ * Construct,
12472
+ * State,
12473
+ * TokenizeContext,
12474
+ * Tokenizer
12475
+ * } from 'micromark-util-types'
12476
+ */
12255
12477
  /** @type {Construct} */
12256
12478
  const labelStartImage = {
12257
12479
  name: "labelStartImage",
@@ -12338,6 +12560,14 @@ function tokenizeLabelStartImage(effects, ok$2, nok) {
12338
12560
 
12339
12561
  //#endregion
12340
12562
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-link.js
12563
+ /**
12564
+ * @import {
12565
+ * Construct,
12566
+ * State,
12567
+ * TokenizeContext,
12568
+ * Tokenizer
12569
+ * } from 'micromark-util-types'
12570
+ */
12341
12571
  /** @type {Construct} */
12342
12572
  const labelStartLink = {
12343
12573
  name: "labelStartLink",
@@ -12379,6 +12609,14 @@ function tokenizeLabelStartLink(effects, ok$2, nok) {
12379
12609
 
12380
12610
  //#endregion
12381
12611
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/line-ending.js
12612
+ /**
12613
+ * @import {
12614
+ * Construct,
12615
+ * State,
12616
+ * TokenizeContext,
12617
+ * Tokenizer
12618
+ * } from 'micromark-util-types'
12619
+ */
12382
12620
  /** @type {Construct} */
12383
12621
  const lineEnding = {
12384
12622
  name: "lineEnding",
@@ -12402,6 +12640,15 @@ function tokenizeLineEnding(effects, ok$2) {
12402
12640
 
12403
12641
  //#endregion
12404
12642
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/thematic-break.js
12643
+ /**
12644
+ * @import {
12645
+ * Code,
12646
+ * Construct,
12647
+ * State,
12648
+ * TokenizeContext,
12649
+ * Tokenizer
12650
+ * } from 'micromark-util-types'
12651
+ */
12405
12652
  /** @type {Construct} */
12406
12653
  const thematicBreak$1 = {
12407
12654
  name: "thematicBreak",
@@ -12489,6 +12736,16 @@ function tokenizeThematicBreak(effects, ok$2, nok) {
12489
12736
 
12490
12737
  //#endregion
12491
12738
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/list.js
12739
+ /**
12740
+ * @import {
12741
+ * Code,
12742
+ * Construct,
12743
+ * Exiter,
12744
+ * State,
12745
+ * TokenizeContext,
12746
+ * Tokenizer
12747
+ * } from 'micromark-util-types'
12748
+ */
12492
12749
  /** @type {Construct} */
12493
12750
  const list$2 = {
12494
12751
  continuation: { tokenize: tokenizeListContinuation },
@@ -12652,6 +12909,16 @@ function tokenizeListItemPrefixWhitespace(effects, ok$2, nok) {
12652
12909
 
12653
12910
  //#endregion
12654
12911
  //#region node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/setext-underline.js
12912
+ /**
12913
+ * @import {
12914
+ * Code,
12915
+ * Construct,
12916
+ * Resolver,
12917
+ * State,
12918
+ * TokenizeContext,
12919
+ * Tokenizer
12920
+ * } from 'micromark-util-types'
12921
+ */
12655
12922
  /** @type {Construct} */
12656
12923
  const setextUnderline = {
12657
12924
  name: "setextUnderline",
@@ -12795,6 +13062,14 @@ function tokenizeSetextUnderline(effects, ok$2, nok) {
12795
13062
 
12796
13063
  //#endregion
12797
13064
  //#region node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/flow.js
13065
+ /**
13066
+ * @import {
13067
+ * InitialConstruct,
13068
+ * Initializer,
13069
+ * State,
13070
+ * TokenizeContext
13071
+ * } from 'micromark-util-types'
13072
+ */
12798
13073
  /** @type {InitialConstruct} */
12799
13074
  const flow = { tokenize: initializeFlow };
12800
13075
  /**
@@ -13013,6 +13288,9 @@ function resolveAllLineSuffixes(events, context) {
13013
13288
 
13014
13289
  //#endregion
13015
13290
  //#region node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/constructs.js
13291
+ /**
13292
+ * @import {Extension} from 'micromark-util-types'
13293
+ */
13016
13294
  var constructs_exports = /* @__PURE__ */ __export({
13017
13295
  attentionMarkers: () => attentionMarkers,
13018
13296
  contentInitial: () => contentInitial,
@@ -13090,6 +13368,43 @@ const disable = { null: [] };
13090
13368
  //#endregion
13091
13369
  //#region node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/create-tokenizer.js
13092
13370
  /**
13371
+ * @import {
13372
+ * Chunk,
13373
+ * Code,
13374
+ * ConstructRecord,
13375
+ * Construct,
13376
+ * Effects,
13377
+ * InitialConstruct,
13378
+ * ParseContext,
13379
+ * Point,
13380
+ * State,
13381
+ * TokenizeContext,
13382
+ * Token
13383
+ * } from 'micromark-util-types'
13384
+ */
13385
+ /**
13386
+ * @callback Restore
13387
+ * Restore the state.
13388
+ * @returns {undefined}
13389
+ * Nothing.
13390
+ *
13391
+ * @typedef Info
13392
+ * Info.
13393
+ * @property {Restore} restore
13394
+ * Restore.
13395
+ * @property {number} from
13396
+ * From.
13397
+ *
13398
+ * @callback ReturnHandle
13399
+ * Handle a successful run.
13400
+ * @param {Construct} construct
13401
+ * Construct.
13402
+ * @param {Info} info
13403
+ * Info.
13404
+ * @returns {undefined}
13405
+ * Nothing.
13406
+ */
13407
+ /**
13093
13408
  * Create a tokenizer.
13094
13409
  * Tokenizers deal with one type of data (e.g., containers, flow, text).
13095
13410
  * The parser is the object dealing with it all.
@@ -13523,6 +13838,15 @@ function serializeChunks(chunks, expandTabs) {
13523
13838
  //#endregion
13524
13839
  //#region node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/parse.js
13525
13840
  /**
13841
+ * @import {
13842
+ * Create,
13843
+ * FullNormalizedExtension,
13844
+ * InitialConstruct,
13845
+ * ParseContext,
13846
+ * ParseOptions
13847
+ * } from 'micromark-util-types'
13848
+ */
13849
+ /**
13526
13850
  * @param {ParseOptions | null | undefined} [options]
13527
13851
  * Configuration (optional).
13528
13852
  * @returns {ParseContext}
@@ -13559,6 +13883,9 @@ function parse(options) {
13559
13883
  //#endregion
13560
13884
  //#region node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/postprocess.js
13561
13885
  /**
13886
+ * @import {Event} from 'micromark-util-types'
13887
+ */
13888
+ /**
13562
13889
  * @param {Array<Event>} events
13563
13890
  * Events.
13564
13891
  * @returns {Array<Event>}
@@ -13776,6 +14103,46 @@ function index(value) {
13776
14103
 
13777
14104
  //#endregion
13778
14105
  //#region node_modules/.pnpm/mdast-util-from-markdown@2.0.2/node_modules/mdast-util-from-markdown/lib/index.js
14106
+ /**
14107
+ * @import {
14108
+ * Break,
14109
+ * Blockquote,
14110
+ * Code,
14111
+ * Definition,
14112
+ * Emphasis,
14113
+ * Heading,
14114
+ * Html,
14115
+ * Image,
14116
+ * InlineCode,
14117
+ * Link,
14118
+ * ListItem,
14119
+ * List,
14120
+ * Nodes,
14121
+ * Paragraph,
14122
+ * PhrasingContent,
14123
+ * ReferenceType,
14124
+ * Root,
14125
+ * Strong,
14126
+ * Text,
14127
+ * ThematicBreak
14128
+ * } from 'mdast'
14129
+ * @import {
14130
+ * Encoding,
14131
+ * Event,
14132
+ * Token,
14133
+ * Value
14134
+ * } from 'micromark-util-types'
14135
+ * @import {Point} from 'unist'
14136
+ * @import {
14137
+ * CompileContext,
14138
+ * CompileData,
14139
+ * Config,
14140
+ * Extension,
14141
+ * Handle,
14142
+ * OnEnterError,
14143
+ * Options
14144
+ * } from './types.js'
14145
+ */
13779
14146
  const own$4 = {}.hasOwnProperty;
13780
14147
  /**
13781
14148
  * Turn markdown into a syntax tree.
@@ -14704,6 +15071,15 @@ function defaultOnError(left, right) {
14704
15071
  //#endregion
14705
15072
  //#region node_modules/.pnpm/remark-parse@11.0.0/node_modules/remark-parse/lib/index.js
14706
15073
  /**
15074
+ * @typedef {import('mdast').Root} Root
15075
+ * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions
15076
+ * @typedef {import('unified').Parser<Root>} Parser
15077
+ * @typedef {import('unified').Processor<Root>} Processor
15078
+ */
15079
+ /**
15080
+ * @typedef {Omit<FromMarkdownOptions, 'extensions' | 'mdastExtensions'>} Options
15081
+ */
15082
+ /**
14707
15083
  * Aadd support for parsing from markdown.
14708
15084
  *
14709
15085
  * @param {Readonly<Options> | null | undefined} [options]
@@ -14939,6 +15315,10 @@ function listInScope(stack, list$3, none) {
14939
15315
  //#endregion
14940
15316
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/break.js
14941
15317
  /**
15318
+ * @import {Break, Parents} from 'mdast'
15319
+ * @import {Info, State} from 'mdast-util-to-markdown'
15320
+ */
15321
+ /**
14942
15322
  * @param {Break} _
14943
15323
  * @param {Parents | undefined} _1
14944
15324
  * @param {State} state
@@ -15013,6 +15393,10 @@ function checkFence(state) {
15013
15393
  //#endregion
15014
15394
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/code.js
15015
15395
  /**
15396
+ * @import {Info, Map, State} from 'mdast-util-to-markdown'
15397
+ * @import {Code, Parents} from 'mdast'
15398
+ */
15399
+ /**
15016
15400
  * @param {Code} node
15017
15401
  * @param {Parents | undefined} _
15018
15402
  * @param {State} state
@@ -15083,6 +15467,10 @@ function checkQuote(state) {
15083
15467
  //#endregion
15084
15468
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/definition.js
15085
15469
  /**
15470
+ * @import {Info, State} from 'mdast-util-to-markdown'
15471
+ * @import {Definition, Parents} from 'mdast'
15472
+ */
15473
+ /**
15086
15474
  * @param {Definition} node
15087
15475
  * @param {Parents | undefined} _
15088
15476
  * @param {State} state
@@ -15168,6 +15556,9 @@ function encodeCharacterReference(code$2) {
15168
15556
  //#endregion
15169
15557
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-info.js
15170
15558
  /**
15559
+ * @import {EncodeSides} from '../types.js'
15560
+ */
15561
+ /**
15171
15562
  * Check whether to encode (as a character reference) the characters
15172
15563
  * surrounding an attention run.
15173
15564
  *
@@ -15237,6 +15628,10 @@ function encodeInfo(outside, inside, marker) {
15237
15628
 
15238
15629
  //#endregion
15239
15630
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
15631
+ /**
15632
+ * @import {Info, State} from 'mdast-util-to-markdown'
15633
+ * @import {Emphasis, Parents} from 'mdast'
15634
+ */
15240
15635
  emphasis.peek = emphasisPeek;
15241
15636
  /**
15242
15637
  * @param {Emphasis} node
@@ -15401,6 +15796,211 @@ function color(d) {
15401
15796
 
15402
15797
  //#endregion
15403
15798
  //#region node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js
15799
+ /**
15800
+ * @import {Node as UnistNode, Parent as UnistParent} from 'unist'
15801
+ */
15802
+ /**
15803
+ * @typedef {Exclude<import('unist-util-is').Test, undefined> | undefined} Test
15804
+ * Test from `unist-util-is`.
15805
+ *
15806
+ * Note: we have remove and add `undefined`, because otherwise when generating
15807
+ * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,
15808
+ * which doesn’t work when publishing on npm.
15809
+ */
15810
+ /**
15811
+ * @typedef {(
15812
+ * Fn extends (value: any) => value is infer Thing
15813
+ * ? Thing
15814
+ * : Fallback
15815
+ * )} Predicate
15816
+ * Get the value of a type guard `Fn`.
15817
+ * @template Fn
15818
+ * Value; typically function that is a type guard (such as `(x): x is Y`).
15819
+ * @template Fallback
15820
+ * Value to yield if `Fn` is not a type guard.
15821
+ */
15822
+ /**
15823
+ * @typedef {(
15824
+ * Check extends null | undefined // No test.
15825
+ * ? Value
15826
+ * : Value extends {type: Check} // String (type) test.
15827
+ * ? Value
15828
+ * : Value extends Check // Partial test.
15829
+ * ? Value
15830
+ * : Check extends Function // Function test.
15831
+ * ? Predicate<Check, Value> extends Value
15832
+ * ? Predicate<Check, Value>
15833
+ * : never
15834
+ * : never // Some other test?
15835
+ * )} MatchesOne
15836
+ * Check whether a node matches a primitive check in the type system.
15837
+ * @template Value
15838
+ * Value; typically unist `Node`.
15839
+ * @template Check
15840
+ * Value; typically `unist-util-is`-compatible test, but not arrays.
15841
+ */
15842
+ /**
15843
+ * @typedef {(
15844
+ * Check extends ReadonlyArray<infer T>
15845
+ * ? MatchesOne<Value, T>
15846
+ * : Check extends Array<infer T>
15847
+ * ? MatchesOne<Value, T>
15848
+ * : MatchesOne<Value, Check>
15849
+ * )} Matches
15850
+ * Check whether a node matches a check in the type system.
15851
+ * @template Value
15852
+ * Value; typically unist `Node`.
15853
+ * @template Check
15854
+ * Value; typically `unist-util-is`-compatible test.
15855
+ */
15856
+ /**
15857
+ * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint
15858
+ * Number; capped reasonably.
15859
+ */
15860
+ /**
15861
+ * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment
15862
+ * Increment a number in the type system.
15863
+ * @template {Uint} [I=0]
15864
+ * Index.
15865
+ */
15866
+ /**
15867
+ * @typedef {(
15868
+ * Node extends UnistParent
15869
+ * ? Node extends {children: Array<infer Children>}
15870
+ * ? Child extends Children ? Node : never
15871
+ * : never
15872
+ * : never
15873
+ * )} InternalParent
15874
+ * Collect nodes that can be parents of `Child`.
15875
+ * @template {UnistNode} Node
15876
+ * All node types in a tree.
15877
+ * @template {UnistNode} Child
15878
+ * Node to search for.
15879
+ */
15880
+ /**
15881
+ * @typedef {InternalParent<InclusiveDescendant<Tree>, Child>} Parent
15882
+ * Collect nodes in `Tree` that can be parents of `Child`.
15883
+ * @template {UnistNode} Tree
15884
+ * All node types in a tree.
15885
+ * @template {UnistNode} Child
15886
+ * Node to search for.
15887
+ */
15888
+ /**
15889
+ * @typedef {(
15890
+ * Depth extends Max
15891
+ * ? never
15892
+ * :
15893
+ * | InternalParent<Node, Child>
15894
+ * | InternalAncestor<Node, InternalParent<Node, Child>, Max, Increment<Depth>>
15895
+ * )} InternalAncestor
15896
+ * Collect nodes in `Tree` that can be ancestors of `Child`.
15897
+ * @template {UnistNode} Node
15898
+ * All node types in a tree.
15899
+ * @template {UnistNode} Child
15900
+ * Node to search for.
15901
+ * @template {Uint} [Max=10]
15902
+ * Max; searches up to this depth.
15903
+ * @template {Uint} [Depth=0]
15904
+ * Current depth.
15905
+ */
15906
+ /**
15907
+ * @typedef {InternalAncestor<InclusiveDescendant<Tree>, Child>} Ancestor
15908
+ * Collect nodes in `Tree` that can be ancestors of `Child`.
15909
+ * @template {UnistNode} Tree
15910
+ * All node types in a tree.
15911
+ * @template {UnistNode} Child
15912
+ * Node to search for.
15913
+ */
15914
+ /**
15915
+ * @typedef {(
15916
+ * Tree extends UnistParent
15917
+ * ? Depth extends Max
15918
+ * ? Tree
15919
+ * : Tree | InclusiveDescendant<Tree['children'][number], Max, Increment<Depth>>
15920
+ * : Tree
15921
+ * )} InclusiveDescendant
15922
+ * Collect all (inclusive) descendants of `Tree`.
15923
+ *
15924
+ * > 👉 **Note**: for performance reasons, this seems to be the fastest way to
15925
+ * > recurse without actually running into an infinite loop, which the
15926
+ * > previous version did.
15927
+ * >
15928
+ * > Practically, a max of `2` is typically enough assuming a `Root` is
15929
+ * > passed, but it doesn’t improve performance.
15930
+ * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.
15931
+ * > Using up to `10` doesn’t hurt or help either.
15932
+ * @template {UnistNode} Tree
15933
+ * Tree type.
15934
+ * @template {Uint} [Max=10]
15935
+ * Max; searches up to this depth.
15936
+ * @template {Uint} [Depth=0]
15937
+ * Current depth.
15938
+ */
15939
+ /**
15940
+ * @typedef {'skip' | boolean} Action
15941
+ * Union of the action types.
15942
+ *
15943
+ * @typedef {number} Index
15944
+ * Move to the sibling at `index` next (after node itself is completely
15945
+ * traversed).
15946
+ *
15947
+ * Useful if mutating the tree, such as removing the node the visitor is
15948
+ * currently on, or any of its previous siblings.
15949
+ * Results less than 0 or greater than or equal to `children.length` stop
15950
+ * traversing the parent.
15951
+ *
15952
+ * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple
15953
+ * List with one or two values, the first an action, the second an index.
15954
+ *
15955
+ * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult
15956
+ * Any value that can be returned from a visitor.
15957
+ */
15958
+ /**
15959
+ * @callback Visitor
15960
+ * Handle a node (matching `test`, if given).
15961
+ *
15962
+ * Visitors are free to transform `node`.
15963
+ * They can also transform the parent of node (the last of `ancestors`).
15964
+ *
15965
+ * Replacing `node` itself, if `SKIP` is not returned, still causes its
15966
+ * descendants to be walked (which is a bug).
15967
+ *
15968
+ * When adding or removing previous siblings of `node` (or next siblings, in
15969
+ * case of reverse), the `Visitor` should return a new `Index` to specify the
15970
+ * sibling to traverse after `node` is traversed.
15971
+ * Adding or removing next siblings of `node` (or previous siblings, in case
15972
+ * of reverse) is handled as expected without needing to return a new `Index`.
15973
+ *
15974
+ * Removing the children property of an ancestor still results in them being
15975
+ * traversed.
15976
+ * @param {Visited} node
15977
+ * Found node.
15978
+ * @param {Array<VisitedParents>} ancestors
15979
+ * Ancestors of `node`.
15980
+ * @returns {VisitorResult}
15981
+ * What to do next.
15982
+ *
15983
+ * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
15984
+ * An `Action` is treated as a tuple of `[Action]`.
15985
+ *
15986
+ * Passing a tuple back only makes sense if the `Action` is `SKIP`.
15987
+ * When the `Action` is `EXIT`, that action can be returned.
15988
+ * When the `Action` is `CONTINUE`, `Index` can be returned.
15989
+ * @template {UnistNode} [Visited=UnistNode]
15990
+ * Visited node type.
15991
+ * @template {UnistParent} [VisitedParents=UnistParent]
15992
+ * Ancestor type.
15993
+ */
15994
+ /**
15995
+ * @typedef {Visitor<Matches<InclusiveDescendant<Tree>, Check>, Ancestor<Tree, Matches<InclusiveDescendant<Tree>, Check>>>} BuildVisitor
15996
+ * Build a typed `Visitor` function from a tree and a test.
15997
+ *
15998
+ * It will infer which values are passed as `node` and which as `parents`.
15999
+ * @template {UnistNode} [Tree=UnistNode]
16000
+ * Tree type.
16001
+ * @template {Test} [Check=Test]
16002
+ * Test type.
16003
+ */
15404
16004
  /** @type {Readonly<ActionTuple>} */
15405
16005
  const empty = [];
15406
16006
  /**
@@ -15531,6 +16131,216 @@ function toResult(value) {
15531
16131
  //#endregion
15532
16132
  //#region node_modules/.pnpm/unist-util-visit@5.0.0/node_modules/unist-util-visit/lib/index.js
15533
16133
  /**
16134
+ * @typedef {import('unist').Node} UnistNode
16135
+ * @typedef {import('unist').Parent} UnistParent
16136
+ * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult
16137
+ */
16138
+ /**
16139
+ * @typedef {Exclude<import('unist-util-is').Test, undefined> | undefined} Test
16140
+ * Test from `unist-util-is`.
16141
+ *
16142
+ * Note: we have remove and add `undefined`, because otherwise when generating
16143
+ * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,
16144
+ * which doesn’t work when publishing on npm.
16145
+ */
16146
+ /**
16147
+ * @typedef {(
16148
+ * Fn extends (value: any) => value is infer Thing
16149
+ * ? Thing
16150
+ * : Fallback
16151
+ * )} Predicate
16152
+ * Get the value of a type guard `Fn`.
16153
+ * @template Fn
16154
+ * Value; typically function that is a type guard (such as `(x): x is Y`).
16155
+ * @template Fallback
16156
+ * Value to yield if `Fn` is not a type guard.
16157
+ */
16158
+ /**
16159
+ * @typedef {(
16160
+ * Check extends null | undefined // No test.
16161
+ * ? Value
16162
+ * : Value extends {type: Check} // String (type) test.
16163
+ * ? Value
16164
+ * : Value extends Check // Partial test.
16165
+ * ? Value
16166
+ * : Check extends Function // Function test.
16167
+ * ? Predicate<Check, Value> extends Value
16168
+ * ? Predicate<Check, Value>
16169
+ * : never
16170
+ * : never // Some other test?
16171
+ * )} MatchesOne
16172
+ * Check whether a node matches a primitive check in the type system.
16173
+ * @template Value
16174
+ * Value; typically unist `Node`.
16175
+ * @template Check
16176
+ * Value; typically `unist-util-is`-compatible test, but not arrays.
16177
+ */
16178
+ /**
16179
+ * @typedef {(
16180
+ * Check extends Array<any>
16181
+ * ? MatchesOne<Value, Check[keyof Check]>
16182
+ * : MatchesOne<Value, Check>
16183
+ * )} Matches
16184
+ * Check whether a node matches a check in the type system.
16185
+ * @template Value
16186
+ * Value; typically unist `Node`.
16187
+ * @template Check
16188
+ * Value; typically `unist-util-is`-compatible test.
16189
+ */
16190
+ /**
16191
+ * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint
16192
+ * Number; capped reasonably.
16193
+ */
16194
+ /**
16195
+ * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment
16196
+ * Increment a number in the type system.
16197
+ * @template {Uint} [I=0]
16198
+ * Index.
16199
+ */
16200
+ /**
16201
+ * @typedef {(
16202
+ * Node extends UnistParent
16203
+ * ? Node extends {children: Array<infer Children>}
16204
+ * ? Child extends Children ? Node : never
16205
+ * : never
16206
+ * : never
16207
+ * )} InternalParent
16208
+ * Collect nodes that can be parents of `Child`.
16209
+ * @template {UnistNode} Node
16210
+ * All node types in a tree.
16211
+ * @template {UnistNode} Child
16212
+ * Node to search for.
16213
+ */
16214
+ /**
16215
+ * @typedef {InternalParent<InclusiveDescendant<Tree>, Child>} Parent
16216
+ * Collect nodes in `Tree` that can be parents of `Child`.
16217
+ * @template {UnistNode} Tree
16218
+ * All node types in a tree.
16219
+ * @template {UnistNode} Child
16220
+ * Node to search for.
16221
+ */
16222
+ /**
16223
+ * @typedef {(
16224
+ * Depth extends Max
16225
+ * ? never
16226
+ * :
16227
+ * | InternalParent<Node, Child>
16228
+ * | InternalAncestor<Node, InternalParent<Node, Child>, Max, Increment<Depth>>
16229
+ * )} InternalAncestor
16230
+ * Collect nodes in `Tree` that can be ancestors of `Child`.
16231
+ * @template {UnistNode} Node
16232
+ * All node types in a tree.
16233
+ * @template {UnistNode} Child
16234
+ * Node to search for.
16235
+ * @template {Uint} [Max=10]
16236
+ * Max; searches up to this depth.
16237
+ * @template {Uint} [Depth=0]
16238
+ * Current depth.
16239
+ */
16240
+ /**
16241
+ * @typedef {(
16242
+ * Tree extends UnistParent
16243
+ * ? Depth extends Max
16244
+ * ? Tree
16245
+ * : Tree | InclusiveDescendant<Tree['children'][number], Max, Increment<Depth>>
16246
+ * : Tree
16247
+ * )} InclusiveDescendant
16248
+ * Collect all (inclusive) descendants of `Tree`.
16249
+ *
16250
+ * > 👉 **Note**: for performance reasons, this seems to be the fastest way to
16251
+ * > recurse without actually running into an infinite loop, which the
16252
+ * > previous version did.
16253
+ * >
16254
+ * > Practically, a max of `2` is typically enough assuming a `Root` is
16255
+ * > passed, but it doesn’t improve performance.
16256
+ * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.
16257
+ * > Using up to `10` doesn’t hurt or help either.
16258
+ * @template {UnistNode} Tree
16259
+ * Tree type.
16260
+ * @template {Uint} [Max=10]
16261
+ * Max; searches up to this depth.
16262
+ * @template {Uint} [Depth=0]
16263
+ * Current depth.
16264
+ */
16265
+ /**
16266
+ * @callback Visitor
16267
+ * Handle a node (matching `test`, if given).
16268
+ *
16269
+ * Visitors are free to transform `node`.
16270
+ * They can also transform `parent`.
16271
+ *
16272
+ * Replacing `node` itself, if `SKIP` is not returned, still causes its
16273
+ * descendants to be walked (which is a bug).
16274
+ *
16275
+ * When adding or removing previous siblings of `node` (or next siblings, in
16276
+ * case of reverse), the `Visitor` should return a new `Index` to specify the
16277
+ * sibling to traverse after `node` is traversed.
16278
+ * Adding or removing next siblings of `node` (or previous siblings, in case
16279
+ * of reverse) is handled as expected without needing to return a new `Index`.
16280
+ *
16281
+ * Removing the children property of `parent` still results in them being
16282
+ * traversed.
16283
+ * @param {Visited} node
16284
+ * Found node.
16285
+ * @param {Visited extends UnistNode ? number | undefined : never} index
16286
+ * Index of `node` in `parent`.
16287
+ * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent
16288
+ * Parent of `node`.
16289
+ * @returns {VisitorResult}
16290
+ * What to do next.
16291
+ *
16292
+ * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
16293
+ * An `Action` is treated as a tuple of `[Action]`.
16294
+ *
16295
+ * Passing a tuple back only makes sense if the `Action` is `SKIP`.
16296
+ * When the `Action` is `EXIT`, that action can be returned.
16297
+ * When the `Action` is `CONTINUE`, `Index` can be returned.
16298
+ * @template {UnistNode} [Visited=UnistNode]
16299
+ * Visited node type.
16300
+ * @template {UnistParent} [Ancestor=UnistParent]
16301
+ * Ancestor type.
16302
+ */
16303
+ /**
16304
+ * @typedef {Visitor<Visited, Parent<Ancestor, Visited>>} BuildVisitorFromMatch
16305
+ * Build a typed `Visitor` function from a node and all possible parents.
16306
+ *
16307
+ * It will infer which values are passed as `node` and which as `parent`.
16308
+ * @template {UnistNode} Visited
16309
+ * Node type.
16310
+ * @template {UnistParent} Ancestor
16311
+ * Parent type.
16312
+ */
16313
+ /**
16314
+ * @typedef {(
16315
+ * BuildVisitorFromMatch<
16316
+ * Matches<Descendant, Check>,
16317
+ * Extract<Descendant, UnistParent>
16318
+ * >
16319
+ * )} BuildVisitorFromDescendants
16320
+ * Build a typed `Visitor` function from a list of descendants and a test.
16321
+ *
16322
+ * It will infer which values are passed as `node` and which as `parent`.
16323
+ * @template {UnistNode} Descendant
16324
+ * Node type.
16325
+ * @template {Test} Check
16326
+ * Test type.
16327
+ */
16328
+ /**
16329
+ * @typedef {(
16330
+ * BuildVisitorFromDescendants<
16331
+ * InclusiveDescendant<Tree>,
16332
+ * Check
16333
+ * >
16334
+ * )} BuildVisitor
16335
+ * Build a typed `Visitor` function from a tree and a test.
16336
+ *
16337
+ * It will infer which values are passed as `node` and which as `parent`.
16338
+ * @template {UnistNode} [Tree=UnistNode]
16339
+ * Node type.
16340
+ * @template {Test} [Check=Test]
16341
+ * Test type.
16342
+ */
16343
+ /**
15534
16344
  * Visit nodes.
15535
16345
  *
15536
16346
  * This algorithm performs *depth-first* *tree traversal* in *preorder*
@@ -15608,6 +16418,10 @@ function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
15608
16418
  //#endregion
15609
16419
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js
15610
16420
  /**
16421
+ * @import {State} from 'mdast-util-to-markdown'
16422
+ * @import {Heading} from 'mdast'
16423
+ */
16424
+ /**
15611
16425
  * @param {Heading} node
15612
16426
  * @param {State} state
15613
16427
  * @returns {boolean}
@@ -15626,6 +16440,10 @@ function formatHeadingAsSetext(node$1, state) {
15626
16440
  //#endregion
15627
16441
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/heading.js
15628
16442
  /**
16443
+ * @import {Info, State} from 'mdast-util-to-markdown'
16444
+ * @import {Heading, Parents} from 'mdast'
16445
+ */
16446
+ /**
15629
16447
  * @param {Heading} node
15630
16448
  * @param {Parents | undefined} _
15631
16449
  * @param {State} state
@@ -15686,6 +16504,10 @@ function htmlPeek() {
15686
16504
 
15687
16505
  //#endregion
15688
16506
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image.js
16507
+ /**
16508
+ * @import {Info, State} from 'mdast-util-to-markdown'
16509
+ * @import {Image, Parents} from 'mdast'
16510
+ */
15689
16511
  image.peek = imagePeek;
15690
16512
  /**
15691
16513
  * @param {Image} node
@@ -15841,6 +16663,10 @@ function inlineCodePeek() {
15841
16663
  //#endregion
15842
16664
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
15843
16665
  /**
16666
+ * @import {State} from 'mdast-util-to-markdown'
16667
+ * @import {Link} from 'mdast'
16668
+ */
16669
+ /**
15844
16670
  * @param {Link} node
15845
16671
  * @param {State} state
15846
16672
  * @returns {boolean}
@@ -15852,6 +16678,11 @@ function formatLinkAsAutolink(node$1, state) {
15852
16678
 
15853
16679
  //#endregion
15854
16680
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link.js
16681
+ /**
16682
+ * @import {Info, State} from 'mdast-util-to-markdown'
16683
+ * @import {Link, Parents} from 'mdast'
16684
+ * @import {Exit} from '../types.js'
16685
+ */
15855
16686
  link.peek = linkPeek;
15856
16687
  /**
15857
16688
  * @param {Link} node
@@ -16004,6 +16835,9 @@ function checkBullet(state) {
16004
16835
  //#endregion
16005
16836
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js
16006
16837
  /**
16838
+ * @import {Options, State} from 'mdast-util-to-markdown'
16839
+ */
16840
+ /**
16007
16841
  * @param {State} state
16008
16842
  * @returns {Exclude<Options['bullet'], null | undefined>}
16009
16843
  */
@@ -16049,6 +16883,10 @@ function checkRule(state) {
16049
16883
  //#endregion
16050
16884
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list.js
16051
16885
  /**
16886
+ * @import {Info, State} from 'mdast-util-to-markdown'
16887
+ * @import {List, Parents} from 'mdast'
16888
+ */
16889
+ /**
16052
16890
  * @param {List} node
16053
16891
  * @param {Parents | undefined} parent
16054
16892
  * @param {State} state
@@ -16104,6 +16942,10 @@ function checkListItemIndent(state) {
16104
16942
  //#endregion
16105
16943
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list-item.js
16106
16944
  /**
16945
+ * @import {Info, Map, State} from 'mdast-util-to-markdown'
16946
+ * @import {ListItem, Parents} from 'mdast'
16947
+ */
16948
+ /**
16107
16949
  * @param {ListItem} node
16108
16950
  * @param {Parents | undefined} parent
16109
16951
  * @param {State} state
@@ -16155,6 +16997,10 @@ function paragraph(node$1, _, state, info) {
16155
16997
  //#endregion
16156
16998
  //#region node_modules/.pnpm/mdast-util-phrasing@4.1.0/node_modules/mdast-util-phrasing/lib/index.js
16157
16999
  /**
17000
+ * @typedef {import('mdast').Html} Html
17001
+ * @typedef {import('mdast').PhrasingContent} PhrasingContent
17002
+ */
17003
+ /**
16158
17004
  * Check if the given value is *phrasing content*.
16159
17005
  *
16160
17006
  * > 👉 **Note**: Excludes `html`, which can be both phrasing or flow.
@@ -16186,6 +17032,10 @@ const phrasing = convert([
16186
17032
  //#endregion
16187
17033
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/root.js
16188
17034
  /**
17035
+ * @import {Info, State} from 'mdast-util-to-markdown'
17036
+ * @import {Parents, Root} from 'mdast'
17037
+ */
17038
+ /**
16189
17039
  * @param {Root} node
16190
17040
  * @param {Parents | undefined} _
16191
17041
  * @param {State} state
@@ -16215,6 +17065,10 @@ function checkStrong(state) {
16215
17065
 
16216
17066
  //#endregion
16217
17067
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/strong.js
17068
+ /**
17069
+ * @import {Info, State} from 'mdast-util-to-markdown'
17070
+ * @import {Parents, Strong} from 'mdast'
17071
+ */
16218
17072
  strong.peek = strongPeek;
16219
17073
  /**
16220
17074
  * @param {Strong} node
@@ -16292,6 +17146,10 @@ function checkRuleRepetition(state) {
16292
17146
  //#endregion
16293
17147
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
16294
17148
  /**
17149
+ * @import {State} from 'mdast-util-to-markdown'
17150
+ * @import {Parents, ThematicBreak} from 'mdast'
17151
+ */
17152
+ /**
16295
17153
  * @param {ThematicBreak} _
16296
17154
  * @param {Parents | undefined} _1
16297
17155
  * @param {State} state
@@ -16332,6 +17190,9 @@ const handle = {
16332
17190
 
16333
17191
  //#endregion
16334
17192
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/join.js
17193
+ /**
17194
+ * @import {Join} from 'mdast-util-to-markdown'
17195
+ */
16335
17196
  /** @type {Array<Join>} */
16336
17197
  const join = [joinDefaults];
16337
17198
  /** @type {Join} */
@@ -16569,6 +17430,9 @@ const unsafe = [
16569
17430
  //#endregion
16570
17431
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/association.js
16571
17432
  /**
17433
+ * @import {AssociationId} from '../types.js'
17434
+ */
17435
+ /**
16572
17436
  * Get an identifier from an association to match it to others.
16573
17437
  *
16574
17438
  * Associations are nodes that match to something else through an ID:
@@ -16612,6 +17476,10 @@ function compilePattern(pattern) {
16612
17476
  //#endregion
16613
17477
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js
16614
17478
  /**
17479
+ * @import {Handle, Info, State} from 'mdast-util-to-markdown'
17480
+ * @import {PhrasingParents} from '../types.js'
17481
+ */
17482
+ /**
16615
17483
  * Serialize the children of a parent that contains phrasing children.
16616
17484
  *
16617
17485
  * These children will be joined flush together.
@@ -16770,6 +17638,9 @@ function indentLines(value, map$3) {
16770
17638
  //#endregion
16771
17639
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/safe.js
16772
17640
  /**
17641
+ * @import {SafeConfig, State} from 'mdast-util-to-markdown'
17642
+ */
17643
+ /**
16773
17644
  * Make a string safe for embedding in markdown constructs.
16774
17645
  *
16775
17646
  * In markdown, almost all punctuation characters can, in certain cases,
@@ -16940,6 +17811,11 @@ function track(config$1) {
16940
17811
  //#endregion
16941
17812
  //#region node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/index.js
16942
17813
  /**
17814
+ * @import {Info, Join, Options, SafeConfig, State} from 'mdast-util-to-markdown'
17815
+ * @import {Nodes} from 'mdast'
17816
+ * @import {Enter, FlowParents, PhrasingParents, TrackFields} from './types.js'
17817
+ */
17818
+ /**
16943
17819
  * Turn an mdast syntax tree into markdown.
16944
17820
  *
16945
17821
  * @param {Nodes} tree
@@ -17085,6 +17961,15 @@ function safeBound(value, config$1) {
17085
17961
  //#endregion
17086
17962
  //#region node_modules/.pnpm/remark-stringify@11.0.0/node_modules/remark-stringify/lib/index.js
17087
17963
  /**
17964
+ * @typedef {import('mdast').Root} Root
17965
+ * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownOptions
17966
+ * @typedef {import('unified').Compiler<Root, string>} Compiler
17967
+ * @typedef {import('unified').Processor<undefined, undefined, undefined, Root, string>} Processor
17968
+ */
17969
+ /**
17970
+ * @typedef {Omit<ToMarkdownOptions, 'extensions'>} Options
17971
+ */
17972
+ /**
17088
17973
  * Add support for serializing to markdown.
17089
17974
  *
17090
17975
  * @param {Readonly<Options> | null | undefined} [options]
@@ -17379,6 +18264,337 @@ const CallableInstance = (function(property) {
17379
18264
 
17380
18265
  //#endregion
17381
18266
  //#region node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.js
18267
+ /**
18268
+ * @typedef {import('trough').Pipeline} Pipeline
18269
+ *
18270
+ * @typedef {import('unist').Node} Node
18271
+ *
18272
+ * @typedef {import('vfile').Compatible} Compatible
18273
+ * @typedef {import('vfile').Value} Value
18274
+ *
18275
+ * @typedef {import('../index.js').CompileResultMap} CompileResultMap
18276
+ * @typedef {import('../index.js').Data} Data
18277
+ * @typedef {import('../index.js').Settings} Settings
18278
+ */
18279
+ /**
18280
+ * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults
18281
+ * Acceptable results from compilers.
18282
+ *
18283
+ * To register custom results, add them to
18284
+ * {@linkcode CompileResultMap}.
18285
+ */
18286
+ /**
18287
+ * @template {Node} [Tree=Node]
18288
+ * The node that the compiler receives (default: `Node`).
18289
+ * @template {CompileResults} [Result=CompileResults]
18290
+ * The thing that the compiler yields (default: `CompileResults`).
18291
+ * @callback Compiler
18292
+ * A **compiler** handles the compiling of a syntax tree to something else
18293
+ * (in most cases, text) (TypeScript type).
18294
+ *
18295
+ * It is used in the stringify phase and called with a {@linkcode Node}
18296
+ * and {@linkcode VFile} representation of the document to compile.
18297
+ * It should return the textual representation of the given tree (typically
18298
+ * `string`).
18299
+ *
18300
+ * > **Note**: unified typically compiles by serializing: most compilers
18301
+ * > return `string` (or `Uint8Array`).
18302
+ * > Some compilers, such as the one configured with
18303
+ * > [`rehype-react`][rehype-react], return other values (in this case, a
18304
+ * > React tree).
18305
+ * > If you’re using a compiler that doesn’t serialize, expect different
18306
+ * > result values.
18307
+ * >
18308
+ * > To register custom results in TypeScript, add them to
18309
+ * > {@linkcode CompileResultMap}.
18310
+ *
18311
+ * [rehype-react]: https://github.com/rehypejs/rehype-react
18312
+ * @param {Tree} tree
18313
+ * Tree to compile.
18314
+ * @param {VFile} file
18315
+ * File associated with `tree`.
18316
+ * @returns {Result}
18317
+ * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or
18318
+ * something else (for `file.result`).
18319
+ */
18320
+ /**
18321
+ * @template {Node} [Tree=Node]
18322
+ * The node that the parser yields (default: `Node`)
18323
+ * @callback Parser
18324
+ * A **parser** handles the parsing of text to a syntax tree.
18325
+ *
18326
+ * It is used in the parse phase and is called with a `string` and
18327
+ * {@linkcode VFile} of the document to parse.
18328
+ * It must return the syntax tree representation of the given file
18329
+ * ({@linkcode Node}).
18330
+ * @param {string} document
18331
+ * Document to parse.
18332
+ * @param {VFile} file
18333
+ * File associated with `document`.
18334
+ * @returns {Tree}
18335
+ * Node representing the given file.
18336
+ */
18337
+ /**
18338
+ * @typedef {(
18339
+ * Plugin<Array<any>, any, any> |
18340
+ * PluginTuple<Array<any>, any, any> |
18341
+ * Preset
18342
+ * )} Pluggable
18343
+ * Union of the different ways to add plugins and settings.
18344
+ */
18345
+ /**
18346
+ * @typedef {Array<Pluggable>} PluggableList
18347
+ * List of plugins and presets.
18348
+ */
18349
+ /**
18350
+ * @template {Array<unknown>} [PluginParameters=[]]
18351
+ * Arguments passed to the plugin (default: `[]`, the empty tuple).
18352
+ * @template {Node | string | undefined} [Input=Node]
18353
+ * Value that is expected as input (default: `Node`).
18354
+ *
18355
+ * * If the plugin returns a {@linkcode Transformer}, this
18356
+ * should be the node it expects.
18357
+ * * If the plugin sets a {@linkcode Parser}, this should be
18358
+ * `string`.
18359
+ * * If the plugin sets a {@linkcode Compiler}, this should be the
18360
+ * node it expects.
18361
+ * @template [Output=Input]
18362
+ * Value that is yielded as output (default: `Input`).
18363
+ *
18364
+ * * If the plugin returns a {@linkcode Transformer}, this
18365
+ * should be the node that that yields.
18366
+ * * If the plugin sets a {@linkcode Parser}, this should be the
18367
+ * node that it yields.
18368
+ * * If the plugin sets a {@linkcode Compiler}, this should be
18369
+ * result it yields.
18370
+ * @typedef {(
18371
+ * (this: Processor, ...parameters: PluginParameters) =>
18372
+ * Input extends string ? // Parser.
18373
+ * Output extends Node | undefined ? undefined | void : never :
18374
+ * Output extends CompileResults ? // Compiler.
18375
+ * Input extends Node | undefined ? undefined | void : never :
18376
+ * Transformer<
18377
+ * Input extends Node ? Input : Node,
18378
+ * Output extends Node ? Output : Node
18379
+ * > | undefined | void
18380
+ * )} Plugin
18381
+ * Single plugin.
18382
+ *
18383
+ * Plugins configure the processors they are applied on in the following
18384
+ * ways:
18385
+ *
18386
+ * * they change the processor, such as the parser, the compiler, or by
18387
+ * configuring data
18388
+ * * they specify how to handle trees and files
18389
+ *
18390
+ * In practice, they are functions that can receive options and configure the
18391
+ * processor (`this`).
18392
+ *
18393
+ * > **Note**: plugins are called when the processor is *frozen*, not when
18394
+ * > they are applied.
18395
+ */
18396
+ /**
18397
+ * Tuple of a plugin and its configuration.
18398
+ *
18399
+ * The first item is a plugin, the rest are its parameters.
18400
+ *
18401
+ * @template {Array<unknown>} [TupleParameters=[]]
18402
+ * Arguments passed to the plugin (default: `[]`, the empty tuple).
18403
+ * @template {Node | string | undefined} [Input=undefined]
18404
+ * Value that is expected as input (optional).
18405
+ *
18406
+ * * If the plugin returns a {@linkcode Transformer}, this
18407
+ * should be the node it expects.
18408
+ * * If the plugin sets a {@linkcode Parser}, this should be
18409
+ * `string`.
18410
+ * * If the plugin sets a {@linkcode Compiler}, this should be the
18411
+ * node it expects.
18412
+ * @template [Output=undefined] (optional).
18413
+ * Value that is yielded as output.
18414
+ *
18415
+ * * If the plugin returns a {@linkcode Transformer}, this
18416
+ * should be the node that that yields.
18417
+ * * If the plugin sets a {@linkcode Parser}, this should be the
18418
+ * node that it yields.
18419
+ * * If the plugin sets a {@linkcode Compiler}, this should be
18420
+ * result it yields.
18421
+ * @typedef {(
18422
+ * [
18423
+ * plugin: Plugin<TupleParameters, Input, Output>,
18424
+ * ...parameters: TupleParameters
18425
+ * ]
18426
+ * )} PluginTuple
18427
+ */
18428
+ /**
18429
+ * @typedef Preset
18430
+ * Sharable configuration.
18431
+ *
18432
+ * They can contain plugins and settings.
18433
+ * @property {PluggableList | undefined} [plugins]
18434
+ * List of plugins and presets (optional).
18435
+ * @property {Settings | undefined} [settings]
18436
+ * Shared settings for parsers and compilers (optional).
18437
+ */
18438
+ /**
18439
+ * @template {VFile} [File=VFile]
18440
+ * The file that the callback receives (default: `VFile`).
18441
+ * @callback ProcessCallback
18442
+ * Callback called when the process is done.
18443
+ *
18444
+ * Called with either an error or a result.
18445
+ * @param {Error | undefined} [error]
18446
+ * Fatal error (optional).
18447
+ * @param {File | undefined} [file]
18448
+ * Processed file (optional).
18449
+ * @returns {undefined}
18450
+ * Nothing.
18451
+ */
18452
+ /**
18453
+ * @template {Node} [Tree=Node]
18454
+ * The tree that the callback receives (default: `Node`).
18455
+ * @callback RunCallback
18456
+ * Callback called when transformers are done.
18457
+ *
18458
+ * Called with either an error or results.
18459
+ * @param {Error | undefined} [error]
18460
+ * Fatal error (optional).
18461
+ * @param {Tree | undefined} [tree]
18462
+ * Transformed tree (optional).
18463
+ * @param {VFile | undefined} [file]
18464
+ * File (optional).
18465
+ * @returns {undefined}
18466
+ * Nothing.
18467
+ */
18468
+ /**
18469
+ * @template {Node} [Output=Node]
18470
+ * Node type that the transformer yields (default: `Node`).
18471
+ * @callback TransformCallback
18472
+ * Callback passed to transforms.
18473
+ *
18474
+ * If the signature of a `transformer` accepts a third argument, the
18475
+ * transformer may perform asynchronous operations, and must call it.
18476
+ * @param {Error | undefined} [error]
18477
+ * Fatal error to stop the process (optional).
18478
+ * @param {Output | undefined} [tree]
18479
+ * New, changed, tree (optional).
18480
+ * @param {VFile | undefined} [file]
18481
+ * New, changed, file (optional).
18482
+ * @returns {undefined}
18483
+ * Nothing.
18484
+ */
18485
+ /**
18486
+ * @template {Node} [Input=Node]
18487
+ * Node type that the transformer expects (default: `Node`).
18488
+ * @template {Node} [Output=Input]
18489
+ * Node type that the transformer yields (default: `Input`).
18490
+ * @callback Transformer
18491
+ * Transformers handle syntax trees and files.
18492
+ *
18493
+ * They are functions that are called each time a syntax tree and file are
18494
+ * passed through the run phase.
18495
+ * When an error occurs in them (either because it’s thrown, returned,
18496
+ * rejected, or passed to `next`), the process stops.
18497
+ *
18498
+ * The run phase is handled by [`trough`][trough], see its documentation for
18499
+ * the exact semantics of these functions.
18500
+ *
18501
+ * > **Note**: you should likely ignore `next`: don’t accept it.
18502
+ * > it supports callback-style async work.
18503
+ * > But promises are likely easier to reason about.
18504
+ *
18505
+ * [trough]: https://github.com/wooorm/trough#function-fninput-next
18506
+ * @param {Input} tree
18507
+ * Tree to handle.
18508
+ * @param {VFile} file
18509
+ * File to handle.
18510
+ * @param {TransformCallback<Output>} next
18511
+ * Callback.
18512
+ * @returns {(
18513
+ * Promise<Output | undefined | void> |
18514
+ * Promise<never> | // For some reason this is needed separately.
18515
+ * Output |
18516
+ * Error |
18517
+ * undefined |
18518
+ * void
18519
+ * )}
18520
+ * If you accept `next`, nothing.
18521
+ * Otherwise:
18522
+ *
18523
+ * * `Error` — fatal error to stop the process
18524
+ * * `Promise<undefined>` or `undefined` — the next transformer keeps using
18525
+ * same tree
18526
+ * * `Promise<Node>` or `Node` — new, changed, tree
18527
+ */
18528
+ /**
18529
+ * @template {Node | undefined} ParseTree
18530
+ * Output of `parse`.
18531
+ * @template {Node | undefined} HeadTree
18532
+ * Input for `run`.
18533
+ * @template {Node | undefined} TailTree
18534
+ * Output for `run`.
18535
+ * @template {Node | undefined} CompileTree
18536
+ * Input of `stringify`.
18537
+ * @template {CompileResults | undefined} CompileResult
18538
+ * Output of `stringify`.
18539
+ * @template {Node | string | undefined} Input
18540
+ * Input of plugin.
18541
+ * @template Output
18542
+ * Output of plugin (optional).
18543
+ * @typedef {(
18544
+ * Input extends string
18545
+ * ? Output extends Node | undefined
18546
+ * ? // Parser.
18547
+ * Processor<
18548
+ * Output extends undefined ? ParseTree : Output,
18549
+ * HeadTree,
18550
+ * TailTree,
18551
+ * CompileTree,
18552
+ * CompileResult
18553
+ * >
18554
+ * : // Unknown.
18555
+ * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>
18556
+ * : Output extends CompileResults
18557
+ * ? Input extends Node | undefined
18558
+ * ? // Compiler.
18559
+ * Processor<
18560
+ * ParseTree,
18561
+ * HeadTree,
18562
+ * TailTree,
18563
+ * Input extends undefined ? CompileTree : Input,
18564
+ * Output extends undefined ? CompileResult : Output
18565
+ * >
18566
+ * : // Unknown.
18567
+ * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>
18568
+ * : Input extends Node | undefined
18569
+ * ? Output extends Node | undefined
18570
+ * ? // Transform.
18571
+ * Processor<
18572
+ * ParseTree,
18573
+ * HeadTree extends undefined ? Input : HeadTree,
18574
+ * Output extends undefined ? TailTree : Output,
18575
+ * CompileTree,
18576
+ * CompileResult
18577
+ * >
18578
+ * : // Unknown.
18579
+ * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>
18580
+ * : // Unknown.
18581
+ * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>
18582
+ * )} UsePlugin
18583
+ * Create a processor based on the input/output of a {@link Plugin plugin}.
18584
+ */
18585
+ /**
18586
+ * @template {CompileResults | undefined} Result
18587
+ * Node type that the transformer yields.
18588
+ * @typedef {(
18589
+ * Result extends Value | undefined ?
18590
+ * VFile :
18591
+ * VFile & {result: Result}
18592
+ * )} VFileWithOutput
18593
+ * Type to generate a {@linkcode VFile} corresponding to a compiler result.
18594
+ *
18595
+ * If a result that is not acceptable on a `VFile` is used, that will
18596
+ * be stored on the `result` field of {@linkcode VFile}.
18597
+ */
17382
18598
  var import_extend = /* @__PURE__ */ __toESM(require_extend(), 1);
17383
18599
  const own$1 = {}.hasOwnProperty;
17384
18600
  /**
@@ -18191,6 +19407,61 @@ function escapeStringRegexp(string$2) {
18191
19407
  //#endregion
18192
19408
  //#region node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/lib/index.js
18193
19409
  /**
19410
+ * @import {Nodes, Parents, PhrasingContent, Root, Text} from 'mdast'
19411
+ * @import {BuildVisitor, Test, VisitorResult} from 'unist-util-visit-parents'
19412
+ */
19413
+ /**
19414
+ * @typedef RegExpMatchObject
19415
+ * Info on the match.
19416
+ * @property {number} index
19417
+ * The index of the search at which the result was found.
19418
+ * @property {string} input
19419
+ * A copy of the search string in the text node.
19420
+ * @property {[...Array<Parents>, Text]} stack
19421
+ * All ancestors of the text node, where the last node is the text itself.
19422
+ *
19423
+ * @typedef {RegExp | string} Find
19424
+ * Pattern to find.
19425
+ *
19426
+ * Strings are escaped and then turned into global expressions.
19427
+ *
19428
+ * @typedef {Array<FindAndReplaceTuple>} FindAndReplaceList
19429
+ * Several find and replaces, in array form.
19430
+ *
19431
+ * @typedef {[Find, Replace?]} FindAndReplaceTuple
19432
+ * Find and replace in tuple form.
19433
+ *
19434
+ * @typedef {ReplaceFunction | string | null | undefined} Replace
19435
+ * Thing to replace with.
19436
+ *
19437
+ * @callback ReplaceFunction
19438
+ * Callback called when a search matches.
19439
+ * @param {...any} parameters
19440
+ * The parameters are the result of corresponding search expression:
19441
+ *
19442
+ * * `value` (`string`) — whole match
19443
+ * * `...capture` (`Array<string>`) — matches from regex capture groups
19444
+ * * `match` (`RegExpMatchObject`) — info on the match
19445
+ * @returns {Array<PhrasingContent> | PhrasingContent | string | false | null | undefined}
19446
+ * Thing to replace with.
19447
+ *
19448
+ * * when `null`, `undefined`, `''`, remove the match
19449
+ * * …or when `false`, do not replace at all
19450
+ * * …or when `string`, replace with a text node of that value
19451
+ * * …or when `Node` or `Array<Node>`, replace with those nodes
19452
+ *
19453
+ * @typedef {[RegExp, ReplaceFunction]} Pair
19454
+ * Normalized find and replace.
19455
+ *
19456
+ * @typedef {Array<Pair>} Pairs
19457
+ * All find and replaced.
19458
+ *
19459
+ * @typedef Options
19460
+ * Configuration.
19461
+ * @property {Test | null | undefined} [ignore]
19462
+ * Test for which nodes to ignore (optional).
19463
+ */
19464
+ /**
18194
19465
  * Find patterns in a tree and replace them.
18195
19466
  *
18196
19467
  * The algorithm searches the tree in *preorder* for complete values in `Text`
@@ -18331,6 +19602,12 @@ function toFunction(replace$1) {
18331
19602
 
18332
19603
  //#endregion
18333
19604
  //#region node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.js
19605
+ /**
19606
+ * @import {RegExpMatchObject, ReplaceFunction} from 'mdast-util-find-and-replace'
19607
+ * @import {CompileContext, Extension as FromMarkdownExtension, Handle as FromMarkdownHandle, Transform as FromMarkdownTransform} from 'mdast-util-from-markdown'
19608
+ * @import {ConstructName, Options as ToMarkdownExtension} from 'mdast-util-to-markdown'
19609
+ * @import {Link, PhrasingContent} from 'mdast'
19610
+ */
18334
19611
  /** @type {ConstructName} */
18335
19612
  const inConstruct = "phrasing";
18336
19613
  /** @type {Array<ConstructName>} */
@@ -18547,6 +19824,20 @@ function previous(match, email) {
18547
19824
 
18548
19825
  //#endregion
18549
19826
  //#region node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.js
19827
+ /**
19828
+ * @import {
19829
+ * CompileContext,
19830
+ * Extension as FromMarkdownExtension,
19831
+ * Handle as FromMarkdownHandle
19832
+ * } from 'mdast-util-from-markdown'
19833
+ * @import {ToMarkdownOptions} from 'mdast-util-gfm-footnote'
19834
+ * @import {
19835
+ * Handle as ToMarkdownHandle,
19836
+ * Map,
19837
+ * Options as ToMarkdownExtension
19838
+ * } from 'mdast-util-to-markdown'
19839
+ * @import {FootnoteDefinition, FootnoteReference} from 'mdast'
19840
+ */
18550
19841
  footnoteReference.peek = footnoteReferencePeek;
18551
19842
  /**
18552
19843
  * @this {CompileContext}
@@ -19118,6 +20409,35 @@ function toAlignment(value) {
19118
20409
  //#endregion
19119
20410
  //#region node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.js
19120
20411
  /**
20412
+ * @typedef {import('mdast').InlineCode} InlineCode
20413
+ * @typedef {import('mdast').Table} Table
20414
+ * @typedef {import('mdast').TableCell} TableCell
20415
+ * @typedef {import('mdast').TableRow} TableRow
20416
+ *
20417
+ * @typedef {import('markdown-table').Options} MarkdownTableOptions
20418
+ *
20419
+ * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext
20420
+ * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension
20421
+ * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle
20422
+ *
20423
+ * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension
20424
+ * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle
20425
+ * @typedef {import('mdast-util-to-markdown').State} State
20426
+ * @typedef {import('mdast-util-to-markdown').Info} Info
20427
+ */
20428
+ /**
20429
+ * @typedef Options
20430
+ * Configuration.
20431
+ * @property {boolean | null | undefined} [tableCellPadding=true]
20432
+ * Whether to add a space of padding between delimiters and cells (default:
20433
+ * `true`).
20434
+ * @property {boolean | null | undefined} [tablePipeAlign=true]
20435
+ * Whether to align the delimiters (default: `true`).
20436
+ * @property {MarkdownTableOptions['stringLength'] | null | undefined} [stringLength]
20437
+ * Function to detect the length of table cell content, used when aligning
20438
+ * the delimiters between cells (optional).
20439
+ */
20440
+ /**
19121
20441
  * Create an extension for `mdast-util-from-markdown` to enable GFM tables in
19122
20442
  * markdown.
19123
20443
  *
@@ -19355,6 +20675,15 @@ function gfmTableToMarkdown(options) {
19355
20675
  //#endregion
19356
20676
  //#region node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/lib/index.js
19357
20677
  /**
20678
+ * @typedef {import('mdast').ListItem} ListItem
20679
+ * @typedef {import('mdast').Paragraph} Paragraph
20680
+ * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext
20681
+ * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension
20682
+ * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle
20683
+ * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension
20684
+ * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle
20685
+ */
20686
+ /**
19358
20687
  * Create an extension for `mdast-util-from-markdown` to enable GFM task
19359
20688
  * list items in markdown.
19360
20689
  *
@@ -19457,6 +20786,11 @@ function listItemWithTaskListItem(node$1, parent, state, info) {
19457
20786
  //#endregion
19458
20787
  //#region node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.js
19459
20788
  /**
20789
+ * @import {Extension as FromMarkdownExtension} from 'mdast-util-from-markdown'
20790
+ * @import {Options} from 'mdast-util-gfm'
20791
+ * @import {Options as ToMarkdownExtension} from 'mdast-util-to-markdown'
20792
+ */
20793
+ /**
19460
20794
  * Create an extension for `mdast-util-from-markdown` to enable GFM (autolink
19461
20795
  * literals, footnotes, strikethrough, tables, tasklists).
19462
20796
  *
@@ -19495,6 +20829,9 @@ function gfmToMarkdown(options) {
19495
20829
 
19496
20830
  //#endregion
19497
20831
  //#region node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
20832
+ /**
20833
+ * @import {Code, ConstructRecord, Event, Extension, Previous, State, TokenizeContext, Tokenizer} from 'micromark-util-types'
20834
+ */
19498
20835
  const wwwPrefix = {
19499
20836
  tokenize: tokenizeWwwPrefix,
19500
20837
  partial: true
@@ -20194,6 +21531,9 @@ function previousUnbalanced(events) {
20194
21531
 
20195
21532
  //#endregion
20196
21533
  //#region node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.js
21534
+ /**
21535
+ * @import {Event, Exiter, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
21536
+ */
20197
21537
  const indent = {
20198
21538
  tokenize: tokenizeIndent,
20199
21539
  partial: true
@@ -20612,6 +21952,10 @@ function tokenizeIndent(effects, ok$2, nok) {
20612
21952
  //#endregion
20613
21953
  //#region node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
20614
21954
  /**
21955
+ * @import {Options} from 'micromark-extension-gfm-strikethrough'
21956
+ * @import {Event, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
21957
+ */
21958
+ /**
20615
21959
  * Create an extension for `micromark` to enable GFM strikethrough syntax.
20616
21960
  *
20617
21961
  * @param {Options | null | undefined} [options={}]
@@ -20882,6 +22226,16 @@ function gfmTableAlign(events, index$2) {
20882
22226
  //#endregion
20883
22227
  //#region node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.js
20884
22228
  /**
22229
+ * @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
22230
+ */
22231
+ /**
22232
+ * @typedef {[number, number, number, number]} Range
22233
+ * Cell info.
22234
+ *
22235
+ * @typedef {0 | 1 | 2 | 3} RowKind
22236
+ * Where we are: `1` for head row, `2` for delimiter row, `3` for body row.
22237
+ */
22238
+ /**
20885
22239
  * Create an HTML extension for `micromark` to support GitHub tables syntax.
20886
22240
  *
20887
22241
  * @returns {Extension}
@@ -21566,6 +22920,9 @@ function getPoint(events, index$2) {
21566
22920
 
21567
22921
  //#endregion
21568
22922
  //#region node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
22923
+ /**
22924
+ * @import {Extension, State, TokenizeContext, Tokenizer} from 'micromark-util-types'
22925
+ */
21569
22926
  const tasklistCheck = {
21570
22927
  name: "tasklistCheck",
21571
22928
  tokenize: tokenizeTasklistCheck
@@ -21684,6 +23041,12 @@ function spaceThenNonSpace(effects, ok$2, nok) {
21684
23041
  //#endregion
21685
23042
  //#region node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.js
21686
23043
  /**
23044
+ * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions
23045
+ * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options
23046
+ * @typedef {import('micromark-util-types').Extension} Extension
23047
+ * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension
23048
+ */
23049
+ /**
21687
23050
  * Create an extension for `micromark` to enable GFM syntax.
21688
23051
  *
21689
23052
  * @param {Options | null | undefined} [options]
@@ -21706,6 +23069,13 @@ function gfm(options) {
21706
23069
 
21707
23070
  //#endregion
21708
23071
  //#region node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.js
23072
+ /**
23073
+ * @import {Root} from 'mdast'
23074
+ * @import {Options} from 'remark-gfm'
23075
+ * @import {} from 'remark-parse'
23076
+ * @import {} from 'remark-stringify'
23077
+ * @import {Processor} from 'unified'
23078
+ */
21709
23079
  /** @type {Options} */
21710
23080
  const emptyOptions = {};
21711
23081
  /**
@@ -21732,6 +23102,65 @@ function remarkGfm(options) {
21732
23102
  //#endregion
21733
23103
  //#region node_modules/.pnpm/to-vfile@8.0.0/node_modules/to-vfile/lib/index.js
21734
23104
  /**
23105
+ * @typedef {import('vfile').VFileOptions} Options
23106
+ * @typedef {import('vfile').VFileValue} Value
23107
+ */
23108
+ /**
23109
+ * @typedef {'ascii' | 'base64' | 'base64url' | 'binary' | 'hex' | 'latin1' | 'ucs-2' | 'ucs2' | 'utf-8' | 'utf16le' | 'utf8'} BufferEncoding
23110
+ * Encodings supported by the buffer class.
23111
+ *
23112
+ * This is a copy of the types from Node, copied to prevent Node globals from
23113
+ * being needed.
23114
+ * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/1761eec/types/node/buffer.d.ts#L223>.
23115
+ *
23116
+ * @typedef ReadOptions
23117
+ * Configuration for `fs.readFile`.
23118
+ * @property {BufferEncoding | null | undefined} [encoding]
23119
+ * Encoding to read file as, will turn `file.value` into a string if passed.
23120
+ * @property {string | undefined} [flag]
23121
+ * File system flags to use.
23122
+ *
23123
+ * @typedef WriteOptions
23124
+ * Configuration for `fs.writeFile`.
23125
+ * @property {BufferEncoding | null | undefined} [encoding]
23126
+ * Encoding to write file as.
23127
+ * @property {string | undefined} [flag]
23128
+ * File system flags to use.
23129
+ * @property {number | string | undefined} [mode]
23130
+ * File mode (permission and sticky bits) if the file was newly created.
23131
+ *
23132
+ * @typedef {URL | Value} Path
23133
+ * URL to file or path to file.
23134
+ *
23135
+ * > 👉 **Note**: `Value` is used here because it’s a smarter `Buffer`
23136
+ * @typedef {Options | Path | VFile} Compatible
23137
+ * URL to file, path to file, options for file, or actual file.
23138
+ */
23139
+ /**
23140
+ * @callback Callback
23141
+ * Callback called after reading or writing a file.
23142
+ * @param {NodeJS.ErrnoException | undefined} error
23143
+ * Error when reading or writing was not successful.
23144
+ * @param {VFile | null | undefined} file
23145
+ * File when reading or writing was successful.
23146
+ * @returns {undefined}
23147
+ * Nothing.
23148
+ *
23149
+ * @callback Resolve
23150
+ * @param {VFile} result
23151
+ * File.
23152
+ * @returns {void}
23153
+ * Nothing (note: has to be `void` for TSs `Promise` interface).
23154
+ *
23155
+ * @callback Reject
23156
+ * @param {NodeJS.ErrnoException} error
23157
+ * Error.
23158
+ * @param {VFile | undefined} [result]
23159
+ * File.
23160
+ * @returns {void}
23161
+ * Nothing (note: has to be `void` for TSs `Promise` interface).
23162
+ */
23163
+ /**
21735
23164
  * Create a virtual file and read it in, async.
21736
23165
  *
21737
23166
  * @overload
@@ -22460,6 +23889,61 @@ function toExpression(value) {
22460
23889
 
22461
23890
  //#endregion
22462
23891
  //#region node_modules/.pnpm/mdast-util-toc@7.1.0/node_modules/mdast-util-toc/lib/search.js
23892
+ /**
23893
+ * @typedef {import('mdast').Heading} Heading
23894
+ * @typedef {import('mdast').Nodes} Nodes
23895
+ * @typedef {import('mdast').PhrasingContent} PhrasingContent
23896
+ * @typedef {import('unist-util-is').Test} Test
23897
+ */
23898
+ /**
23899
+ * @typedef {Heading['depth']} Rank
23900
+ *
23901
+ */
23902
+ /**
23903
+ * @typedef SearchOptions
23904
+ * Search configuration.
23905
+ * @property {Rank | null | undefined} [maxDepth=6]
23906
+ * Maximum heading depth to include in the table of contents (default: `6`).
23907
+ *
23908
+ * This is inclusive: when set to `3`, level three headings are included
23909
+ * (those with three hashes, `###`).
23910
+ * @property {Rank | null | undefined} [minDepth=1]
23911
+ * Minimum heading depth to include in the table of contents (default: `1`).
23912
+ *
23913
+ * This is inclusive: when set to `3`, level three headings are included
23914
+ * (those with three hashes, `###`).
23915
+ * @property {string | null | undefined} [skip]
23916
+ * Headings to skip, wrapped in `new RegExp('^(' + value + ')$', 'i')`
23917
+ * (default: `undefined`).
23918
+ *
23919
+ * Any heading matching this expression will not be present in the table of
23920
+ * contents.
23921
+ * @property {Test} [parents]
23922
+ * Allow headings to be children of certain node types (default: the to `toc`
23923
+ * given `tree`, to only allow top-level headings) (default:
23924
+ * `d => d === tree`).
23925
+ *
23926
+ * Internally, uses `unist-util-is` to check, so `parents` can be any
23927
+ * `is`-compatible test.
23928
+ *
23929
+ * @typedef SearchEntry
23930
+ * Entry.
23931
+ * @property {string} id
23932
+ * ID of entry.
23933
+ * @property {Array<PhrasingContent>} children
23934
+ * Contents of entry.
23935
+ * @property {Rank} depth
23936
+ * Rank of entry.
23937
+ *
23938
+ * @typedef SearchResult
23939
+ * Results.
23940
+ * @property {number} index
23941
+ * Where the contents section starts, if looking for a heading.
23942
+ * @property {number} endIndex
23943
+ * Where the contents section ends, if looking for a heading.
23944
+ * @property {Array<SearchEntry>} map
23945
+ * List of entries.
23946
+ */
22463
23947
  const slugs = new BananaSlug();
22464
23948
  /**
22465
23949
  * Search a node for a toc.
@@ -22724,6 +24208,27 @@ var esm_default = typeof structuredClone === "function" ? (any, options) => opti
22724
24208
  //#endregion
22725
24209
  //#region node_modules/.pnpm/mdast-util-toc@7.1.0/node_modules/mdast-util-toc/lib/contents.js
22726
24210
  /**
24211
+ * @typedef {import('mdast').List} List
24212
+ * @typedef {import('mdast').ListItem} ListItem
24213
+ * @typedef {import('mdast').PhrasingContent} PhrasingContent
24214
+ * @typedef {import('./search.js').SearchEntry} SearchEntry
24215
+ */
24216
+ /**
24217
+ * @typedef ContentsOptions
24218
+ * Build configuration.
24219
+ * @property {boolean | null | undefined} [tight=false]
24220
+ * Whether to compile list items tightly (default: `false`).
24221
+ * @property {boolean | null | undefined} [ordered=false]
24222
+ * Whether to compile list items as an ordered list, otherwise they are
24223
+ * unordered (default: `false`).
24224
+ * @property {string | null | undefined} [prefix=undefined]
24225
+ * Add a prefix to links to headings in the table of contents (default:
24226
+ * `undefined`).
24227
+ *
24228
+ * Useful for example when later going from mdast to hast and sanitizing with
24229
+ * `hast-util-sanitize`.
24230
+ */
24231
+ /**
22727
24232
  * Transform a list of heading objects to a markdown list.
22728
24233
  *
22729
24234
  * @param {Array<SearchEntry>} map
@@ -22843,6 +24348,36 @@ function one(node$1) {
22843
24348
  //#endregion
22844
24349
  //#region node_modules/.pnpm/mdast-util-toc@7.1.0/node_modules/mdast-util-toc/lib/index.js
22845
24350
  /**
24351
+ * @typedef {import('mdast').List} List
24352
+ * @typedef {import('mdast').Nodes} Nodes
24353
+ * @typedef {import('./search.js').SearchOptions} SearchOptions
24354
+ * @typedef {import('./contents.js').ContentsOptions} ContentsOptions
24355
+ */
24356
+ /**
24357
+ * @typedef {ContentsOptions & ExtraOptions & SearchOptions} Options
24358
+ *
24359
+ * @typedef ExtraOptions
24360
+ * Extra configuration fields.
24361
+ * @property {string | null | undefined} [heading]
24362
+ * Heading to look for, wrapped in `new RegExp('^(' + value + ')$', 'i')`
24363
+ * (default: `undefined`).
24364
+ *
24365
+ * @typedef Result
24366
+ * Results.
24367
+ * @property {number | undefined} index
24368
+ * Index of the node right after the table of contents heading, `-1` if no
24369
+ * heading was found, `undefined` if no `heading` was given.
24370
+ * @property {number | undefined} endIndex
24371
+ * Index of the first node after `heading` that is not part of its section,
24372
+ * `-1` if no heading was found, `undefined` if no `heading` was given, same
24373
+ * as `index` if there are no nodes between `heading` and the first heading
24374
+ * in the table of contents.
24375
+ * @property {List | undefined} map
24376
+ * List representing the generated table of contents, `undefined` if no table
24377
+ * of contents could be created, either because no heading was found or
24378
+ * because no following headings were found.
24379
+ */
24380
+ /**
22846
24381
  * Generate a table of contents from `tree`.
22847
24382
  *
22848
24383
  * Looks for the first heading matching `options.heading` (case insensitive) and