11import { stripIndent } from 'common-tags' ;
22import { get } from '../util/ajax.js' ;
3+ /** @import { Compiler } from '../Docsify.js' */
4+ /** @import {TokensList} from 'marked' */
35
46const cached = { } ;
57
@@ -32,7 +34,7 @@ function extractFragmentContent(text, fragment, fullLine) {
3234 return stripIndent ( ( match || [ ] ) [ 1 ] || '' ) . trim ( ) ;
3335}
3436
35- function walkFetchEmbed ( { embedTokens, compile, fetch } , cb ) {
37+ function walkFetchEmbed ( { embedTokens, compile } , cb ) {
3638 let token ;
3739 let step = 0 ;
3840 let count = 0 ;
@@ -132,7 +134,13 @@ function walkFetchEmbed({ embedTokens, compile, fetch }, cb) {
132134 }
133135}
134136
135- export function prerenderEmbed ( { compiler, raw = '' , fetch } , done ) {
137+ /**
138+ * @param {Object } options
139+ * @param {Compiler } options.compiler
140+ * @param {string } [options.raw]
141+ * @param {Function } done
142+ */
143+ export function prerenderEmbed ( { compiler, raw = '' } , done ) {
136144 const hit = cached [ raw ] ;
137145 if ( hit ) {
138146 const copy = hit . slice ( ) ;
@@ -193,7 +201,7 @@ export function prerenderEmbed({ compiler, raw = '', fetch }, done) {
193201 // are returned
194202 const moves = [ ] ;
195203 walkFetchEmbed (
196- { compile, embedTokens, fetch } ,
204+ { compile, embedTokens } ,
197205 ( { embedToken, token, rowIndex, cellIndex, tokenRef } ) => {
198206 if ( token ) {
199207 if ( typeof rowIndex === 'number' && typeof cellIndex === 'number' ) {
@@ -212,9 +220,14 @@ export function prerenderEmbed({ compiler, raw = '', fetch }, done) {
212220
213221 Object . assign ( links , embedToken . links ) ;
214222
223+ // FIXME This is an actual code error caught by TypeScript, but
224+ // apparently we've not been effected by deleting the `.links` property
225+ // yet.
226+ // @ts -expect-error
215227 tokens = tokens
216- . slice ( 0 , index )
228+ . slice ( 0 , index ) // This deletes the original .links by returning a new array, so now we have Tokens[] instead of TokensList
217229 . concat ( embedToken , tokens . slice ( index + 1 ) ) ;
230+
218231 moves . push ( { start : index , length : embedToken . length - 1 } ) ;
219232 }
220233 } else {
0 commit comments