docs-ts
Version:
Documentation tool for TypeScript packages
50 lines (49 loc) • 1.25 kB
TypeScript
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> {
}