mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-02 21:16:09 +00:00
feat: awaitable type
This commit is contained in:
parent
f100c8b5d0
commit
0136b6aae0
48
src/cache/adapters/types.ts
vendored
48
src/cache/adapters/types.ts
vendored
@ -1,41 +1,41 @@
|
||||
import type { Awaitable } from '../../common';
|
||||
|
||||
export interface Adapter {
|
||||
isAsync: boolean;
|
||||
|
||||
scan(query: string, keys?: false): RPV<any[]>;
|
||||
scan(query: string, keys: true): RPV<string[]>;
|
||||
scan(query: string, keys?: boolean): RPV<(any | string)[]>;
|
||||
scan(query: string, keys?: false): Awaitable<any[]>;
|
||||
scan(query: string, keys: true): Awaitable<string[]>;
|
||||
scan(query: string, keys?: boolean): Awaitable<(any | string)[]>;
|
||||
|
||||
get(keys: string[]): RPV<any[]>;
|
||||
get(keys: string): RPV<any | null>;
|
||||
get(keys: string | string[]): RPV<any | null>;
|
||||
get(keys: string[]): Awaitable<any[]>;
|
||||
get(keys: string): Awaitable<any | null>;
|
||||
get(keys: string | string[]): Awaitable<any | null>;
|
||||
|
||||
set(keyValue: [string, any][]): RPV<void>;
|
||||
set(id: string, data: any): RPV<void>;
|
||||
set(id: string | [string, any][], data?: any): RPV<void>;
|
||||
set(keyValue: [string, any][]): Awaitable<void>;
|
||||
set(id: string, data: any): Awaitable<void>;
|
||||
set(id: string | [string, any][], data?: any): Awaitable<void>;
|
||||
|
||||
patch(updateOnly: boolean, keyValue: [string, any][]): RPV<void>;
|
||||
patch(updateOnly: boolean, id: string, data: any): RPV<void>;
|
||||
patch(updateOnly: boolean, id: string | [string, any][], data?: any): RPV<void>;
|
||||
patch(updateOnly: boolean, keyValue: [string, any][]): Awaitable<void>;
|
||||
patch(updateOnly: boolean, id: string, data: any): Awaitable<void>;
|
||||
patch(updateOnly: boolean, id: string | [string, any][], data?: any): Awaitable<void>;
|
||||
|
||||
values(to: string): RPV<any[]>;
|
||||
values(to: string): Awaitable<any[]>;
|
||||
|
||||
keys(to: string): RPV<string[]>;
|
||||
keys(to: string): Awaitable<string[]>;
|
||||
|
||||
count(to: string): RPV<number>;
|
||||
count(to: string): Awaitable<number>;
|
||||
|
||||
remove(keys: string | string[]): RPV<void>;
|
||||
remove(keys: string | string[]): Awaitable<void>;
|
||||
|
||||
contains(to: string, keys: string): RPV<boolean>;
|
||||
contains(to: string, keys: string): Awaitable<boolean>;
|
||||
|
||||
getToRelationship(to: string): RPV<string[]>;
|
||||
getToRelationship(to: string): Awaitable<string[]>;
|
||||
|
||||
bulkAddToRelationShip(data: Record<string, string[]>): RPV<void>;
|
||||
bulkAddToRelationShip(data: Record<string, string[]>): Awaitable<void>;
|
||||
|
||||
addToRelationship(to: string, keys: string | string[]): RPV<void>;
|
||||
addToRelationship(to: string, keys: string | string[]): Awaitable<void>;
|
||||
|
||||
removeToRelationship(to: string, keys: string | string[]): RPV<void>;
|
||||
removeToRelationship(to: string, keys: string | string[]): Awaitable<void>;
|
||||
|
||||
removeRelationship(to: string | string[]): RPV<void>;
|
||||
removeRelationship(to: string | string[]): Awaitable<void>;
|
||||
}
|
||||
|
||||
export type RPV<V> = Promise<V> | V;
|
||||
|
@ -190,3 +190,5 @@ export type FlatObjectKeys<T extends Record<string, any>, Key = keyof T> = Key e
|
||||
? `${Key}`
|
||||
: never
|
||||
: never;
|
||||
|
||||
export type Awaitable<V> = Promise<V> | V;
|
||||
|
Loading…
x
Reference in New Issue
Block a user