@stacksjs/dtsx
Version:
A modern, fast .d.ts generation tool, powered by Bun.
89 lines • 2 kB
TypeScript
/**
* DtsGenerationConfig
*
* This is the configuration object for the DTS generation process.
*/
export declare interface DtsGenerationConfig {
cwd: string
root: string
entrypoints: string[]
outdir: string
keepComments: boolean
clean: boolean
tsconfigPath: string
verbose: boolean | string[]
outputStructure?: 'mirror' | 'flat'
}
/**
* Declaration
*
* Represents a parsed declaration from TypeScript source
*/
export declare interface Declaration {
kind: 'function' | 'variable' | 'interface' | 'type' | 'class' | 'enum' | 'import' | 'export' | 'module'
name: string
text: string
leadingComments?: string[]
isExported: boolean
isDefault?: boolean
typeAnnotation?: string
modifiers?: string[]
generics?: string
extends?: string
implements?: string[]
members?: Declaration[]
parameters?: ParameterDeclaration[]
returnType?: string
value?: any
source?: string
specifiers?: ImportSpecifier[]
isTypeOnly?: boolean
isAsync?: boolean
isGenerator?: boolean
overloads?: string[]
start?: number
end?: number
}
/**
* ParameterDeclaration
*/
export declare interface ParameterDeclaration {
name: string
type?: string
optional?: boolean
rest?: boolean
defaultValue?: string
}
/**
* ImportSpecifier
*/
export declare interface ImportSpecifier {
name: string
alias?: string
isType?: boolean
}
/**
* ProcessingContext
*
* Context passed through processing pipeline
*/
export declare interface ProcessingContext {
filePath: string
sourceCode: string
declarations: Declaration[]
imports: Map<string, Set<string>>
exports: Set<string>
usedTypes: Set<string>
}
/**
* DtsGenerationOption
*
* This is the configuration object for the DTS generation process.
*/
export type DtsGenerationOption = Partial<DtsGenerationConfig>
/**
* DtsGenerationOptions
*
* This is the configuration object for the DTS generation process.
*/
export type DtsGenerationOptions = DtsGenerationOption | DtsGenerationOption[]