@mattebox/player-diagnostics 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/cdn/mattebox-player-diagnostics.min.js +1 -124
  2. package/dist/charts.d.ts.map +1 -1
  3. package/dist/charts.js +356 -392
  4. package/dist/charts.js.map +1 -1
  5. package/dist/dom.d.ts +8 -0
  6. package/dist/dom.d.ts.map +1 -0
  7. package/dist/dom.js +15 -0
  8. package/dist/dom.js.map +1 -0
  9. package/dist/element.d.ts.map +1 -1
  10. package/dist/element.js +631 -659
  11. package/dist/element.js.map +1 -1
  12. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.152.0}/helpers/esm/asyncToGenerator.js +1 -1
  13. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.152.0}/helpers/esm/defineProperty.js +1 -1
  14. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.152.0}/helpers/esm/objectSpread2.js +1 -1
  15. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.152.0}/helpers/esm/toPrimitive.js +1 -1
  16. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.152.0}/helpers/esm/toPropertyKey.js +1 -1
  17. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.152.0}/helpers/esm/typeof.js +1 -1
  18. package/dist/es2015/charts.js +2 -1
  19. package/dist/es2015/dom.js +13 -0
  20. package/dist/es2015/element.js +23 -10
  21. package/dist/es2015/report.js +6 -0
  22. package/dist/es2015/style.js +1 -133
  23. package/dist/es2015/support.js +2 -2
  24. package/dist/es2015/trace.js +1 -1
  25. package/dist/format.js +26 -31
  26. package/dist/format.js.map +1 -1
  27. package/dist/host.js +28 -30
  28. package/dist/host.js.map +1 -1
  29. package/dist/icon.js +43 -39
  30. package/dist/icon.js.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +15 -14
  34. package/dist/index.js.map +1 -1
  35. package/dist/report.d.ts +12 -0
  36. package/dist/report.d.ts.map +1 -1
  37. package/dist/report.js +135 -119
  38. package/dist/report.js.map +1 -1
  39. package/dist/sampler.js +187 -199
  40. package/dist/sampler.js.map +1 -1
  41. package/dist/style.d.ts +1 -9
  42. package/dist/style.d.ts.map +1 -1
  43. package/dist/style.js +4 -132
  44. package/dist/style.js.map +1 -1
  45. package/dist/support.js +304 -215
  46. package/dist/support.js.map +1 -1
  47. package/dist/trace.js +80 -81
  48. package/dist/trace.js.map +1 -1
  49. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"charts.js","sourceRoot":"","sources":["../src/charts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charts.js","names":[],"sources":["../src/charts.ts"],"sourcesContent":["/**\n * The five charts, on one canvas: the buffer per source buffer over media\n * time, and over wall time the throughput, the stalls, the frames and the\n * switches. Drawn the way the engine's playground draws them, in a copy\n * that reads the sampler and needs no DOM of its own beyond the canvas,\n * the legend and the readout it is given. Colours come from the element,\n * read off its custom properties, so a page's tokens reach the canvas.\n */\nimport type { Mattebox, Rendition } from 'mattebox';\nimport { setChildren } from './dom.js';\nimport { bitrate, clock } from './format.js';\nimport type { Counters, Mark, Sample } from './sampler.js';\n\nexport type ChartTab = 'buffer' | 'throughput' | 'stalls' | 'frames' | 'switches';\n\nexport const CHART_TABS: readonly ChartTab[] = [\n 'buffer',\n 'throughput',\n 'stalls',\n 'frames',\n 'switches',\n];\n\nexport interface Palette {\n readonly ink: string;\n readonly muted: string;\n readonly accent: string;\n readonly warn: string;\n readonly series: readonly string[];\n}\n\nexport interface ChartInput {\n readonly tab: ChartTab;\n /** Seconds of wall time across the plot. */\n readonly window: number;\n readonly samples: readonly Sample[];\n readonly marks: readonly Mark[];\n readonly counters: Counters;\n readonly video: HTMLVideoElement;\n readonly engine: Mattebox | null;\n readonly palette: Palette;\n}\n\nexport interface Charts {\n draw(input: ChartInput): void;\n}\n\ninterface Frame {\n readonly ctx: CanvasRenderingContext2D;\n readonly w: number;\n readonly h: number;\n readonly left: number;\n readonly right: number;\n readonly top: number;\n readonly bottom: number;\n}\n\ntype Point = readonly [number, number];\n\n/** A round step for a range: 1, 2, 5 times a power of ten. */\nfunction niceStep(range: number, target: number): number {\n const raw = range / Math.max(target, 1);\n const pow = 10 ** Math.floor(Math.log10(Math.max(raw, 1e-9)));\n for (const m of [1, 2, 5, 10]) if (raw <= m * pow) return m * pow;\n return 10 * pow;\n}\n\n/** Greys with the alpha the grid and the bands need, from any colour the tokens give. */\nfunction alpha(color: string, value: number): string {\n const probe = document.createElement('canvas').getContext('2d');\n if (probe === null) return color;\n probe.fillStyle = color;\n const hex = probe.fillStyle;\n if (!/^#[0-9a-f]{6}$/i.test(hex)) return color;\n const r = Number.parseInt(hex.slice(1, 3), 16);\n const g = Number.parseInt(hex.slice(3, 5), 16);\n const b = Number.parseInt(hex.slice(5, 7), 16);\n return `rgba(${r}, ${g}, ${b}, ${value})`;\n}\n\nexport function createCharts(\n canvas: HTMLCanvasElement,\n legend: HTMLElement,\n readout: HTMLElement,\n): Charts {\n function frame(): Frame | null {\n const ctx = canvas.getContext('2d');\n if (ctx === null) return null;\n const dpr = window.devicePixelRatio || 1;\n const w = canvas.clientWidth;\n const h = canvas.clientHeight;\n if (w === 0 || h === 0) return null;\n const width = Math.round(w * dpr);\n const height = Math.round(h * dpr);\n if (canvas.width !== width || canvas.height !== height) {\n canvas.width = width;\n canvas.height = height;\n }\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, w, h);\n ctx.font = '10px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace';\n return { ctx, w, h, left: 44, right: w - 8, top: 8, bottom: h - 18 };\n }\n\n /** The wall-time axis, now at the right edge, labelled back from it. Returns the mapping. */\n function wallAxis(f: Frame, t0: number, t1: number, p: Palette): (t: number) => number {\n const x = (t: number): number => f.left + ((t - t0) / (t1 - t0)) * (f.right - f.left);\n const span = (t1 - t0) / 1000;\n const step = niceStep(span, 6);\n f.ctx.strokeStyle = alpha(p.muted, 0.25);\n f.ctx.fillStyle = p.muted;\n f.ctx.textAlign = 'center';\n f.ctx.textBaseline = 'top';\n for (let back = 0; back <= span; back += step) {\n const px = x(t1 - back * 1000);\n f.ctx.beginPath();\n f.ctx.moveTo(px, f.top);\n f.ctx.lineTo(px, f.bottom);\n f.ctx.stroke();\n const text = back === 0 ? 'now' : back < 60 ? `-${back}s` : `-${clock(back)}`;\n f.ctx.fillText(text, px, f.bottom + 3);\n }\n return x;\n }\n\n /** The value axis from zero, four gridlines, labelled by `unit`. Returns the mapping. */\n function valueAxis(\n f: Frame,\n max: number,\n unit: (v: number) => string,\n p: Palette,\n ): (v: number) => number {\n const y = (v: number): number => f.bottom - (v / max) * (f.bottom - f.top);\n const step = niceStep(max, 4);\n f.ctx.strokeStyle = alpha(p.muted, 0.25);\n f.ctx.fillStyle = p.muted;\n f.ctx.textAlign = 'right';\n f.ctx.textBaseline = 'middle';\n for (let v = 0; v <= max; v += step) {\n const py = y(v);\n f.ctx.beginPath();\n f.ctx.moveTo(f.left, py);\n f.ctx.lineTo(f.right, py);\n f.ctx.stroke();\n f.ctx.fillText(unit(v), f.left - 4, py);\n }\n return y;\n }\n\n function line(\n f: Frame,\n points: readonly Point[],\n color: string,\n options: { dashed?: boolean; step?: boolean; width?: number } = {},\n ): void {\n if (points.length === 0) return;\n f.ctx.save();\n f.ctx.strokeStyle = color;\n f.ctx.lineWidth = options.width ?? 2;\n f.ctx.setLineDash(options.dashed === true ? [4, 4] : []);\n f.ctx.beginPath();\n let previous: Point | undefined;\n for (const point of points) {\n if (previous === undefined) f.ctx.moveTo(point[0], point[1]);\n else if (options.step === true) {\n f.ctx.lineTo(point[0], previous[1]);\n f.ctx.lineTo(point[0], point[1]);\n } else f.ctx.lineTo(point[0], point[1]);\n previous = point;\n }\n f.ctx.stroke();\n f.ctx.restore();\n }\n\n function dot(f: Frame, px: number, py: number, color: string, r = 2.5): void {\n f.ctx.fillStyle = color;\n f.ctx.beginPath();\n f.ctx.arc(px, py, r, 0, Math.PI * 2);\n f.ctx.fill();\n }\n\n /** A dashed vertical rule with a glyph at its top. */\n function marker(f: Frame, px: number, color: string, glyph: string): void {\n f.ctx.save();\n f.ctx.strokeStyle = color;\n f.ctx.lineWidth = 1;\n f.ctx.setLineDash([2, 3]);\n f.ctx.beginPath();\n f.ctx.moveTo(px, f.top);\n f.ctx.lineTo(px, f.bottom);\n f.ctx.stroke();\n f.ctx.restore();\n f.ctx.fillStyle = color;\n f.ctx.textAlign = 'center';\n f.ctx.textBaseline = 'top';\n f.ctx.fillText(glyph, px, f.top);\n }\n\n function setLegend(items: ReadonlyArray<readonly [string, string]>): void {\n setChildren(legend);\n for (const [text, color] of items) {\n const item = document.createElement('span');\n item.setAttribute('part', 'legend-item');\n const swatch = document.createElement('span');\n swatch.setAttribute('part', 'swatch');\n swatch.style.background = color;\n item.append(swatch, text);\n legend.append(item);\n }\n }\n\n /** The samples in the window, plus the one before it so the line enters from the left. */\n function visible(samples: readonly Sample[], t0: number): Sample[] {\n const from = samples.findIndex((s) => s.t >= t0);\n if (from < 0) return samples.length > 0 ? [samples[samples.length - 1] as Sample] : [];\n return samples.slice(Math.max(0, from - 1));\n }\n\n function renditions(engine: Mattebox | null): readonly Rendition[] {\n return engine?.quality.renditions ?? [];\n }\n\n function drawBuffer(f: Frame, input: ChartInput): void {\n const { video, engine, palette: p } = input;\n const state = engine?.stats.snapshot() ?? null;\n const duration = state?.presentation?.duration ?? video.duration;\n const live = state?.live ?? null;\n const now = video.currentTime;\n let d0 = 0;\n let d1 = Number.isFinite(duration) && duration > 0 ? duration : Math.max(now + 10, 10);\n if (live !== null) {\n d0 = live.span.start;\n d1 = Math.max(live.span.end, now + 10);\n } else if (d1 > 600) {\n d0 = Math.max(0, now - 60);\n d1 = now + 180;\n }\n const x = (t: number): number => f.left + ((t - d0) / (d1 - d0)) * (f.right - f.left);\n\n // One row per source buffer, or the video's own ranges for a native session.\n const rows: Array<{ label: string; ranges: ReadonlyArray<{ start: number; end: number }> }> =\n state === null\n ? [\n {\n label: 'video',\n ranges: Array.from({ length: video.buffered.length }, (_, i) => ({\n start: video.buffered.start(i),\n end: video.buffered.end(i),\n })),\n },\n ]\n : [...state.buffers.entries()].map(([id, buffer]) => ({\n label: id.replace('sb:', ''),\n ranges: buffer.ranges,\n }));\n if (rows.length === 0) rows.push({ label: 'video', ranges: [] });\n const ladder = renditions(engine);\n const rowGap = 8;\n const rowH = Math.min(34, (f.bottom - f.top - rowGap * (rows.length - 1)) / rows.length);\n f.ctx.textAlign = 'left';\n f.ctx.textBaseline = 'middle';\n rows.forEach((row, i) => {\n const y = f.top + i * (rowH + rowGap);\n f.ctx.fillStyle = alpha(p.muted, 0.15);\n f.ctx.fillRect(f.left, y, f.right - f.left, rowH);\n if (state !== null) {\n for (const [range, id] of state.quality.appendLog) {\n const index = ladder.findIndex((r) => r.id === id);\n f.ctx.fillStyle = alpha(p.series[Math.max(0, index) % p.series.length] ?? p.accent, 0.3);\n f.ctx.fillRect(x(range.start), y, Math.max(1, x(range.end) - x(range.start)), rowH);\n }\n }\n f.ctx.fillStyle = p.ink;\n for (const range of row.ranges) {\n f.ctx.fillRect(x(range.start), y + rowH - 4, Math.max(1, x(range.end) - x(range.start)), 3);\n }\n f.ctx.fillStyle = p.muted;\n f.ctx.fillText(row.label, f.left + 4, y + rowH / 2);\n });\n if (live !== null) marker(f, x(live.edge), p.warn, 'edge');\n f.ctx.fillStyle = p.accent;\n f.ctx.fillRect(x(now) - 1, f.top, 2, f.bottom - f.top);\n f.ctx.fillStyle = p.muted;\n f.ctx.textAlign = 'left';\n f.ctx.textBaseline = 'top';\n f.ctx.fillText(clock(d0), f.left, f.bottom + 3);\n f.ctx.textAlign = 'right';\n f.ctx.fillText(clock(d1), f.right, f.bottom + 3);\n\n setLegend([\n ...ladder.map((r, i): readonly [string, string] => [\n r.height !== undefined ? `${r.height}p` : bitrate(r.bitrate),\n p.series[i % p.series.length] ?? p.accent,\n ]),\n ['buffered', p.ink],\n ['playhead', p.accent],\n ]);\n const ahead = input.samples[input.samples.length - 1]?.ahead ?? 0;\n readout.textContent = `${clock(now)} of ${clock(d1)}, ${ahead.toFixed(1)}s buffered ahead${\n live !== null ? `, window ${clock(live.span.start)} to ${clock(live.span.end)}` : ''\n }`;\n }\n\n function drawThroughput(f: Frame, input: ChartInput, t0: number, t1: number): void {\n const p = input.palette;\n const view = visible(input.samples, t0);\n const segments = input.marks.filter((m) => m.kind === 'segment' && m.t >= t0);\n const top =\n Math.max(\n 1_000_000,\n ...view.map((s) => Math.max(s.slow, s.fast, s.playingBitrate)),\n ...segments.map((m) => m.value),\n ) * 1.15;\n const y = valueAxis(f, top, (v) => (v / 1e6).toFixed(v >= 1e7 ? 0 : 1), p);\n const x = wallAxis(f, t0, t1, p);\n for (const m of segments) {\n const audio = m.trackId?.startsWith('aud') === true || m.trackId?.includes('audio') === true;\n dot(f, x(m.t), y(m.value), (audio ? p.series[4] : p.series[0]) ?? p.accent);\n }\n line(\n f,\n view.map((s): Point => [x(s.t), y(s.slow)]),\n p.series[1] ?? p.accent,\n );\n line(\n f,\n view.map((s): Point => [x(s.t), y(s.fast)]),\n p.series[2] ?? p.accent,\n { dashed: true },\n );\n line(\n f,\n view.map((s): Point => [x(s.t), y(s.playingBitrate)]),\n p.muted,\n { step: true, width: 1.5 },\n );\n setLegend([\n ['video segment', p.series[0] ?? p.accent],\n ['audio segment', p.series[4] ?? p.accent],\n ['slow estimate', p.series[1] ?? p.accent],\n ['fast estimate', p.series[2] ?? p.accent],\n ['playing bitrate', p.muted],\n ]);\n const last = view[view.length - 1];\n readout.textContent =\n last === undefined\n ? 'Mbps'\n : `Mbps. Now: slow ${bitrate(last.slow)}, fast ${bitrate(last.fast)}, playing ${bitrate(last.playingBitrate)}`;\n }\n\n function drawStalls(f: Frame, input: ChartInput, t0: number, t1: number): void {\n const p = input.palette;\n const view = visible(input.samples, t0);\n const top = Math.max(5, ...view.map((s) => s.ahead)) * 1.15;\n const y = valueAxis(f, top, (v) => `${v.toFixed(0)}s`, p);\n const x = wallAxis(f, t0, t1, p);\n f.ctx.fillStyle = alpha(p.series[3] ?? p.accent, 0.25);\n let start: number | null = null;\n for (const [i, s] of view.entries()) {\n if (s.stalled && start === null) start = s.t;\n const last = i === view.length - 1;\n if ((!s.stalled || last) && start !== null) {\n f.ctx.fillRect(x(start), f.top, Math.max(2, x(s.t) - x(start)), f.bottom - f.top);\n start = null;\n }\n }\n line(\n f,\n view.map((s): Point => [x(s.t), y(s.ahead)]),\n p.series[0] ?? p.accent,\n );\n for (const m of input.marks) {\n if (m.t < t0 || m.kind === 'segment' || m.kind === 'switch') continue;\n if (m.kind === 'stall') marker(f, x(m.t), p.accent, '!');\n else if (m.kind === 'seek') marker(f, x(m.t), p.muted, '>');\n else marker(f, x(m.t), p.warn, m.kind.charAt(0).toUpperCase());\n }\n setLegend([\n ['buffered ahead', p.series[0] ?? p.accent],\n ['stalled', p.series[3] ?? p.accent],\n ['! stall', p.accent],\n ['> seek', p.muted],\n ['N F S G recovery', p.warn],\n ]);\n const c = input.counters;\n const now = view[view.length - 1]?.stalled === true ? ', stalled now' : '';\n readout.textContent = `${c.stalls} stalls, ${c.stalledSeconds.toFixed(1)}s stalled in total${now}`;\n }\n\n function drawFrames(f: Frame, input: ChartInput, t0: number, t1: number): void {\n const p = input.palette;\n const view = visible(input.samples, t0);\n const fps = view.map((s, i) => {\n const prev = view[i - 1];\n const dt = prev === undefined ? 0.5 : Math.max((s.t - prev.t) / 1000, 0.05);\n return s.decoded / dt;\n });\n const top = Math.max(30, ...fps) * 1.15;\n const y = valueAxis(f, top, (v) => v.toFixed(0), p);\n const x = wallAxis(f, t0, t1, p);\n const maxDrop = Math.max(1, ...view.map((s) => s.dropped));\n f.ctx.fillStyle = p.accent;\n for (const s of view) {\n if (s.dropped === 0) continue;\n const height = (s.dropped / maxDrop) * (f.bottom - f.top) * 0.6;\n f.ctx.fillRect(x(s.t) - 1.5, f.bottom - height, 3, height);\n }\n line(\n f,\n view.map((s, i): Point => [x(s.t), y(fps[i] ?? 0)]),\n p.series[0] ?? p.accent,\n );\n setLegend([\n ['decoded per second', p.series[0] ?? p.accent],\n ['dropped, relative', p.accent],\n ]);\n const c = input.counters;\n const rate = c.decoded > 0 ? ((c.dropped / c.decoded) * 100).toFixed(2) : '0.00';\n readout.textContent = `${c.decoded} decoded, ${c.dropped} dropped (${rate}%) this session`;\n }\n\n function drawSwitches(f: Frame, input: ChartInput, t0: number, t1: number): void {\n const p = input.palette;\n const view = visible(input.samples, t0);\n const ladder = renditions(input.engine);\n const useHeight = ladder.some((r) => r.height !== undefined);\n const levels = ladder.map((r) => (useHeight ? (r.height ?? 0) : r.bitrate));\n const top =\n Math.max(1, ...levels, ...view.map((s) => (useHeight ? s.playingHeight : s.playingBitrate))) *\n 1.15;\n const y = (v: number): number => f.bottom - (v / top) * (f.bottom - f.top);\n // The ladder is the axis: one line per rendition.\n f.ctx.strokeStyle = alpha(p.muted, 0.25);\n f.ctx.fillStyle = p.muted;\n f.ctx.textAlign = 'right';\n f.ctx.textBaseline = 'middle';\n for (const level of levels) {\n const py = y(level);\n f.ctx.beginPath();\n f.ctx.moveTo(f.left, py);\n f.ctx.lineTo(f.right, py);\n f.ctx.stroke();\n f.ctx.fillText(useHeight ? `${level}p` : bitrate(level), f.left - 4, py);\n }\n const x = wallAxis(f, t0, t1, p);\n line(\n f,\n view.map((s): Point => [x(s.t), y(useHeight ? s.playingHeight : s.playingBitrate)]),\n p.series[0] ?? p.accent,\n { step: true },\n );\n for (const m of input.marks)\n if (m.kind === 'switch' && m.t >= t0) marker(f, x(m.t), p.warn, 'S');\n setLegend([\n ['playing', p.series[0] ?? p.accent],\n ['S switch', p.warn],\n ]);\n const last = view[view.length - 1];\n const now =\n last === undefined || last.playingId === null\n ? '–'\n : useHeight\n ? `${last.playingHeight}p`\n : bitrate(last.playingBitrate);\n readout.textContent = `${input.counters.switches} switches this session, now ${now}`;\n }\n\n return {\n draw(input): void {\n const f = frame();\n if (f === null) return;\n if (input.engine === null && (input.tab === 'throughput' || input.tab === 'switches')) {\n setLegend([]);\n readout.textContent = 'A native session: the browser holds this, and says nothing.';\n return;\n }\n const t1 = performance.now();\n const t0 = t1 - input.window * 1000;\n switch (input.tab) {\n case 'buffer':\n drawBuffer(f, input);\n break;\n case 'throughput':\n drawThroughput(f, input, t0, t1);\n break;\n case 'stalls':\n drawStalls(f, input, t0, t1);\n break;\n case 'frames':\n drawFrames(f, input, t0, t1);\n break;\n case 'switches':\n drawSwitches(f, input, t0, t1);\n break;\n }\n },\n };\n}\n"],"mappings":"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"}
