solidity-codecs 0.0.1-beta.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/README.md +1 -0
- package/dist/codecs/Bytes.d.ts +6 -0
- package/dist/codecs/Enum.d.ts +57 -0
- package/dist/codecs/Option.d.ts +6 -0
- package/dist/codecs/Result.d.ts +22 -0
- package/dist/codecs/Struct.d.ts +25 -0
- package/dist/codecs/Tuple.d.ts +25 -0
- package/dist/codecs/Vector.d.ts +14 -0
- package/dist/codecs/bool.d.ts +2 -0
- package/dist/codecs/bytes.d.ts +6 -0
- package/dist/codecs/call.d.ts +6 -0
- package/dist/codecs/compact.d.ts +2 -0
- package/dist/codecs/fixed-width-ints.d.ts +11 -0
- package/dist/codecs/fixed.d.ts +3 -0
- package/dist/codecs/index.d.ts +10 -0
- package/dist/codecs/int.d.ts +6 -0
- package/dist/codecs/str.d.ts +1 -0
- package/dist/codecs/struct.d.ts +6 -0
- package/dist/codecs/tuple.d.ts +6 -0
- package/dist/codecs/uint.d.ts +2 -0
- package/dist/codecs/vector.d.ts +6 -0
- package/dist/codecs/void.d.ts +2 -0
- package/dist/index.cjs +7 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/scale-ts.cjs.development.js +427 -0
- package/dist/scale-ts.cjs.development.js.map +7 -0
- package/dist/scale-ts.cjs.production.min.js +318 -0
- package/dist/scale-ts.cjs.production.min.js.map +7 -0
- package/dist/scale-ts.es2017.js +403 -0
- package/dist/scale-ts.es2017.js.map +7 -0
- package/dist/scale-ts.es2019.mjs +348 -0
- package/dist/scale-ts.es2019.mjs.map +7 -0
- package/dist/solidity-codecs.cjs.development.js +404 -0
- package/dist/solidity-codecs.cjs.development.js.map +7 -0
- package/dist/solidity-codecs.cjs.production.min.js +2 -0
- package/dist/solidity-codecs.cjs.production.min.js.map +7 -0
- package/dist/solidity-codecs.js +384 -0
- package/dist/solidity-codecs.js.map +7 -0
- package/dist/solidity-codecs.mjs +384 -0
- package/dist/solidity-codecs.mjs.map +7 -0
- package/dist/test-utils.d.ts +5 -0
- package/dist/types.d.ts +21 -0
- package/dist/utils.d.ts +5 -0
- package/package.json +49 -0
package/README.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# @unstoppablejs/solidity-codecs
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { Codec, Decoder, Encoder, StringRecord } from "../types"
|
2
|
+
export declare const Enum: {
|
3
|
+
<
|
4
|
+
O extends StringRecord<Codec<any>>,
|
5
|
+
OT extends {
|
6
|
+
[K in keyof O]: O[K] extends Codec<infer D>
|
7
|
+
? D extends undefined
|
8
|
+
? {
|
9
|
+
tag: K
|
10
|
+
value?: undefined
|
11
|
+
}
|
12
|
+
: {
|
13
|
+
tag: K
|
14
|
+
value: D
|
15
|
+
}
|
16
|
+
: unknown
|
17
|
+
},
|
18
|
+
>(
|
19
|
+
inner: O,
|
20
|
+
): Codec<OT[keyof O]>
|
21
|
+
enc: <
|
22
|
+
O_1 extends StringRecord<Encoder<any>>,
|
23
|
+
OT_1 extends {
|
24
|
+
[K_1 in keyof O_1]: O_1[K_1] extends Encoder<infer D_1>
|
25
|
+
? D_1 extends undefined
|
26
|
+
? {
|
27
|
+
tag: K_1
|
28
|
+
value?: undefined
|
29
|
+
}
|
30
|
+
: {
|
31
|
+
tag: K_1
|
32
|
+
value: D_1
|
33
|
+
}
|
34
|
+
: unknown
|
35
|
+
},
|
36
|
+
>(
|
37
|
+
inner: O_1,
|
38
|
+
) => Encoder<OT_1[keyof O_1]>
|
39
|
+
dec: <
|
40
|
+
O_2 extends StringRecord<Decoder<any>>,
|
41
|
+
OT_2 extends {
|
42
|
+
[K_2 in keyof O_2]: O_2[K_2] extends Decoder<infer D_2>
|
43
|
+
? D_2 extends undefined
|
44
|
+
? {
|
45
|
+
tag: K_2
|
46
|
+
value?: undefined
|
47
|
+
}
|
48
|
+
: {
|
49
|
+
tag: K_2
|
50
|
+
value: D_2
|
51
|
+
}
|
52
|
+
: unknown
|
53
|
+
},
|
54
|
+
>(
|
55
|
+
inner: O_2,
|
56
|
+
) => Decoder<OT_2[keyof O_2]>
|
57
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Decoder, Encoder, Codec } from "../types"
|
2
|
+
export declare const Option: {
|
3
|
+
<T>(inner: Codec<T>): Codec<void | T | undefined>
|
4
|
+
enc: <T_1>(inner: Encoder<T_1>) => Encoder<void | T_1 | undefined>
|
5
|
+
dec: <T_2>(inner: Decoder<T_2>) => Decoder<void | T_2 | undefined>
|
6
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { Decoder, Encoder, Codec } from "../types"
|
2
|
+
declare type ResultPayload<OK, KO> =
|
3
|
+
| {
|
4
|
+
success: true
|
5
|
+
value: OK
|
6
|
+
}
|
7
|
+
| {
|
8
|
+
success: false
|
9
|
+
value: KO
|
10
|
+
}
|
11
|
+
export declare const Result: {
|
12
|
+
<OK, KO>(okCodec: Codec<OK>, koCodec: Codec<KO>): Codec<ResultPayload<OK, KO>>
|
13
|
+
dec: <OK_1, KO_1>(
|
14
|
+
okDecoder: Decoder<OK_1>,
|
15
|
+
koDecoder: Decoder<KO_1>,
|
16
|
+
) => Decoder<ResultPayload<OK_1, KO_1>>
|
17
|
+
enc: <OK_2, KO_2>(
|
18
|
+
okEncoder: Encoder<OK_2>,
|
19
|
+
koEncoder: Encoder<KO_2>,
|
20
|
+
) => Encoder<ResultPayload<OK_2, KO_2>>
|
21
|
+
}
|
22
|
+
export {}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Codec, Decoder, Encoder, StringRecord } from "../types"
|
2
|
+
export declare const Struct: {
|
3
|
+
<
|
4
|
+
A extends StringRecord<Codec<any>>,
|
5
|
+
OT extends { [K in keyof A]: A[K] extends Codec<infer D> ? D : unknown },
|
6
|
+
>(
|
7
|
+
codecs: A,
|
8
|
+
): Codec<OT>
|
9
|
+
enc: <
|
10
|
+
A_1 extends StringRecord<Encoder<any>>,
|
11
|
+
OT_1 extends {
|
12
|
+
[K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown
|
13
|
+
},
|
14
|
+
>(
|
15
|
+
encoders: A_1,
|
16
|
+
) => Encoder<OT_1>
|
17
|
+
dec: <
|
18
|
+
A_2 extends StringRecord<Decoder<any>>,
|
19
|
+
OT_2 extends {
|
20
|
+
[K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown
|
21
|
+
},
|
22
|
+
>(
|
23
|
+
decoders: A_2,
|
24
|
+
) => Decoder<OT_2>
|
25
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Codec, Decoder, Encoder } from "../types"
|
2
|
+
export declare const Tuple: {
|
3
|
+
<
|
4
|
+
A extends Codec<any>[],
|
5
|
+
OT extends { [K in keyof A]: A[K] extends Codec<infer D> ? D : unknown },
|
6
|
+
>(
|
7
|
+
...codecs: A
|
8
|
+
): Codec<[...OT]>
|
9
|
+
enc: <
|
10
|
+
A_1 extends Encoder<any>[],
|
11
|
+
OT_1 extends {
|
12
|
+
[K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown
|
13
|
+
},
|
14
|
+
>(
|
15
|
+
...encoders: A_1
|
16
|
+
) => Encoder<[...OT_1]>
|
17
|
+
dec: <
|
18
|
+
A_2 extends Decoder<any>[],
|
19
|
+
OT_2 extends {
|
20
|
+
[K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown
|
21
|
+
},
|
22
|
+
>(
|
23
|
+
...decoders: A_2
|
24
|
+
) => Decoder<[...OT_2]>
|
25
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { Codec, Decoder, Encoder } from "../types"
|
2
|
+
declare function VectorDec<T>(
|
3
|
+
getter: Decoder<T>,
|
4
|
+
size?: number,
|
5
|
+
): Decoder<Array<T>>
|
6
|
+
export declare function Vector<T>(
|
7
|
+
inner: Codec<T>,
|
8
|
+
size?: number,
|
9
|
+
): Codec<Array<T>>
|
10
|
+
export declare namespace Vector {
|
11
|
+
var enc: <T>(inner: Encoder<T>, size?: number | undefined) => Encoder<T[]>
|
12
|
+
var dec: typeof VectorDec
|
13
|
+
}
|
14
|
+
export {}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Codec, Decoder, Encoder } from "../types";
|
2
|
+
export declare const call: {
|
3
|
+
<A extends Codec<any>[], OT extends { [K in keyof A]: A[K] extends Codec<infer D> ? D : unknown; }>(...codecs: A): Codec<[...OT]>;
|
4
|
+
enc: <A_1 extends Encoder<any>[], OT_1 extends { [K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown; }>(...encoders: A_1) => Encoder<[...OT_1]>;
|
5
|
+
dec: <A_2 extends Decoder<any>[], OT_2 extends { [K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown; }>(...decoders: A_2) => Decoder<[...OT_2]>;
|
6
|
+
};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Codec } from "../types"
|
2
|
+
export declare const u8: Codec<number>
|
3
|
+
export declare const u16: Codec<number>
|
4
|
+
export declare const u32: Codec<number>
|
5
|
+
export declare const u64: Codec<bigint>
|
6
|
+
export declare const i8: Codec<number>
|
7
|
+
export declare const i16: Codec<number>
|
8
|
+
export declare const i32: Codec<number>
|
9
|
+
export declare const i64: Codec<bigint>
|
10
|
+
export declare const u128: Codec<bigint>
|
11
|
+
export declare const i128: Codec<bigint>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export { bool } from "./bool";
|
2
|
+
export { str } from "./str";
|
3
|
+
export { bytes } from "./bytes";
|
4
|
+
export { call } from "./call";
|
5
|
+
export { fixed, ufixed } from "./fixed";
|
6
|
+
export { int } from "./int";
|
7
|
+
export { struct } from "./struct";
|
8
|
+
export { tuple } from "./tuple";
|
9
|
+
export { uint } from "./uint";
|
10
|
+
export { vector } from "./vector";
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const str: import("../types").Codec<string>;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Codec, Decoder, Encoder, StringRecord } from "../types";
|
2
|
+
export declare const struct: {
|
3
|
+
<A extends StringRecord<Codec<any>>, OT extends { [K in keyof A]: A[K] extends Codec<infer D> ? D : unknown; }>(codecs: A): Codec<OT>;
|
4
|
+
enc: <A_1 extends StringRecord<Encoder<any>>, OT_1 extends { [K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown; }>(encoders: A_1) => Encoder<OT_1>;
|
5
|
+
dec: <A_2 extends StringRecord<Decoder<any>>, OT_2 extends { [K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown; }>(decoders: A_2) => Decoder<OT_2>;
|
6
|
+
};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Codec, Decoder, Encoder } from "../types";
|
2
|
+
export declare const tuple: {
|
3
|
+
<A extends Codec<any>[], OT extends { [K in keyof A]: A[K] extends Codec<infer D> ? D : unknown; }>(...codecs: A): Codec<[...OT]>;
|
4
|
+
enc: <A_1 extends Encoder<any>[], OT_1 extends { [K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown; }>(...encoders: A_1) => Encoder<[...OT_1]>;
|
5
|
+
dec: <A_2 extends Decoder<any>[], OT_2 extends { [K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown; }>(...decoders: A_2) => Decoder<[...OT_2]>;
|
6
|
+
};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Codec, Decoder, Encoder } from "../types";
|
2
|
+
export declare const vector: {
|
3
|
+
<T>(inner: Codec<T>, size?: number | undefined): Codec<T[]>;
|
4
|
+
enc: <T_1>(inner: Encoder<T_1>, size?: number | undefined) => Encoder<T_1[]>;
|
5
|
+
dec: <T_2>(getter: Decoder<T_2>, size?: number | undefined) => Decoder<T_2[]>;
|
6
|
+
};
|
package/dist/index.cjs
ADDED
package/dist/index.d.ts
ADDED