Sha256: 2c4cdedeb45626427f2d0b0dc09834ac9efe359e7a5a6954a82463014b862e83

Contents?: true

Size: 618 Bytes

Versions: 185

Compression:

Stored size: 618 Bytes

Contents

const LETTERS = 'abcdefghijklmnopqrstuvwxyz';
const REVERSED_LETTERS = [...LETTERS].reverse().join('');

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

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

export default {
  encode: (s) => {
    let encoded;
    const characters = [];
    [...s.toLowerCase()].forEach(invert, characters);
    encoded = insertSpacing(characters.join(''), 5);
    return encoded;
  },
};

Version data entries

185 entries across 185 versions & 1 rubygems

Version Path
trackler-2.2.1.78 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.77 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.76 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.75 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.74 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.73 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.72 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.71 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.70 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.69 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.68 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.67 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.66 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.65 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.64 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.63 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.62 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.61 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.60 tracks/ecmascript/exercises/atbash-cipher/example.js
trackler-2.2.1.59 tracks/ecmascript/exercises/atbash-cipher/example.js