12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886 |
- /**
- * JavaScript 函数库、工具类
- */
- declare namespace XEUtils {
- export interface SetupDefaults {
- treeOptions?: {
- strict?: boolean;
- parentKey?: string;
- key?: string;
- children?: string;
- data?: string;
- [key: string]: any;
- };
- formatDate?: string;
- formatString?: string;
- dateDiffRules?: any[][];
- [key: string]: any;
- }
- /**
- * 版本信息
- */
- export const VERSION: string
- /**
- * 设置全局参数
- * @param options 全局参数
- */
- export function setup(options: SetupDefaults): SetupDefaults;
- /**
- * 将您自己的实用函数扩展到 XEUtils
- * @param methods 函数集
- */
- export function mixin(...methods: {[key: string]: any}[]): void;
- /**
- * 将一个或多个源对象复制到目标对象中
- * @param target 目标对象
- * @param source1 要从中复制属性的源对象
- */
- export function assign<T, U>(target: T, source1: U): T & U;
- /**
- * 将一个或多个源对象复制到目标对象中
- * @param target 目标对象
- * @param source1 要从中复制属性的源对象1
- * @param source2 要从中复制属性的源对象2
- */
- export function assign<T, U, V>(target: T, source1: U, source2: V): T & U & V;
- /**
- * 将一个或多个源对象复制到目标对象中
- * @param target 目标对象
- * @param source1 要从中复制属性的源对象1
- * @param source2 要从中复制属性的源对象2
- * @param source3 要从中复制属性的源对象3
- */
- export function assign<T, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
- /**
- * 将一个或多个源对象复制到目标对象中
- * @param target 目标对象
- * @param sources 要从中复制属性的一个或多个源对象
- */
- export function assign(target: any, ...sources: any[]): any;
- /**
- * 指定方法后的返回值组成的新对象
- * @param obj 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function objectMap<T, U>(obj: T, iterate: (item: any, key: string, obj: T) => U, context?: any): U;
- export function objectMap<U>(obj: any, iterate: (item: any, key: string, obj: any) => U, context?: any): U;
- /**
- * 对象迭代器
- * @param obj 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function objectEach<T>(obj: T, iterate: (item: any, key: string, obj: T) => void, context?: any): void;
- export function objectEach(obj: any, iterate: (item: any, key: string, obj: any) => void, context?: any): void;
- /**
- * 对象迭代器,从最后开始迭代
- * @param obj 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function lastObjectEach<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => void, context?: C): void;
- export function lastObjectEach<C>(obj: any, iterate: (this: C, item: any, key: string, obj: any) => void, context?: C): void;
- /**
- * 将一个或多个源对象合并到目标对象中
- * @param target 目标对象
- * @param source1 要从中复制属性的源对象1
- */
- export function merge<T, U>(target: T, source1: U): T & U;
- /**
- * 将一个或多个源对象合并到目标对象中
- * @param target 目标对象
- * @param source1 要从中复制属性的源对象1
- * @param source2 要从中复制属性的源对象2
- */
- export function merge<T, U, V>(target: T, source1: U, source2: V): T & U & V;
- /**
- * 将一个或多个源对象合并到目标对象中
- * @param target 目标对象
- * @param source1 要从中复制属性的源对象1
- * @param source2 要从中复制属性的源对象2
- * @param source3 要从中复制属性的源对象3
- */
- export function merge<T, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
- /**
- * 将一个或多个源对象合并到目标对象中
- * @param target 目标对象
- * @param sources 要从中复制属性的多个源对象
- */
- export function merge(target: any, ...sources: any[]): any;
- /**
- * 数组去重
- * @param list 数组
- */
- export function uniq<T>(list: T[]): T[];
- /**
- * 将多个数的值返回唯一的并集数组
- * @param array 数组
- */
- export function union(...array: any[]): any[];
- /**
- * 被 orderBy 替换
- * @deprecated
- */
- export const sortBy: typeof orderBy
- interface OrderBySortConfs<T, C> {
- field?: string | ((this: C, item: T, index: number, list: T[]) => any) | null;
- order?: 'order' | 'desc' | null;
- }
- export type OrderByFieldConfs<T, C> = null | string | any[][] | OrderBySortConfs<T, C> | (string | OrderBySortConfs<T, C>)[] | ((this: C, item: T, index: number, list: T[]) => any);
- /**
- * 将数组进行排序
- * @param array 数组
- * @param fieldConfs 排序规则
- * @param context 上下文
- */
- export function orderBy<T, C>(array: T[], fieldConfs: OrderByFieldConfs<T, C>, context?: C): T[];
- /**
- * 将一个数组随机打乱,返回一个新的数组
- * @param list 数组
- */
- export function shuffle<T>(list: T[]): T[];
- /**
- * 从一个数组中随机返回几个元素
- * @param array 数组
- * @example
- */
- export function sample<T>(array: T[]): T;
- /**
- * 从一个数组中随机返回几个元素
- * @param array 数组
- * @param number 返回个数
- * @example
- */
- export function sample<T>(array: T[], number: number): T[];
- /**
- * 对象中的值中的每一项运行给定函数,如果函数对任一项返回 true,则返回 true,否则返回 false
- * @param list 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function some<T>(list: T[], iterate: (item: T, index: number, list: T[]) => boolean, context?: any): boolean;
- /**
- * 对象中的值中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true,否则返回 false
- * @param list 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function every<T, C>(list: T[], iterate: (this: C, item: T, index: number, list: T[]) => boolean, context?: C): boolean;
- /**
- * 对象中的值中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true,否则返回 false
- * @param list 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function every<T, C>(list: T, iterate: (this: C, item: any, key: string, list: T) => boolean, context?: C): boolean;
- /**
- * slice ( array, start, end ) 裁剪 Arguments 或数组 array,从 start 位置开始到 end 结束,但不包括 end 本身的位置
- * @param array 对象
- * @param start 迭代器/属性
- * @param end 上下文
- */
- export function slice<T>(array: T[], start: number, end?: number): T[];
- /**
- * 查找匹配第一条数据
- * @param array 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function filter<T, C>(array: T[], iterate: (this: C, item: T, index: number, list: T[]) => boolean, context?: C): T[];
- /**
- * 查找匹配第一条数据
- * @param obj 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function filter<T, C>(obj: T, iterate: (this: C, item: any, key: string, list: T) => boolean, context?: C): any;
- /**
- * 从左至右遍历,匹配最近的一条数据
- * @param array 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function find<T, C>(list: T[], iterate: (this: C, item: T, index: number, list: T[]) => boolean, context?: C): T;
- /**
- * 从左至右遍历,匹配最近的一条数据
- * @param obj 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function find<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => boolean, context?: C): any;
- /**
- * 从右至左遍历,匹配最近的一条数据
- * @param array 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function findLast<T, C>(array: T[], iterate: (this: C, item: T, index: number, list: T[]) => boolean, context?: C): T;
- /**
- * 从右至左遍历,匹配最近的一条数据
- * @param obj 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function findLast<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => boolean, context?: C): any;
- /**
- * 查找匹配第一条数据的键
- * @param list 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function findKey<T, C>(list: T[], iterate: (this: C, item: T, index: number, list: T[]) => boolean, context?: C): number;
- /**
- * 查找匹配第一条数据的键
- * @param obj 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function findKey<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => boolean, context?: C): any;
- /**
- * 判断对象是否包含该值,成功返回 true 否则 false
- * @param obj 对象
- * @param val 值
- */
- export function includes(obj: any, val: any): boolean;
- /**
- * 返回数组第一个索引值
- * @param list 数组
- * @param val 值
- */
- export function arrayIndexOf<T>(list: ArrayLike<T>, val: any): number;
- export function arrayIndexOf(list: any[], val: any): number;
- /**
- * 从最后开始的索引值,返回数组第一个索引值
- * @param list 数组
- * @param val 值
- */
- export function arrayLastIndexOf<T>(list: ArrayLike<T>, val: any): number;
- export function arrayLastIndexOf(list: any[], val: any): number;
- /**
- * 指定方法后的返回值组成的新数组
- * @param list 数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function map<T, U, C>(list: T[], iterate: (this: C, item: T, index: number, list: T[]) => U, context?: C): U[];
- /**
- * 接收一个函数作为累加器,数组中的每个值(从左到右)开始合并,最终为一个值
- * @param array 数组
- * @param iterate 回调
- * @param initialValue 默认值
- * @example
- */
- export function reduce<T, U>(array: T[], iterate?: (previous: U, item: T, index: number, list: T[]) => U, initialValue?: U): U;
- /**
- * 复制数组的一部分到同一数组中的另一个位置,数组大小不变
- * @param array 数组
- * @param target 从该位置开始替换数据
- */
- export function copyWithin<T>(array: T[], target: number): T[];
- /**
- * 复制数组的一部分到同一数组中的另一个位置,数组大小不变
- * @param array 数组
- * @param target 从该位置开始替换数据
- * @param start 从该位置开始读取数据,默认为 0 。如果为负值,表示倒数
- * @param end 到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数
- */
- export function copyWithin<T>(array: T[], target: number, start: number, end?: number): T[];
- /**
- * 将一个数组分割成大小的组。如果数组不能被平均分配,那么最后一块将是剩下的元素
- * @param array 数组
- * @param size 每组大小
- */
- export function chunk<T>(array: T[], size: number): T[][];
- /**
- * 将每个数组中相应位置的值合并在一起
- * @param arrays 多个数组
- */
- export function zip(...arrays: any[]): any[];
- /**
- * 与 zip 相反
- * @param arrays 数组
- */
- export function unzip(arrays: any[]): any[];
- /**
- * 将每个数组中相应位置的值合并在一起
- * @param props 键数组
- * @param values 值数组
- * @example
- */
- export function zipObject(props: any[], values: any[]): any;
- /**
- * 将一个多维数组铺平
- * @param list 数组
- * @param deep 是否深层
- */
- export function flatten<T>(list: T[][], deep?: boolean): T[];
- /**
- * 将一个多维数组铺平
- * @param list 数组
- * @param deep 是否深层
- */
- export function flatten(list: any[], deep?: boolean): any[];
- /**
- * 将对象或者伪数组转为新数组
- * @param list 对象/数组
- */
- export function toArray<T>(list: T[]): T[];
- export function toArray(list: any): any[];
- /**
- * 判断数组是否包含另一数组
- * @param array1 数组
- * @param array2 数组
- */
- export function includeArrays(array1: any[], array2: any[]): boolean;
- /**
- * 获取数组对象中某属性值,返回一个数组
- * @param array 数组
- * @param key 键
- * @example
- */
- export function pluck(array: any[], key: string | number): any[];
- /**
- * 在list的每个元素上执行方法,任何传递的额外参数都会在调用方法的时候传递给它
- * @param list 数组
- * @param path
- * @example
- */
- export function invoke(list: any[], path: string[] | string | ((this: any, ...args: any[]) => any)): any[];
- /**
- * 数组迭代器
- * @param list 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function arrayEach<T, C>(list: T[] | ArrayLike<T>, iterate: (this: C, item: T, index: number, list: T[]) => void, context?: C): void;
- export function arrayEach<C>(obj: any[], iterate: (this: C, item: any, index: number, obj: any) => void, context?: C): void;
- /**
- * 数组迭代器,从最后开始迭代
- * @param list 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function lastArrayEach<T, C>(list: T[], iterate: (this: C, item: T, index: number, list: T[]) => void, context?: C): void;
- export function lastArrayEach<T, C>(list: T, iterate: (this: C, item: any, index: number, list: T) => void, context?: C): void;
- export function lastArrayEach<C>(list: any[], iterate: (this: C, item: any, index: number, list: any[]) => void, context?: C): void;
- export function lastArrayEach<C>(list: any, iterate: (this: C, item: any, index: number, list: any) => void, context?: C): void;
- export interface ToArrayTreeOptions<T> {
- strict?: boolean;
- key?: string;
- parentKey?: string;
- children?: string;
- sortKey?: OrderByFieldConfs<T, any>;
- data?: string;
- /**
- * 已废弃,被 sortKey: { ...,order: 'desc' } 替换
- * @deprecated
- */
- reverse?: boolean;
- }
- /**
- * 将一个带层级的数据列表转成树结构
- * @param {Array} list 数组
- * @param {Object} options {strict: false, parentKey: 'parentId', key: 'id', children: 'children', data: 'data'}
- */
- export function toArrayTree<T>(list: T[], options?: ToArrayTreeOptions<T>): T[];
- export function toArrayTree(list: any, options?: ToArrayTreeOptions<any>): any[];
- export interface ToTreeArrayOptions {
- children?: string;
- data?: string;
- clear?: boolean;
- }
- /**
- * 将一个树结构转成数组列表
- * @param {Array} list 数组
- * @param {Object} options { children: 'children', data: 'data', clear: false }
- */
- export function toTreeArray<T>(list: T[], options?: ToTreeArrayOptions): T[];
- export function toTreeArray(list: any, options?: ToTreeArrayOptions): any[];
- interface TerrResult<T = any> {
- index: number;
- item: T;
- path: Array<string>;
- items: T[];
- parent: T;
- nodes: T[];
- }
- interface FindTreeOptions {
- children?: string;
- }
- /**
- * 从树结构中查找匹配第一条数据的键、值、路径
- * @param {Object} list 数组
- * @param {Function} iterate(item, index, items, path, parent, nodes) 回调
- * @param {Object} options {children: 'children'}
- * @param {Object} context 上下文
- */
- export function findTree<T, C>(list: T[], iterate: (this: C, item: T, index: number, items: T[], path: string[], parent: T, nodes: T[]) => boolean, options?: FindTreeOptions, context?: C): TerrResult<T>;
- export interface EachTreeOptions {
- children?: string;
- }
- /**
- * 从树结构中遍历数据的键、值、路径
- * @param {Object} list 数组
- * @param {Function} iterate(item, index, items, path, parent, nodes) 回调
- * @param {Object} options {children: 'children'}
- * @param {Object} context 上下文
- */
- export function eachTree<T, C>(list: T[], iterate: (this: C, item: T, index: number, items: T[], path: string[], parent: T, nodes: T[]) => void, options?: EachTreeOptions, context?: C): void;
- export function eachTree<C>(list: any[], iterate: (this: C, item: any, index: number, items: any[], path: string[], parent: any, nodes: any[]) => void, options?: EachTreeOptions, context?: C): void;
- export function eachTree<C>(list: any, iterate: (this: C, item: any, index: number, items: any, path: string[], parent: any, nodes: any) => void, options?: EachTreeOptions, context?: C): void;
- interface MapTreeOptions {
- children?: string;
- mapChildren?: string;
- }
- /**
- * 从树结构中指定方法后的返回值组成的新数组
- * @param {Object} obj 对象/数组
- * @param {Function} iterate(item, index, items, path, parent, nodes) 回调
- * @param {Object} options {children: 'children', mapChildren: 'children}
- * @param {Object} context 上下文
- */
- export function mapTree<T, U, C>(array: T[], iterate: (this: C, item: T, index: number, items: T[], path: string[], parent: T, nodes: T[]) => U, options?: MapTreeOptions, context?: C): U[];
- export function mapTree<U, C>(array: any[], iterate: (this: C, item: any, index: number, items: any[], path: string[], parent: any, nodes: any[]) => U, options?: MapTreeOptions, context?: C): U[];
- export function mapTree<U, C>(array: any, iterate: (this: C, item: any, index: number, items: any, path: string[], parent: any, nodes: any) => U, options?: MapTreeOptions, context?: C): U[];
- export interface FilterTreeOptions {
- children?: string;
- }
- /**
- * 从树结构中根据回调过滤数据
- * @param {Object} list 数组
- * @param {Function} iterate(item, index, items, path, parent) 回调
- * @param {Object} options {children: 'children'}
- * @param {Object} context 上下文
- */
- export function filterTree<T, C>(list: T[], iterate: (this: C, item: T, index: number, items: T[], path: string[], parent: T, nodes: T[]) => boolean, options?: FilterTreeOptions, context?: C): T[];
- export interface SearchTreeOptions {
- children?: string;
- mapChildren?: string;
- original?: boolean;
- data?: string;
- }
- /**
- * 从树结构中根据回调查找数据
- * @param {Object} list 对象/数组
- * @param {Function} iterate(item, index, items, path, parent, nodes) 回调
- * @param {Object} options {children: 'children'}
- * @param {Object} context 上下文
- */
- export function searchTree<T>(list: T[], iterate: (item: T, index: number, items: T[], path: string[], parent: T, nodes: T[]) => boolean, options?: SearchTreeOptions, context?: any): T[];
- export function searchTree(list: any[], iterate: (item: any, index: number, items: any[], path: string[], parent: any, nodes: any[]) => boolean, options?: SearchTreeOptions, context?: any): any[];
- export function searchTree(list: any, iterate: (item: any, index: number, items: any, path: string, parent: any, nodes: any) => boolean, options?: SearchTreeOptions, context?: any): any[];
- /**
- * 判断对象自身属性中是否具有指定的属性
- * @param obj 对象
- * @param key 键值
- */
- export function hasOwnProp(obj: any, key: string | number): boolean;
- /**
- * 判断是否 undefined 和 null
- * @param obj 对象
- */
- export function eqNull(obj: any): boolean;
- /**
- * 判断是否非数值
- * @param val 值
- */
- export function isNaN(val: any): boolean;
- /**
- * 判断是否为有限数值
- * @param val 值
- */
- export function isFinite(val: any): val is number;
- /**
- * 判断 Undefined
- * @param val 值
- */
- export function isUndefined(val: any): val is undefined;
- /**
- * 判断是否数组
- * @param val 值
- */
- export function isArray(val: any): val is any[];
- /**
- * 判断是否小数
- * @param val 值
- */
- export function isFloat(val: any): val is number;
- /**
- * 判断是否整数
- * @param val 值
- */
- export function isInteger(val: any): val is number;
- /**
- * 判断是否方法
- * @param val 值
- */
- export function isFunction(val: any): val is Function;
- /**
- * 判断是否 Boolean 对象
- * @param val 值
- */
- export function isBoolean(val: any): val is boolean;
- /**
- * 判断是否String对象
- * @param val 值
- */
- export function isString(val: any): val is string;
- /**
- * 判断是否 Number 对象
- * @param val 值
- */
- export function isNumber(val: any): val is number;
- /**
- * 判断是否 RegExp 对象
- * @param val 值
- */
- export function isRegExp(val: any): val is RegExp;
- /**
- * 判断是否 Object 对象
- * @param val 值
- */
- export function isObject(val: any): val is object;
- /**
- * 判断是否是一个对象
- * @param val 值
- */
- export function isPlainObject(val: any): val is object;
- /**
- * 判断是否 Date 对象
- * @param val 值
- */
- export function isDate(val: any): val is Date;
- /**
- * 判断是否 Error 对象
- * @param val 值
- */
- export function isError(val: any): val is Error;
- /**
- * 判断是否 TypeError 对象
- * @param val 值
- */
- export function isTypeError(val: any): val is TypeError;
- /**
- * 判断是否为空对象
- * @param val 值
- */
- export function isEmpty(val: any): boolean;
- /**
- * 判断是否为 Null
- * @param val 值
- */
- export function isNull(val: any): val is null;
- /**
- * 判断是否 Symbol 对象
- * @param val 值
- */
- export function isSymbol(val: any): val is symbol;
- /**
- * 判断是否 Arguments 对象
- * @param val 值
- */
- export function isArguments(val: any): val is IArguments;
- /**
- * 判断是否 Element 对象
- * @param val 值
- */
- export function isElement(val: any): val is Element;
- /**
- * 判断是否 Document 对象
- * @param val 值
- */
- export function isDocument(val: any): val is Document;
- /**
- * 判断是否 Window 对象
- * @param val 值
- */
- export function isWindow(val: any): val is Window;
- /**
- * 判断是否 FormData 对象
- * @param val 值
- */
- export function isFormData(val: any): val is FormData;
- /**
- * 判断是否 Map 对象
- * @param val 值
- */
- export function isMap(val: any): val is Map<any, any>;
- /**
- * 判断是否 WeakMap 对象
- * @param val 值
- */
- export function isWeakMap(val: any): val is WeakMap<any, any>;
- /**
- * 判断是否 Set 对象
- * @param val 值
- */
- export function isSet(val: any): val is Set<any>;
- /**
- * 判断是否 WeakSet 对象
- * @param val 值
- */
- export function isWeakSet(val: any): val is WeakSet<any>;
- /**
- * 判断是否闰年
- * @param date 日期
- */
- export function isLeapYear(date: Date | number | string): boolean;
- export function isLeapYear(date: any): boolean;
- /**
- * 判断属性中的键和值是否包含在对象中
- * @param obj 对象
- * @param source 值
- */
- export function isMatch(obj: any, source: any): boolean;
- /**
- * 深度比较两个对象之间的值是否相等
- * @param obj1 值1
- * @param obj2 值2
- */
- export function isEqual(obj1: any, obj2: any): boolean;
- /**
- * 深度比较两个对象之间的值是否相等,使用自定义比较函数
- * @param obj1 值1
- * @param obj2 值2
- */
- export function isEqualWith(obj1: any, obj2: any): boolean;
- /**
- * 深度比较两个对象之间的值是否相等,使用自定义比较函数
- * @param obj1 值1
- * @param obj2 值2
- * @param func 自定义函数
- */
- export function isEqualWith<T, U>(obj1: T, obj2: U, func: (val1: any, val2: any, key: any, obj1: T, obj2: U) => any): boolean;
- /**
- * 获取对象类型
- * @param obj 对象
- */
- export function getType(obj: any): string;
- /**
- * 获取一个全局唯一标识
- * @param prefix 自定义前缀
- */
- export function uniqueId(prefix?: string | number | null): string;
- /**
- * 返回对象的长度
- * @param obj 对象
- */
- export function getSize(obj: any): number;
- /**
- * 返回对象第一个索引值
- * @param obj 对象
- * @param val 值
- */
- export function indexOf(obj: any, val: any): number;
- /**
- * 从最后开始的索引值,返回对象第一个索引值
- * @param obj 对象
- * @param val 值
- */
- export function lastIndexOf(obj: any[], val: any): number;
- export function lastIndexOf(obj: any, val: any): number;
- /**
- * 返回对象第一个索引值
- * @param list 数组
- * @param iterate 迭代器
- * @param context 上下文
- */
- export function findIndexOf<T, C>(list: T[], iterate: (this: C, item: T, index: any, obj: T[]) => boolean, context?: C): number;
- /**
- * 返回对象第一个索引值
- * @param obj 对象
- * @param iterate 迭代器
- * @param context 上下文
- */
- export function findIndexOf<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => boolean, context?: C): number;
- /**
- * 从最后开始的索引值,返回对象第一个索引值
- * @param list 数组
- * @param iterate 迭代器
- * @param context 上下文
- */
- export function findLastIndexOf<T, C>(list: T[], iterate: (this: C, item: T, index: number, list: T[]) => boolean, context?: C): number;
- /**
- * 从最后开始的索引值,返回对象第一个索引值
- * @param obj 对象
- * @param iterate 迭代器
- * @param context 上下文
- */
- export function findLastIndexOf<C>(obj: any, iterate: (this: C, item: any, key: string, obj: any) => boolean, context?: C): number;
- /**
- * 字符串转 JSON
- * @param str 字符串
- */
- export function toStringJSON(str: string): any;
- export function toStringJSON(str: any): any;
- /**
- * JSON 转字符串
- * @param obj 对象
- */
- export function toJSONString(obj: any): string;
- /**
- * 获取对象所有属性
- * @param obj 对象
- */
- export function keys(obj: any): string[];
- /**
- * 获取对象所有值
- * @param obj 对象
- */
- export function values<T>(list: T[]): T[];
- export function values(obj: any): any[];
- /**
- * 获取对象所有属性、值
- * @param obj 对象
- */
- export function entries(obj: any): any[];
- /**
- * 根据 keys 过滤指定的属性值,返回一个新的对象
- * @param obj 对象
- * @param array 数组或字符串或方法
- */
- export function pick(obj: any, array: string[]): any;
- /**
- * 根据 keys 排除指定的属性值,返回一个新的对象
- * @param obj 对象
- * @param array 数组或字符串或方法
- */
- export function omit(obj: any, array: string[]): any;
- /**
- * 获取对象第一个值
- * @param list 数组
- */
- export function first<T>(list: T[] | ArrayLike<T>): T;
- export function first(obj: any): any;
- /**
- * 获取对象最后一个值
- * @param list 数组
- */
- export function last<T>(list: T[] | ArrayLike<T>): T;
- /**
- * 获取对象最后一个值
- * @param obj 对象
- */
- export function last(obj: any): any;
- /**
- * 通用迭代器
- * @param list 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function each<T, C>(list: T[] | ArrayLike<T>, iterate: (this: C, item: T, index: number, list: T[]) => void, context?: CSSKeyframeRule): void;
- /**
- * 通用迭代器
- * @param obj 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function each<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => void, context?: C): void;
- /**
- * 已废弃,被 some, every 替换
- * @deprecated
- */
- export function forOf<C>(obj: any, iterate: (this: C, item: any, index: any, obj: any) => boolean, context?: C): void;
- /**
- * 已废弃
- * @deprecated
- */
- export function lastForOf<C>(obj: any, iterate: (this: C, item: any, index: any, obj: any) => boolean, context?: C): void;
- /**
- * 通用迭代器,从最后开始迭代
- * @param list 对象
- * @param iterate 回调
- * @param context 上下文
- */
- export function lastEach<T, C>(list: T[], iterate: (this: C, item: T, index: number, list: T) => void, context?: C): void;
- export function lastEach<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => void, context?: C): void;
- export function lastEach<C>(obj: any[], iterate: (this: C, item: any, key: string, obj: any[]) => void, context?: C): void;
- export function lastEach<C>(obj: any, iterate: (this: C, item: any, key: string, obj: any) => void, context?: C): void;
- /**
- * 检查键、路径是否是该对象的属性
- * @param obj 对象
- * @param property 键、路径
- */
- export function has(obj: any, property: string | string[]): boolean;
- /**
- * 获取对象的属性的值,如果值为 undefined,则返回默认值
- * @param obj 对象
- * @param property 键、路径
- * @param defaultValue 默认值
- */
- export function get(obj: any, property: string | string[], defaultValue?: any): any;
- /**
- * 设置对象属性上的值。如果属性不存在则创建它
- * @param obj 对象
- * @param property 键、路径
- * @param value 值
- */
- export function set(obj: any, property: string | string[], value: any): any;
- /**
- * 集合分组,默认使用键值分组,如果有 iterate 则使用结果进行分组
- * @param list 对象
- * @param iterate 回调/对象属性
- * @param context 上下文
- */
- export function groupBy<T, C>(list: T[], iterate: string | number | ((this: C, item: T, index: number, obj: T) => string | number), context?: C): { [key: string]: T[] };
- /**
- * 集合分组,默认使用键值分组,如果有 iterate 则使用结果进行分组
- * @param obj 对象
- * @param iterate 回调/对象属性
- * @param context 上下文
- */
- export function groupBy<T, C>(obj: T, iterate: string | number | ((this: C, item: any, key: string, obj: T) => string | number), context?: C): { [key: string]: any[] };
- /**
- * 集合分组统计,返回各组中对象的数量统计
- * @param list 对象
- * @param iterate 回调/属性
- * @param context 上下文
- */
- export function countBy<T, C>(list: T[], iterate: (this: C, item: T, index: number, list: T[]) => string | number, context?: C): { [key: string]: number };
- /**
- * 集合分组统计,返回各组中对象的数量统计
- * @param obj 对象
- * @param iterate 回调/属性
- * @param context 上下文
- */
- export function countBy<T, C>(obj: T, iterate: (this: C, item: any, key: string, obj: T) => string | number, context?: C): { [key: string]: number };
- /**
- * 浅拷贝/深拷贝
- * @param obj 对象
- */
- export function clone<T>(obj: T): T;
- /**
- * 浅拷贝/深拷贝
- * @param obj 对象
- * @param deep 是否深拷贝
- */
- export function clone<T>(obj: T, deep: boolean): T;
- /**
- * 清空对象; defs如果不传(清空所有属性)、如果传对象(清空并继承)、如果传值(给所有赋值)
- * @param obj 对象
- */
- export function clear<T>(obj: T): T;
- /**
- * 清空对象; defs如果不传(清空所有属性)、如果传对象(清空并继承)、如果传值(给所有赋值)
- * @param obj 对象
- * @param defs 默认值
- */
- export function clear<T>(obj: T, defs: any): T;
- /**
- * 清空对象; defs如果不传(清空所有属性)、如果传对象(清空并继承)、如果传值(给所有赋值)
- * @param obj 对象
- * @param defs 默认值
- * @param assigns 值
- */
- export function clear<T, U>(obj: T, defs: any, assigns: U): T & U;
- /**
- * 移除对象属性
- * @param list 对象
- * @param iterate 迭代器/值
- */
- export function remove<T, C>(list: T[], iterate: number | string | ((this: C, item: T, index: number, list: T[]) => boolean), context?: C): T[];
- /**
- * 移除对象属性
- * @param obj 对象
- * @param iterate 迭代器/值
- */
- export function remove<C>(obj: any, iterate: number | string | ((this: C, item: any, key: string, obj: any) => boolean), context?: C): any;
- /**
- * 序号列表生成函数
- * @param start 起始值
- * @param stop 结束值
- */
- export function range(start: number, stop: number): number[];
- /**
- * 序号列表生成函数
- * @param start 起始值
- * @param stop 结束值
- * @param step 自增值
- */
- export function range(start: number, stop: number, step: number): number[];
- /**
- * 将一个或者多个对象值解构到目标对象
- * @param obj 对象
- * @param target 目标
- */
- export function destructuring<T>(obj: T, ...target: any[]): T;
- /**
- * 获取一个指定范围内随机数
- * @param min 最小值
- * @param max 最大值
- */
- export function random(min: number, max: number): number;
- /**
- * 获取最小值
- * @param array 数组
- * @param iterate 回调/属性
- */
- export function min<T, U>(list: T[], iterate: string | number | ((item: T, index: number, list: T[]) => U)): T | U;
- /**
- * 获取最大值
- * @param list 数组
- * @param iterate 回调/属性
- */
- export function max<T, U>(list: T[], iterate: string | number | ((item: T, index: number, list: T[]) => U)): T | U;
- export interface CommafyOptions {
- /**
- * 分割位数,默认3
- */
- spaceNumber?: number;
- /**
- * 分隔符,默认','
- */
- separator?: string;
- /**
- * 只对 number 类型有效,小数位数,默认null
- */
- digits?: number;
- /**
- * 只对 number 类型有效,四舍五入,默认true
- */
- round?: boolean;
- /**
- * 只对 number 类型有效,向上舍入
- */
- ceil?: boolean;
- /**
- * 只对 number 类型有效,向下舍入
- */
- floor?: boolean;
- }
- /**
- * 数值千分位分隔符、小数点
- * @param num 数值/字符串
- * @param options 可选参数
- */
- export function commafy(num: string | number, options?: CommafyOptions): string;
- /**
- * 对数字进行四舍五入
- * @param num 数值/字符串
- * @param digits 小数保留位数
- */
- export function round(num: number, digits?: number): number;
- export function round(num: any, digits?: number): number;
- /**
- * 将数值向上舍入
- * @param num 数值/字符串
- */
- export function ceil(num: string | number): number;
- /**
- * 将数值向上舍入
- * @param num 数值/字符串
- * @param digits 小数保留位数
- */
- export function ceil(num: string | number, digits: number): number;
- /**
- * 将数值向下舍入
- * @param num 数值/字符串
- * @param digits 小数保留位数
- */
- export function floor(num: string | number, digits?: number): number;
- /**
- * 将数值四舍五入并格式化为固定小数位的字符串
- * @param num 数值/字符串
- * @param digits 小数保留位数
- */
- export function toFixed(num: number | string | null, digits?: number): string;
- export function toFixed(num: any, digits?: number): string;
- /**
- * 转数值
- * @param num 数值/字符串
- */
- export function toNumber(num: number | string | null): number;
- export function toNumber(num: any): number;
- /**
- * 数值转字符串,科学计数转字符串
- * @param num 数值
- */
- export function toNumberString(num: number | string | null): string;
- export function toNumberString(num: any): string;
- /**
- * 转整数
- * @param num 数值/字符串
- */
- export function toInteger(num: number | string | null): number;
- export function toInteger(num: any): number;
- /**
- * 加法运算
- * @param num1 数值1
- * @param num2 数值2
- */
- export function add(num1: number, num2: number): number;
- /**
- * 减法运算
- * @param num1 数值1
- * @param num2 数值2
- */
- export function subtract(num1: number, num2: number): number;
- export function subtract(num1: any, num2: any): number;
- /**
- * 乘法运算
- * @param num1 数值1
- * @param num2 数值2
- */
- export function multiply(num1: number, num2: number): number;
- export function multiply(num1: any, num2: any): number;
- /**
- * 除法运算
- * @param num1 数值1
- * @param num2 数值2
- */
- export function divide(num1: number, num2: number): number;
- /**
- * 求和函数,将数值相加
- * @param obj 对象/数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function sum<T, C>(obj: T[], iterate?: string | number | ((this: C, item: T, index: number, list: T[]) => number), context?: C): number;
- /**
- * 求平均值函数
- * @param array 对象/数组
- * @param iterate 回调
- * @param context 上下文
- */
- export function mean<T>(obj: T[], iterate?: string | number | ((item: T, index: number, list: T[]) => any), context?: any): number;
- /**
- * 返回当前时间戳
- */
- export function now(): number;
- /**
- * 将日期转为时间戳
- * @param date 字符串/日期/时间戳
- * @param format 解析格式 yyyy MM dd HH mm ss SSS
- */
- export function timestamp(date: string | Date | number, format?: string | null): number;
- export function timestamp(date: any, format?: string | null): number;
- /**
- * 判断是否有效的Date对象
- * @param val 值
- */
- export function isValidDate(val: any): val is Date;
- /**
- * 判断两个日期是否相同
- * @param date1 日期
- * @param date2 日期
- * @param format 对比格式
- */
- export function isDateSame(date1: Date | number | string, date2: Date | number | string, format?: string | null): boolean;
- export function isDateSame(date1: any, date2: any, format?: string | null): boolean;
- /**
- * 任意格式字符串转为日期
- * @param str 字符串/日期/时间戳
- */
- export function toStringDate(str: string | Date | number | null): Date;
- export function toStringDate(str: any): Date;
- /**
- * 任意格式字符串转为日期
- * @param str 字符串/日期/时间戳
- * @param format 解析格式 yyyy MM dd HH mm ss SSS
- */
- export function toStringDate(str: string | Date | number | null, format: string | null): Date;
- export function toStringDate(str: any, format: string | null): Date;
- export interface ToDateStringOptions {
- /**
- * 自定义格式化模板
- * {
- * formats: {
- * q: ['日', '一', '二', '三', '四', '五', '六'],
- * E: function (value, match, date) { return '三' }
- * }
- * }
- */
- formats?: any;
- }
- /**
- * 日期格式化为任意格式字符串,转义符号 []
- * @param date 字符串/日期/时间戳
- */
- export function toDateString(date: string | Date | number): string;
- export function toDateString(date: any): string;
- /**
- * 日期格式化为任意格式字符串,转义符号 []
- * @param date 字符串/日期/时间戳
- * @param format 格式化 默认:yyyy-MM-dd HH:mm:ss.SSS
- */
- export function toDateString(date: string | Date | number, format: string | null): string;
- export function toDateString(date: any, format: string | null): string;
- /**
- * 日期格式化为任意格式字符串,转义符号 []
- * @param date 字符串/日期/时间戳
- * @param format 格式化 默认:yyyy-MM-dd HH:mm:ss.SSS
- * @param options 可选参数
- */
- export function toDateString(date: string | Date | number, format: string | null, options: ToDateStringOptions): string;
- export function toDateString(date: any, format: string | null, options: ToDateStringOptions): string;
- /**
- * 返回前几年或后几年的日期,可以指定年初(first)、年末(last)、月份(0~11),默认当前
- * @param date 字符串/日期/时间戳
- * @param year 年(默认当前年)、前几个年(数值)、后几个年(数值)
- */
- export function getWhatYear(date: string | Date | number, offset: number): Date;
- /**
- * 返回前几年或后几年的日期,可以指定年初(first)、年末(last)、月份(0~11),默认当前
- * @param date 字符串/日期/时间戳
- * @param year 年(默认当前年)、前几个年(数值)、后几个年(数值)
- * @param month 获取哪月:年初(first)、年末(last)、指定月份(0-11)
- */
- export function getWhatYear(date: string | Date | number, offset: number, month: number | 'first' | 'last'): Date;
- /**
- * 返回前几月或后几月的日期,可以指定月初(first)、月末(last)、天数,默认当前
- * @param date 字符串/日期/时间戳
- * @param offset 月偏移量(默认0)、前几个月、后几个月
- */
- export function getWhatMonth(date: string | Date | number, offset: number): Date;
- /**
- * 返回前几月或后几月的日期,可以指定月初(first)、月末(last)、天数,默认当前
- * @param date 字符串/日期/时间戳
- * @param offset 月偏移量(默认0)、前几个月、后几个月
- * @param day 获取哪天:月初(first)、月末(last)、指定天数(数值)
- */
- export function getWhatMonth(date: string | Date | number, offset: number, day: number | 'first' | 'last'): Date;
- /**
- * 返回前几周或后几周的日期,可以指定星期几(0~6),默认当前
- * @param date 字符串/日期/时间戳
- * @param offset 周偏移量(默认0)、前几周、后几周
- */
- export function getWhatWeek(date: string | Date | number, offset: number): Date;
- /**
- * 返回前几周或后几周的日期,可以指定星期几(0~6),默认当前
- * @param date 字符串/日期/时间戳
- * @param offset 周偏移量(默认0)、前几周、后几周
- * @param day 星期天(0)、星期一(1)、星期二(2)、星期三(3)、星期四(4)、星期五(5)、星期六(6)
- */
- export function getWhatWeek(date: string | Date | number, offset: number, day: number): Date;
- /**
- * 返回前几天或后几天的日期
- * @param date 字符串/日期/时间戳
- * @param offset 天偏移量(默认0)、前几天、后几天
- */
- export function getWhatDay(date: string | Date | number, offset: number): Date;
- /**
- * 返回前几天或后几天的日期
- * @param date 字符串/日期/时间戳
- * @param offset 天偏移量(默认0)、前几天、后几天
- * @param mode 获取时间:日初(first)、日末(last)
- */
- export function getWhatDay(date: string | Date | number, offset: number, mode: 'first' | 'last'): Date;
- /**
- * 返回某个年份的第几天
- * @param date 字符串/日期/时间戳
- */
- export function getYearDay(date: string | Date | number): number;
- /**
- * 返回某个年份的第几周
- * @param date 字符串/日期/时间戳
- */
- export function getYearWeek(date: string | Date | number): number;
- /**
- * 返回某个月份的第几周
- * @param date 字符串/日期/时间戳
- */
- export function getMonthWeek(date: string | Date | number): number;
- /**
- * 返回某个年份的天数,可以指定前几个年或后几个年,默认当前
- * @param date 字符串/日期/时间戳
- * @param offset 年偏移量(默认0)、前几个年、后几个年
- */
- export function getDayOfYear(date: string | Date | number, offset: number): Date;
- /**
- * 返回某个月份的天数,可以指定前几个月或后几个月,默认当前
- * @param date 字符串/日期/时间戳
- * @param offset 月偏移量(默认0)、前几个月、后几个月
- */
- export function getDayOfMonth(date: string | Date | number, offset: number): number;
- export interface DateDiffResult {
- /**
- * 是否计算完成(如果结束日期小于开始日期 done 为 fasle)
- */
- done: boolean;
- /**
- * 相差多少毫秒
- */
- time: number;
- /**
- * 年
- */
- yyyy: number;
- /**
- * 月
- */
- MM: number;
- /**
- * 日
- */
- dd: number;
- /**
- * 时
- */
- HH: number;
- /**
- * 分
- */
- mm: number;
- /**
- * 秒
- */
- ss: number;
- /**
- * 毫秒
- */
- S: number;
- }
- /**
- * 返回两个日期之间差距,如果结束日期小于开始日期 done 为 fasle
- * @param startDate 开始日期
- * @param endDate 结束日期或当期日期
- */
- export function getDateDiff(startDate: string | Date | number, endDate: string | Date | number): DateDiffResult;
- /**
- * 返回两个日期之间差距,如果结束日期小于开始日期 done 为 fasle
- * @param startDate 开始日期
- * @param endDate 结束日期或当期日期
- * @param rules 自定义计算规则
- */
- export function getDateDiff(startDate: string | Date | number, endDate: string | Date | number, rules?: any[][]): DateDiffResult;
- /**
- * 去除字符串左右两边的空格
- * @param str 字符串
- */
- export function trim(str: string): string;
- export function trim(str: any): string;
- /**
- * 去除字符串左边的空格
- * @param str 字符串
- */
- export function trimLeft(str: string): string;
- export function trimLeft(str: any): string;
- /**
- * 去除字符串右边的空格
- * @param str 字符串
- */
- export function trimRight(str: string): string;
- export function trimRight(str: any): string;
- /**
- * 转义HTML字符串,替换&, <, >, ", ', \`字符
- * @param str 字符串
- */
- export function escape(str: string): string;
- /**
- * 反转 escape
- * @param str 字符串
- */
- export function unescape(str: string): string;
- export function unescape(str: any): string;
- /**
- * 将带字符串转成驼峰字符串,例如: project-name 转为 projectName
- * @param str 字符串
- */
- export function camelCase(str: string): string;
- /**
- * 将带驼峰字符串转成字符串,例如: projectName 转为 project-name
- * @param str 字符串
- */
- export function kebabCase(str: string): string;
- export function kebabCase(str: any): string;
- /**
- * 将字符串重复 n 次
- * @param str 字符串
- * @param count 次数
- */
- export function repeat(str: string, count: number): string;
- export function repeat(str: any, count: number): string;
- /**
- * 用指定字符从前面开始补全字符串
- * @param str 字符串
- * @param targetLength 结果长度
- * @param padString 补全字符
- */
- export function padStart(str: string, targetLength: number, padString?: string): string;
- export function padStart(str: any, targetLength: number, padString?: any): string;
- /**
- * 用指定字符从后面开始补全字符串
- * @param str 字符串
- * @param targetLength 结果长度
- * @param padString 补全字符
- */
- export function padEnd(str: string, targetLength: number, padString?: string): string;
- export function padEnd(str: any, targetLength: number, padString?: any): string;
- /**
- * 判断字符串是否在源字符串的头部
- * @param str 字符串
- * @param val 值
- * @param startIndex 开始索引
- */
- export function startsWith(str: number | string | null, val: string, startIndex?: number): string;
- /**
- * 判断字符串是否在源字符串的头部
- * @param str 字符串
- * @param val 值
- */
- export function endsWith(str: string, val: string): string;
- /**
- * 判断字符串是否在源字符串的头部
- * @param str 字符串
- * @param val 值
- * @param startIndex 开始索引
- */
- export function endsWith(str: string, val: string, startIndex: number): string;
- /**
- * 解析动态字符串模板
- * @param str 字符串模板
- * @param args 对象
- */
- export function template(str: string, args: any | any[]): string;
- export function template(str: any, args: any | any[]): string;
- export function template(str: string, args: any | any[], options: { tmplRE?: RegExp }): string;
- export function template(str: any, args: any | any[], options: { tmplRE?: RegExp }): string;
- /**
- * 字符串格式化占位符
- * @param { string } str
- * @param { object | any[] } obj
- */
- export function toFormatString(str: string, list: any[]): string;
- export function toFormatString(str: string, obj: any): string;
- /**
- * 转字符串
- * @param obj 值
- */
- export function toString(obj: any): string;
- /**
- * 转字符串
- * @param obj 值
- */
- export function toValueString(obj: number | string | any[]): string;
- export function toValueString(obj: any): string;
- /**
- * 返回一个获取对象属性的函数
- * @param path 键值
- */
- export function property(path: string | null): Function;
- /**
- * 创建一个绑定上下文的函数
- * @param callback 回调
- * @param context 上下文
- * @param params 额外的参数
- */
- export function bind<C>(callback: (this: C, ...args: any[]) => any, context?: C, ...params: any[]): (this: any, ...args: any[]) => any;
- /**
- * 创建一个只能调用一次的函数,只会返回第一次执行后的结果
- * @param callback 回调
- * @param context 上下文
- * @param params 额外的参数
- */
- export function once<S, C>(callback: (this: S, ...args: any[]) => any, context?: C, ...params: any[]): (this: S | C, ...args: any[]) => any;
- /**
- * 创建一个函数, 调用次数超过 count 次之后执行回调并将所有结果记住后返回
- * @param count 次数
- * @param callback 回调
- * @param context 上下文
- */
- export function after<C>(count: number, callback: (this: C, ...args: any[]) => any, context?: C): (this: any, ...args: any[]) => any;
- /**
- * 创建一个函数, 调用次数不超过 count 次之前执行回调并将所有结果记住后返回
- * @param count 次数
- * @param callback 回调
- * @param context 上下文
- */
- export function before<C>(count: number, callback: (this: C, rests: any[], ...args: any[]) => any, context?: C): (this: any, ...args: any[]) => any;
- export interface ThrottleOptions {
- /**
- * 是否在之前执行
- */
- leading?: boolean;
- /**
- * 是否在之后执行
- */
- trailing?: boolean;
- }
- /**
- * 节流函数;当被调用 n 毫秒后才会执行,如果在这时间内又被调用则至少每隔 n 秒毫秒调用一次该函数
- * @param callback 回调
- * @param wait 毫秒
- * @param options 可选参数
- */
- export function throttle<C>(callback: (this: C, ...args: any[]) => any, wait: number, options?: ThrottleOptions): (this: C, ...args: any[]) => any;
- export interface DebounceOptions {
- /**
- * 是否在之前执行
- */
- leading?: boolean;
- /**
- * 是否在之后执行
- */
- trailing?: boolean;
- }
- /**
- * 函数去抖;当被调用 n 毫秒后才会执行,如果在这时间内又被调用则将重新计算执行时间
- * @param callback 回调
- * @param wait 毫秒
- * @param options 可选参数
- */
- export function debounce<C>(callback: (this: C, ...args: any[]) => any, wait: number, options?: DebounceOptions): (this: C, ...args: any[]) => any;
- /**
- * 该方法和 setTimeout 一样的效果,区别就是支持上下文和额外参数
- * @param callback 回调
- * @param wait 延迟毫秒
- * @param params 额外的参数
- */
- export function delay(callback: (...args: any[]) => any, wait: number, ...params: any[]): number;
- export interface XEUrl {
- /**
- * 获取完整的地址
- */
- href: string;
- /**
- * 获取 #Hash 的完整字符串
- */
- hash: string;
- /**
- * 获取主机信息
- */
- host: string;
- /**
- * 主机主机名
- */
- hostname: string;
- /**
- * 获取地址的协议类型
- */
- protocol: string;
- /**
- * 获取端口信息
- */
- port: string;
- /**
- * 查询字符串
- */
- search: string;
- /**
- * 获取路径字符串
- */
- pathname: string;
- /**
- * 获取 #hash 键值
- */
- origin: string;
- /**
- * 获取 #hash 键值,不包括参数
- */
- hashKey: string;
- /**
- * 获取 #hash 对象参数
- */
- hashQuery: any;
- /**
- * 获取查询对象参数
- */
- searchQuery: any;
- }
- /**
- * 解析 URL 参数
- * @param ulr 字符串
- */
- export function parseUrl(ulr: string): XEUrl;
- export function parseUrl(ulr: any): XEUrl;
- /**
- * 序列化查询参数
- * @param query 查询参数
- */
- export function serialize(query: any): string;
- /**
- * 反序列化查询参数
- * @param str 字符串
- */
- export function unserialize(str: string): any;
- export function unserialize(str: any): any;
- /**
- * 获取上下文路径
- */
- export function getBaseURL(): string;
- /**
- * 获取地址栏信息
- */
- export function locat(): XEUrl;
- export interface XEBrowse {
- /**
- * 判断是否 NodeJs 环境
- */
- isNode: boolean;
- /**
- * 判断是否有 document 元素
- */
- isDoc: boolean;
- /**
- * 判断是否 Edge 浏览器
- */
- edge: boolean;
- /**
- * 判断是否 Firefox 浏览器
- */
- firefox: boolean;
- /**
- * 判断是否 IE 浏览器
- */
- msie: boolean;
- /**
- * 判断是否 Safari 浏览器
- */
- safari: boolean;
- /**
- * 判断是否移动端
- */
- isMobile: boolean;
- /**
- * 判断是否 PC 端
- */
- isPC: boolean;
- /**
- * 判断浏览器是否支持 LocalStorage
- */
- isLocalStorage: boolean;
- /**
- * 判断浏览器是否支持 SessionStorage
- */
- isSessionStorage: boolean;
- /**
- * 判断浏览器是否 -webkit 内核
- */
- '-webkit': boolean;
- /**
- * 判断浏览器是否 -moz 内核
- */
- '-moz': boolean;
- /**
- * 判断浏览器是否 -ms 内核
- */
- '-ms': boolean;
- /**
- * 判断浏览器是否 -o 内核
- */
- '-o': boolean;
- }
- /**
- * 获取浏览器信息
- */
- export function browse(): XEBrowse;
- export interface CookieOptions {
- /**
- * 键
- */
- name?: string;
- /**
- * 值
- */
- value?: string;
- /**
- * 路径
- */
- path?: string;
- /**
- * 作用域
- */
- domain?: string;
- /**
- * 设置为安全的,只能用https协议
- */
- secure?: string;
- /**
- * 过期时间,可以指定日期或者字符串,默认天
- */
- expires?: string;
- }
- export interface XECookie {
- /**
- * 根据 name 判断 Cookie 是否存在
- * @param name 键
- */
- has(name: string): boolean;
- /**
- * 添加 Cookie
- * @param name 键
- * @param value 值
- * @param options 可选参数
- */
- set(name: string, value: any, options?: CookieOptions): this;
- /**
- * 根据 name 获取 Cookie
- * @param name 键
- */
- get(name: string): string;
- /**
- * 根据 name 删除 Cookie
- * @param name 键
- * @param options 可选参数
- */
- remove(name: string, options?: CookieOptions): number;
- /**
- * 获取 Cookie 所有键
- */
- keys(): any[];
- /**
- * 获取所有 Cookie
- */
- getJSON(): any;
- }
- /**
- * Cookie 操作函数
- */
- export function cookie(): XECookie;
- /**
- * Cookie 操作函数
- * @param name 键/数组/对象
- */
- export function cookie(name: string): XECookie;
- /**
- * Cookie 操作函数
- * @param name 键/数组/对象
- * @param value 值
- */
- export function cookie(name: string, value: any): XECookie;
- /**
- * Cookie 操作函数
- * @param name 键/数组/对象
- * @param value 值
- * @param options 可选参数
- */
- export function cookie(name: string, value: any, options: CookieOptions): XECookie;
- }
|