mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
24 lines
1.0 KiB
TypeScript
24 lines
1.0 KiB
TypeScript
/*
|
|
* CloudBeaver - Cloud Database Manager
|
|
* Copyright (C) 2020-2024 DBeaver Corp and others
|
|
*
|
|
* Licensed under the Apache License, Version 2.0.
|
|
* you may not use this file except in compliance with the License.
|
|
*/
|
|
import type { IDatabaseDataAction, IDatabaseDataActionClass, IDatabaseDataActionInterface } from './IDatabaseDataAction';
|
|
import type { IDatabaseDataResult } from './IDatabaseDataResult';
|
|
|
|
export interface IDatabaseDataActions<TOptions, TResult extends IDatabaseDataResult> {
|
|
tryGet: <T extends IDatabaseDataAction<TOptions, TResult>>(
|
|
result: TResult,
|
|
action: IDatabaseDataActionClass<TOptions, TResult, T>,
|
|
) => T | undefined;
|
|
get: <T extends IDatabaseDataAction<TOptions, TResult>>(result: TResult, action: IDatabaseDataActionClass<TOptions, TResult, T>) => T;
|
|
getImplementation: <T extends IDatabaseDataAction<TOptions, TResult>>(
|
|
result: TResult,
|
|
action: IDatabaseDataActionInterface<TOptions, TResult, T>,
|
|
) => T | undefined;
|
|
|
|
updateResults: (results: TResult[]) => void;
|
|
}
|