Open noshiro-pf opened 1 year ago
import * as t from "io-ts"; const T = t.keyof({ 0: undefined, 1: undefined, 2: undefined, 3: undefined, 4: undefined, }); type T = t.TypeOf<typeof T>; // 0 | 1 | 2 | 3 | 4
console.log(T.decode(0));
{ "_tag": "Left", "left": [ { "value": 0, "context": [ { "key": "", "type": { "name": "\"0\" | \"1\" | \"2\" | \"3\" | \"4\"", "keys": {}, "_tag": "KeyofType" }, "actual": 0 } ] } ] }
console.log(T.decode("0"));
{ "_tag": "Right", "right": "0" }
import * as t from "io-ts"; const T = t.keyof({ 0: undefined, 1: undefined, 2: undefined, 3: undefined, 4: undefined, }); type T = t.TypeOf<typeof T>; // "0" | "1" | "2" | "3" | "4"
Runtime behavior is ok.
It would be nice if there was some way to support the union of literals trick for numeric literals.
Which versions of io-ts are affected by this issue? Did this work in previous versions of io-ts?
🐛 Bug report
Current Behavior
Expected behavior
Runtime behavior is ok.
It would be nice if there was some way to support the union of literals trick for numeric literals.
Reproducible example
Suggested solution(s)
Additional context
Your environment
Which versions of io-ts are affected by this issue? Did this work in previous versions of io-ts?