MCPcopy
hub / github.com/jquery/esprima / parsePattern

Method parsePattern

src/parser.ts:1989–2005  ·  view source on GitHub ↗
(params, kind?: string)

Source from the content-addressed store, hash-verified

1987 }
1988
1989 parsePattern(params, kind?: string): Node.BindingIdentifier | Node.BindingPattern {
1990 let pattern;
1991
1992 if (this.match('[')) {
1993 pattern = this.parseArrayPattern(params, kind);
1994 } else if (this.match('{')) {
1995 pattern = this.parseObjectPattern(params, kind);
1996 } else {
1997 if (this.matchKeyword('let') && (kind === 'const' || kind === 'let')) {
1998 this.tolerateUnexpectedToken(this.lookahead, Messages.LetInLexicalBinding);
1999 }
2000 params.push(this.lookahead);
2001 pattern = this.parseVariableIdentifier(kind);
2002 }
2003
2004 return pattern;
2005 }
2006
2007 parsePatternWithDefault(params, kind?: string): Node.AssignmentPattern | Node.BindingIdentifier | Node.BindingPattern {
2008 const startToken = this.lookahead;

Callers 6

parseLexicalBindingMethod · 0.95
parseCatchClauseMethod · 0.95
parseRestElementMethod · 0.95

Calls 7

matchMethod · 0.95
parseArrayPatternMethod · 0.95
parseObjectPatternMethod · 0.95
matchKeywordMethod · 0.95
pushMethod · 0.80

Tested by

no test coverage detected