@driveflux/api-functions 0.0.6 → 0.0.7-next.1

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 (53) hide show
  1. package/dist/auth/confirm.js +73 -327
  2. package/dist/auth/emails.js +43 -210
  3. package/dist/auth/formatter.js +11 -11
  4. package/dist/auth/otp.js +122 -392
  5. package/dist/auth/register.js +100 -396
  6. package/dist/auth/tokens.d.ts +3 -3
  7. package/dist/auth/tokens.js +115 -430
  8. package/dist/auth/verifications.d.ts.map +1 -1
  9. package/dist/auth/verifications.js +191 -514
  10. package/dist/auth/verifications.js.map +1 -1
  11. package/dist/constants.js +5 -4
  12. package/dist/mailjet/calls/manage-contacts-in-list.js +22 -166
  13. package/dist/mailjet/calls/manage-subscription-status.js +13 -153
  14. package/dist/mailjet/calls/request-service.d.ts +1 -1
  15. package/dist/mailjet/calls/request-service.d.ts.map +1 -1
  16. package/dist/mailjet/calls/request-service.js +18 -183
  17. package/dist/mailjet/refresh-email-preferences.js +26 -225
  18. package/dist/mailjet/set-contact.js +23 -214
  19. package/dist/mailjet/types.js +2 -1
  20. package/dist/mailjet/utils/convert-to-array.js +9 -58
  21. package/dist/mailjet/utils/extract-email-preferences.js +41 -217
  22. package/dist/mailjet/utils/lists.js +30 -249
  23. package/dist/mailjet/utils/update-email-references.js +27 -208
  24. package/dist/notion/client.js +48 -197
  25. package/dist/notion/helpful.js +29 -170
  26. package/dist/notion/schemas/block.js +49 -43
  27. package/dist/notion/schemas/common.js +17 -14
  28. package/dist/notion/schemas/database.js +125 -159
  29. package/dist/notion/schemas/emoji.js +3 -2
  30. package/dist/notion/schemas/file.js +10 -10
  31. package/dist/notion/schemas/kb.js +9 -8
  32. package/dist/notion/schemas/page.js +126 -171
  33. package/dist/notion/schemas/parent.js +9 -8
  34. package/dist/notion/schemas/user.js +21 -20
  35. package/dist/reservation/agree.js +19 -158
  36. package/dist/reservation/checks.js +23 -178
  37. package/dist/reservation/display-vehicle.d.ts +37 -37
  38. package/dist/reservation/display-vehicle.d.ts.map +1 -1
  39. package/dist/reservation/display-vehicle.js +142 -514
  40. package/dist/reservation/fetch-or-create.js +197 -482
  41. package/dist/reservation/invoice.js +198 -496
  42. package/dist/reservation/payer.js +28 -177
  43. package/dist/reservation/reserve.js +31 -191
  44. package/dist/reservation/types.js +2 -1
  45. package/dist/reservation/vehicle.js +24 -186
  46. package/dist/slack.d.ts +2 -2
  47. package/dist/slack.d.ts.map +1 -1
  48. package/dist/slack.js +67 -273
  49. package/dist/validation.js +81 -139
  50. package/dist/vehicle/vehicle-pricing/constants.js +33 -36
  51. package/dist/vehicle/vehicle-pricing/index.js +99 -257
  52. package/dist/vehicle/vehicle-pricing/types.js +2 -1
  53. package/package.json +12 -12
