hivessh
Version:
HiveSsh is an innovative library designed to streamline SSH2 connections and simplify task execution on Linux servers.
47 lines • 1.89 kB
TypeScript
export type NoInfer<T> = [T][T extends any ? 0 : never];
export type BaseType = "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function";
export type Awaitable<T> = T | Promise<T>;
export type JsonBaseType = string | number | boolean | null | undefined;
export type JsonType = JsonHolder | JsonBaseType;
export type JsonHolder = JsonObject | JsonArray;
export type JsonArray = JsonType[];
export interface JsonObject {
[key: string]: JsonType;
}
export type MapObject<V, K extends string = string> = {
[key in K]: V;
};
declare global {
interface ObjectConstructor {
typedKeys<O extends object>(o: O): (keyof O)[];
typedValues<O extends object>(o: O): O[keyof O];
typedEntries<O extends object>(o: O): [keyof O, O[keyof O]][];
}
}
export type FileType = "file" | "dir" | "none";
export declare const getFileType: (path: string) => Promise<FileType>;
export declare function isOdd(value: number): boolean;
export type PathType = "DIR" | "FILE" | "NONE";
export declare function pathType(path: string): Promise<PathType>;
export declare function trimAll(value: string): string;
export declare function filterEmpty(arr: string[]): string[];
/**
*
* @param base Base reference object for the merge
* @param overwrite Overwrite object that overwrites the values in the base object
* @returns Merged object of both objects
*/
export declare function deepMergeObject<O1 extends MapObject<any>, O2 extends MapObject<any>>(base: O1, overwrite: O2, cloneBase?: boolean): O1 & O2;
/**
*
* @param base Base object to clone
* @returns Clone of the base object
*/
export declare function cloneObject<O extends MapObject<any>>(base: O): O;
/**
*
* @param base Base array to clone
* @returns Clone of the base array
*/
export declare function cloneArray<A extends any[]>(base: A): A;
//# sourceMappingURL=base.d.ts.map