UNPKG

@prisma/language-server

Version:
31 lines (30 loc) 1.31 kB
import { Position, Range } from 'vscode-languageserver'; import { BlockType } from '../types'; import { PrismaSchema, SchemaDocument } from '../Schema'; export interface Block { type: BlockType; range: Range; nameRange: Range; name: string; definingDocument: SchemaDocument; } export declare function getBlocks(schema: PrismaSchema): Generator<Block, void, void>; export declare function getDatamodelBlock(blockName: string, schema: PrismaSchema): Block | void; export declare function getFieldsFromCurrentBlock(schema: PrismaSchema, block: Block, position?: Position): string[]; export type FoundLocation = { document: SchemaDocument; lineIndex: number; }; export type RenameFieldLocation = { fieldName: string; locations: FoundLocation[]; }; export declare function getFieldTypesFromCurrentBlock(schema: PrismaSchema, block: Block, position?: Position): { fieldTypes: Map<string, RenameFieldLocation>; fieldTypeNames: Record<string, string>; }; export declare function getCompositeTypeFieldsRecursively(schema: PrismaSchema, compositeTypeFieldNames: string[], fieldTypesFromBlock: { fieldTypes: Map<string, RenameFieldLocation>; fieldTypeNames: Record<string, string>; }): string[]; export declare const getDocumentationForBlock: (block: Block) => string[];