cowsay
Version:
cowsay is a configurable talking cow
32 lines (24 loc) • 749 B
JavaScript
var baloon = require("./lib/balloon");
var cows = require("./lib/cows");
var faces = require("./lib/faces");
exports.say = function (options) {
return doIt(options, true);
};
exports.think = function (options) {
return doIt(options, false);
};
exports.list = cows.list;
function doIt (options, sayAloud) {
var cowFile;
if (options.r) {
var cowsList = cows.listSync();
cowFile = cowsList[Math.floor(Math.random() * cowsList.length)];
} else {
cowFile = options.f || "default";
}
var cow = cows.get(cowFile);
var face = faces(options);
face.thoughts = sayAloud ? "\\" : "o";
var action = sayAloud ? "say" : "think";
return baloon[action](options.text || options._.join(" "), options.n ? null : options.W) + "\n" + cow(face);
}