@dao3fun/cooh-storage
v2.2.1
Published
a small storage by cooh
Downloads
20
Keywords
Readme
START
storageType<T, TT>
interface storageType<T, TT>
T: 存储的数据类型
TT: 转成JSON后的数据类型
注意:T中可能有不可以转成JSON的数据。此时需要手动转成JSON.
属性 / 方法:
- datas: T 存储的数据
- fromJSON(storageType: TT): void 从JSON转成storageType<T, TT>
- copy(storageType: storageType<T, TT>): void 让自己变成一个对象的副本。
- toJSON(): TT 与fromJSON相反。
interface keyObject
用于自定义存入数据的键。
属性 / 方法:
- getKey(): string; 把数据转成string。数据无要求。
示例:
export class MyKey implements keyObject {
constructor(public userId: string) {}
getKey() {
return this.userId;
}
} // Key为构造的userId.class default_keyObject implements keyObject
用于GamePlayer的保存。
效果与上方示例相同。
属性 / 方法:
- userId: string;
- constructor(userId: string);
- getKey(): string;
class cooh_storage<T, DATA, TT extends storageType<DATA, T>>
- T: 存成的JSON格式
- DATA: 需要存的数据
- TT: 自己实现的storageType。 用于T与DATA互转
属性/方法:
构造函数: 传入参数:
- type: 需要在组数据空间还是普通数据空间存数据
- name: 数据库的名字
- default_data: 没有数据的人默认数据
create(player: GamePlayer | keyObject): ValueObject
- player: GamePlayer对象或自定义键。兼容GamePlayer对象是为了让存玩家数据的操作变得更加简单。
class ValueObject<
JSON,
DATA,
ST extends storageType<DATA, JSON>,
KEY extends keyObject>属性/方法:
- datas: ST; 存储数据
- default: ST; 存储默认数据
- player: KEY; 存储键
- storage: GameDataStorage; 存储Storage
- 构造函数 一般不会用到。通过cooh_storage构造。
- async load() 加载数据
- async save() 保存数据
export type GamePlayerStorage<
T,
DATA,
TT extends storageType<DATA, T>,
> = ValueObject<T, DATA, TT, default_keyObject>;存储玩家数据的数据库类型。 旨在让存储玩家数据更加简单。
