single-source-of-truth
Version:
Use Zod schemas to your generate Prisma schema
61 lines • 1.77 kB
TypeScript
export declare namespace Standard {
interface Schema {
enums: Enum[];
models: Model[];
}
interface Enum {
name: string;
values: Enum.Value[];
}
namespace Enum {
interface Value {
name: string;
}
}
interface Model {
name: string;
fields: Model.Field[];
attributes: Model.Attributes;
}
namespace Model {
interface Attributes {
id?: string[];
unique?: string[][];
}
type Field = Field.Enum | Field.Scalar | Field.Object;
namespace Field {
export interface Attributes {
id?: boolean;
unique?: boolean;
updatedAt?: boolean;
nullable?: boolean;
list?: boolean;
name?: string;
references?: [string, string][];
}
interface Base {
name: string;
attributes: Attributes;
}
export interface Scalar extends Base {
kind: 'scalar';
type: Scalar.Type;
}
export namespace Scalar {
type Type = 'string' | 'integer' | 'float' | 'boolean' | 'date' | 'bigint' | 'object';
}
export interface Enum extends Base {
kind: 'enum';
type: string;
}
export interface Object extends Base {
kind: 'object';
type: string;
}
export type Kind = 'scalar' | 'enum' | 'object';
export type Type = Scalar.Type | (string & {});
export {};
}
}
}
//# sourceMappingURL=standard.d.ts.map