Skip to content

Instantly share code, notes, and snippets.

@maltoze
Last active April 26, 2023 02:31
Show Gist options
  • Save maltoze/e072bb1a57802f2e72f899c8e5a2730e to your computer and use it in GitHub Desktop.
Save maltoze/e072bb1a57802f2e72f899c8e5a2730e to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input id="text" />
<script>
const transformStream = new TransformStream();
const { writable, readable } = transformStream
const defaultWriter = writable.getWriter();
let closed = false
document.querySelector('#text').addEventListener('input', (e) => {
!closed && defaultWriter.write(e.data)
if (e.data === 'q') {
closed = true
defaultWriter.close()
}
})
async function main() {
const reader = readable.getReader()
while (true) {
const { done, value } = await reader.read()
console.log(done, value)
if (done) {
break
}
}
}
main()
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment