4 ms·
TypeScript can type based on object literals, so while you can't type JSON on the fly, you can type a JSON file automatically. With code gen you can usually ju
by nkingsy 4y ago
TypeScript can type based on object literals, so while you can't type JSON on the fly, you can type a JSON file automatically.
With code gen you can usually just print out your JSON directly from the source and import that as a type into your source code.
This is why apis are moving towards specifications that trigger multiple generators.
JSON typing is possible without generation, but more cumbersome.
interface TypedJSON {
string?: string;
number?: number;
array?: TypedJSON[];
boolean?: boolean;
object?: {[key: string]: TypedJSON}
}
{foo: {string: "my string"}, bar: {number: 4}}
Probably makes sense to make the "string" key "s" for minimal payload size impact, or this could also be done by converting standard JSON to this typed representation at runtime.