11/**
2- * This file and any referenced files were automatically generated by @cosmology/telescope@0.104 .0
2+ * This file and any referenced files were automatically generated by @cosmology/telescope@0.106 .0
33* DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain
44* and run the transpile command or yarn proto command to regenerate this bundle.
55*/
@@ -68,14 +68,38 @@ export enum WireType {
6868}
6969
7070// Reader
71+ export interface IBinaryReader {
72+ buf : Uint8Array ;
73+ pos : number ;
74+ type : number ;
75+ len : number ;
76+ tag ( ) : [ number , WireType , number ] ;
77+ skip ( length ?: number ) : this;
78+ skipType ( wireType : number ) : this;
79+ uint32 ( ) : number ;
80+ int32 ( ) : number ;
81+ sint32 ( ) : number ;
82+ fixed32 ( ) : number ;
83+ sfixed32 ( ) : number ;
84+ int64 ( ) : bigint ;
85+ uint64 ( ) : bigint ;
86+ sint64 ( ) : bigint ;
87+ fixed64 ( ) : bigint ;
88+ sfixed64 ( ) : bigint ;
89+ float ( ) : number ;
90+ double ( ) : number ;
91+ bool ( ) : boolean ;
92+ bytes ( ) : Uint8Array ;
93+ string ( ) : string ;
94+ }
7195
72- export class BinaryReader {
96+ export class BinaryReader implements IBinaryReader {
7397 buf : Uint8Array ;
7498 pos : number ;
7599 type : number ;
76100 len : number ;
77101
78- protected assertBounds ( ) : void {
102+ assertBounds ( ) : void {
79103 if ( this . pos > this . len ) throw new RangeError ( "premature EOF" ) ;
80104 }
81105
@@ -217,35 +241,73 @@ export class BinaryReader {
217241}
218242
219243// Writer
244+ export interface IBinaryWriter {
245+ len : number ;
246+ head : IOp ;
247+ tail : IOp ;
248+ states : State | null ;
249+ finish ( ) : Uint8Array ;
250+ fork ( ) : IBinaryWriter ;
251+ reset ( ) : IBinaryWriter ;
252+ ldelim ( ) : IBinaryWriter ;
253+ tag ( fieldNo : number , type : WireType ) : IBinaryWriter ;
254+ uint32 ( value : number ) : IBinaryWriter ;
255+ int32 ( value : number ) : IBinaryWriter ;
256+ sint32 ( value : number ) : IBinaryWriter ;
257+ int64 ( value : string | number | bigint ) : IBinaryWriter ;
258+ uint64 : ( value : string | number | bigint ) => IBinaryWriter ;
259+ sint64 ( value : string | number | bigint ) : IBinaryWriter ;
260+ fixed64 ( value : string | number | bigint ) : IBinaryWriter ;
261+ sfixed64 : ( value : string | number | bigint ) => IBinaryWriter ;
262+ bool ( value : boolean ) : IBinaryWriter ;
263+ fixed32 ( value : number ) : IBinaryWriter ;
264+ sfixed32 : ( value : number ) => IBinaryWriter ;
265+ float ( value : number ) : IBinaryWriter ;
266+ double ( value : number ) : IBinaryWriter ;
267+ bytes ( value : Uint8Array ) : IBinaryWriter ;
268+ string ( value : string ) : IBinaryWriter ;
269+ }
220270
221- type OpVal = string | number | object | Uint8Array ;
271+ interface IOp {
272+ len : number ;
273+ next ?: IOp ;
274+ proceed ( buf : Uint8Array | number [ ] , pos : number ) : void ;
275+ }
222276
223- class Op {
224- fn ?: ( val : OpVal , buf : Uint8Array | number [ ] , pos : number ) => void ;
277+ class Op < T > implements IOp {
278+ fn ?: ( ( val : T , buf : Uint8Array | number [ ] , pos : number ) => void ) | null ;
225279 len : number ;
226- val : OpVal ;
227- next ?: Op ;
280+ val : T ;
281+ next ?: IOp ;
228282
229283 constructor (
230- fn : (
231- val : OpVal ,
232- buf : Uint8Array | number [ ] ,
233- pos : number
234- ) => void | undefined ,
284+ fn :
285+ | ( (
286+ val : T ,
287+ buf : Uint8Array | number [ ] ,
288+ pos : number
289+ ) => void | undefined | null )
290+ | null ,
235291 len : number ,
236- val : OpVal
292+ val : T
237293 ) {
238294 this . fn = fn ;
239295 this . len = len ;
240296 this . val = val ;
241297 }
298+
299+ proceed ( buf : Uint8Array | number [ ] , pos : number ) {
300+ if ( this . fn ) {
301+ this . fn ( this . val , buf , pos ) ;
302+ }
303+ }
242304}
243305
244306class State {
245- head : Op ;
246- tail : Op ;
307+ head : IOp ;
308+ tail : IOp ;
247309 len : number ;
248- next : State ;
310+ next : State | null ;
249311
250312 constructor ( writer : BinaryWriter ) {
251313 this . head = writer . head ;
@@ -255,11 +317,11 @@ class State {
255317 }
256318}
257319
258- export class BinaryWriter {
320+ export class BinaryWriter implements IBinaryWriter {
259321 len = 0 ;
260- head : Op ;
261- tail : Op ;
262- states : State ;
322+ head : IOp ;
323+ tail : IOp ;
324+ states : State | null ;
263325
264326 constructor ( ) {
265327 this . head = new Op ( null , 0 , 0 ) ;
@@ -282,10 +344,10 @@ export class BinaryWriter {
282344 }
283345 }
284346
285- private _push (
286- fn : ( val : OpVal , buf : Uint8Array | number [ ] , pos : number ) => void ,
347+ private _push < T > (
348+ fn : ( val : T , buf : Uint8Array | number [ ] , pos : number ) => void ,
287349 len : number ,
288- val : OpVal
350+ val : T
289351 ) {
290352 this . tail = this . tail . next = new Op ( fn , len , val ) ;
291353 this . len += len ;
@@ -297,7 +359,7 @@ export class BinaryWriter {
297359 pos = 0 ;
298360 const buf = BinaryWriter . alloc ( this . len ) ;
299361 while ( head ) {
300- head . fn ( head . val , buf , pos ) ;
362+ head . proceed ( buf , pos ) ;
301363 pos += head . len ;
302364 head = head . next ;
303365 }
@@ -444,7 +506,7 @@ function pool(
444506) : ( size : number ) => Uint8Array {
445507 const SIZE = size || 8192 ;
446508 const MAX = SIZE >>> 1 ;
447- let slab = null ;
509+ let slab : Uint8Array | null = null ;
448510 let offset = SIZE ;
449511 return function pool_alloc ( size ) : Uint8Array {
450512 if ( size < 1 || size > MAX ) return alloc ( size ) ;
0 commit comments