mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
* Add bun-types to packages * Improve typing * Fix types in tests * Fix dts tests * Run formatter * Fix all type errors * Add strict mode, fix type errors * Add ffi changes * Move workflows to root * Add workflows * Remove labeler * Add child_process types * Fix synthetic defaults issue * Remove docs * Move scripts * Run prettier * Include examples in typechecking * captureStackTrace types * moved captureStackTrace types to globals * Address reviews Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu> Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
78 lines
1.7 KiB
TypeScript
78 lines
1.7 KiB
TypeScript
// @ts-nocheck
|
|
import { LitElement, html, css } from "lit";
|
|
import { customElement, property, eventOptions } from "lit/decorators.js";
|
|
|
|
var loadedResolve;
|
|
var loadedPromise = new Promise((resolve) => {
|
|
loadedResolve = resolve;
|
|
});
|
|
|
|
if (document?.readyState === "loading") {
|
|
document.addEventListener(
|
|
"DOMContentLoaded",
|
|
() => {
|
|
loadedResolve();
|
|
},
|
|
{ once: true },
|
|
);
|
|
} else {
|
|
loadedResolve();
|
|
}
|
|
|
|
@customElement("my-element")
|
|
export class MyElement extends LitElement {
|
|
static styles = css`
|
|
:host {
|
|
display: inline-block;
|
|
padding: 10px;
|
|
background: lightgray;
|
|
}
|
|
.planet {
|
|
color: var(--planet-color, blue);
|
|
}
|
|
`;
|
|
|
|
@property() planet = "Earth";
|
|
|
|
render() {
|
|
return html`
|
|
<span @click=${this.togglePlanet} class="planet" id="planet-id"
|
|
>${this.planet}</span
|
|
>
|
|
`;
|
|
}
|
|
|
|
@eventOptions({ once: true })
|
|
togglePlanet() {
|
|
this.planet = this.planet === "Earth" ? "Mars" : "Earth";
|
|
}
|
|
}
|
|
|
|
function setup() {
|
|
let element = document.createElement("my-element");
|
|
element.id = "my-element-id";
|
|
document.body.appendChild(element);
|
|
}
|
|
|
|
export async function test() {
|
|
setup();
|
|
await loadedPromise;
|
|
|
|
let element = document.getElementById("my-element-id");
|
|
let shadowRoot = element.shadowRoot;
|
|
let planet = shadowRoot.getElementById("planet-id");
|
|
if (element.__planet !== "Earth") {
|
|
throw new Error("Unexpected planet name: " + element.__planet);
|
|
}
|
|
planet.click();
|
|
if (element.__planet !== "Mars") {
|
|
throw new Error("Unexpected planet name: " + element.__planet);
|
|
}
|
|
planet.click();
|
|
if (element.__planet !== "Mars") {
|
|
throw new Error("Unexpected planet name: " + element.__planet);
|
|
}
|
|
|
|
return testDone(import.meta.url);
|
|
}
|