* Creates a parser from the provided type. * @template {string} T * @param {T} type type * @param {ParserOptions} parserOptions parser options * @returns {ParserByType[T]} parser
(type, parserOptions = {})
| 1444 | * @returns {ParserByType[T]} parser |
| 1445 | */ |
| 1446 | createParser(type, parserOptions = {}) { |
| 1447 | parserOptions = mergeGlobalOptions( |
| 1448 | this._globalParserOptions, |
| 1449 | type, |
| 1450 | parserOptions |
| 1451 | ); |
| 1452 | const parser = this.hooks.createParser.for(type).call(parserOptions); |
| 1453 | if (!parser) { |
| 1454 | throw new Error(`No parser registered for ${type}`); |
| 1455 | } |
| 1456 | this.hooks.parser.for(type).call(parser, parserOptions); |
| 1457 | return /** @type {ParserByType[T]} */ (parser); |
| 1458 | } |
| 1459 | |
| 1460 | /** |
| 1461 | * Returns generator. |
no test coverage detected