UNPKG

text-encrypter

Version:

The library to encrypt/decrypt text using caesar cipher mechanism

1 lines 4.59 kB
{"version":3,"file":"index.cjs","sources":["../src/utils/alphabet.ts","../src/index.ts"],"sourcesContent":["/**\n * Alphabet used for encoding/decoding.\n * @author Yousuf Kalim\n */\nconst alphabet = [\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n 'g',\n 'h',\n 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n 'n',\n 'o',\n 'p',\n 'q',\n 'r',\n 's',\n 't',\n 'u',\n 'v',\n 'w',\n 'x',\n 'y',\n 'z',\n];\n\nexport default alphabet;\n","/**\n * Index file for the package\n * @author Yousuf Kalim\n */\nimport alphabet from './utils/alphabet';\n\n/**\n * Encrypts a given plain text using the Caesar Cipher\n * @param plainText {string} - The plain text to be encrypted\n * @param shift {number} - The number of shifts to be applied to the plain text\n * @param ignoreSpecialChars {boolean} - Whether to ignore special characters or not\n * @returns {string} - The encrypted cipher text\n */\nconst encrypt = (plainText: string, shift = 1, ignoreSpecialChars = true): string => {\n const cipherArr: string[] = [];\n let cipherLetter: string;\n\n plainText.split('').map((letter) => {\n if (ignoreSpecialChars) {\n letter = alphabet.includes(letter.toLowerCase()) ? letter : ' ';\n }\n const code: number = letter.charCodeAt(0);\n if (letter === ' ') {\n return cipherArr.push(letter);\n }\n // Uppercase letters\n if (code >= 65 && code <= 90) {\n cipherLetter = String.fromCharCode(((code - 65 + shift) % 26) + 65);\n }\n // Lowercase letters\n else if (code >= 97 && code <= 122) {\n cipherLetter = String.fromCharCode(((code - 97 + shift) % 26) + 97);\n }\n return cipherArr.push(cipherLetter);\n });\n return cipherArr.join('');\n};\n\n/**\n * Decrypts a given cipher text using the Caesar Cipher\n * @param cipherText {string} - The cipher text to be decrypted\n * @param shift {number} - The number of shifts to be applied to the cipher text\n * @param ignoreSpecialChars {boolean} - Whether to ignore special characters or not\n * @returns {string} - The decrypted plain text\n */\nconst decrypt = (cipherText: string, shift = 1, ignoreSpecialChars = true): string => {\n const plainArr: string[] = [];\n let plainLetter: string;\n\n cipherText.split('').map((cipher) => {\n if (ignoreSpecialChars) {\n cipher = alphabet.includes(cipher.toLowerCase()) ? cipher : ' ';\n }\n const code: number = cipher.charCodeAt(0);\n if (cipher === ' ') {\n return plainArr.push(cipher);\n }\n // Uppercase letters\n if (code >= 65 && code <= 90) {\n const diff = code - 65 - shift;\n if (diff >= 0) {\n plainLetter = String.fromCharCode((diff % 26) + 65);\n } else {\n plainLetter = String.fromCharCode(((26 + diff) % 26) + 65);\n }\n }\n // Lowercase letters\n else if (code >= 97 && code <= 122) {\n const diff = code - 97 - shift;\n if (diff >= 0) {\n plainLetter = String.fromCharCode((diff % 26) + 97);\n } else {\n plainLetter = String.fromCharCode(((26 + diff) % 26) + 97);\n }\n }\n return plainArr.push(plainLetter);\n });\n return plainArr.join('');\n};\n\nexport { encrypt, decrypt };\n"],"names":["alphabet","cipherText","shift","ignoreSpecialChars","plainArr","split","map","cipher","includes","toLowerCase","code","charCodeAt","push","diff","plainLetter","String","fromCharCode","join","plainText","cipherArr","letter","cipherLetter"],"mappings":"AAIA,IAAMA,EAAW,CACf,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,qBCec,SAACC,EAAoBC,EAAWC,QAAN,IAALD,IAAAA,EAAQ,QAAqB,IAAlBC,IAAAA,GAAqB,GACnE,MAAcC,EAAa,GA+B3B,OA5BAH,EAAWI,MAAM,IAAIC,IAAI,SAACC,GACpBJ,IACFI,EAASP,EAASQ,SAASD,EAAOE,eAAiBF,EAAS,KAE9D,IAAMG,EAAeH,EAAOI,WAAW,GACvC,GAAe,MAAXJ,EACF,OAAOH,EAASQ,KAAKL,GAGvB,GAAIG,GAAQ,IAAMA,GAAQ,GAAI,CAC5B,IAAUG,EAAGH,EAAO,GAAKR,EAEvBY,EAAcC,OAAOC,aADnBH,GAAQ,EACyBA,EAAO,GAAM,IAEZ,GAAKA,GAAQ,GAAM,GAE1D,MAEI,GAAIH,GAAQ,IAAMA,GAAQ,IAAK,CAClC,MAAaA,EAAO,GAAKR,EAEvBY,EAAcC,OAAOC,aADnBH,GAAQ,EACyBA,EAAO,GAAM,IAEZ,GAAKA,GAAQ,GAAM,GAE1D,CACD,SAAgBD,KAAKE,EACvB,KACgBG,KAAK,GACvB,kBAjEgB,SAACC,EAAmBhB,EAAWC,QAAN,IAALD,IAAAA,EAAQ,QAAGC,IAAAA,IAAAA,GAAqB,GAClE,MAAegB,EAAa,GAqB5B,OAlBAD,EAAUb,MAAM,IAAIC,IAAI,SAACc,GACnBjB,IACFiB,EAASpB,EAASQ,SAASY,EAAOX,eAAiBW,EAAS,KAE9D,IAAUV,EAAWU,EAAOT,WAAW,GACvC,MAAe,MAAXS,EACKD,EAAUP,KAAKQ,IAGpBV,GAAQ,IAAMA,GAAQ,GACxBW,EAAeN,OAAOC,cAAeN,EAAO,GAAKR,GAAS,GAAM,IAGzDQ,GAAQ,IAAMA,GAAQ,MAC7BW,EAAeN,OAAOC,cAAeN,EAAO,GAAKR,GAAS,GAAM,KAElDiB,EAACP,KAAKS,GACxB,GACOF,EAAUF,KAAK,GACxB"}