Sha256: 4a739e059b453b596b158acb7397df5ca45fbba5740e4c19044c1ddf427eebda

Contents?: true

Size: 675 Bytes

Versions: 255

Compression:

Stored size: 675 Bytes

Contents

'use strict';

var LETTERS = 'abcdefghijklmnopqrstuvwxyz';
var REVERSED_LETTERS = 'zyxwvutsrqponmlkjihgfedcba';

function insertSpacing(s, interval) {
  var matcher = new RegExp('.{1,' + interval + '}', 'g');
  return s.match(matcher).join(' ');
}

function invert(character) {
  /*jshint validthis: true */
  if (character.match(/\d/)) {
    this.push(character);
  } else {
    this.push(LETTERS[REVERSED_LETTERS.indexOf(character)]);
  }
}

module.exports = {
  encode: function (s) {
    var encoded = '';
    var characters = [];
    s.toLowerCase().split('').forEach( invert, characters );
    encoded = insertSpacing(characters.join(''), 5);
    return encoded;
  }
};

Version data entries

255 entries across 255 versions & 1 rubygems

Version Path
trackler-2.2.1.17 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.16 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.15 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.14 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.13 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.12 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.11 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.10 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.9 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.8 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.7 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.6 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.5 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.4 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.3 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.2 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.1 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.0 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.0.6 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.0.5 tracks/javascript/exercises/atbash-cipher/example.js