mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-03 05:26:07 +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 {
|
export interface Adapter {
|
||||||
isAsync: boolean;
|
isAsync: boolean;
|
||||||
|
|
||||||
scan(query: string, keys?: false): RPV<any[]>;
|
scan(query: string, keys?: false): Awaitable<any[]>;
|
||||||
scan(query: string, keys: true): RPV<string[]>;
|
scan(query: string, keys: true): Awaitable<string[]>;
|
||||||
scan(query: string, keys?: boolean): RPV<(any | string)[]>;
|
scan(query: string, keys?: boolean): Awaitable<(any | string)[]>;
|
||||||
|
|
||||||
get(keys: string[]): RPV<any[]>;
|
get(keys: string[]): Awaitable<any[]>;
|
||||||
get(keys: string): RPV<any | null>;
|
get(keys: string): Awaitable<any | null>;
|
||||||
get(keys: string | string[]): RPV<any | null>;
|
get(keys: string | string[]): Awaitable<any | null>;
|
||||||
|
|
||||||
set(keyValue: [string, any][]): RPV<void>;
|
set(keyValue: [string, any][]): Awaitable<void>;
|
||||||
set(id: string, data: any): RPV<void>;
|
set(id: string, data: any): Awaitable<void>;
|
||||||
set(id: string | [string, any][], data?: any): RPV<void>;
|
set(id: string | [string, any][], data?: any): Awaitable<void>;
|
||||||
|
|
||||||
patch(updateOnly: boolean, keyValue: [string, any][]): RPV<void>;
|
patch(updateOnly: boolean, keyValue: [string, any][]): Awaitable<void>;
|
||||||
patch(updateOnly: boolean, id: string, data: any): RPV<void>;
|
patch(updateOnly: boolean, id: string, data: any): Awaitable<void>;
|
||||||
patch(updateOnly: boolean, id: string | [string, any][], data?: any): RPV<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}`
|
? `${Key}`
|
||||||
: never
|
: never
|
||||||
: never;
|
: never;
|
||||||
|
|
||||||
|
export type Awaitable<V> = Promise<V> | V;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user