-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathConsultaCEP.js
88 lines (77 loc) · 2.27 KB
/
ConsultaCEP.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/**
* @file Consultor de CEP (JavaScript)
* @author rique_dev <[email protected]>
* @version 1.0
* @description Simples ferramenta JS para facilitar a busca pela informação de um CEP.<br>Atenção, é necessário ECMAScript 6.
**/
var ConsultaCEP = (function () {
'use strict';
return new class {
/**
* @constructs ConsultaCEP
* @class ConsultaCEP
*/
constructor() {
this.__AL = 'aHR0cHM6Ly92aWFjZXAuY29tLmJyL3dzLw==';
this.ResponseType = 'json';
console.log('%cConsultaCEP iniciada com sucesso.\nAcesse meu GitHub -> https://github.com/riquedev (Henrique da Silva Santos)\nDados fornecidos por -> ' + atob(this.__AL), 'background: #222;font-size:15px;color: #bada55');
}
get ResponseTypeList() {
/**
* @returns {array} Lista de retornos.
* @description Obtem a lista de retornos possíveis.
*/
return ['json', 'json/unicode', 'xml', 'piped', 'querty'];
}
ConsultarCeps() {
return new class {
/**
* @constructs ConsultarCEPS
*/
/**
* Retorna a informação do(s) CEP(s) requisitados.
* @param {array} arrCeps - Uma lista de CEPs a serem requisitados.
* @returns {array} Listagem dos CEPs e suas informações.
*/
CEPS(arrCeps) {
this._cepslist = arrCeps;
var callback = [];
for (var item in this._cepslist) {
var i = this.noSpecial(this.trim(this._cepslist[item]));
callback.push(this.______REQUESTCEPDATA(i));
}
return callback;
}
/**
* Faz trunc numa string.
* @param {string} s - Texto qualquer.
* @returns {string} Texto truncado.
*/
trim(s) {
var r = /\s/g;
return s.replace(r, "");
}
/**
* Remove caracteres especiais numa string.
* @param {string} s - Texto qualquer.
* @returns {string} Texto filtrado.
*/
noSpecial(s) {
var r = /[^\w\s]/gi;
return s.replace(r, "");
}
/**
* @param {string} data - CEP a ser buscado.
* @returns {string} Resposta do Servidor.
*/
______REQUESTCEPDATA(data) {
var tmpUrl = atob(ConsultaCEP.__AL) + '/' + data + '/' + ConsultaCEP.ResponseType;
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", tmpUrl, false);
xmlHttp.send(null);
return xmlHttp.responseText;
}
}
}
};
})();