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.
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
+ }