{"version":3,"sources":["jsdelivr-header.js","/npm/figlet-promises@1.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,GAAK,QAAQ,MAAM,SACnB,KAAO,QAAQ,QACf,UAAY,KAAK,KAAK,UAAU,SACtC,OAAO,QAAU,MACb,WAAA,GACI,KAAK,MAAQ,IAAI,GACrB,CAEA,eAAM,CAAU,GAClB,IAAG,KAAK,MAAM,IAAI,GACf,OAAO,KAAK,WAAW,QAAW,KAAK,SAAS,GACpD,CAEG,cAAM,CAAS,GACX,aAAa,GAAG,SAAS,KAAK,KAAK,UAAW,EAAO,QAAS,QAClE,CAEA,eAAM,GACF,IAAI,QAAc,GAAG,QAAQ,WAC7B,IAAI,MAAM,KAAQ,EACd,GAAG,EAAK,SAAS,QAAS,CACtB,IAAI,EAAO,EAAK,MAAM,EAAE,EAAK,OAAO,SAC9B,KAAK,UAAU,EACzB,CAGR,CAEA,UAAA,CAAY,EAAM,GACd,IAAI,EAAQ,EAAK,MAAM,MACnB,EAAS,EAAM,GAAG,MAAM,KACxB,EAAY,EAAO,GAAG,OAAO,EAAO,GAAG,OAAS,GAChD,GAAU,EAAO,GACjB,GAAY,EAAO,GAEvB,KAAK,MAAM,IAAI,EAAK,CAChB,KAAM,EAAM,MAAM,EAAW,GAC7B,UAAW,EACX,OAAQ,EACR,KAAM,CAAC,GAGf,CAEA,eAAM,CAAW,EAAM,GACnB,IAAI,EAAW,KAAK,MAAM,IAAI,GAE9B,GAAI,KAAQ,EAAS,KACjB,OAAO,EAAS,KAAK,GAGzB,IAGI,EAHA,EAAS,EAAS,OAClB,GAAS,EAAO,IAAM,EACtB,EAAW,GAGf,IAAK,EAAI,EAAG,EAAI,EAAQ,IACpB,EAAS,GAAK,EAAS,KAAK,EAAQ,GAC/B,QAAQ,KAAM,IACd,QAAQ,OAAO,KAAO,EAAS,UAAW,KAAM,KAIzD,OAFA,EAAS,KAAK,GAAQ,EACtB,KAAK,MAAM,IAAI,EAAK,GACb,CACX,CAEA,WAAM,CAAO,EAAI,GACb,OAAO,IAAI,SAAQ,MAAO,EAAQ,KAC9B,IAAI,EAAM,OAAO,EAAO,qBACxB,IAEI,EAAI,EAAE,EAFN,EAAQ,GACR,EAAS,GAEb,IAAK,EAAI,EAAG,EAAM,EAAI,OAAQ,EAAI,EAAK,IACnC,EAAM,SAAW,KAAK,UAAU,EAAI,WAAW,GAAI,GAEvD,IAAK,EAAI,EAAG,EAAS,EAAM,GAAG,OAAQ,EAAI,EAAQ,IAAK,CACnD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,IACrB,GAAU,EAAM,GAAG,GAEvB,GAAU,IACd,CACA,OAAO,EAAQ,EAAO,GAE9B","file":"/npm/figlet-promises@1.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/figlet-promises@1.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const fs = require('fs').promises;\r\nconst path = require('path');\r\nconst font_path = path.join(__dirname,\"fonts\");\r\nmodule.exports = class {\r\n    constructor(){\r\n        this.fonts = new Map();\r\n    }\r\n\r\n    async parseFont(name) {\r\n\t\tif(this.fonts.has(name))return;\r\n\t    return this._parseFont(name,await this.loadFont(name));\r\n\t}\r\n\r\n    async loadFont(name) {\r\n        return await fs.readFile(path.join(font_path, name + \".flf\"), \"utf-8\");\r\n    }\r\n\r\n    async loadFonts(){\r\n        let files = await fs.readdir(font_path);\r\n        for(const file of files){\r\n            if(file.endsWith('.flf')) {\r\n                let name = file.slice(0,file.length-4);\r\n                await this.parseFont(name);\r\n            }\r\n        }\r\n        return;\r\n    }\r\n\r\n    _parseFont (name, defn) {\r\n        let lines = defn.split(\"\\n\"),\r\n            header = lines[0].split(\" \"),\r\n            hardblank = header[0].charAt(header[0].length - 1),\r\n            height = +header[1],\r\n            comments = +header[5];\r\n\r\n        this.fonts.set(name,{\r\n            defn: lines.slice(comments + 1),\r\n            hardblank: hardblank,\r\n            height: height,\r\n            char: {}\r\n        });\r\n        return;\r\n    }\r\n\r\n    async parseChar (char, font) {\r\n        let fontDefn = this.fonts.get(font);\r\n\r\n        if (char in fontDefn.char) {\r\n            return fontDefn.char[char];\r\n        }\r\n\r\n        let height = fontDefn.height,\r\n            start = (char - 32) * height,\r\n            charDefn = [],\r\n            i;\r\n\r\n        for (i = 0; i < height; i++) {\r\n            charDefn[i] = fontDefn.defn[start + i]\r\n                .replace(/@/g, \"\")\r\n                .replace(RegExp(\"\\\\\" + fontDefn.hardblank, \"g\"), \" \");\r\n        }\r\n        fontDefn.char[char] = charDefn\r\n        this.fonts.set(font,fontDefn);\r\n        return charDefn;\r\n    }\r\n\r\n    async write (str,font){\r\n        return new Promise(async (resolve,reject) => {\r\n            if(!font) return reject('No font provided!');\r\n            let chars = [],\r\n                result = \"\",\r\n                len,i,height;\r\n            for (i = 0, len = str.length; i < len; i++) {\r\n                chars[i] = await this.parseChar(str.charCodeAt(i), font);\r\n            }\r\n            for (i = 0, height = chars[0].length; i < height; i++) {\r\n                for (var j = 0; j < len; j++) {\r\n                    result += chars[j][i];\r\n                }\r\n                result += \"\\n\";\r\n            }\r\n            return resolve(result);\r\n        });\r\n    }\r\n};\r\n"]}