Sha256: 6a9752b81812784772d727971555dee277f9243a1cf4530ee568157442b7b84c

Contents?: true

Size: 400 Bytes

Versions: 168

Compression:

Stored size: 400 Bytes

Contents

export const encode = (plainText) => {
  const consecutiveChars = /([\w\s])\1*/g;
  return plainText.replace(consecutiveChars,
      match => (match.length > 1 ? match.length + match[0] : match[0]));
};


export const decode = (encodedText) => {
  const countAndChar = /(\d+)(\w|\s)/g;
  return encodedText.replace(countAndChar,
    (match, repeats, char) => new Array(+repeats + 1).join(char));
};

Version data entries

168 entries across 168 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.179 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.178 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.177 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.176 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.175 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.174 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.173 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.172 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.171 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.170 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.169 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.167 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.166 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.165 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.164 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.163 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.162 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.161 tracks/ecmascript/exercises/run-length-encoding/example.js
trackler-2.2.1.160 tracks/ecmascript/exercises/run-length-encoding/example.js