Files

18 lines
718 B
TypeScript

import { always, extract, taps } from "@sanderling/spec";
const bumps = extract((s) => {
const el = s.ax.find({ id: "count" });
return el ? parseInt(el.text, 10) || 0 : 0;
}).named("bumps");
// The button, the counter that records the taps, and the canvas that services
// them all live inside a shadow root. A host that stops at the shadow boundary
// enumerates no target to tap and resolves no selector to read, so the counter
// can never leave zero: this property firing IS the evidence that both the
// enumeration and the selector lookup crossed the boundary.
const counterNeverMoves = always(() => bumps.current === 0);
export const properties = { counterNeverMoves };
export const actionsRoot = taps;