UNPKG

@patchworkdev/pdk

Version:

Patchwork Development Kit

53 lines 1.81 kB
export declare function onchainTable(tableName: string, tableDefinition: (t: TableBuilder) => Record<string, ChainableTableFieldDefinition>): any; export declare function relations(table: any, relationDefinition: (builders: RelationBuilder) => Record<string, Relation>): { type: "relations"; _tableName: any; readonly _relations: Record<string, Relation>; }; type FieldType = 'bigint' | 'int' | 'hex' | 'boolean' | 'string' | 'many' | 'one'; export type FieldDefinition = { type: FieldType; primaryKey?: boolean; reference?: string; isOptional?: boolean; relatedModel?: string; joinField?: string; }; type ChainableTableFieldDefinition = { notNull: () => ChainableTableFieldDefinition; primaryKey: () => ChainableTableFieldDefinition; _build: () => FieldDefinition; }; interface TableBuilder { text: () => ChainableTableFieldDefinition; hex: () => ChainableTableFieldDefinition; bigint: () => ChainableTableFieldDefinition; integer: () => ChainableTableFieldDefinition; } type Relation = { fields: any[]; references?: any[]; relationName?: string; relatedTable: any; type: 'one' | 'many'; }; type RelationBuilder = { one: (relatedTable: any, config: Omit<Relation, 'type' | 'relatedTable'>) => Relation; many: (relatedTable: any, config?: Partial<Omit<Relation, 'type' | 'relatedTable'>>) => Relation; }; export type TableDefinition = { type: 'table'; _tableName: string; _columns: string[]; _schema: Record<string, FieldDefinition>; }; export type TableRelations = { type: 'relations'; _tableName: string; _relations: Record<string, Relation>; }; export type SchemaModule = { [K in string]: TableDefinition | TableRelations; }; export {}; //# sourceMappingURL=ponderSchemaMock.d.ts.map