const promise = convert( // 変換したい文字列もしくはURL object text, // 変換処理 // 上から順に適用される // 非同期処理も可能 (url: URL) => { /* ... */ }, (url: URL) => url.pathname.endsWith(".pdf") ? // 文字列を返すと、その文字列で対象のURLが置換され、以降の変換処理は実行されない `[pdf ${url}]` : // URLで返すと、次の変換処理にそれが渡される url, // ... ) // すべての変換が同期で終わるとstringに、一つでも非同期で変換処理が走ったらPromiseになる const convertedText = promise instanceof Promise ? await promise : promise;