solidity-codecs 0.0.1-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- 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