Browse Source

ts: Update types to work for vec and array (#862)

Pierre 4 years ago
parent
commit
ee190595ac
1 changed files with 4 additions and 2 deletions
  1. 4 2
      ts/src/program/namespace/types.ts

+ 4 - 2
ts/src/program/namespace/types.ts

@@ -93,8 +93,10 @@ export type DecodeType<T extends IdlType, Defined> = T extends keyof TypeMap
   ? Defined[T["defined"]]
   : T extends { option: { defined: keyof Defined } }
   ? Defined[T["option"]["defined"]] | null
-  : T extends { vec: { defined: keyof Defined } }
-  ? Defined[T["vec"]["defined"]][]
+  : T extends { vec: keyof TypeMap }
+  ? TypeMap[T["vec"]][]
+  : T extends { array: [defined: keyof TypeMap, size: number] }
+  ? TypeMap[T["array"][0]][]
   : unknown;
 
 /**