@stacksjs/dtsx
Version:
A modern, fast .d.ts generation tool, powered by Bun.
51 lines (50 loc) • 1.68 kB
TypeScript
import type { Declaration } from './types';
/**
* Convert declarations to JSON Schema
*/
export declare function toJsonSchema(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
* Convert declarations to Zod schema
*/
export declare function toZod(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
* Convert declarations to Valibot schema
*/
export declare function toValibot(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
* Convert declarations to io-ts codec
*/
export declare function toIoTs(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
* Convert declarations to Yup schema
*/
export declare function toYup(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
* Convert declarations to ArkType schema
*/
export declare function toArkType(declarations: Declaration[], options?: Partial<FormatOptions>): string;
/**
* Convert declarations to the specified format
*/
export declare function convertToFormat(declarations: Declaration[], options: FormatOptions): string;
/**
* Get file extension for output format
*/
export declare function getFormatExtension(format: OutputFormat): string;
/**
* Options for format conversion
*/
export declare interface FormatOptions {
format: OutputFormat
includeSchema?: boolean
jsonSchemaDraft?: '2020-12' | '2019-09' | 'draft-07'
allOptional?: boolean
includeDescriptions?: boolean
indent?: number
exportName?: string
useInfer?: boolean
}
/**
* Supported output formats
*/
export type OutputFormat = 'dts' | 'json-schema' | 'zod' | 'io-ts' | 'yup' | 'valibot' | 'arktype';