diff --git a/packages/core/src/Theorem.ts b/packages/core/src/Theorem.ts index 55010bca..89571d91 100644 --- a/packages/core/src/Theorem.ts +++ b/packages/core/src/Theorem.ts @@ -1,6 +1,7 @@ import { z } from 'zod' +import { Ref } from './Ref.js' import { recordSchema } from './Record.js' -import { formulaSchema } from './Formula.js' +import { Formula, formulaSchema } from './Formula.js' export const theoremSchema = z.intersection( z.object({ @@ -12,3 +13,12 @@ export const theoremSchema = z.intersection( ) export type Theorem = z.infer + +// TODO: everything below this line was pushed down and should still be unified +export type SerializedTheorem = { + id: number + when: Formula + then: Formula + description: string + refs: Ref[] +} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 3ed58d42..3e845850 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -15,7 +15,7 @@ export { proveTheorem, } from './Logic/index.js' export { type Space, SpacePage } from './Space.js' -export { type Theorem } from './Theorem.js' +export { type Theorem, SerializedTheorem } from './Theorem.js' export { type Trait } from './Trait.js' export { type Version } from './Bundle.js' diff --git a/packages/viewer/src/__test__/factories.ts b/packages/viewer/src/__test__/factories.ts index adac7f60..974f5b2b 100644 --- a/packages/viewer/src/__test__/factories.ts +++ b/packages/viewer/src/__test__/factories.ts @@ -1,10 +1,9 @@ -import { TestUtils } from '@pi-base/core' +import { type SerializedTheorem, TestUtils } from '@pi-base/core' import { type AssertedTrait, Collection, type Property, - type SerializedTheorem, type Space, type Trait, Traits, diff --git a/packages/viewer/src/gateway.ts b/packages/viewer/src/gateway.ts index 2e2d7db1..5303e474 100644 --- a/packages/viewer/src/gateway.ts +++ b/packages/viewer/src/gateway.ts @@ -1,12 +1,6 @@ import * as pb from '@pi-base/core' -import { - Id, - type Property, - type Space, - type SerializedTheorem, - type Trait, -} from './models' +import { Id, type Property, type Space, type Trait } from './models' import { trace } from './debug' export type Sync = ( @@ -18,7 +12,7 @@ export type Sync = ( export type Result = { spaces: Space[] properties: Property[] - theorems: SerializedTheorem[] + theorems: pb.SerializedTheorem[] traits: Trait[] etag: string sha: string @@ -90,7 +84,7 @@ function theorem({ then, description, refs, -}: pb.Theorem): SerializedTheorem { +}: pb.Theorem): pb.SerializedTheorem { return { id: Id.toInt(uid), when: pb.formula.mapProperty(Id.toInt, when), diff --git a/packages/viewer/src/models/Theorem.ts b/packages/viewer/src/models/Theorem.ts index 47f00db9..d3f3e4c9 100644 --- a/packages/viewer/src/models/Theorem.ts +++ b/packages/viewer/src/models/Theorem.ts @@ -1,6 +1,6 @@ -import { formula as F } from '@pi-base/core' +import { formula as F, type SerializedTheorem } from '@pi-base/core' -import type { Property, Ref, SerializedTheorem } from '@/models' +import type { Property, Ref } from '@/models' export default class Theorem { static hydrate( diff --git a/packages/viewer/src/models/Theorems.ts b/packages/viewer/src/models/Theorems.ts index 9b242538..0dea65bc 100644 --- a/packages/viewer/src/models/Theorems.ts +++ b/packages/viewer/src/models/Theorems.ts @@ -1,8 +1,8 @@ -import { formula as F } from '@pi-base/core' +import { formula as F, type SerializedTheorem } from '@pi-base/core' import Collection from './Collection' import { default as Theorem } from './Theorem' -import type { Property, SerializedTheorem } from '@/types' +import type { Property } from '@/types' export default class Theorems { static build( diff --git a/packages/viewer/src/stores/index.ts b/packages/viewer/src/stores/index.ts index 60ecd34b..2fb5c2a1 100644 --- a/packages/viewer/src/stores/index.ts +++ b/packages/viewer/src/stores/index.ts @@ -1,10 +1,10 @@ +import { type SerializedTheorem } from '@pi-base/core' import type * as Gateway from '@/gateway' import { Collection, Theorems, Traits, type Property, - type SerializedTheorem, type Space, type Trait, } from '@/models' diff --git a/packages/viewer/src/types/index.ts b/packages/viewer/src/types/index.ts index b41724f0..d60a0123 100644 --- a/packages/viewer/src/types/index.ts +++ b/packages/viewer/src/types/index.ts @@ -41,14 +41,6 @@ export type DeducedTrait = { export type Trait = AssertedTrait | DeducedTrait -export type SerializedTheorem = { - id: number - when: Formula - then: Formula - description: string - refs: Ref[] -} - export type SerializedProof = { properties: number[] theorems: number[]