UNPKG

@rightcapital/phpdoc-parser

Version:

TypeScript version of PHPDoc parser with support for intersection types and generics

42 lines (41 loc) 1.66 kB
import type { BaseNode } from '../ast/base-node'; import { GenericTypeNode } from '../ast/type/generic-type-node'; import { IdentifierTypeNode } from '../ast/type/identifier-type-node'; import type { TypeNode } from '../ast/type/type-node'; import type { ConstExprParser } from './const-expr-parser'; import type { TokenIterator } from './token-iterator'; export declare class TypeParser { private constExprParser; private quoteAwareConstExprString; private useLinesAttributes; private useIndexAttributes; constructor(constExprParser?: ConstExprParser | null, quoteAwareConstExprString?: boolean, usedAttributes?: { lines?: boolean; indexes?: boolean; }); parse(tokens: TokenIterator): TypeNode; enrichWithAttributes<T extends BaseNode>(tokens: TokenIterator, type: T, startLine: number, startIndex: number): T; private subParse; private parseAtomic; private parseUnion; private subParseUnion; private parseIntersection; private subParseIntersection; private parseConditional; private parseConditionalForParameter; private parseNullable; isHtml(tokens: TokenIterator): boolean; parseGeneric(tokens: TokenIterator, baseType: IdentifierTypeNode): GenericTypeNode; private parseGenericTypeArgument; private parseCallable; private parseCallableParameter; private parseCallableReturnType; private tryParseCallable; private tryParseArrayOrOffsetAccess; private parseArrayShape; private parseArrayShapeItem; private parseArrayShapeKey; private parseObjectShape; private parseObjectShapeItem; private parseObjectShapeKey; }