UNPKG

@grpc.ts/cli

Version:

CLI package for @grpc.ts to generate typing for TypeScript

51 lines (50 loc) 1.51 kB
import type { IEnum } from 'protobufjs'; import type { Options as TsupOptions } from 'tsup'; interface ITsupConfigProps { engine: 'tsup'; options?: TsupOptions; } export interface IMonorepoOutputProps { packageName: string; workspacePath: string; multiEntries?: boolean; compiler?: ITsupConfigProps; } export interface IConfigProps { output?: string; buildDir?: string; external?: string[]; paths?: string | string[]; monorepo?: IMonorepoOutputProps; } export interface IMessageProps { name: string; type: string; rule?: 'repeated'; optional: boolean; } export type TNamespaceMessage = [string, IMessageProps[]]; export interface IServiceProps { name: string; requestType: string; responseType: string; } export type TNamespaceService = [string, IServiceProps[]]; export type TEnum = IEnum['values']; export type TNamespaceEnum = [string, TEnum[]]; export interface INamespaceDataProps { enums: TNamespaceEnum[]; messages: TNamespaceMessage[]; services: TNamespaceService[]; } export type TParseNamespaceReturn = [string, INamespaceDataProps]; export type TConfigParams = Omit<Required<IConfigProps>, 'monorepo' | 'buildDir'> & Pick<IConfigProps, 'monorepo' | 'buildDir'>; export interface IProtoDataProps { filePath: string; packageName: string; noDependency: boolean; data: INamespaceDataProps; ownedMessages: Record<string, string>; dependencies: Record<string, INamespaceDataProps>; } export {};