UNPKG

node-vk-api-bot

Version:

A library that helps you to create chat-bot for group or user

50 lines (49 loc) 3.37 kB
export declare type LongPollConnectionData = { key: string; server: string; ts: string; }; export declare type AppendArrayT<T, A extends unknown[], N extends number = 1, _T extends unknown[] = []> = _T['length'] extends N ? A : AppendArrayT<T, [...A, T], N, [..._T, unknown]>; declare type AppendArray<A extends unknown[], N extends number = 1, _T extends unknown[] = []> = AppendArrayT<unknown, A, N, _T>; export declare type Range<Start extends number, End extends number, Step extends number = 1, IncludeEnd extends boolean = false, _T extends unknown[] = AppendArray<AppendArray<[], Start>, Step>> = _T['length'] extends End ? (IncludeEnd extends true ? Start | End : Start) : Start | Range<_T['length'], End, Step, IncludeEnd, AppendArray<_T, Step>>; declare type __AddLeadingZero<A extends boolean, N extends number> = A extends false ? `${N}` : N extends Range<0, 10> ? `0${N}` : `${N}`; export declare type StringRange<Start extends number, End extends number, Step extends number = 1, IncludeEnd extends boolean = false, AddLeadingZero extends boolean = false, _T extends unknown[] = AppendArray<AppendArray<[], Start>, Step>, _R extends string = __AddLeadingZero<AddLeadingZero, Start>> = _T['length'] extends End ? IncludeEnd extends true ? _R | __AddLeadingZero<AddLeadingZero, End> : _R : _R | StringRange<Start, End, Step, AddLeadingZero, IncludeEnd, AppendArray<_T, Step>, __AddLeadingZero<AddLeadingZero, _T['length']>>; export declare type flag = Range<0, 1, 1, true>; export declare type d = Range<0, 10>; export declare type date_YYYY = `20${d}${d}`; declare type _30days = StringRange<1, 30, 1, true, true>; declare type _31days = _30days | '31'; declare type _28days = StringRange<1, 28, 1, true, true>; declare type _1_to_9 = Range<1, 10>; export declare type date_YYYY_MM<S extends string = '-'> = `${date_YYYY}${S}${`0${_1_to_9}` | `1${Range<0, 3>}`}`; declare type mm_dd<S extends string = '-', R extends boolean = false> = R extends false ? `${StringRange<1, 7, 2, true, true> | StringRange<8, 12, 2, true, true>}${S}${_31days}` | // for months with 31 day `${'04' | '06' | '09' | 11}${S}${_30days}` | // 30 day `02${S}${_28days}` : `${_28days}${S}02` | `${_31days}${S}${StringRange<1, 7, 2, true, true> | StringRange<8, 12, 2, true, true>}` | `${_30days}${S}${'04' | '06' | '09' | 11}`; export declare type date_YYYY_MM_DD<S extends string = '-', R extends boolean = false> = R extends false ? `${date_YYYY}${S}${mm_dd}` : `${mm_dd<S, true>}${S}${date_YYYY}`; export declare type date_DD_MM_YYYY<S extends string = '-'> = date_YYYY_MM_DD<S, true>; declare type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never; }; export declare type xor<T, U> = (T | U) extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U; export declare type atLeastOne<Args extends string[], values extends unknown[], fa extends string = Args[0], fv = values[0], sa extends string = Args[1], sv = values[1]> = Args['length'] extends 1 ? { [T in fa]: fv; } : (({ [T in fa]: fv; } & { [T in sa]: sv; }) | ({ [T in fa]: fv; } & { [T in sa]?: sv; }) | ({ [T in fa]?: fv; } & { [T in sa]: sv; })); export declare type name_case = 'nom' | 'gen' | 'dat' | 'acc' | 'ins' | 'abl'; export declare type T_or_Array_of_T<T> = T | T[]; export declare type get<T> = { count: number; items: T[]; }; export {};