sounisi5011/ts-peg

View on GitHub
src/parser/modifier/matched-text.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Parser, ValueConverter, ValueConverterMetadata } from '../../internal';

export class MatchedTextParser extends ValueConverter<unknown, null, string> {
    constructor(prevParser: Parser<unknown>) {
        super(prevParser, null);
    }

    protected __valueConverter(
        _value: null,
        {
            input,
            offsetStart,
            result: { offsetEnd },
        }: ValueConverterMetadata<unknown>,
    ): string {
        return input.substring(offsetStart, offsetEnd);
    }
}