dom: remove X* = ref XObj [backport] (#20910)

dom: remove X* = ref XObj
(cherry picked from commit ce971400c0)
This commit is contained in:
metagn
2022-11-29 22:24:51 +03:00
committed by narimiran
parent 5cfa3672b3
commit 3e677a6225

View File

@@ -17,8 +17,7 @@ const
DomApiVersion* = 3 ## the version of DOM API we try to follow. No guarantees though.
type
EventTarget* = ref EventTargetObj
EventTargetObj {.importc.} = object of RootObj
EventTarget* {.importc.} = ref object of RootObj
onabort*: proc (event: Event) {.closure.}
onblur*: proc (event: Event) {.closure.}
onchange*: proc (event: Event) {.closure.}
@@ -129,8 +128,7 @@ type
Storage* {.importc.} = ref object
Window* = ref WindowObj
WindowObj {.importc.} = object of EventTargetObj
Window* {.importc.} = ref object of EventTarget
document*: Document
event*: Event
history*: History
@@ -159,11 +157,9 @@ type
sessionStorage*: Storage
parent*: Window
Frame* = ref FrameObj
FrameObj {.importc.} = object of WindowObj
Frame* {.importc.} = ref object of Window
ClassList* = ref ClassListObj
ClassListObj {.importc.} = object of RootObj
ClassList* {.importc.} = ref object of RootObj
NodeType* = enum
ElementNode = 1,
@@ -179,8 +175,7 @@ type
DocumentFragmentNode,
NotationNode
Node* = ref NodeObj
NodeObj {.importc.} = object of EventTargetObj
Node* {.importc.} = ref object of EventTarget
attributes*: seq[Node]
childNodes*: seq[Node]
children*: seq[Node]
@@ -204,8 +199,7 @@ type
parentElement*: Element
isConnected*: bool
Document* = ref DocumentObj
DocumentObj {.importc.} = object of NodeObj
Document* {.importc.} = ref object of Node
activeElement*: Element
documentElement*: Element
alinkColor*: cstring
@@ -230,8 +224,7 @@ type
links*: seq[LinkElement]
fonts*: FontFaceSet
Element* = ref ElementObj
ElementObj {.importc.} = object of NodeObj
Element* {.importc.} = ref object of Node
className*: cstring
classList*: ClassList
checked*: bool
@@ -252,8 +245,7 @@ type
offsetLeft*: int
offsetTop*: int
ValidityState* = ref ValidityStateObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/ValidityState>`_
ValidityStateObj {.importc.} = object
ValidityState* {.importc.} = ref object ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/ValidityState>`_
badInput*: bool
customError*: bool
patternMismatch*: bool
@@ -266,25 +258,21 @@ type
valid*: bool
valueMissing*: bool
Blob* = ref BlobObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/Blob>`_
BlobObj {.importc.} = object of RootObj
Blob* {.importc.} = ref object of RootObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/Blob>`_
size*: int
`type`*: cstring
File* = ref FileObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/File>`_
FileObj {.importc.} = object of Blob
File* {.importc.} = ref object of Blob ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/File>`_
lastModified*: int
name*: cstring
TextAreaElement* = ref TextAreaElementObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement>`_
TextAreaElementObj {.importc.} = object of Element
TextAreaElement* {.importc.} = ref object of Element ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement>`_
value*: cstring
selectionStart*, selectionEnd*: int
selectionDirection*: cstring
rows*, cols*: int
InputElement* = ref InputElementObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement>`_
InputElementObj {.importc.} = object of Element
InputElement* {.importc.} = ref object of Element ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement>`_
# Properties related to the parent form
formAction*: cstring
formEncType*: cstring
@@ -336,15 +324,13 @@ type
valueAsDate*: cstring
valueAsNumber*: float
LinkElement* = ref LinkObj
LinkObj {.importc.} = object of ElementObj
LinkElement* {.importc.} = ref object of Element
target*: cstring
text*: cstring
x*: int
y*: int
EmbedElement* = ref EmbedObj
EmbedObj {.importc.} = object of ElementObj
EmbedElement* {.importc.} = ref object of Element
height*: int
hspace*: int
src*: cstring
@@ -352,21 +338,18 @@ type
`type`*: cstring
vspace*: int
AnchorElement* = ref AnchorObj
AnchorObj {.importc.} = object of ElementObj
AnchorElement* {.importc.} = ref object of Element
text*: cstring
x*, y*: int
OptionElement* = ref OptionObj
OptionObj {.importc.} = object of ElementObj
OptionElement* {.importc.} = ref object of Element
defaultSelected*: bool
selected*: bool
selectedIndex*: int
text*: cstring
value*: cstring
FormElement* = ref FormObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement>`_
FormObj {.importc.} = object of ElementObj
FormElement* {.importc.} = ref object of Element ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement>`_
acceptCharset*: cstring
action*: cstring
autocomplete*: cstring
@@ -378,8 +361,7 @@ type
noValidate*: bool
target*: cstring
ImageElement* = ref ImageObj
ImageObj {.importc.} = object of ElementObj
ImageElement* {.importc.} = ref object of Element
border*: int
complete*: bool
height*: int
@@ -389,8 +371,7 @@ type
vspace*: int
width*: int
Style* = ref StyleObj
StyleObj {.importc.} = object of RootObj
Style* {.importc.} = ref object of RootObj
alignContent*: cstring
alignItems*: cstring
alignSelf*: cstring
@@ -766,8 +747,7 @@ type
AtTarget,
BubblingPhase
Event* = ref EventObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/Event>`_
EventObj {.importc.} = object of RootObj
Event* {.importc.} = ref object of RootObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/Event>`_
bubbles*: bool
cancelBubble*: bool
cancelable*: bool
@@ -779,13 +759,11 @@ type
`type`*: cstring
isTrusted*: bool
UIEvent* = ref UIEventObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/UIEvent>`_
UIEventObj {.importc.} = object of Event
UIEvent* {.importc.} = ref object of Event ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/UIEvent>`_
detail*: int64
view*: Window
KeyboardEvent* = ref KeyboardEventObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent>`_
KeyboardEventObj {.importc.} = object of UIEvent
KeyboardEvent* {.importc.} = ref object of UIEvent ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent>`_
altKey*, ctrlKey*, metaKey*, shiftKey*: bool
code*: cstring
isComposing*: bool
@@ -1147,8 +1125,7 @@ type
FourthButton = 8,
FifthButton = 16
MouseEvent* = ref MouseEventObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent>`_
MouseEventObj {.importc.} = object of UIEvent
MouseEvent* {.importc.} = ref object of UIEvent ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent>`_
altKey*, ctrlKey*, metaKey*, shiftKey*: bool
button*: int
buttons*: int
@@ -1165,13 +1142,11 @@ type
File = "file",
String = "string"
DataTransferItem* = ref DataTransferItemObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem>`_
DataTransferItemObj {.importc.} = object of RootObj
DataTransferItem* {.importc.} = ref object of RootObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem>`_
kind*: cstring
`type`*: cstring
DataTransfer* = ref DataTransferObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer>`_
DataTransferObj {.importc.} = object of RootObj
DataTransfer* {.importc.} = ref object of RootObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer>`_
dropEffect*: cstring
effectAllowed*: cstring
files*: seq[Element]
@@ -1213,8 +1188,7 @@ type
## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent>`_
clipboardData*: DataTransfer
StorageEvent* = ref StorageEventObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/StorageEvent>`_
StorageEventObj {.importc.} = object of Event
StorageEvent* {.importc.} = ref object of Event ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/StorageEvent>`_
key*: cstring
newValue*, oldValue*: cstring
storageArea*: Storage
@@ -1223,8 +1197,7 @@ type
TouchList* {.importc.} = ref object of RootObj
length*: int
Touch* = ref TouchObj
TouchObj {.importc.} = object of RootObj
Touch* {.importc.} = ref object of RootObj
identifier*: int
screenX*, screenY*, clientX*, clientY*, pageX*, pageY*: int
target*: Element
@@ -1232,12 +1205,10 @@ type
rotationAngle*: int
force*: float
TouchEvent* = ref TouchEventObj
TouchEventObj {.importc.} = object of UIEvent
TouchEvent* {.importc.} = ref object of UIEvent
changedTouches*, targetTouches*, touches*: seq[Touch]
Location* = ref LocationObj
LocationObj {.importc.} = object of RootObj
Location* {.importc.} = ref object of RootObj
hash*: cstring
host*: cstring
hostname*: cstring
@@ -1248,12 +1219,10 @@ type
search*: cstring
origin*: cstring
History* = ref HistoryObj
HistoryObj {.importc.} = object of RootObj
History* {.importc.} = ref object of RootObj
length*: int
Navigator* = ref NavigatorObj
NavigatorObj {.importc.} = object of RootObj
Navigator* {.importc.} = ref object of RootObj
appCodeName*: cstring
appName*: cstring
appVersion*: cstring
@@ -1291,8 +1260,7 @@ type
ToolBar* = LocationBar
StatusBar* = LocationBar
Screen = ref ScreenObj
ScreenObj {.importc.} = object of RootObj
Screen* {.importc.} = ref object of RootObj
availHeight*: int
availWidth*: int
colorDepth*: int
@@ -1332,31 +1300,26 @@ since (1, 3):
## let prsr = newDomParser()
## discard prsr.parseFromString("<html><marquee>Hello World</marquee></html>".cstring, "text/html".cstring)
DomException* = ref DOMExceptionObj
DomException* {.importc.} = ref object
## The DOMException interface represents an abnormal event (called an exception)
## which occurs as a result of calling a method or accessing a property of a web API.
## Each exception has a name, which is a short "CamelCase" style string identifying
## the error or abnormal condition.
## https://developer.mozilla.org/en-US/docs/Web/API/DOMException
DOMExceptionObj {.importc.} = object
FileReader* = ref FileReaderObj
FileReader* {.importc.} = ref object of EventTarget
## The FileReader object lets web applications asynchronously read the contents of files
## (or raw data buffers) stored on the user's computer, using File or Blob objects to specify
## the file or data to read.
## https://developer.mozilla.org/en-US/docs/Web/API/FileReader
FileReaderObj {.importc.} = object of EventTargetObj
FileReaderState* = distinct range[0'u16..2'u16]
RootNodeOptions* = object of RootObj
composed*: bool
DocumentOrShadowRoot* {.importc.} = object of RootObj
activeElement*: Element
# styleSheets*: StyleSheetList
ShadowRoot* = ref ShadowRootObj
ShadowRootObj {.importc.} = object of DocumentOrShadowRoot
ShadowRoot* {.importc.} = ref object of DocumentOrShadowRoot
delegatesFocus*: bool
host*: Element
innerHTML*: cstring
@@ -1365,8 +1328,7 @@ since (1, 3):
mode*: cstring
delegatesFocus*: bool
HTMLSlotElement* = ref HTMLSlotElementObj
HTMLSlotElementObj {.importc.} = object of RootObj
HTMLSlotElement* {.importc.} = ref object of RootObj
name*: cstring
SlotOptions* = object of RootObj
flatten*: bool