UNPKG

@alwatr/resolve-url

Version:
8 lines (7 loc) 1.66 kB
{ "version": 3, "sources": ["../src/main.ts"], "sourcesContent": ["import {packageTracer} from '@alwatr/package-tracer';\n\n__dev_mode__: packageTracer.add(__package_name__, __package_version__);\n\nexport function resolveUrl(...parts: string[]): string {\n parts = parts.filter((part: string): part is string => typeof part === 'string' && part.length > 0);\n\n if (parts.length === 0) {\n return '';\n }\n\n const leadingSlashes = /^\\/+/;\n const trailingSlashes = /\\/+$/;\n const multipleSlashes = /\\/{2,}/g;\n\n const prefix = parts[0].indexOf('/') === 0 ? '/' : ''; // Add leading slash if the first part has it\n\n return (\n prefix +\n parts\n .map((part) => part.replace(leadingSlashes, '').replace(trailingSlashes, '')) // Remove leading and trailing slashes\n .filter((part) => part) // Remove empty parts\n .join('/')\n // Replace multiple slashes with a single slash, except for protocol\n .replace('://', '{{PROTOCOL_SLASH}}')\n .replace(multipleSlashes, '/')\n .replace('{{PROTOCOL_SLASH}}', '://')\n );\n}\n\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA4B;AAE5B,aAAc,qCAAc,IAAI,uBAAkB,OAAmB;AAE9D,SAAS,cAAc,OAAyB;AACrD,UAAQ,MAAM,OAAO,CAAC,SAAiC,OAAO,SAAS,YAAY,KAAK,SAAS,CAAC;AAElG,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AAEA,QAAM,iBAAiB;AACvB,QAAM,kBAAkB;AACxB,QAAM,kBAAkB;AAExB,QAAM,SAAS,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,IAAI,MAAM;AAEnD,SACE,SACA,MACG,IAAI,CAAC,SAAS,KAAK,QAAQ,gBAAgB,EAAE,EAAE,QAAQ,iBAAiB,EAAE,CAAC,EAC3E,OAAO,CAAC,SAAS,IAAI,EACrB,KAAK,GAAG,EAER,QAAQ,OAAO,oBAAoB,EACnC,QAAQ,iBAAiB,GAAG,EAC5B,QAAQ,sBAAsB,KAAK;AAE1C;", "names": [] }