- Split up products Highcharts/Highstock/Highmaps definitions?
- Emit
setOptions()
props separate from chart options - Handle
exclude
:- Use
Omit<>
- Handle defs that
exclude
but do notextend
(see output) -- this is tricky becauseOmit<>
will only work to omit props that are members of directly extended obejcts. I could add explicitextends
to any def that hasexclude
but that won't actually exclude the props if they are already merged from a parent, which is the case for this issue. - Possibly use
interfaces
instead of type alias intersections. This might work and solve above case if I add explicitextends
to all child objects that are currently merged (should be doable duringreduceDefTree
withresolveDefsAtPath
) and if we're sure all object props will always be optional, otherwise there will be "incompatible extends" errors out the wazoo.
- Use
- Validate that inferred types are all correct
- Various
animation
props are generated, sometimes inferred asboolean
from defaultfalse
, but I think they should all be the shapeAnimation = { duration: number }
? - Lots of
...Styles
objects are generated with a few props like{lineWidth, lineColor}
but look incomplete compared to descriptions. What are these shapes supposed to be? - Lots of generic
Array
,Object
andFunction
types, see if we can improve them. - Maybe apply some logic to inline small objects, like params. For example:
if pathDepth(obj) >= 3 && numProps(obj) <= 3 && !othersExtend(obj) then inline
- Resolve
Mixed
type - Emit
context
asthis: T
in function signatures (requires actually having function signatures) - Cleanup comment output and emit useful jsdoc annotations
- Reverse the emit order? (Top leve objects at top, low level objects at bottom.)
- Generate TS tests from samples
- Make
schema.d.ts
props optional and fix code for null strictness - Add unit tests for the generator code
- Organize, cleanup and document code
- What does
memberof: "yaxis"
intooltipValueFormat
doclet mean? - One of the
context
values isPlotLineOrBand
but I don't see that in the classes docs, is this a sub-class ofSeries
? plotOptions.series.states
has doclet type name"plotOptions.series.states"
-- does that mean something special?