UNPKG

4.08 kBSource Map (JSON)View Raw
1{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto, { BinaryLike } from 'crypto';\n\nexport function joinURI(...arr: string[]): string {\n const first = arr[0] || '';\n const join = arr.join('/');\n return normalizeURI(join[0] === '/' && first[0] !== '/' ? join.substring(1) : join);\n}\n\nfunction normalizeURI(uri: string): string {\n return uri.replace(/(:\\/\\/)|(\\\\+|\\/{2,})+/g, match => (match === '://' ? '://' : '/'));\n}\n\nexport function generateFingerprint(input: BinaryLike): string {\n return crypto\n .createHash('md5')\n .update(input)\n .digest('hex');\n}\n\nexport const toNumber = (value: string | number): number => {\n if (typeof value === 'string') {\n return parseInt(value);\n }\n return value;\n};\n\nexport function toSize(size: AnySize): ImageSize {\n let width: number;\n let height: number;\n if (Array.isArray(size)) {\n if (size.length) {\n // [0, 0] || [0]\n width = toNumber(size[0]);\n height = size.length > 1 ? toNumber(size[1]) : width;\n } else {\n throw new Error('Failed to parse size: ' + size);\n }\n } else if (typeof size === 'number') {\n // 0\n width = size;\n height = size;\n } else if (typeof size === 'string') {\n // '0x0'\n const dimensions = size.split('x');\n width = toNumber(dimensions[0]);\n height = toNumber(dimensions[1]);\n } else if (typeof size.width !== 'undefined' && typeof size.height !== 'undefined') {\n width = toNumber(size.width);\n height = toNumber(size.height);\n } else {\n throw new Error('Failed to parse size: ' + size);\n }\n return { width, height };\n}\n\nexport interface ImageSize {\n width: number;\n height: number;\n}\ntype SingleSize = string | number;\n\nexport type AnySize = ImageSize | SingleSize | SingleSize[];\n\nexport function toArray(i: any): any[] {\n if (i == null) return [];\n return i && !Array.isArray(i) ? [i] : i;\n}\n"]}
\No newline at end of file