UNPKG

vignere-babbage-cipher-web

Version:
39 lines (31 loc) 1.24 kB
"use strict"; if (typeof document === "undefined") { global.document = { querySelector: function querySelector() {}, addEventListener: function addEventListener() {} }; global.window = {}; } var $ = require("elly"), vignereBabbage = require("vignere-babbage-cipher"); window.onload = function () { var $result = $("#result"); var $key = $("#key"); var $textInput = $("#text-input"); var doOp = function doOp() { var key = $key.value.trim(); if (!key) { $result.textContent = "Please provide a key."; return; } var op = $("[name='operation']:checked").value; $result.textContent = vignereBabbage[op]($textInput.value, key); if (op === "encrypt") { var up = $textInput.value.toUpperCase(); if (vignereBabbage.decrypt($result.textContent, key) !== up) { $result.textContent = "ERROR: Failed to encrypt the text successfully. Keep writing or remove punctuation such as new lines."; } } }; $textInput.addEventListener("input", doOp); $key.addEventListener("input", doOp); $(".controls").addEventListener("change", doOp); }; module.exports = function m() {};