Highcharts: Typescript .d.ts

䜜成日 2015幎12月23日  Â·  47コメント  Â·  ゜ヌス: highcharts/highcharts

Typescript for Highchartsの定矩をnpmパッケヌゞ内にデプロむするこずは可胜ですか angularなど

High Docs Enhancement

最も参考になるコメント

この問題の優先床が高くなっおいるこずをお知らせしたす。

党おのコメント47件

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

公匏の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も空癜のキヌがありたす。

私は今日これに぀いおいくらかの進歩を遂げたした、あなたは珟圚ここで䜕たす。 この高品質を実珟するには、ただ倚くの䜜業が残っおいたす。 明日はリポゞトリにプッシュしたす。 倧たかに蚀っお、私が遭遇したいく぀かの問題

  • 出力を敎理する方法がわからない。 珟圚、559個のシンボルがあり、 Highcharts.OptionsやSeriesような重芁なものから、 PlotOptionsBbTopLineような非垞に特定の小さなオブゞェクトたでが含たれおいたす。 名前の競合を回避するために、フルネヌムをPascalCaseに倉換したす䟋 plotOptions.bb.topLine 。 これをより良くする方法をただ理解しようずしおいたす。 珟圚の@types/highchartsず比范するのは少し難しいですが、倚くの堎合、そこには䜕かが存圚したせん。
  • highcharts / highstocks / highmapsの関係を理解し​​おいるかどうかはわかりたせん。 私はHighchartsのみを個人的に䜿甚したした。APIダンプには、すべおの補品のすべおのデヌタが含たれおいたすか どのように分割する必芁がありたすか プロゞェクトで実際に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でリテラル型を確認したすその情報は玠晎らしいです。 ずにかく、䞍足しおいるタむプのダンプが曎新されたす。

ツリヌがオブゞェクトをどのように拡匵するかを考えた埌、いく぀かの進歩を遂げたした。

  • 指定されたパスでマヌゞされるすべおの定矩を解決する方法を思い぀いた。 これは私の脳を䌞ばしたした...私はドキュメントゞェネレヌタがこのようなこずをするこずを想像したすか
  • 次に、ツリヌの他の郚分からマヌゞされた他の定矩をシャドりするパスで冗長な定矩を削枛したす。これにより、玄100の冗長オブゞェクト定矩ず数癟の冗長プロパティが削陀されたす。 これらの「冗長な」定矩の倚くは、説明やデフォルト倀などのドキュメントの远加を提䟛するために存圚しおいるように芋えたしたが、タむプ定矩の助けにはなりたせんでした...正しく聞こえたすか
  • その埌、瞮小されたツリヌのいく぀かのdefだけが、掚枬できない型が実際に欠萜しおいたした。これをここでパッチしたすこれらの倉曎は、おそらくjsdoc自䜓で適切です。 掚枬された型が垞に正しいこずを怜蚌しおいたせんが、残っおいるものはすべお掚枬できたす最新の「欠萜しおいる型」ダンプを参照。 object 、 array 、 functionなどのあいたいなタむプの問題もただありたす。
  • これは、 TSタむプのdefツリヌがどのように倉曎されるこの生成された出力が埗られ、有望に芋え始めおいたす。

次は䜕ですか

  • 陀倖されたフィヌルドを凊理したす。これには、 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のサむズのプロゞェクトのニヌズに耳を傟け、リリヌスサむクルはかなり速いず確信しおいたす。

@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/盎接配眮できたす。

既知の問題点

  • options.seriesプロパティのタむプピン留めが機胜しおいたせん。 珟圚の回避策は、オブゞェクトを{ data: [0, 1, 2]} as Highcharts.SeriesLineOptionsようなシリヌズタむプにキャストするこずです。
  • スタむルオプションはCSSObjectタむプのどこにでもあるわけではありたせん

遞択などのChartEventsOptions関数は、むベント関数パラメヌタヌを取り蟌んでいないようです

私が芋぀けた他のいく぀かの問題

  • ゚クスポヌト䞭のofflinexportingモゞュヌルをむンポヌトできたせん。 デフォルトのファクトリを゚クスポヌトしおデフォルトのむンポヌトずしお䜿甚するには、export = factoryを倉曎する必芁がありたした

  • 泚釈モゞュヌルがありたせん

  • PlotSeriesEventsOptionsクリックはクリックずしお倉曎する必芁がありたすか:( ePointerEventObject=>ブヌル倀;

フィヌドバックありがずうございたす、 @ muperi 
2番目の投皿に関するコメント

  • 通垞のモゞュヌルはデフォルトの゚クスポヌトを行いたせん。 ES6の蚭定に぀いおはtsconfigを確認しおください。
  • ただ宣蚀されおいるモゞュヌルはごくわずかです。 もちろん、今埌数か月でさらに远加する予定です。
  • この問題を調査したす。

遞択などのChartEventsOptions関数は、むベント関数パラメヌタヌを取り蟌んでいないようです

修正はhighcharts / highcharts9110の䞀郚であり、 https//github.com/highcharts/highcharts-declarations-betaの次のアップデヌトに含たれる予定

このリポゞトリに宣蚀ファむルに関する問題をさらに远加しおください https 

ありがずうございたした。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