hazelcast-client
Version:
Hazelcast - open source In-Memory Data Grid - client for NodeJS
43 lines (42 loc) • 1.95 kB
TypeScript
import { Data, DataOutput, DataInput } from './Data';
import { SerializationConfig } from '../Config';
export interface SerializationService {
toData(object: any, paritioningStrategy?: any): Data;
toObject(data: Data): any;
writeObject(out: DataOutput, object: any): void;
readObject(inp: DataInput): any;
}
export interface Serializer {
getId(): number;
read(input: DataInput): any;
write(output: DataOutput, object: any): void;
}
export declare class SerializationServiceV1 implements SerializationService {
private registry;
private serializerNameToId;
private numberType;
private serialiationConfig;
constructor(serializationConfig: SerializationConfig);
private isData(object);
toData(object: any, partitioningStrategy?: any): Data;
toObject(data: Data): any;
writeObject(out: DataOutput, object: any): void;
readObject(inp: DataInput): any;
registerSerializer(name: string, serializer: Serializer): void;
findSerializerFor(obj: any): Serializer;
private defaultPartitionStrategy(obj);
protected lookupDefaultSerializer(obj: any): Serializer;
protected lookupCustomSerializer(obj: any): Serializer;
protected lookupGlobalSerializer(): Serializer;
protected isIdentifiedDataSerializable(obj: any): boolean;
protected isPortableSerializable(obj: any): boolean;
protected registerDefaultSerializers(): void;
protected registerIdentifiedFactories(): void;
protected registerCustomSerializers(cutomSerializersArray: any[]): void;
protected registerGlobalSerializer(candidate: any): void;
protected assertValidCustomSerializer(candidate: any): void;
protected isCustomSerializable(object: any): boolean;
protected findSerializerByName(name: string, isArray: boolean): Serializer;
protected findSerializerById(id: number): Serializer;
protected calculatePartitionHash(object: any, strategy: Function): number;
}