UNPKG

mjstl

Version:

JS USEABLE DATEUTIL HELPER LIB

102 lines (101 loc) 3.37 kB
export interface INumeralOptions { fraction?: number; thousandSeperator?: boolean; } export interface NumeralValidity { gte?: number; gt?: number; lte?: number; lt?: number; } export interface NumeralUtil { currency: (value: number, code?: string | null, thousandSeperator?: boolean | null, direction?: "ltr" | "rtl") => string; format: (value: number, code?: string | null, thousandSeperator?: boolean | null, fraction?: number) => string; parseRaw: (value: string, code?: string | null, fraction?: number) => string; toNumber: (value: string | number, fraction?: number) => number; toFloat: (value: string | number, fraction?: number) => number; toInt: (value: string | number) => number; } export interface ICurrencySlotProps { direction?: "ltr" | "ltr"; value: number; code?: string; thousandSeperator?: boolean | null; fraction?: number; } export interface NumeralSlotProps { value: number; code?: string; thousandSeperator?: boolean | null; fraction?: number; } export declare enum PhoneType { ANY = "ANY", MOBILE = "MOBILE", LAND = "LAND" } export interface PhoneRaw { aa2: string; code: number; nn: string; example?: string; } export interface PhoneUtil { parseRaw: (phone: string, phoneType?: PhoneType) => PhoneRaw | null; parseRawByCountryCode: (code: string, phone: string, phoneType?: PhoneType) => PhoneRaw | null; pretty: (phone: string, phoneType?: PhoneType) => string; } export type MGLatLng = { latitude: number; longitude: number; }; export interface IGeoUtil { encode: (path: MGLatLng[]) => string; decode: (encoded: string) => MGLatLng[]; mcoord: (lat: number, lng: number) => MGLatLng; Distance: (lat1: number, lon1: number, lat2: number, lon2: number, abs?: boolean) => { V1: () => number; V2: () => number; V3: () => number; }; findCenter: (points: MGLatLng[]) => MGLatLng; } export interface IIdUtil { uid: () => number; uid2: () => string; uuid: () => string; ulid: () => string; } export interface IDeviceUtil { isMobileOrTablet: () => boolean; } export interface ISafeSaniItem { safe: () => string; check: () => boolean; log: () => void; } export interface ISafeSani { url: (url: string) => ISafeSaniItem; input: (value: string | any) => ISafeSaniItem; } export type SfAccFn<T, R = any> = (item: T, index: number) => R; export type SfAccType<T, R = any> = string | string[] | SfAccFn<T, R> | null; export type SfCompareFnn<T> = (a: T, b: T) => number; export type SfSortDirectionType = "asc" | "desc"; export type SfSortCompareType = "String" | "Number" | "Date"; export declare enum SfSortCompareTypeMap { "String" = "String", "Number" = "Number", "Date" = "Date" } export type SfCallbackFn<T, R> = (item: T, index: number) => R; export interface MArray<T> { sfSort<R>(type: SfSortCompareType, acc: SfAccType<T, R> | null, direction?: SfSortDirectionType): this; sfMap<R>(acc: SfCallbackFn<T, R>): Array<R>; sfEach(acc?: SfAccType<T, void>): this; sfFilter(acc?: SfAccType<T, any>): Array<T>; sfFind(acc?: SfAccType<T, any>): T | null; } export interface IDash { lget<E, T>(obj: E, path: string | string[], defaultValue?: T extends unknown ? any : T): T extends unknown ? any : T; }