@isopodlabs/binary_libs 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/binary.d.ts DELETED
@@ -1,397 +0,0 @@
1
- import * as utils from './binary_helpers';
2
- export * as utils from './binary_helpers';
3
- export interface _stream {
4
- be?: boolean;
5
- remaining: () => number;
6
- remainder: () => any;
7
- tell: () => number;
8
- seek: (offset: number) => void;
9
- skip: (offset: number) => void;
10
- align: (align: number) => void;
11
- dataview: (len: number) => DataView;
12
- read_buffer: (len: number) => any;
13
- write_buffer: (value: Uint8Array) => void;
14
- }
15
- export interface TypeReaderT<T> {
16
- get(s: _stream, obj?: any): T;
17
- }
18
- interface TypeWriterT<T> {
19
- put(s: _stream, v: T): void;
20
- }
21
- export type TypeT<T> = TypeReaderT<T> & TypeWriterT<T>;
22
- export type TypeReader = TypeReaderT<any> | {
23
- [key: string]: TypeReader;
24
- };
25
- export type TypeWriter = TypeWriterT<any> | {
26
- [key: string]: TypeWriter;
27
- };
28
- export type Type = TypeT<any> | {
29
- [key: string]: Type;
30
- };
31
- interface MergeType<T> {
32
- merge: T;
33
- }
34
- export type ReadType<T> = T extends TypeReaderT<infer R> ? R : {
35
- [K in keyof T]: T[K] extends TypeReaderT<infer R> ? (R extends MergeType<infer U> ? never : R) : never;
36
- } & {
37
- [K in keyof T as T[K] extends TypeReaderT<infer R extends MergeType<infer U>> ? keyof U : never]: T[K] extends TypeReaderT<infer R extends MergeType<infer U>> ? U[keyof U] : never;
38
- };
39
- export declare function ReadStruct<T extends TypeReader>(spec: T): (new (s: _stream) => ReadType<T>) & {
40
- get: (s: _stream) => ReadType<T>;
41
- };
42
- export declare function ReadWriteStruct<T extends Type>(spec: T): (new (s: _stream) => ReadType<T> & {
43
- write(w: _stream): void;
44
- }) & {
45
- get: (s: _stream) => ReadType<T>;
46
- put: (s: _stream, v: any) => void;
47
- };
48
- export declare function isReader(type: any): type is TypeReaderT<any>;
49
- export declare function isWriter(type: any): type is TypeWriterT<any>;
50
- export declare function isType(type: any): type is TypeT<any>;
51
- export declare function read<T extends TypeReader>(s: _stream, spec: T, obj?: any): ReadType<T>;
52
- export declare function read_more<T extends TypeReader, O extends Record<string, any>>(s: _stream, specs: T, obj: O): ReadType<T> & O;
53
- export declare function write(s: _stream, type: TypeWriter, value: any): void;
54
- type TypeX<T> = TypeT<T> | ((obj: any) => T) | T;
55
- export declare class stream implements _stream {
56
- protected buffer: ArrayBuffer;
57
- offset0: number;
58
- offset: number;
59
- end: number;
60
- constructor(data: Uint8Array);
61
- remaining(): number;
62
- remainder(): Uint8Array;
63
- tell(): number;
64
- seek(offset: number): this;
65
- skip(offset: number): this;
66
- align(align: number): void;
67
- dataview(len: number): DataView;
68
- buffer_at(offset: number, len?: number): Uint8Array;
69
- read_buffer(len: number): Uint8Array;
70
- write_buffer(v: Uint8Array): void;
71
- }
72
- export declare class stream_grow extends stream {
73
- constructor(data?: Uint8Array);
74
- checksize(len: number): void;
75
- dataview(len: number): DataView;
76
- buffer_at(offset: number, len: number): Uint8Array;
77
- read_buffer(len: number): Uint8Array;
78
- write_buffer(v: Uint8Array): void;
79
- terminate(): Uint8Array;
80
- }
81
- declare class dummy_dataview implements DataView {
82
- offset: number;
83
- readonly buffer: ArrayBuffer;
84
- readonly byteLength: number;
85
- readonly byteOffset: number;
86
- readonly [Symbol.toStringTag]: string;
87
- constructor(offset: number);
88
- getFloat32(byteOffset: number, littleEndian?: boolean): number;
89
- getFloat64(byteOffset: number, littleEndian?: boolean): number;
90
- getInt8(byteOffset: number): number;
91
- getInt16(byteOffset: number, littleEndian?: boolean): number;
92
- getInt32(byteOffset: number, littleEndian?: boolean): number;
93
- getUint8(byteOffset: number): number;
94
- getUint16(byteOffset: number, littleEndian?: boolean): number;
95
- getUint32(byteOffset: number, littleEndian?: boolean): number;
96
- getBigInt64(byteOffset: number, littleEndian?: boolean): bigint;
97
- getBigUint64(byteOffset: number, littleEndian?: boolean): bigint;
98
- setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void;
99
- setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void;
100
- setInt8(byteOffset: number, value: number): void;
101
- setInt16(byteOffset: number, value: number, littleEndian?: boolean): void;
102
- setInt32(byteOffset: number, value: number, littleEndian?: boolean): void;
103
- setUint8(byteOffset: number, value: number): void;
104
- setUint16(byteOffset: number, value: number, littleEndian?: boolean): void;
105
- setUint32(byteOffset: number, value: number, littleEndian?: boolean): void;
106
- setBigInt64(byteOffset: number, value: bigint, littleEndian?: boolean): void;
107
- setBigUint64(byteOffset: number, value: bigint, littleEndian?: boolean): void;
108
- }
109
- export declare class dummy implements _stream {
110
- offset: number;
111
- remaining(): number;
112
- remainder(): number;
113
- tell(): number;
114
- seek(offset: number): void;
115
- skip(offset: number): void;
116
- align(align: number): void;
117
- dataview(len: number): dummy_dataview;
118
- read_buffer(len: number): number;
119
- write_buffer(v: Uint8Array): void;
120
- }
121
- export declare const UINT8: {
122
- get(s: _stream): number;
123
- put(s: _stream, v: number): void;
124
- };
125
- export declare const INT8: {
126
- get(s: _stream): number;
127
- put(s: _stream, v: number): void;
128
- };
129
- export declare const UINT16_LE: {
130
- get(s: _stream): number;
131
- put(s: _stream, v: number): void;
132
- };
133
- export declare const UINT16_BE: {
134
- get(s: _stream): number;
135
- put(s: _stream, v: number): void;
136
- };
137
- export declare const INT16_LE: {
138
- get(s: _stream): number;
139
- put(s: _stream, v: number): void;
140
- };
141
- export declare const INT16_BE: {
142
- get(s: _stream): number;
143
- put(s: _stream, v: number): void;
144
- };
145
- export declare const UINT16: {
146
- get(s: _stream): number;
147
- put(s: _stream, v: number): void;
148
- };
149
- export declare const INT16: {
150
- get(s: _stream): number;
151
- put(s: _stream, v: number): void;
152
- };
153
- export declare const UINT32_LE: {
154
- get(s: _stream): number;
155
- put(s: _stream, v: number): void;
156
- };
157
- export declare const UINT32_BE: {
158
- get(s: _stream): number;
159
- put(s: _stream, v: number): void;
160
- };
161
- export declare const INT32_LE: {
162
- get(s: _stream): number;
163
- put(s: _stream, v: number): void;
164
- };
165
- export declare const INT32_BE: {
166
- get(s: _stream): number;
167
- put(s: _stream, v: number): void;
168
- };
169
- export declare const UINT32: {
170
- get(s: _stream): number;
171
- put(s: _stream, v: number): void;
172
- };
173
- export declare const INT32: {
174
- get(s: _stream): number;
175
- put(s: _stream, v: number): void;
176
- };
177
- export declare const UINT64_LE: {
178
- get(s: _stream): bigint;
179
- put(s: _stream, v: bigint): void;
180
- };
181
- export declare const UINT64_BE: {
182
- get(s: _stream): bigint;
183
- put(s: _stream, v: bigint): void;
184
- };
185
- export declare const UINT64: {
186
- get(s: _stream): bigint;
187
- put(s: _stream, v: bigint): void;
188
- };
189
- export declare const INT64_LE: {
190
- get(s: _stream): bigint;
191
- put(s: _stream, v: bigint): void;
192
- };
193
- export declare const INT64_BE: {
194
- get(s: _stream): bigint;
195
- put(s: _stream, v: bigint): void;
196
- };
197
- export declare const INT64: {
198
- get(s: _stream): bigint;
199
- put(s: _stream, v: bigint): void;
200
- };
201
- type TypeNumber<T extends number> = T extends 8 | 16 | 24 | 32 | 40 | 48 | 56 ? TypeT<number> : TypeT<bigint>;
202
- export declare function UINT<T extends number>(bits: T, be?: boolean): TypeNumber<T>;
203
- export declare function INT<T extends number>(bits: T, be?: boolean): TypeNumber<T>;
204
- export declare const Float32_LE: {
205
- get(s: _stream): number;
206
- put(s: _stream, v: number): void;
207
- };
208
- export declare const Float32_BE: {
209
- get(s: _stream): number;
210
- put(s: _stream, v: number): void;
211
- };
212
- export declare const Float64_LE: {
213
- get(s: _stream): number;
214
- put(s: _stream, v: number): void;
215
- };
216
- export declare const Float64_BE: {
217
- get(s: _stream): number;
218
- put(s: _stream, v: number): void;
219
- };
220
- export declare const Float32: {
221
- get(s: _stream): number;
222
- put(s: _stream, v: number): void;
223
- };
224
- export declare const Float64: {
225
- get(s: _stream): number;
226
- put(s: _stream, v: number): void;
227
- };
228
- export declare const ULEB128: {
229
- get(s: _stream): number | bigint;
230
- put(s: _stream, v: number | bigint): void;
231
- };
232
- export declare function StringType(len: TypeX<number>, encoding?: utils.TextEncoding, zeroTerminated?: boolean, lenScale?: number): {
233
- get(s: _stream, obj?: any): string;
234
- put(s: _stream, v: string): void;
235
- };
236
- export declare const NullTerminatedStringType: {
237
- get(s: _stream): string;
238
- put(s: _stream, v: string): void;
239
- };
240
- export declare function RemainingStringType(encoding?: utils.TextEncoding, zeroTerminated?: boolean): {
241
- get(s: _stream): string;
242
- put(s: _stream, v: string): void;
243
- };
244
- export declare function readn<T extends TypeReader>(s: _stream, type: TypeReader, n: number, obj?: any): ReadType<T>[];
245
- export declare function writen(s: _stream, type: TypeWriter, v: any): void;
246
- export declare function ArrayType<T extends Type>(len: TypeX<number>, elemtype: T): {
247
- get: (s: _stream, obj?: any) => ReadType<T>[];
248
- put: (s: _stream, v: T[]) => void;
249
- };
250
- export declare function RemainingArrayType<T extends Type>(elemtype: T): {
251
- get: (s: _stream, obj?: any) => ReadType<T>[];
252
- put: (s: _stream, v: T[]) => void;
253
- };
254
- export declare function withNames<T>(array: T[], func: (v: T, i: number) => string): [string, T][];
255
- export declare const field: (field: string) => (v: any, i: number) => any;
256
- export declare const names: (names: string[]) => (v: any, i: number) => string;
257
- export declare function arrayWithNames<T extends Type>(type: T, func: (v: any, i: number) => string): {
258
- get: (s: _stream) => [string, any][];
259
- put: (s: _stream, v: [string, any][]) => void;
260
- };
261
- export declare function objectWithNames<T extends Type>(type: T, func: (v: any, i: number) => string): {
262
- get: (s: _stream) => {
263
- [k: string]: any;
264
- };
265
- put: (s: _stream, v: Record<string, any>) => void;
266
- };
267
- type Constructor<T, D, O = void> = new (arg: T, opt: O) => D;
268
- type Factory<T, D, O = void> = (arg: T, opt: O) => D;
269
- type ClassOrFactory<T, D, O = void> = Constructor<T, D, O> | Factory<T, D, O>;
270
- export declare function Struct<T extends Type>(spec: T): {
271
- get: (s: _stream, obj?: any) => ReadType<T>;
272
- put: (s: _stream, v: any) => void;
273
- };
274
- export declare const Remainder: {
275
- get: (s: _stream) => any;
276
- put: (s: _stream, v: Uint8Array) => void;
277
- };
278
- export declare function Buffer(len: TypeX<number>): {
279
- get: (s: _stream, obj?: any) => any;
280
- put: (s: _stream, v: Uint8Array) => void;
281
- };
282
- export declare function SkipType(len: number): {
283
- get: (s: _stream) => void;
284
- put: (s: _stream, v: undefined) => void;
285
- };
286
- export declare function AlignType(align: number): {
287
- get: (s: _stream) => void;
288
- put: (s: _stream, v: undefined) => void;
289
- };
290
- export declare function Discard(type: Type): {
291
- get(s: _stream): undefined;
292
- };
293
- export declare function DontRead<T>(): {
294
- get(s: _stream): T | undefined;
295
- put(s: _stream, v: T): void;
296
- };
297
- export declare function SizeType<T extends Type>(len: TypeX<number>, targettype: T): {
298
- get(s: _stream, obj: any): ReadType<T>;
299
- put(s: _stream): void;
300
- };
301
- export declare function OffsetType<T extends Type>(offsettype: TypeX<number>, targettype: T): {
302
- get(s: _stream, obj: any): ReadType<T>;
303
- put(s: _stream): void;
304
- };
305
- export declare function MaybeOffsetType<T extends Type>(offsettype: TypeX<number>, targettype: T): {
306
- get(s: _stream, obj: any): ReadType<T> | undefined;
307
- put(s: _stream): void;
308
- };
309
- export declare function as<T extends Type, D>(type: T, maker: ClassOrFactory<ReadType<T>, D, any>): {
310
- get(s: _stream, obj: any): D;
311
- put(s: _stream, v: D): void;
312
- };
313
- export declare function Const<T>(t: T): {
314
- get(s: _stream, obj: any): T;
315
- put(s: _stream, v: any): void;
316
- };
317
- export declare function Func<T>(func: (obj?: any) => T): {
318
- get(s: _stream, obj: any): T;
319
- put(s: _stream, v: any): void;
320
- };
321
- export declare function FuncType<T extends Type>(func: (obj?: any) => T): {
322
- get(s: _stream, obj: any): ReadType<T>;
323
- put(s: _stream, v: any): void;
324
- };
325
- export declare function If<T extends Type, F extends Type | undefined>(test: TypeX<boolean | number>, true_type: T, false_type?: F): {
326
- get(s: _stream, obj: any): MergeType<ReadType<T> | ReadType<F>>;
327
- put(s: _stream, v?: ReadType<T> | ReadType<F> | undefined): void;
328
- };
329
- export declare function Optional<T extends Type>(test: TypeX<boolean | number>, type: T): {
330
- get(s: _stream, obj: any): ReadType<T> | undefined;
331
- put(s: _stream, v?: ReadType<T> | undefined): void;
332
- };
333
- export declare function Switch<T extends Record<string | number, Type>>(test: TypeX<string | number>, switches: T): {
334
- get(s: _stream, obj: any): ReadType<T[keyof T]>;
335
- put(s: _stream, v: T): void;
336
- };
337
- export declare class hex<T extends number | bigint> {
338
- value: T;
339
- constructor(value: T);
340
- valueOf(): T;
341
- toString(): string;
342
- }
343
- export declare const XINT16: {
344
- get(s: _stream, obj: any): hex<number | bigint>;
345
- put(s: _stream, v: hex<number | bigint>): void;
346
- };
347
- export declare const XINT32: {
348
- get(s: _stream, obj: any): hex<number | bigint>;
349
- put(s: _stream, v: hex<number | bigint>): void;
350
- };
351
- export declare const XINT64: {
352
- get(s: _stream, obj: any): hex<number | bigint>;
353
- put(s: _stream, v: hex<number | bigint>): void;
354
- };
355
- export declare const XINT16_LE: {
356
- get(s: _stream, obj: any): hex<number | bigint>;
357
- put(s: _stream, v: hex<number | bigint>): void;
358
- };
359
- export declare const XINT32_LE: {
360
- get(s: _stream, obj: any): hex<number | bigint>;
361
- put(s: _stream, v: hex<number | bigint>): void;
362
- };
363
- export declare const XINT64_LE: {
364
- get(s: _stream, obj: any): hex<number | bigint>;
365
- put(s: _stream, v: hex<number | bigint>): void;
366
- };
367
- export type EnumType = {
368
- [key: string]: string | number;
369
- [value: number]: string;
370
- } | {
371
- [key: string]: number;
372
- };
373
- export declare function EnumV<T extends EnumType>(e: T): (x: number) => T[keyof T] & number;
374
- export declare function Enum(e: EnumType): (x: number) => string;
375
- export declare function Flags(e: EnumType, noFalse: boolean): (x: number | bigint) => Record<string, bigint | boolean> | Record<string, number | boolean>;
376
- export type BitField<D> = [number, ClassOrFactory<number, D>];
377
- export declare function BitFields<T extends Record<string, number | BitField<any>>>(bitfields: T): <V extends number | bigint>(x: V) => { [K in keyof T]: T[K] extends BitField<infer D> ? D : V; };
378
- export declare function asEnum<T extends TypeT<number>, E extends EnumType>(type: T, e: E): {
379
- get(s: _stream, obj: any): string;
380
- put(s: _stream, v: string): void;
381
- };
382
- export declare function asFlags<T extends TypeT<number | bigint>, E extends EnumType>(type: T, e: E, noFalse?: boolean): {
383
- get(s: _stream, obj: any): Record<string, bigint | boolean> | Record<string, number | boolean>;
384
- put(s: _stream, v: Record<string, bigint | boolean> | Record<string, number | boolean>): void;
385
- };
386
- export declare function asInt<T extends TypeT<string>>(type: T, radix?: number): {
387
- get(s: _stream, obj: any): number;
388
- put(s: _stream, v: number): void;
389
- };
390
- export declare function asFixed<T extends TypeT<number>>(type: T, fracbits: number): {
391
- get(s: _stream, obj: any): number;
392
- put(s: _stream, v: number): void;
393
- };
394
- export declare class stream_endian extends stream {
395
- be: boolean;
396
- constructor(data: Uint8Array, be: boolean);
397
- }