teambition-sdk-socket
Version:
Front-End SDK for Teambition
24 lines (23 loc) • 1.22 kB
TypeScript
import { Observable } from 'rxjs/Observable';
import DataBase from '../storage/Database';
import { Schema } from '../schemas/schema';
import Collection from './BaseCollection';
export default class Model {
static DataBase: DataBase;
static TeardownLogics: Set<Function>;
protected _collections: Map<string, Collection<any>>;
constructor();
delete(namespace: string): Observable<void>;
update<T>(namespace: string, patch: T): Observable<T>;
checkSchema(index: string): boolean;
/**
* 存储那些不标准的 Schema,这些 Schema 通常没有 _id 字段且后续不需要更新
* 在获取后删除由于 sdk 导致的冗余字段
**/
saveNonstandardSchema<T>(_id: string, data: T): Observable<T>;
getNonstandardSchema<T>(_id: string): Observable<T>;
protected _save<T>(data: Schema<T> & T, unionFlag?: string): Observable<T>;
protected _saveCollection<T>(namespace: string, data: Schema<T>[], schemaName?: string, condition?: (data: T) => boolean | Observable<boolean>, unionFlag?: string): Observable<T[]>;
protected _get<T>(index: string): Observable<T> | null;
protected _updateCollection<T>(namespace: string, patch: any): Observable<T[]>;
}