@zzzeros0/nbsp 0.3.0 → 0.5.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 +16 -11
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/structure.d.ts +19 -13
- package/dist/structure.d.ts.map +1 -1
- package/dist/structure.js +25 -26
- package/dist/structure.js.map +1 -1
- package/dist/transformer.d.ts +1 -0
- package/dist/transformer.d.ts.map +1 -1
- package/dist/transformer.js.map +1 -1
- package/dist/type.d.ts +3 -3
- package/dist/type.d.ts.map +1 -1
- package/dist/type.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -91,19 +91,20 @@ mqttClient.on("message", (topic, msg) => {
|
|
|
91
91
|
|
|
92
92
|
### Struct Constructor methods
|
|
93
93
|
|
|
94
|
-
| Method
|
|
95
|
-
|
|
|
96
|
-
| from
|
|
97
|
-
|
|
|
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
|
+
| partial | Same as `new`; creates an instance with partial arguments. | `(args: Partial<T>)` | `Struct<T>` |
|
|
98
|
+
| toJson | Returns a plaing object. | `(target: Buffer, offset: byte = 0)` | T |
|
|
98
99
|
|
|
99
100
|
### Struct methods
|
|
100
101
|
|
|
101
|
-
| Method | Description
|
|
102
|
-
| ------ |
|
|
103
|
-
| data | Returns the internal buffer (no copy).
|
|
104
|
-
| reset | Zero the internal buffer content.
|
|
105
|
-
| toJson | Returns a plain object.
|
|
106
|
-
| copy | Copies the buffer content from target. | `(target: Buffer \| Struct, offset: byte = 0)` | `void` |
|
|
102
|
+
| Method | Description | Arguments | Returned type |
|
|
103
|
+
| ------ | ---------------------------------------- | -------------------------------------------------------------- | ------------- |
|
|
104
|
+
| data | Returns the internal buffer (no copy). | | `Buffer` |
|
|
105
|
+
| reset | Zero the internal buffer content. | | `void` |
|
|
106
|
+
| toJson | Returns a plain object. | | `T` |
|
|
107
|
+
| copy | Copies the buffer's content from target. | `(target: Buffer \| Struct, offset: byte = 0, size: byte = 0)` | `void` |
|
|
107
108
|
|
|
108
109
|
### Struct Options
|
|
109
110
|
|
|
@@ -156,10 +157,14 @@ const person3 = PersonStruct.toJson(Buffer.from("5a0000004a616b65", "hex"));
|
|
|
156
157
|
console.log("Name: %s, age: %d", toString(person3.name), person3.age); // Name: Jake, age: 90
|
|
157
158
|
```
|
|
158
159
|
|
|
159
|
-
Transformers help to transform data.
|
|
160
|
+
Transformers help to transform data. The second generic argument provided to `struct` defines the properties to be transformed.
|
|
160
161
|
When a property has transformers, its exposed TypeScript type becomes the transformed type instead of the raw BindedType<T>.
|
|
161
162
|
You can have multiple transforms in input/output; each one will receive the last transformed value.
|
|
162
163
|
|
|
164
|
+
Types:
|
|
165
|
+
|
|
166
|
+
- `PickTransformers<DomainObject, keyof DomainObject>`
|
|
167
|
+
|
|
163
168
|
```ts
|
|
164
169
|
const PersonStruct = struct<Person, { name: PropertyTransform }>(
|
|
165
170
|
{
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { toString, toBytes, sizeof } from "./memory.js";
|
|
2
2
|
export { struct, type Struct, type StructConstructor, type StructFields, type StructMethods, type StructReturn, } from "./structure.js";
|
|
3
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";
|
|
4
|
+
export { type Transformer, type Transformers, type ApplyTransformers, type PropertyTransformer, type PickTransformers, } from "./transformer.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EACxB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC"}
|
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,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,
|
|
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,EAMN,MAAM,kBAAkB,CAAC"}
|
package/dist/structure.d.ts
CHANGED
|
@@ -4,24 +4,26 @@ import { type AlignedData, type BindedType, type byte, type DomainObject, type S
|
|
|
4
4
|
export type StructFields<T extends DomainObject> = {
|
|
5
5
|
[K in keyof Record<keyof T, Type>]: AlignedData;
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
type InferedDomainObject<T extends DomainObject, TR extends Transformers<T> | undefined> = TR extends undefined ? BindedType<T> : T;
|
|
8
|
+
interface StructStaticMethods<T extends DomainObject, TR extends Transformers<T> | undefined = undefined> {
|
|
8
9
|
/**
|
|
9
10
|
* Copys the contents of the buffer. Returns a new Instance.
|
|
10
11
|
* @param buffer
|
|
11
12
|
*/
|
|
12
|
-
from(buffer: Buffer, offset?: byte): Struct<T>;
|
|
13
|
+
from(buffer: Buffer, offset?: byte): Struct<T, TR>;
|
|
13
14
|
/**
|
|
14
15
|
* Copys the contents of the instance's buffer. Returns a new instance.
|
|
15
16
|
* @param buffer
|
|
16
17
|
*/
|
|
17
|
-
from(struct: Struct<
|
|
18
|
+
from(struct: Struct<T, TR>, offset?: byte, length?: byte): Struct<T, TR>;
|
|
18
19
|
/**
|
|
19
20
|
* Serializes the buffer directly to a plain object
|
|
20
21
|
* @param buffer
|
|
21
22
|
*/
|
|
22
|
-
toJson(buffer: Buffer): T
|
|
23
|
+
toJson(buffer: Buffer): InferedDomainObject<T, TR>;
|
|
24
|
+
partial(args?: Partial<T>): Struct<T, TR>;
|
|
23
25
|
}
|
|
24
|
-
export interface StructConstructor<T extends DomainObject = DomainObject> extends StructStaticMethods<T> {
|
|
26
|
+
export interface StructConstructor<T extends DomainObject = DomainObject, TR extends Transformers<T> | undefined = undefined> extends StructStaticMethods<T, TR> {
|
|
25
27
|
/**
|
|
26
28
|
* The size of the struct
|
|
27
29
|
*/
|
|
@@ -34,23 +36,27 @@ export interface StructConstructor<T extends DomainObject = DomainObject> extend
|
|
|
34
36
|
* The transformers
|
|
35
37
|
*/
|
|
36
38
|
readonly transform: Transformers<T>;
|
|
37
|
-
new (args: T): Struct<T>;
|
|
39
|
+
new (args: T): Struct<T, TR>;
|
|
38
40
|
}
|
|
39
|
-
export interface StructMethods<T extends DomainObject> {
|
|
41
|
+
export interface StructMethods<T extends DomainObject, TR extends Transformers<T> | undefined> {
|
|
40
42
|
/**
|
|
41
43
|
* Returns the buffer
|
|
42
44
|
*/
|
|
43
45
|
data(): Buffer;
|
|
44
46
|
/**
|
|
45
|
-
* Copies the
|
|
47
|
+
* Copies the content of buffer
|
|
46
48
|
* @param buffer
|
|
49
|
+
* @param offset
|
|
50
|
+
* @param size Defaults to struct.size
|
|
47
51
|
*/
|
|
48
|
-
copy(buffer: Buffer, offset?: byte): void;
|
|
52
|
+
copy(buffer: Buffer, offset?: byte, size?: byte): void;
|
|
49
53
|
/**
|
|
50
|
-
* Copies the
|
|
54
|
+
* Copies the content of struct's buffer
|
|
51
55
|
* @param buffer
|
|
56
|
+
* @param offset
|
|
57
|
+
* @param size Defaults to struct.size
|
|
52
58
|
*/
|
|
53
|
-
copy(struct: Struct<T>, offset?: byte): void;
|
|
59
|
+
copy(struct: Struct<T, TR>, offset?: byte, size?: byte): void;
|
|
54
60
|
/**
|
|
55
61
|
* Sets the contents of the buffer to 0
|
|
56
62
|
*/
|
|
@@ -58,7 +64,7 @@ export interface StructMethods<T extends DomainObject> {
|
|
|
58
64
|
/**
|
|
59
65
|
* Returns a plain object with the content of the struct
|
|
60
66
|
*/
|
|
61
|
-
toJson(): T
|
|
67
|
+
toJson(): InferedDomainObject<T, TR>;
|
|
62
68
|
}
|
|
63
69
|
export type StructOptions<T extends DomainObject, TR extends Transformers<T> | undefined> = TR extends undefined ? {
|
|
64
70
|
packed?: boolean;
|
|
@@ -66,7 +72,7 @@ export type StructOptions<T extends DomainObject, TR extends Transformers<T> | u
|
|
|
66
72
|
packed?: boolean;
|
|
67
73
|
transform?: TR;
|
|
68
74
|
};
|
|
69
|
-
export type Struct<T extends DomainObject> = T & StructMethods<T>;
|
|
75
|
+
export type Struct<T extends DomainObject, TR extends Transformers<T> | undefined> = T & StructMethods<T, TR>;
|
|
70
76
|
export type StructReturn<T extends DomainObject, TR extends Transformers<T> | undefined> = StructConstructor<ApplyTransformers<T, BindedType<T>, TR>>;
|
|
71
77
|
export declare function struct<T extends DomainObject>(data: StructDefinitionDataType<T>, opts?: StructOptions<T, undefined>): StructConstructor<BindedType<T>>;
|
|
72
78
|
export declare function struct<T extends DomainObject, TR extends Transformers<T>>(data: StructDefinitionDataType<T>, opts?: StructOptions<T, TR>): StructReturn<T, TR>;
|
package/dist/structure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,UAAU,EACf,KAAK,IAAI,EAET,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI;KAChD,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,WAAW;CAChD,CAAC;
|
|
1
|
+
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"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"}
|
package/dist/structure.js
CHANGED
|
@@ -159,13 +159,13 @@ function construct(target, fields, transformers, args, buffer, offset = 0, write
|
|
|
159
159
|
construct(target[k], field.type.fields, field.type.transform, arg ?? {}, buffer, offset + field.offset, writeData);
|
|
160
160
|
continue;
|
|
161
161
|
}
|
|
162
|
-
if (
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
if (val)
|
|
163
|
+
if (Array.isArray(field.type)) {
|
|
164
|
+
writeArray(field, val, buffer, offset);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
167
|
write(field, buffer, val, offset);
|
|
168
|
-
|
|
168
|
+
}
|
|
169
169
|
}
|
|
170
170
|
if (isStructDataType(field.type)) {
|
|
171
171
|
target[k] = {};
|
|
@@ -186,40 +186,39 @@ export function struct(data, opts) {
|
|
|
186
186
|
__buff__ = alloc(size);
|
|
187
187
|
static from(arg, offset = 0) {
|
|
188
188
|
writeData = false;
|
|
189
|
-
const
|
|
190
|
-
|
|
189
|
+
const source = arg instanceof Buffer ? arg : arg.data();
|
|
190
|
+
const length = source.length;
|
|
191
|
+
if (size > length)
|
|
191
192
|
throw new Error("Invalid buffer size");
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
return inst;
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
const inst = new this({});
|
|
199
|
-
arg.data().copy(inst.data(), 0, offset, offset + size);
|
|
200
|
-
return inst;
|
|
201
|
-
}
|
|
193
|
+
const inst = new this({});
|
|
194
|
+
source.copy(inst.data(), offset, 0, size);
|
|
195
|
+
return inst;
|
|
202
196
|
}
|
|
203
197
|
static toJson(buffer) {
|
|
204
198
|
if (buffer.length < size)
|
|
205
199
|
throw new Error("Invalid buffer size");
|
|
206
200
|
return readStruct({
|
|
207
|
-
type:
|
|
201
|
+
type: t,
|
|
208
202
|
offset: 0,
|
|
209
203
|
size,
|
|
210
204
|
}, buffer, 0, false);
|
|
211
205
|
}
|
|
206
|
+
static partial(args) {
|
|
207
|
+
writeData = true;
|
|
208
|
+
const targs = args ?? {};
|
|
209
|
+
return new this(targs);
|
|
210
|
+
}
|
|
212
211
|
constructor(args) {
|
|
213
212
|
construct(this, fields, transformers, args, this.__buff__, 0, writeData);
|
|
214
213
|
writeData = true;
|
|
215
214
|
}
|
|
216
|
-
copy(target, offset = 0) {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
215
|
+
copy(target, offset = 0, s = 0) {
|
|
216
|
+
const source = target instanceof Buffer ? target : target.data();
|
|
217
|
+
const length = source.length;
|
|
218
|
+
if (s > length)
|
|
219
|
+
throw new Error("Invalid buffer size");
|
|
220
|
+
const _size = s || length;
|
|
221
|
+
source.copy(this.__buff__, offset, 0, _size);
|
|
223
222
|
}
|
|
224
223
|
data() {
|
|
225
224
|
return this.__buff__;
|
package/dist/structure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,cAAc,EAA0B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,QAAQ,EACR,eAAe,EACf,gBAAgB,GASjB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../src/structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,cAAc,EAA0B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,QAAQ,EACR,eAAe,EACf,gBAAgB,GASjB,MAAM,WAAW,CAAC;AA4GnB,SAAS,OAAO,CAAC,CAAO,EAAE,KAAW;IACnC,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AACD,SAAS,WAAW,CAClB,IAAO,EACP,SAAkB,KAAK;IAEvB,MAAM,MAAM,GAAG,EAAqC,CAAC;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAA0B,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,CAAC,CAAC,GAAG;YACV,IAAI,EAAE,CAAC;YACP,IAAI;YACJ,MAAM;SACP,CAAC;QACF,MAAM,IAAI,IAAI,CAAC;QACf,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAA2B,EAC3B,GAAW,EACX,KAAkB,EAClB,MAAc,EACd,WAAiC,EACjC,SAAe,CAAC;IAEhB,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;QACjC,GAAG;YACD,IAAI,aAAa;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACjC,IAAI,YAAY,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,SAAS,CACnB,KAAmC,EACnC,MAAM,EACN,MAAM,CACP,CAAC;gBACF,OAAO,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAExC,OAAO,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,GAAG,CAAC,CAAC;YACH,IAAI,aAAa;gBACf,OAAO,WAAW,CAChB,KAAuC,EACvC,MAAM,EACN,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,EACrC,MAAM,CACP,CAAC;iBACC,IAAI,YAAY;gBACnB,UAAU,CACR,KAAmC,EACnC,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,EACrC,MAAM,EACN,MAAM,CACP,CAAC;;gBACC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAClB,IAAoC,EACpC,MAAc,EACd,KAAU,EACV,MAAY;IAEZ,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,WAAW,CACT,KAAuC,EACvC,MAAM,EACN,GAAG,EACH,MAAM,GAAG,IAAI,CAAC,MAAM,CACrB,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,UAAU,CACR,KAAmC,EACnC,GAAG,EACH,MAAM,EACN,MAAM,GAAG,IAAI,CAAC,MAAM,CACrB,CAAC;QACJ,CAAC;;YAAM,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,IAAgC,EAChC,GAAU,EACV,MAAc,EACd,MAAY;IAEZ,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CACT;gBACE,MAAM,EAAE,CAAC,GAAG,IAAI;gBAChB,IAAI,EAAE,IAAI;gBACV,IAAI;aACL,EACD,MAAM,EACN,KAAK,EACL,MAAM,GAAG,IAAI,CAAC,MAAM,CACrB,CAAC;QACJ,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,UAAU,CACR;gBACE,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,IAAI;aACX,EACD,KAAK,EACL,MAAM,EACN,MAAM,GAAG,IAAI,CAAC,MAAM,CACrB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CACH;gBACE,IAAI;gBACJ,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,CAAC,GAAG,IAAI;aACjB,EACD,MAAM,EACN,KAAK,EACL,MAAM,GAAG,IAAI,CAAC,MAAM,CACrB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,IAAgC,EAChC,MAAc,EACd,SAAe,CAAC,EAChB,UAAmB,IAAI;IAEvB,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,QAAQ,EAAE,CAAC;YACb,CAAC,CAAC,IAAI,CACJ,UAAU,CACR;gBACE,IAAI;gBACJ,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,EACD,MAAM,EACN,MAAM,GAAG,IAAI,CAAC,MAAM,EACpB,OAAO,CACR,CACF,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CACJ,SAAS,CACP;gBACE,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,CAAC,GAAG,IAAI;gBAChB,IAAI,EAAE,IAAI;aACX,EACD,MAAM,EACN,MAAM,GAAG,IAAI,CAAC,MAAM,EACpB,OAAO,CACR,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,IAAI,CACJ,IAAI,CACF;gBACE,MAAM,EAAE,CAAC,GAAG,IAAI;gBAChB,IAAI;gBACJ,IAAI;aACL,EACD,MAAM,EACN,MAAM,GAAG,IAAI,CAAC,MAAM,CACrB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,UAAU,CACjB,IAAuC,EACvC,MAAc,EACd,SAAe,CAAC,EAChB,UAAmB,IAAI;IAEvB,MAAM,CAAC,GAAiB,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,OAAO;YACT,mBAAmB,CACjB,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CACrB,CAAC;aACC,CAAC;YACJ,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CACnB,WAAW,EAAE,MAAM,EACnB,UAAU,CACR,KAAuC,EACvC,MAAM,EACN,IAAI,CAAC,MAAM,GAAG,MAAM,EACpB,OAAO,CACR,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CACnB,WAAW,EAAE,MAAM,EACnB,SAAS,CACP,KAAmC,EACnC,MAAM,EACN,IAAI,CAAC,MAAM,GAAG,MAAM,EACpB,OAAO,CACR,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CACnB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAC1C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAChB,MAAoB,EACpB,MAAoC,EACpC,YAAwC,EACxC,IAA0B,EAC1B,MAAc,EACd,SAAe,CAAC,EAChB,YAAqB,IAAI;IAEzB,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACf,SAAS,CACP,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,KAAK,CAAC,IAAI,CAAC,SAAS,EACpB,GAAG,IAAI,EAAE,EACT,MAAM,EACN,MAAM,GAAG,KAAK,CAAC,MAAM,EACrB,SAAS,CACV,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,GAAG;gBACL,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,UAAU,CAAC,KAAmC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC;QACL,CAAC;QACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACf,SAAS,CACP,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,KAAK,CAAC,IAAI,CAAC,SAAS,EACpB,GAAG,IAAI,EAAE,EACT,MAAM,EACN,MAAM,GAAG,KAAK,CAAC,MAAM,EACrB,SAAS,CACV,CAAC;QACJ,CAAC;;YAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,MAAM,CAGpB,IAAiC,EAAE,IAA2B;IAC9D,MAAM,YAAY,GAAI,IAAY,EAAE,SAAS,IAAK,EAAsB,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAClC,IAAiC,EACjC,IAAI,EAAE,MAAM,CACb,CAAC;IACF,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,GAAG;QACD,MAAM,CAAU,MAAM,GAAG,MAAM,CAAC;QAChC,MAAM,CAAU,SAAS,GAAoB,YAAY,CAAC;QAC1D,MAAM,CAAU,IAAI,GAAS,IAAI,CAAC;QACxB,QAAQ,GAAW,KAAK,CAAC,IAAI,CAAC,CAAC;QAGzC,MAAM,CAAC,IAAI,CAAC,GAAQ,EAAE,SAAe,CAAC;YAC3C,SAAS,GAAG,KAAK,CAAC;YAElB,MAAM,MAAM,GAAW,GAAG,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAI,IAAI,GAAG,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAO,CAAC,CAAC;YAE/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAgC,CAAC;QAC1C,CAAC;QACM,MAAM,CAAC,MAAM,CAAC,MAAc;YACjC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACjE,OAAO,UAAU,CACf;gBACE,IAAI,EAAE,CAAoC;gBAC1C,MAAM,EAAE,CAAC;gBACT,IAAI;aACL,EACD,MAAM,EACN,CAAC,EACD,KAAK,CACN,CAAC;QACJ,CAAC;QACM,MAAM,CAAC,OAAO,CAAC,IAAiB;YACrC,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,IAAI,CAAC,KAAU,CAAQ,CAAC;QACrC,CAAC;QACD,YAAY,IAAO;YACjB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACzE,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAGM,IAAI,CAAC,MAAW,EAAE,SAAe,CAAC,EAAE,IAAU,CAAC;YACpD,MAAM,MAAM,GAAW,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,GAAG,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QACM,IAAI;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACM,KAAK;YACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACM,MAAM;YACX,OAAO,UAAU,CACf;gBACE,IAAI,EAAE,CAAgC;gBACtC,MAAM,EAAE,CAAC;gBACT,IAAI;aACL,EACD,IAAI,CAAC,QAAQ,EACb,CAAC,EACD,KAAK,CACN,CAAC;QACJ,CAAC;KAC6B,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/transformer.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface PropertyTransformer {
|
|
|
7
7
|
export type Transformers<T extends DomainObject> = Partial<{
|
|
8
8
|
[K in keyof T]: PropertyTransformer;
|
|
9
9
|
}>;
|
|
10
|
+
export type PickTransformers<T extends DomainObject, K extends keyof T> = Record<K, PropertyTransformer>;
|
|
10
11
|
export type ApplyTransformers<T extends DomainObject, B extends BindedType<T>, TR extends Partial<Transformers<T>> | undefined> = {
|
|
11
12
|
[K in keyof T]: TR extends undefined ? B[K] : K extends keyof TR ? T[K] : B[K];
|
|
12
13
|
};
|
|
@@ -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,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,gBAAgB,CAC1B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,MAAM,CAAC,IACf,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAEnC,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"}
|
package/dist/transformer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AA6BA,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
|
@@ -30,13 +30,13 @@ export type StructArrayDataType<T extends Record<string, any>> = [
|
|
|
30
30
|
export type DomainObject = Record<string, any>;
|
|
31
31
|
export type InferArray<T extends any> = T extends byte ? NumericArrayDataType : T extends DomainObject ? StructArrayDataType<T> : never;
|
|
32
32
|
export type ArrayDataType = NumericArrayDataType | StructArrayDataType<DomainObject>;
|
|
33
|
-
export type Type = DataType | ArrayDataType | StructConstructor<any>;
|
|
33
|
+
export type Type = DataType | ArrayDataType | StructConstructor<any, any>;
|
|
34
34
|
export type DataValue = byte | bytes | bigint | object;
|
|
35
35
|
export type BindedType<T extends Record<string, any>> = {
|
|
36
|
-
[K in keyof T]: T[K] extends string ? bytes : T[K] extends DomainObject ? BindedType<T[K]> : T[K];
|
|
36
|
+
[K in keyof T]: T[K] extends string ? bytes : T[K] extends boolean ? byte : T[K] extends DomainObject ? BindedType<T[K]> : T[K];
|
|
37
37
|
};
|
|
38
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
|
+
[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 boolean ? DataType.UINT8 : T[K] extends DomainObject ? StructConstructor<T[K]> : never;
|
|
40
40
|
};
|
|
41
41
|
export interface AlignedData<T extends Type = Type> {
|
|
42
42
|
readonly type: T;
|
package/dist/type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;AAE3B,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,KAAK,IAAA;IACL,OAAO,IAAA;IACP,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,OAAO,KAAA;IACP,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,SAAS,KAAA;IACT,SAAS,KAAA;IACT,SAAS,KAAA;IACT,SAAS,KAAA;CACV;AACD,MAAM,MAAM,cAAc,GACtB,QAAQ,CAAC,OAAO,GAChB,QAAQ,CAAC,OAAO,GAChB,QAAQ,CAAC,QAAQ,GACjB,QAAQ,CAAC,QAAQ,CAAC;AACtB,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChE,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IAC/D,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/C,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAClD,oBAAoB,GACpB,CAAC,SAAS,YAAY,GACpB,mBAAmB,CAAC,CAAC,CAAC,GACtB,KAAK,CAAC;AACZ,MAAM,MAAM,aAAa,GACrB,oBAAoB,GACpB,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAEtC,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
|
package/dist/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAuDD,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"}
|