mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-14 23:33:28 +00:00
dom: remove X* = ref XObj [backport] (#20910)
dom: remove X* = ref XObj
(cherry picked from commit ce971400c0)
This commit is contained in:
110
lib/js/dom.nim
110
lib/js/dom.nim
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user