jsii-reflect
Version:
strongly-typed reflection library and tools for jsii
41 lines • 1.31 kB
TypeScript
import '@jsii/check-node/run';
import { Documentable } from '../lib';
export interface JsiiQueryOptions {
readonly fileName: string;
readonly expressions: QExpr[];
readonly closure?: boolean;
readonly returnTypes?: boolean;
readonly returnMembers?: boolean;
}
export declare function jsiiQuery(options: JsiiQueryOptions): Promise<ApiElement[]>;
export declare class Predicate {
private readonly fn;
constructor(expr?: string);
apply(context: Record<string, unknown>): boolean;
}
type QExpr = QSelect | QFilter;
/**
* Select adds elements
*/
interface QSelect {
readonly op: 'select';
readonly kind: ApiKind;
readonly expression?: string;
}
/**
* Filter retains elements
*/
interface QFilter {
readonly op: 'filter';
readonly remove: boolean;
readonly kind: ApiKind;
readonly expression?: string;
}
export declare function parseExpression(expr: string): QExpr;
export declare function renderElement(el: ApiElement): string;
export declare function renderDocs(el: ApiElement): string;
declare const VALID_KINDS: readonly ["type", "interface", "class", "enum", "struct", "member", "property", "method", "initializer"];
type ApiKind = (typeof VALID_KINDS)[number];
type ApiElement = Documentable;
export {};
//# sourceMappingURL=jsii-query.d.ts.map