-
Notifications
You must be signed in to change notification settings - Fork 150
/
factory.ts
59 lines (58 loc) · 2.23 KB
/
factory.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import HapoalimScraper from './hapoalim';
import OtsarHahayalScraper from './otsar-hahayal';
import LeumiScraper from './leumi';
import DiscountScraper from './discount';
import MaxScraper from './max';
import VisaCalScraper from './visa-cal';
import IsracardScraper from './isracard';
import AmexScraper from './amex';
import MizrahiScraper from './mizrahi';
import UnionBankScraper from './union-bank';
import BeinleumiScraper from './beinleumi';
import MassadScraper from './massad';
import YahavScraper from './yahav';
import { ScaperOptions } from './base-scraper';
import { CompanyTypes } from '../definitions';
import BeyahadBishvilhaScraper from './beyahad-bishvilha';
export default function createScraper(options: ScaperOptions) {
switch (options.companyId) {
case CompanyTypes.hapoalim:
return new HapoalimScraper(options);
case CompanyTypes.hapoalimBeOnline:
// eslint-disable-next-line no-console
console.warn("hapoalimBeOnline is deprecated, use 'hapoalim' instead");
return new HapoalimScraper(options);
case CompanyTypes.leumi:
return new LeumiScraper(options);
case CompanyTypes.beyahadBishvilha:
return new BeyahadBishvilhaScraper(options);
case CompanyTypes.mizrahi:
return new MizrahiScraper(options);
case CompanyTypes.discount:
return new DiscountScraper(options);
case CompanyTypes.otsarHahayal:
return new OtsarHahayalScraper(options);
case CompanyTypes.visaCal:
return new VisaCalScraper(options);
case CompanyTypes.leumiCard:
// eslint-disable-next-line no-console
console.warn("leumiCard is deprecated, use 'max' instead");
return new MaxScraper(options);
case CompanyTypes.max:
return new MaxScraper(options);
case CompanyTypes.isracard:
return new IsracardScraper(options);
case CompanyTypes.amex:
return new AmexScraper(options);
case CompanyTypes.union:
return new UnionBankScraper(options);
case CompanyTypes.beinleumi:
return new BeinleumiScraper(options);
case CompanyTypes.massad:
return new MassadScraper(options);
case CompanyTypes.yahav:
return new YahavScraper(options);
default:
throw new Error(`unknown company id ${options.companyId}`);
}
}