@azure-tools/typespec-apiview
Version:
Library for emitting APIView token files from TypeSpec
21 lines • 1.6 kB
TypeScript
import { Namespace, Program } from "@typespec/compiler";
import { AliasStatementNode, ModelStatementNode, OperationStatementNode, InterfaceStatementNode, EnumStatementNode, NamespaceStatementNode, ModelExpressionNode, IntersectionExpressionNode, SyntaxKind, BaseNode, UnionStatementNode, UnionExpressionNode, AugmentDecoratorStatementNode, ScalarStatementNode, JsNamespaceDeclarationNode, ObjectLiteralNode, ConstStatementNode } from "@typespec/compiler/ast";
export declare class NamespaceModel {
kind: SyntaxKind;
name: string;
node: NamespaceStatementNode | JsNamespaceDeclarationNode;
operations: Map<string, OperationStatementNode | InterfaceStatementNode>;
resources: Map<string, AliasStatementNode | ModelStatementNode | ModelExpressionNode | IntersectionExpressionNode | EnumStatementNode | ScalarStatementNode | UnionStatementNode | UnionExpressionNode | ObjectLiteralNode>;
models: Map<string, ModelStatementNode | ModelExpressionNode | IntersectionExpressionNode | EnumStatementNode | ScalarStatementNode | UnionStatementNode | UnionExpressionNode | ObjectLiteralNode>;
aliases: Map<string, AliasStatementNode>;
augmentDecorators: AugmentDecoratorStatementNode[];
constants: ConstStatementNode[];
constructor(name: string, ns: Namespace, program: Program);
/**
* Don't emit an empty namespace
* @returns true if there are models, resources or operations
*/
shouldEmit(): boolean;
}
export declare function generateId(obj: BaseNode | NamespaceModel | undefined): string | undefined;
//# sourceMappingURL=namespace-model.d.ts.map