@hurbis/comum
Version:
Biblioteca contendo rotinas e utilitários para desenvolvimento em Angular.
69 lines • 5.58 kB
JavaScript
/**
* @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