@@ -1,25 +1,20 @@
1
- var DEFAUALT_MILEAGE_MATRIX = {
2
- lite: 0,
3
- standard: 0,
4
- plus: 0,
5
- unlimited: 0
6
- };
7
- export var DEFAULT_MATRIX = {
1
+ const DEFAUALT_MILEAGE_MATRIX = { lite: 0, standard: 0, plus: 0, unlimited: 0 };
2
+ export const DEFAULT_MATRIX = {
8
3
  plan1: DEFAUALT_MILEAGE_MATRIX,
9
4
  plan12: DEFAUALT_MILEAGE_MATRIX,
10
5
  plan24: DEFAUALT_MILEAGE_MATRIX,
11
6
  plan36: DEFAUALT_MILEAGE_MATRIX,
12
7
  plan60: DEFAUALT_MILEAGE_MATRIX,
13
- planWeekly: DEFAUALT_MILEAGE_MATRIX
8
+ planWeekly: DEFAUALT_MILEAGE_MATRIX,
14
9
  };
15
- export var FLUX_MIN_TAKE = 200;
16
- var EMPTY_MILEAGE_PACKAGES = {
10
+ export const FLUX_MIN_TAKE = 200;
11
+ const EMPTY_MILEAGE_PACKAGES = {
17
12
  lite: 0,
18
13
  standard: 0,
19
14
  plus: 0,
20
- unlimited: 0
15
+ unlimited: 0,
21
16
  };
22
- export var EMPTY_FLUX_PRICING_MATRIX_CONTROLLER = {
17
+ export const EMPTY_FLUX_PRICING_MATRIX_CONTROLLER = {
23
18
  plan60: 0,
24
19
  plan36: 0,
25
20
  plan24: 0,
@@ -27,17 +22,17 @@ export var EMPTY_FLUX_PRICING_MATRIX_CONTROLLER = {
27
22
  plan1: 0,
28
23
  planWeekly: 0,
29
24
  add: EMPTY_MILEAGE_PACKAGES,
30
- excessMileage: 0
25
+ excessMileage: 0,
31
26
  };
32
- export var EMPTY_FLUX_START_FEE_MATRIX_CONTROLLER = {
27
+ export const EMPTY_FLUX_START_FEE_MATRIX_CONTROLLER = {
33
28
  plan60: EMPTY_MILEAGE_PACKAGES,
34
29
  plan36: EMPTY_MILEAGE_PACKAGES,
35
30
  plan24: EMPTY_MILEAGE_PACKAGES,
36
31
  plan12: EMPTY_MILEAGE_PACKAGES,
37
32
  plan1: EMPTY_MILEAGE_PACKAGES,
38
- planWeekly: EMPTY_MILEAGE_PACKAGES
33
+ planWeekly: EMPTY_MILEAGE_PACKAGES,
39
34
  };
40
- export var EMPTY_ULTRA_TIERS = {
35
+ export const EMPTY_ULTRA_TIERS = {
41
36
  tier1: 0,
42
37
  tier2: 0,
43
38
  tier3: 0,
@@ -52,59 +47,60 @@ export var EMPTY_ULTRA_TIERS = {
52
47
  tier12: 0,
53
48
  tier13: 0,
54
49
  tier14: 0,
55
- tier15: 0
50
+ tier15: 0,
56
51
  };
57
- export var EMPTY_MATRIX = {
52
+ export const EMPTY_MATRIX = {
58
53
  plan60: EMPTY_MILEAGE_PACKAGES,
59
54
  plan36: EMPTY_MILEAGE_PACKAGES,
60
55
  plan24: EMPTY_MILEAGE_PACKAGES,
61
56
  plan12: EMPTY_MILEAGE_PACKAGES,
62
57
  plan1: EMPTY_MILEAGE_PACKAGES,
63
- planWeekly: EMPTY_MILEAGE_PACKAGES
58
+ planWeekly: EMPTY_MILEAGE_PACKAGES,
64
59
  };
65
60
  /**
66
61
  * Matrix representing the dealership's take in percentages
67
62
  *
68
63
  * @see https://docs.google.com/spreadsheets/d/1lYYMdQgnzG53lCGf_dKJY9pEue5suJuo3O3-zegIOT0/edit#gid=819271234
69
- */ export var HOST_MATRIX_COEFFICIENTS = {
64
+ */
65
+ export const HOST_MATRIX_COEFFICIENTS = {
70
66
  plan60: {
71
67
  lite: 0.8,
72
68
  standard: 0.9,
73
69
  plus: 1,
74
- unlimited: 1.25
70
+ unlimited: 1.25,
75
71
  },
76
72
  plan36: {
77
73
  lite: 1,
78
74
  standard: 1.1,
79
75
  plus: 1.2,
80
- unlimited: 1.45
76
+ unlimited: 1.45,
81
77
  },
82
78
  plan24: {
83
79
  lite: 1.1,
84
80
  standard: 1.2,
85
81
  plus: 1.3,
86
- unlimited: 1.55
82
+ unlimited: 1.55,
87
83
  },
88
84
  plan12: {
89
85
  lite: 1.2,
90
86
  standard: 1.3,
91
87
  plus: 1.4,
92
- unlimited: 1.65
88
+ unlimited: 1.65,
93
89
  },
94
90
  plan1: {
95
91
  lite: 0,
96
92
  standard: 0,
97
93
  plus: 0,
98
- unlimited: 0
94
+ unlimited: 0,
99
95
  },
100
96
  planWeekly: {
101
97
  lite: 0,
102
98
  standard: 0,
103
99
  plus: 0,
104
- unlimited: 0
105
- }
100
+ unlimited: 0,
101
+ },
106
102
  };
107
- export var ULTRA_HOST_TIERS_PRICING = {
103
+ export const ULTRA_HOST_TIERS_PRICING = {
108
104
  tier1: 800,
109
105
  tier2: 1000,
110
106
  tier3: 1100,
@@ -119,9 +115,9 @@ export var ULTRA_HOST_TIERS_PRICING = {
119
115
  tier12: 8500,
120
116
  tier13: 10500,
121
117
  tier14: 12800,
122
- tier15: 15000
118
+ tier15: 15000,
123
119
  };
124
- export var ULTRA_FLUX_TIERS_PRICING = {
120
+ export const ULTRA_FLUX_TIERS_PRICING = {
125
121
  tier1: 999,
126
122
  tier2: 1199,
127
123
  tier3: 1399,
@@ -136,10 +132,11 @@ export var ULTRA_FLUX_TIERS_PRICING = {
136
132
  tier12: 9999,
137
133
  tier13: 12599,
138
134
  tier14: 14999,
139
- tier15: 17999
135
+ tier15: 17999,
140
136
  };
141
- export var HOST_EXCESS_MILEAGE_COEFFICIENT = 0.00048;
142
- export var MAX_HOST_EXCESS_MILEAGE = 4;
143
- export var MIN_HOST_EXCESS_MILEAGE = 0.52;
144
- export var MAX_FLUX_EXCESS_MILEAGE = 5;
145
- export var MIN_FLUX_EXCESS_MILEAGE = 0.65;
137
+ export const HOST_EXCESS_MILEAGE_COEFFICIENT = 0.00048;
138
+ export const MAX_HOST_EXCESS_MILEAGE = 4;
139
+ export const MIN_HOST_EXCESS_MILEAGE = 0.52;
140
+ export const MAX_FLUX_EXCESS_MILEAGE = 5;
141
+ export const MIN_FLUX_EXCESS_MILEAGE = 0.65;
142
+ //# sourceMappingURL=constants.js.map
@@ -5,120 +5,55 @@ import cloneDeep from 'lodash/cloneDeep';
5
5
  import { EMPTY_MATRIX } from './constants';
6
6
  /**
7
7
  * This is a last moment feature the CEO asked for and was not properly designed
8
- */ export var getRecommendedMotorcycleDeposit = function(baseline) {
8
+ */
9
+ export const getRecommendedMotorcycleDeposit = (baseline) => {
9
10
  return Math.max(Math.min(baseline * 5, 1500), 1000);
10
11
  };
11
- export var getHostsMatrix = function(pricingData, baseline, tier, flatPricing) {
12
+ export const getHostsMatrix = (pricingData, baseline, tier, flatPricing) => {
12
13
  // Let's not mutate percentages
13
- var newMatrix = cloneDeep(pricingData.hostEarnings.matrixCoefficients);
14
- var baseCoefficients = cloneDeep(newMatrix.plan36);
15
- var plans = Object.keys(newMatrix);
16
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
17
- try {
18
- for(var _iterator = plans[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
19
- var plan = _step.value;
20
- var mileagePackages = Object.keys(newMatrix[plan]);
21
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
22
- try {
23
- for(var _iterator1 = mileagePackages[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
24
- var mileagePackage = _step1.value;
25
- if (plan === 'plan1') {
26
- if (tier === 'tierCustom') {
27
- newMatrix[plan][mileagePackage] = 0;
28
- continue;
29
- }
30
- newMatrix[plan][mileagePackage] = Number(pricingData.hostEarnings.ultraTiers[tier]);
31
- continue;
32
- }
33
- newMatrix[plan][mileagePackage] = round(baseline * (flatPricing ? baseCoefficients[mileagePackage] : newMatrix[plan][mileagePackage]));
14
+ const newMatrix = cloneDeep(pricingData.hostEarnings.matrixCoefficients);
15
+ const baseCoefficients = cloneDeep(newMatrix.plan36);
16
+ const plans = Object.keys(newMatrix);
17
+ for (const plan of plans) {
18
+ const mileagePackages = Object.keys(newMatrix[plan]);
19
+ for (const mileagePackage of mileagePackages) {
20
+ if (plan === 'plan1') {
21
+ if (tier === 'tierCustom') {
22
+ newMatrix[plan][mileagePackage] = 0;
23
+ continue;
34
24
  }
35
- } catch (err) {
36
- _didIteratorError1 = true;
37
- _iteratorError1 = err;
38
- } finally{
39
- try {
40
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
41
- _iterator1.return();
42
- }
43
- } finally{
44
- if (_didIteratorError1) {
45
- throw _iteratorError1;
46
- }
47
- }
48
- }
49
- }
50
- } catch (err) {
51
- _didIteratorError = true;
52
- _iteratorError = err;
53
- } finally{
54
- try {
55
- if (!_iteratorNormalCompletion && _iterator.return != null) {
56
- _iterator.return();
57
- }
58
- } finally{
59
- if (_didIteratorError) {
60
- throw _iteratorError;
25
+ newMatrix[plan][mileagePackage] = Number(pricingData.hostEarnings.ultraTiers[tier]);
26
+ continue;
61
27
  }
28
+ newMatrix[plan][mileagePackage] = round(baseline *
29
+ (flatPricing
30
+ ? baseCoefficients[mileagePackage]
31
+ : newMatrix[plan][mileagePackage]));
62
32
  }
63
33
  }
64
34
  return sortMatrix(newMatrix);
65
35
  };
66
- export var getHostExcessMileage = function(pricingData, baseline) {
36
+ export const getHostExcessMileage = (pricingData, baseline) => {
67
37
  return decimals(Math.max(Math.min(baseline * pricingData.hostEarnings.excessMileage.coefficient, pricingData.hostEarnings.excessMileage.upperBound), pricingData.hostEarnings.excessMileage.lowerBound));
68
38
  };
69
- export var getEmptyMatrix = function() {
39
+ export const getEmptyMatrix = () => {
70
40
  return cloneDeep(EMPTY_MATRIX);
71
41
  };
72
- export var sortMatrix = function(unorderedMatrix) {
73
- var ordered = {};
74
- var plans = getVehicleDataVariant(PLANS, 'car');
75
- var mileagePackages = getVehicleDataVariant(MILEAGE_PACKAGES, 'car');
76
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
77
- try {
78
- for(var _iterator = plans[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
79
- var plan = _step.value;
80
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
81
- try {
82
- for(var _iterator1 = mileagePackages[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
83
- var mileagePackage = _step1.value;
84
- var _unorderedMatrix_plan;
85
- if (!ordered[plan]) {
86
- ordered[plan] = {};
87
- }
88
- ordered[plan][mileagePackage] = (_unorderedMatrix_plan = unorderedMatrix[plan]) === null || _unorderedMatrix_plan === void 0 ? void 0 : _unorderedMatrix_plan[mileagePackage];
89
- }
90
- } catch (err) {
91
- _didIteratorError1 = true;
92
- _iteratorError1 = err;
93
- } finally{
94
- try {
95
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
96
- _iterator1.return();
97
- }
98
- } finally{
99
- if (_didIteratorError1) {
100
- throw _iteratorError1;
101
- }
102
- }
103
- }
104
- }
105
- } catch (err) {
106
- _didIteratorError = true;
107
- _iteratorError = err;
108
- } finally{
109
- try {
110
- if (!_iteratorNormalCompletion && _iterator.return != null) {
111
- _iterator.return();
112
- }
113
- } finally{
114
- if (_didIteratorError) {
115
- throw _iteratorError;
116
- }
42
+ export const sortMatrix = (unorderedMatrix) => {
43
+ const ordered = {};
44
+ const plans = getVehicleDataVariant(PLANS, 'car');
45
+ const mileagePackages = getVehicleDataVariant(MILEAGE_PACKAGES, 'car');
46
+ for (const plan of plans) {
47
+ for (const mileagePackage of mileagePackages) {
48
+ if (!ordered[plan]) {
49
+ ordered[plan] = {};
50
+ }
51
+ ordered[plan][mileagePackage] = unorderedMatrix[plan]?.[mileagePackage];
117
52
  }
118
53
  }
119
54
  return ordered;
120
55
  };
121
- var round = function(number) {
56
+ const round = (number) => {
122
57
  return Math.round(number * 100) / 100;
123
58
  };
124
59
  /**
@@ -131,145 +66,81 @@ var round = function(number) {
131
66
  * @param customLitePicing
132
67
  *
133
68
  * @see https://docs.google.com/spreadsheets/d/1lYYMdQgnzG53lCGf_dKJY9pEue5suJuo3O3-zegIOT0/edit#gid=819271234
134
- */ export var getFluxPiceMatrix = function(pricingData, vehicleType, baseline, dealershipPriceMatrix, tier, flatPricing, customMileagePackage, customLitePicing) {
69
+ */
70
+ export const getFluxPiceMatrix = (pricingData, vehicleType, baseline, dealershipPriceMatrix, tier, flatPricing, customMileagePackage, customLitePicing) => {
135
71
  // Let's not mutate percentages
136
- var newMatrix = cloneDeep(pricingData.hostEarnings.matrixCoefficients);
137
- var plans = Object.keys(newMatrix);
72
+ const newMatrix = cloneDeep(pricingData.hostEarnings.matrixCoefficients);
73
+ const plans = Object.keys(newMatrix);
138
74
  if (flatPricing) {
139
75
  // if flat pricing, we order the plans by 36 months first, then the rest,
140
76
  // that's because we perform the operations on the same matrix, so 36 is the base
141
77
  // and should influence th rest of the plans
142
- plans.sort(function(a, _b) {
78
+ plans.sort((a, _b) => {
143
79
  if (a === 'plan36') {
144
80
  return -1;
145
81
  }
146
82
  return 0;
147
83
  });
148
84
  }
149
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
150
- try {
151
- // This code is highly vulnerable to order. The order **MUST** be sorted,
152
- // this is because it edits "lite" plan, then the other plans depend on the outcome of this one.
153
- // TODO: Fix this code so that it sorts lite package first.
154
- for(var _iterator = plans[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
155
- var plan = _step.value;
156
- var mileagePackages = Object.keys(newMatrix[plan]);
157
- mileagePackages.sort(function(a) {
158
- if (a === 'lite') {
159
- return -1;
160
- }
161
- return 0;
162
- });
163
- var baseMileagePackage = vehicleType === 'motorcycle' ? 'standard' : 'lite';
164
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
165
- try {
166
- for(var _iterator1 = mileagePackages[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
167
- var mileagePackage = _step1.value;
168
- var targetPlan = flatPricing ? 'plan36' : plan;
169
- if (plan === 'plan1') {
170
- if (tier === 'tierCustom') {
171
- newMatrix[plan][mileagePackage] = 0;
172
- continue;
173
- }
174
- newMatrix[plan][mileagePackage] = Number(pricingData.fluxPricing.ultraTiers[tier]);
175
- continue;
176
- }
177
- if (mileagePackage === baseMileagePackage) {
178
- var baseMileagePackagePrice = Math.max(baseline * pricingData.fluxPricing.matrixCoefficients[targetPlan], Number(dealershipPriceMatrix[targetPlan][baseMileagePackage]) + pricingData.fluxPricing.minFluxTake);
179
- var custom = customLitePicing === null || customLitePicing === void 0 ? void 0 : customLitePicing[plan];
180
- newMatrix[plan][baseMileagePackage] = decimals(typeof custom === 'undefined' ? baseMileagePackagePrice : custom);
181
- continue;
182
- }
183
- var mileagePackageAdd = baseline * pricingData.fluxPricing.matrixCoefficients.add[mileagePackage];
184
- var cutomMileagePackageAdd = customMileagePackage === null || customMileagePackage === void 0 ? void 0 : customMileagePackage[mileagePackage];
185
- var basePlanMileagePackagePricing = newMatrix[targetPlan][baseMileagePackage];
186
- newMatrix[plan][mileagePackage] = decimals(round(basePlanMileagePackagePricing + (cutomMileagePackageAdd || mileagePackageAdd)));
187
- }
188
- } catch (err) {
189
- _didIteratorError1 = true;
190
- _iteratorError1 = err;
191
- } finally{
192
- try {
193
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
194
- _iterator1.return();
195
- }
196
- } finally{
197
- if (_didIteratorError1) {
198
- throw _iteratorError1;
199
- }
200
- }
201
- }
202
- }
203
- } catch (err) {
204
- _didIteratorError = true;
205
- _iteratorError = err;
206
- } finally{
207
- try {
208
- if (!_iteratorNormalCompletion && _iterator.return != null) {
209
- _iterator.return();
210
- }
211
- } finally{
212
- if (_didIteratorError) {
213
- throw _iteratorError;
85
+ // This code is highly vulnerable to order. The order **MUST** be sorted,
86
+ // this is because it edits "lite" plan, then the other plans depend on the outcome of this one.
87
+ // TODO: Fix this code so that it sorts lite package first.
88
+ for (const plan of plans) {
89
+ const mileagePackages = Object.keys(newMatrix[plan]);
90
+ mileagePackages.sort((a) => {
91
+ if (a === 'lite') {
92
+ return -1;
214
93
  }
94
+ return 0;
95
+ });
96
+ const baseMileagePackage = vehicleType === 'motorcycle' ? 'standard' : 'lite';
97
+ for (const mileagePackage of mileagePackages) {
98
+ const targetPlan = flatPricing ? 'plan36' : plan;
99
+ if (plan === 'plan1') {
100
+ if (tier === 'tierCustom') {
101
+ newMatrix[plan][mileagePackage] = 0;
102
+ continue;
103
+ }
104
+ newMatrix[plan][mileagePackage] = Number(pricingData.fluxPricing.ultraTiers[tier]);
105
+ continue;
106
+ }
107
+ if (mileagePackage === baseMileagePackage) {
108
+ const baseMileagePackagePrice = Math.max(baseline * pricingData.fluxPricing.matrixCoefficients[targetPlan], Number(dealershipPriceMatrix[targetPlan][baseMileagePackage]) +
109
+ pricingData.fluxPricing.minFluxTake);
110
+ const custom = customLitePicing?.[plan];
111
+ newMatrix[plan][baseMileagePackage] = decimals(typeof custom === 'undefined' ? baseMileagePackagePrice : custom);
112
+ continue;
113
+ }
114
+ const mileagePackageAdd = baseline *
115
+ pricingData.fluxPricing.matrixCoefficients.add[mileagePackage];
116
+ const cutomMileagePackageAdd = customMileagePackage?.[mileagePackage];
117
+ const basePlanMileagePackagePricing = newMatrix[targetPlan][baseMileagePackage];
118
+ newMatrix[plan][mileagePackage] = decimals(round(basePlanMileagePackagePricing +
119
+ (cutomMileagePackageAdd || mileagePackageAdd)));
215
120
  }
216
121
  }
217
122
  return sortMatrix(newMatrix);
218
123
  };
219
- export var updateMatrixWithCustomPackages = function(matrix, add) {
220
- var newMatrix = cloneDeep(matrix);
221
- var plans = getVehicleDataVariant(PLANS, 'car');
222
- var mileagePackages = getVehicleDataVariant(MILEAGE_PACKAGES, 'car');
223
- var baseMileagePackage = mileagePackages[0];
224
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
225
- try {
226
- for(var _iterator = plans[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
227
- var plan = _step.value;
228
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
229
- try {
230
- for(var _iterator1 = mileagePackages[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
231
- var mileagePackage = _step1.value;
232
- if (mileagePackage === baseMileagePackage) {
233
- continue;
234
- }
235
- var toAdd = add[mileagePackage];
236
- if (toAdd) {
237
- var _newMatrix_plan;
238
- newMatrix[plan][mileagePackage] = (((_newMatrix_plan = newMatrix[plan]) === null || _newMatrix_plan === void 0 ? void 0 : _newMatrix_plan[baseMileagePackage]) || 0) + toAdd;
239
- }
240
- }
241
- } catch (err) {
242
- _didIteratorError1 = true;
243
- _iteratorError1 = err;
244
- } finally{
245
- try {
246
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
247
- _iterator1.return();
248
- }
249
- } finally{
250
- if (_didIteratorError1) {
251
- throw _iteratorError1;
252
- }
253
- }
254
- }
255
- }
256
- } catch (err) {
257
- _didIteratorError = true;
258
- _iteratorError = err;
259
- } finally{
260
- try {
261
- if (!_iteratorNormalCompletion && _iterator.return != null) {
262
- _iterator.return();
263
- }
264
- } finally{
265
- if (_didIteratorError) {
266
- throw _iteratorError;
124
+ export const updateMatrixWithCustomPackages = (matrix, add) => {
125
+ const newMatrix = cloneDeep(matrix);
126
+ const plans = getVehicleDataVariant(PLANS, 'car');
127
+ const mileagePackages = getVehicleDataVariant(MILEAGE_PACKAGES, 'car');
128
+ const baseMileagePackage = mileagePackages[0];
129
+ for (const plan of plans) {
130
+ for (const mileagePackage of mileagePackages) {
131
+ if (mileagePackage === baseMileagePackage) {
132
+ continue;
133
+ }
134
+ const toAdd = add[mileagePackage];
135
+ if (toAdd) {
136
+ newMatrix[plan][mileagePackage] =
137
+ (newMatrix[plan]?.[baseMileagePackage] || 0) + toAdd;
267
138
  }
268
139
  }
269
140
  }
270
141
  return newMatrix;
271
142
  };
272
- export var getFluxExcessMileage = function(pricingData, baseline) {
143
+ export const getFluxExcessMileage = (pricingData, baseline) => {
273
144
  return decimals(Math.max(Math.min(baseline * pricingData.fluxPricing.matrixCoefficients.excessMileage, pricingData.fluxPricing.excessMileage.upperBound), pricingData.fluxPricing.excessMileage.lowerBound));
274
145
  };
275
146
  /**
@@ -278,50 +149,21 @@ export var getFluxExcessMileage = function(pricingData, baseline) {
278
149
  * @param coefficient
279
150
  *
280
151
  * @see https://docs.google.com/spreadsheets/d/1lYYMdQgnzG53lCGf_dKJY9pEue5suJuo3O3-zegIOT0/edit#gid=819271234
281
- */ export var getStartFeeMatrix = function(pricingData, baseline, flatPricing) {
152
+ */
153
+ export const getStartFeeMatrix = (pricingData, baseline, flatPricing) => {
282
154
  // Let's not mutate percentages
283
- var newMatrix = cloneDeep(pricingData.startFee.matrixCoefficients);
284
- var baseCoefficients = cloneDeep(newMatrix.plan36);
285
- var plans = Object.keys(newMatrix);
286
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
287
- try {
288
- for(var _iterator = plans[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
289
- var plan = _step.value;
290
- var mileagePackages = Object.keys(newMatrix[plan]);
291
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
292
- try {
293
- for(var _iterator1 = mileagePackages[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
294
- var mileagePackage = _step1.value;
295
- newMatrix[plan][mileagePackage] = round(baseline * (flatPricing ? baseCoefficients[mileagePackage] : newMatrix[plan][mileagePackage]));
296
- }
297
- } catch (err) {
298
- _didIteratorError1 = true;
299
- _iteratorError1 = err;
300
- } finally{
301
- try {
302
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
303
- _iterator1.return();
304
- }
305
- } finally{
306
- if (_didIteratorError1) {
307
- throw _iteratorError1;
308
- }
309
- }
310
- }
311
- }
312
- } catch (err) {
313
- _didIteratorError = true;
314
- _iteratorError = err;
315
- } finally{
316
- try {
317
- if (!_iteratorNormalCompletion && _iterator.return != null) {
318
- _iterator.return();
319
- }
320
- } finally{
321
- if (_didIteratorError) {
322
- throw _iteratorError;
323
- }
155
+ const newMatrix = cloneDeep(pricingData.startFee.matrixCoefficients);
156
+ const baseCoefficients = cloneDeep(newMatrix.plan36);
157
+ const plans = Object.keys(newMatrix);
158
+ for (const plan of plans) {
159
+ const mileagePackages = Object.keys(newMatrix[plan]);
160
+ for (const mileagePackage of mileagePackages) {
161
+ newMatrix[plan][mileagePackage] = round(baseline *
162
+ (flatPricing
163
+ ? baseCoefficients[mileagePackage]
164
+ : newMatrix[plan][mileagePackage]));
324
165
  }
325
166
  }
326
167
  return sortMatrix(newMatrix);
327
168
  };
169
+ //# sourceMappingURL=index.js.map
@@ -1 +1,2 @@
1
- export { };
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@driveflux/api-functions",
3
- "version": "0.0.6",
3
+ "version": "0.0.7-next.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./notion": {
@@ -73,22 +73,22 @@
73
73
  ],
74
74
  "dependencies": {
75
75
  "@casl/ability": "^6.7.3",
76
- "@driveflux/auth": "2.0.7",
77
- "@driveflux/billing": "7.0.0-develop.22",
78
- "@driveflux/config": "2.0.3",
79
- "@driveflux/coupon": "8.0.0-develop.17",
80
- "@driveflux/db": "3.0.0-develop.36",
81
- "@driveflux/email": "6.0.0-develop.17",
82
- "@driveflux/email-templates": "0.0.2-develop.18",
83
- "@driveflux/engine": "0.1.2-develop.37",
76
+ "@driveflux/auth": "3.0.0-next.2",
77
+ "@driveflux/billing": "7.0.0-develop.26",
78
+ "@driveflux/config": "2.1.0-next.0",
79
+ "@driveflux/coupon": "8.0.0-develop.29",
80
+ "@driveflux/db": "3.0.0-develop.48",
81
+ "@driveflux/email": "6.0.0-develop.29",
82
+ "@driveflux/email-templates": "0.0.2-develop.30",
83
+ "@driveflux/engine": "0.1.2-develop.54",
84
84
  "@driveflux/fetch": "7.0.3",
85
85
  "@driveflux/format-money": "6.0.2",
86
86
  "@driveflux/problem": "5.0.3",
87
- "@driveflux/reporter": "6.0.3",
87
+ "@driveflux/reporter": "6.0.4-next.1",
88
88
  "@driveflux/result": "5.0.3",
89
- "@driveflux/scheduler": "7.0.0-develop.17",
89
+ "@driveflux/scheduler": "7.0.0-develop.29",
90
90
  "@driveflux/singleton": "2.0.2",
91
- "@driveflux/subscription": "8.0.0-develop.17",
91
+ "@driveflux/subscription": "8.0.0-develop.21",
92
92
  "@driveflux/time": "5.0.2",
93
93
  "@driveflux/utils": "5.0.2",
94
94
  "@notionhq/client": "^4.0.2",