Juan Carlos 2020-04-13 10:07:52 -03:00 • committed by GitHub
commit 0a84219b3e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 1 deletions

View file

@ -4,6 +4,8 @@
## Standard library additions and changes
- Add [DOM Parser](https://developer.mozilla.org/en-US/docs/Web/API/DOMParser)
to the `dom` module for the JavaScript target.
## Language changes

View file

@ -9,7 +9,7 @@
## Declaration of the Document Object Model for the `JavaScript backend
## <backends.html#backends-the-javascript-target>`_.
include "system/inclrtl"
when not defined(js) and not defined(Nimdoc):
{.error: "This module only works on the JavaScript platform".}
@ -985,6 +985,16 @@ type
once*: bool
passive*: bool
since (1, 3):
type DomParser* = ref object ## \
## DOM Parser object (defined on browser only, may not be on NodeJS).
## * https://developer.mozilla.org/en-US/docs/Web/API/DOMParser
##
## .. code-block:: nim
## let prsr = newDomParser()
## discard prsr.parseFromString("<html><marquee>Hello World</marquee></html>".cstring, "text/html".cstring)
proc id*(n: Node): cstring {.importcpp: "#.id", nodecl.}
proc `id=`*(n: Node; x: cstring) {.importcpp: "#.id = #", nodecl.}
proc class*(n: Node): cstring {.importcpp: "#.className", nodecl.}
@ -1297,3 +1307,10 @@ proc offsetHeight*(e: Node): int {.importcpp: "#.offsetHeight", nodecl.}
proc offsetWidth*(e: Node): int {.importcpp: "#.offsetWidth", nodecl.}
proc offsetTop*(e: Node): int {.importcpp: "#.offsetTop", nodecl.}
proc offsetLeft*(e: Node): int {.importcpp: "#.offsetLeft", nodecl.}
since (1, 3):
func newDomParser*(): DOMParser {.importcpp: "(new DOMParser()​​)".}
## DOM Parser constructor.
func parseFromString*(this: DOMParser; str: cstring; mimeType: cstring): Document {.importcpp.}
## Parse from string to `Document`.