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 375ec41ae0
Add readme and examples
7 years ago
console Update primitive type mapping 7 years ago
css Update primitive type mapping 7 years ago
document Update primitive type mapping 7 years ago
example Add readme and examples 7 years ago
generate Fix typedef callback definitions 7 years ago
window Update primitive type mapping 7 years ago
Makefile get global namespace packages together 7 years ago
README.md Add readme and examples 7 years ago
abortcontroller.go get global namespace packages together 7 years ago
abortsignal.go get global namespace packages together 7 years ago
abstractrange.go Update primitive type mapping 7 years ago
applicationcache.go get global namespace packages together 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 get global namespace packages together 7 years ago
audiotrack.go get global namespace packages together 7 years ago
audiotracklist.go Update primitive type mapping 7 years ago
barprop.go get global namespace packages together 7 years ago
beforeunloadevent.go get global namespace packages together 7 years ago
binarytype.go get global namespace packages together 7 years ago
blob.go Update primitive type mapping 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 get global namespace packages together 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 get global namespace packages together 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 get global namespace packages together 7 years ago
canvasrenderingcontext2d.go get global namespace packages together 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 Update primitive type mapping 7 years ago
characterdata.go Update primitive type mapping 7 years ago
closeevent.go get global namespace packages together 7 years ago
colorspaceconversion.go get global namespace packages together 7 years ago
comment.go Update primitive type mapping 7 years ago
cssgroupingrule.go Update primitive type mapping 7 years ago
cssimportrule.go get global namespace packages together 7 years ago
cssmarginrule.go get global namespace packages together 7 years ago
cssnamespacerule.go get global namespace packages together 7 years ago
csspagerule.go Update primitive type mapping 7 years ago
cssrule.go get global namespace packages together 7 years ago
cssrulelist.go Update primitive type mapping 7 years ago
cssstyledeclaration.go Update primitive type mapping 7 years ago
cssstylerule.go get global namespace packages together 7 years ago
cssstylesheet.go Update primitive type mapping 7 years ago
customelementconstructor.go Fix typedef callback definitions 7 years ago
customelementregistry.go get global namespace packages together 7 years ago
customevent.go get global namespace packages together 7 years ago
datatransfer.go get global namespace packages together 7 years ago
datatransferitem.go get global namespace packages together 7 years ago
datatransferitemlist.go Update primitive type mapping 7 years ago
dedicatedworkerglobalscope.go Update primitive type mapping 7 years ago
document.go Update primitive type mapping 7 years ago
documentfragment.go Update primitive type mapping 7 years ago
documentreadystate.go get global namespace packages together 7 years ago
documenttype.go get global namespace packages together 7 years ago
domexception.go get global namespace packages together 7 years ago
domhighrestimestamp.go get global namespace packages together 7 years ago
domimplementation.go get global namespace packages together 7 years ago
dommatrix.go get global namespace packages together 7 years ago
dommatrixreadonly.go get global namespace packages together 7 years ago
dompoint.go get global namespace packages together 7 years ago
dompointreadonly.go get global namespace packages together 7 years ago
domquad.go get global namespace packages together 7 years ago
domrect.go get global namespace packages together 7 years ago
domrectlist.go Update primitive type mapping 7 years ago
domrectreadonly.go get global namespace packages together 7 years ago
domstringlist.go Update primitive type mapping 7 years ago
domstringmap.go get global namespace packages together 7 years ago
domtimestamp.go Update primitive type mapping 7 years ago
domtokenlist.go Update primitive type mapping 7 years ago
dragevent.go get global namespace packages together 7 years ago
element.go Update primitive type mapping 7 years ago
endingtype.go get global namespace packages together 7 years ago
errorevent.go Update primitive type mapping 7 years ago
event.go get global namespace packages together 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 get global namespace packages together 7 years ago
eventtarget.go get global namespace packages together 7 years ago
example.go get global namespace packages together 7 years ago
external.go get global namespace packages together 7 years ago
file.go Update primitive type mapping 7 years ago
filelist.go Update primitive type mapping 7 years ago
filereader.go get global namespace packages together 7 years ago
filereadersync.go get global namespace packages together 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 get global namespace packages together 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 get global namespace packages together 7 years ago
headers.go get global namespace packages together 7 years ago
headersinit.go get global namespace packages together 7 years ago
history.go Update primitive type mapping 7 years ago
htmlallcollection.go Update primitive type mapping 7 years ago
htmlanchorelement.go get global namespace packages together 7 years ago
htmlareaelement.go get global namespace packages together 7 years ago
htmlaudioelement.go get global namespace packages together 7 years ago
htmlbaseelement.go get global namespace packages together 7 years ago
htmlbodyelement.go get global namespace packages together 7 years ago
htmlbrelement.go get global namespace packages together 7 years ago
htmlbuttonelement.go get global namespace packages together 7 years ago
htmlcanvaselement.go Update primitive type mapping 7 years ago
htmlcollection.go Update primitive type mapping 7 years ago
htmldataelement.go get global namespace packages together 7 years ago
htmldatalistelement.go get global namespace packages together 7 years ago
htmldetailselement.go get global namespace packages together 7 years ago
htmldialogelement.go get global namespace packages together 7 years ago
htmldirectoryelement.go get global namespace packages together 7 years ago
htmldivelement.go get global namespace packages together 7 years ago
htmldlistelement.go get global namespace packages together 7 years ago
htmlelement.go Update primitive type mapping 7 years ago
htmlembedelement.go get global namespace packages together 7 years ago
htmlfieldsetelement.go get global namespace packages together 7 years ago
htmlfontelement.go get global namespace packages together 7 years ago
htmlformcontrolscollection.go Update primitive type mapping 7 years ago
htmlformelement.go Update primitive type mapping 7 years ago
htmlframeelement.go get global namespace packages together 7 years ago
htmlframesetelement.go get global namespace packages together 7 years ago
htmlheadelement.go get global namespace packages together 7 years ago
htmlheadingelement.go get global namespace packages together 7 years ago
htmlhrelement.go get global namespace packages together 7 years ago
htmlhtmlelement.go get global namespace packages together 7 years ago
htmliframeelement.go get global namespace packages together 7 years ago
htmlimageelement.go Update primitive type mapping 7 years ago
htmlinputelement.go Update primitive type mapping 7 years ago
htmllabelelement.go get global namespace packages together 7 years ago
htmllegendelement.go get global namespace packages together 7 years ago
htmllielement.go Update primitive type mapping 7 years ago
htmllinkelement.go get global namespace packages together 7 years ago
htmlmapelement.go get global namespace packages together 7 years ago
htmlmarqueeelement.go Update primitive type mapping 7 years ago
htmlmediaelement.go get global namespace packages together 7 years ago
htmlmenuelement.go get global namespace packages together 7 years ago
htmlmetaelement.go get global namespace packages together 7 years ago
htmlmeterelement.go get global namespace packages together 7 years ago
htmlmodelement.go get global namespace packages together 7 years ago
htmlobjectelement.go get global namespace packages together 7 years ago
htmlolistelement.go Update primitive type mapping 7 years ago
htmloptgroupelement.go get global namespace packages together 7 years ago
htmloptionelement.go Update primitive type mapping 7 years ago
htmloptionscollection.go Update primitive type mapping 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 get global namespace packages together 7 years ago
htmlparagraphelement.go get global namespace packages together 7 years ago
htmlparamelement.go get global namespace packages together 7 years ago
htmlpictureelement.go get global namespace packages together 7 years ago
htmlpreelement.go get global namespace packages together 7 years ago
htmlprogresselement.go get global namespace packages together 7 years ago
htmlquoteelement.go get global namespace packages together 7 years ago
htmlscriptelement.go get global namespace packages together 7 years ago
htmlselectelement.go Update primitive type mapping 7 years ago
htmlslotelement.go get global namespace packages together 7 years ago
htmlsourceelement.go get global namespace packages together 7 years ago
htmlspanelement.go get global namespace packages together 7 years ago
htmlstyleelement.go get global namespace packages together 7 years ago
htmltablecaptionelement.go get global namespace packages together 7 years ago
htmltablecellelement.go Update primitive type mapping 7 years ago
htmltablecolelement.go Update primitive type mapping 7 years ago
htmltableelement.go get global namespace packages together 7 years ago
htmltablerowelement.go Update primitive type mapping 7 years ago
htmltablesectionelement.go get global namespace packages together 7 years ago
htmltemplateelement.go get global namespace packages together 7 years ago
htmltextareaelement.go Update primitive type mapping 7 years ago
htmltimeelement.go get global namespace packages together 7 years ago
htmltitleelement.go get global namespace packages together 7 years ago
htmltrackelement.go get global namespace packages together 7 years ago
htmlulistelement.go get global namespace packages together 7 years ago
htmlunknownelement.go get global namespace packages together 7 years ago
htmlvideoelement.go Update primitive type mapping 7 years ago
imagebitmap.go Update primitive type mapping 7 years ago
imagebitmaprenderingcontext.go get global namespace packages together 7 years ago
imagebitmapsource.go get global namespace packages together 7 years ago
imagedata.go Update primitive type mapping 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 get global namespace packages together 7 years ago
loop.go Add dom.Loop helper struct 7 years ago
mediaerror.go get global namespace packages together 7 years ago
medialist.go Update primitive type mapping 7 years ago
mediaprovider.go get global namespace packages together 7 years ago
messagechannel.go get global namespace packages together 7 years ago
messageevent.go get global namespace packages together 7 years ago
messageeventsource.go get global namespace packages together 7 years ago
messageport.go get global namespace packages together 7 years ago
mimetype.go get global namespace packages together 7 years ago
mimetypearray.go Update primitive type mapping 7 years ago
mutationcallback.go get global namespace packages together 7 years ago
mutationobserver.go get global namespace packages together 7 years ago
mutationrecord.go get global namespace packages together 7 years ago
namednodemap.go Update primitive type mapping 7 years ago
navigator.go Update primitive type mapping 7 years ago
node.go get global namespace packages together 7 years ago
nodefilter.go Update primitive type mapping 7 years ago
nodeiterator.go Update primitive type mapping 7 years ago
nodelist.go Update primitive type mapping 7 years ago
offscreencanvas.go Update primitive type mapping 7 years ago
offscreencanvasrenderingcontext2d.go get global namespace packages together 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 get global namespace packages together 7 years ago
path2d.go get global namespace packages together 7 years ago
performance.go get global namespace packages together 7 years ago
plugin.go Update primitive type mapping 7 years ago
pluginarray.go Update primitive type mapping 7 years ago
popstateevent.go get global namespace packages together 7 years ago
premultiplyalpha.go get global namespace packages together 7 years ago
processinginstruction.go Update primitive type mapping 7 years ago
progressevent.go Update primitive type mapping 7 years ago
promiserejectionevent.go get global namespace packages together 7 years ago
radionodelist.go Update primitive type mapping 7 years ago
range.go Update primitive type mapping 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 get global namespace packages together 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 get global namespace packages together 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 get global namespace packages together 7 years ago
shadowrootmode.go get global namespace packages together 7 years ago
sharedworker.go get global namespace packages together 7 years ago
sharedworkerglobalscope.go get global namespace packages together 7 years ago
staticrange.go Update primitive type mapping 7 years ago
storage.go Update primitive type mapping 7 years ago
storageevent.go get global namespace packages together 7 years ago
storagemanager.go get global namespace packages together 7 years ago
stylesheet.go get global namespace packages together 7 years ago
stylesheetlist.go Update primitive type mapping 7 years ago
text.go Update primitive type mapping 7 years ago
textdecoder.go get global namespace packages together 7 years ago
textdecoderstream.go get global namespace packages together 7 years ago
textencoder.go get global namespace packages together 7 years ago
textencoderstream.go get global namespace packages together 7 years ago
textmetrics.go get global namespace packages together 7 years ago
texttrack.go get global namespace packages together 7 years ago
texttrackcue.go get global namespace packages together 7 years ago
texttrackcuelist.go Update primitive type mapping 7 years ago
texttrackkind.go get global namespace packages together 7 years ago
texttracklist.go Update primitive type mapping 7 years ago
texttrackmode.go get global namespace packages together 7 years ago
timeranges.go Update primitive type mapping 7 years ago
timerhandler.go get global namespace packages together 7 years ago
trackevent.go get global namespace packages together 7 years ago
treewalker.go Update primitive type mapping 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 get global namespace packages together 7 years ago
urlsearchparams.go get global namespace packages together 7 years ago
validitystate.go get global namespace packages together 7 years ago
value.go Update primitive type mapping 7 years ago
videotrack.go get global namespace packages together 7 years ago
videotracklist.go Update primitive type mapping 7 years ago
websocket.go Update primitive type mapping 7 years ago
window.go Update primitive type mapping 7 years ago
windowproxy.go get global namespace packages together 7 years ago
worker.go get global namespace packages together 7 years ago
workerglobalscope.go Update primitive type mapping 7 years ago
workerlocation.go get global namespace packages together 7 years ago
workernavigator.go Update primitive type mapping 7 years ago
workertype.go get global namespace packages together 7 years ago
xmldocument.go get global namespace packages together 7 years ago
xmlhttprequest.go Update primitive type mapping 7 years ago
xmlhttprequesteventtarget.go get global namespace packages together 7 years ago
xmlhttprequestresponsetype.go get global namespace packages together 7 years ago
xmlhttprequestupload.go get global namespace packages together 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.