@kkiapay-org/utils
v1.0.24
Published
Exposed countries, declarations and functions.
Downloads
4
Readme
KkiaPay Utils
Exposed countries, declarations and functions.
Features
- Countries
- Declarations
- Format
- Functions
- telInput
- Validation
Installation
npm i @kkiapay-org/utils
Countries : TCountry[]
Five supported countries : BJ, CI, TG, SN and NE
enum Provider {
MOOV = "MOOV",
MTN = "MTN",
CELTIS = "CELTIS",
ORANGE = "ORANGE",
TMONEY = "TMONEY",
AIRTEL = "AIRTEL",
FREEMONEY = "FREEMONEY",
WAVE = "WAVE",
}
type TCountry = {
code: string;
indicative: string;
flag: string;
providers: { [key in Provider]: string[] | undefined };
};
Declarations
// Example
enum TCountryCode {
BJ = "BJ",
CI = "CI",
SN = "SN",
TG = "TG",
NE = "NE",
}
enum PaymentMethod {
MOBILE_MONEY = "MOBILE_MONEY",
BANK_ACCOUNT = "BANK_ACCOUNT",
WALLET = "WALLET",
CARD = "CARD",
}
enum TransactionType {
FUND = "FUND",
SPLIT = "SPLIT",
DEBIT = "DEBIT",
CREDIT = "CREDIT",
TRANSFERT = "TRANSFERT",
}
enum TransactionStatus {
INIT = "INIT",
PENDING = "PENDING",
SUCCESS = "SUCCESS",
FAILED = "FAILED",
REVERTED = "REVERTED",
}
Format
type Locale = "fr" | "en";
type InputType = 'fullname'| 'cardId' | 'expDate'| 'number'
interface Result {
provider: string;
countryCode: string;
countryCallingCode: string;
phone: string;
phoneWithIndicative: string;
national: string;
international: string;
}
formatAmount(amount: number | string, locale?: Locale): string
formatNumber(nbr: number | string, locale?: Locale): string
formatDate(date_: string | Date, format?: Format, locale?: Locale): string
formatBasePhone(entry: string, countryCode: TCountryCode): string
formatPhone(entry: string): Result
formatPhoneInput(input: string, countryCode?: TCountryCode): string
formatInput(input: any, type?: InputType, event?: any): string
Functions
interface Result {
newdate: Date;
day: string | number;
month: string | number;
year: number;
hours: number;
minutes: string | number;
}
type = "session"| "local"
getSize(key: string, value: number | string | Date): string | number | Date
getDate(date: string | Date): Result
acronym(str: string): string | undefined
capitalize(str: string): string
calculPosition(dropdownDiv: HTMLElement, position: Ref<"top" | "bottom">): void
getStorageItem(item: string, defaultValue?: string, type?: string): string
setStorageItem(item: string, value: string, type?: string): void
removeStorageItem(items: string[], type?: string): void
clearStorage(): void
telInput
interface PhoneByCountryRes {
provider: string;
country: TCountry
}
interface PhoneRes {
provider: string;
country: TCountry| undefined
}
getPhoneByCountry(phone: string, country: TCountry): PhoneByCountryRes | undefined
getPhone(phone: string): PhoneRes
checkProvider(phoneNumber: string, provider: string, country?: TCountry): true | TCountry | undefined
getOperator(phoneNumber: string, country: TCountryCode): string
getCountriesByCode: (countriesCode: string[]) => TCountry[]
getCountryByCode: (countryCode: string) => TCountry | undefined
getCountryByIndicative: (indicative: string) => TCountry | undefined
getPhoneInfos(phoneNumber: string, actualCountry: TCountry, defaultCountryCode?: string): PhoneRes | undefined
Validation
type PatternKey = "min" | "max" | "step" | "minlength" | "maxlength" | "number" | "uppercase" | "specialchar"
type fieldKey = "cvc" | "code" | "expDate" | "cardId" | "pin" | "otp" | "name" | "email"
phoneIsValid: (value: string, countrycode?: TCountryCode) => boolean
patternRules: (value: string, req: number) => Record<string,boolean>
fieldRules: (value: string) => Record<string,boolean>