Open bdarcus opened 1 year ago
The result of my effort with typify: https://github.com/oxidecomputer/typify/issues/269
No idea. @matklad may have more insight.
Preface: maybe I should have added this to the js repo instead? Feel free to move it of course.
In looking at the generated schema, I'm not sure all of it matches the source.
For example, here's a schema definition:
"Record<string,Footnote>": {
"additionalProperties": false,
"type": "object"
},
And here's the source (I think):
footnotes: Record<string, Footnote>;
It looks to me like the TS is tighter than the schema.
I ran into these sorts of issues when testing these tools; one of the reasons I switched to Rust (I'm using schemars to generate the schemas; that works very well).
EDIT: basically, I don't think you can rely on automatic schema generation in JS/Typescript; the schema will not match the code precisely.
A couple of us have been looking into automatically-generating Rust AST code from the definitions here. We tried three different converters, but none of them provides any results.
https://github.com/hellux/jotdown/issues/17#issuecomment-1523620546
Here's what I get with quicktype from the json schema, but the same error with the typescript:
Which makes me wonder if there's something about the typescript definition, and/or the json schema conversion, that is causing these problems?