@utils-fns/utils
Version:
 [](LICENSE) [](https://github.com/ccqueiroz/utils-fn)
101 lines (93 loc) • 10.8 kB
TypeScript
type CitiesBRDataList = {
ibgeCode: string;
cityName: string;
state: string;
};
type StateAbbreviations = 'AC' | 'AL' | 'AP' | 'AM' | 'BA' | 'CE' | 'DF' | 'ES' | 'GO' | 'MA' | 'MT' | 'MS' | 'MG' | 'PA' | 'PB' | 'PR' | 'PE' | 'PI' | 'RJ' | 'RN' | 'RS' | 'RO' | 'RR' | 'SC' | 'SP' | 'SE' | 'TO';
type MapCitiesByState = {
[key in StateAbbreviations]: Array<CitiesBRDataList>;
};
type CountryData = {
ddi: string;
abbreviationAlpha3: string;
abbreviationFips10: string;
countryNamePTBR: string;
countryName: string;
areaCodeList: Array<string>;
domain: string;
rulesPhone?: unknown;
};
type StatesBRDataList = {
stateName: string;
abbreviation: string;
areaCodeList: Array<string>;
capital: string;
};
type BrandCardType = 'american-express' | 'diners-club' | 'discover' | 'elo' | 'hiper' | 'hipercard' | 'jcb' | 'maestro' | 'mastercard' | 'mir' | 'unionpay' | 'visa' | 'visa-electron';
type NameBrandCard = 'American Express' | 'Diners Club' | 'Discover' | 'Elo' | 'Hiper' | 'Hipercard' | 'JCB' | 'Maestro' | 'Mastercard' | 'Mir' | 'UnionPay' | 'Visa' | 'Visa Electron';
type PaymentCardData = {
innPattern: Array<number | Array<number>>;
lengthsNumber: Array<number>;
brandCardType: BrandCardType;
nameBrandCard: NameBrandCard;
};
type PaymentCardDataList = {
[key in BrandCardType]: PaymentCardData;
};
type BankCode = '104' | '107' | '113' | '168' | '184' | '204' | '208' | '212' | '213' | '214' | '215' | '217' | '218' | '222' | '224' | '225' | '229' | '230' | '233' | '237' | '241' | '243' | '246' | '248' | '249' | '250' | '254' | '260' | '263' | '265' | '266' | '300' | '318' | '320' | '341' | '356' | '366' | '370' | '376' | '389' | '394' | '399' | '409' | '412' | '422' | '453' | '456' | '464' | '473' | '477' | '479' | '487' | '488' | '492' | '494' | '495' | '505' | '600' | '604' | '610' | '611' | '612' | '613' | '623' | '626' | '630' | '633' | '634' | '637' | '638' | '641' | '643' | '652' | '653' | '654' | '655' | '707' | '719' | '721' | '724' | '734' | '735' | '738' | '739' | '740' | '741' | '743' | '744' | '745' | '746' | '747' | '748' | '749' | '751' | '752' | '753' | '755' | '756' | '757' | '000' | '001' | '003' | '004' | '012' | '014' | '019' | '021' | '024' | '025' | '029' | '031' | '033' | '036' | '037' | '039' | '040' | '041' | '044' | '045' | '047' | '062' | '063' | '064' | '065' | '066' | '069' | '070' | '072' | '073' | '074' | '075' | '076' | '077' | '078' | '079' | '081' | '082' | '083' | '084' | '085' | '086' | '087' | '088' | '089' | '090' | '091' | '092' | '094' | '096' | '097' | '098' | '099' | 'M10' | 'M11' | 'M20' | 'M21' | 'M03' | 'M12' | 'M22' | 'M13' | 'M14' | 'M23' | 'M15' | 'M06' | 'M24' | 'M07' | 'M16' | 'M08' | 'M17' | 'M18' | 'M09' | 'M19';
type BankNames = 'Caixa Econômica Federal' | 'Banco BBM S.A.' | 'Magliano S.A. Corretora de Câmbio e Valores Mobiliários' | 'HSBC Finance (Brasil) S.A. – Banco Múltiplo' | 'Banco Itaú BBA S.A.' | 'Banco Bradesco Cartões S.A.' | 'Banco BTG Pactual S.A.' | 'Banco Matone S.A.' | 'Banco Arbi S.A.' | 'Banco Dibens S.A.' | 'Banco Comercial e de Investimento Sudameris S.A.' | 'Banco John Deere S.A.' | 'Banco Bonsucesso S.A.' | 'Banco Credit Agricole Brasil S.A.' | 'Banco Fibra S.A.' | 'Banco Brascan S.A.' | 'Banco Cruzeiro do Sul S.A.' | 'Unicard Banco Múltiplo S.A.' | 'Banco GE Capital S.A.' | 'Banco Bradesco S.A.' | 'Banco Clássico S.A.' | 'Banco Máxima S.A.' | 'Banco ABC Brasil S.A.' | 'Banco Boavista Interatlântico S.A.' | 'Banco Investcred Unibanco S.A.' | 'Banco Schahin S.A.' | 'Paraná Banco S.A.' | 'Nu Pagamentos S.A (Nubank)' | 'Banco Cacique S.A.' | 'Banco Fator S.A.' | 'Banco Cédula S.A.' | 'Banco de La Nación Argentina' | 'Banco BMG S.A.' | 'Banco Industrial e Comercial S.A.' | 'Itaú Unibanco S.A.' | 'Banco Real S.A.' | 'Banco Société Générale Brasil S.A.' | 'Banco WestLB do Brasil S.A.' | 'Banco J. P. Morgan S.A.' | 'Banco Mercantil do Brasil S.A.' | 'Banco Bradesco Financiamentos S.A.' | 'HSBC Bank Brasil S.A. – Banco Múltiplo' | 'Unibanco – União de Bancos Brasileiros S.A.' | 'Banco Capital S.A.' | 'Banco Safra S.A.' | 'Banco Rural S.A.' | 'Banco de Tokyo-Mitsubishi UFJ Brasil S.A.' | 'Banco Sumitomo Mitsui Brasileiro S.A.' | 'Banco Caixa Geral – Brasil S.A.' | 'Citibank N.A.' | 'Banco ItaúBank S.A.' | 'Deutsche Bank S.A. – Banco Alemão' | 'JPMorgan Chase Bank' | 'ING Bank N.V.' | 'Banco de La República Oriental del Uruguay' | 'Banco de La Provincia de Buenos Aires' | 'Banco Credit Suisse (Brasil) S.A.' | 'Banco Luso Brasileiro S.A.' | 'Banco Industrial do Brasil S.A.' | 'Banco VR S.A.' | 'Banco Paulista S.A.' | 'Banco Guanabara S.A.' | 'Banco Pecúnia S.A.' | 'Banco Panamericano S.A.' | 'Banco Ficsa S.A.' | 'Banco Intercap S.A.' | 'Banco Rendimento S.A.' | 'Banco Triângulo S.A.' | 'Banco Sofisa S.A.' | 'Banco Prosper S.A.' | 'Banco Alvorada S.A.' | 'Banco Pine S.A.' | 'Itaú Unibanco Holding S.A.' | 'Banco Indusval S.A.' | 'Banco A. J. Renner S.A.' | 'Banco Votorantim S.A.' | 'Banco Daycoval S.A.' | 'Banif – Banco Internacional do Funchal (Brasil) S.A.' | 'Banco Credibel S.A.' | 'Banco Porto Seguro S.A.' | 'Banco Gerdau S.A.' | 'Banco Pottencial S.A.' | 'Banco Morada S.A.' | 'Banco BGN S.A.' | 'Banco Barclays S.A.' | 'Banco Ribeirão Preto S.A.' | 'Banco Semear S.A.' | 'BankBoston N.A.' | 'Banco Citibank S.A.' | 'Banco Modal S.A.' | 'Banco Rabobank International Brasil S.A.' | 'Banco Cooperativo Sicredi S.A.' | 'Banco Simples S.A.' | 'Dresdner Bank Brasil S.A. – Banco Múltiplo' | 'Banco BNP Paribas Brasil S.A.' | 'NBC Bank Brasil S.A. – Banco Múltiplo' | 'Bank of America Merrill Lynch Banco Múltiplo S.A.' | 'Banco Cooperativo do Brasil S.A. (Bancoob)' | 'Banco KEB do Brasil S.A.' | 'Banco Bankpar S.A.' | 'Banco do Brasil S.A.' | 'Banco da Amazônia S.A. (Basa)' | 'Banco do Nordeste do Brasil S.A. (BNB)' | 'Banco Standard de Investimentos S.A.' | 'Natixis Brasil S.A. Banco Múltiplo' | 'Banco Azteca do Brasil S.A.' | 'Banestes S.A. Banco do Estado do Espírito Santo' | 'Banco de Pernambuco S.A. (Bandepe)' | 'Banco Alfa S.A.' | 'Banco Banerj S.A.' | 'Banco Beg S.A.' | 'Banco Santander (Brasil) S.A.' | 'Banco Bradesco BBI S.A.' | 'Banco do Estado do Pará S.A. (Banpará)' | 'Banco do Estado do Piauí S.A. – BEP' | 'Banco Cargill S.A.' | 'Banco do Estado do Rio Grande do Sul S.A. (Banrisul)' | 'Banco BVA S.A.' | 'Banco Opportunity S.A.' | 'Banco do Estado de Sergipe S.A. (Banese)' | 'Hipercard Banco Múltiplo S.A.' | 'Banco Ibi S.A. Banco Múltiplo' | 'Goldman Sachs do Brasil Banco Múltiplo S.A.' | 'Banco Bracce S.A.' | 'Banco Morgan Stanley S.A.' | 'BPN Brasil Banco Múltiplo S.A.' | 'BRB – Banco de Brasília S.A.' | 'Banco Rural Mais S.A.' | 'BB Banco Popular do Brasil S.A.' | 'Banco J. Safra S.A.' | 'Banco CR2 S.A.' | 'Banco KDB S.A.' | 'Banco Intermedium S.A. (Inter)' | 'BES Investimento do Brasil S.A. – Banco de Investimento' | 'JBS Banco S.A.' | 'Concórdia Banco S.A.' | 'Banco Topázio S.A.' | 'Banco da China Brasil S.A.' | 'Unicred Norte do Paraná' | 'Cooperativa Central de Crédito Urbano-CECRED' | 'OBOE Crédito Financiamento e Investimento S.A.' | 'Cooperativa Unicred Central Santa Catarina' | 'Banco Randon S.A.' | 'Cooperativa de Crédito Rural da Região de Mogiana' | 'Cooperativa Central de Economia e Crédito Mutuo das Unicreds' | 'Unicred Central do Rio Grande do Sul' | 'Brickell S.A. Crédito, financiamento e Investimento' | 'Banco Petra S.A.' | 'Banco BM&F de Serviços de Liquidação e Custódia S.A' | 'Cooperativa Central de Crédito Noroeste Brasileiro Ltda.' | 'Credicorol Cooperativa de Crédito Rural' | 'Cooperativa Central de Economia e Crédito Mutuo das Unicreds' | 'Banco Moneo S.A.' | 'Banco IBM S.A.' | 'Banco Toyota do Brasil S.A.' | 'Banco Daimlerchrysler S.A.' | 'Banco Fiat S.A.' | 'Banco Maxinvest S.A.' | 'Banco Honda S.A.' | 'Banco Tricury S.A.' | 'Banco Volkswagen S.A.' | 'Banco Volvo (Brasil) S.A.' | 'Banco BRJ S.A.' | 'Banco de Lage Landen Brasil S.A.' | 'Banco PSA Finance Brasil S.A.' | 'Banco GMAC S.A.' | 'Banco Rodobens S.A.' | 'Banco Citicard S.A.' | 'Banco Ourinvest S.A.' | 'Banco Ford S.A.' | 'Banco Itaucred Financiamentos S.A.' | 'Banco CNH Capital S.A.';
type MapBankData = Record<BankCode, BankNames>;
/**
* @summary
* - References:
* 201 countries are cataloged with their respective country codes (DDI) according to E.164.
* 164 countries are cataloged with their respective country codes and national destination code.
* If you find inconsistency in any country code or national destination code list,
* please contact caio.cezar.dequeiroz@gmail.com or submit a PR.
* @see https://countrycode.org/
* @see https://www.itmnetworks.com.br/ddi-dos-paises-codigos-internacionais-de-telefone
* @see https://www.dadosmundiais.com/
* @see https://www.itu.int/rec/T-REC-E.164-201011-I/
*/
type CountriesDataList = Array<CountryData>;
type TypesUtils = {
CitiesBRDataList: CitiesBRDataList;
StatesBRDataList: StatesBRDataList;
CountryData: CountryData;
MapCitiesByState: MapCitiesByState;
BrandCardType: BrandCardType;
StateAbbreviations: StateAbbreviations;
NameBrandCard: NameBrandCard;
PaymentCardDataList: PaymentCardDataList;
PaymentCardData: PaymentCardData;
BankCode: BankCode;
BankNames: BankNames;
MapBankData: MapBankData;
};
declare const utils: {
mapCitiesByState: MapCitiesByState;
searchCitiesByIBGECode: (state: StateAbbreviations, ibgeCode?: string | undefined) => CitiesBRDataList[];
searchCitiesByTerm: (state: StateAbbreviations, term?: string | undefined) => CitiesBRDataList[];
getCitiesListByState: (state: StateAbbreviations) => CitiesBRDataList[];
countriesDataList: CountriesDataList;
searchCountryByAbbreviationAlpha3: (term?: string | undefined) => CountryData[];
mapState: StatesBRDataList[];
searchCitiesByStateAbbreviation: (term?: string | undefined) => StatesBRDataList[];
searchStateByName: (term?: string | undefined) => StatesBRDataList[];
luhnAlgorithm: (value: string | (string | number)[]) => number | null;
lunhMod10Algorithm: ({ digits, onlyValidCheckDigit, reverseNumbers, }: {
digits: string;
onlyValidCheckDigit?: boolean | undefined;
reverseNumbers?: boolean | undefined;
}) => boolean;
lunhMod11Algorithm: ({ digits, reverseNumbers, }: {
digits: string | (string | number)[];
reverseNumbers?: boolean | undefined;
}) => number | null;
mapPaymentCardList: PaymentCardDataList;
mapBankData: MapBankData;
filterBankByCode: (key: BankCode) => BankNames;
filterBankByName: (name: BankNames) => BankCode | undefined;
reducerCheckDigitControl: (digits: string) => number;
};
export { TypesUtils, utils };