MCPcopy Create free account
hub / github.com/nodejs/node / _parse_requirement

Function _parse_requirement

tools/gyp/pylib/packaging/_parser.py:67–85  ·  view source on GitHub ↗

requirement = WS? IDENTIFIER WS? extras WS? requirement_details

(tokenizer: Tokenizer)

Source from the content-addressed store, hash-verified

65
66
67def _parse_requirement(tokenizer: Tokenizer) -> ParsedRequirement:
68 """
69 requirement = WS? IDENTIFIER WS? extras WS? requirement_details
70 """
71 tokenizer.consume("WS")
72
73 name_token = tokenizer.expect(
74 "IDENTIFIER", expected="package name at the start of dependency specifier"
75 )
76 name = name_token.text
77 tokenizer.consume("WS")
78
79 extras = _parse_extras(tokenizer)
80 tokenizer.consume("WS")
81
82 url, specifier, marker = _parse_requirement_details(tokenizer)
83 tokenizer.expect("END", expected="end of dependency specifier")
84
85 return ParsedRequirement(name, url, extras, specifier, marker)
86
87
88def _parse_requirement_details(

Callers 2

parse_requirementFunction · 0.85
__init__Method · 0.85

Calls 5

_parse_extrasFunction · 0.85
ParsedRequirementClass · 0.85
consumeMethod · 0.45
expectMethod · 0.45

Tested by

no test coverage detected