Module
x/alosaur/openapi/parser/src/deno-doc.model.ts
Alosaur - Deno web framework with many decorators
Popular
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263export namespace DenoDoc { export interface RootDef { kind: Kind; name: string; location: Location; jsDoc?: JsDoc; classDef: ClassDef; typeAliasDef: TypeAliasDef; variableDef: VariableDef; importDef: ImportDef; interfaceDef: InterfaceDef; enumDef: EnumDef; }
export interface ImportDef { src: string; imported: string; def?: RootDef[]; }
export interface EnumDef { members: EnumMember[]; }
export interface EnumMember { name: string; jsDoc?: JsDoc; }
export type Kind = | "array" | "enum" | "keyword" | "import" | "interface" | "class" | "typeRef" | "function" | "method" | "identifier" | "fnOrConstructor";
export interface TypeAliasDef { tsType: TsType; typeParams: TypeParam[]; }
export interface VariableDef { tsType: TsType; kind: Kind; }
export interface InterfaceDef { extends: any[]; methods: Method[]; properties: Property[]; callSignatures: any[]; indexSignatures: any[]; typeParams: TypeParam[]; }
export interface Location { filename: string; line: number; col: number; }
export interface ClassDef { isAbstract: boolean; constructors: any[]; properties: Property[]; indexSignatures: any[]; methods: Method[]; extends?: any; implements: any[]; typeParams: any[]; superTypeParams: any[]; decorators: DecortorDef[]; }
export interface DecortorDef { name: string; location: Location; }
export interface Method { jsDoc?: JsDoc; accessibility: string; optional: boolean; isAbstract: boolean; isStatic: boolean; name: string; kind: Kind; functionDef: FunctionDef; location: Location; }
export interface FunctionDef { params: Param[]; returnType: ReturnType; isAsync: boolean; isGenerator: boolean; typeParams: TypeParam[]; }
export interface ReturnType { repr: string; kind: Kind; typeRef: TypeRef; array: ArrayDef; keyword: string; union: Union[]; }
export interface Union { repr: string; kind: Kind; typeRef: TypeRef; keyword: string; array: ArrayDef; }
export interface ArrayDef { repr: string; kind: Kind; typeRef: TypeRef; }
export interface TypeRef { typeParams: TypeParam[]; typeName: string; }
export interface TypeParam { name: string; }
export interface Param { kind: Kind; name: string; optional: boolean; tsType: TsType; left: Left; right: string; }
export interface Left { kind: Kind; name: string; optional: boolean; tsType: TsType; }
export interface Property { jsDoc?: JsDoc; tsType: TsType; readonly: boolean; accessibility: string; optional: boolean; isAbstract: boolean; isStatic: boolean; name: string; location: Location; }
export interface TsType { repr: string; kind: Kind; literal: Literal; array: TsType; typeRef: TypeRef; }
export interface Literal { kind: Kind; string: string; }
export interface JsDoc { doc?: string; tags?: JsDocTag[]; }
export type JsDocTagKind = | "callback" | "constructor" | "deprecated" | "enum" | "extends" | "param" | "public" | "private" | "property" | "protected" | "readonly" | "return" | "template" | "this" | "typedef" | "type" | "unsupported";
export type JsDocTag = | JsDocTagOnly | JsDocTagDoc | JsDocTagNamed | JsDocTagTyped | JsDocTagNamedTyped | JsDocTagParam | JsDocTagReturn | JsDocTagUnsupported;
export interface JsDocTagBase { kind: JsDocTagKind; }
export interface JsDocTagOnly extends JsDocTagBase { kind: "constructor" | "public" | "private" | "protected" | "readonly"; }
export interface JsDocTagDoc extends JsDocTagBase { kind: "deprecated"; doc?: string; }
export interface JsDocTagNamed extends JsDocTagBase { kind: "callback" | "template"; name: string; doc?: string; }
export interface JsDocTagTyped extends JsDocTagBase { kind: "enum" | "extends" | "this" | "type"; type: string; doc?: string; }
export interface JsDocTagNamedTyped extends JsDocTagBase { kind: "property" | "typedef"; name: string; type: string; doc?: string; }
export interface JsDocTagParam extends JsDocTagBase { kind: "param"; name: string; type?: string; doc?: string; }
export interface JsDocTagReturn extends JsDocTagBase { kind: "return"; type?: string; doc?: string; }
export interface JsDocTagUnsupported extends JsDocTagBase { kind: "unsupported"; value: string; }}