@autologix-engineering/shared 1.0.113 → 1.0.114

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 (142) hide show
  1. package/package.json +1 -1
  2. package/src/lib/data-transfer-objects/src/command/trip.action.dtos.d.ts +23 -0
  3. package/src/lib/data-transfer-objects/src/command/trip.action.dtos.js +85 -1
  4. package/src/lib/data-transfer-objects/src/command/trip.action.dtos.js.map +1 -1
  5. package/src/lib/data-transfer-objects/src/get.lite.form.calculations.dto.d.ts +1 -0
  6. package/src/lib/data-transfer-objects/src/get.lite.form.calculations.dto.js +5 -0
  7. package/src/lib/data-transfer-objects/src/get.lite.form.calculations.dto.js.map +1 -1
  8. package/src/lib/data-transfer-objects/src/index.d.ts +2 -0
  9. package/src/lib/data-transfer-objects/src/index.js +2 -0
  10. package/src/lib/data-transfer-objects/src/index.js.map +1 -1
  11. package/src/lib/data-transfer-objects/src/query/get.place.dto.d.ts +1 -0
  12. package/src/lib/data-transfer-objects/src/query/get.place.dto.js +6 -1
  13. package/src/lib/data-transfer-objects/src/query/get.place.dto.js.map +1 -1
  14. package/src/lib/data-transfer-objects/src/update.lite.trip.duty.data.dto.d.ts +1 -0
  15. package/src/lib/data-transfer-objects/src/update.lite.trip.duty.data.dto.js +5 -0
  16. package/src/lib/data-transfer-objects/src/update.lite.trip.duty.data.dto.js.map +1 -1
  17. package/src/lib/data-transfer-objects/src/update.trip.auth.config.dto.d.ts +10 -0
  18. package/src/lib/data-transfer-objects/src/update.trip.auth.config.dto.js +40 -0
  19. package/src/lib/data-transfer-objects/src/update.trip.auth.config.dto.js.map +1 -0
  20. package/src/lib/enums/src/command.type.enum.d.ts +2 -1
  21. package/src/lib/enums/src/command.type.enum.js +1 -0
  22. package/src/lib/enums/src/command.type.enum.js.map +1 -1
  23. package/src/lib/enums/src/index.d.ts +1 -0
  24. package/src/lib/enums/src/index.js +1 -0
  25. package/src/lib/enums/src/index.js.map +1 -1
  26. package/src/lib/enums/src/trip.auth.type.enum.d.ts +6 -0
  27. package/src/lib/enums/src/trip.auth.type.enum.js +8 -0
  28. package/src/lib/enums/src/trip.auth.type.enum.js.map +1 -0
  29. package/src/lib/models/src/additional.charges.model.d.ts +4 -1
  30. package/src/lib/models/src/additional.charges.model.js +1 -0
  31. package/src/lib/models/src/additional.charges.model.js.map +1 -1
  32. package/src/lib/models/src/business.context.owner.model.d.ts +4 -2
  33. package/src/lib/models/src/business.context.owner.model.js +1 -0
  34. package/src/lib/models/src/business.context.owner.model.js.map +1 -1
  35. package/src/lib/models/src/client.configuration.model.d.ts +4 -1
  36. package/src/lib/models/src/client.configuration.model.js +1 -0
  37. package/src/lib/models/src/client.configuration.model.js.map +1 -1
  38. package/src/lib/models/src/client.persona.model.d.ts +7 -1
  39. package/src/lib/models/src/client.persona.model.js +2 -0
  40. package/src/lib/models/src/client.persona.model.js.map +1 -1
  41. package/src/lib/models/src/index.d.ts +1 -0
  42. package/src/lib/models/src/index.js +1 -0
  43. package/src/lib/models/src/index.js.map +1 -1
  44. package/src/lib/models/src/place.model.d.ts +6 -1
  45. package/src/lib/models/src/place.model.js +2 -0
  46. package/src/lib/models/src/place.model.js.map +1 -1
  47. package/src/lib/models/src/taxes.model.d.ts +4 -1
  48. package/src/lib/models/src/taxes.model.js +1 -0
  49. package/src/lib/models/src/taxes.model.js.map +1 -1
  50. package/src/lib/models/src/trip.auth.model.d.ts +17 -0
  51. package/src/lib/models/src/trip.auth.model.js +10 -0
  52. package/src/lib/models/src/trip.auth.model.js.map +1 -0
  53. package/src/lib/models/src/trip.model.d.ts +13 -1
  54. package/src/lib/models/src/trip.model.js +6 -0
  55. package/src/lib/models/src/trip.model.js.map +1 -1
  56. package/src/lib/routes/src/command.registry.routes.d.ts +1 -0
  57. package/src/lib/routes/src/command.registry.routes.js +1 -0
  58. package/src/lib/routes/src/command.registry.routes.js.map +1 -1
  59. package/src/lib/billing-conditions/src/bill.generator.d.ts +0 -15
  60. package/src/lib/billing-conditions/src/bill.generator.js +0 -210
  61. package/src/lib/billing-conditions/src/bill.generator.js.map +0 -1
  62. package/src/lib/billing-conditions/src/condition.builder.d.ts +0 -5
  63. package/src/lib/billing-conditions/src/condition.builder.js +0 -27
  64. package/src/lib/billing-conditions/src/condition.builder.js.map +0 -1
  65. package/src/lib/billing-conditions/src/condition.sorter.builder.d.ts +0 -5
  66. package/src/lib/billing-conditions/src/condition.sorter.builder.js +0 -18
  67. package/src/lib/billing-conditions/src/condition.sorter.builder.js.map +0 -1
  68. package/src/lib/billing-conditions/src/definitions/condition.sorter.d.ts +0 -4
  69. package/src/lib/billing-conditions/src/definitions/condition.sorter.js +0 -2
  70. package/src/lib/billing-conditions/src/definitions/condition.sorter.js.map +0 -1
  71. package/src/lib/billing-conditions/src/definitions/conditional.partial.d.ts +0 -9
  72. package/src/lib/billing-conditions/src/definitions/conditional.partial.js +0 -10
  73. package/src/lib/billing-conditions/src/definitions/conditional.partial.js.map +0 -1
  74. package/src/lib/billing-conditions/src/definitions/displacement.d.ts +0 -4
  75. package/src/lib/billing-conditions/src/definitions/displacement.js +0 -2
  76. package/src/lib/billing-conditions/src/definitions/displacement.js.map +0 -1
  77. package/src/lib/billing-conditions/src/definitions/index.d.ts +0 -5
  78. package/src/lib/billing-conditions/src/definitions/index.js +0 -6
  79. package/src/lib/billing-conditions/src/definitions/index.js.map +0 -1
  80. package/src/lib/billing-conditions/src/definitions/trip.location.d.ts +0 -5
  81. package/src/lib/billing-conditions/src/definitions/trip.location.js +0 -2
  82. package/src/lib/billing-conditions/src/definitions/trip.location.js.map +0 -1
  83. package/src/lib/billing-conditions/src/definitions/trip.trace.d.ts +0 -17
  84. package/src/lib/billing-conditions/src/definitions/trip.trace.js +0 -2
  85. package/src/lib/billing-conditions/src/definitions/trip.trace.js.map +0 -1
  86. package/src/lib/billing-conditions/src/implementation/categorical.range.condition.d.ts +0 -7
  87. package/src/lib/billing-conditions/src/implementation/categorical.range.condition.js +0 -28
  88. package/src/lib/billing-conditions/src/implementation/categorical.range.condition.js.map +0 -1
  89. package/src/lib/billing-conditions/src/implementation/index.d.ts +0 -9
  90. package/src/lib/billing-conditions/src/implementation/index.js +0 -10
  91. package/src/lib/billing-conditions/src/implementation/index.js.map +0 -1
  92. package/src/lib/billing-conditions/src/implementation/numerical.condition.d.ts +0 -7
  93. package/src/lib/billing-conditions/src/implementation/numerical.condition.js +0 -27
  94. package/src/lib/billing-conditions/src/implementation/numerical.condition.js.map +0 -1
  95. package/src/lib/billing-conditions/src/implementation/numerical.condition.sorter.d.ts +0 -5
  96. package/src/lib/billing-conditions/src/implementation/numerical.condition.sorter.js +0 -25
  97. package/src/lib/billing-conditions/src/implementation/numerical.condition.sorter.js.map +0 -1
  98. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.d.ts +0 -7
  99. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.js +0 -30
  100. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.js.map +0 -1
  101. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.sorter.d.ts +0 -5
  102. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.sorter.js +0 -45
  103. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.sorter.js.map +0 -1
  104. package/src/lib/billing-conditions/src/implementation/string.condition.d.ts +0 -7
  105. package/src/lib/billing-conditions/src/implementation/string.condition.js +0 -38
  106. package/src/lib/billing-conditions/src/implementation/string.condition.js.map +0 -1
  107. package/src/lib/billing-conditions/src/implementation/time.range.condition.d.ts +0 -7
  108. package/src/lib/billing-conditions/src/implementation/time.range.condition.js +0 -30
  109. package/src/lib/billing-conditions/src/implementation/time.range.condition.js.map +0 -1
  110. package/src/lib/billing-conditions/src/implementation/trip.distance.processor.d.ts +0 -15
  111. package/src/lib/billing-conditions/src/implementation/trip.distance.processor.js +0 -97
  112. package/src/lib/billing-conditions/src/implementation/trip.distance.processor.js.map +0 -1
  113. package/src/lib/billing-conditions/src/implementation/trip.time.processor.d.ts +0 -33
  114. package/src/lib/billing-conditions/src/implementation/trip.time.processor.js +0 -239
  115. package/src/lib/billing-conditions/src/implementation/trip.time.processor.js.map +0 -1
  116. package/src/lib/billing-conditions/src/index.d.ts +0 -6
  117. package/src/lib/billing-conditions/src/index.js +0 -7
  118. package/src/lib/billing-conditions/src/index.js.map +0 -1
  119. package/src/lib/billing-conditions/src/tariff.rule.processor.d.ts +0 -8
  120. package/src/lib/billing-conditions/src/tariff.rule.processor.js +0 -417
  121. package/src/lib/billing-conditions/src/tariff.rule.processor.js.map +0 -1
  122. package/src/lib/billing-conditions/src/transition.manager.d.ts +0 -11
  123. package/src/lib/billing-conditions/src/transition.manager.js +0 -74
  124. package/src/lib/billing-conditions/src/transition.manager.js.map +0 -1
  125. package/src/lib/billing-conditions/src/utilities/displacement.calculator.d.ts +0 -2
  126. package/src/lib/billing-conditions/src/utilities/displacement.calculator.js +0 -48
  127. package/src/lib/billing-conditions/src/utilities/displacement.calculator.js.map +0 -1
  128. package/src/lib/billing-conditions/src/utilities/index.d.ts +0 -5
  129. package/src/lib/billing-conditions/src/utilities/index.js +0 -6
  130. package/src/lib/billing-conditions/src/utilities/index.js.map +0 -1
  131. package/src/lib/billing-conditions/src/utilities/package.sorter.d.ts +0 -2
  132. package/src/lib/billing-conditions/src/utilities/package.sorter.js +0 -9
  133. package/src/lib/billing-conditions/src/utilities/package.sorter.js.map +0 -1
  134. package/src/lib/billing-conditions/src/utilities/time.transformers.identifier.d.ts +0 -17
  135. package/src/lib/billing-conditions/src/utilities/time.transformers.identifier.js +0 -39
  136. package/src/lib/billing-conditions/src/utilities/time.transformers.identifier.js.map +0 -1
  137. package/src/lib/billing-conditions/src/utilities/trace.locations.chronological.sort.d.ts +0 -2
  138. package/src/lib/billing-conditions/src/utilities/trace.locations.chronological.sort.js +0 -10
  139. package/src/lib/billing-conditions/src/utilities/trace.locations.chronological.sort.js.map +0 -1
  140. package/src/lib/billing-conditions/src/utilities/trace.sanitizer.d.ts +0 -14
  141. package/src/lib/billing-conditions/src/utilities/trace.sanitizer.js +0 -23
  142. package/src/lib/billing-conditions/src/utilities/trace.sanitizer.js.map +0 -1
