@jackiemacklein/nettz-utils
Version:
Serviços de imagem, e-mail, códigos de barras, utilitários numéricos e componentes React para apps Node.js com TypeScript
39 lines (38 loc) • 2.23 kB
TypeScript
/**
* @author Jackiê Macklein
* @company Onside tecnologia/Nettz
* @copyright Todos direitos reservados.
* @description Metadados das bandeiras para transação remota (crédito/débito vem do código enviado em `paymentBrand`).
* Tabela de nomes: https://evoluservices.github.io/evoluservices-developer/docs/remote-transaction/value-table/brand
*/
import type { EvoPaymentBrandCode } from "./types";
import { type EvoPaymentBrandIconStyle } from "./paymentBrandIcons";
/** Tipo de cobrança inferido a partir do código da bandeira na documentação EvoluServices. */
export type EvoPaymentChargeKind = "credit" | "debit";
export interface EvoPaymentBrandInfo {
/** Valor exato do campo `paymentBrand` na API. */
code: EvoPaymentBrandCode;
/** Nome amigável conforme a tabela oficial. */
displayName: string;
/**
* Crédito ou débito associado ao código (a API não tem campo separado; o tipo vem do código).
* Débito explícito na tabela oficial: `VISA_ELECTRON`, `MAESTRO`, `ELO_DEBITO`.
* Demais entradas da tabela são tratadas como crédito para fins de UI/filtro.
*/
chargeKind: EvoPaymentChargeKind;
/** Slug do SVG (pacote público de ícones). */
iconSlug: string;
/** URL do SVG no estilo `flat` (use `listEvoPaymentBrands({ iconStyle })` para outro estilo). */
iconUrl: string;
}
export type EvoPaymentBrandListOptions = {
/** Estilo visual do SVG na coleção pública de ícones (padrão `flat`, já embutido em `BRANDS`). */
iconStyle?: EvoPaymentBrandIconStyle;
};
/** @deprecated Use `EvoPaymentBrandInfo` (campos de ícone já incluídos). */
export type EvoPaymentBrandInfoWithIcon = EvoPaymentBrandInfo;
/** Lista completa (cópia) para UI ou validação no app consumidor. */
export declare function listEvoPaymentBrands(options?: EvoPaymentBrandListOptions): EvoPaymentBrandInfo[];
export declare function listEvoPaymentBrandsByKind(chargeKind: EvoPaymentChargeKind, options?: EvoPaymentBrandListOptions): EvoPaymentBrandInfo[];
/** Busca por código exato (ex.: valor vindo do banco de dados). */
export declare function getEvoPaymentBrandByCode(code: string, options?: EvoPaymentBrandListOptions): EvoPaymentBrandInfo | undefined;