8 changed files with 233 additions and 123 deletions
@ -1,44 +0,0 @@ |
|||
'use strict'; |
|||
Object.defineProperty(exports, '__esModule', { value: true }); |
|||
const bufferutils = require('./bufferutils'); |
|||
const types = require('./types'); |
|||
const typeforce = require('typeforce'); |
|||
const varuint = require('varuint-bitcoin'); |
|||
/** |
|||
* Helper class for serialization of bitcoin data types into a pre-allocated buffer. |
|||
*/ |
|||
class BufferWriter { |
|||
constructor(buffer, offset = 0) { |
|||
typeforce(types.tuple(types.Buffer, types.UInt32), [buffer, offset]); |
|||
this.buffer = buffer; |
|||
this.offset = offset; |
|||
} |
|||
writeUInt8(i) { |
|||
this.offset = this.buffer.writeUInt8(i, this.offset); |
|||
} |
|||
writeInt32(i) { |
|||
this.offset = this.buffer.writeInt32LE(i, this.offset); |
|||
} |
|||
writeUInt32(i) { |
|||
this.offset = this.buffer.writeUInt32LE(i, this.offset); |
|||
} |
|||
writeUInt64(i) { |
|||
this.offset = bufferutils.writeUInt64LE(this.buffer, i, this.offset); |
|||
} |
|||
writeVarInt(i) { |
|||
varuint.encode(i, this.buffer, this.offset); |
|||
this.offset += varuint.encode.bytes; |
|||
} |
|||
writeSlice(slice) { |
|||
this.offset += slice.copy(this.buffer, this.offset); |
|||
} |
|||
writeVarSlice(slice) { |
|||
this.writeVarInt(slice.length); |
|||
this.writeSlice(slice); |
|||
} |
|||
writeVector(vector) { |
|||
this.writeVarInt(vector.length); |
|||
vector.forEach(buf => this.writeVarSlice(buf)); |
|||
} |
|||
} |
|||
exports.BufferWriter = BufferWriter; |
@ -1,54 +0,0 @@ |
|||
import * as bufferutils from './bufferutils'; |
|||
import * as types from './types'; |
|||
|
|||
const typeforce = require('typeforce'); |
|||
const varuint = require('varuint-bitcoin'); |
|||
|
|||
/** |
|||
* Helper class for serialization of bitcoin data types into a pre-allocated buffer. |
|||
*/ |
|||
export class BufferWriter { |
|||
buffer: Buffer; |
|||
offset: number; |
|||
|
|||
constructor(buffer: Buffer, offset: number = 0) { |
|||
typeforce(types.tuple(types.Buffer, types.UInt32), [buffer, offset]); |
|||
this.buffer = buffer; |
|||
this.offset = offset; |
|||
} |
|||
|
|||
writeUInt8(i: number): void { |
|||
this.offset = this.buffer.writeUInt8(i, this.offset); |
|||
} |
|||
|
|||
writeInt32(i: number): void { |
|||
this.offset = this.buffer.writeInt32LE(i, this.offset); |
|||
} |
|||
|
|||
writeUInt32(i: number): void { |
|||
this.offset = this.buffer.writeUInt32LE(i, this.offset); |
|||
} |
|||
|
|||
writeUInt64(i: number): void { |
|||
this.offset = bufferutils.writeUInt64LE(this.buffer, i, this.offset); |
|||
} |
|||
|
|||
writeVarInt(i: number): void { |
|||
varuint.encode(i, this.buffer, this.offset); |
|||
this.offset += varuint.encode.bytes; |
|||
} |
|||
|
|||
writeSlice(slice: Buffer): void { |
|||
this.offset += slice.copy(this.buffer, this.offset); |
|||
} |
|||
|
|||
writeVarSlice(slice: Buffer): void { |
|||
this.writeVarInt(slice.length); |
|||
this.writeSlice(slice); |
|||
} |
|||
|
|||
writeVector(vector: Buffer[]): void { |
|||
this.writeVarInt(vector.length); |
|||
vector.forEach((buf: Buffer) => this.writeVarSlice(buf)); |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
/** |
|||
* Helper class for serialization of bitcoin data types into a pre-allocated buffer. |
|||
*/ |
|||
export declare class BufferWriter { |
|||
buffer: Buffer; |
|||
offset: number; |
|||
constructor(buffer: Buffer, offset?: number); |
|||
writeUInt8(i: number): void; |
|||
writeInt32(i: number): void; |
|||
writeUInt32(i: number): void; |
|||
writeUInt64(i: number): void; |
|||
writeVarInt(i: number): void; |
|||
writeSlice(slice: Buffer): void; |
|||
writeVarSlice(slice: Buffer): void; |
|||
writeVector(vector: Buffer[]): void; |
|||
} |
@ -1,3 +1,35 @@ |
|||
export declare function readUInt64LE(buffer: Buffer, offset: number): number; |
|||
export declare function writeUInt64LE(buffer: Buffer, value: number, offset: number): number; |
|||
export declare function reverseBuffer(buffer: Buffer): Buffer; |
|||
/** |
|||
* Helper class for serialization of bitcoin data types into a pre-allocated buffer. |
|||
*/ |
|||
export declare class BufferWriter { |
|||
private buffer; |
|||
offset: number; |
|||
constructor(buffer: Buffer, offset?: number); |
|||
writeUInt8(i: number): void; |
|||
writeInt32(i: number): void; |
|||
writeUInt32(i: number): void; |
|||
writeUInt64(i: number): void; |
|||
writeVarInt(i: number): void; |
|||
writeSlice(slice: Buffer): void; |
|||
writeVarSlice(slice: Buffer): void; |
|||
writeVector(vector: Buffer[]): void; |
|||
} |
|||
/** |
|||
* Helper class for serialization of bitcoin data types into a pre-allocated buffer. |
|||
*/ |
|||
export declare class BufferReader { |
|||
private buffer; |
|||
offset: number; |
|||
constructor(buffer: Buffer, offset?: number); |
|||
readUInt8(): number; |
|||
readInt32(): number; |
|||
readUInt32(): number; |
|||
readUInt64(): number; |
|||
readVarInt(): number; |
|||
readSlice(n: number): Buffer; |
|||
readVarSlice(): Buffer; |
|||
readVector(): Buffer[]; |
|||
} |
|||
|
Loading…
Reference in new issue