apisurf
Version:
Analyze API surface changes between npm package versions to catch breaking changes
26 lines (25 loc) • 923 B
TypeScript
/**
* Represents a TypeScript type definition extracted from source code.
*/
export interface TypeDefinition {
/** The name of the type definition */
name: string;
/** The kind of TypeScript construct this represents */
kind: 'interface' | 'type' | 'class' | 'function' | 'variable' | 'enum';
/** For interfaces and classes, maps property names to their type signatures */
properties?: Map<string, string>;
/** For enums, list of member names */
members?: string[];
/** For functions, array of parameter signatures */
parameters?: string[];
/** For functions, the return type signature */
returnType?: string;
/** The complete type signature as a string */
signature?: string;
/** Extended property information with required/optional metadata */
extendedProperties?: Array<{
name: string;
required: boolean;
type?: string;
}>;
}