annotate web/lib/avro.ts @ 2395:ef3cde3e81e8

switch collector output from json to avro (still over WS)
author drewp@bigasterisk.com
date Thu, 16 May 2024 15:03:50 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2395
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
1 import * as avrojs from "avro-js";
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
2 export namespace avro {
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
3 export async function loadType(typeName: string): Promise<avrojs.types.Type> {
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
4 const schemaSource = await (await fetch(`/avro/${typeName}.avsc`)).json();
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
5 return await avrojs.parse(schemaSource);
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
6 }
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
7
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
8 export async function parseBlob(type: avrojs.types.Type, b: Blob): Promise<avrojs.types.Record> {
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
9 const jsMsg = type.fromBuffer(Buffer.from(await b.arrayBuffer()));
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
10 return jsMsg;
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
11 }
ef3cde3e81e8 switch collector output from json to avro (still over WS)
drewp@bigasterisk.com
parents:
diff changeset
12 }