refactor: support null.

This commit is contained in:
Rintim 2024-05-11 15:41:32 +08:00
parent 0e0cf646bc
commit 3910769de3
No known key found for this signature in database
GPG Key ID: BE9E1EA615BACFCF
2 changed files with 5 additions and 5 deletions

View File

@ -840,12 +840,12 @@ export class LibInit {
/**
* @async
* @param {string | URL} link - 需要解析的路径
* @param {(item: string) => string} [defaultHandle] - 在给定路径不符合可用情况或基于无名杀相关默认情况处理路径的函数返回的路径应是相对于根目录的相对路径默认为恒等函数
* @param {((item: string) => string) | null} [defaultHandle] - 在给定路径不符合可用情况或基于无名杀相关默认情况处理路径的函数返回的路径应是相对于根目录的相对路径默认为`null`当且仅当无法解析成`URL`时会调用该回调
* @param {boolean} [forceLoadAsDataUrl] - 是否将资源加载为[Data URL](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URLs),默认为`false`
* @param {boolean} [dbNow] - 此刻是否在解析数据库中的内容请勿直接使用
* @returns {Promise<URL>}
*/
async parseResourceAddress(link, defaultHandle = item => item, forceLoadAsDataUrl = false, dbNow = false) {
async parseResourceAddress(link, defaultHandle = null, forceLoadAsDataUrl = false, dbNow = false) {
let linkString = link instanceof URL ? link.href : link;
// 如果传入值为Data URL经过分析可知无需处理故直接返回成品URL
@ -864,7 +864,7 @@ export class LibInit {
let content = new Blob([linkString], { type: "text/plain" });
resultUrl = new URL(await get.dataUrl(content));
} else {
let resultLink = defaultHandle(linkString);
let resultLink = defaultHandle == null ? linkString : defaultHandle(linkString);
resultUrl = new URL(resultLink, rootURL);
}

View File

@ -67,11 +67,11 @@ export class LibInitPromises {
/**
* @async
* @param {string | URL} link - 需要解析的路径
* @param {(item: string) => string} [defaultHandle] - 在给定路径不符合可用情况或基于无名杀相关默认情况处理路径的函数返回的路径应是相对于根目录的相对路径默认为恒等函数
* @param {((item: string) => string) | null} [defaultHandle] - 在给定路径不符合可用情况或基于无名杀相关默认情况处理路径的函数返回的路径应是相对于根目录的相对路径默认为`null`当且仅当无法解析成`URL`时会调用该回调
* @param {boolean} [forceLoadAsDataUrl] - 是否将资源加载为[Data URL](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URLs),默认为`false`
* @returns {Promise<URL>}
*/
parseResourceAddress(link, defaultHandle = item => item, forceLoadAsDataUrl = false) {
parseResourceAddress(link, defaultHandle = null, forceLoadAsDataUrl = false) {
return lib.init.parseResourceAddress(link, defaultHandle, forceLoadAsDataUrl);
}
}