astro-ghostcms/.pnpm-store/v3/files/4e/41f4eafe41c240b51827c0d8e9f...

38 lines
957 B
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
/**
* @typedef URL
* @property {string} hash
* @property {string} host
* @property {string} hostname
* @property {string} href
* @property {string} origin
* @property {string} password
* @property {string} pathname
* @property {string} port
* @property {string} protocol
* @property {string} search
* @property {any} searchParams
* @property {string} username
* @property {() => string} toString
* @property {() => string} toJSON
*/
/**
* Check if `fileUrlOrPath` looks like a URL.
*
* @param {unknown} fileUrlOrPath
* File path or URL.
* @returns {fileUrlOrPath is URL}
* Whether its a URL.
*/
// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>
export function isUrl(fileUrlOrPath) {
return (
fileUrlOrPath !== null &&
typeof fileUrlOrPath === 'object' &&
// @ts-expect-error: indexable.
fileUrlOrPath.href &&
// @ts-expect-error: indexable.
fileUrlOrPath.origin
)
}