Web API package for use when compling Go to WASM
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Brett Langdon 89fcaf5ffe
Add support for interface constructor
7 years ago
console Update primitive type mapping 7 years ago
css Update primitive type mapping 7 years ago
document Add DOMParser support and partial members 7 years ago
example Add readme and examples 7 years ago
generate Add support for interface constructor 7 years ago
window Add DOMParser support and partial members 7 years ago
Makefile get global namespace packages together 7 years ago
README.md fix code fence 7 years ago
abortcontroller.go Add support for interface constructor 7 years ago
abortsignal.go Add support for interface constructor 7 years ago
abstractrange.go Add support for interface constructor 7 years ago
applicationcache.go Add support for interface constructor 7 years ago
arraybuffer.go get global namespace packages together 7 years ago
arraybufferview.go get global namespace packages together 7 years ago
attr.go Add support for interface constructor 7 years ago
audiotrack.go Add support for interface constructor 7 years ago
audiotracklist.go Add support for interface constructor 7 years ago
barprop.go Add support for interface constructor 7 years ago
beforeunloadevent.go Add support for interface constructor 7 years ago
binarytype.go get global namespace packages together 7 years ago
blob.go Add support for interface constructor 7 years ago
blobcallback.go get global namespace packages together 7 years ago
blobpart.go get global namespace packages together 7 years ago
bodyinit.go get global namespace packages together 7 years ago
broadcastchannel.go Add support for interface constructor 7 years ago
buffersource.go get global namespace packages together 7 years ago
callback.go get global namespace packages together 7 years ago
canplaytyperesult.go get global namespace packages together 7 years ago
canvasdirection.go get global namespace packages together 7 years ago
canvasfillrule.go get global namespace packages together 7 years ago
canvasgradient.go Add support for interface constructor 7 years ago
canvasimagesource.go get global namespace packages together 7 years ago
canvaslinecap.go get global namespace packages together 7 years ago
canvaslinejoin.go get global namespace packages together 7 years ago
canvaspattern.go Add support for interface constructor 7 years ago
canvasrenderingcontext2d.go Add support for interface constructor 7 years ago
canvastextalign.go get global namespace packages together 7 years ago
canvastextbaseline.go get global namespace packages together 7 years ago
cdatasection.go Add support for interface constructor 7 years ago
characterdata.go Add support for interface constructor 7 years ago
closeevent.go Add support for interface constructor 7 years ago
colorspaceconversion.go get global namespace packages together 7 years ago
comment.go Add support for interface constructor 7 years ago
cssgroupingrule.go Add support for interface constructor 7 years ago
cssimportrule.go Add support for interface constructor 7 years ago
cssmarginrule.go Add support for interface constructor 7 years ago
cssnamespacerule.go Add support for interface constructor 7 years ago
csspagerule.go Add support for interface constructor 7 years ago
cssrule.go Add support for interface constructor 7 years ago
cssrulelist.go Add support for interface constructor 7 years ago
cssstyledeclaration.go Add support for interface constructor 7 years ago
cssstylerule.go Add support for interface constructor 7 years ago
cssstylesheet.go Add support for interface constructor 7 years ago
customelementconstructor.go Fix typedef callback definitions 7 years ago
customelementregistry.go Add support for interface constructor 7 years ago
customevent.go Add support for interface constructor 7 years ago
datatransfer.go Add support for interface constructor 7 years ago
datatransferitem.go Add support for interface constructor 7 years ago
datatransferitemlist.go Add support for interface constructor 7 years ago
dedicatedworkerglobalscope.go Add support for interface constructor 7 years ago
document.go Add support for interface constructor 7 years ago
documentfragment.go Add support for interface constructor 7 years ago
documentreadystate.go get global namespace packages together 7 years ago
documenttype.go Add support for interface constructor 7 years ago
domexception.go Add support for interface constructor 7 years ago
domhighrestimestamp.go get global namespace packages together 7 years ago
domimplementation.go Add support for interface constructor 7 years ago
dommatrix.go Add support for interface constructor 7 years ago
dommatrixreadonly.go Add support for interface constructor 7 years ago
domparser.go Add support for interface constructor 7 years ago
dompoint.go Add support for interface constructor 7 years ago
dompointreadonly.go Add support for interface constructor 7 years ago
domquad.go Add support for interface constructor 7 years ago
domrect.go Add support for interface constructor 7 years ago
domrectlist.go Add support for interface constructor 7 years ago
domrectreadonly.go Add support for interface constructor 7 years ago
domstringlist.go Add support for interface constructor 7 years ago
domstringmap.go Add support for interface constructor 7 years ago
domtimestamp.go Update primitive type mapping 7 years ago
domtokenlist.go Add support for interface constructor 7 years ago
dragevent.go Add support for interface constructor 7 years ago
element.go Add support for interface constructor 7 years ago
endingtype.go get global namespace packages together 7 years ago
errorevent.go Add support for interface constructor 7 years ago
event.go Add support for interface constructor 7 years ago
eventhandler.go Fix typedef callback definitions 7 years ago
eventhandlernonnull.go Fix typedef callback definitions 7 years ago
eventlistener.go get global namespace packages together 7 years ago
eventsource.go Add support for interface constructor 7 years ago
eventtarget.go Add support for interface constructor 7 years ago
example.go Add support for interface constructor 7 years ago
external.go Add support for interface constructor 7 years ago
file.go Add support for interface constructor 7 years ago
filelist.go Add support for interface constructor 7 years ago
filereader.go Add support for interface constructor 7 years ago
filereadersync.go Add support for interface constructor 7 years ago
float32array.go get global namespace packages together 7 years ago
float64array.go get global namespace packages together 7 years ago
formdata.go Add support for interface constructor 7 years ago
formdataentryvalue.go get global namespace packages together 7 years ago
framerequestcallback.go get global namespace packages together 7 years ago
functionstringcallback.go get global namespace packages together 7 years ago
go.mod Update primitive type mapping 7 years ago
hashchangeevent.go Add support for interface constructor 7 years ago
headers.go Add support for interface constructor 7 years ago
headersinit.go get global namespace packages together 7 years ago
history.go Add support for interface constructor 7 years ago
htmlallcollection.go Add support for interface constructor 7 years ago
htmlanchorelement.go Add support for interface constructor 7 years ago
htmlareaelement.go Add support for interface constructor 7 years ago
htmlaudioelement.go Add support for interface constructor 7 years ago
htmlbaseelement.go Add support for interface constructor 7 years ago
htmlbodyelement.go Add support for interface constructor 7 years ago
htmlbrelement.go Add support for interface constructor 7 years ago
htmlbuttonelement.go Add support for interface constructor 7 years ago
htmlcanvaselement.go Add support for interface constructor 7 years ago
htmlcollection.go Add support for interface constructor 7 years ago
htmldataelement.go Add support for interface constructor 7 years ago
htmldatalistelement.go Add support for interface constructor 7 years ago
htmldetailselement.go Add support for interface constructor 7 years ago
htmldialogelement.go Add support for interface constructor 7 years ago
htmldirectoryelement.go Add support for interface constructor 7 years ago
htmldivelement.go Add support for interface constructor 7 years ago
htmldlistelement.go Add support for interface constructor 7 years ago
htmlelement.go Add support for interface constructor 7 years ago
htmlembedelement.go Add support for interface constructor 7 years ago
htmlfieldsetelement.go Add support for interface constructor 7 years ago
htmlfontelement.go Add support for interface constructor 7 years ago
htmlformcontrolscollection.go Add support for interface constructor 7 years ago
htmlformelement.go Add support for interface constructor 7 years ago
htmlframeelement.go Add support for interface constructor 7 years ago
htmlframesetelement.go Add support for interface constructor 7 years ago
htmlheadelement.go Add support for interface constructor 7 years ago
htmlheadingelement.go Add support for interface constructor 7 years ago
htmlhrelement.go Add support for interface constructor 7 years ago
htmlhtmlelement.go Add support for interface constructor 7 years ago
htmliframeelement.go Add support for interface constructor 7 years ago
htmlimageelement.go Add support for interface constructor 7 years ago
htmlinputelement.go Add support for interface constructor 7 years ago
htmllabelelement.go Add support for interface constructor 7 years ago
htmllegendelement.go Add support for interface constructor 7 years ago
htmllielement.go Add support for interface constructor 7 years ago
htmllinkelement.go Add support for interface constructor 7 years ago
htmlmapelement.go Add support for interface constructor 7 years ago
htmlmarqueeelement.go Add support for interface constructor 7 years ago
htmlmediaelement.go Add support for interface constructor 7 years ago
htmlmenuelement.go Add support for interface constructor 7 years ago
htmlmetaelement.go Add support for interface constructor 7 years ago
htmlmeterelement.go Add support for interface constructor 7 years ago
htmlmodelement.go Add support for interface constructor 7 years ago
htmlobjectelement.go Add support for interface constructor 7 years ago
htmlolistelement.go Add support for interface constructor 7 years ago
htmloptgroupelement.go Add support for interface constructor 7 years ago
htmloptionelement.go Add support for interface constructor 7 years ago
htmloptionscollection.go Add support for interface constructor 7 years ago
htmlorsvgimageelement.go get global namespace packages together 7 years ago
htmlorsvgscriptelement.go get global namespace packages together 7 years ago
htmloutputelement.go Add support for interface constructor 7 years ago
htmlparagraphelement.go Add support for interface constructor 7 years ago
htmlparamelement.go Add support for interface constructor 7 years ago
htmlpictureelement.go Add support for interface constructor 7 years ago
htmlpreelement.go Add support for interface constructor 7 years ago
htmlprogresselement.go Add support for interface constructor 7 years ago
htmlquoteelement.go Add support for interface constructor 7 years ago
htmlscriptelement.go Add support for interface constructor 7 years ago
htmlselectelement.go Add support for interface constructor 7 years ago
htmlslotelement.go Add support for interface constructor 7 years ago
htmlsourceelement.go Add support for interface constructor 7 years ago
htmlspanelement.go Add support for interface constructor 7 years ago
htmlstyleelement.go Add support for interface constructor 7 years ago
htmltablecaptionelement.go Add support for interface constructor 7 years ago
htmltablecellelement.go Add support for interface constructor 7 years ago
htmltablecolelement.go Add support for interface constructor 7 years ago
htmltableelement.go Add support for interface constructor 7 years ago
htmltablerowelement.go Add support for interface constructor 7 years ago
htmltablesectionelement.go Add support for interface constructor 7 years ago
htmltemplateelement.go Add support for interface constructor 7 years ago
htmltextareaelement.go Add support for interface constructor 7 years ago
htmltimeelement.go Add support for interface constructor 7 years ago
htmltitleelement.go Add support for interface constructor 7 years ago
htmltrackelement.go Add support for interface constructor 7 years ago
htmlulistelement.go Add support for interface constructor 7 years ago
htmlunknownelement.go Add support for interface constructor 7 years ago
htmlvideoelement.go Add support for interface constructor 7 years ago
imagebitmap.go Add support for interface constructor 7 years ago
imagebitmaprenderingcontext.go Add support for interface constructor 7 years ago
imagebitmapsource.go get global namespace packages together 7 years ago
imagedata.go Add support for interface constructor 7 years ago
imageorientation.go get global namespace packages together 7 years ago
imagesmoothingquality.go get global namespace packages together 7 years ago
location.go Add support for interface constructor 7 years ago
loop.go Add dom.Loop helper struct 7 years ago
mediaerror.go Add support for interface constructor 7 years ago
medialist.go Add support for interface constructor 7 years ago
mediaprovider.go get global namespace packages together 7 years ago
messagechannel.go Add support for interface constructor 7 years ago
messageevent.go Add support for interface constructor 7 years ago
messageeventsource.go get global namespace packages together 7 years ago
messageport.go Add support for interface constructor 7 years ago
mimetype.go Add support for interface constructor 7 years ago
mimetypearray.go Add support for interface constructor 7 years ago
mutationcallback.go get global namespace packages together 7 years ago
mutationobserver.go Add support for interface constructor 7 years ago
mutationrecord.go Add support for interface constructor 7 years ago
namednodemap.go Add support for interface constructor 7 years ago
navigator.go Add support for interface constructor 7 years ago
node.go Add support for interface constructor 7 years ago
nodefilter.go Update primitive type mapping 7 years ago
nodeiterator.go Add support for interface constructor 7 years ago
nodelist.go Add support for interface constructor 7 years ago
offscreencanvas.go Add support for interface constructor 7 years ago
offscreencanvasrenderingcontext2d.go Add support for interface constructor 7 years ago
offscreenrenderingcontext.go get global namespace packages together 7 years ago
offscreenrenderingcontextid.go get global namespace packages together 7 years ago
onbeforeunloadeventhandler.go Fix typedef callback definitions 7 years ago
onbeforeunloadeventhandlernonnull.go Fix typedef callback definitions 7 years ago
onerroreventhandler.go Fix typedef callback definitions 7 years ago
onerroreventhandlernonnull.go Fix typedef callback definitions 7 years ago
pagetransitionevent.go Add support for interface constructor 7 years ago
path2d.go Add support for interface constructor 7 years ago
performance.go Add support for interface constructor 7 years ago
plugin.go Add support for interface constructor 7 years ago
pluginarray.go Add support for interface constructor 7 years ago
popstateevent.go Add support for interface constructor 7 years ago
premultiplyalpha.go get global namespace packages together 7 years ago
processinginstruction.go Add support for interface constructor 7 years ago
progressevent.go Add support for interface constructor 7 years ago
promiserejectionevent.go Add support for interface constructor 7 years ago
radionodelist.go Add support for interface constructor 7 years ago
range.go Add support for interface constructor 7 years ago
referrerpolicy.go get global namespace packages together 7 years ago
renderingcontext.go get global namespace packages together 7 years ago
request.go Add support for interface constructor 7 years ago
requestcache.go get global namespace packages together 7 years ago
requestcredentials.go get global namespace packages together 7 years ago
requestdestination.go get global namespace packages together 7 years ago
requestinfo.go get global namespace packages together 7 years ago
requestmode.go get global namespace packages together 7 years ago
requestredirect.go get global namespace packages together 7 years ago
resizequality.go get global namespace packages together 7 years ago
response.go Add support for interface constructor 7 years ago
responsetype.go get global namespace packages together 7 years ago
scrollrestoration.go get global namespace packages together 7 years ago
selectionmode.go get global namespace packages together 7 years ago
shadowroot.go Add support for interface constructor 7 years ago
shadowrootmode.go get global namespace packages together 7 years ago
sharedworker.go Add support for interface constructor 7 years ago
sharedworkerglobalscope.go Add support for interface constructor 7 years ago
staticrange.go Add support for interface constructor 7 years ago
storage.go Add support for interface constructor 7 years ago
storageevent.go Add support for interface constructor 7 years ago
storagemanager.go Add support for interface constructor 7 years ago
stylesheet.go Add support for interface constructor 7 years ago
stylesheetlist.go Add support for interface constructor 7 years ago
supportedtype.go Add DOMParser support and partial members 7 years ago
text.go Add support for interface constructor 7 years ago
textdecoder.go Add support for interface constructor 7 years ago
textdecoderstream.go Add support for interface constructor 7 years ago
textencoder.go Add support for interface constructor 7 years ago
textencoderstream.go Add support for interface constructor 7 years ago
textmetrics.go Add support for interface constructor 7 years ago
texttrack.go Add support for interface constructor 7 years ago
texttrackcue.go Add support for interface constructor 7 years ago
texttrackcuelist.go Add support for interface constructor 7 years ago
texttrackkind.go get global namespace packages together 7 years ago
texttracklist.go Add support for interface constructor 7 years ago
texttrackmode.go get global namespace packages together 7 years ago
timeranges.go Add support for interface constructor 7 years ago
timerhandler.go get global namespace packages together 7 years ago
trackevent.go Add support for interface constructor 7 years ago
treewalker.go Add support for interface constructor 7 years ago
uint8array.go get global namespace packages together 7 years ago
uint8clampedarray.go get global namespace packages together 7 years ago
url.go Add support for interface constructor 7 years ago
urlsearchparams.go Add support for interface constructor 7 years ago
validitystate.go Add support for interface constructor 7 years ago
value.go Update primitive type mapping 7 years ago
videotrack.go Add support for interface constructor 7 years ago
videotracklist.go Add support for interface constructor 7 years ago
websocket.go Add support for interface constructor 7 years ago
window.go Add support for interface constructor 7 years ago
windowproxy.go get global namespace packages together 7 years ago
worker.go Add support for interface constructor 7 years ago
workerglobalscope.go Add support for interface constructor 7 years ago
workerlocation.go Add support for interface constructor 7 years ago
workernavigator.go Add support for interface constructor 7 years ago
workertype.go get global namespace packages together 7 years ago
xmldocument.go Add support for interface constructor 7 years ago
xmlhttprequest.go Add support for interface constructor 7 years ago
xmlhttprequesteventtarget.go Add support for interface constructor 7 years ago
xmlhttprequestresponsetype.go get global namespace packages together 7 years ago
xmlhttprequestupload.go Add support for interface constructor 7 years ago
xmlserializer.go Add support for interface constructor 7 years ago

