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