Sha256: 79f6bf81b1b0f98a079f8e9296a844a094cc699c941b2b74a99b03497b1bccbd
Contents?: true
Size: 670 Bytes
Versions: 133
Compression:
Stored size: 670 Bytes
Contents
export default class RotationalCipher { static rotate(text: string, shiftBy: number) { return [...text] .map((c) => { const isUpper = c.toUpperCase() === c const isAlpha = c.match(/[a-z]/i) const caseCharCode = (isUpper ? "A" : "a").charCodeAt(0) if (isAlpha) { const charCode = c.charCodeAt(0) return String.fromCharCode( (charCode - caseCharCode + shiftBy) % 26 + caseCharCode ) } else { return c } }) .join("") } }
Version data entries
133 entries across 133 versions & 1 rubygems