Spaces:
Running
Running
File size: 1,976 Bytes
3f69d52 85c57f8 3f69d52 85c57f8 f391b17 3f69d52 f391b17 3f69d52 85c57f8 3f69d52 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" href="data:," />
<title>TeaQL Browser SQLite</title>
<script type="module" crossorigin src="/assets/index-DTZ5iA72.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-inj2slTy.css">
</head>
<body>
<main>
<p class="eyebrow">TEAQL TYPESCRIPT RUNTIME</p>
<h1>Browser-local Data Service</h1>
<p>Write the same generated Q API used by an application. Peggy parses it into a controlled AST; no arbitrary JavaScript is evaluated.</p>
<p><strong>Everything runs in this browser.</strong> There is no application backend and no server-side business database.</p>
<div class="controls">
<label><input id="persist" type="checkbox" /> Persist locally with OPFS <span id="opfs-note"></span></label>
<button id="reset">Reset demo data</button>
</div>
<p id="status">Starting SQLite/WASM…</p>
<section class="query-panel">
<div class="query-toolbar">
<label for="preset">Example</label>
<select id="preset">
<option value="facet">Rows + relation facet</option>
<option value="filter">String filter</option>
<option value="all">Bounded list</option>
</select>
<button id="run" class="run">Run query</button>
</div>
<textarea id="query" spellcheck="false" aria-label="TeaQL query"></textarea>
<p class="hint">Accepted input is the generated TypeScript Q API. Execution, imports, assignments, and browser APIs are not part of the grammar.</p>
</section>
<section class="response-panel">
<div class="response-heading">
<h2>Web Response</h2>
<span>data · metadata · facets</span>
</div>
<pre id="result"></pre>
</section>
</main>
</body>
</html>
|