@@ -1,417 +0,0 @@
1
- import { timeFromDays } from './utilities/time.transformers.identifier';
2
- import { TariffRuleField, ConditionalTariffField, ConditionField, ConditionPartialField, BillableField, ConditionalRuleApplicationField, BillLineItemField, } from '../../models/src/index';
3
- import { ConditionSortBuilder } from './condition.sorter.builder';
4
- import { UnitOfMeasure, TripBillingVariable, BillItemHead, } from '../../enums/src/index';
5
- export class TariffRuleProcessor {
6
- constructor(_tripProcessor) {
7
- this._tripProcessor = _tripProcessor;
8
- }
9
- evaluate(_tariffRule) {
10
- let _blItemArray = [];
11
- const _billable = _tariffRule?.[TariffRuleField.Billable];
12
- _tariffRule?.[TariffRuleField.Billable]?.[BillableField.UnitOfMeasure];
13
- const _unit = _tariffRule?.[TariffRuleField.Billable]?.[BillableField.UnitOfMeasure];
14
- const _freeUnits = _tariffRule?.[TariffRuleField.FreeUnits] || 0;
15
- let _unitCost = _tariffRule?.[TariffRuleField.UnitCost];
16
- if (_unitCost == null)
17
- _unitCost = 1;
18
- console.log({
19
- _unit,
20
- _freeUnits,
21
- _unitCost,
22
- });
23
- const _sortedConditionals = _tariffRule?.[TariffRuleField.ConditionalTariffRules]
24
- ?.sort((_a, _b) => {
25
- const _conditionalPartialA = _a?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial], _conditionalPartialB = _b?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial];
26
- return ConditionSortBuilder.build(_conditionalPartialA).sort(_conditionalPartialA, _conditionalPartialB);
27
- })
28
- .reverse();
29
- const _conditionalTripVariable = _sortedConditionals?.[0]?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.TripBillingVariable];
30
- switch (_unit) {
31
- case UnitOfMeasure.Km: {
32
- console.log('Km');
33
- console.log(_conditionalTripVariable);
34
- const _totalUnits = Math.ceil(this._tripProcessor.totalDisplacement / 1000);
35
- console.log(_totalUnits);
36
- let _processedUnits = 0;
37
- const _conditionalsApplied = [];
38
- switch (_conditionalTripVariable) {
39
- case TripBillingVariable.DistanceTravelled: {
40
- for (const _conditional of _sortedConditionals) {
41
- const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
42
- const _consumption = _totalUnits - _comparand - _processedUnits;
43
- if (_consumption < 0) {
44
- break;
45
- }
46
- const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
47
- const _total = _unitCost * _consumption;
48
- _processedUnits += _consumption;
49
- _conditionalsApplied.push({
50
- [ConditionalRuleApplicationField.Units]: _consumption,
51
- [ConditionalRuleApplicationField.Billable]: {
52
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
53
- },
54
- [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
55
- [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
56
- [ConditionalRuleApplicationField.Amount]: _total,
57
- [ConditionalRuleApplicationField.ConditionalTariff]: {
58
- [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
59
- .ConditionalTariffId],
60
- },
61
- });
62
- }
63
- break;
64
- }
65
- case TripBillingVariable.TotalTime: {
66
- break;
67
- }
68
- case TripBillingVariable.TripTime: {
69
- break;
70
- }
71
- }
72
- let _gkm = 0;
73
- let _gkmAmout = 0;
74
- let _billedGkm = 0;
75
- if (this._tripProcessor.fixedKms > 0) {
76
- _gkm = this._tripProcessor.fixedKms / 1000;
77
- for (let i = _conditionalsApplied.length - 1; i >= 0; i--) {
78
- let cndtn = _conditionalsApplied[i];
79
- if (_gkm == 0) {
80
- break;
81
- }
82
- else if (cndtn?.[ConditionalRuleApplicationField.Units] >
83
- _gkm) {
84
- _gkmAmout +=
85
- _gkm *
86
- cndtn?.[ConditionalRuleApplicationField
87
- .AppliedUnitCost];
88
- _billedGkm += _gkm;
89
- _gkm = 0;
90
- }
91
- else {
92
- _gkmAmout +=
93
- cndtn?.[ConditionalRuleApplicationField.Amount];
94
- _billedGkm +=
95
- cndtn?.[ConditionalRuleApplicationField.Units];
96
- _gkm =
97
- _gkm -
98
- cndtn?.[ConditionalRuleApplicationField.Units];
99
- }
100
- }
101
- }
102
- if (_gkm - _freeUnits > 0) {
103
- _gkmAmout += (_gkm - _freeUnits) * _unitCost;
104
- _billedGkm += _gkm - _freeUnits;
105
- _processedUnits += _gkm - _freeUnits;
106
- }
107
- const _baseConsumption = _totalUnits - _processedUnits || 0;
108
- console.log(_baseConsumption);
109
- const _chargeableConsumption = _baseConsumption > _freeUnits
110
- ? _baseConsumption - _freeUnits
111
- : 0;
112
- const _baseTotal = _chargeableConsumption * _unitCost;
113
- console.log(_conditionalsApplied);
114
- if (this._tripProcessor.fixedKms > 0 && _gkmAmout > 0) {
115
- const _billLine = {
116
- [BillLineItemField.BillItemHead]: `Fixed Km charges`,
117
- [BillLineItemField.Billable]: {
118
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
119
- [BillableField.Name]: _billable?.[BillableField.Name],
120
- },
121
- [BillLineItemField.TariffRule]: {
122
- [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
123
- },
124
- [BillLineItemField.ConditionalRulesApplied]: [],
125
- [BillLineItemField.Units]: _billedGkm,
126
- [BillLineItemField.Amount]: _gkmAmout,
127
- };
128
- _blItemArray.push(_billLine);
129
- }
130
- let extraKmCharge = _baseTotal +
131
- _conditionalsApplied.reduce((_acc, _curr) => _acc +
132
- _curr?.[ConditionalRuleApplicationField.Amount], 0) -
133
- _gkmAmout;
134
- if (extraKmCharge > 0) {
135
- const _billLineItem = {
136
- [BillLineItemField.BillItemHead]: `Extra Km charges`,
137
- [BillLineItemField.Billable]: {
138
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
139
- [BillableField.Name]: _billable?.[BillableField.Name],
140
- },
141
- [BillLineItemField.TariffRule]: {
142
- [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
143
- },
144
- [BillLineItemField.ConditionalRulesApplied]: _conditionalsApplied,
145
- [BillLineItemField.Units]: _chargeableConsumption +
146
- _processedUnits -
147
- _billedGkm,
148
- [BillLineItemField.Amount]: _baseTotal +
149
- _conditionalsApplied.reduce((_acc, _curr) => _acc +
150
- _curr?.[ConditionalRuleApplicationField.Amount], 0) -
151
- _gkmAmout,
152
- };
153
- _blItemArray.push(_billLineItem);
154
- }
155
- return _blItemArray;
156
- }
157
- case UnitOfMeasure.Minute: {
158
- console.log('Minute');
159
- console.log(_conditionalTripVariable);
160
- const _totalUnits = this._tripProcessor.timeUnitsBetween('MIN', null, null);
161
- console.log(_totalUnits, 'totalUnits');
162
- let _processedUnits = 0;
163
- const _conditionalsApplied = [];
164
- switch (_conditionalTripVariable) {
165
- case TripBillingVariable.DistanceTravelled: {
166
- break;
167
- }
168
- case TripBillingVariable.TotalTime: {
169
- for (const _conditional of _sortedConditionals) {
170
- const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
171
- const _consumption = _totalUnits - _comparand - _processedUnits;
172
- console.log({
173
- _consumption,
174
- _comparand,
175
- _processedUnits,
176
- });
177
- if (_consumption < 0) {
178
- break;
179
- }
180
- const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
181
- const _total = _unitCost * _consumption;
182
- _processedUnits += _consumption;
183
- console.log(_conditionalsApplied);
184
- _conditionalsApplied.push({
185
- [ConditionalRuleApplicationField.Units]: _consumption,
186
- [ConditionalRuleApplicationField.Billable]: {
187
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
188
- [BillableField.Name]: _billable?.[BillableField.Name],
189
- },
190
- [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
191
- [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
192
- [ConditionalRuleApplicationField.Amount]: _total,
193
- [ConditionalRuleApplicationField.ConditionalTariff]: {
194
- [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
195
- .ConditionalTariffId],
196
- },
197
- });
198
- }
199
- break;
200
- }
201
- case TripBillingVariable.TripTime: {
202
- for (const _conditional of _sortedConditionals) {
203
- console.log(_conditional);
204
- const _tripStart = this._tripProcessor?.timePoints[0];
205
- console.log(_tripStart, '_tripStart');
206
- _tripStart?.setUTCHours(0, 0, 0, 0);
207
- const _startEpoch = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField
208
- .ComparandNumericalRange]?.start;
209
- const _endEpoch = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField
210
- .ComparandNumericalRange]?.end;
211
- const _start = new Date(_tripStart?.getTime() + _startEpoch);
212
- const _end = new Date(_tripStart?.getTime() +
213
- (_endEpoch > _startEpoch
214
- ? _endEpoch
215
- : _endEpoch + timeFromDays(1)));
216
- console.log(this._tripProcessor?.timePoints[0], 'start time');
217
- console.log({ _start, _end });
218
- console.log(this._tripProcessor.timeUnitsBetween('DAY', null, null), 'Days');
219
- const _utilization = this._tripProcessor.timeUnitsBetween('MIN', _end, _start);
220
- console.log(_utilization, 'utilization');
221
- }
222
- break;
223
- }
224
- }
225
- const _baseConsumption = _totalUnits - _processedUnits || 0;
226
- const _chargeableConsumption = _baseConsumption > _freeUnits
227
- ? _baseConsumption - _freeUnits
228
- : 0;
229
- const _baseTotal = _chargeableConsumption * _unitCost;
230
- const _billLineItem = {
231
- [BillLineItemField.BillItemHead]: `Extra Min charges`,
232
- [BillLineItemField.Billable]: {
233
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
234
- [BillableField.Name]: _billable?.[BillableField.Name],
235
- },
236
- [BillLineItemField.TariffRule]: {
237
- [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
238
- },
239
- [BillLineItemField.ConditionalRulesApplied]: _conditionalsApplied,
240
- [BillLineItemField.Amount]: _baseTotal +
241
- _conditionalsApplied.reduce((_acc, _curr) => _acc +
242
- _curr?.[ConditionalRuleApplicationField.Amount], 0),
243
- };
244
- console.log(_billLineItem);
245
- _blItemArray.push(_billLineItem);
246
- return _blItemArray;
247
- }
248
- case UnitOfMeasure.Hour: {
249
- console.log('Hour');
250
- console.log(_conditionalTripVariable);
251
- const _totalUnits = this._tripProcessor.timeUnitsBetween('HR', null, null);
252
- console.log(_totalUnits);
253
- let _processedUnits = 0;
254
- const _conditionalsApplied = [];
255
- switch (_conditionalTripVariable) {
256
- case TripBillingVariable.DistanceTravelled: {
257
- break;
258
- }
259
- case TripBillingVariable.TotalTime: {
260
- for (const _conditional of _sortedConditionals) {
261
- const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
262
- const _consumption = _totalUnits - _comparand - _processedUnits;
263
- if (_consumption < 0) {
264
- break;
265
- }
266
- const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
267
- const _total = _unitCost * _consumption;
268
- _processedUnits += _consumption;
269
- _conditionalsApplied.push({
270
- [ConditionalRuleApplicationField.Units]: _consumption,
271
- [ConditionalRuleApplicationField.Billable]: {
272
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
273
- [BillableField.Name]: _billable?.[BillableField.Name],
274
- },
275
- [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
276
- [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
277
- [ConditionalRuleApplicationField.Amount]: _total,
278
- [ConditionalRuleApplicationField.ConditionalTariff]: {
279
- [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
280
- .ConditionalTariffId],
281
- },
282
- });
283
- }
284
- break;
285
- }
286
- case TripBillingVariable.TripTime: {
287
- break;
288
- }
289
- }
290
- const _baseConsumption = _totalUnits - _processedUnits || 0;
291
- const _chargeableConsumption = _baseConsumption > _freeUnits
292
- ? _baseConsumption - _freeUnits
293
- : 0;
294
- const _baseTotal = _chargeableConsumption * _unitCost;
295
- console.log(_conditionalsApplied);
296
- const _billLineItem = {
297
- [BillLineItemField.BillItemHead]: `Extra Hour charges`,
298
- [BillLineItemField.Billable]: {
299
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
300
- [BillableField.Name]: _billable?.[BillableField.Name],
301
- },
302
- [BillLineItemField.TariffRule]: {
303
- [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
304
- },
305
- [BillLineItemField.ConditionalRulesApplied]: _conditionalsApplied,
306
- [BillLineItemField.Amount]: _baseTotal +
307
- _conditionalsApplied.reduce((_acc, _curr) => _acc +
308
- _curr?.[ConditionalRuleApplicationField.Amount], 0),
309
- };
310
- _blItemArray.push(_billLineItem);
311
- return _blItemArray;
312
- }
313
- case UnitOfMeasure.Day: {
314
- console.log('Day');
315
- console.log(_conditionalTripVariable);
316
- break;
317
- }
318
- case UnitOfMeasure.Count: {
319
- console.log('Count');
320
- console.log(_conditionalTripVariable);
321
- break;
322
- }
323
- case UnitOfMeasure.Trip: {
324
- console.log('Trip');
325
- console.log(_conditionalTripVariable);
326
- const _totalDistanceUnits = Math.ceil(this._tripProcessor.totalDisplacement / 1000);
327
- console.log(_totalDistanceUnits);
328
- let _conditionalsApplied = null;
329
- switch (_conditionalTripVariable) {
330
- case TripBillingVariable.DistanceTravelled: {
331
- for (const _conditional of _sortedConditionals) {
332
- const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
333
- const _consumption = _totalDistanceUnits - _comparand;
334
- if (_consumption < 0) {
335
- break;
336
- }
337
- const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
338
- const _total = _unitCost;
339
- _conditionalsApplied = {
340
- [ConditionalRuleApplicationField.Units]: _consumption,
341
- [ConditionalRuleApplicationField.Billable]: {
342
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
343
- },
344
- [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
345
- [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
346
- [ConditionalRuleApplicationField.Amount]: _total,
347
- [ConditionalRuleApplicationField.ConditionalTariff]: {
348
- [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
349
- .ConditionalTariffId],
350
- },
351
- };
352
- }
353
- break;
354
- }
355
- case TripBillingVariable.TotalTime: {
356
- const _totalUnits = this._tripProcessor.timeUnitsBetween('HR', null, null);
357
- for (const _conditional of _sortedConditionals) {
358
- const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
359
- const _consumption = _totalUnits - _comparand;
360
- if (_consumption < 0) {
361
- break;
362
- }
363
- const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
364
- const _total = _unitCost;
365
- _conditionalsApplied = {
366
- [ConditionalRuleApplicationField.Units]: _consumption,
367
- [ConditionalRuleApplicationField.Billable]: {
368
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
369
- [BillableField.Name]: _billable?.[BillableField.Name],
370
- },
371
- [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
372
- [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
373
- [ConditionalRuleApplicationField.Amount]: _total,
374
- [ConditionalRuleApplicationField.ConditionalTariff]: {
375
- [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
376
- .ConditionalTariffId],
377
- },
378
- };
379
- }
380
- break;
381
- }
382
- case TripBillingVariable.TripTime: {
383
- break;
384
- }
385
- }
386
- // const _baseConsumption =
387
- // _totalDistanceUnits - _processedUnits || 0;
388
- // console.log(_baseConsumption);
389
- // const _chargeableConsumption =
390
- // _baseConsumption > _freeUnits
391
- // ? _baseConsumption - _freeUnits
392
- // : 0;
393
- const _baseTotal = _unitCost;
394
- console.log(_conditionalsApplied);
395
- const _billLineItem = {
396
- [BillLineItemField.BillItemHead]: BillItemHead.RuleBasedTariff,
397
- [BillLineItemField.Billable]: {
398
- [BillableField.BillableId]: _billable?.[BillableField.BillableId],
399
- [BillableField.Name]: _billable?.[BillableField.Name],
400
- },
401
- [BillLineItemField.TariffRule]: {
402
- [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
403
- },
404
- [BillLineItemField.ConditionalRulesApplied]: [
405
- _conditionalsApplied,
406
- ],
407
- [BillLineItemField.Amount]: _conditionalsApplied != null
408
- ? _conditionalsApplied?.[ConditionalRuleApplicationField.Amount]
409
- : _baseTotal,
410
- };
411
- _blItemArray.push(_billLineItem);
412
- return _blItemArray;
413
- }
414
- }
415
- }
416
- }
417
- //# sourceMappingURL=tariff.rule.processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tariff.rule.processor.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/billing-conditions/src/tariff.rule.processor.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { IPackage, IRateCardTemplate, ITransitionRule } from '../../models/src/index';
2
- import { TripBillingVariable } from '../../enums/src/index';
3
- import { TripTimeProcessor } from './implementation';
4
- export declare class TransitionManager {
5
- private readonly _ratecard;
6
- private readonly _tripProcessor;
7
- private readonly _segregatedTransitionRules;
8
- get transitionRules(): Map<TripBillingVariable, ITransitionRule[]>;
9
- constructor(_ratecard: IRateCardTemplate, _tripProcessor: TripTimeProcessor);
10
- getEffectivePackage(_preferredPackage: IPackage): IPackage;
11
- }
@@ -1,74 +0,0 @@
1
- import { ConditionField, ConditionPartialField, PackageField, RateCardTemplateField, TransitionRuleField, } from '../../models/src/index';
2
- import { ConditionBuilder } from './condition.builder';
3
- import { ConditionSortBuilder } from './condition.sorter.builder';
4
- import { TripBillingVariable } from '../../enums/src/index';
5
- import { sortPackageByBaseCost } from './utilities';
6
- export class TransitionManager {
7
- get transitionRules() {
8
- return this._segregatedTransitionRules;
9
- }
10
- constructor(_ratecard, _tripProcessor) {
11
- this._ratecard = _ratecard;
12
- this._tripProcessor = _tripProcessor;
13
- // 3. Get Transition Rules
14
- let rules = this._ratecard == null
15
- ? []
16
- : this._ratecard?.[RateCardTemplateField.TransitionRules];
17
- this._segregatedTransitionRules =
18
- rules.reduce((_map, _rule) => {
19
- const _conditionalPartial = _rule?.[TransitionRuleField.Condition]?.[ConditionField.ConditionalPartial];
20
- const _billingVariable = _conditionalPartial?.[ConditionPartialField.TripBillingVariable];
21
- if (_billingVariable && _map.has(_billingVariable)) {
22
- const _existing = _map.get(_billingVariable);
23
- if (_existing) {
24
- const _newMap = new Map(Array.from(_map)).set(_billingVariable, [..._existing, _rule]
25
- .sort((_a, _b) => ConditionSortBuilder.build(_conditionalPartial).sort(_a?.[TransitionRuleField.Condition]?.[ConditionField
26
- .ConditionalPartial], _b?.[TransitionRuleField.Condition]?.[ConditionField
27
- .ConditionalPartial]))
28
- .reverse());
29
- return _newMap;
30
- }
31
- return _map;
32
- }
33
- else {
34
- _map.set(_billingVariable, [_rule]);
35
- return _map;
36
- }
37
- }, new Map()) || new Map();
38
- }
39
- getEffectivePackage(_preferredPackage) {
40
- const _preferredPackageId = _preferredPackage?.[PackageField.PackageId];
41
- const _relevantTransitionRules = new Map(Array.from(this._segregatedTransitionRules).map(([_variable, _rules]) => {
42
- return [
43
- _variable,
44
- _rules?.filter((_rule) => _rule?.[TransitionRuleField.BasePackageId] ===
45
- _preferredPackageId) || [],
46
- ];
47
- }));
48
- let distanceInKms = Math.ceil(this._tripProcessor?.totalDisplacement / 1000);
49
- const packageWaitCharge = _preferredPackage?.[PackageField.PackageTemplate]
50
- ?.waitTimeInDuration;
51
- const _effectivePackages = Array.from(_relevantTransitionRules)
52
- .map(([_variable, _rules]) => {
53
- for (const _rule of _rules) {
54
- const _conditionShape = _rule?.[TransitionRuleField.Condition]?.[ConditionField.ConditionalPartial];
55
- const _condition = ConditionBuilder.build(_conditionShape);
56
- if ((_conditionShape?.[ConditionPartialField.TripBillingVariable] === TripBillingVariable.DistanceTravelled &&
57
- _condition.evaluate(distanceInKms)) ||
58
- (_conditionShape?.[ConditionPartialField.TripBillingVariable] === TripBillingVariable.TotalTime &&
59
- _condition.evaluate(this._tripProcessor?.timeUnitsBetween('HR', null, null)))) {
60
- const ruleWaitCharge = _rule?.[TransitionRuleField.EffectivePackage]?.[PackageField.PackageTemplate]?.waitTimeInDuration;
61
- if (packageWaitCharge === ruleWaitCharge) {
62
- return _rule?.[TransitionRuleField.EffectivePackage];
63
- }
64
- }
65
- else
66
- continue;
67
- }
68
- })
69
- .filter((_i) => Boolean(_i));
70
- return (_effectivePackages.sort(sortPackageByBaseCost)?.[0] ||
71
- _preferredPackage);
72
- }
73
- }
74
- //# sourceMappingURL=transition.manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transition.manager.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/billing-conditions/src/transition.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,qBAAqB,EAIrB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IAK7B,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACxC,CAAC;IACD,YACkB,SAA4B,EAC5B,cAAiC;QADjC,cAAS,GAAT,SAAS,CAAmB;QAC5B,mBAAc,GAAd,cAAc,CAAmB;QAElD,0BAA0B;QAC1B,IAAI,KAAK,GACR,IAAI,CAAC,SAAS,IAAI,IAAI;YACrB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,0BAA0B;YAC9B,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,MAAM,mBAAmB,GACxB,KAAK,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACvC,cAAc,CAAC,kBAAkB,CACjC,CAAC;gBACH,MAAM,gBAAgB,GACrB,mBAAmB,EAAE,CACpB,qBAAqB,CAAC,mBAAmB,CACzC,CAAC;gBACH,IAAI,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC7C,IAAI,SAAS,EAAE,CAAC;wBACf,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAC5C,gBAAgB,EAChB,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC;6BACnB,IAAI,CACJ,CACC,EAAmB,EACnB,EAAmB,EAClB,EAAE,CACH,oBAAoB,CAAC,KAAK,CACzB,mBAAmB,CACnB,CAAC,IAAI,CACL,EAAE,EAAE,CACH,mBAAmB,CAAC,SAAS,CAC7B,EAAE,CACF,cAAc;6BACZ,kBAAkB,CACpB,EACD,EAAE,EAAE,CACH,mBAAmB,CAAC,SAAS,CAC7B,EAAE,CACF,cAAc;6BACZ,kBAAkB,CACpB,CACD,CACF;6BACA,OAAO,EAAE,CACX,CAAC;wBACF,OAAO,OAAO,CAAC;oBAChB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpC,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC,EAAE,IAAI,GAAG,EAA0C,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACrE,CAAC;IAED,mBAAmB,CAAC,iBAA2B;QAC9C,MAAM,mBAAmB,GAAG,iBAAiB,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAC9C,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;YACvB,OAAO;gBACN,SAAS;gBACT,MAAM,EAAE,MAAM,CACb,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC;oBAC1C,mBAAmB,CACpB,IAAI,EAAE;aACP,CAAC;QACH,CAAC,CACD,CACD,CAAC;QACF,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAC7C,CAAC;QACF,MAAM,iBAAiB,GACtB,iBAAiB,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC;YAChD,EAAE,kBAAkB,CAAC;QACvB,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;aAC7D,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;YAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,MAAM,eAAe,GACpB,KAAK,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACvC,cAAc,CAAC,kBAAkB,CACjC,CAAC;gBACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3D,IACC,CAAC,eAAe,EAAE,CACjB,qBAAqB,CAAC,mBAAmB,CACzC,KAAK,mBAAmB,CAAC,iBAAiB;oBACzC,UAAyC,CAAC,QAAQ,CAClD,aAAa,CACb,CAAC;oBACH,CAAC,eAAe,EAAE,CACjB,qBAAqB,CAAC,mBAAmB,CACzC,KAAK,mBAAmB,CAAC,SAAS;wBACjC,UAAyC,CAAC,QAAQ,CAClD,IAAI,CAAC,cAAc,EAAE,gBAAgB,CACpC,IAAI,EACJ,IAAI,EACJ,IAAI,CACJ,CACD,CAAC,EACF,CAAC;oBACF,MAAM,cAAc,GACnB,KAAK,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAC9C,YAAY,CAAC,eAAe,CAC5B,EAAE,kBAAkB,CAAC;oBACvB,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;wBAC1C,OAAO,KAAK,EAAE,CACb,mBAAmB,CAAC,gBAAgB,CACpC,CAAC;oBACH,CAAC;gBACF,CAAC;;oBAAM,SAAS;YACjB,CAAC;QACF,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,CACN,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,iBAAiB,CACjB,CAAC;IACH,CAAC;CACD"}
@@ -1,2 +0,0 @@
1
- import { IDisplacement, ITripLocation } from '../definitions';
2
- export declare const calculateDisplacementMatrix: (_locations: ITripLocation[]) => Promise<IDisplacement[]>;
@@ -1,48 +0,0 @@
1
- import axios from 'axios';
2
- import { getDistanceBetweenTwoPoints } from '../../../utilities/src/index';
3
- export const calculateDisplacementMatrix = async (_locations) => {
4
- const loc = _locations.map(async (_point, index) => {
5
- if (index < 1) {
6
- // first point is 0 displacement
7
- return {
8
- timestamp: _point.timestamp,
9
- displacement: 0,
10
- };
11
- }
12
- else {
13
- const _currentCoordinates = _point.location.coordinates;
14
- const _previousCoordinates = _locations[index - 1].location.coordinates;
15
- let distance = getDistanceBetweenTwoPoints(_currentCoordinates, _previousCoordinates);
16
- if (distance > 500) {
17
- try {
18
- const json = {
19
- locations: [
20
- {
21
- lat: _previousCoordinates[1],
22
- lon: _previousCoordinates[0],
23
- },
24
- {
25
- lat: _currentCoordinates[1],
26
- lon: _currentCoordinates[0],
27
- },
28
- ],
29
- costing: 'auto',
30
- };
31
- const response = await axios.get(`http://localhost:8002/optimized_route?json=${JSON.stringify(json)}`);
32
- const dist = response.data.trip.summary.length;
33
- console.log(JSON.stringify(dist));
34
- distance = dist * 1000;
35
- }
36
- catch (e) {
37
- console.log(e);
38
- }
39
- }
40
- return {
41
- timestamp: _point.timestamp,
42
- displacement: distance,
43
- };
44
- }
45
- });
46
- return await Promise.all(loc);
47
- };
48
- //# sourceMappingURL=displacement.calculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"displacement.calculator.js","sourceRoot":"","sources":["../../../../../../../../libs/shared/src/lib/billing-conditions/src/utilities/displacement.calculator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC/C,UAA2B,EACA,EAAE;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAClD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACf,gCAAgC;YAChC,OAAO;gBACN,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,CAAC;aACf,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YACxD,MAAM,oBAAoB,GACzB,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5C,IAAI,QAAQ,GAAG,2BAA2B,CACzC,mBAAmB,EACnB,oBAAoB,CACpB,CAAC;YACF,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACJ,MAAM,IAAI,GAAG;wBACZ,SAAS,EAAE;4BACV;gCACC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;gCAC5B,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;6BAC5B;4BACD;gCACC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;gCAC3B,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;6BAC3B;yBACD;wBACD,OAAO,EAAE,MAAM;qBACf,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC/B,8CAA8C,IAAI,CAAC,SAAS,CAC3D,IAAI,CACJ,EAAE,CAUH,CAAC;oBACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;YACF,CAAC;YACD,OAAO;gBACN,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,QAAQ;aACtB,CAAC;QACH,CAAC;IACF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from './trace.locations.chronological.sort';
2
- export * from './trace.sanitizer';
3
- export * from './time.transformers.identifier';
4
- export * from './displacement.calculator';
5
- export * from './package.sorter';
@@ -1,6 +0,0 @@
1
- export * from './trace.locations.chronological.sort';
2
- export * from './trace.sanitizer';
3
- export * from './time.transformers.identifier';
4
- export * from './displacement.calculator';
5
- export * from './package.sorter';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/shared/src/lib/billing-conditions/src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- import { IPackage } from '../../../models/src/index';
2
- export declare const sortPackageByBaseCost: (a: IPackage, b: IPackage) => 1 | -1 | 0;
@@ -1,9 +0,0 @@
1
- import { PackageField, PackageTemplateField, } from '../../../models/src/index';
2
- export const sortPackageByBaseCost = (a, b) => a?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost] >
3
- b?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost]
4
- ? 1
5
- : a?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost] <
6
- b?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost]
7
- ? -1
8
- : 0;
9
- //# sourceMappingURL=package.sorter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.sorter.js","sourceRoot":"","sources":["../../../../../../../../libs/shared/src/lib/billing-conditions/src/utilities/package.sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,oBAAoB,GAEpB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAW,EAAE,CAAW,EAAE,EAAE,CACjE,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;IAClE,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAChE,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC"}