cis-api-tool
Version:
根据 swagger/yapi/apifox 的接口定义生成 TypeScript/JavaScript 的接口类型及其请求函数代码。
70 lines • 1.79 kB
text/typescript
//#region src/vutils/function.d.ts
/**
* @description 移除每一行的公共前导空白。
* @public
* @param text 文本
* @returns 返回处理后的结果
* @example
* ```typescript
* dedent(' a\n b') // => 'a\nb'
* ```
*/
declare function dedent(text: string): string;
/**
* @description 首先,每一行紧跟前导空白的插入值为多行时,保持缩进。
* @description 然后,移除每一行的公共前导空白。
* @public
* @param literals 字面值
* @param interpolations 插入值
* @returns 返回处理后的结果
* @example
* ```typescript
* dedent` a\n b` // => 'a\nb'
* ```
*/
declare function dedent(literals: TemplateStringsArray, ...interpolations: Array<string | number>): string;
/**
* @public
*/
interface WaitResult<T> extends Promise<T> {
/**
* 取消等待,不执行后续逻辑。
*/
cancel: () => void;
}
/**
* @description 等待一段时间 resolve。
* @public
* @param milliseconds 等待时间(毫秒)
* @param value resolve 值
* @example
* ```typescript
* wait(1000).then(() => {
* console.log('ok')
* }) // => 1秒后在控制台打印字符串: ok
* ```
*/
declare function wait<T>(milliseconds: number, value?: T): WaitResult<T>;
declare namespace wait {
var reject: (milliseconds: number, value?: any) => WaitResult<never>;
}
/**
* 遍历对象和数组。
*
* @param value 要遍历的值
* @param callback 遍历回调
* @returns 返回结果
* @example
* ```typescript
* traverse([1, 2, {3: 4}], value => {
* console.log(value)
* // => 1
* // => 2
* // => {3: 4}
* // => 4
* })
* ```
*/
declare function traverse(value: any, callback: (value: any, key: string | number, parent: any) => any): void;
//#endregion
export { WaitResult, dedent, traverse, wait };