From d7e2fe51b5a0cc1e4525d15db41a9300dfb8eaa0 Mon Sep 17 00:00:00 2001 From: James Dabbs Date: Tue, 5 Dec 2023 20:56:48 -0800 Subject: [PATCH] wip --- packages/core/src/Bundle.ts | 23 +++++++++++++++++------ packages/viewer/src/gateway.ts | 1 + 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/packages/core/src/Bundle.ts b/packages/core/src/Bundle.ts index 4ab5a92e..8b5543db 100644 --- a/packages/core/src/Bundle.ts +++ b/packages/core/src/Bundle.ts @@ -17,6 +17,7 @@ export type Bundle = { spaces: Map traits: Map> theorems: Map + mathlib?: { name: string; id: string }[] version: Version } @@ -26,6 +27,14 @@ export const serializedSchema = z.object({ theorems: z.array(theoremSchema), traits: z.array(traitSchema(z.string())), version: z.object({ ref: z.string(), sha: z.string() }), + mathlib: z + .array( + z.object({ + id: z.string(), + name: z.string(), + }), + ) + .optional(), }) export type Serialized = z.infer @@ -41,14 +50,16 @@ export function serialize(bundle: Bundle): Serialized { } export function deserialize(data: unknown): Bundle { - const serialized = serializedSchema.parse(data) + const { properties, spaces, theorems, traits, version, mathlib } = + serializedSchema.parse(data) return { - properties: indexBy(serialized.properties, p => p.uid), - spaces: indexBy(serialized.spaces, s => s.uid), - theorems: indexBy(serialized.theorems, t => t.uid), - traits: indexBy(serialized.traits, traitId), - version: serialized.version, + properties: indexBy(properties, p => p.uid), + spaces: indexBy(spaces, s => s.uid), + theorems: indexBy(theorems, t => t.uid), + traits: indexBy(traits, traitId), + mathlib, + version, } } diff --git a/packages/viewer/src/gateway.ts b/packages/viewer/src/gateway.ts index 2e2d7db1..5202bb17 100644 --- a/packages/viewer/src/gateway.ts +++ b/packages/viewer/src/gateway.ts @@ -30,6 +30,7 @@ export function sync( return async (host: string, branch: string, etag?: string) => { trace({ event: 'remote_fetch_started', host, branch }) const result = await pb.bundle.fetch({ host, branch, etag, fetch }) + console.log('fetched', result) if (result) { trace({ event: 'remote_fetch_complete', result })