UNPKG

wordle-shell

Version:

A Wordle for the command line

49 lines (48 loc) 1.53 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Langs = void 0; const pt_br_json_1 = __importDefault(require("./data/pt_br.json")); const en_us_json_1 = __importDefault(require("./data/en_us.json")); const seedrandom_1 = __importDefault(require("seedrandom")); var Langs; (function (Langs) { Langs["ptBr"] = "pt-br"; Langs["enUs"] = "en-us"; })(Langs = exports.Langs || (exports.Langs = {})); class WordPicker { constructor(lang) { var _a; this.words = WordPicker.getWordList(lang); const index = this.generateIndex(); this.word = (_a = this.words.at(index)) !== null && _a !== void 0 ? _a : "Error"; } static getWordList(lang) { switch (lang) { case Langs.ptBr: return pt_br_json_1.default; case Langs.enUs: return en_us_json_1.default; default: return en_us_json_1.default; } } getWordList() { return this.words; } getWord() { return this.word; } generateIndex() { const rng = WordPicker.seed(); const rand_number = rng(); return Math.floor(rand_number * this.words.length); } static seed() { const today = new Date(); return (0, seedrandom_1.default)(today.toDateString()); } } exports.default = WordPicker;