importFrom method
Implementation
Parser<ImportFromNode> importFrom() =>
seq4(
ref0(fromToken),
seq2(
ref1(token, '.').star().flatten().map((dots) => dots.length),
ref0(dottedName).optional(),
),
ref0(importToken),
[
ref1(token, '*').map((_) => [const AliasNode(name: '*')]),
seq3(
ref1(token, '('),
ignore(ref0(dottedAsNames)),
ref1(token, ')'),
).map3((_, names, _) => names),
ref0(dottedAsNames),
].toChoiceParser(),
).map4(
(_, moduleSpec, _, names) => ImportFromNode(
module: moduleSpec.$2,
level: moduleSpec.$1,
names: names,
),
);