UNPKG

docs-ts

Version:

Documentation tool for TypeScript packages

50 lines (49 loc) 1.25 kB
import * as RTE from 'fp-ts/ReaderTaskEither'; import * as TaskEither from 'fp-ts/TaskEither'; import * as ast from 'ts-morph'; import * as Config from './Config'; import { File, FileSystem } from './FileSystem'; import { Logger } from './Logger'; /** * @category main * @since 0.6.0 */ export declare const main: Program<void>; /** * @category model * @since 0.6.0 */ export interface Capabilities { /** * Executes a command like: * * ```sh * ts-node examples/index.ts * ``` * * where `command = ts-node` and `executable = examples/index.ts` */ readonly spawn: (command: string, executable: string) => TaskEither.TaskEither<string, void>; readonly fileSystem: FileSystem; readonly logger: Logger; readonly addFile: (file: File) => (project: ast.Project) => void; } /** * @category model * @since 0.6.0 */ export interface Program<A> extends RTE.ReaderTaskEither<Capabilities, string, A> { } /** * @category model * @since 0.6.0 */ export interface EnvironmentWithConfig extends Capabilities { readonly config: Config.Config; } /** * @category model * @since 0.6.0 */ export interface ProgramWithConfig<A> extends RTE.ReaderTaskEither<EnvironmentWithConfig, string, A> { }