UNPKG

@hurbis/comum

Version:

Biblioteca contendo rotinas e utilitários para desenvolvimento em Angular.

69 lines • 5.58 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ /** * @record */ export function IArquivo() { } if (false) { /** @type {?} */ IArquivo.prototype.nome; /** @type {?} */ IArquivo.prototype.tipo; /** @type {?} */ IArquivo.prototype.conteudo; } export class Arquivo { /** * @param {?} conteudo * @param {?=} sliceSize * @return {?} */ static fromBase64ToByteArray(conteudo, sliceSize = 512) { /** @type {?} */ let byteString = window.atob(conteudo); /** @type {?} */ let byteArrays = []; for (let offset = 0; offset < byteString.length; offset += sliceSize) { /** @type {?} */ const slice = byteString.slice(offset, offset + sliceSize); /** @type {?} */ const byteNumbers = new Array(slice.length); for (let i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } /** @type {?} */ const byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray); } return byteArrays; } /** * @param {?} conteudo * @param {?} tipo * @return {?} */ static fromByteArrayToBlob(conteudo, tipo) { return new Blob(conteudo, { type: tipo }); } /** * @param {?} conteudo * @param {?=} tipo * @param {?=} sliceSize * @return {?} */ static fromBase64ToBlob(conteudo, tipo = "", sliceSize = 512) { /** @type {?} */ var bytes = Arquivo.fromBase64ToByteArray(conteudo); return Arquivo.fromByteArrayToBlob(bytes, tipo); } /** * @param {?} arquivo * @return {?} */ static toBlob(arquivo) { return Arquivo.fromBase64ToBlob(arquivo.conteudo, arquivo.tipo); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJxdWl2by5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BodXJiaXMvY29tdW0vIiwic291cmNlcyI6WyJsaWIvdXRpbC9hcnF1aXZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSw4QkFJQzs7O0lBSEcsd0JBQWE7O0lBQ2Isd0JBQWE7O0lBQ2IsNEJBQWlCOztBQUdyQixNQUFNLE9BQU8sT0FBTzs7Ozs7O0lBQ2hCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFnQixFQUFFLFlBQW9CLEdBQUc7O1lBQzlELFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzs7WUFDbEMsVUFBVSxHQUFpQixFQUFFO1FBRWpDLEtBQUssSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxTQUFTLEVBQUU7O2tCQUM1RCxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQzs7a0JBRXBELFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNuQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4Qzs7a0JBRUssU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQztZQUU3QyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQzs7Ozs7O0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQXNCLEVBQUUsSUFBWTtRQUMzRCxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7Ozs7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxPQUFlLEVBQUUsRUFBRSxTQUFTLEdBQUcsR0FBRzs7WUFDcEUsS0FBSyxHQUFpQixPQUFPLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO1FBRWpFLE9BQU8sT0FBTyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBaUI7UUFDM0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQXJxdWl2byB7XHJcbiAgICBub21lOiBzdHJpbmc7XHJcbiAgICB0aXBvOiBzdHJpbmc7XHJcbiAgICBjb250ZXVkbzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQXJxdWl2byB7XHJcbiAgICBzdGF0aWMgZnJvbUJhc2U2NFRvQnl0ZUFycmF5KGNvbnRldWRvOiBzdHJpbmcsIHNsaWNlU2l6ZTogbnVtYmVyID0gNTEyKTogVWludDhBcnJheVtdIHtcclxuICAgICAgICBsZXQgYnl0ZVN0cmluZyA9IHdpbmRvdy5hdG9iKGNvbnRldWRvKTtcclxuICAgICAgICBsZXQgYnl0ZUFycmF5czogVWludDhBcnJheVtdID0gW107XHJcblxyXG4gICAgICAgIGZvciAobGV0IG9mZnNldCA9IDA7IG9mZnNldCA8IGJ5dGVTdHJpbmcubGVuZ3RoOyBvZmZzZXQgKz0gc2xpY2VTaXplKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNsaWNlID0gYnl0ZVN0cmluZy5zbGljZShvZmZzZXQsIG9mZnNldCArIHNsaWNlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShzbGljZS5sZW5ndGgpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNsaWNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBieXRlTnVtYmVyc1tpXSA9IHNsaWNlLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuXHJcbiAgICAgICAgICAgIGJ5dGVBcnJheXMucHVzaChieXRlQXJyYXkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGJ5dGVBcnJheXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGZyb21CeXRlQXJyYXlUb0Jsb2IoY29udGV1ZG86IFVpbnQ4QXJyYXlbXSwgdGlwbzogc3RyaW5nKTogQmxvYiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCbG9iKGNvbnRldWRvLCB7IHR5cGU6IHRpcG8gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGZyb21CYXNlNjRUb0Jsb2IoY29udGV1ZG86IHN0cmluZywgdGlwbzogc3RyaW5nID0gXCJcIiwgc2xpY2VTaXplID0gNTEyKTogQmxvYiB7XHJcbiAgICAgICAgdmFyIGJ5dGVzOiBVaW50OEFycmF5W10gPSBBcnF1aXZvLmZyb21CYXNlNjRUb0J5dGVBcnJheShjb250ZXVkbyk7XHJcblxyXG4gICAgICAgIHJldHVybiBBcnF1aXZvLmZyb21CeXRlQXJyYXlUb0Jsb2IoYnl0ZXMsIHRpcG8pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB0b0Jsb2IoYXJxdWl2bzogSUFycXVpdm8pOiBCbG9iIHtcclxuICAgICAgICByZXR1cm4gQXJxdWl2by5mcm9tQmFzZTY0VG9CbG9iKGFycXVpdm8uY29udGV1ZG8sIGFycXVpdm8udGlwbyk7XHJcbiAgICB9XHJcblxyXG59Il19