solidity-codecs 0.0.1-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/README.md +1 -0
  2. package/dist/codecs/Bytes.d.ts +6 -0
  3. package/dist/codecs/Enum.d.ts +57 -0
  4. package/dist/codecs/Option.d.ts +6 -0
  5. package/dist/codecs/Result.d.ts +22 -0
  6. package/dist/codecs/Struct.d.ts +25 -0
  7. package/dist/codecs/Tuple.d.ts +25 -0
  8. package/dist/codecs/Vector.d.ts +14 -0
  9. package/dist/codecs/bool.d.ts +2 -0
  10. package/dist/codecs/bytes.d.ts +6 -0
  11. package/dist/codecs/call.d.ts +6 -0
  12. package/dist/codecs/compact.d.ts +2 -0
  13. package/dist/codecs/fixed-width-ints.d.ts +11 -0
  14. package/dist/codecs/fixed.d.ts +3 -0
  15. package/dist/codecs/index.d.ts +10 -0
  16. package/dist/codecs/int.d.ts +6 -0
  17. package/dist/codecs/str.d.ts +1 -0
  18. package/dist/codecs/struct.d.ts +6 -0
  19. package/dist/codecs/tuple.d.ts +6 -0
  20. package/dist/codecs/uint.d.ts +2 -0
  21. package/dist/codecs/vector.d.ts +6 -0
  22. package/dist/codecs/void.d.ts +2 -0
  23. package/dist/index.cjs +7 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.js +7 -0
  26. package/dist/scale-ts.cjs.development.js +427 -0
  27. package/dist/scale-ts.cjs.development.js.map +7 -0
  28. package/dist/scale-ts.cjs.production.min.js +318 -0
  29. package/dist/scale-ts.cjs.production.min.js.map +7 -0
  30. package/dist/scale-ts.es2017.js +403 -0
  31. package/dist/scale-ts.es2017.js.map +7 -0
  32. package/dist/scale-ts.es2019.mjs +348 -0
  33. package/dist/scale-ts.es2019.mjs.map +7 -0
  34. package/dist/solidity-codecs.cjs.development.js +404 -0
  35. package/dist/solidity-codecs.cjs.development.js.map +7 -0
  36. package/dist/solidity-codecs.cjs.production.min.js +2 -0
  37. package/dist/solidity-codecs.cjs.production.min.js.map +7 -0
  38. package/dist/solidity-codecs.js +384 -0
  39. package/dist/solidity-codecs.js.map +7 -0
  40. package/dist/solidity-codecs.mjs +384 -0
  41. package/dist/solidity-codecs.mjs.map +7 -0
  42. package/dist/test-utils.d.ts +5 -0
  43. package/dist/types.d.ts +21 -0
  44. package/dist/utils.d.ts +5 -0
  45. package/package.json +49 -0
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # @unstoppablejs/solidity-codecs
@@ -0,0 +1,6 @@
1
+ import { Encoder, Decoder, Codec } from "../types"
2
+ export declare const Bytes: {
3
+ (nBytes: number): Codec<Uint8Array>
4
+ enc: (nBytes: number) => Encoder<Uint8Array>
5
+ dec: (nBytes: number) => Decoder<Uint8Array>
6
+ }
@@ -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,2 @@
1
+ import { Codec } from "../types";
2
+ export declare const bool: Codec<boolean>;
@@ -0,0 +1,6 @@
1
+ import { Encoder, Decoder, Codec } from "../types";
2
+ export declare const bytes: {
3
+ (nBytes: number): Codec<Uint8Array>;
4
+ enc: (nBytes: number) => Encoder<Uint8Array>;
5
+ dec: (nBytes: number) => Decoder<Uint8Array>;
6
+ };
@@ -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,2 @@
1
+ import { Codec } from "../types"
2
+ export declare const compact: Codec<number | bigint>
@@ -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,3 @@
1
+ import { Codec, Fixed } from "../types";
2
+ export declare const fixed: (nBits: number, decimals: number) => Codec<Fixed>;
3
+ export declare const ufixed: (nBits: number, decimals: number) => Codec<Fixed>;
@@ -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,6 @@
1
+ import { Encoder, Codec } from "../types";
2
+ export declare const int: {
3
+ (nBits: number): Codec<bigint>;
4
+ enc(nBits: number): Encoder<bigint>;
5
+ dec(nBits: number): import("../types").Decoder<bigint>;
6
+ };
@@ -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,2 @@
1
+ import { Codec } from "../types";
2
+ export declare const uint: (nBits: number) => Codec<bigint>;
@@ -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
+ };
@@ -0,0 +1,2 @@
1
+ import { Codec } from "../types"
2
+ export declare const _void: Codec<undefined>
package/dist/index.cjs ADDED
@@ -0,0 +1,7 @@
1
+ "use strict"
2
+
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./scale-ts.cjs.production.min.js")
5
+ } else {
6
+ module.exports = require("./scale-ts.cjs.development.js")
7
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./utils";
2
+ export * from "./types";
3
+ export * from "./codecs";
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict"
2
+
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./scale-ts.cjs.production.min.js")
5
+ } else {
6
+ module.exports = require("./scale-ts.cjs.development.js")
7
+ }