Packages
plinth
0.9.1
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.13
0.1.12
0.1.11
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Bindings to Node.js and browser platform APIs
Current section
Files
Jump to
Current section
Files
src/document_ffi.mjs
import { Result$Ok, Result$Error } from "./gleam.mjs";
export function querySelector(query) {
let found = document.querySelector(query);
if (!found) {
return Result$Error();
}
return Result$Ok(found);
}
export function querySelectorAll(query) {
return Array.from(document.querySelectorAll(query));
}
export function addEventListener(type, listener) {
return document.addEventListener(type, listener);
}
export function createElement(tagName) {
return document.createElement(tagName);
}
export function createTextNode(content) {
return document.createTextNode(content);
}
export function body() {
return document.body;
}
export function getElementById(id) {
let found = document.getElementById(id);
if (!found) {
return Result$Error();
}
return Result$Ok(found);
}
export function getElementsByTagName(tagName) {
return Array.from(document.getElementsByTagName(tagName));
}
export function readyState() {
return document.readyState;
}
export function hidden() {
return document.hidden;
}
export function visibilityState() {
return document.visibilityState;
}
export function title() {
return document.title;
}
export function setTitle(title) {
document.title = title;
}
export function fullscreenElement(document) {
let found = document.fullscreenElement;
if (!found) {
return Result$Error();
}
return Result$Ok(found);
}
export async function exitFullscreen(document) {
try {
return Result$Ok(await document.exitFullscreen())
} catch (error) {
return Result$Error(`${error}`)
}
}