rescript-lang / rescript-lang/experimental-rescript-webapi

Improve generated overloads

オープン
#27 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

help wanted
主要言語
ReScript
スター
40
フォーク
11
平均マージ
3日 12時間
マージ済み PR(30日)
12

説明

The initial batch of bindings was generated. Some methods have generated overloads.
We should try and improve these manually.
Either via:

  • Renaming to hold a more suitable underscore suffix. (See addEventListener as example)
  • Remove some of these overloads if they don't make sense. (Like setTimeout taking a string as argument).
src/Global.res
  • setTimeout2
  • setInterval2
  • createImageBitmap18
  • alert2
  • postMessage2
  • scroll2
  • scrollTo2
  • scrollBy2
src/CanvasAPI/Path2D.res
  • make2
  • roundRect3
src/IndexedDBAPI/IDBObjectStore.res
  • createIndex2
src/IndexedDBAPI/IDBDatabase.res
  • transaction2
src/DOMAPI/HTMLInputElement.res
  • setRangeText2
src/DOMAPI/Element.res
  • after2
  • animate2
  • append2
  • before2
  • prepend2
  • replaceChildren2
  • replaceWith2
  • scroll2
  • scrollBy2
  • scrollTo2
src/DOMAPI/DOMMatrixReadOnly.res
  • make2
src/DOMAPI/HTMLCanvasElement.res
  • getContext_WebGL2
src/DOMAPI/VideoFrame.res
  • make10
  • copyTo3
src/DOMAPI/HTMLTextAreaElement.res
  • setRangeText2
src/DOMAPI/Navigator.res
  • sendBeacon7
  • vibrate2
src/DOMAPI/Document.res
  • prepend2
  • append2
  • replaceChildren2
  • createElement2
  • createElementNS2
  • open2
src/DOMAPI/CanvasRenderingContext2D.res
  • setTransform2
  • createPattern7
  • fill2
  • stroke2
  • clip2
  • isPointInPath2
  • isPointInStroke2
  • drawFocusIfNeeded2
  • drawImage21
  • createImageData2
  • putImageData2
  • roundRect3
src/DOMAPI/DOMMatrix.res
  • make2
src/DOMAPI/HTMLSlotElement.res
  • assign2
src/DOMAPI/Window.res
  • setTimeout2
  • setInterval2
  • createImageBitmap18
  • alert2
  • postMessage2
  • scroll2
  • scrollTo2
  • scrollBy2
src/DOMAPI/CharacterData.res
  • after2
  • before2
  • replaceWith2
src/DOMAPI/ImageData.res
  • make2
src/DOMAPI/DocumentFragment.res
  • append2
  • prepend2
  • replaceChildren2
src/DOMAPI/StylePropertyMap.res
  • set2
  • append2
src/DOMAPI/HTMLSelectElement.res
  • removeH2
src/CSSFontLoadingAPI/FontFace.res
  • make3
src/WebSocketsAPI/WebSocket.res
  • make2
  • send4
src/WebLocksAPI/LockManager.res
  • request2
src/EncryptedMediaExtensionsAPI/MediaKeys.res
  • setServerCertificate2
src/EncryptedMediaExtensionsAPI/MediaKeySession.res
  • generateRequest2
  • update2
src/EncryptedMediaExtensionsAPI/MediaKeyStatusMap.res
  • has2
src/ChannelMessagingAPI/MessagePort.res
  • postMessage2
src/FetchAPI/FormData.res
  • append2
  • get2
  • set2
src/FetchAPI/Headers.res
  • make2
src/FetchAPI/Request.res
  • make2
src/FetchAPI/Response.res
  • make7
src/FetchAPI/URLSearchParams.res
  • make3
src/PerformanceAPI/Performance.res
  • measure2
src/ServiceWorkerAPI/Cache.res
  • match2
  • matchAll2
  • add2
  • put2
  • delete2
  • keys2
src/ServiceWorkerAPI/ServiceWorker.res
  • postMessage2
src/ServiceWorkerAPI/CacheStorage.res
  • match2
src/FileAPI/ReadableStream.res
  • make3
src/FileAPI/FileSystemWritableFileStream.res
  • write5
src/MediaCaptureAndStreamsAPI/MediaStream.res
  • make3
src/WebAudioAPI/OfflineAudioContext.res
  • make2
src/WebCryptoAPI/SubtleCrypto.res
  • generateKey2
  • deriveBits2
  • wrapKey2
src/UIEventsAPI/DataTransferItemList.res
  • add2

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

src/ 以下にある一覧の生成ファイルから始め、Global.res と DOMAPI/Element.res を最初の例として使用します。addEventListener と setTimeout の API 参照を比較し、その後、チェック済みの各オーバーロードについて、適切なサフィックスを付けるか削除するかを確認します。完了とは、チェックリストの決定が対象となるすべてのバインディングに一貫して適用されていることを意味します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
web-dev
issue の種類
リファクタリング
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。