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.37 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.36 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.35 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.34 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.33 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.32 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.31 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.30 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.29 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.28 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.27 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.26 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.25 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.24 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.23 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.22 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.21 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.20 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.19 tracks/javascript/exercises/atbash-cipher/example.js
trackler-2.2.1.18 tracks/javascript/exercises/atbash-cipher/example.js