UNPKG

@stacksjs/dtsx

Version:

A modern, fast .d.ts generation tool, powered by Bun.

126 lines (125 loc) 3.25 kB
/** * Create source map for generated .d.ts content */ export declare function createSourceMap(options: { generatedFile: string sourceFile: string sourceContent?: string sourceRoot?: string mappings: Array<{ generatedLine: number generatedColumn: number originalLine: number originalColumn: number name?: string }> }): SourceMapGenerator; /** * Append source map comment to content */ export declare function appendSourceMapComment(content: string, mapFileName: string): string; /** * Append inline source map to content */ export declare function appendInlineSourceMap(content: string, generator: SourceMapGenerator, includeContent?: boolean): string; /** * Write source map file */ export declare function writeSourceMap(mapPath: string, generator: SourceMapGenerator, includeContent?: boolean): Promise<void>; /** * Read and parse source map file */ export declare function readSourceMap(mapPath: string): Promise<SourceMapConsumer>; /** * Extract source map from content (inline or reference) */ export declare function extractSourceMap(content: string, filePath: string): Promise<SourceMapConsumer | null>; /** * Build source mappings from declaration info */ export declare function buildDeclarationMappings(_generatedContent: string, _declarationInfos: Array<{ name: string generatedStart: number originalLine: number originalColumn: number }>): Array<{ generatedLine: number generatedColumn: number originalLine: number originalColumn: number name: string }>; /** * Source map configuration */ export declare interface SourceMapConfig { sourceMap?: boolean inlineSourceMap?: boolean inlineSources?: boolean sourceRoot?: string mapExtension?: string } /** * Source map v3 format */ export declare interface SourceMapV3 { version: 3 file: string sourceRoot?: string sources: string[] sourcesContent?: (string | null)[] names: string[] mappings: string } /** * Source position */ export declare interface SourcePosition { line: number column: number } /** * Mapping entry */ export declare interface Mapping { generated: SourcePosition original: SourcePosition sourceIndex: number nameIndex?: number } /** * Source map generator */ export declare class SourceMapGenerator { constructor(options: { file: string, sourceRoot?: string }); addSource(source: string, content?: string): number; addName(name: string): number; addMapping(mapping: { generated: SourcePosition original: SourcePosition source: string name?: string }): void; generate(includeContent?: boolean): SourceMapV3; toString(includeContent?: boolean): string; toDataUrl(includeContent?: boolean): string; toComment(includeContent?: boolean): string; } /** * Source map consumer for reading source maps */ export declare class SourceMapConsumer { constructor(map: SourceMapV3 | string); originalPositionFor(generated: SourcePosition): { source: string | null line: number | null column: number | null name: string | null }; generatedPositionFor(original: { source: string line: number column: number }): SourcePosition | null; sourceContentFor(source: string): string | null; }