Packages
plinth
0.6.0
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/shadow_ffi.mjs
import { Ok, Error } from "./gleam.mjs";
import { Open } from "./plinth/browser/shadow.mjs"
export function appendChild(root, element) {
root.appendChild(element)
}
export function attachShadow(element, mode) {
const shadowMode = mode instanceof Open ? "open" : "closed"
return element.attachShadow({ mode: shadowMode })
}
export function shadowRoot(element) {
let shadowRoot = element.shadowRoot;
if (shadowRoot) {
return new Ok(shadowRoot);
}
return new Error();
}
export function querySelector(shadowRoot, selector) {
let element = shadowRoot.querySelector(selector);
if (element) {
return new Ok(element);
}
return new Error();
}
export function querySelectorAll(shadowRoot, selector) {
return shadowRoot.querySelectorAll(selector);
}