|
1 | 1 | import { ObjectHandle } from '@hyperledger/anoncreds-shared' |
2 | | - |
3 | 2 | import { |
4 | 3 | i32ListToI32ListStruct, |
5 | 4 | objectHandleListToObjectHandleListStruct, |
6 | 5 | stringListToStringListStruct, |
7 | 6 | } from './conversion' |
8 | | -import { ByteBufferStruct, I32ListStruct, StringListStruct } from './structures' |
9 | | - |
10 | | -type Argument = Record<string, unknown> | unknown[] | Date | Uint8Array | SerializedArgument | boolean | ObjectHandle |
11 | | - |
12 | | -type SerializedArgument = string | number | Uint8Array | Record<string, unknown> | null |
13 | | - |
14 | | -type SerializedArguments = Record<string, SerializedArgument> |
15 | | - |
16 | | -export type SerializedOptions<Type> = Required<{ |
17 | | - [Property in keyof Type]: Type[Property] extends string |
18 | | - ? string |
19 | | - : Type[Property] extends number |
20 | | - ? number |
21 | | - : Type[Property] extends boolean |
22 | | - ? number |
23 | | - : Type[Property] extends boolean | undefined |
24 | | - ? number |
25 | | - : Type[Property] extends Record<string, unknown> |
26 | | - ? string |
27 | | - : Type[Property] extends string[] |
28 | | - ? string[] |
29 | | - : Type[Property] extends string[] | undefined |
30 | | - ? string[] |
31 | | - : Type[Property] extends number[] |
32 | | - ? number[] |
33 | | - : Type[Property] extends number[] | undefined |
34 | | - ? number[] |
35 | | - : Type[Property] extends Date |
36 | | - ? number |
37 | | - : Type[Property] extends Date | undefined |
38 | | - ? number |
39 | | - : Type[Property] extends string | undefined |
40 | | - ? string |
41 | | - : Type[Property] extends number | undefined |
42 | | - ? number |
43 | | - : Type[Property] extends Uint8Array |
44 | | - ? Uint8Array |
45 | | - : Type[Property] extends ObjectHandle |
46 | | - ? number |
47 | | - : Type[Property] extends ObjectHandle[] |
48 | | - ? number[] |
49 | | - : Type[Property] extends ObjectHandle[] | undefined |
50 | | - ? number[] |
51 | | - : Type[Property] extends ObjectHandle | undefined |
52 | | - ? number |
53 | | - : Type[Property] extends Uint8Array |
54 | | - ? typeof ByteBufferStruct |
55 | | - : Type[Property] extends Uint8Array | undefined |
56 | | - ? typeof ByteBufferStruct |
57 | | - : Type[Property] extends unknown[] | undefined |
58 | | - ? string |
59 | | - : Type[Property] extends Record<string, unknown> | undefined |
60 | | - ? string |
61 | | - : unknown |
62 | | -}> |
63 | 7 |
|
64 | | -const serialize = (arg: Argument): SerializedArgument => { |
| 8 | +const serialize = (arg: unknown): unknown => { |
65 | 9 | switch (typeof arg) { |
66 | 10 | case 'undefined': |
67 | 11 | return null |
@@ -94,12 +38,10 @@ const serialize = (arg: Argument): SerializedArgument => { |
94 | 38 | } |
95 | 39 | } |
96 | 40 |
|
97 | | -export const serializeArguments = <T extends Record<string, Argument> = Record<string, Argument>>( |
98 | | - args: T |
99 | | -): SerializedOptions<T> => { |
100 | | - const retVal: SerializedArguments = {} |
| 41 | +export const serializeArguments = <T extends Record<string, unknown> = Record<string, unknown>>(args: T) => { |
| 42 | + const retVal: Record<string, unknown> = {} |
101 | 43 | for (const [key, val] of Object.entries(args)) { |
102 | 44 | retVal[key] = serialize(val) |
103 | 45 | } |
104 | | - return retVal as SerializedOptions<T> |
| 46 | + return retVal |
105 | 47 | } |
0 commit comments