typeParamItem method
Implementation
Parser<TypeParamNode> typeParamItem() => [
seq2(
ref1(token, '**'),
ref0(identifier),
).map2((_, id) => ParamSpecNode(id)),
seq2(
ref1(token, '*'),
ref0(identifier),
).map2((_, id) => TypeVarTupleNode(id)),
seq3(
ref0(identifier),
seq2(
ref1(token, ':'),
ref0(singleExpression),
).map2((_, e) => e).optional(),
seq2(
ref0(assignToken),
ref0(singleExpression),
).map2((_, e) => e).optional(),
).map3(
(name, bound, defVal) =>
TypeVarParamNode(name, bound: bound, defaultValue: defVal),
),
].toChoiceParser();