@zzzeros0/nbsp 0.2.1 → 0.3.0

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/README.md CHANGED
@@ -27,27 +27,26 @@ interface AckPacket {
27
27
  } // domain AckPacket
28
28
 
29
29
  interface Packet {
30
- header: number;
30
+ header: byte;
31
31
  id: string;
32
32
  method: string;
33
33
  content: string;
34
34
  } // domain Packet
35
35
 
36
36
  // Transformers
37
-
38
37
  // Transforms string <-> number[]
39
38
  const stringTransform = {
40
- input: [(data: string) => toUint8Array(data)],
39
+ input: [(data: string) => toBytes(data)],
41
40
  output: [(data: bytes) => toString(data)],
42
41
  };
43
42
 
44
43
  // Transforms hex string <-> hex number[]
45
44
  const hexStringTransform = {
46
- input: [(data: string) => toUint8Array(data, true)],
45
+ input: [(data: string) => toBytes(data, true)],
47
46
  output: [(data: bytes) => toString(data, true)],
48
47
  };
49
48
 
50
- const AckPacketStructure = structure<AckPacket, Transformers<AckPacket>>(
49
+ const AckPacketStruct = struct<AckPacket, Transformers<AckPacket>>(
51
50
  {
52
51
  id: charDataType(6),
53
52
  },
@@ -57,9 +56,9 @@ const AckPacketStructure = structure<AckPacket, Transformers<AckPacket>>(
57
56
  id: hexStringTransform,
58
57
  },
59
58
  },
60
- ); // AckPacketStructure Constructor (class)
59
+ ); // AckPacketStruct Constructor (class)
61
60
 
62
- const PacketStructure = structure<Packet, Transformers<Packet>>(
61
+ const PacketStruct = struct<Packet, Transformers<Packet>>(
63
62
  {
64
63
  header: DataType.UINT32LE,
65
64
  id: charDataType(6),
@@ -74,95 +73,95 @@ const PacketStructure = structure<Packet, Transformers<Packet>>(
74
73
  content: stringTransform,
75
74
  },
76
75
  },
77
- ); // PacketStructure Constructor (class)
76
+ ); // PacketStruct Constructor (class)
78
77
 
79
- console.log(AckPacketStructure.size); // 6 (Unpacked: 10)
80
- console.log(PacketStructure.size); // 78 (Unpacked: 128)
78
+ console.log(AckPacketStruct.size); // 6 (Unpacked: 10)
79
+ console.log(PacketStruct.size); // 78 (Unpacked: 128)
81
80
 
82
81
  mqttClient.on("message", (topic, msg) => {
83
- const packet = PacketStructure.from(msg);
82
+ const packet = PacketStruct.from(msg);
84
83
 
85
84
  processMessage(topic, packet.id, packet.method, packet.content).then(() => {
86
- const ackMessage = AckPacketStructure.from(msg, sizeof(DataType.UINT32LE)); // Offset the 'header' property
85
+ const ackMessage = AckPacketStruct.from(msg, sizeof(DataType.UINT32LE)); // Offset the 'header' property
87
86
 
88
87
  mqttClient.publish("ack", ackMessage.data());
89
88
  });
90
89
  });
91
90
  ```
92
91
 
93
- ### Structure Constructor methods
92
+ ### Struct Constructor methods
94
93
 
95
- | Method | Description | Arguments | Returned type |
96
- | ------ | ----------------------------------------------------------------- | -------------------------------------------------- | -------------- |
97
- | from | Creates a new instance and copies the buffer content from target. | `(target: Structure \| Buffer,offset: number = 0)` | `Structure<T>` |
98
- | toJson | Creates a plain object, resolving with the data of the buffer. | | T |
94
+ | Method | Description | Arguments | Returned type |
95
+ | ------ | ----------------------------------------------------------------- | -------------------------------------------- | ------------- |
96
+ | from | Creates a new instance and copies the buffer content from target. | `(target: Buffer \| Struct, byte: byte = 0)` | `Struct<T>` |
97
+ | toJson | Creates a plain object, resolving with the data of the buffer. | `(target: Buffer, offset: byte = 0)` | T |
99
98
 
100
- ### Structure methods
99
+ ### Struct methods
101
100
 
102
- | Method | Description | Arguments | Returned type |
103
- | ------ | -------------------------------------- | --------------------------------------------------- | ------------- |
104
- | data | Returns the internal buffer (no copy). | | `boolean` |
105
- | reset | Zero the internal buffer content. | | `void` |
106
- | toJson | Returns a plain object. | | `T` |
107
- | copy | Copies the buffer content from target. | `(target: Buffer \| Structure, offset: number = 0)` | `void` |
101
+ | Method | Description | Arguments | Returned type |
102
+ | ------ | -------------------------------------- | ---------------------------------------------- | ------------- |
103
+ | data | Returns the internal buffer (no copy). | | `Buffer` |
104
+ | reset | Zero the internal buffer content. | | `void` |
105
+ | toJson | Returns a plain object. | | `T` |
106
+ | copy | Copies the buffer content from target. | `(target: Buffer \| Struct, offset: byte = 0)` | `void` |
108
107
 
109
- ### Structure Options
108
+ ### Struct Options
110
109
 
111
- Second argument in `structure` function.
110
+ Options argument for the `struct` function.
112
111
 
113
- | Property | Description | Type | Default |
114
- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------- |
115
- | packed | When false, fields of the structure are aligned or padded. This is really important especially for binary communications, improving performance and usage. | `boolean` | `false` |
116
- | transform | An object that contains keys from the domain object. Transforms the data obtained from the buffer data. | `Transformers<T>` | `{}` |
112
+ | Property | Description | Type | Default |
113
+ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------- |
114
+ | packed | When false, fields of the `struct` are aligned or padded. This is really important especially for binary communications, improving performance and usage. | `boolean` | `false` |
115
+ | transform | An object that contains keys from the domain object. Transforms the data obtained/retrieved from the buffer data. | `Transformers<T>` | `{}` |
117
116
 
118
117
  ## Usage
119
118
 
120
- 1. Create a domain interface.
121
-
122
- - This will represent your data.
119
+ 1. Create a domain interface. This will represent your data.
123
120
 
124
121
  ```ts
