import { LocalNode, RawAccount } from "cojson"; import { Account, AccountClass, LoadedAndRequired, CoRecordSchema, CoValueClass, CoValueFromRaw, CoreCoRecordSchema, InstanceOfSchema, RefsToResolve, RefsToResolveStrict, Resolved, SnapshotRefSchema, } from "../../internal.js"; import { AccountSchema, BaseAccountShape, CoreAccountSchema, } from "./schemaTypes/AccountSchema.js"; import { CoDiscriminatedUnionSchema, CoreCoDiscriminatedUnionSchema, } from "./schemaTypes/CoDiscriminatedUnionSchema.js"; import { CoFeedSchema, CoreCoFeedSchema } from "./schemaTypes/CoFeedSchema.js"; import { CoListSchema, CoreCoListSchema } from "./schemaTypes/CoListSchema.js"; import { CoMapSchema, CoreCoMapSchema } from "./schemaTypes/CoMapSchema.js"; import { CoOptionalSchema, CoreCoOptionalSchema, } from "./schemaTypes/CoOptionalSchema.js"; import { CoreCoValueSchema } from "./schemaTypes/CoValueSchema.js"; import { CoreFileStreamSchema, FileStreamSchema, } from "./schemaTypes/FileStreamSchema.js"; import { CoreCoVectorSchema, CoVectorSchema, } from "./schemaTypes/CoVectorSchema.js"; import { CorePlainTextSchema, PlainTextSchema, } from "./schemaTypes/PlainTextSchema.js"; import { CoreRichTextSchema, RichTextSchema, } from "./schemaTypes/RichTextSchema.js"; import { CoreSnapshotRefSchema } from "./schemaTypes/SnapshotRefSchema.js"; import { InstanceOfSchemaCoValuesMaybeLoaded } from "./typeConverters/InstanceOfSchemaCoValuesMaybeLoaded.js"; import { z } from "./zodReExport.js"; import { CoreGroupSchema } from "./schemaTypes/GroupSchema.js"; import { GroupSchema } from "./schemaTypes/GroupSchema.js"; export type ZodPrimitiveSchema = | z.core.$ZodString | z.core.$ZodNumber | z.core.$ZodBoolean | z.core.$ZodNull | z.core.$ZodDate | z.core.$ZodLiteral; export type CoValueClassOrSchema = CoValueClass | CoreCoValueSchema; export type CoValueSchemaFromCoreSchema = S extends CoreAccountSchema ? AccountSchema : S extends CoreGroupSchema ? GroupSchema : S extends CoreCoRecordSchema ? CoRecordSchema : S extends CoreCoMapSchema ? CoMapSchema : S extends CoreCoListSchema ? CoListSchema : S extends CoreCoFeedSchema ? CoFeedSchema : S extends CorePlainTextSchema ? PlainTextSchema : S extends CoreRichTextSchema ? RichTextSchema : S extends CoreFileStreamSchema ? FileStreamSchema : S extends CoreCoVectorSchema ? CoVectorSchema : S extends CoreCoOptionalSchema ? CoOptionalSchema : S extends CoreCoDiscriminatedUnionSchema< infer Members > ? CoDiscriminatedUnionSchema : S extends CoreSnapshotRefSchema< infer Inner, infer R > ? SnapshotRefSchema : never; export type CoValueClassFromAnySchema = S extends CoValueClass ? S : CoValueClass>> & CoValueFromRaw>> & (S extends CoreAccountSchema ? AccountClassEssentials : {}); type AccountClassEssentials = { fromRaw: (this: AccountClass, raw: RawAccount) => A; fromNode: (this: AccountClass, node: LocalNode) => A; }; export type AnyCoreCoValueSchema = | CoreCoMapSchema | CoreAccountSchema | CoreGroupSchema | CoreCoRecordSchema | CoreCoListSchema | CoreCoFeedSchema | CoreCoDiscriminatedUnionSchema | CoreCoOptionalSchema | CorePlainTextSchema | CoreRichTextSchema | CoreFileStreamSchema | CoreCoVectorSchema | CoreSnapshotRefSchema; export type AnyZodSchema = z.core.$ZodType; export type AnyZodOrCoValueSchema = AnyZodSchema | CoreCoValueSchema; export type Loaded< T extends CoValueClassOrSchema, // @ts-expect-error R extends ResolveQuery = SchemaResolveQuery, > = Resolved>, R>; export type ResolveQuery = RefsToResolve< LoadedAndRequired> >; export type ResolveQueryStrict< T extends CoValueClassOrSchema, R extends ResolveQuery, > = RefsToResolveStrict< LoadedAndRequired>, R >; export type SchemaResolveQuery = T extends CoreCoValueSchema ? T["resolveQuery"] : true;