<!DOCTYPE html>
<html>
<head>
<title>OkId WASM Example</title>
</head>
<body>
<h1>OkId WASM Example</h1>
<div>
<h2>Create OkIds</h2>
<input type="text" id="input" value="Hello, World!" />
<button onclick="createIds()">Create IDs</button>
<div id="results"></div>
</div>
<script type="module">
import init, { OkId } from '../pkg/okid.js';
async function run() {
await init();
window.OkId = OkId;
}
window.createIds = function() {
const input = document.getElementById('input').value;
const encoder = new TextEncoder();
const data = encoder.encode(input);
const results = document.getElementById('results');
results.innerHTML = '';
const sha256Id = OkId.fromSha256(data);
results.innerHTML += `<p>SHA256: ${sha256Id.toString()}</p>`;
const blake3Id = OkId.fromBlake3(data);
results.innerHTML += `<p>Blake3: ${blake3Id.toString()}</p>`;
const fingerprintId = OkId.fingerprint(data);
results.innerHTML += `<p>Fingerprint: ${fingerprintId.toString()}</p>`;
const uuidId = OkId.newUuid();
results.innerHTML += `<p>UUID: ${uuidId.toString()}</p>`;
const ulidId = OkId.newUlid();
results.innerHTML += `<p>ULID: ${ulidId.toString()}</p>`;
const parsed = OkId.fromString(sha256Id.toString());
results.innerHTML += `<p>Path-safe: ${parsed.toPathSafe()}</p>`;
}
run();
</script>
</body>
</html>