mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
34 lines
982 B
TypeScript
34 lines
982 B
TypeScript
import msgpack = require('msgpack5');
|
|
|
|
// msgpack()
|
|
let packer = msgpack();
|
|
packer = msgpack({ forceFloat64: true });
|
|
packer = msgpack({ compatibilityMode: true });
|
|
|
|
class InputType {
|
|
number: number;
|
|
string: string;
|
|
|
|
constructor() {
|
|
this.number = 1;
|
|
this.string = '1';
|
|
}
|
|
}
|
|
|
|
// msgpack().encode, msgpack().decode()
|
|
const IN: InputType = new InputType();
|
|
const encoded = packer.encode(IN);
|
|
const OUT: InputType = packer.decode(encoded);
|
|
|
|
// msgpack().registerEncoder(), msgpack().registerDecoder()
|
|
packer = packer.registerEncoder((o: InputType) => true, (o: InputType) => new Buffer(''));
|
|
packer = packer.registerDecoder(0x01, (data) => ({ content: { number: 1, string: '1' }}));
|
|
|
|
// msgpack().register()
|
|
packer = packer.register<InputType>(0x01, InputType, (obj: InputType) => new Buffer(''), (data: Buffer) => (new InputType()));
|
|
|
|
// msgpack().encoder(), msgpack().decoder()
|
|
const encoder = packer.encoder();
|
|
const decoder = packer.decoder();
|
|
encoder.pipe(decoder);
|