UNPKG

@hurbis/comum

Version:

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

34 lines 3.48 kB
/** * @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