UNPKG

@cucumber/gherkin

Version:
26 lines 3.91 kB
import { GherkinException } from './Errors.js'; export class UnexpectedTokenException extends GherkinException { static create(token, expectedTokenTypes) { const message = `expected: ${expectedTokenTypes.join(', ')}, got '${token .getTokenValue() .trim()}'`; const location = tokenLocation(token); return UnexpectedTokenException._create(message, location); } } export class UnexpectedEOFException extends GherkinException { static create(token, expectedTokenTypes) { const message = `unexpected end of file, expected: ${expectedTokenTypes.join(', ')}`; const location = tokenLocation(token); return UnexpectedEOFException._create(message, location); } } function tokenLocation(token) { return token.location?.line && token.line && token.line.indent !== undefined ? { line: token.location.line, column: token.line.indent + 1, } : token.location; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5FeGNlcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Rva2VuRXhjZXB0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHOUMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFZLEtBQXdCLEVBQUUsa0JBQTRCO1FBQ3BGLE1BQU0sT0FBTyxHQUFHLGFBQWEsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUs7YUFDdEUsYUFBYSxFQUFFO2FBQ2YsSUFBSSxFQUFFLEdBQUcsQ0FBQTtRQUVaLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUVyQyxPQUFPLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDNUQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFZLEtBQXdCLEVBQUUsa0JBQTRCO1FBQ3BGLE1BQU0sT0FBTyxHQUFHLHFDQUFxQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUNwRixNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFckMsT0FBTyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzFELENBQUM7Q0FDRjtBQUVELFNBQVMsYUFBYSxDQUFZLEtBQXdCO0lBQ3hELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTO1FBQzFFLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDekIsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7U0FDOUI7UUFDSCxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQTtBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2hlcmtpbkV4Y2VwdGlvbiB9IGZyb20gJy4vRXJyb3JzLmpzJ1xuaW1wb3J0IHR5cGUgSVRva2VuIGZyb20gJy4vSVRva2VuLmpzJ1xuXG5leHBvcnQgY2xhc3MgVW5leHBlY3RlZFRva2VuRXhjZXB0aW9uIGV4dGVuZHMgR2hlcmtpbkV4Y2VwdGlvbiB7XG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlPFRva2VuVHlwZT4odG9rZW46IElUb2tlbjxUb2tlblR5cGU+LCBleHBlY3RlZFRva2VuVHlwZXM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGBleHBlY3RlZDogJHtleHBlY3RlZFRva2VuVHlwZXMuam9pbignLCAnKX0sIGdvdCAnJHt0b2tlblxuICAgICAgLmdldFRva2VuVmFsdWUoKVxuICAgICAgLnRyaW0oKX0nYFxuXG4gICAgY29uc3QgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKHRva2VuKVxuXG4gICAgcmV0dXJuIFVuZXhwZWN0ZWRUb2tlbkV4Y2VwdGlvbi5fY3JlYXRlKG1lc3NhZ2UsIGxvY2F0aW9uKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmV4cGVjdGVkRU9GRXhjZXB0aW9uIGV4dGVuZHMgR2hlcmtpbkV4Y2VwdGlvbiB7XG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlPFRva2VuVHlwZT4odG9rZW46IElUb2tlbjxUb2tlblR5cGU+LCBleHBlY3RlZFRva2VuVHlwZXM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlLCBleHBlY3RlZDogJHtleHBlY3RlZFRva2VuVHlwZXMuam9pbignLCAnKX1gXG4gICAgY29uc3QgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKHRva2VuKVxuXG4gICAgcmV0dXJuIFVuZXhwZWN0ZWRFT0ZFeGNlcHRpb24uX2NyZWF0ZShtZXNzYWdlLCBsb2NhdGlvbilcbiAgfVxufVxuXG5mdW5jdGlvbiB0b2tlbkxvY2F0aW9uPFRva2VuVHlwZT4odG9rZW46IElUb2tlbjxUb2tlblR5cGU+KSB7XG4gIHJldHVybiB0b2tlbi5sb2NhdGlvbj8ubGluZSAmJiB0b2tlbi5saW5lICYmIHRva2VuLmxpbmUuaW5kZW50ICE9PSB1bmRlZmluZWRcbiAgICA/IHtcbiAgICAgICAgbGluZTogdG9rZW4ubG9jYXRpb24ubGluZSxcbiAgICAgICAgY29sdW1uOiB0b2tlbi5saW5lLmluZGVudCArIDEsXG4gICAgICB9XG4gICAgOiB0b2tlbi5sb2NhdGlvblxufVxuIl19