125
122
  interface Person {
126
- age: number;
123
+ age: byte;
127
124
  name: string;
128
125
  } // domain Person
129
126
  ```
130
127
 
131
- 2. Create a Structure for your domain interface. Calling `structure` will return a new class; it is not intended to be extended.
128
+ 2. Create a Struct for your domain interface. Calling `struct` will return a new class; it is not intended to be extended.
132
129
 
133
130
  ```ts
134
- const PersonStructure = structure<Person>({
131
+ const PersonStruct = struct<Person>({
135
132
  age: DataType.UINT8,
136
133
  name: charDataType(4), // strings are arrays of UINT8. charDataType(n) is equivalent to [DataType.UINT8, n]
137
134
  });
138
135
  ```
139
136
 
140
- 3. Now, you can instantiate the structure by using `new` or the `StructureConstructor`'s static method `from`. Instance exposes getters and setters to update and retrieve data directly from the fields of the structure in the buffer as well as some other methods to manage it:
137
+ 3. Now, you can instantiate the struct by using `new` or the `StructConstructor`'s static method `from`. Instance exposes getters and setters to update and retrieve data directly from the fields of the struct in the buffer as well as some other methods to manage it:
141
138
 
142
139
  ```ts
143
- const person1 = new PersonStructure({
140
+ const person1 = new PersonStruct({
144
141
  age: 24,
145
- name: toUint8Array("Dave"), // Transform the string to UTF-8 UINT8 array
142
+ name: toBytes("Dave"), // Transform the string to UTF-8 UINT8 array
146
143
  });
147
144
  console.log("Name: %s, age: %d", toString(person1.name), person1.age); // Name: Dave, age: 24
148
145
 
149
- const person2 = PersonStructure.from(Buffer.from("526f73655a000000", "hex"));
146
+ const person2 = PersonStruct.from(Buffer.from("63000000526f7365", "hex"));
150
147
 
151
- console.log("Name: %s, age: %d", toString(person2.name), person2.age); // Name: Rose, age: 90
148
+ console.log("Name: %s, age: %d", toString(person2.name), person2.age); // Name: Rose, age: 99
152
149
 
153
- console.log(person2.data()); // <Buffer 52 6f 73 65 5a 00 00 00>
150
+ console.log(person2.data()); // <Buffer 63 00 00 00 52 6f 73 65>
154
151
 
155
- console.log(person2.toJson()); // { name: [ 82, 111, 115, 101 ], age: 90 }
152
+ console.log(person2.toJson()); // { age: 99, name: [ 82, 111, 115, 101 ] }
156
153
 
157
- const person3 = PersonStructure.toJson(Buffer.from("4a616b655a000000", "hex"));
154
+ const person3 = PersonStruct.toJson(Buffer.from("5a0000004a616b65", "hex"));
158
155
 
159
156
  console.log("Name: %s, age: %d", toString(person3.name), person3.age); // Name: Jake, age: 90
157
+ ```
160
158
 
161
- // Transformers help to transform data.
162
- // When a property has transformers, its exposed TypeScript type becomes the transformed type instead of the raw BindedType<T>.
163
- // You can have multiple transforms in input/output; each one will receive the last transformed value.
159
+ Transformers help to transform data.
160
+ When a property has transformers, its exposed TypeScript type becomes the transformed type instead of the raw BindedType<T>.
161
+ You can have multiple transforms in input/output; each one will receive the last transformed value.
164
162
 
165
- const PersonStructure = structure<Person, { name: PropertyTransform }>(
163
+ ```ts
164
+ const PersonStruct = struct<Person, { name: PropertyTransform }>(
166
165
  {
167
166
  age: DataType.UINT8,
168
167
  name: charDataType(4),
@@ -171,14 +170,14 @@ const PersonStructure = structure<Person, { name: PropertyTransform }>(
171
170
  transform: {
172
171
  name: {
173
172
  // Executed when data is written to the buffer
174
- input: [(data: string) => toUint8Array(data)],
173
+ input: [(data: string) => toBytes(data)],
175
174
  // Executed when data is retrieved from the buffer
176
175
  output: [(data: bytes) => toString(data)],
177
176
  },
178
177
  },
179
178
  },
180
179
  );
181
- const person = new PersonStructure({
180
+ const person = new PersonStruct({
182
181
  age: 24,
183
182
  name: "Dave", // Input transformer
184
183
  });
@@ -188,22 +187,22 @@ console.log(person.name); // "Jack", output transformer
188
187
 
189
188
  ### Arrays & Nesting
190
189
 
191
- `Arrays` are defined with a `type` and a fixed `length` of items:
190
+ `Array` types are defined with a `type` and a fixed `length` of items:
192
191
 
193
192
  ```ts
194
- const PersonStructure = structure<Person>({
193
+ const PersonStruct = struct<Person>({
195
194
  name: [DataType.UINT8, 4], // or charDataType(4)
196
195
  });
197
196
  ```
198
197
 
199
- > Strings are represented as a fixed array of `UINT8` if no transformer was applied for that property.
198
+ > Strings are represented as a fixed array of `UINT8` if no transformer was applied for that property. Use the shorthand `charDataType`.
200
199
 
201
- You can nest `Structures`:
200
+ You can nest `Structs`:
202
201
 
203
202
  ```ts
204
203
  interface DeviceConfig {
205
- mode: number;
206
- factor: number;
204
+ mode: byte;
205
+ factor: byte;
207
206
  } // domain DeviceConfig
208
207
 
209
208
  interface Device {
@@ -211,45 +210,45 @@ interface Device {
211
210
  config: DeviceConfig; // Provide the domain type
212
211
  } // domain Device
213
212
 
214
- const DeviceConfigStructure = structure<DeviceConfig>({
213
+ const DeviceConfigStruct = struct<DeviceConfig>({
215
214
  mode: DataType.UINT8,
216
215
  factor: DataType.UINT8,
217
216
  });
218
217
 
219
- const DeviceStructure = structure<Device>({
218
+ const DeviceStruct = struct<Device>({
220
219
  id: charDataType(6),
221
- config: DeviceConfigStructure, // Provide the structure as type
220
+ config: DeviceConfigStruct, // Provide the struct as type
222
221
  });
223
222
 
224
- const instance = new DeviceStructure({
223
+ const instance = new DeviceStruct({
225
224
  id: Array.from(randomBytes(6)),
226
225
  config: {
227
226
  // Create a plain object
228
- // DO NOT use DeviceConfigStructure constructor
227
+ // DO NOT use DeviceConfigStruct constructor
229
228
  // it will cause unnecessary allocations
230
229
  mode: 4,
231
230
  factor: 8,
232
231
  },
233
232
  });
234
233
 
235
- console.log(instance.config.factor); // Prints '8'
234
+ console.log(instance.config.factor); // 8
236
235
  ```
237
236
 
238
- You can also store `Structures` or `Arrays` inside of `Arrays`:
237
+ You can also store `Structs` or `Arrays` inside of `Arrays`:
239
238
 
240
239
  ```ts
241
240
  interface Group {
242
241
  people: Person[];
243
242
  } // domain Group
244
243
 
245
- const GroupStructure = structure<Group>({
246
- people: [PersonStructure, 100],
244
+ const GroupStruct = struct<Group>({
245
+ people: [PersonStruct, 100],
247
246
  });
248
247
 
249
- const groupInstance = new GroupStructure({
248
+ const groupInstance = new GroupStruct({
250
249
  people: [
251
250
  // Create a plain object
252
- // DO NOT use PersonStructure constructor
251
+ // DO NOT use PersonStruct constructor
253
252
  // it will cause unnecessary allocations
254
253
  {
255
254
  name: "Jack",
@@ -269,11 +268,11 @@ console.log(groupInstance.people); // Array<100> [ { name: [Getter/Setter] }, ..
269
268
 
270
269
  > **Important**
271
270
  >
272
- > Structures must be instantiated with plain objects when are nested, `do not` use the `Structure's constructor`; doing so will make unnecessary allocations.
271
+ > Structs must be instantiated with plain objects when are nested, `do not` use the `Struct's constructor`; doing so will make unnecessary allocations.
273
272
 
274
273
  ### JSON
275
274
 
276
- Instances can be converted to plain JavaScript object with all the resolved properties and nested attributes of your structure using `toJson` method:
275
+ Instances can be converted to plain JavaScript object with all the resolved properties and nested attributes of your struct using `toJson` method:
277
276
 
278
277
  ```ts
279
278
  personInstance.toJson(); // { name: [ 68, 97, 118, 101 ], age: 24 }
@@ -282,17 +281,19 @@ personInstance.toJson(); // { name: [ 68, 97, 118, 101 ], age: 24 }
282
281
  You can serialize directly to a plain JavaScript object from a buffer by using the static method `toJson`:
283
282
 
284
283
  ```ts
285
- PersonStructure.toJson(Buffer.from("4a616b655a000000", "hex")); // { name: [ 68, 97, 118, 101 ], age: 24 }
284
+ PersonStruct.toJson(Buffer.from("4a616b655a000000", "hex")); // { name: [ 68, 97, 118, 101 ], age: 24 }
286
285
  ```
287
286
 
288
287
  > **Important**
289
288
  >
290
289
  > Transformers will also run when serializing JSON.
291
290
 
292
- > Prefer the static `toJson` when working with raw buffers; there's no point on doing this:
291
+ > Prefer the static `toJson` method when working with raw buffers; there's no point on doing this:
293
292
  >
294
293
  > ```ts
295
- > PersonStructure.toJson(personInstance.data());
294
+ > PersonStruct.toJson(personInstance.data());
295
+ > // Instead
296
+ > personInstance.toJson();
296
297
  > ```
297
298
 
298
299
  ### Endianness
@@ -306,6 +307,16 @@ structure({
306
307
  });
307
308
  ```
308
309
 
310
+ > **Note**
311
+ >
312
+ > You can get the `size` of data types with `sizeof`:
313
+ >
314
+ > ```ts
315
+ > console.log(sizeof(DataType.INT16LE)); // 2
316
+ > console.log(sizeof(charDataType(6))); // 6
317
+ > console.log(sizeof(Structure)); // Or Structure.size
318
+ > ```
319
+
309
320
  ### Floating point (FLOAT32) precision
310
321
 
311
322
  NBSP uses IEEE-754 floating point representations for FLOAT32 and FLOAT64, exactly like C, C++, Rust, Java, etc.
@@ -344,7 +355,9 @@ NBSP intentionally exposes the real binary value, without rounding or post-proce
344
355
 
345
356
  If you need to compare floating point values, never use strict equality:
346
357
 
347
- a === b // ❌ unsafe for floats
358
+ ```ts
359
+ a === b; // ❌ unsafe for floats
360
+ ```
348
361
 
349
362
  Instead, compare with a tolerance:
350
363
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { toString, toUint8Array, sizeof } from "./memory.js";
2
- export { structure, type Structure, type StructureConstructor, type StructureFields, type StructureMethods, type StructureReturn, } from "./structure.js";
3
- export { charDataType, DataType, type ArrayDataType, type BigIntDataType, type BindedType, type DataValue, type DomainObject, type NumericArrayDataType, type StructureArrayDataType, type StructureDefinitionDataType, type Type, type bytes, } from "./type.js";
4
- export { type Transformer, type Transformers, type ApplyTransformers, type InputTransformer, type OuputTransformer, type PropertyTransformer, } from "./transformer.js";
1
+ export { toString, toBytes, sizeof } from "./memory.js";
2
+ export { struct, type Struct, type StructConstructor, type StructFields, type StructMethods, type StructReturn, } from "./structure.js";
3
+ export { charDataType, DataType, type ArrayDataType, type BigIntDataType, type BindedType, type DataValue, type DomainObject, type NumericArrayDataType, type StructArrayDataType, type StructDefinitionDataType, type Type, type byte, type bytes, } from "./type.js";
4
+ export { type Transformer, type Transformers, type ApplyTransformers, type PropertyTransformer, } from "./transformer.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,SAAS,EACT,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,IAAI,EACT,KAAK,KAAK,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,MAAM,EACN,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,KAAK,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export { toString, toUint8Array, sizeof } from "./memory.js";
2
- export { structure, } from "./structure.js";
1
+ export { toString, toBytes, sizeof } from "./memory.js";
2
+ export { struct, } from "./structure.js";
3
3
  export { charDataType, DataType, } from "./type.js";
4
4
  export {} from "./transformer.js";
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,SAAS,GAMV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,QAAQ,GAWT,MAAM,WAAW,CAAC;AACnB,OAAO,EAON,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,MAAM,GAMP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,QAAQ,GAYT,MAAM,WAAW,CAAC;AACnB,OAAO,EAKN,MAAM,kBAAkB,CAAC"}
package/dist/memory.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { type AlignedData, type bytes, type Type } from "./type.js";
2
- export declare function alloc(s: number): Buffer<ArrayBuffer>;
3
- export declare function read(data: AlignedData, buffer: Buffer, offset: number): number | bigint;
4
- export declare function write(data: AlignedData, buffer: Buffer, value: number, offset: number): void;
5
- export declare function sizeof(type: Type): number;
6
- export declare function toUint8Array(s: string, hex?: boolean): bytes;
1
+ import { type AlignedData, type byte, type bytes, type Type } from "./type.js";
2
+ export declare function alloc(s: byte): Buffer<ArrayBuffer>;
3
+ export declare function read(data: AlignedData, buffer: Buffer, offset: byte): number | bigint;
4
+ export declare function write(data: AlignedData, buffer: Buffer, value: byte, offset: byte): void;
5
+ export declare function sizeof(type: Type): byte;
6
+ export declare function toBytes(s: string, hex?: boolean): bytes;
7
7
  export declare function toString(n: bytes, hex?: boolean): string;
8
8
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,KAAK,EACV,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AA8BnB,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,uBAG9B;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBA2CrE;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QA0Ff;AAsCD,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQzC;AAuBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,OAAe,GAAG,KAAK,CAInE;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAE,OAAe,GAAG,MAAM,CAK/D"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,IAAI,EACT,KAAK,KAAK,EACV,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AA8BnB,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,uBAE5B;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,mBAyCnE;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,GACX,IAAI,CAqFN;AAsCD,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAQvC;AAsBD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,OAAe,GAAG,KAAK,CAI9D;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAE,OAAe,GAAG,MAAM,CAK/D"}
package/dist/memory.js CHANGED
@@ -19,12 +19,9 @@ function assertBigIntRange(value, min, max, type) {
19
19
  }
20
20
  }
21
21
  export function alloc(s) {
22
- // console.log("Alloc", s);
23
22
  return Buffer.alloc(s);
24
23
  }
25
24
  export function read(data, buffer, offset) {
26
- // console.log("read", data, offset + data.offset);
27
- // if (typeof data.type === "number") {
28
25
  switch (data.type) {
29
26
  case DataType.INT8:
30
27
  return buffer.readInt8(offset + data.offset);
@@ -67,10 +64,6 @@ export function read(data, buffer, offset) {
67
64
  }
68
65
  }
69
66
  export function write(data, buffer, value, offset) {
70
- // console.log("Write", data.offset + offset, value);
71
- // if (typeof data.type === "number") {
72
- // if (Array.isArray(value) || typeof value !== "number")
73
- // throw new Error("Invalid value");
74
67
  switch (data.type) {
75
68
  case DataType.INT8:
76
69
  assertInteger(value, -128, 127, "INT8");
@@ -207,7 +200,7 @@ function hexToBytes(hex) {
207
200
  return bytes;
208
201
  }
209
202
  function bytesToHex(bytes) {
210
- let hex = [];
203
+ const hex = [];
211
204
  for (let i = 0; i < bytes.length; i++) {
212
205
  const byte = bytes[i];
213
206
  if (byte == undefined)
@@ -218,7 +211,7 @@ function bytesToHex(bytes) {
218
211
  }
219
212
  return hex.join("");
220
213
  }
221
- export function toUint8Array(s, hex = false) {
214
+ export function toBytes(s, hex = false) {
222
215
  if (hex)
223
216
  return hexToBytes(s);
224
217
  if (!encoder)
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,GAKT,MAAM,WAAW,CAAC;AAEnB,IAAI,OAAoB,EAAE,OAAoB,CAAC;AAE/C,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAE,IAAY;IAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,WAAW,KAAK,kBAAkB,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,IAAY;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAa,EACb,GAAW,EACX,GAAW,EACX,IAAY;IAEZ,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,WAAW,KAAK,kBAAkB,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAS;IAC7B,2BAA2B;IAC3B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAiB,EAAE,MAAc,EAAE,MAAc;IACpE,mDAAmD;IACnD,uCAAuC;IACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD;YACE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,IAAiB,EACjB,MAAc,EACd,KAAa,EACb,MAAc;IAEd,qDAAqD;IACrD,uCAAuC;IACvC,2DAA2D;IAC3D,wCAAwC;IACxC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,IAAI;YAChB,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,QAAQ,CAAC,KAAK;YACjB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM;QACR,KAAK,QAAQ,CAAC,OAAO;YACnB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,QAAQ,CAAC,OAAO;YACnB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,QAAQ,CAAC,QAAQ;YACpB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,QAAQ,CAAC,QAAQ;YACpB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,QAAQ,CAAC,OAAO;YACnB,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,QAAQ,CAAC,OAAO;YACnB,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,QAAQ,CAAC,QAAQ;YACpB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,QAAQ,CAAC,QAAQ;YACpB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YACnE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YACnE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,SAAS;YACrB,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,QAAQ,CAAC,SAAS;YACrB,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,QAAQ,CAAC,SAAS;YACrB,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,QAAQ,CAAC,SAAS;YACrB,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAc;IACrC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,IAAI,CAAC;QACnB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,OAAO,CAAC;QACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;QACtB,KAAK,QAAQ,CAAC,QAAQ,CAAC;QACvB,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,OAAO,CAAC;QACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;QACtB,KAAK,QAAQ,CAAC,QAAQ,CAAC;QACvB,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,OAAO,CAAC;QACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;QACtB,KAAK,QAAQ,CAAC,QAAQ,CAAC;QACvB,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,SAAS,CAAC;QACxB,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,SAAS,CAAC;QACxB,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAA+B;IAC3D,OAAO,SAAS,CAAC,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,MAAM,UAAU,MAAM,CAAC,IAAU;IAC/B,OAAO,OAAO,IAAI,KAAK,QAAQ;QAC7B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,mCAAmC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAY;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,IAAI,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,MAAe,KAAK;IAC1D,IAAI,GAAG;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC,oBAAoB;IAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,CAAQ,EAAE,MAAe,KAAK;IACrD,4BAA4B;IAC5B,IAAI,GAAG;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
@@ -1,75 +1,74 @@
1
1
  import type { Transformers } from "./transformer.js";
2
2
  import { type ApplyTransformers } from "./transformer.js";
3
- import { type AlignedData, type BindedType, type DomainObject, type StructureDefinitionDataType, type Type } from "./type.js";
4
- export type StructureFields<T extends DomainObject> = {
3
+ import { type AlignedData, type BindedType, type byte, type DomainObject, type StructDefinitionDataType, type Type } from "./type.js";
4
+ export type StructFields<T extends DomainObject> = {
5
5
  [K in keyof Record<keyof T, Type>]: AlignedData;
6
6
  };
7
- interface StructureStaticMethods<T extends DomainObject> {
7
+ interface StructStaticMethods<T extends DomainObject> {
8
8
  /**
9
9
  * Copys the contents of the buffer. Returns a new Instance.
10
10
  * @param buffer
11
11
  */
12
- from(buffer: Buffer, offset?: number): Structure<T>;
12
+ from(buffer: Buffer, offset?: byte): Struct<T>;
13
13
  /**
14
14
  * Copys the contents of the instance's buffer. Returns a new instance.
15
15
  * @param buffer
16
16
  */
17
- from(structure: Structure<BindedType<T>>, offset?: number, length?: number): Structure<T>;
17
+ from(struct: Struct<BindedType<T>>, offset?: byte, length?: byte): Struct<T>;
18
18
  /**
19
19
  * Serializes the buffer directly to a plain object
20
20
  * @param buffer
21
21
  */
22
22
  toJson(buffer: Buffer): T;
23
23
  }
24
- export interface StructureConstructor<T extends DomainObject = DomainObject> extends StructureStaticMethods<T> {
24
+ export interface StructConstructor<T extends DomainObject = DomainObject> extends StructStaticMethods<T> {
25
25
  /**
26
- * The size of the structure
26
+ * The size of the struct
27
27
  */
28
- readonly size: number;
28
+ readonly size: byte;
29
29
  /**
30
- * The fields of the structure
30
+ * The fields of the struct
31
31
  */
32
- readonly fields: StructureFields<T>;
32
+ readonly fields: StructFields<T>;
33
33
  /**
34
34
  * The transformers
35
35
  */
36
36
  readonly transform: Transformers<T>;
37
- new (args: T): Structure<T>;
37
+ new (args: T): Struct<T>;
38
38
  }
39
- export interface StructureMethods<T extends DomainObject> {
39
+ export interface StructMethods<T extends DomainObject> {
40
40
  /**
41
- * Copies the contents of the buffer
42
- * @param buffer
41
+ * Returns the buffer
43
42
  */
44
- copy(buffer: Buffer, offset?: number): void;
43
+ data(): Buffer;
45
44
  /**
46
- * Copies the contents of the structure buffer
45
+ * Copies the contents of the buffer
47
46
  * @param buffer
48
47
  */
49
- copy(structure: Structure<T>, offset?: number): void;
48
+ copy(buffer: Buffer, offset?: byte): void;
50
49
  /**
51
- * Returns the buffer
50
+ * Copies the contents of the struct buffer
51
+ * @param buffer
52
52
  */
53
- data(): Buffer;
53
+ copy(struct: Struct<T>, offset?: byte): void;
54
54
  /**
55
55
  * Sets the contents of the buffer to 0
56
56
  */
57
57
  reset(): void;
58
58
  /**
59
- * Returns a plain object with the content of the structure
59
+ * Returns a plain object with the content of the struct
60
60
  */
61
61
  toJson(): T;
62
62
  }
63
- export type StructureOptions<T extends DomainObject, TR extends Transformers<T> | undefined> = TR extends undefined ? {
63
+ export type StructOptions<T extends DomainObject, TR extends Transformers<T> | undefined> = TR extends undefined ? {
64
64
  packed?: boolean;
65
- tranform?: undefined;
66
65
  } : {
67
66
  packed?: boolean;
68
67
  transform?: TR;
69
68
  };
70
- export type Structure<T extends DomainObject> = T & StructureMethods<T>;
71
- export type StructureReturn<T extends DomainObject, TR extends Transformers<T> | undefined> = StructureConstructor<ApplyTransformers<T, BindedType<T>, TR>>;
72
- export declare function structure<T extends DomainObject>(data: StructureDefinitionDataType<T>, opts?: StructureOptions<T, undefined>): StructureConstructor<BindedType<T>>;
73
- export declare function structure<T extends DomainObject, TR extends Transformers<T>>(data: StructureDefinitionDataType<T>, opts?: StructureOptions<T, TR>): StructureReturn<T, TR>;
69
+ export type Struct<T extends DomainObject> = T & StructMethods<T>;
70
+ export type StructReturn<T extends DomainObject, TR extends Transformers<T> | undefined> = StructConstructor<ApplyTransformers<T, BindedType<T>, TR>>;
71
+ export declare function struct<T extends DomainObject>(data: StructDefinitionDataType<T>, opts?: StructOptions<T, undefined>): StructConstructor<BindedType<T>>;
72
+ export declare function struct<T extends DomainObject, TR extends Transformers<T>>(data: StructDefinitionDataType<T>, opts?: StructOptions<T, TR>): StructReturn<T, TR>;
74
73
  export {};
75
74
  //# sourceMappingURL=structure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"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"}
package/dist/structure.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { alloc, read, write, sizeof } from "./memory.js";
2
2
  import { applyTransform } from "./transformer.js";
3
- import { DataType, isArrayDataType, isStructureDataType, } from "./type.js";
3
+ import { DataType, isArrayDataType, isStructDataType, } from "./type.js";
4
4
  function alignUp(n, align) {
5
5
  return (n + align - 1) & ~(align - 1);
6
6
  }
@@ -29,7 +29,7 @@ function alignFields(data, packed = false) {
29
29
  return { fields: Object.freeze(fields), size: structSize };
30
30
  }
31
31
  function defineProxyProperty(target, key, field, buffer, transformer, offset = 0) {
32
- const isStructField = isStructureDataType(field.type);
32
+ const isStructField = isStructDataType(field.type);
33
33
  const isArrayField = isArrayDataType(field.type);
34
34
  Object.defineProperty(target, key, {
35
35
  get() {
@@ -44,7 +44,7 @@ function defineProxyProperty(target, key, field, buffer, transformer, offset = 0
44
44
  },
45
45
  set(v) {
46
46
  if (isStructField)
47
- return writeStructure(field, buffer, applyTransform(transformer?.input, v), offset);
47
+ return writeStruct(field, buffer, applyTransform(transformer?.input, v), offset);
48
48
  else if (isArrayField)
49
49
  writeArray(field, applyTransform(transformer?.input, v), buffer, offset);
50
50
  else
@@ -52,13 +52,12 @@ function defineProxyProperty(target, key, field, buffer, transformer, offset = 0
52
52
  },
53
53
  });
54
54
  }
55
- function writeStructure(data, buffer, value, offset) {
56
- console.log("Write structure", data, offset, value);
55
+ function writeStruct(data, buffer, value, offset) {
57
56
  for (const [k, field] of Object.entries(data.type.fields)) {
58
57
  const transformer = data.type.transform[k];
59
58
  const val = applyTransform(transformer?.input, value[k]);
60
- if (isStructureDataType(field.type)) {
61
- writeStructure(field, buffer, val, offset + data.offset);
59
+ if (isStructDataType(field.type)) {
60
+ writeStruct(field, buffer, val, offset + data.offset);
62
61
  }
63
62
  else if (Array.isArray(field.type)) {
64
63
  writeArray(field, val, buffer, offset + data.offset);
@@ -69,14 +68,14 @@ function writeStructure(data, buffer, value, offset) {
69
68
  }
70
69
  function writeArray(data, arr, buffer, offset) {
71
70
  const [type, length] = data.type;
72
- const isStructure = isStructureDataType(type);
71
+ const isStruct = isStructDataType(type);
73
72
  const size = sizeof(type);
74
73
  if (arr.length !== length)
75
74
  throw new RangeError("Invalid array length");
76
75
  for (let i = 0; i < length; i++) {
77
76
  const value = arr[i];
78
- if (isStructure) {
79
- writeStructure({
77
+ if (isStruct) {
78
+ writeStruct({
80
79
  offset: i * size,
81
80
  size: size,
82
81
  type,
@@ -102,11 +101,11 @@ function readArray(data, buffer, offset = 0, mutable = true) {
102
101
  const t = [];
103
102
  const [type, length] = data.type;
104
103
  const size = sizeof(type);
105
- const isStructure = isStructureDataType(type);
104
+ const isStruct = isStructDataType(type);
106
105
  const isArray = isArrayDataType(type);
107
106
  for (let i = 0; i < length; i++) {
108
- if (isStructure) {
109
- t.push(readStructure({
107
+ if (isStruct) {
108
+ t.push(readStruct({
110
109
  type,
111
110
  offset: i * type.size,
112
111
  size: type.size,
@@ -129,15 +128,15 @@ function readArray(data, buffer, offset = 0, mutable = true) {
129
128
  }
130
129
  return t;
131
130
  }
132
- function readStructure(data, buffer, offset = 0, mutable = true) {
131
+ function readStruct(data, buffer, offset = 0, mutable = true) {
133
132
  const t = {};
134
133
  for (const [k, field] of Object.entries(data.type.fields)) {
135
134
  const transformer = data.type.transform[k];
136
135
  if (mutable)
137
136
  defineProxyProperty(t, k, field, buffer, data.type.transform[k], data.offset + offset);
138
137
  else {
139
- if (isStructureDataType(field.type)) {
140
- t[k] = applyTransform(transformer?.output, readStructure(field, buffer, data.offset + offset, mutable));
138
+ if (isStructDataType(field.type)) {
139
+ t[k] = applyTransform(transformer?.output, readStruct(field, buffer, data.offset + offset, mutable));
141
140
  }
142
141
  else if (isArrayDataType(field.type)) {
143
142
  t[k] = applyTransform(transformer?.output, readArray(field, buffer, data.offset + offset, mutable));
@@ -155,7 +154,7 @@ function construct(target, fields, transformers, args, buffer, offset = 0, write
155
154
  const transformer = transformers[k];
156
155
  const val = arg ? applyTransform(transformer?.input, arg) : arg;
157
156
  if (writeData) {
158
- if (isStructureDataType(field.type)) {
157
+ if (isStructDataType(field.type)) {
159
158
  target[k] = {};
160
159
  construct(target[k], field.type.fields, field.type.transform, arg ?? {}, buffer, offset + field.offset, writeData);
161
160
  continue;
@@ -168,17 +167,15 @@ function construct(target, fields, transformers, args, buffer, offset = 0, write
168
167
  write(field, buffer, val, offset);
169
168
  }
170
169
  }
171
- else {
172
- if (isStructureDataType(field.type)) {
173
- target[k] = {};
174
- construct(target[k], field.type.fields, field.type.transform, val ?? {}, buffer, offset + field.offset, writeData);
175
- }
176
- else
177
- defineProxyProperty(target, k, field, buffer, transformer, offset);
170
+ if (isStructDataType(field.type)) {
171
+ target[k] = {};
172
+ construct(target[k], field.type.fields, field.type.transform, val ?? {}, buffer, offset + field.offset, writeData);
178
173
  }
174
+ else
175
+ defineProxyProperty(target, k, field, buffer, transformer, offset);
179
176
  }
180
177
  }
181
- export function structure(data, opts) {
178
+ export function struct(data, opts) {
182
179
  const transformers = opts?.transform ?? {};
183
180
  const { fields, size } = alignFields(data, opts?.packed);
184
181
  let writeData = true;
@@ -206,7 +203,7 @@ export function structure(data, opts) {
206
203
  static toJson(buffer) {
207
204
  if (buffer.length < size)
208
205
  throw new Error("Invalid buffer size");
209
- return readStructure({
206
+ return readStruct({
210
207
  type: this,
211
208
  offset: 0,
212
209
  size,
@@ -231,7 +228,7 @@ export function structure(data, opts) {
231
228
  this.__buff__.fill(0);
232
229
  }
233
230
  toJson() {
234
- return readStructure({
231
+ return readStruct({
235
232
  type: t,
236
233
  offset: 0,
237
234
  size,
@@ -1 +1 @@
1
- {"version":3,"file":"structure.js","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structure.js","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  import type { BindedType, DomainObject } from "./type.js";
2
2
  export type Transformer<T, R> = (data: T) => R;
3
- export type InputTransformer = Transformer<any, any>;
4
- export type OuputTransformer<T> = Transformer<any, T>;
5
3
  export interface PropertyTransformer {
6
4
  readonly input?: Transformer<any, any>[];
7
5
  readonly output?: Transformer<any, any>[];
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,YAAY,EAAE,MAAM,WAAW,CAAC;AAErE,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACrD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;CAC3C;AACD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI,OAAO,CAAC;KACxD,CAAC,IAAI,MAAM,CAAC,GAAG,mBAAmB;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EACvB,EAAE,SAAS,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,IAC7C;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,SAAS,SAAS,GAChC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,EAAE,GAChB,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC;CACX,CAAC;AASF,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,EAChD,CAAC,EAAE,GAAG,OAGP"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,YAAY,EAAE,MAAM,WAAW,CAAC;AAErE,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;CAC3C;AACD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI,OAAO,CAAC;KACxD,CAAC,IAAI,MAAM,CAAC,GAAG,mBAAmB;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EACvB,EAAE,SAAS,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,IAC7C;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,SAAS,SAAS,GAChC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,EAAE,GAChB,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC;CACX,CAAC;AASF,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,EAChD,CAAC,EAAE,GAAG,OAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AA0BA,SAAS,SAAS,CAAC,CAAM,EAAE,YAAqC;IAC9D,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,MAAM,UAAU,cAAc,CAC5B,WAAgD,EAChD,CAAM;IAEN,OAAO,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AAwBA,SAAS,SAAS,CAAC,CAAM,EAAE,YAAqC;IAC9D,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,MAAM,UAAU,cAAc,CAC5B,WAAgD,EAChD,CAAM;IAEN,OAAO,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC"}
package/dist/type.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { type StructureConstructor } from "./structure.js";
2
- export type bytes = number[];
1
+ import { type StructConstructor } from "./structure.js";
2
+ export type byte = number;
3
+ export type bytes = byte[];
3
4
  export declare enum DataType {
4
5
  INT8 = 0,
5
6
  UINT8 = 1,
@@ -21,28 +22,28 @@ export declare enum DataType {
21
22
  FLOAT64BE = 17
22
23
  }
23
24
  export type BigIntDataType = DataType.INT64LE | DataType.INT64BE | DataType.UINT64LE | DataType.UINT64BE;
24
- export type NumericArrayDataType = [type: DataType, size: number];
25
- export type StructureArrayDataType<T extends Record<string, any>> = [
26
- type: StructureConstructor<T>,
27
- size: number
25
+ export type NumericArrayDataType = [type: DataType, size: byte];
26
+ export type StructArrayDataType<T extends Record<string, any>> = [
27
+ type: StructConstructor<T>,
28
+ size: byte
28
29
  ];
29
30
  export type DomainObject = Record<string, any>;
30
- export type InferArray<T extends any> = T extends number ? NumericArrayDataType : T extends DomainObject ? StructureArrayDataType<T> : never;
31
- export type ArrayDataType = NumericArrayDataType | StructureArrayDataType<DomainObject>;
32
- export type Type<D extends DomainObject = DomainObject> = DataType | ArrayDataType | StructureConstructor<D>;
33
- export type DataValue = number | bytes | bigint | object;
31
+ export type InferArray<T extends any> = T extends byte ? NumericArrayDataType : T extends DomainObject ? StructArrayDataType<T> : never;
32
+ export type ArrayDataType = NumericArrayDataType | StructArrayDataType<DomainObject>;
33
+ export type Type = DataType | ArrayDataType | StructConstructor<any>;
34
+ export type DataValue = byte | bytes | bigint | object;
34
35
  export type BindedType<T extends Record<string, any>> = {
35
36
  [K in keyof T]: T[K] extends string ? bytes : T[K] extends DomainObject ? BindedType<T[K]> : T[K];
36
37
  };
37
- export type StructureDefinitionDataType<T extends DomainObject> = {
38
- [K in keyof T]: T[K] extends readonly (infer P)[] ? InferArray<P> : T[K] extends number ? DataType : T[K] extends bigint ? BigIntDataType : T[K] extends string ? NumericArrayDataType : T[K] extends DomainObject ? StructureConstructor<T[K]> : never;
38
+ export type StructDefinitionDataType<T extends DomainObject> = {
39
+ [K in keyof T]: T[K] extends readonly (infer P)[] ? InferArray<P> : T[K] extends byte ? DataType : T[K] extends bigint ? BigIntDataType : T[K] extends string ? NumericArrayDataType : T[K] extends DomainObject ? StructConstructor<T[K]> : never;
39
40
  };
40
41
  export interface AlignedData<T extends Type = Type> {
41
42
  readonly type: T;
42
- readonly offset: number;
43
- readonly size: number;
43
+ readonly offset: byte;
44
+ readonly size: byte;
44
45
  }
45
- export declare function isStructureDataType(t: Type): t is StructureConstructor;
46
+ export declare function isStructDataType(t: Type): t is StructConstructor;
46
47
  export declare function isArrayDataType(t: Type): t is ArrayDataType;
47
- export declare function charDataType(length: number): NumericArrayDataType;
48
+ export declare function charDataType(length: byte): NumericArrayDataType;
48
49
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
package/dist/type.js CHANGED
@@ -20,7 +20,7 @@ export var DataType;
20
20
  DataType[DataType["FLOAT64LE"] = 16] = "FLOAT64LE";
21
21
  DataType[DataType["FLOAT64BE"] = 17] = "FLOAT64BE";
22
22
  })(DataType || (DataType = {}));
23
- export function isStructureDataType(t) {
23
+ export function isStructDataType(t) {
24
24
  return typeof t === "function";
25
25
  }
26
26
  export function isArrayDataType(t) {
package/dist/type.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,MAAM,gBAAgB,CAAC;AAI3D,MAAM,CAAN,IAAY,QAmBX;AAnBD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,yCAAK,CAAA;IACL,6CAAO,CAAA;IACP,6CAAO,CAAA;IACP,+CAAQ,CAAA;IACR,+CAAQ,CAAA;IACR,6CAAO,CAAA;IACP,6CAAO,CAAA;IACP,+CAAQ,CAAA;IACR,+CAAQ,CAAA;IACR,8CAAO,CAAA;IACP,8CAAO,CAAA;IACP,gDAAQ,CAAA;IACR,gDAAQ,CAAA;IACR,kDAAS,CAAA;IACT,kDAAS,CAAA;IACT,kDAAS,CAAA;IACT,kDAAS,CAAA;AACX,CAAC,EAnBW,QAAQ,KAAR,QAAQ,QAmBnB;AAqDD,MAAM,UAAU,mBAAmB,CAAC,CAAO;IACzC,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAO;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,MAAM,gBAAgB,CAAC;AAIxD,MAAM,CAAN,IAAY,QAmBX;AAnBD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,yCAAK,CAAA;IACL,6CAAO,CAAA;IACP,6CAAO,CAAA;IACP,+CAAQ,CAAA;IACR,+CAAQ,CAAA;IACR,6CAAO,CAAA;IACP,6CAAO,CAAA;IACP,+CAAQ,CAAA;IACR,+CAAQ,CAAA;IACR,8CAAO,CAAA;IACP,8CAAO,CAAA;IACP,gDAAQ,CAAA;IACR,gDAAQ,CAAA;IACR,kDAAS,CAAA;IACT,kDAAS,CAAA;IACT,kDAAS,CAAA;IACT,kDAAS,CAAA;AACX,CAAC,EAnBW,QAAQ,KAAR,QAAQ,QAmBnB;AAmDD,MAAM,UAAU,gBAAgB,CAAC,CAAO;IACtC,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAO;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,MAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zzzeros0/nbsp",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Zero-copy fixed-size binary structures for NodeJS TypeScript",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",