Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Reader<T extends Formatter> {
- datasource: Array<any>
- constructor(datasource: Array<any>) {
- this.datasource = datasource
- }
- read(id: number) {
- const data = this.datasource[id]
- if (!data) {
- throw new Error(`${id} was not found.`)
- }
- return this.format(data)
- }
- format(data: any): T {
- return new Formatter(data) as T;
- }
- }
- class WidgetReader extends Reader<WidgetFormatter> {
- format(data: any): WidgetFormatter {
- return new WidgetFormatter(data)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement