Skip to content

Commit

Permalink
Emit castng helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
nojaf committed Nov 9, 2024
1 parent 4c2eab4 commit e238509
Show file tree
Hide file tree
Showing 146 changed files with 408 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/CSSFontLoadingAPI/FontFaceSet.res
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
open EventAPI
open CSSFontLoadingAPI

external asEventTarget: fontFaceSet => eventTarget = "%identity"
/**
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
Expand Down
1 change: 1 addition & 0 deletions src/CanvasAPI/OffscreenCanvas.res
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ open FileAPI
@new
external make: (~width: int, ~height: int) => offscreenCanvas = "OffscreenCanvas"

external asEventTarget: offscreenCanvas => eventTarget = "%identity"
/**
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
Expand Down
1 change: 1 addition & 0 deletions src/ChannelMessagingAPI/MessagePort.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ open EventAPI
open ChannelMessagingAPI
open Prelude

external asEventTarget: messagePort => eventTarget = "%identity"
/**
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
Expand Down
1 change: 1 addition & 0 deletions src/ClipboardAPI/Clipboard.res
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
open EventAPI
open ClipboardAPI

external asEventTarget: clipboard => eventTarget = "%identity"
/**
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
Expand Down
1 change: 1 addition & 0 deletions src/DOMAPI/Animation.res
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ open DOMAPI
external make: (~effect: animationEffect=?, ~timeline: animationTimeline=?) => animation =
"Animation"

external asEventTarget: animation => eventTarget = "%identity"
/**
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
Expand Down
1 change: 1 addition & 0 deletions src/DOMAPI/CSSStyleSheet.res
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ open DOMAPI
@new
external make: (~options: cssStyleSheetInit=?) => cssStyleSheet = "CSSStyleSheet"

external asStyleSheet: cssStyleSheet => styleSheet = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/insertRule)
*/
Expand Down
2 changes: 2 additions & 0 deletions src/DOMAPI/CharacterData.res
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
open DOMAPI
open EventAPI

external asNode: characterData => node = "%identity"
external asEventTarget: characterData => eventTarget = "%identity"
/**
Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.
Expand Down
3 changes: 3 additions & 0 deletions src/DOMAPI/Comment.res
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ open EventAPI
@new
external make: (~data: string=?) => comment = "Comment"

external asCharacterData: comment => characterData = "%identity"
external asNode: comment => node = "%identity"
external asEventTarget: comment => eventTarget = "%identity"
/**
Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.
Expand Down
1 change: 1 addition & 0 deletions src/DOMAPI/DOMMatrix.res
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ external make: (~init: string=?) => domMatrix = "DOMMatrix"
@new
external make2: (~init: array<float>=?) => domMatrix = "DOMMatrix"

external asDOMMatrixReadOnly: domMatrix => domMatrixReadOnly = "%identity"
@scope("DOMMatrix")
external fromMatrix: (~other: domMatrixInit=?) => domMatrixReadOnly = "fromMatrix"

Expand Down
1 change: 1 addition & 0 deletions src/DOMAPI/DOMPoint.res
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ open DOMAPI
@new
external make: (~x: float=?, ~y: float=?, ~z: float=?, ~w: float=?) => domPoint = "DOMPoint"

external asDOMPointReadOnly: domPoint => domPointReadOnly = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/fromPoint_static)
*/
Expand Down
1 change: 1 addition & 0 deletions src/DOMAPI/DOMRect.res
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ open DOMAPI
@new
external make: (~x: float=?, ~y: float=?, ~width: float=?, ~height: float=?) => domRect = "DOMRect"

external asDOMRectReadOnly: domRect => domRectReadOnly = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/fromRect_static)
*/
Expand Down
2 changes: 2 additions & 0 deletions src/DOMAPI/Document.res
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ open ViewTransitionsAPI
@new
external make: unit => document = "Document"

external asNode: document => node = "%identity"
external asEventTarget: document => eventTarget = "%identity"
/**
Returns the first element within node's descendants whose ID is elementId.
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/getElementById)
Expand Down
2 changes: 2 additions & 0 deletions src/DOMAPI/DocumentFragment.res
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ open EventAPI
@new
external make: unit => documentFragment = "DocumentFragment"

external asNode: documentFragment => node = "%identity"
external asEventTarget: documentFragment => eventTarget = "%identity"
/**
Returns the first element within node's descendants whose ID is elementId.
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/getElementById)
Expand Down
2 changes: 2 additions & 0 deletions src/DOMAPI/DocumentTimeline.res
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ open DOMAPI
*/
@new
external make: (~options: documentTimelineOptions=?) => documentTimeline = "DocumentTimeline"

external asAnimationTimeline: documentTimeline => animationTimeline = "%identity"
2 changes: 2 additions & 0 deletions src/DOMAPI/Element.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ open DOMAPI
open Prelude
open EventAPI

