muschema
Version:
Schemas for mudb
19 lines (18 loc) • 1.09 kB
TypeScript
import { MuWriteStream, MuReadStream } from 'mustreams';
import { MuSchema } from './schema';
export declare type _MuArrayType<ValueSchema extends MuSchema<any>> = ValueSchema['identity'][];
export declare class MuArray<ValueSchema extends MuSchema<any>> implements MuSchema<_MuArrayType<ValueSchema>> {
readonly identity: _MuArrayType<ValueSchema>;
readonly muType: string;
readonly muData: ValueSchema;
readonly json: object;
pool: ValueSchema['identity'][][];
constructor(valueSchema: ValueSchema, id?: _MuArrayType<ValueSchema>);
alloc(): _MuArrayType<ValueSchema>;
free(arr: _MuArrayType<ValueSchema>): void;
equal(x: _MuArrayType<ValueSchema>, y: _MuArrayType<ValueSchema>): boolean;
clone(arr: _MuArrayType<ValueSchema>): _MuArrayType<ValueSchema>;
copy(source: _MuArrayType<ValueSchema>, target: _MuArrayType<ValueSchema>): void;
diff(base: _MuArrayType<ValueSchema>, target: _MuArrayType<ValueSchema>, stream: MuWriteStream): boolean;
patch(base: _MuArrayType<ValueSchema>, stream: MuReadStream): _MuArrayType<ValueSchema>;
}