用户:
Nomen查看:1 回复:4 评论:1 创建时间:2023-07-07T12:48:32
这里是没有开场白的Nomen,加了DataStorage怎么能不看看呢?也许是什么数据缓存?
或者LocalStorage?
declare type DB_ERROR_STATUS = 'PARAMS_INVALID' | 'DB_NAME_INVALID' | 'KEY_INVALID' | 'VALUE_INVALID' | 'SERVER_FETCH_ERROR' | 'UNKNOWN';
declare class GameStorage {
getDataStorage: (key: string) => GameDataStorage;
constructor(getDataStorage: (key: string) => GameDataStorage);
}
declare type JSONValue = string | number | boolean | {
[x: string]: JSONValue;
} | Array<JSONValue>;
declare type ResultValue = {
key: string;
value: JSONValue;
version: string;
updateTime: number;
createTime: number;
};
declare type ListReturnValue = {
items: ResultValue[];
isLastPage: boolean;
};
declare type ReturnValue = ResultValue | undefined;
declare type ListPageOptions = {
cursor: number;
pageSize?: number;
};
/**
*
* A Data storage class
* @export
* @class GameDataStorage
*/
declare class GameDataStorage {
readonly key: string;
set: (key: string, value: JSONValue) => Promise<void>;
update: (key: string, handler: (prevValue: ReturnValue) => JSONValue) => Promise<void>;
get: (key: string) => Promise<ReturnValue>;
getVersion: (key: string, version: string) => Promise<ReturnValue>;
list: (options: ListPageOptions) => Promise<QueryList>;
remove: (key: string) => Promise<ReturnValue>;
constructor(key: string, set: (key: string, value: JSONValue) => Promise<void>, update: (key: string, handler: (prevValue: ReturnValue) => JSONValue) => Promise<void>, get: (key: string) => Promise<ReturnValue>, getVersion: (key: string, version: string) => Promise<ReturnValue>, list: (options: ListPageOptions) => Promise<QueryList>, remove: (key: string) => Promise<ReturnValue>);
}
declare class QueryList {
getCurrentPage: () => ReturnValue[];
nextPage: () => Promise<void>;
isLastPage: boolean;
constructor(getCurrentPage: () => ReturnValue[], nextPage: () => Promise<void>);
}