@bisondesk/core-sdk 1.0.477 → 1.0.478

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/lib/types/internal-events.d.ts +4 -10
  2. package/lib/types/internal-events.d.ts.map +1 -1
  3. package/lib/types/internal-events.js +13 -12
  4. package/lib/types/internal-events.js.map +1 -1
  5. package/lib/types/leasing.d.ts +1 -1
  6. package/lib/types/leasing.d.ts.map +1 -1
  7. package/lib/types/leasing.js.map +1 -1
  8. package/lib/types/marketing.d.ts +2 -1
  9. package/lib/types/marketing.d.ts.map +1 -1
  10. package/lib/types/marketing.js +1 -0
  11. package/lib/types/marketing.js.map +1 -1
  12. package/lib/types/opportunities.d.ts +6 -0
  13. package/lib/types/opportunities.d.ts.map +1 -1
  14. package/lib/types/opportunities.js.map +1 -1
  15. package/lib/types/payments.d.ts +2 -2
  16. package/lib/types/payments.d.ts.map +1 -1
  17. package/lib/types/payments.js.map +1 -1
  18. package/lib/types/users.d.ts +11 -0
  19. package/lib/types/users.d.ts.map +1 -1
  20. package/lib/types/users.js.map +1 -1
  21. package/lib/types/vehicle-performance.d.ts +5 -1
  22. package/lib/types/vehicle-performance.d.ts.map +1 -1
  23. package/lib/types/vehicle-performance.js.map +1 -1
  24. package/lib/types/vehicles.d.ts +3 -2
  25. package/lib/types/vehicles.d.ts.map +1 -1
  26. package/lib/types/vehicles.js.map +1 -1
  27. package/lib/utils/integrations/vehicles.d.ts +2 -0
  28. package/lib/utils/integrations/vehicles.d.ts.map +1 -0
  29. package/lib/utils/integrations/vehicles.js +84 -0
  30. package/lib/utils/integrations/vehicles.js.map +1 -0
  31. package/package.json +1 -1
  32. package/src/types/internal-events.ts +3 -11
  33. package/src/types/leasing.ts +1 -1
  34. package/src/types/marketing.ts +1 -0
  35. package/src/types/opportunities.ts +6 -0
  36. package/src/types/payments.ts +2 -2
  37. package/src/types/users.ts +13 -0
  38. package/src/types/vehicle-performance.ts +9 -1
  39. package/src/types/vehicles.ts +3 -2
  40. package/src/utils/integrations/vehicles.ts +89 -0
  41. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,89 @@
1
+ export const guessDrivingCabFromTitle = (
2
+ title: string
3
+ ): 'Sleep / Large' | 'Sleep / Medium' | 'Day' | undefined => {
4
+ const largeKeywords = [
5
+ 'active space', // Iveco
6
+ 'active time hi-track', // Iveco
7
+ 'as', // Iveco
8
+ 'at hi-track', // Iveco
9
+ 'giga space', // Mercedes-Benz
10
+ 'gigaspace', // Mercedes-Benz
11
+ 'globetrotter xl', // Volvo
12
+ 'gx', // MAN
13
+ 'high cab', // Renault
14
+ 'high cabin', // Renault
15
+ 'high sleeper',
16
+ 'high sleeper', // Renault
17
+ 'highline', // Scania
18
+ 'raised roof sleeper',
19
+ 'ssc', // DAF
20
+ 'super space cab', // DAF
21
+ 'super space cabin', // DAF
22
+ 't high', // Renault
23
+ 'topline', // Scania
24
+ 'vnl', // Volvo
25
+ 'xl', // Volvo
26
+ 'xxl',
27
+ ];
28
+ const midKeywords = [
29
+ 'active time', // Iveco
30
+ 'at cab', // Iveco
31
+ 'at cabin', // Iveco
32
+ 'at hi-land', // Iveco
33
+ 'at high-way', // Iveco
34
+ 'big space', // Mercedes-Benz
35
+ 'bigspace', // Mercedes-Benz
36
+ 'classic space', // Mercedes-Benz
37
+ 'flat roof sleeper',
38
+ 'globetrotter', // Volvo
39
+ 'l-cab',
40
+ 'l-cabin',
41
+ 'low cab',
42
+ 'low cabin',
43
+ 'low roof',
44
+ 'lx', // MAN
45
+ 'm-cab',
46
+ 'm-cabin',
47
+ 'mid-roof sleeper',
48
+ 'sc', // DAF
49
+ 'tm', // MAN
50
+ 'tn', // MAN
51
+ 'gm', // MAN
52
+ 'xlx', // MAN
53
+ 'sleep',
54
+ 'space cab', // DAF
55
+ 'space cabin', // DAF
56
+ 'stream space', // Mercedes-Benz
57
+ 'streamspace', // Mercedes-Benz
58
+ ];
59
+ const dayKeywords = [
60
+ 'active day', // Iveco
61
+ 'ad cab', // Iveco
62
+ 'ad cabin', // Iveco
63
+ 'cc', // MAN
64
+ 'compact space', // Mercedes-Benz
65
+ 'compactspace', // Mercedes-Benz
66
+ 'cp31',
67
+ 'crew',
68
+ 'day cab',
69
+ 'day cabin',
70
+ 'short',
71
+ ];
72
+
73
+ const keywordPattern = (k: string) => new RegExp(`[^a-zA-Z0-9]${k}([^a-zA-Z0-9]|$)`);
74
+
75
+ const largeMatches = largeKeywords.some((keyword) => keywordPattern(keyword).test(title));
76
+ if (largeMatches) {
77
+ return 'Sleep / Large';
78
+ }
79
+
80
+ const midMatches = midKeywords.some((keyword) => keywordPattern(keyword).test(title));
81
+ if (midMatches) {
82
+ return 'Sleep / Medium';
83
+ }
84
+
85
+ const dayMatches = dayKeywords.some((keyword) => keywordPattern(keyword).test(title));
86
+ if (dayMatches) {
87
+ return 'Day';
88
+ }
89
+ };