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

Function basicString

toml/_parser.ts:463–487  ·  view source on GitHub ↗
(scanner: Scanner)

Source from the content-addressed store, hash-verified

461}
462
463export function basicString(scanner: Scanner): ParseResult<string> {
464 scanner.skipWhitespaces();
465 if (scanner.char() !== '"') return failure();
466 scanner.next();
467 const acc = [];
468 while (scanner.char() !== '"' && !scanner.eof()) {
469 if (scanner.char() === "\n") {
470 throw new SyntaxError("Single-line string cannot contain EOL");
471 }
472 const escapedChar = escapeSequence(scanner);
473 if (escapedChar.ok) {
474 acc.push(escapedChar.body);
475 } else {
476 acc.push(scanner.char());
477 scanner.next();
478 }
479 }
480 if (scanner.eof()) {
481 throw new SyntaxError(
482 `Single-line string is not closed:\n${acc.join("")}`,
483 );
484 }
485 scanner.next(); // skip last '""
486 return success(acc.join(""));
487}
488
489export function literalString(scanner: Scanner): ParseResult<string> {
490 scanner.skipWhitespaces();

Callers

nothing calls this directly

Calls 8

failureFunction · 0.85
escapeSequenceFunction · 0.85
successFunction · 0.85
charMethod · 0.80
skipWhitespacesMethod · 0.45
nextMethod · 0.45
eofMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected