pinkmine/libs/event-emitter/src/subjects-parser/subjects-parser.ts
Pavel Gnedov 3876a60eb2 init
2022-04-07 10:01:56 +07:00

17 lines
No EOL
431 B
TypeScript

export class SubjectsParser {
constructor(private parser: (string) => number) {}
getIssueNumber(subject: string): number {
return this.parser(subject)
}
}
export function CreateSubjectsParserByRegExp(regexp: RegExp): SubjectsParser {
const parser = (subject: string): number => {
const res = subject.match(regexp)
return res && res.length > 0 ? Number(res[0]) : -1;
}
return new SubjectsParser(parser)
}