'use strict'; const Fs = require('fs'); const Path = require('path'); // Module containing utility functions. const Util = { // Parses a 16 bit number buffer. parse16BitBuffer: function (buffer) { return buffer[0] * 256 + buffer[1]; }, // Picks a random element from an array. pickRandom: function (array) { return array[Math.floor(Math.random() * array.length)]; }, // For a given path, requires all of the files and returns an array // with the results. If the directory contains any non-requireable file, // it will fail. loadFiles: function (path) { return new Promise(function (resolve, reject) { Fs.readdir(path, function (err, files) { if (err) { return reject(err); } let loadedFiles = []; for (let file of files) { let filePath = Path.join(path, file); let loadedFile; try { loadedFile = require(filePath); } catch (err) { return reject(err); } loadedFiles.push(loadedFile); } resolve(loadedFiles); }); }); } }; module.exports = Util;