UNPKG

@asoftwareworld/form-builder-pro

Version:

ASW Form Builder Pro helps you with rapid development and designed web forms which includes several controls. The key feature of Form Builder is to make your content attractive and effective. We can customize our control at run time and preview the same b

49 lines 7.99 kB
import { ObjectUtils } from '@asoftwareworld/form-builder-pro/utils'; export class Base64Encode { /** * Returns URL Safe base64 encoded string from a plaintext string. */ static urlEncode(input) { return encodeURIComponent(this.encode(input).replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_')); } /** * Returns URL Safe base64 encoded string from an int8Array. */ static urlEncodeArr(inputArr) { return this.base64EncArr(inputArr).replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_'); } /** * Returns base64 encoded string from plaintext string. */ static encode(input) { const inputUtf8Arr = ObjectUtils.stringToUtf8Arr(input); return this.base64EncArr(inputUtf8Arr); } /** * Base64 encode byte array */ static base64EncArr(aBytes) { const eqLen = (3 - (aBytes.length % 3)) % 3; let sB64Enc = ''; for (let nMod3, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) { nMod3 = nIdx % 3; /* Uncomment the following line in order to split the output in lines 76-character long: */ /* *if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += "\r\n"; } */ nUint24 |= aBytes[nIdx] << ((16 >>> nMod3) & 24); if (nMod3 === 2 || aBytes.length - nIdx === 1) { sB64Enc += String.fromCharCode(this.uint6ToB64((nUint24 >>> 18) & 63), this.uint6ToB64((nUint24 >>> 12) & 63), this.uint6ToB64((nUint24 >>> 6) & 63), this.uint6ToB64(nUint24 & 63)); nUint24 = 0; } } return eqLen === 0 ? sB64Enc : sB64Enc.substring(0, sB64Enc.length - eqLen) + (eqLen === 1 ? '=' : '=='); } /** * Base64 string to array encoding helper */ static uint6ToB64(nUint6) { return nUint6 < 26 ? nUint6 + 65 : nUint6 < 52 ? nUint6 + 71 : nUint6 < 62 ? nUint6 - 4 : nUint6 === 62 ? 43 : nUint6 === 63 ? 47 : 65; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTY0RW5jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29yZS9saWNlbnNlL2VuY29kZS9iYXNlNjRFbmNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXJFLE1BQU0sT0FBTyxZQUFZO0lBQ3JCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFhO1FBQzFCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBb0I7UUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBYTtRQUN2QixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWtCO1FBQzFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsS0FBSyxJQUFJLEtBQUssRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQy9FLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLDJGQUEyRjtZQUMzRjs7ZUFFRztZQUNILE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNqRCxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JMLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDaEIsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzSSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0Bhc29mdHdhcmV3b3JsZC9mb3JtLWJ1aWxkZXItcHJvL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEJhc2U2NEVuY29kZSB7XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBVUkwgU2FmZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgZnJvbSBhIHBsYWludGV4dCBzdHJpbmcuXG4gICAgICovXG4gICAgc3RhdGljIHVybEVuY29kZShpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLmVuY29kZShpbnB1dCkucmVwbGFjZSgvPS9nLCAnJykucmVwbGFjZSgvXFwrL2csICctJykucmVwbGFjZSgvXFwvL2csICdfJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgVVJMIFNhZmUgYmFzZTY0IGVuY29kZWQgc3RyaW5nIGZyb20gYW4gaW50OEFycmF5LlxuICAgICAqL1xuICAgIHN0YXRpYyB1cmxFbmNvZGVBcnIoaW5wdXRBcnI6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlNjRFbmNBcnIoaW5wdXRBcnIpLnJlcGxhY2UoLz0vZywgJycpLnJlcGxhY2UoL1xcKy9nLCAnLScpLnJlcGxhY2UoL1xcLy9nLCAnXycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYmFzZTY0IGVuY29kZWQgc3RyaW5nIGZyb20gcGxhaW50ZXh0IHN0cmluZy5cbiAgICAgKi9cbiAgICBzdGF0aWMgZW5jb2RlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpbnB1dFV0ZjhBcnIgPSBPYmplY3RVdGlscy5zdHJpbmdUb1V0ZjhBcnIoaW5wdXQpO1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlNjRFbmNBcnIoaW5wdXRVdGY4QXJyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCYXNlNjQgZW5jb2RlIGJ5dGUgYXJyYXlcbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyBiYXNlNjRFbmNBcnIoYUJ5dGVzOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXFMZW4gPSAoMyAtIChhQnl0ZXMubGVuZ3RoICUgMykpICUgMztcbiAgICAgICAgbGV0IHNCNjRFbmMgPSAnJztcblxuICAgICAgICBmb3IgKGxldCBuTW9kMywgbkxlbiA9IGFCeXRlcy5sZW5ndGgsIG5VaW50MjQgPSAwLCBuSWR4ID0gMDsgbklkeCA8IG5MZW47IG5JZHgrKykge1xuICAgICAgICAgICAgbk1vZDMgPSBuSWR4ICUgMztcbiAgICAgICAgICAgIC8qIFVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUgaW4gb3JkZXIgdG8gc3BsaXQgdGhlIG91dHB1dCBpbiBsaW5lcyA3Ni1jaGFyYWN0ZXIgbG9uZzogKi9cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKmlmIChuSWR4ID4gMCAmJiAobklkeCAqIDQgLyAzKSAlIDc2ID09PSAwKSB7IHNCNjRFbmMgKz0gXCJcXHJcXG5cIjsgfVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBuVWludDI0IHw9IGFCeXRlc1tuSWR4XSA8PCAoKDE2ID4+PiBuTW9kMykgJiAyNCk7XG4gICAgICAgICAgICBpZiAobk1vZDMgPT09IDIgfHwgYUJ5dGVzLmxlbmd0aCAtIG5JZHggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBzQjY0RW5jICs9IFN0cmluZy5mcm9tQ2hhckNvZGUodGhpcy51aW50NlRvQjY0KChuVWludDI0ID4+PiAxOCkgJiA2MyksIHRoaXMudWludDZUb0I2NCgoblVpbnQyNCA+Pj4gMTIpICYgNjMpLCB0aGlzLnVpbnQ2VG9CNjQoKG5VaW50MjQgPj4+IDYpICYgNjMpLCB0aGlzLnVpbnQ2VG9CNjQoblVpbnQyNCAmIDYzKSk7XG4gICAgICAgICAgICAgICAgblVpbnQyNCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXFMZW4gPT09IDAgPyBzQjY0RW5jIDogc0I2NEVuYy5zdWJzdHJpbmcoMCwgc0I2NEVuYy5sZW5ndGggLSBlcUxlbikgKyAoZXFMZW4gPT09IDEgPyAnPScgOiAnPT0nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCYXNlNjQgc3RyaW5nIHRvIGFycmF5IGVuY29kaW5nIGhlbHBlclxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIHVpbnQ2VG9CNjQoblVpbnQ2OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gblVpbnQ2IDwgMjYgPyBuVWludDYgKyA2NSA6IG5VaW50NiA8IDUyID8gblVpbnQ2ICsgNzEgOiBuVWludDYgPCA2MiA/IG5VaW50NiAtIDQgOiBuVWludDYgPT09IDYyID8gNDMgOiBuVWludDYgPT09IDYzID8gNDcgOiA2NTtcbiAgICB9XG59XG4iXX0=