1
0
mirror of synced 2026-08-06 19:46:54 +00:00
Files
music-metadata/lib/common/BasicParser.ts
2024-09-05 20:25:18 +02:00

24 lines
745 B
TypeScript

import type { ITokenizer } from 'strtok3';
import type { ITokenParser } from '../ParserFactory.js';
import type { IOptions, } from '../type.js';
import type { INativeMetadataCollector } from './MetadataCollector.js';
export abstract class BasicParser implements ITokenParser {
/**
* Initialize parser with output (metadata), input (tokenizer) & parsing options (options).
* @param {INativeMetadataCollector} metadata Output
* @param {ITokenizer} tokenizer Input
* @param {IOptions} options Parsing options
*/
constructor(
protected readonly metadata: INativeMetadataCollector,
protected readonly tokenizer: ITokenizer,
protected readonly options: IOptions
) {
}
public abstract parse(): Promise<void>;
}