dbgate-tools
Version:
Auxiliary tools for other DbGate packages.
81 lines (80 loc) • 2.7 kB
TypeScript
export declare const DB_KEYS_SHOW_INCREMENT = 100;
export interface RedisNodeModelBase {
text?: string;
sortKey: string;
key: string;
count?: number;
level: number;
keyPath: string[];
parentKey: string;
}
export interface RedisLeafNodeModel extends RedisNodeModelBase {
type: 'string' | 'hash' | 'set' | 'list' | 'zset' | 'stream' | 'binary' | 'ReJSON-RL';
}
export interface RedisFolderNodeModel extends RedisNodeModelBase {
type: 'dir';
}
export interface RedisFolderStateMode {
key: string;
visibleCount?: number;
isExpanded?: boolean;
}
export interface RedisTreeModel {
treeKeySeparator: string;
root: RedisFolderNodeModel;
dirsByKey: {
[key: string]: RedisFolderNodeModel;
};
dirStateByKey: {
[key: string]: RedisFolderStateMode;
};
childrenByKey: {
[key: string]: RedisNodeModel[];
};
keyObjectsByKey: {
[key: string]: RedisNodeModel;
};
scannedKeys: number;
loadCount: number;
dbsize: number;
cursor: string;
loadedAll: boolean;
}
export type RedisNodeModel = RedisLeafNodeModel | RedisFolderNodeModel;
export interface RedisLoadedModel {
key: string;
type: 'string' | 'hash' | 'set' | 'list' | 'zset' | 'stream' | 'binary' | 'ReJSON-RL';
count?: number;
}
export interface RedisLoadResult {
nextCursor: string;
keys: RedisLoadedModel[];
dbsize: number;
}
export type RedisChangeModelFunction = (func: (model: RedisTreeModel) => RedisTreeModel, loadNextPage: boolean) => void;
export declare function redis_mergeNextPage(tree: RedisTreeModel, nextPage: RedisLoadResult): RedisTreeModel;
export declare function redis_markNodeExpanded(tree: RedisTreeModel, root: string, isExpanded: boolean): RedisTreeModel;
export declare function redis_showNextItems(tree: RedisTreeModel, root: string): RedisTreeModel;
export declare function redis_createNewModel(treeKeySeparator: string): RedisTreeModel;
export declare function redis_clearLoadedData(tree: RedisTreeModel): RedisTreeModel;
export declare function redis_getFlatList(tree: RedisTreeModel): RedisNodeModel[];
export interface SupportedRedisKeyType {
name: string;
label: string;
dbKeyFields: {
name: string;
cols?: number;
label?: string;
placeholder?: string;
}[];
dbKeyFieldsForGrid?: {
name: string;
cols?: number;
label?: string;
}[];
keyColumn?: string;
showItemList?: boolean;
showGeneratedId?: boolean;
}
export declare const supportedRedisKeyTypes: SupportedRedisKeyType[];
export declare function findSupportedRedisKeyType(type: string): SupportedRedisKeyType | undefined;