package/dist/dom.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Replaces the children of `node`: the ones it has go, then `children` come.
3
+ * `replaceChildren` does this in one call, from Chromium 86 (AGENTS.md,
4
+ * rule 9). A copy of the player's own: the player's internals are not this
5
+ * package's to import.
6
+ */
7
+ export declare function setChildren(node: Node & ParentNode, ...children: Node[]): void;
8
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAG9E"}
package/dist/dom.js ADDED
@@ -0,0 +1,15 @@
1
+ //#region src/dom.ts
2
+ /**
3
+ * Replaces the children of `node`: the ones it has go, then `children` come.
4
+ * `replaceChildren` does this in one call, from Chromium 86 (AGENTS.md,
5
+ * rule 9). A copy of the player's own: the player's internals are not this
6
+ * package's to import.
7
+ */
8
+ function setChildren(node, ...children) {
9
+ while (node.firstChild !== null) node.firstChild.remove();
10
+ node.append(...children);
11
+ }
12
+ //#endregion
13
+ export { setChildren };
14
+
15
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","names":[],"sources":["../src/dom.ts"],"sourcesContent":["/**\n * Replaces the children of `node`: the ones it has go, then `children` come.\n * `replaceChildren` does this in one call, from Chromium 86 (AGENTS.md,\n * rule 9). A copy of the player's own: the player's internals are not this\n * package's to import.\n */\nexport function setChildren(node: Node & ParentNode, ...children: Node[]): void {\n while (node.firstChild !== null) node.firstChild.remove();\n node.append(...children);\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,YAAY,MAAyB,GAAG,UAAwB;CAC9E,OAAO,KAAK,eAAe,MAAM,KAAK,WAAW,OAAO;CACxD,KAAK,OAAO,GAAG,QAAQ;AACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA+ErD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,MAAM,KAAK,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED,QAAgB,MAAM,CAAoB;IAC1C,QAAgB,MAAM,CAAsB;IAC5C,QAAgB,IAAI,CAAoB;IACxC,iBAAyB,OAAO,CAAU;IAC1C,iBAAyB,MAAM,CAAS;IACxC,QAAgB,KAAK,CAA6C;IAClE,QAAgB,MAAM,CAA6C;IACnE,QAAgB,MAAM,CAA4C;IAClE,QAAgB,GAAG,CAAM;IACzB,QAAgB,QAAQ,CAAW;IACnC,QAAgB,OAAO,CAAiB;IACxC,QAAgB,OAAO,CAAU;IAEjC,iBAAyB,MAAM,CAAoB;IACnD,iBAAyB,KAAK,CAAc;IAC5C,iBAAyB,IAAI,CAAc;IAC3C,iBAAyB,IAAI,CAAiC;IAC9D,iBAAyB,KAAK,CAA2B;IACzD,iBAAyB,IAAI,CAAoB;IACjD,iBAAyB,MAAM,CAAoB;IACnD,iBAAyB,SAAS,CAAsC;IACxE,iBAAyB,YAAY,CAAoB;IACzD,iBAAyB,OAAO,CAAgC;IAChE,iBAAyB,KAAK,CAAa;;IAwH3C,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,wBAAwB,IAAI,IAAI;IAIhC,OAAO,CAAC,MAAM;IA4Bd,OAAO,CAAC,MAAM;IAUd,6BAA6B;IAC7B,MAAM,IAAI,iBAAiB;IAa3B,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,IAAI;IAiBZ,OAAO,CAAC,IAAI;IAWZ,0GAA0G;IAC1G,OAAO,CAAC,GAAG;IAeX,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;YAiBN,UAAU;IAexB,kEAAkE;IAClE,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,IAAI;IAeZ,oDAAoD;IACpD,OAAO,CAAC,KAAK;IAkBb,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,cAAc;IA2GtB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAuChB,uFAAuF;IACvF,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,MAAM;CAoEf"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAgFjE,qBAAa,cAAe,SAAQ,WAAW;IAC7C,MAAM,KAAK,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED,QAAgB,MAAM,CAAoB;IAC1C,QAAgB,MAAM,CAAsB;IAC5C,QAAgB,IAAI,CAAoB;IACxC,iBAAyB,OAAO,CAAU;IAC1C,iBAAyB,MAAM,CAAS;IACxC,QAAgB,KAAK,CAA6C;IAClE,QAAgB,MAAM,CAA6C;IACnE,QAAgB,MAAM,CAA4C;IAClE,QAAgB,GAAG,CAAM;IACzB,QAAgB,QAAQ,CAAW;IACnC,QAAgB,OAAO,CAAiB;IACxC,QAAgB,OAAO,CAAU;IAEjC,iBAAyB,MAAM,CAAoB;IACnD,iBAAyB,KAAK,CAAc;IAC5C,iBAAyB,IAAI,CAAc;IAC3C,iBAAyB,IAAI,CAAiC;IAC9D,iBAAyB,KAAK,CAA2B;IACzD,iBAAyB,IAAI,CAAoB;IACjD,iBAAyB,MAAM,CAAoB;IACnD,iBAAyB,SAAS,CAAsC;IACxE,iBAAyB,YAAY,CAAoB;IACzD,iBAAyB,OAAO,CAAgC;IAChE,iBAAyB,KAAK,CAAa;;IAwH3C,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,wBAAwB,IAAI,IAAI;IAIhC,OAAO,CAAC,MAAM;IA4Bd,OAAO,CAAC,MAAM;IAUd,6BAA6B;IAC7B,MAAM,IAAI,iBAAiB;IAa3B,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,IAAI;IAiBZ,OAAO,CAAC,IAAI;IAWZ,0GAA0G;IAC1G,OAAO,CAAC,GAAG;IAeX,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;YAiBN,UAAU;IAexB,kEAAkE;IAClE,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,IAAI;IAeZ,oDAAoD;IACpD,OAAO,CAAC,KAAK;IAkBb,OAAO,CAAC,gBAAgB;IAmExB,OAAO,CAAC,cAAc;IA2GtB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAuChB,uFAAuF;IACvF,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,MAAM;CAoEf"}