getOrdinals method
Implementation
Map<Field, String> getOrdinals() {
Map<Field, String> ret = <Field, String>{};
skipWhitespaces();
if (peekString() == '[') {
// get ordinals
skipChar('[');
while (_buffer != '' && peekString() != ']') {
// get next ordinal
skipWhitespaces();
String ordinal = getAtom();
Field? ordinalf = Field.fromString(ordinal);
if (ordinalf == null) {
throw ParserException(
'expected valid ordinal name at line $line pos $pos (got "$ordinal")');
}
skipWhitespaces();
skipChar('=');
String value = getAtom();
ret[ordinalf] = value;
skipNewlineAndWhitespaces();
if (peekString() != ']') {
skipChar(',');
skipNewlineAndWhitespaces();
if (peekString() == ']') {
throw ParserException('ordinal expected at line $line pos $pos');
}
}
}
skipChar(']');
}
return ret;
}