UNPKG

vue-files-preview-inno

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

1 lines 4.15 kB
{"version":3,"file":"url.mjs","sources":["../../../../../../node_modules/epubjs/src/utils/url.js"],"sourcesContent":["import Path from \"./path\";\nimport path from \"path-webpack\";\n\n/**\n * creates a Url object for parsing and manipulation of a url string\n * @param\t{string} urlString\ta url string (relative or absolute)\n * @param\t{string} [baseString] optional base for the url,\n * default to window.location.href\n */\nclass Url {\n\tconstructor(urlString, baseString) {\n\t\tvar absolute = (urlString.indexOf(\"://\") > -1);\n\t\tvar pathname = urlString;\n\t\tvar basePath;\n\n\t\tthis.Url = undefined;\n\t\tthis.href = urlString;\n\t\tthis.protocol = \"\";\n\t\tthis.origin = \"\";\n\t\tthis.hash = \"\";\n\t\tthis.hash = \"\";\n\t\tthis.search = \"\";\n\t\tthis.base = baseString;\n\n\t\tif (!absolute &&\n\t\t\t\tbaseString !== false &&\n\t\t\t\ttypeof(baseString) !== \"string\" &&\n\t\t\t\twindow && window.location) {\n\t\t\tthis.base = window.location.href;\n\t\t}\n\n\t\t// URL Polyfill doesn't throw an error if base is empty\n\t\tif (absolute || this.base) {\n\t\t\ttry {\n\t\t\t\tif (this.base) { // Safari doesn't like an undefined base\n\t\t\t\t\tthis.Url = new URL(urlString, this.base);\n\t\t\t\t} else {\n\t\t\t\t\tthis.Url = new URL(urlString);\n\t\t\t\t}\n\t\t\t\tthis.href = this.Url.href;\n\n\t\t\t\tthis.protocol = this.Url.protocol;\n\t\t\t\tthis.origin = this.Url.origin;\n\t\t\t\tthis.hash = this.Url.hash;\n\t\t\t\tthis.search = this.Url.search;\n\n\t\t\t\tpathname = this.Url.pathname + (this.Url.search ? this.Url.search : '');\n\t\t\t} catch (e) {\n\t\t\t\t// Skip URL parsing\n\t\t\t\tthis.Url = undefined;\n\t\t\t\t// resolve the pathname from the base\n\t\t\t\tif (this.base) {\n\t\t\t\t\tbasePath = new Path(this.base);\n\t\t\t\t\tpathname = basePath.resolve(pathname);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.Path = new Path(pathname);\n\n\t\tthis.directory = this.Path.directory;\n\t\tthis.filename = this.Path.filename;\n\t\tthis.extension = this.Path.extension;\n\n\t}\n\n\t/**\n\t * @returns {Path}\n\t */\n\tpath () {\n\t\treturn this.Path;\n\t}\n\n\t/**\n\t * Resolves a relative path to a absolute url\n\t * @param {string} what\n\t * @returns {string} url\n\t */\n\tresolve (what) {\n\t\tvar isAbsolute = (what.indexOf(\"://\") > -1);\n\t\tvar fullpath;\n\n\t\tif (isAbsolute) {\n\t\t\treturn what;\n\t\t}\n\n\t\tfullpath = path.resolve(this.directory, what);\n\t\treturn this.origin + fullpath;\n\t}\n\n\t/**\n\t * Resolve a path relative to the url\n\t * @param {string} what\n\t * @returns {string} path\n\t */\n\trelative (what) {\n\t\treturn path.relative(what, this.directory);\n\t}\n\n\t/**\n\t * @returns {string}\n\t */\n\ttoString () {\n\t\treturn this.href;\n\t}\n}\n\nexport default Url;\n"],"names":["Url","urlString","baseString","absolute","pathname","basePath","Path","what","isAbsolute","fullpath","path"],"mappings":";;AASA,MAAMA,EAAI;AAAA,EACT,YAAYC,GAAWC,GAAY;AAClC,QAAIC,IAAYF,EAAU,QAAQ,KAAK,IAAI,IACvCG,IAAWH,GACXI;AAmBJ,QAjBA,KAAK,MAAM,QACX,KAAK,OAAOJ,GACZ,KAAK,WAAW,IAChB,KAAK,SAAS,IACd,KAAK,OAAO,IACZ,KAAK,OAAO,IACZ,KAAK,SAAS,IACd,KAAK,OAAOC,GAER,CAACC,KACHD,MAAe,MACf,OAAOA,KAAgB,YACvB,UAAU,OAAO,aAClB,KAAK,OAAO,OAAO,SAAS,OAIzBC,KAAY,KAAK;AACpB,UAAI;AACH,QAAI,KAAK,OACR,KAAK,MAAM,IAAI,IAAIF,GAAW,KAAK,IAAI,IAEvC,KAAK,MAAM,IAAI,IAAIA,CAAS,GAE7B,KAAK,OAAO,KAAK,IAAI,MAErB,KAAK,WAAW,KAAK,IAAI,UACzB,KAAK,SAAS,KAAK,IAAI,QACvB,KAAK,OAAO,KAAK,IAAI,MACrB,KAAK,SAAS,KAAK,IAAI,QAEvBG,IAAW,KAAK,IAAI,YAAY,KAAK,IAAI,SAAS,KAAK,IAAI,SAAS;AAAA,MACrE,QAAY;AAEX,aAAK,MAAM,QAEP,KAAK,SACRC,IAAW,IAAIC,EAAK,KAAK,IAAI,GAC7BF,IAAWC,EAAS,QAAQD,CAAQ;AAAA,MAEtC;AAGD,SAAK,OAAO,IAAIE,EAAKF,CAAQ,GAE7B,KAAK,YAAY,KAAK,KAAK,WAC3B,KAAK,WAAW,KAAK,KAAK,UAC1B,KAAK,YAAY,KAAK,KAAK;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAQ;AACP,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAASG,GAAM;AACd,QAAIC,IAAcD,EAAK,QAAQ,KAAK,IAAI,IACpCE;AAEJ,WAAID,IACID,KAGRE,IAAWC,EAAK,QAAQ,KAAK,WAAWH,CAAI,GACrC,KAAK,SAASE;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAUF,GAAM;AACf,WAAOG,EAAK,SAASH,GAAM,KAAK,SAAS;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,WAAY;AACX,WAAO,KAAK;AAAA,EACb;AACD;","x_google_ignoreList":[0]}