HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/nowruzgan/rest/node_modules/figlet/lib/node-figlet.js
/*
	Node plugin for figlet.js
*/

var figlet = require('./figlet.js'),
    fs = require('fs'),
    fontDir = __dirname + '/../fonts/';

/*
    Loads a font into the figlet object.

    Parameters:
    - name (string): Name of the font to load.
    - next (function): Callback function.
*/
figlet.loadFont = function(name, next) {
    fs.readFile(fontDir + name + '.flf',  {encoding: 'utf-8'}, function(err, fontData) {
        if (err) {
            return next(err);
        }

        fontData = fontData + '';
        try {
            next(null, figlet.parseFont(name, fontData));
        } catch(error) {
            next(error);
        }
    });
};

/*
 Loads a font synchronously into the figlet object.

 Parameters:
 - name (string): Name of the font to load.
 */
figlet.loadFontSync = function(name) {
    var fontData = fs.readFileSync(fontDir + name + '.flf',  {encoding: 'utf-8'});

    fontData = fontData + '';
    return figlet.parseFont(name, fontData);
};

/*
    Returns an array containing all of the font names
*/
figlet.fonts = function(next) {
    var fontList = [];
    fs.readdir(fontDir, function (err, files) { // '/' denotes the root folder
        if (err) {
            return next(err);
        }

        files.forEach( function (file) {
            if ( /\.flf$/.test(file) ) {
                fontList.push( file.replace(/\.flf$/,'') );
            }
        });

        next(null, fontList);
    });

};

figlet.fontsSync = function() {
    var fontList = [];
    fs.readdirSync(fontDir).forEach(function(file) {
        if ( /\.flf$/.test(file) ) {
            fontList.push( file.replace(/\.flf$/,'') );
        }
    });

    return fontList;
};

module.exports = figlet;