UNPKG

@pushrocks/smartstring

Version:

handle strings in smart ways. TypeScript ready.

66 lines 3.41 kB
import * as plugins from './smartstring.plugins.js'; /** * handle base64 strings */ export class Base64 { constructor(inputStringArg, typeArg) { switch (typeArg) { case 'string': // easiest case this.refString = inputStringArg; break; case 'base64': this.refString = base64.decode(inputStringArg); break; case 'base64uri': this.refString = base64.decode(inputStringArg); } } /** * the simple string (unencoded) */ get simpleString() { return this.refString; } /** * the base64 encoded version of the original string */ get base64String() { return base64.encode(this.refString); } /** * the base64uri encoded version of the original string */ get base64UriString() { return base64.encodeUri(this.refString); } } export let base64 = { /** * encodes the string */ encode: (stringArg) => { return plugins.jsBase64.encode(stringArg); }, /** * encodes a stringArg to base64 uri style */ encodeUri: (stringArg) => { return plugins.jsBase64.encodeURI(stringArg); }, /** * decodes a base64 encoded string */ decode: (stringArg) => { return plugins.jsBase64.decode(stringArg); }, /** * * @param stringArg * checks wether the string is base64 encoded */ isBase64: (stringArg) => { const regex = /^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$/; return regex.test(stringArg); }, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuYmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuYmFzZTY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7QUFPcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQUVqQixZQUFZLGNBQWMsRUFBRSxPQUF5QjtRQUNuRCxRQUFRLE9BQU8sRUFBRTtZQUNmLEtBQUssUUFBUSxFQUFFLGVBQWU7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDL0MsTUFBTTtZQUNSLEtBQUssV0FBVztnQkFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGVBQWU7UUFDakIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsSUFBSSxNQUFNLEdBQUc7SUFDbEI7O09BRUc7SUFDSCxNQUFNLEVBQUUsQ0FBQyxTQUFpQixFQUFFLEVBQUU7UUFDNUIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLEVBQUUsQ0FBQyxTQUFpQixFQUFFLEVBQUU7UUFDL0IsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLEVBQUUsQ0FBQyxTQUFpQixFQUFFLEVBQUU7UUFDNUIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsRUFBRSxDQUFDLFNBQWlCLEVBQUUsRUFBRTtRQUM5QixNQUFNLEtBQUssR0FBRyw4REFBOEQsQ0FBQztRQUM3RSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGLENBQUMifQ==