UNPKG

cowsay

Version:

cowsay is a configurable talking cow

32 lines (24 loc) 749 B
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); }