external asNode: element => node = "%identity"
external asEventTarget: element => eventTarget = "%identity"
/**
Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLAnchorElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlAnchorElement => htmlElement = "%identity"
external asElement: htmlAnchorElement => element = "%identity"
external asNode: htmlAnchorElement => node = "%identity"
external asEventTarget: htmlAnchorElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLAreaElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlAreaElement => htmlElement = "%identity"
external asElement: htmlAreaElement => element = "%identity"
external asNode: htmlAreaElement => node = "%identity"
external asEventTarget: htmlAreaElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
5 changes: 5 additions & 0 deletions src/DOMAPI/HTMLAudioElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ open EventAPI
open WebVTTAPI
open EncryptedMediaExtensionsAPI

external asHTMLMediaElement: htmlAudioElement => htmlMediaElement = "%identity"
external asHTMLElement: htmlAudioElement => htmlElement = "%identity"
external asElement: htmlAudioElement => element = "%identity"
external asNode: htmlAudioElement => node = "%identity"
external asEventTarget: htmlAudioElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLBRElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlbrElement => htmlElement = "%identity"
external asElement: htmlbrElement => element = "%identity"
external asNode: htmlbrElement => node = "%identity"
external asEventTarget: htmlbrElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLBaseElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlBaseElement => htmlElement = "%identity"
external asElement: htmlBaseElement => element = "%identity"
external asNode: htmlBaseElement => node = "%identity"
external asEventTarget: htmlBaseElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLBodyElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlBodyElement => htmlElement = "%identity"
external asElement: htmlBodyElement => element = "%identity"
external asNode: htmlBodyElement => node = "%identity"
external asEventTarget: htmlBodyElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLButtonElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlButtonElement => htmlElement = "%identity"
external asElement: htmlButtonElement => element = "%identity"
external asNode: htmlButtonElement => node = "%identity"
external asEventTarget: htmlButtonElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLCanvasElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ open EventAPI
open CanvasAPI
open MediaCaptureAndStreamsAPI

external asHTMLElement: htmlCanvasElement => htmlElement = "%identity"
external asElement: htmlCanvasElement => element = "%identity"
external asNode: htmlCanvasElement => node = "%identity"
external asEventTarget: htmlCanvasElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
1 change: 1 addition & 0 deletions src/DOMAPI/HTMLCollectionOf.res
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
open DOMAPI

external asHTMLCollection: htmlCollectionOf<'t> => htmlCollection = "%identity"
/**
Retrieves an object from various collections.
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection/item)
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLDListElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmldListElement => htmlElement = "%identity"
external asElement: htmldListElement => element = "%identity"
external asNode: htmldListElement => node = "%identity"
external asEventTarget: htmldListElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLDataElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlDataElement => htmlElement = "%identity"
external asElement: htmlDataElement => element = "%identity"
external asNode: htmlDataElement => node = "%identity"
external asEventTarget: htmlDataElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLDataListElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlDataListElement => htmlElement = "%identity"
external asElement: htmlDataListElement => element = "%identity"
external asNode: htmlDataListElement => node = "%identity"
external asEventTarget: htmlDataListElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLDialogElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlDialogElement => htmlElement = "%identity"
external asElement: htmlDialogElement => element = "%identity"
external asNode: htmlDialogElement => node = "%identity"
external asEventTarget: htmlDialogElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLDivElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlDivElement => htmlElement = "%identity"
external asElement: htmlDivElement => element = "%identity"
external asNode: htmlDivElement => node = "%identity"
external asEventTarget: htmlDivElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
3 changes: 3 additions & 0 deletions src/DOMAPI/HTMLElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ open DOMAPI
open Prelude
open EventAPI

external asElement: htmlElement => element = "%identity"
external asNode: htmlElement => node = "%identity"
external asEventTarget: htmlElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLEmbedElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlEmbedElement => htmlElement = "%identity"
external asElement: htmlEmbedElement => element = "%identity"
external asNode: htmlEmbedElement => node = "%identity"
external asEventTarget: htmlEmbedElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLFieldSetElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlFieldSetElement => htmlElement = "%identity"
external asElement: htmlFieldSetElement => element = "%identity"
external asNode: htmlFieldSetElement => node = "%identity"
external asEventTarget: htmlFieldSetElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
1 change: 1 addition & 0 deletions src/DOMAPI/HTMLFormControlsCollection.res
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
open DOMAPI

external asHTMLCollection: htmlFormControlsCollection => htmlCollection = "%identity"
/**
Retrieves an object from various collections.
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection/item)
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLFormElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlFormElement => htmlElement = "%identity"
external asElement: htmlFormElement => element = "%identity"
external asNode: htmlFormElement => node = "%identity"
external asEventTarget: htmlFormElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLFrameSetElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlFrameSetElement => htmlElement = "%identity"
external asElement: htmlFrameSetElement => element = "%identity"
external asNode: htmlFrameSetElement => node = "%identity"
external asEventTarget: htmlFrameSetElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLHRElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlhrElement => htmlElement = "%identity"
external asElement: htmlhrElement => element = "%identity"
external asNode: htmlhrElement => node = "%identity"
external asEventTarget: htmlhrElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLHeadElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlHeadElement => htmlElement = "%identity"
external asElement: htmlHeadElement => element = "%identity"
external asNode: htmlHeadElement => node = "%identity"
external asEventTarget: htmlHeadElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLHeadingElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlHeadingElement => htmlElement = "%identity"
external asElement: htmlHeadingElement => element = "%identity"
external asNode: htmlHeadingElement => node = "%identity"
external asEventTarget: htmlHeadingElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLHtmlElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmlHtmlElement => htmlElement = "%identity"
external asElement: htmlHtmlElement => element = "%identity"
external asNode: htmlHtmlElement => node = "%identity"
external asEventTarget: htmlHtmlElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
4 changes: 4 additions & 0 deletions src/DOMAPI/HTMLIFrameElement.res
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ open DOMAPI
open Prelude
open EventAPI

external asHTMLElement: htmliFrameElement => htmlElement = "%identity"
external asElement: htmliFrameElement => element = "%identity"
external asNode: htmliFrameElement => node = "%identity"
external asEventTarget: htmliFrameElement => eventTarget = "%identity"
/**
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
*/
Expand Down
Loading

0 comments on commit e238509

Please sign in to comment.