[Typescript] Recursive types (JSONValue)
V3:
type JSONValue =
| string
| number
| boolean
| null
| JSONArray
| JSONObject;
type JSONArray = JSONValue[];
type JSONObect = {
[k: string]: JSONValue
}
v4: you can use `JSONValue` for self reference
type JSONValue =
| string
| number
| boolean
| null
| JSONValue[]
| {
[k: string]: JSONValue
}