README.md

go-dom

This package is a work in progress

The go-dom package exposes the Web API Spec as a Go package.

This package is mostly just wrappers around calls to syscall/js to expose the browser Web API in a Go friendly manner.

This package's code is generated from WebIDL definitions for the various Web API Specs.

Examples

These examples can be compiled and run using GOARCH=wasm GOOS=js as described at https://github.com/golang/go/wiki/WebAssembly

Find all div elements and print them to the console

package main

import (
    "github.com/brettlangdon/go-dom/console"
    "github.com/brettlangdon/go-dom/document"
)

func main() {
    nodes := document.QuerySelectorAll("div")
    for i := 0; i < nodes.GetLength(); i++ {
        console.Dir(nodes.Item(0))
    }
}

Add a click handler to document which prints the event information.

package main

import (
    dom "github.com/brettlangdon/go-dom"
    "github.com/brettlangdon/go-dom/console"
    "github.com/brettlangdon/go-dom/document"
)

func main() {
    loop := dom.NewLoop()

    document.AddEventListener("click", dom.NewEventHandler(func(evt dom.Event) {
        console.Dir(evt)
    }))

    loop.Loop()
}

This last example uses a dom.Loop which is used to keep the program running instead of exiting.

If the Go program exits then the callback handlers will no longer execute.

Calling loop.Stop() will cause the Go program to exit.