muschema
Version:
Schemas for mudb
34 lines (33 loc) • 1.31 kB
TypeScript
import { MuSchema } from './schema';
import { MuWriteStream, MuReadStream } from 'mustreams';
export declare class MuSchemaLogger<BaseSchema extends MuSchema<any>> {
name: string;
allocCount: number;
freeCount: number;
private _schema;
private _savedAlloc;
private _savedFree;
constructor(schema: MuSchemaTrace<BaseSchema>, name: string);
begin(): void;
end(): void;
}
export declare class MuSchemaTrace<BaseSchema extends MuSchema<any>> implements MuSchema<BaseSchema['identity']> {
schema: BaseSchema;
identity: BaseSchema['identity'];
muType: BaseSchema['muType'];
muData: BaseSchema['muData'];
json: any;
logs: MuSchemaLogger<BaseSchema>[];
allocCount: number;
freeCount: number;
createLog(name: string): MuSchemaLogger<BaseSchema>;
printLog(): void;
constructor(base: BaseSchema);
alloc(): any;
free(x: BaseSchema['identity']): void;
equal(x: BaseSchema['identity'], y: BaseSchema['identity']): boolean;
clone(x: BaseSchema['identity']): any;
copy(source: BaseSchema['identity'], target: BaseSchema['identity']): void;
diff(base: BaseSchema['identity'], target: BaseSchema['identity'], out: MuWriteStream): boolean;
patch(base: BaseSchema['identity'], inp: MuReadStream): BaseSchema['identity'];
}