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 • 3.47 kB
Source Map (JSON)
{"version":3,"file":"path.mjs","sources":["../../../../../../node_modules/epubjs/src/utils/path.js"],"sourcesContent":["import path from \"path-webpack\";\n\n/**\n * Creates a Path object for parsing and manipulation of a path strings\n *\n * Uses a polyfill for Nodejs path: https://nodejs.org/api/path.html\n * @param\t{string} pathString\ta url string (relative or absolute)\n * @class\n */\nclass Path {\n\tconstructor(pathString) {\n\t\tvar protocol;\n\t\tvar parsed;\n\n\t\tprotocol = pathString.indexOf(\"://\");\n\t\tif (protocol > -1) {\n\t\t\tpathString = new URL(pathString).pathname;\n\t\t}\n\n\t\tparsed = this.parse(pathString);\n\n\t\tthis.path = pathString;\n\n\t\tif (this.isDirectory(pathString)) {\n\t\t\tthis.directory = pathString;\n\t\t} else {\n\t\t\tthis.directory = parsed.dir + \"/\";\n\t\t}\n\n\t\tthis.filename = parsed.base;\n\t\tthis.extension = parsed.ext.slice(1);\n\n\t}\n\n\t/**\n\t * Parse the path: https://nodejs.org/api/path.html#path_path_parse_path\n\t * @param\t{string} what\n\t * @returns {object}\n\t */\n\tparse (what) {\n\t\treturn path.parse(what);\n\t}\n\n\t/**\n\t * @param\t{string} what\n\t * @returns {boolean}\n\t */\n\tisAbsolute (what) {\n\t\treturn path.isAbsolute(what || this.path);\n\t}\n\n\t/**\n\t * Check if path ends with a directory\n\t * @param\t{string} what\n\t * @returns {boolean}\n\t */\n\tisDirectory (what) {\n\t\treturn (what.charAt(what.length-1) === \"/\");\n\t}\n\n\t/**\n\t * Resolve a path against the directory of the Path\n\t *\n\t * https://nodejs.org/api/path.html#path_path_resolve_paths\n\t * @param\t{string} what\n\t * @returns {string} resolved\n\t */\n\tresolve (what) {\n\t\treturn path.resolve(this.directory, what);\n\t}\n\n\t/**\n\t * Resolve a path relative to the directory of the Path\n\t *\n\t * https://nodejs.org/api/path.html#path_path_relative_from_to\n\t * @param\t{string} what\n\t * @returns {string} relative\n\t */\n\trelative (what) {\n\t\tvar isAbsolute = what && (what.indexOf(\"://\") > -1);\n\n\t\tif (isAbsolute) {\n\t\t\treturn what;\n\t\t}\n\n\t\treturn path.relative(this.directory, what);\n\t}\n\n\tsplitPath(filename) {\n\t\treturn this.splitPathRe.exec(filename).slice(1);\n\t}\n\n\t/**\n\t * Return the path string\n\t * @returns {string} path\n\t */\n\ttoString () {\n\t\treturn this.path;\n\t}\n}\n\nexport default Path;\n"],"names":["Path","pathString","protocol","parsed","what","path","isAbsolute","filename"],"mappings":";AASA,MAAMA,EAAK;AAAA,EACV,YAAYC,GAAY;AACvB,QAAIC,GACAC;AAEJ,IAAAD,IAAWD,EAAW,QAAQ,KAAK,GAC/BC,IAAW,OACdD,IAAa,IAAI,IAAIA,CAAU,EAAE,WAGlCE,IAAS,KAAK,MAAMF,CAAU,GAE9B,KAAK,OAAOA,GAER,KAAK,YAAYA,CAAU,IAC9B,KAAK,YAAYA,IAEjB,KAAK,YAAYE,EAAO,MAAM,KAG/B,KAAK,WAAWA,EAAO,MACvB,KAAK,YAAYA,EAAO,IAAI,MAAM,CAAC;AAAA,EAEpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAOC,GAAM;AACZ,WAAOC,EAAK,MAAMD,CAAI;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAYA,GAAM;AACjB,WAAOC,EAAK,WAAWD,KAAQ,KAAK,IAAI;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAaA,GAAM;AAClB,WAAQA,EAAK,OAAOA,EAAK,SAAO,CAAC,MAAM;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,QAASA,GAAM;AACd,WAAOC,EAAK,QAAQ,KAAK,WAAWD,CAAI;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,SAAUA,GAAM;AACf,QAAIE,IAAaF,KAASA,EAAK,QAAQ,KAAK,IAAI;AAEhD,WAAIE,IACIF,IAGDC,EAAK,SAAS,KAAK,WAAWD,CAAI;AAAA,EAC1C;AAAA,EAEA,UAAUG,GAAU;AACnB,WAAO,KAAK,YAAY,KAAKA,CAAQ,EAAE,MAAM,CAAC;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAY;AACX,WAAO,KAAK;AAAA,EACb;AACD;","x_google_ignoreList":[0]}