Buckets:
| /** | |
| * Is.js | |
| * | |
| * Object type checks. | |
| */ | |
| const NAME = Symbol.toStringTag; | |
| /** | |
| * Check if `obj` is a URLSearchParams object | |
| * ref: https://github.com/node-fetch/node-fetch/issues/296#issuecomment-307598143 | |
| * @param {*} object - Object to check for | |
| * @return {boolean} | |
| */ | |
| export const isURLSearchParameters = object => { | |
| return ( | |
| typeof object === 'object' && | |
| typeof object.append === 'function' && | |
| typeof object.delete === 'function' && | |
| typeof object.get === 'function' && | |
| typeof object.getAll === 'function' && | |
| typeof object.has === 'function' && | |
| typeof object.set === 'function' && | |
| typeof object.sort === 'function' && | |
| object[NAME] === 'URLSearchParams' | |
| ); | |
| }; | |
| /** | |
| * Check if `object` is a W3C `Blob` object (which `File` inherits from) | |
| * @param {*} object - Object to check for | |
| * @return {boolean} | |
| */ | |
| export const isBlob = object => { | |
| return ( | |
| object && | |
| typeof object === 'object' && | |
| typeof object.arrayBuffer === 'function' && | |
| typeof object.type === 'string' && | |
| typeof object.stream === 'function' && | |
| typeof object.constructor === 'function' && | |
| /^(Blob|File)$/.test(object[NAME]) | |
| ); | |
| }; | |
| /** | |
| * Check if `obj` is an instance of AbortSignal. | |
| * @param {*} object - Object to check for | |
| * @return {boolean} | |
| */ | |
| export const isAbortSignal = object => { | |
| return ( | |
| typeof object === 'object' && ( | |
| object[NAME] === 'AbortSignal' || | |
| object[NAME] === 'EventTarget' | |
| ) | |
| ); | |
| }; | |
| /** | |
| * isDomainOrSubdomain reports whether sub is a subdomain (or exact match) of | |
| * the parent domain. | |
| * | |
| * Both domains must already be in canonical form. | |
| * @param {string|URL} original | |
| * @param {string|URL} destination | |
| */ | |
| export const isDomainOrSubdomain = (destination, original) => { | |
| const orig = new URL(original).hostname; | |
| const dest = new URL(destination).hostname; | |
| return orig === dest || orig.endsWith(`.${dest}`); | |
| }; | |
| /** | |
| * isSameProtocol reports whether the two provided URLs use the same protocol. | |
| * | |
| * Both domains must already be in canonical form. | |
| * @param {string|URL} original | |
| * @param {string|URL} destination | |
| */ | |
| export const isSameProtocol = (destination, original) => { | |
| const orig = new URL(original).protocol; | |
| const dest = new URL(destination).protocol; | |
| return orig === dest; | |
| }; | |
Xet Storage Details
- Size:
- 2.25 kB
- Xet hash:
- f16be3dd5e4b14cba1e517277ed7dfb3dd2f72b21e3f131cc4392c3df2a83b71
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.