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

Improve generated overloads

Aperta
#27 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

help wanted
Lingua principale
ReScript
Stelle
40
Fork
11
Merge medio
3g 12h
PR unite (30g)
12

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dai file generati elencati sotto src/, usando Global.res e DOMAPI/Element.res come esempi iniziali. Confronta i riferimenti API di addEventListener e setTimeout, quindi esamina ogni overload selezionato per individuare un suffisso appropriato o rimuoverlo; il lavoro è concluso quando le decisioni della checklist sono applicate in modo coerente a tutti i bindings interessati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
web-dev
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.