kjelsrud.dev/node_modules/vfile/lib/minurl.shared.js

38 lines
957 B
JavaScript
Raw Normal View History

2023-07-19 21:31:30 +02: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
)
}