MCPcopy Create free account
hub / github.com/denoland/std / parserFactory

Function parserFactory

toml/_parser.ts:846–862  ·  view source on GitHub ↗
(parser: ParserComponent<T>)

Source from the content-addressed store, hash-verified

844}
845
846export function parserFactory<T>(parser: ParserComponent<T>) {
847 return (tomlString: string): T => {
848 const scanner = new Scanner(tomlString);
849 try {
850 const result = parser(scanner);
851 if (result.ok && scanner.eof()) return result.body;
852 const message = `Unexpected character: "${scanner.char()}"`;
853 throw new SyntaxError(createParseErrorMessage(scanner, message));
854 } catch (error) {
855 if (error instanceof Error) {
856 throw new SyntaxError(createParseErrorMessage(scanner, error.message));
857 }
858 const message = "Invalid error type caught";
859 throw new SyntaxError(createParseErrorMessage(scanner, message));
860 }
861 };
862}

Callers 2

parseFunction · 0.90
fnFunction · 0.90

Calls 3

eofMethod · 0.95
charMethod · 0.95
createParseErrorMessageFunction · 0.85

Tested by

no test coverage detected