Packages
plinth
0.4.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/element_ffi.mjs
import { Ok, Error } from "./gleam.mjs";
export function getAttribute(element, name) {
let attribute = element.getAttribute(name);
if (attribute) {
return new Ok(attribute);
}
return new Error();
}
export function setAttribute(element, name, value) {
element.setAttribute(name, value);
}
export function setInnerHTML(element, content) {
element.innerHTML = content;
}
export function innerText(element) {
return element.innerText;
}
export function closest(element, selector) {
let ancestor = element.closest(selector);
if (ancestor) {
return new Ok(ancestor);
}
return new Error();
}
export async function requestFullscreen(element) {
try {
await element.requestFullscreen();
return new Ok();
} catch (error) {
return new Error(error.toString());
}
}
export function scrollIntoView(element) {
element.scrollIntoView({ behavior: "smooth", block: "nearest" });
}
export function scrollHeight(element) {
return element.scrollHeight;
}
export function scrollLeft(element) {
return element.scrollLeft;
}
export function scrollTop(element) {
return element.scrollTop;
}
export function scrollWidth(element) {
return element.scrollWidth;
}
export function setScrollHeight(element, value) {
element.scrollHeight = value;
}
export function setScrollLeft(element, value) {
element.scrollLeft = value;
}
export function setScrollTop(element, value) {
element.scrollTop = value;
}
export function setScrollWidth(element, value) {
element.scrollWidth = value;
}
export function value(element) {
let value = element.value;
if (value != undefined) {
return new Ok(value);
}
return new Error();
}
export function setValue(element, value) {
element.value = value;
}
export function selectionStart(element) {
let value = element.selectionStart;
if (value != undefined) {
return new Ok(value);
}
return new Error();
}
export function setSelectionRange(element, start, end) {
element.setSelectionRange(start, end);
}
export function focus(element) {
element.focus();
}
export function appendChild(parent, child) {
parent.appendChild(child)
}