unbag
Version:
一个专门用来开发npm工具的包
30 lines (29 loc) • 1.26 kB
TypeScript
import { DeepPartial } from "ts-essentials";
import { FinalUserConfig } from "./config";
import { AbsolutePath } from "./path";
export declare function isObject(value: unknown): value is Record<string, any>;
export declare enum Locale {
"zh_cn" = "zh_cn"
}
export declare const filterNullable: <T>(list: T[], isNullable?: ((value: T) => boolean) | undefined) => NonNullable<T>[];
export declare function arraify<T>(target: T | T[]): T[];
export type Result<S, E = S> = {
success: true;
content: S;
message?: string;
} | {
success: false;
content?: E;
message: string;
};
export type SafeObj<T> = {
[k in keyof T as `$${string & k}`]-?: () => T[k] extends object ? SafeObj<T[k]> : NonNullable<T[k]>;
};
export declare const safeObj: <T extends object>(obj: T, name: string, config?: {
errorMsgFormat?: ((objName: string, key: string) => string) | undefined;
}) => SafeObj<T>;
export declare const sleep: (ms: number) => Promise<unknown>;
export declare const useRoot: (params: {
finalUserConfig: FinalUserConfig;
}) => AbsolutePath;
export declare const unSafeFunctionWrapper: <T extends (...args: any) => any, R extends ReturnType<T>, P extends Parameters<T>>(func: T) => (...args: P) => DeepPartial<R> | undefined;