@hurbis/comum
Version:
Biblioteca contendo rotinas e utilitários para desenvolvimento em Angular.
34 lines • 3.48 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
export class Gerador {
/**
* Gera um código aleatório.
* @param {?} tamanho Tamanho do código desejado.
* @return {?}
*/
static gerarCodigoAleatorio(tamanho) {
/** @type {?} */
let texto = "";
/** @type {?} */
let possibilidades = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (let i = 0; i < tamanho; i++)
texto += possibilidades.charAt(Math.floor(Math.random() * possibilidades.length));
return texto;
}
/**
* Gera código utilizando lógica e formato GUID.
* @return {?}
*/
static gerarGUID() {
/** @type {?} */
var s4 = () => {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
};
return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VyYWRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BodXJiaXMvY29tdW0vIiwic291cmNlcyI6WyJsaWIvdXRpbC9nZXJhZG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sT0FBTzs7Ozs7O0lBTWhCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFlOztZQUNuQyxLQUFLLEdBQUcsRUFBRTs7WUFDVixjQUFjLEdBQUcsZ0VBQWdFO1FBRXJGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQzVCLEtBQUssSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRXRGLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBR0QsTUFBTSxDQUFDLFNBQVM7O1lBQ1IsRUFBRSxHQUFHLEdBQUcsRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7aUJBQzNDLFFBQVEsQ0FBQyxFQUFFLENBQUM7aUJBQ1osU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN6RixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgR2VyYWRvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXJhIHVtIGPDs2RpZ28gYWxlYXTDs3Jpby5cclxuICAgICAqIEBwYXJhbSB0YW1hbmhvIFRhbWFuaG8gZG8gY8OzZGlnbyBkZXNlamFkby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdlcmFyQ29kaWdvQWxlYXRvcmlvKHRhbWFuaG86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHRleHRvID0gXCJcIjtcclxuICAgICAgICBsZXQgcG9zc2liaWxpZGFkZXMgPSBcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5XCI7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFtYW5obzsgaSsrKVxyXG4gICAgICAgICAgICB0ZXh0byArPSBwb3NzaWJpbGlkYWRlcy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogcG9zc2liaWxpZGFkZXMubGVuZ3RoKSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0ZXh0bztcclxuICAgIH1cclxuXHJcbiAgICAvKiogR2VyYSBjw7NkaWdvIHV0aWxpemFuZG8gbMOzZ2ljYSBlIGZvcm1hdG8gR1VJRC4gKi9cclxuICAgIHN0YXRpYyBnZXJhckdVSUQoKTogc3RyaW5nIHtcclxuICAgICAgICB2YXIgczQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmZsb29yKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKVxyXG4gICAgICAgICAgICAgICAgLnRvU3RyaW5nKDE2KVxyXG4gICAgICAgICAgICAgICAgLnN1YnN0cmluZygxKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gczQoKSArIHM0KCkgKyAnLScgKyBzNCgpICsgJy0nICsgczQoKSArICctJyArIHM0KCkgKyAnLScgKyBzNCgpICsgczQoKSArIHM0KCk7XHJcbiAgICB9XHJcblxyXG59Il19