1
0
mirror of synced 2026-08-07 12:06:55 +00:00
Files

33 lines
924 B
TypeScript
Raw Permalink Normal View History

import type { ITokenizer } from 'strtok3';
2021-12-10 17:01:45 +01:00
2024-08-08 10:19:14 +02:00
import type { ITokenParser } from '../ParserFactory.js';
2024-08-28 15:31:39 +02:00
import type { IOptions, } from '../type.js';
2024-08-08 10:19:14 +02:00
import type { INativeMetadataCollector } from './MetadataCollector.js';
export abstract class BasicParser implements ITokenParser {
protected readonly metadata: INativeMetadataCollector;
protected readonly tokenizer: ITokenizer;
protected readonly options: IOptions;
/**
* Initialize parser with output (metadata), input (tokenizer) & parsing options (options).
* @param {INativeMetadataCollector} metadata Output
* @param {ITokenizer} tokenizer Input
* @param {IOptions} options Parsing options
*/
2024-08-28 15:31:39 +02:00
constructor(
metadata: INativeMetadataCollector,
tokenizer: ITokenizer,
options: IOptions
2024-08-28 15:31:39 +02:00
) {
this.metadata = metadata;
this.tokenizer = tokenizer;
this.options = options;
}
public abstract parse(): Promise<void>;
}