Typescript for Highchartsã®å®çŸ©ãnpmããã±ãŒãžå ã«ãããã€ããããšã¯å¯èœã§ããïŒ angularãªã©ïŒïŒ
TypeScriptã®äººæ°ãé«ãŸãã«ã€ãããããå®çŸããå¿ èŠããããšæããŸãã ä»ã®å€ãã®jsããã±ãŒãžã«ã¯ãç¬èªã®ïŒå ¬åŒã®ïŒã¿ã€ãã³ã°ãå«ãŸãå§ããŠããŸãã DefinitelyTypedã³ãã¥ããã£ã«ä»»ããã®ã§ã¯
ããã¯ç§ãã¡ãæ€èšããŠããããšã§ãã APIãã³ãããèªåçæããããŒãã¹ã¯ãªãããäœæã§ããã¯ãã§ãã
+1ðç§ãããã DefinitelyTypedãªããžããªã¯å€ããHighcharts v4.2.x以éãæ£çºçããã³å¶çºçãªããããã£ã®ã¿ãæŽæ°ãããŸããã ããããHighcartsã®
ãããã£ãŠãDefinitelyTypedãªããžããªãæŽæ°ãããããã䟿å©ã«ãHighchartsã«ãã³ãã«ããæ¹ãã¯ããã«åªãããœãªã¥ãŒã·ã§ã³ã«ãªããŸãã
èªåçæããããšã¯çŽ æŽããããªãã·ã§ã³ã®ããã«èãããŸãããããã§ã.d.tsãã¡ã€ã«ã®ãã¹ããäœæããéšåã§æäœæ¥ãå¿ èŠã«ãªãå¯èœæ§ããããŸããïŒ ãŸããèªåçæããããšãã§ããŸãã
DefinitelyTypedãªããžããªãçŸåšã®ãªãªãŒã¹ã«æŽæ°ããäœæ¥ãããããšæããŸããæåãã¡ã€ã«ãããã«å«ãããå Žåã¯ã httpsïŒ//github.com/highcharts/highchartsã§PRãè¡ã
/ cc @ ry8806 @TorsteinHonsi
^ Highchartsv5.0.10ã
å ¬åŒã®TypeScriptåå®çŸ©ãæã£ãŠããããšãé«ãè©äŸ¡ããŸãã ãã£ãŒãèšå®ãå ¥åãããšãã«å€§ãã«åœ¹ç«ã¡ãŸãã
ããã§ããã¿ã€ãå®çŸ©ãçŸå®ã®èåŸã«ããã¡ãžã£ãŒããŒãžã§ã³ã«ãªã£ãŠããŸãã ïŒ/
ãã®ã©ã€ãã©ãªã®è€éããèãããšãæè¯ã®è§£æ±ºçã¯ã @ TorsteinHonsiãåç §ãããAPIãã³ããããtype- defãçæããããšã ãšæããŸãã ãã ãããã®ãªã³ã¯ã¯å£ããŠããããã§ãã æ°ãããã®ã¯ãããŸããïŒ ç§ã¯ãžã§ãã¬ãŒã¿ãŒãæžãããšã«ç©æ¥µçã«åãçµãã§ãããŸãã
ãã ãããã®ãªã³ã¯ã¯å£ããŠããããã§ãã æ°ãããã®ã¯ãããŸããïŒ
ã¯ããæ°ãããã®ã¯https://api.highcharts.com/highcharts/tree.jsonããå ¥æã§ã
@cvassengåèãŸã§ã«ã
@TorsteinHonsiããããšããããèŠãŠã¿ãŸãããã ãjsdocãã®ç¹å®ã®ãã¬ãŒããŒïŒGoogle ClosureãJSDoc 3ïŒïŒã䜿çšããŠããŸããïŒJSONãã³ãã¯ãåç §çšã«ç¢ºèªã§ãããã®ã³ãŒãããŒã¹ã®ã©ããã§çºçããŸããïŒ ç§ãå°ããçç±ã¯ãåäœããå¯èœæ§ã®ããæ¢åã®JSDocããTSDefãžã®ã³ã³ããŒã¿ãŒãååšããããã§ã...
JSDoc 3ã䜿çšããŠããŸããã宣èšåãªãã·ã§ã³ã®æ§é ãèšè¿°ã§ããããã«å€§å¹ ã«æ¡åŒµãããŠããŸãã
@TorsteinHonsi JSONãèŠãŠãããã€ã質åããããŸã...ãã®åœ¢åŒã®ã¹ããŒãããã¥ã¡ã³ããæã£ãŠããªãå¯èœæ§ããããŸããïŒ ããã¯ç§ãéãããã®ã§ãã Highcharts.setOptions()
ãšHighcharts.chart()
æž¡ããããªãã·ã§ã³ãã©ã®ããã«æå®ããŸããïŒããšãã°ïŒïŒ ã¯ã©ã¹ãšåå空éã®APIãã³ãããããŸããïŒ
@cvasseng
ããã«ã¡ã¯@aaronbeall ã
Highcharts.setOptions()
ã®ãªãã·ã§ã³ãšã·ãªãŒãºã¯ã©ã¡ãããããã䜿çšããã¹ããŒãèªäœã®å€éšã§ã¯ç¹æ®ãªã±ãŒã¹ãšããŠåŠçãããŸãããå°ãªããšãglobal
ãšlang
ã次ã®ããã«å€æŽããå¿
èŠããããŸããã¡ã€ã³ãªãã·ã§ã³æ§é ã®å€åŽã
ã¡ãªã¿ã«ãå€ããã³ã圢åŒã¯https://api.highcharts.com/dump.jsonã§å ¥æã§ããŸãããã ã option /dump.jsonã
@cvassengã«æè¬ããŸãã ç§ã¯ããããããå§ããŠããŸã...ããããã®ããŒã¿ããããŸããç§ã¯ããããã¹ãŠç解ããããã ãã«ç§ã®ä»äºãåãåã£ãŠããŸãã :) boost.seriesThreshold
ãªã©ãäžéšã®ãã£ãŒã«ãã«ã¯ã¿ã€ãããªããã¿ã€ããæšæž¬ããããã©ã«ãããªãããšã«æ°ä»ããŸããããã¿ã€ãã¯ããã¥ã¡ã³ãã«è¡šç€ºãããŸãã ãããã¯ç¹å¥ãªå ŽåãšããŠæ±ãããŸããããããšãäœãã足ããŸãããïŒ ãŸããåå空é/ã¯ã©ã¹ã®APIã¹ããŒãã¯ãããŸããããããšãåå¥ã«åŠçãããŸããïŒ å®£èšåã¢ãã«ã¯ããããæ代é
ãã«ããããšãæå³ããŠããŸããïŒ
ïŒãã£ãšè³ªåããããŸãããããã«ã€ããŠè©±ãåãã®ã«è¯ãå Žæã¯ãããŸããïŒGitterïŒããã§ã¯å æ°ã§ãããäžéšã®äººã«ãšã£ãŠã¯ããªãã®ãã€ãºãçºçããŠããå¯èœæ§ããããŸããïŒ
boost.seriesThreshold
ã®ã¿ã€ãã¯ãå®éã«ã¯tree.json
ïŒããã³ã©ã€ãããã¥ã¡ã³ãïŒã§ã¯ééã£ãŠããããã«èŠããŸããæååã§ã¯ãªãæ°å€ã§ãããšæ³å®ãããŠããŸãã ãããçæãããå®éã®ããã¯ã¬ãããèŠããšãã¿ã€ããæ¬ èœããŠããŸãã ããã¯ãã¿ã€ããæ¬ èœããŠããä»ã®å Žæã«ãåœãŠã¯ãŸãå¯èœæ§ããããŸãã ãžã§ãã¬ãŒã·ã§ã³ãã¹ã«ãã¹ããšãã§ãã¯ãè¿œå ããŠãããã¯ã¬ãããå€æŽããããšãã«ããããèªåçã«æ€åºãããããã«åãçµãã§ããŸãã
åå空é/ã¯ã©ã¹ã®ã¹ããŒãã¯ãããŸãããããããã¯ããã©JSDoc 3ã«ãã£ãŠåŠçããããããæ¢åã®ãã©ã°ã€ã³ãè¿œå ããŠããããã®ã¿ã€ãã¹ã¯ãªããå®çŸ©ãèªåçã«çæã§ããå ŽåããããŸãã ãã®éšåã®ã»ããã¢ããã¯ããã§èŠã€ããããšãã§ããŸãïŒ https ïŒ
ãããŠãããã§ãããè°è«ããããšã¯ããŸããããŸãã :)ããããã°ãä»ã®äººãããã«åŸãããšãã§ããããã«ãç§ãã¡ã¯ããã®ããã®äžå€®ã®å ¬å ±ã®å Žæãæã£ãŠããŸãã
圹ã«ç«ã€å Žåã¯ãããã¯ã¿ã€ããæã£ãŠããªãããã«èŠãããã¹ãŠã®ãã£ãŒã«ãïŒhighcharts / tree.jsonå
ïŒã®type
ããããã£ãŸãã¯default
ããããã£ãªã®ã§ã any
å²ãåœãŠãããŸãã ãããã®ã¿ã€ãã®ããããã¡ã€ã«ãæžãããšãã§ããŸããããããšããã£ãšè¯ãæ¹æ³ããããŸããïŒ
ãããã¬ãã«ã®JSONãšmapNavigation.buttons
ã空çœã®ããŒããããŸãã
ç§ã¯ä»æ¥ããã«ã€ããŠããããã®é²æ©ãéããŸãããããªãã¯çŸåšããã§äœãŸãã ãã®é«å質ãå®çŸããã«ã¯ããŸã å€ãã®äœæ¥ãæ®ã£ãŠããŸãã ææ¥ã¯ãªããžããªã«ããã·ã¥ããŸãã 倧ãŸãã«èšã£ãŠãç§ãééããããã€ãã®åé¡ïŒ
Highcharts.Options
ãSeries
ãããªéèŠãªãã®ããã PlotOptionsBbTopLine
ãããªéåžžã«ç¹å®ã®å°ããªãªããžã§ã¯ããŸã§ãå«ãŸããŠããŸãã ååã®ç«¶åãåé¿ããããã«ããã«ããŒã ãPascalCaseã«å€æããŸãïŒäŸïŒ plotOptions.bb.topLine
ã ãããããè¯ãããæ¹æ³ããŸã ç解ããããšããŠããŸãã çŸåšã®@types/highcharts
ãšæ¯èŒããã®ã¯å°ãé£ããã§ãããå€ãã®å Žåãããã«ã¯äœããååšããŸãããhighstock
ãšhighmaps
ã䜿çšããæ¹æ³ãããããç解ããå¿
èŠããããŸã...extends
ãäºææ§ã®ãªãæ¡åŒµæ©èœã«ã€ããŠå€ãã®ãšã©ãŒãåŒãèµ·ãããŠããããããªããžã§ã¯ãã¯&
亀差åã䜿çšããŠããŒãžãããŠããŸãã çŸåšã excludes
ã®åŠçã¯ãããŸããã Omit
åã§éã³å§ããŸããããåã«ååšããªãçç¥ããããã£ãŒã«ãã«ã€ããŠå€ãã®ãšã©ãŒãçºçããŸããã ããã¯ããªããžã§ã¯ãããããã£ã芪ããéæ¥çã«ç¶æ¿ããå Žåããããããå®éã«ã¯çç¥ãã¹ããã£ãŒã«ãããªãããã ãšæããŸãã芪ãªããžã§ã¯ãã®ããããã£ã«ã¯ãããŸãã plotOptions.mfi.params
ã¯ãã®äŸã§ããã index
é€å€ããŸããã index
ããããã£ãŸãã¯extends
æã€ãªããžã§ã¯ãã¯ãããŸãããã芪plotOptions.mfi
ã¯ãåplotOptions.sma.params
ããããã£ãæã€plotOptions.sma
ãæ¡åŒµãã index
ã¯ã芪ã§plotOptions.mfi.params
ãšããŒãžãããŸãã ããããŸã ããã«å¯ŸåŠããæ¹æ³ãããªãããŸãã :)å®å
šã«ããŒãžãããããªãŒãè©äŸ¡ããããããã¿ã€ããèšç®ããå¿
èŠãããããã§ã...Array
ã Object
ãããã³Function
ã¿ã€ã...ãããããã¹ãŠèª¬æã§ååã«ææžåãããŠããŸãããã¿ã€ãã§ã¯è¡šçŸãããŠããªãããã§ãã ãã¶ããåããŒã¿ã®ããã€ãã®è³¢æãªãããããããä¿®æ£ããã§ãããã ç§ã®ãæ°ã«å
¥ãã¯Array.<Array.<Mixed>>
-ããããŸã äœã§ãããããããŸããã :)ä»ã®ããã€ãã®ç¹å®ã®ãã®ïŒ
Color
ã CSSObject
ãããã³Mixed
ã¿ã€ããšã¯äœã§ããïŒ Color
ã¯ãã©ãŒããããããstring
ã CSSObject
ã¯æšæºã¹ã¿ã€ã«ã®ãªããžã§ã¯ãã§ããããããšãäœãç¹å¥ãªãã®ã§ããïŒseries.bellcurve.data
ãšseries.histogram.data
ã©ã¡ããæ¡åŒµããã埪ç°åç
§ãäœæããŸãã ããã¯åãªãã¿ã€ããã¹ã ãšæããŸããããããä»ã®äœããæ¡åŒµããããã®ãã®ã§ããïŒãŸãã httpsïŒ//api.highcharts.com/highstock/plotOptions.bb.topLine.styles.lineColorãªã©ãäžè¶³ããŠããã¿ã€ãã®äžéšã¯APIã§äžè¶³ããŠããŸããã ç§ã®èšæ¶ãæ£ãããã°ã api-docs
ãžã§ãã¬ãŒã¿ãŒã§ã¿ã€ãæšæž¬ãè¡ããŸããããããhighcharts.jsdoc.js
ã¹ã¯ãªããã«ç§»åããŠãtree.jsonã®äžéšã«ããããšãã§ããŸãã
@cvassengå ¬åŒã®TypeScriptå®çŸ©ã®ã¹ããŒã¿ã¹ã¯ã©ããªã£ãŠããŸããïŒ
ããã§
ç§ãæ£ããèŠããŠããã°ã
api-docs
ãžã§ãã¬ãŒã¿ãŒã§ã¿ã€ãæšæž¬ãè¡ããŸã
api-docs
ãžã§ãã¬ãŒã¿ãŒãã©ã®ããã«æ©èœããããç¥ããããšæããŸãã ããã¯ãAPIãã³ããç解ããã®ã«åœ¹ç«ã¡ãŸãã ã©ã察åŠãããããã®ãããããªããã®ãèŠã€ããŠããŸãã ããšãã°ã series.bullet.data.targetOptions
ã¯series.bullet.targetOptions
series.bullet.data.targetOptions
æ¡åŒµããŸããã series.bullet.targetOptions
å®çŸ©ã¯ååšããŸãã...ãã ããããããã£ã¯ããã¥ã¡ã³ãã«åé¡ãªã衚瀺ãããŸãã ç§ã¯ã®ã§ãããã¯ã ãšæãseries.bullet
æ¡åŒµplotOptions.bullet
æã£ãŠããplotOptions.bullet.targetOptions
ã®ã§ã series.bullet.targetOptions
ã«è§£æ±ºplotOptions.bullet.targetOptions
ïŒ
ç·šéïŒä»å€ã®å°ãã®é²æ©ãããã©ã«ãå€ã®ç§ã®çå®ã®ãã§ãã¯ã¯ãã¹ãŠã®ãªãã©ã«false
å€ãç Žæ£ãããããä¿®æ£ããããã«å€ãã®ãã®ãããŒã«å€ãšããŠæšæž¬ãããŸããã ãã ããäžéšã®å Žæã§ããŒã«å€ãæ£ããã¿ã€ãã§ãããã©ããã¯ããããŸããã ãŸãã values
ã§ãªãã©ã«åã確èªããŸãïŒãã®æ
å ±ã¯çŽ æŽãããã§ãïŒïŒã ãšã«ãããäžè¶³ããŠããã¿ã€ãã®ãã³ããæŽæ°ãããŸãã
ããªãŒããªããžã§ã¯ããã©ã®ããã«æ¡åŒµããããèããåŸãããã€ãã®é²æ©ãéããŸããã
object
ã array
ã function
ãªã©ã®ãããŸããªã¿ã€ãã®åé¡ããŸã ãããŸããOmit<>
ã䜿çšãã excludes
ãæã€ãã¹ãŠã®ãªããžã§ã¯ãã«æ瀺çãªextends
ãè¿œå ããããã®ãã¹ãäœæããæŠç¥ããããšæããŸãïŒæåã®ç®æ¡æžãïŒãããã³ãã¹ãŠã®ãªãã·ã§ã³ã®ããããã£ãæã€ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããããã«å
ã«æ»ããŸãã ããããã£ããã¹ãŠãªãã·ã§ã³ã§ããããšã確å®ã§ããéããããã¯æ©èœãããšæããŸããïŒ å¿
èŠãªç©ä»¶ã¯ãããŸããïŒtooltipValueFormat
ããã¯ã¬ããã®"memberof": "yaxis"
ã¯ã©ãããæå³ã§ããïŒcontext
å€ã®1ã€ã¯PlotLineOrBand
ããã¯ã©ã¹ã®ããã¥ã¡ã³ãã«ã¯è¡šç€ºãããŸãããããã¯Series
ãµãã¯ã©ã¹ã§ããïŒplotOptions.series.states
ã¯ããã¯ã¬ããã¿ã€ãå"plotOptions.series.states"
-ããã¯äœãç¹å¥ãªããšãæå³ããŸããïŒ@aaronbealläœãé²æ©ã¯ãããŸããïŒ ãŸããhighchartsã®åçæã«ã€ããŠãå°ã詳ãã説æããŸããã
倧ããªæ¬ é¥ã®1ã€ã¯ãçæãããtree.json
ãhighchartsåå空éã®éçã¡ãœããã®ããã«ãhighchartsã®ãã¹ãŠã®åãå«ãŸããŠããªãããšã§ãã æå¹ãªã·ã³ãã«ãã«ãŒãã³ã°ã®åŸã«703åã®ã·ã³ãã«ããããŸãã ããããã®åŸãtree.jsonå
ã®åºåã·ã³ãã«ã¯çŽ100ã«ãªããŸããããã¯ãããã®å€ããç¡èŠãããŸãã
@ scott-hoæ°å¹Žã«Highchartsã䜿ã£ãŠãããžã§ã¯ãããããã®ã§å°ãçµã¡ãŸããããä»ã¯ãŸãæ»ã£ãŠããŠãããã«ãã®ãããžã§ã¯ãã«æ»ããŸãã
ååã®æçš¿ããã type
ãinterface
ã«å€æãã extends
代ããã«&
extends
ã䜿çšãããšããã«ãŒãããã©ããŸããïŒããã¯ã tree.json
ãé©åã«ãµããŒãããããã®ç§ã®æŠç¥excludes
ã®äœ¿çšïŒãããã³åé¡ãçºçããŸããïŒTSã¯ãå°ãªããšãå
±æããªããªããžã§ã¯ãã¿ã€ãã§ãããã£ãŒã«ãåãå
±æããå¥ã®ã€ã³ã¿ãŒãã§ã€ã¹ãæ¡åŒµããããšãã€ã³ã¿ãŒãã§ã€ã¹ã«èš±å¯ããŸãã1ç©ä»¶ã ãããæœè±¡çãªäŸã§ãã ç§ãééãããã®æ£ç¢ºãªäŸãå¿ããŸãããã tree.json
ããªããžã§ã¯ããèªç±ã«æ¡åŒµãïŒå Žåã«ãã£ãŠã¯æ¡åŒµãã§ãŒã³ã5ãè¶
ããïŒãä»»æã®æç¹ã§ãã£ãŒã«ããèªç±ã«é€å€ããæ¹æ³ã®ããã«ããããããããŸããã ããã«ããã &
亀差åã䜿çšãã以åã®ã¢ãããŒããæé©ãªã«ãŒãã§ããå¯èœæ§ããããšæããŸããã åºæ¬çã«ããé€å€ããããäžéšã®ããããã£ã¯ãå®éã«ã¯åãã³ãã§é€å€ãããŠè¡šç€ºãããŸããïŒçŸåšã®ããŒãããçç¥ã§ããªãããªãŒã®äžäœã«æ¡åŒµããããã®ããããŒãžãããããïŒããç§ã¯ã§ããŸãããããè¡ãããã®ããè¯ãæ¹æ³ãèããŠãã ããã ããã¥ã¡ã³ãã¯ããããã£ãåäžã®ãã€ã³ãããã¬ã³ããªã³ã°ããããããã®åé¡ãåé¿ããŸãããæ§é çã«ã¯ã extends
ãæšãŠãŠãã»ãšãã©éè€ããåå®çŸ©ã倧éã«äœæããªãéãããã®ããã«åãèšè¿°ããããšã¯ã§ããŸããã
æå¹ãªã·ã³ãã«ãã«ãŒãã³ã°ã®åŸã«703åã®ã·ã³ãã«ããããŸãã ããããã®åŸãtree.jsonå ã®åºåã·ã³ãã«ã¯çŽ100ã«ãªããŸããããã¯ãããã®å€ããç¡èŠãããŸãã
ã©ã®ãããªåªå®æ¹æ³ãåç §ããŠããŸããïŒ ããã¯å¯ŸåŠããã®ãæãé£ããéšåã§ã...
ã¯ããã¯ã©ã¹/åå空éãtree.json
èšè¿°ãããŠããªãããšã«ãæ°ã¥ããŸããïŒããã¯åºæ¬çã«ç§ãç解ããŠããããã«å®£èšåã®initãªãã·ã§ã³ãèšè¿°ããŠããŸãïŒãã @ cvassengã¯ããããããã©jsdoc3ã§ãããšèšã£ãã®ã§ãæšæºã䜿çšã§ããããšãé¡ã£ãŠããŸããã®ããã®ã³ã³ããŒã¿ãŒã
pruning
ã¯ãã®è¡ããåç
§ãããŸãã
tree.json
ãã¹ãŠã®ããŒã¿åéã¯ã publish
ã¡ãœããå
ã«ãããŸãã
ãã®äžã«jsdocapiã®èª€çšããããããããªããšæããŸãã
jsdocããã®å
ã®åºåã«åºã¥ããŠãæ°ããããŒãžã§ã³ã®tree.json
ãçæããããã®ããè¯ãæ¹æ³ãèŠã€ããããšãã§ããŸãã
ä»æ¥ãç§ã¯tree.json
äœãè¡šããŠããã®ãã調ã¹ãããã«ãã°ããæéãè²»ãããŸããã ããããç§ã¯ã€ãã«tree.json
ããã£ãŒããªãã·ã§ã³ã®ã¿ã€ãã®ã¿ããã¹ãããŠããããšãç解ããŸããã https://api.highcharts.com/highcharts/ãåç
§ããŠ
ã¿ã€ãã®åéãšçæã®ããžãã¯ã¯ããã«æžãããŠããŸã-httpsïŒ//github.com/highcharts/highcharts/blob/master/tools/jsdoc/plugins/highcharts.jsdoc.jsã
èªåã§åã®ãã«ããŒãžã§ã³ãçæãã httpsïŒ//github.com/englercj/tsd-jsdocã®ãããªããšãããå¿ èŠããããããããŸãã
ãã®ããã®ETAã¯ãããŸããïŒ DefinitelyTypedã®å®çŸ©ã¯ããªãã²ã©ããã®ã§ãã
å¿ èŠãªäžè¶³ããŠããæ©èœã«ã€ããŠTypeScriptããŒã ã«çžè«ããããšãæ€èšããŸãããïŒ åœŒãã¯Highchartsã®ãµã€ãºã®ãããžã§ã¯ãã®ããŒãºã«è³ãåŸãããªãªãŒã¹ãµã€ã¯ã«ã¯ããªãéããšç¢ºä¿¡ããŠããŸãã
@aaronbeallããããããã¿ã€ããèŠãããšããããŸããïŒ
@cvasseng @TorsteinHonsi
å¿ èŠãªäžè¶³ããŠããæ©èœã«ã€ããŠTypeScriptããŒã ã«çžè«ããããšãæ€èšããŸãããïŒ
@JannesMeyeræ®å¿µãªããOmit<>
æ©èœããŠç©äºãåºå¥ããæ¹æ³ã§ã...ããããç§ã«ãšã£ãŠã®èª²é¡ã¯ãHighchartsããŒã¿æ§é ã䜿çšå¯èœã§å®çŸ©ãããŠããæ¹æ³ãã©ã®ããã«ç解ãããã§ãã ãå®å
šãªäººéå·¥åŠçã¿ã€ãã®å®çŸ©ã å®çŸ©ã¯æå°éã«å®çŸ©ããå¿
èŠãããããã§ãïŒã€ãŸãããã¡ãã¡ã®é¡äŒŒãããªããžã§ã¯ãã§åãããããã£ãåå®çŸ©ããªãã§ãã ããïŒããäœãèŠéãããšã¯ãããŸããã Highchartsãç¹å®ã®ã³ã³ããã¹ãã§å®éã«äœ¿çšããªããªãã·ã§ã³ãåè£å®ã«è¡šç€ºããããšã¯ãããã«ããã¯ããobject
ãŸãã¯any
ã¿ã€ãã«ãªãããã¥ã¡ã³ãã¹ããŒããäžè¶³ããŠãããšããåé¡ããããŸã...誰ããã¿ã€ããæžãçããå¿
èŠãããå Žåãã¿ã€ãçæã§ã¯ãããè¡ãããšãã§ããŸããã
ãããããã¯çã«ããªã£ãŠããã HighchartsããŒã ã¯ãçŸåšãããå°ãã ãTypeScriptãæ¡çšããå¿ èŠãããããã§ãã jsdocããããã¥ã¡ã³ããçæããã®ã§ã¯ãªããåå®çŸ©ããããã¥ã¡ã³ããçæããããšãå¯èœã§ããããïŒ
@ JannesMeyer ïŒ8307ã¯ããã«ã¿ã€ãã®Highchartsãçæããéäžã§ãã ã¬ãã¥ãŒãå¿ èŠã§ãã ããã¥ã¡ã³ãã®æ¹åãããŒãžããããšãjsdocè¡šèšã«åºã¥ããŠå®å šãªã¿ã€ããèªåçæããããã«å¥ã®PRãçºè¡ãããŸãã
ç§ã¯ãã®æçš¿ããã©ããŒããŠããŸãããã宣èšãã¡ã€ã«ãå©çšã§ãããšéåžžã«åœ¹ç«ã¡ãŸãã
ç§ã¯React / Typescriptãããžã§ã¯ãã«DefenitelyTypedã䜿çšããŠããŸãã ããããã¢ã¯ã»ã·ããªãã£ã«è¡ãè©°ãŸããŸããã ã¢ã¯ã»ã·ããªãã£éšåãDefenitelyTypedã§æ©èœããªãããšã«æ°ã¥ããŠããŸããã§ããã åé¡ã«ã€ããŠHighchartsãµããŒãããŒã ã«é£çµ¡ããŸãããããŸã éããããŸããã
ç§ãã¡ã®ããŒã ã§ã¯ãHighcharts / Highmapsãå€çšããŠããŸãã ãããã£ãŠãç§ãã¡ã¯ããã«æè³ããŸããã ãã®ãããžã§ã¯ãã®åªå
é äœã«ã€ããŠèããŠã¿ãŠãã ããã
åãã£ãŠæè¬ããŸãïŒ
ãã®åé¡ã®åªå 床ãé«ããªã£ãŠããããšããç¥ããããŸãã
HighchartsããŒã ïŒ @sophiebremerãš@oysteinmoseng ïŒã¯å®éã«ç§ãšã®ãããã°ã»ãã·ã§ã³ã«åå ããJsãã¡ã€ã«ãçŽæ¥ããŒãããããšã§ãã®åé¡ã®è§£æ±ºãæ¯æŽããŠãããŸããã çŸæç¹ã§ç§ããããã¯è§£é€ããããã«åœŒããæäŸããŠãããæéãšè§£æ±ºçã«æ¬åœã«æè¬ããŠããŸãã 究極ã®è§£æ±ºçãšããŠHighchartsãå«ãTS宣èšãã¡ã€ã«ã楜ãã¿ã«ããŠããŸãã :)
ãããåªå ããŠããã@sophiebremerã«æè¬ããŸãã ããã¯ãTypescriptã䜿çšããŠãããããžã§ã¯ãã«éåžžã«åœ¹ç«ã¡ãŸãã
泚ïŒã³ã¡ã³ããç·šéããŠãããè¯ãã³ã³ããã¹ããæäŸããHighchartsããŒã ã®äººã ã«ãæè¬ããŸãã
ç§ãã¡ã¯ãAngular / Typescriptãæ±ã倧èŠæš¡ãªããã³ããšã³ãããŒã ã§Highstockãéäžçã«äœ¿çšããŠããŸãã ã¿ã€ãã¹ã¯ãªããã®å®çŸ©ããããšãããã§ããããDefinitelyTypedã®å®çŸ©ãåç §ã ãšæããŸããããHighstockã§ã¯å®å šã«æ代é ãã§ãã
ãã®ã¿ã€ãã¹ã¯ãªããã®å®çŸ©ã¯ãç§ãã¡ã«ãšã£ãŠæ¬åœã«å€§ããªããŒãºã§ãã
ã©ããªETAã§ã倧æè¿ã§ã:)
çŸåšãå質ã«åãçµã¿ãHighchartsã®ãªãã·ã§ã³ããªãŒã§çæãããã€ã³ã¿ãŒãã§ã€ã¹ã®æ°ãæžããããã«ããŠããŸãã ãã®åŸããããªãã¯ããŒã¿ãã§ãŒãºãéå§ããŸãã
ç§ãã¡ã®ETAã¯ãä»ã®ãšããããŒã¿çã®2018幎第3ååæã§ãã
@sophiebremerããã¯çŽ æŽããããã¥ãŒã¹ã§ãïŒ DTSãžã§ãã¬ãŒã¿ãŒããæã¡ã§ããããããšãæ¢åã®å€æããŒã«ã䜿çšããŠããŸããïŒ
ã«ã¹ã¿ã ã®ãã®ã䜿çšããŸãã äžã®dts-domã䜿çšããŠããã®ãã«ãªã¯ãšã¹ãhttps://github.com/highcharts/highcharts/pull/8307ã®ã¢ãããŒããè©ŠããŸããããããŸããããŸããã§ããã
ããã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ @types/highcharts
ã¯ããæŽæ°ãããŠããªãããã§ãã
çŸåšãåªå 床ã®é«ãåãçµã¿ãè¡ã£ãŠãããŸãã æ®å¿µãªãããçŸåšã宣èšã®ãã¬ãã¥ãŒãå ¬éããããšã¯ã§ããŸããã çµ±åããå¿ èŠãããããŸãã¯å°å ¥ããå¿ èŠãããã¿ã€ãããŸã ãããŸãã ãhighcharts.d.tsãã¯ã200.000è¡ãè¶ ãã宣èšãšã³ã¡ã³ããå«ã巚倧ãªãã¡ã€ã«ã«ãªããŸãã
@sophiebremerã©ã®ããã«ããŠãã®ãã¡ã€ã«ãäœæããŸããïŒ æåã§ïŒ
@ scott-ho
宣èšãã¡ã€ã«ã¯èªåçã«çæãããŸããããœãŒã¹ã³ãŒãå
ã®ããã¯ã¬ããã®ä¿®æ£ãšæŽæ°ã¯æåã®ããã»ã¹ã§ãã
çããããã«ã¡ã¯ïŒ Highchartsã®å®£èšã®ãã¬ãã¥ãŒãå人ãªããžããªã«å
¬éããŸããã npm i https://github.com/sophiebremer/highcharts-declarations-alpha.git
ãã¹ããããã httpsïŒ//github.com/sophiebremer/highcharts-declarations-alpha/blob/master/highcharts.d.tsãã宣èšãããŠã³ããŒãããŠã ./node_modules/highcharts/
çŽæ¥é
眮ã§ããŸãã
æ¢ç¥ã®åé¡ç¹ïŒ
{ data: [0, 1, 2]} as Highcharts.SeriesLineOptions
ãããªã·ãªãŒãºã¿ã€ãã«ãã£ã¹ãããããšã§ããéžæãªã©ã®ChartEventsOptionsé¢æ°ã¯ãã€ãã³ãé¢æ°ãã©ã¡ãŒã¿ãŒãåã蟌ãã§ããªãããã§ã
ç§ãèŠã€ããä»ã®ããã€ãã®åé¡
ãšã¯ã¹ããŒãäžã®offlinexportingã¢ãžã¥ãŒã«ãã€ã³ããŒãã§ããŸããã ããã©ã«ãã®ãã¡ã¯ããªããšã¯ã¹ããŒãããŠããã©ã«ãã®ã€ã³ããŒããšããŠäœ¿çšããã«ã¯ãexport = factoryãå€æŽããå¿ èŠããããŸãã
泚éã¢ãžã¥ãŒã«ããããŸãã
PlotSeriesEventsOptionsã¯ãªãã¯ã¯ã¯ãªãã¯ãšããŠå€æŽããå¿ èŠããããŸããïŒ:( eïŒPointerEventObjectïŒ=>ããŒã«å€;
ãã£ãŒãããã¯ããããšãããããŸãã @ muperi ïŒ
2çªç®ã®æçš¿ã«é¢ããã³ã¡ã³ãïŒ
éžæãªã©ã®ChartEventsOptionsé¢æ°ã¯ãã€ãã³ãé¢æ°ãã©ã¡ãŒã¿ãŒãåã蟌ãã§ããªãããã§ã
ä¿®æ£ã¯highcharts / highchartsïŒ9110ã®äžéšã§ããã httpsïŒ//github.com/highcharts/highcharts-declarations-betaã®æ¬¡ã®ã¢ããããŒãã«å«ãŸããäºå®
ãã®ãªããžããªã«å®£èšãã¡ã€ã«ã«é¢ããåé¡ãããã«è¿œå ããŠãã ããïŒ https ïŒ
ããããšãããããŸããã
æãåèã«ãªãã³ã¡ã³ã
ãã®åé¡ã®åªå 床ãé«ããªã£ãŠããããšããç¥ããããŸãã