/* Middle of the graph: imports, re-exports, and holds a live binding.
 *
 * The specifier is written "./modmath.mjs" so the resolve step is exercised
 * rather than sidestepped by an absolute URL.
 */

import square, { add, TAU } from "./modmath.mjs";

export { TAU } from "./modmath.mjs";

export let counter = 0;

export function bump() {
	counter++;	/* the importer must see this through a live binding */
	return counter;
}

export function hypotSquared(a, b) {
	return add(square(a), square(b));
}

/* Top level await: legal only in a module, and only runs if the job queue is
 * pumped -- everything after it is a continuation, not straight-line code. */
export const awaited = await Promise.resolve("tla-ok");
