(state: ParserState)
| 1111 | } |
| 1112 | |
| 1113 | function parseParameters(state: ParserState): Parameters { |
| 1114 | const parameters: Map<string, BareItem> = new Map(); |
| 1115 | |
| 1116 | while (peek(state) === ";") { |
| 1117 | consume(state); // consume ';' |
| 1118 | skipSP(state); |
| 1119 | const key = parseKey(state); |
| 1120 | |
| 1121 | let value: BareItem; |
| 1122 | if (peek(state) === "=") { |
| 1123 | consume(state); // consume '=' |
| 1124 | value = parseBareItem(state); |
| 1125 | } else { |
| 1126 | value = { type: "boolean", value: true }; |
| 1127 | } |
| 1128 | |
| 1129 | parameters.set(key, value); |
| 1130 | } |
| 1131 | |
| 1132 | return parameters; |
| 1133 | } |
| 1134 | |
| 1135 | // ============================================================================= |
| 1136 | // Serialization (RFC 9651 Section 4.1) |
no test coverage detected