@jetta/axle-load-calculator 0.3.4 → 0.3.6

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 (285) hide show
  1. package/README.md +13 -1
  2. package/build-cjs/core/contracts/ChassiReference.d.ts +7 -0
  3. package/build-cjs/core/contracts/ChassiReference.d.ts.map +1 -0
  4. package/build-cjs/core/contracts/ChassiReference.js +8 -0
  5. package/build-cjs/core/contracts/MsFaixasContract.d.ts +13 -0
  6. package/build-cjs/core/contracts/MsFaixasContract.d.ts.map +1 -0
  7. package/build-cjs/core/contracts/MsFaixasContract.js +93 -0
  8. package/build-cjs/core/contracts/RotationEnum.d.ts +11 -0
  9. package/build-cjs/core/contracts/RotationEnum.d.ts.map +1 -0
  10. package/build-cjs/core/contracts/RotationEnum.js +12 -0
  11. package/build-cjs/core/contracts/SuspensionType.d.ts +5 -0
  12. package/build-cjs/core/contracts/SuspensionType.d.ts.map +1 -0
  13. package/build-cjs/core/contracts/SuspensionType.js +7 -0
  14. package/build-cjs/core/contracts/TransportRecord.d.ts +5 -0
  15. package/build-cjs/core/contracts/TransportRecord.d.ts.map +1 -0
  16. package/build-cjs/core/contracts/TransportRecord.js +2 -0
  17. package/build-cjs/core/contracts/VehicleType.d.ts +12 -0
  18. package/build-cjs/core/contracts/VehicleType.d.ts.map +1 -0
  19. package/build-cjs/core/contracts/VehicleType.js +13 -0
  20. package/build-cjs/core/contracts/VehicleVersion.d.ts +8 -0
  21. package/build-cjs/core/contracts/VehicleVersion.d.ts.map +1 -0
  22. package/build-cjs/core/contracts/VehicleVersion.js +10 -0
  23. package/build-cjs/core/contracts/WireFlags.d.ts +27 -0
  24. package/build-cjs/core/contracts/WireFlags.d.ts.map +1 -0
  25. package/build-cjs/core/contracts/WireFlags.js +29 -0
  26. package/build-cjs/core/math/FloatTools.d.ts +7 -0
  27. package/build-cjs/core/math/FloatTools.d.ts.map +1 -0
  28. package/build-cjs/core/math/FloatTools.js +17 -0
  29. package/build-cjs/core/math/GaussianElimination.d.ts +8 -0
  30. package/build-cjs/core/math/GaussianElimination.d.ts.map +1 -0
  31. package/build-cjs/core/math/GaussianElimination.js +88 -0
  32. package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts +7 -0
  33. package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts.map +1 -0
  34. package/build-cjs/core/orchestration/AxleWeightPhysics.js +30 -0
  35. package/build-cjs/core/orchestration/CollisionChecker.d.ts +8 -0
  36. package/build-cjs/core/orchestration/CollisionChecker.d.ts.map +1 -0
  37. package/build-cjs/core/orchestration/CollisionChecker.js +63 -0
  38. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts +11 -0
  39. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
  40. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.js +84 -0
  41. package/build-cjs/core/orchestration/ItemOverlapError.d.ts +7 -0
  42. package/build-cjs/core/orchestration/ItemOverlapError.d.ts.map +1 -0
  43. package/build-cjs/core/orchestration/ItemOverlapError.js +13 -0
  44. package/build-cjs/core/orchestration/JavaMassCenter.d.ts +10 -0
  45. package/build-cjs/core/orchestration/JavaMassCenter.d.ts.map +1 -0
  46. package/build-cjs/core/orchestration/JavaMassCenter.js +135 -0
  47. package/build-cjs/core/orchestration/OutputBuilder.d.ts +7 -0
  48. package/build-cjs/core/orchestration/OutputBuilder.d.ts.map +1 -0
  49. package/build-cjs/core/orchestration/OutputBuilder.js +10 -0
  50. package/build-cjs/core/orchestration/RequestSchema.d.ts +57 -0
  51. package/build-cjs/core/orchestration/RequestSchema.d.ts.map +1 -0
  52. package/build-cjs/core/orchestration/RequestSchema.js +21 -0
  53. package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts +11 -0
  54. package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts.map +1 -0
  55. package/build-cjs/core/orchestration/WeightByAxisResponse.js +2 -0
  56. package/build-cjs/core/orchestration/WeightByAxisTask.d.ts +18 -0
  57. package/build-cjs/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
  58. package/build-cjs/core/orchestration/WeightByAxisTask.js +110 -0
  59. package/build-cjs/core/physics/items/AllocatedItem.d.ts +22 -0
  60. package/build-cjs/core/physics/items/AllocatedItem.d.ts.map +1 -0
  61. package/build-cjs/core/physics/items/AllocatedItem.js +33 -0
  62. package/build-cjs/core/physics/items/AllocatedItemManager.d.ts +31 -0
  63. package/build-cjs/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
  64. package/build-cjs/core/physics/items/AllocatedItemManager.js +42 -0
  65. package/build-cjs/core/physics/items/BindChassiSolver.d.ts +12 -0
  66. package/build-cjs/core/physics/items/BindChassiSolver.d.ts.map +1 -0
  67. package/build-cjs/core/physics/items/BindChassiSolver.js +13 -0
  68. package/build-cjs/core/physics/items/CenterOfMass.d.ts +14 -0
  69. package/build-cjs/core/physics/items/CenterOfMass.d.ts.map +1 -0
  70. package/build-cjs/core/physics/items/CenterOfMass.js +28 -0
  71. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts +19 -0
  72. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
  73. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.js +32 -0
  74. package/build-cjs/core/physics/items/ItemTemplates.d.ts +32 -0
  75. package/build-cjs/core/physics/items/ItemTemplates.d.ts.map +1 -0
  76. package/build-cjs/core/physics/items/ItemTemplates.js +58 -0
  77. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts +37 -0
  78. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
  79. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.js +95 -0
  80. package/build-cjs/core/physics/items/RotationTransforms.d.ts +8 -0
  81. package/build-cjs/core/physics/items/RotationTransforms.d.ts.map +1 -0
  82. package/build-cjs/core/physics/items/RotationTransforms.js +24 -0
  83. package/build-cjs/core/physics/items/UnknownItemIdError.d.ts +10 -0
  84. package/build-cjs/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
  85. package/build-cjs/core/physics/items/UnknownItemIdError.js +16 -0
  86. package/build-cjs/core/physics/models/AxleWeightModel.d.ts +32 -0
  87. package/build-cjs/core/physics/models/AxleWeightModel.d.ts.map +1 -0
  88. package/build-cjs/core/physics/models/AxleWeightModel.js +77 -0
  89. package/build-cjs/core/physics/models/BiTruckModel.d.ts +21 -0
  90. package/build-cjs/core/physics/models/BiTruckModel.d.ts.map +1 -0
  91. package/build-cjs/core/physics/models/BiTruckModel.js +64 -0
  92. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts +21 -0
  93. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
  94. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.js +73 -0
  95. package/build-cjs/core/physics/models/BitremModel.d.ts +33 -0
  96. package/build-cjs/core/physics/models/BitremModel.d.ts.map +1 -0
  97. package/build-cjs/core/physics/models/BitremModel.js +128 -0
  98. package/build-cjs/core/physics/models/ChassiForces.d.ts +30 -0
  99. package/build-cjs/core/physics/models/ChassiForces.d.ts.map +1 -0
  100. package/build-cjs/core/physics/models/ChassiForces.js +43 -0
  101. package/build-cjs/core/physics/models/OldTareModel.d.ts +17 -0
  102. package/build-cjs/core/physics/models/OldTareModel.d.ts.map +1 -0
  103. package/build-cjs/core/physics/models/OldTareModel.js +45 -0
  104. package/build-cjs/core/physics/models/OldTareScale.d.ts +7 -0
  105. package/build-cjs/core/physics/models/OldTareScale.d.ts.map +1 -0
  106. package/build-cjs/core/physics/models/OldTareScale.js +11 -0
  107. package/build-cjs/core/physics/models/OldTareSemireboque.d.ts +7 -0
  108. package/build-cjs/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
  109. package/build-cjs/core/physics/models/OldTareSemireboque.js +40 -0
  110. package/build-cjs/core/physics/models/OldTareTruck.d.ts +7 -0
  111. package/build-cjs/core/physics/models/OldTareTruck.d.ts.map +1 -0
  112. package/build-cjs/core/physics/models/OldTareTruck.js +15 -0
  113. package/build-cjs/core/physics/models/OldTareVanderleia.d.ts +7 -0
  114. package/build-cjs/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
  115. package/build-cjs/core/physics/models/OldTareVanderleia.js +34 -0
  116. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts +19 -0
  117. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
  118. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.js +43 -0
  119. package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts +21 -0
  120. package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
  121. package/build-cjs/core/physics/models/QuadSemiTrailerModel.js +74 -0
  122. package/build-cjs/core/physics/models/RodotremModel.d.ts +33 -0
  123. package/build-cjs/core/physics/models/RodotremModel.d.ts.map +1 -0
  124. package/build-cjs/core/physics/models/RodotremModel.js +106 -0
  125. package/build-cjs/core/physics/models/SemiDelegate.d.ts +9 -0
  126. package/build-cjs/core/physics/models/SemiDelegate.d.ts.map +1 -0
  127. package/build-cjs/core/physics/models/SemiDelegate.js +2 -0
  128. package/build-cjs/core/physics/models/SemiReboqueBase.d.ts +34 -0
  129. package/build-cjs/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
  130. package/build-cjs/core/physics/models/SemiReboqueBase.js +89 -0
  131. package/build-cjs/core/physics/models/SemiReboqueModel.d.ts +41 -0
  132. package/build-cjs/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
  133. package/build-cjs/core/physics/models/SemiReboqueModel.js +89 -0
  134. package/build-cjs/core/physics/models/SimpleTruckBase.d.ts +29 -0
  135. package/build-cjs/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
  136. package/build-cjs/core/physics/models/SimpleTruckBase.js +61 -0
  137. package/build-cjs/core/physics/models/SimpleTruckModel.d.ts +41 -0
  138. package/build-cjs/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
  139. package/build-cjs/core/physics/models/SimpleTruckModel.js +81 -0
  140. package/build-cjs/core/physics/models/SingleContainerTare.d.ts +18 -0
  141. package/build-cjs/core/physics/models/SingleContainerTare.d.ts.map +1 -0
  142. package/build-cjs/core/physics/models/SingleContainerTare.js +49 -0
  143. package/build-cjs/core/physics/models/TareModel.d.ts +12 -0
  144. package/build-cjs/core/physics/models/TareModel.d.ts.map +1 -0
  145. package/build-cjs/core/physics/models/TareModel.js +40 -0
  146. package/build-cjs/core/physics/models/TruckDelegate.d.ts +9 -0
  147. package/build-cjs/core/physics/models/TruckDelegate.d.ts.map +1 -0
  148. package/build-cjs/core/physics/models/TruckDelegate.js +2 -0
  149. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
  150. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
  151. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.js +16 -0
  152. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
  153. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
  154. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.js +16 -0
  155. package/build-cjs/core/physics/models/VanderleiaModel.d.ts +33 -0
  156. package/build-cjs/core/physics/models/VanderleiaModel.d.ts.map +1 -0
  157. package/build-cjs/core/physics/models/VanderleiaModel.js +106 -0
  158. package/build-cjs/core/physics/models/VehicleModel.d.ts +11 -0
  159. package/build-cjs/core/physics/models/VehicleModel.d.ts.map +1 -0
  160. package/build-cjs/core/physics/models/VehicleModel.js +2 -0
  161. package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts +28 -0
  162. package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
  163. package/build-cjs/core/physics/models/deflection/BeamDeflection.js +82 -0
  164. package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts +22 -0
  165. package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
  166. package/build-cjs/core/physics/models/deflection/BitremDeflection.js +58 -0
  167. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts +9 -0
  168. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
  169. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.js +27 -0
  170. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
  171. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
  172. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.js +2 -0
  173. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
  174. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
  175. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.js +57 -0
  176. package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts +19 -0
  177. package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
  178. package/build-cjs/core/physics/models/deflection/DeflectionModel.js +27 -0
  179. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
  180. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
  181. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.js +15 -0
  182. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts +35 -0
  183. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
  184. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.js +58 -0
  185. package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts +6 -0
  186. package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
  187. package/build-cjs/core/physics/models/deflection/DeflectionTools.js +13 -0
  188. package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
  189. package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
  190. package/build-cjs/core/physics/models/deflection/DelegateFactory.js +2 -0
  191. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts +25 -0
  192. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
  193. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.js +55 -0
  194. package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts +22 -0
  195. package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
  196. package/build-cjs/core/physics/models/deflection/RodotremDeflection.js +51 -0
  197. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts +21 -0
  198. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
  199. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.js +35 -0
  200. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts +20 -0
  201. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
  202. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.js +32 -0
  203. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts +21 -0
  204. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
  205. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.js +45 -0
  206. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts +27 -0
  207. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
  208. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.js +47 -0
  209. package/build-cjs/core/physics/services/AxleWeightService.d.ts +20 -0
  210. package/build-cjs/core/physics/services/AxleWeightService.d.ts.map +1 -0
  211. package/build-cjs/core/physics/services/AxleWeightService.js +95 -0
  212. package/build-cjs/core/physics/services/CmAxleWeightService.d.ts +12 -0
  213. package/build-cjs/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
  214. package/build-cjs/core/physics/services/CmAxleWeightService.js +37 -0
  215. package/build-cjs/core/physics/services/ContainerCornerForces.d.ts +33 -0
  216. package/build-cjs/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
  217. package/build-cjs/core/physics/services/ContainerCornerForces.js +88 -0
  218. package/build-cjs/core/physics/transports/AxleManager.d.ts +22 -0
  219. package/build-cjs/core/physics/transports/AxleManager.d.ts.map +1 -0
  220. package/build-cjs/core/physics/transports/AxleManager.js +38 -0
  221. package/build-cjs/core/physics/transports/AxleRecord.d.ts +21 -0
  222. package/build-cjs/core/physics/transports/AxleRecord.d.ts.map +1 -0
  223. package/build-cjs/core/physics/transports/AxleRecord.js +61 -0
  224. package/build-cjs/core/physics/transports/Chassi.d.ts +52 -0
  225. package/build-cjs/core/physics/transports/Chassi.d.ts.map +1 -0
  226. package/build-cjs/core/physics/transports/Chassi.js +109 -0
  227. package/build-cjs/core/physics/transports/ContainerRecord.d.ts +25 -0
  228. package/build-cjs/core/physics/transports/ContainerRecord.d.ts.map +1 -0
  229. package/build-cjs/core/physics/transports/ContainerRecord.js +53 -0
  230. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
  231. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
  232. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.js +16 -0
  233. package/build-cjs/core/physics/transports/GroupedContainers.d.ts +34 -0
  234. package/build-cjs/core/physics/transports/GroupedContainers.d.ts.map +1 -0
  235. package/build-cjs/core/physics/transports/GroupedContainers.js +73 -0
  236. package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
  237. package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
  238. package/build-cjs/core/physics/transports/GrouperNotFoundError.js +16 -0
  239. package/build-cjs/core/physics/transports/MergedContainers.d.ts +26 -0
  240. package/build-cjs/core/physics/transports/MergedContainers.d.ts.map +1 -0
  241. package/build-cjs/core/physics/transports/MergedContainers.js +50 -0
  242. package/build-cjs/core/physics/transports/MissingContainerError.d.ts +10 -0
  243. package/build-cjs/core/physics/transports/MissingContainerError.d.ts.map +1 -0
  244. package/build-cjs/core/physics/transports/MissingContainerError.js +16 -0
  245. package/build-cjs/core/physics/transports/Transport.d.ts +33 -0
  246. package/build-cjs/core/physics/transports/Transport.d.ts.map +1 -0
  247. package/build-cjs/core/physics/transports/Transport.js +115 -0
  248. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts +21 -0
  249. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
  250. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.js +44 -0
  251. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts +28 -0
  252. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
  253. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.js +59 -0
  254. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts +15 -0
  255. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
  256. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.js +35 -0
  257. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
  258. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
  259. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.js +2 -0
  260. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts +17 -0
  261. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
  262. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.js +35 -0
  263. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts +20 -0
  264. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
  265. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.js +52 -0
  266. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
  267. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
  268. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.js +2 -0
  269. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
  270. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
  271. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.js +2 -0
  272. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts +26 -0
  273. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
  274. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.js +88 -0
  275. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts +13 -0
  276. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
  277. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.js +36 -0
  278. package/build-cjs/index.d.ts +25 -0
  279. package/build-cjs/index.d.ts.map +1 -0
  280. package/build-cjs/index.js +35 -0
  281. package/build-cjs/package.json +3 -0
  282. package/package.json +27 -4
  283. package/CHANGELOG.md +0 -71
  284. package/tsconfig.eslint.json +0 -15
  285. package/tsconfig.json +0 -19
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxleRecord = void 0;
4
+ const WireFlags_js_1 = require("../../contracts/WireFlags.js");
5
+ /**
6
+ * Single axle geometry and capacity from wire JSON.
7
+ */
8
+ class AxleRecord {
9
+ distance_from_previous_axle;
10
+ max_supported_weight;
11
+ sequence_index;
12
+ dnit_weight_limit;
13
+ tare;
14
+ loaded_weight;
15
+ is_connected_to;
16
+ /**
17
+ * @param axle_data - Raw axle object from transport JSON.
18
+ */
19
+ constructor(axle_data) {
20
+ this.distance_from_previous_axle = read_number(axle_data, WireFlags_js_1.WIRE_FLAGS.DISTANCE_FROM_ORIGIN);
21
+ this.max_supported_weight = read_number(axle_data, WireFlags_js_1.WIRE_FLAGS.MAX_SUPPORTED_WEIGHT);
22
+ this.sequence_index = read_number(axle_data, WireFlags_js_1.WIRE_FLAGS.SEQUENCE_CONTAINER);
23
+ this.dnit_weight_limit = read_number(axle_data, WireFlags_js_1.WIRE_FLAGS.DNIT_WEIGHT);
24
+ this.tare = read_number(axle_data, WireFlags_js_1.WIRE_FLAGS.TARE);
25
+ this.loaded_weight = read_optional_number(axle_data, 'pesoCarregado') ?? 0;
26
+ this.is_connected_to = read_optional_number(axle_data, 'mergeOnAxleIndex');
27
+ }
28
+ /**
29
+ * @returns Shallow copy of axle wire fields.
30
+ */
31
+ to_wire() {
32
+ return {
33
+ distanciaOrigem: this.distance_from_previous_axle,
34
+ pesoMaxSuportado: this.max_supported_weight,
35
+ pesoDnit: this.dnit_weight_limit,
36
+ tara: this.tare,
37
+ sequenciaContainer: this.sequence_index,
38
+ mergeOnAxleIndex: this.is_connected_to
39
+ };
40
+ }
41
+ }
42
+ exports.AxleRecord = AxleRecord;
43
+ /**
44
+ * @param data - Source object.
45
+ * @param key - Field key.
46
+ * @returns Parsed number.
47
+ */
48
+ function read_number(data, key) {
49
+ return Number(data[key]);
50
+ }
51
+ /**
52
+ * @param data - Source object.
53
+ * @param key - Field key.
54
+ * @returns Parsed number or null.
55
+ */
56
+ function read_optional_number(data, key) {
57
+ if (data[key] === undefined || data[key] === null) {
58
+ return null;
59
+ }
60
+ return Number(data[key]);
61
+ }
@@ -0,0 +1,52 @@
1
+ import { type ChassiReference } from '../../contracts/ChassiReference.js';
2
+ import type { Transport } from './Transport.js';
3
+ /**
4
+ * Chassis geometry reference frame for equilibrium models.
5
+ */
6
+ export declare class Chassi {
7
+ private first_axle_distance;
8
+ private axle_positions;
9
+ private pin_positions;
10
+ private grouper_start;
11
+ private grouper_end;
12
+ /**
13
+ * @param transport - Parsed transport.
14
+ */
15
+ constructor(transport: Transport);
16
+ /**
17
+ * @param axle_index - Zero-based axle index.
18
+ * @param chassi_reference - Reference frame.
19
+ * @returns Axle position.
20
+ */
21
+ get_axle_position(axle_index: number, chassi_reference: ChassiReference): number;
22
+ /**
23
+ * @param pin_index - Zero-based pin index.
24
+ * @param chassi_reference - Reference frame.
25
+ * @returns Pin position.
26
+ */
27
+ get_pin_position(pin_index: number, chassi_reference: ChassiReference): number;
28
+ /**
29
+ * @param grouper_index - Grouper id (1-based).
30
+ * @param chassi_reference - Reference frame.
31
+ * @returns Grouper end position.
32
+ */
33
+ get_grouper_end(grouper_index: number, chassi_reference: ChassiReference): number;
34
+ /**
35
+ * @param chassi_reference - Reference frame.
36
+ * @returns Offset for reference change.
37
+ */
38
+ private chassi_reference_change_value;
39
+ /**
40
+ * @param transport - Parsed transport.
41
+ */
42
+ private calculate_axles_positions;
43
+ /**
44
+ * @param merged_containers - Merged grouper geometry.
45
+ */
46
+ private calculate_groupers_positions;
47
+ /**
48
+ * @param merged_containers - Merged grouper geometry.
49
+ */
50
+ private calculate_pins_positions;
51
+ }
52
+ //# sourceMappingURL=Chassi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chassi.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/Chassi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C;;GAEG;AACH,qBAAa,MAAM;IAEf,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,WAAW,CAAe;IAElC;;OAEG;gBACS,SAAS,EAAE,SAAS;IAShC;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,GAAG,MAAM;IAMhF;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,GAAG,MAAM;IAM9E;;;;OAIG;IACH,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,GAAG,MAAM;IAMjF;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAarC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAepC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAgBnC"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chassi = void 0;
4
+ const ChassiReference_js_1 = require("../../contracts/ChassiReference.js");
5
+ const MergedContainers_js_1 = require("./MergedContainers.js");
6
+ /**
7
+ * Chassis geometry reference frame for equilibrium models.
8
+ */
9
+ class Chassi {
10
+ first_axle_distance;
11
+ axle_positions = [];
12
+ pin_positions = [];
13
+ grouper_start = [];
14
+ grouper_end = [];
15
+ /**
16
+ * @param transport - Parsed transport.
17
+ */
18
+ constructor(transport) {
19
+ this.first_axle_distance = transport.first_axle_distance;
20
+ const merged = new MergedContainers_js_1.MergedContainers(transport);
21
+ this.calculate_groupers_positions(merged);
22
+ this.calculate_axles_positions(transport);
23
+ this.calculate_pins_positions(merged);
24
+ }
25
+ /**
26
+ * @param axle_index - Zero-based axle index.
27
+ * @param chassi_reference - Reference frame.
28
+ * @returns Axle position.
29
+ */
30
+ get_axle_position(axle_index, chassi_reference) {
31
+ return this.axle_positions[axle_index]
32
+ + this.chassi_reference_change_value(chassi_reference);
33
+ }
34
+ /**
35
+ * @param pin_index - Zero-based pin index.
36
+ * @param chassi_reference - Reference frame.
37
+ * @returns Pin position.
38
+ */
39
+ get_pin_position(pin_index, chassi_reference) {
40
+ return this.pin_positions[pin_index]
41
+ + this.chassi_reference_change_value(chassi_reference);
42
+ }
43
+ /**
44
+ * @param grouper_index - Grouper id (1-based).
45
+ * @param chassi_reference - Reference frame.
46
+ * @returns Grouper end position.
47
+ */
48
+ get_grouper_end(grouper_index, chassi_reference) {
49
+ return this.grouper_end[grouper_index - 1]
50
+ + this.chassi_reference_change_value(chassi_reference);
51
+ }
52
+ /**
53
+ * @param chassi_reference - Reference frame.
54
+ * @returns Offset for reference change.
55
+ */
56
+ chassi_reference_change_value(chassi_reference) {
57
+ if (chassi_reference === ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1) {
58
+ return 0;
59
+ }
60
+ if (chassi_reference === ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2) {
61
+ return -this.grouper_start[1];
62
+ }
63
+ return this.first_axle_distance;
64
+ }
65
+ /**
66
+ * @param transport - Parsed transport.
67
+ */
68
+ calculate_axles_positions(transport) {
69
+ this.axle_positions = [-this.first_axle_distance];
70
+ const indexes = transport.axle_manager.list_axles_indexes();
71
+ for (let index = 1; index < indexes.length; index++) {
72
+ const axle = transport.axle_manager.get_axle(index);
73
+ const previous = this.axle_positions[index - 1];
74
+ this.axle_positions.push(previous + axle.distance_from_previous_axle);
75
+ }
76
+ }
77
+ /**
78
+ * @param merged_containers - Merged grouper geometry.
79
+ */
80
+ calculate_groupers_positions(merged_containers) {
81
+ const first = merged_containers.get_container_by_grouper_index(1);
82
+ this.grouper_start = [0];
83
+ this.grouper_end = [first.length];
84
+ if (merged_containers.list_grouper_indexes().length <= 1) {
85
+ return;
86
+ }
87
+ const second = merged_containers.get_container_by_grouper_index(2);
88
+ const second_start = this.grouper_end[0] + (second.container_distance_ahead ?? 0);
89
+ this.grouper_start.push(second_start);
90
+ this.grouper_end.push(second_start + second.length);
91
+ }
92
+ /**
93
+ * @param merged_containers - Merged grouper geometry.
94
+ */
95
+ calculate_pins_positions(merged_containers) {
96
+ const first = merged_containers.get_container_by_grouper_index(1);
97
+ this.pin_positions = [first.main_pin_distance ?? 0];
98
+ if (merged_containers.list_grouper_indexes().length <= 1) {
99
+ return;
100
+ }
101
+ const second = merged_containers.get_container_by_grouper_index(2);
102
+ if (second.main_pin_distance === null) {
103
+ return;
104
+ }
105
+ const second_pin = this.grouper_start[1] + second.main_pin_distance;
106
+ this.pin_positions.push(second_pin);
107
+ }
108
+ }
109
+ exports.Chassi = Chassi;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Container segment from wire JSON.
3
+ */
4
+ export declare class ContainerRecord {
5
+ length: number;
6
+ width: number;
7
+ height: number;
8
+ sequence_index: number;
9
+ main_pin_distance: number | null;
10
+ container_distance_ahead: number | null;
11
+ grouper: number;
12
+ max_supported_weight: number;
13
+ tare: number;
14
+ supported_weight: number;
15
+ raw: Record<string, unknown>;
16
+ /**
17
+ * @param data - Raw container object.
18
+ */
19
+ constructor(data: Record<string, unknown>);
20
+ /**
21
+ * @returns Container volume (length × width × height).
22
+ */
23
+ volume(): number;
24
+ }
25
+ //# sourceMappingURL=ContainerRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerRecord.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/ContainerRecord.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,eAAe;IAExB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,MAAM,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5B;;OAEG;gBACS,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAezC;;OAEG;IACH,MAAM,IAAI,MAAM;CAInB"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerRecord = void 0;
4
+ const WireFlags_js_1 = require("../../contracts/WireFlags.js");
5
+ /**
6
+ * Container segment from wire JSON.
7
+ */
8
+ class ContainerRecord {
9
+ length;
10
+ width;
11
+ height;
12
+ sequence_index;
13
+ main_pin_distance;
14
+ container_distance_ahead;
15
+ grouper;
16
+ max_supported_weight;
17
+ tare;
18
+ supported_weight;
19
+ raw;
20
+ /**
21
+ * @param data - Raw container object.
22
+ */
23
+ constructor(data) {
24
+ this.length = Number(data[WireFlags_js_1.WIRE_FLAGS.LENGTH]);
25
+ this.width = Number(data[WireFlags_js_1.WIRE_FLAGS.WIDTH]);
26
+ this.height = Number(data[WireFlags_js_1.WIRE_FLAGS.HEIGHT]);
27
+ this.sequence_index = Number(data[WireFlags_js_1.WIRE_FLAGS.SEQUENCE]);
28
+ this.main_pin_distance = read_optional(data[WireFlags_js_1.WIRE_FLAGS.MAIN_PIN_DISTANCE]);
29
+ this.container_distance_ahead = read_optional(data[WireFlags_js_1.WIRE_FLAGS.CONTAINER_DISTANCE_AHEAD]);
30
+ this.grouper = Number(data[WireFlags_js_1.WIRE_FLAGS.GROUPER]);
31
+ this.max_supported_weight = Number(data[WireFlags_js_1.WIRE_FLAGS.MAX_SUPPORTED_WEIGHT] ?? 0);
32
+ this.tare = Number(data[WireFlags_js_1.WIRE_FLAGS.TARE] ?? 0);
33
+ this.supported_weight = this.max_supported_weight - this.tare;
34
+ this.raw = { ...data };
35
+ }
36
+ /**
37
+ * @returns Container volume (length × width × height).
38
+ */
39
+ volume() {
40
+ return this.length * this.width * this.height;
41
+ }
42
+ }
43
+ exports.ContainerRecord = ContainerRecord;
44
+ /**
45
+ * @param value - Wire field value.
46
+ * @returns Number or null.
47
+ */
48
+ function read_optional(value) {
49
+ if (value === undefined || value === null) {
50
+ return null;
51
+ }
52
+ return Number(value);
53
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Raised when a transport lookup cannot find a container by sequence index.
3
+ */
4
+ export declare class ContainerSequenceNotFoundError extends Error {
5
+ /**
6
+ * @param sequence_index - Missing container sequence index.
7
+ */
8
+ constructor(sequence_index: number);
9
+ }
10
+ //# sourceMappingURL=ContainerSequenceNotFoundError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerSequenceNotFoundError.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/ContainerSequenceNotFoundError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IAErD;;OAEG;gBACS,cAAc,EAAE,MAAM;CAKrC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerSequenceNotFoundError = void 0;
4
+ /**
5
+ * Raised when a transport lookup cannot find a container by sequence index.
6
+ */
7
+ class ContainerSequenceNotFoundError extends Error {
8
+ /**
9
+ * @param sequence_index - Missing container sequence index.
10
+ */
11
+ constructor(sequence_index) {
12
+ super(`Container sequence ${sequence_index} not found`);
13
+ this.name = 'ContainerSequenceNotFoundError';
14
+ }
15
+ }
16
+ exports.ContainerSequenceNotFoundError = ContainerSequenceNotFoundError;
@@ -0,0 +1,34 @@
1
+ import { ContainerRecord } from './ContainerRecord.js';
2
+ /**
3
+ * Containers merged per grouper.
4
+ */
5
+ export declare class GroupedContainers {
6
+ grouper: number;
7
+ merged_container: ContainerRecord | null;
8
+ private containers;
9
+ /**
10
+ * @param grouper - Grouper id.
11
+ */
12
+ constructor(grouper: number);
13
+ get length(): number;
14
+ get container_distance_ahead(): number | null;
15
+ get main_pin_distance(): number | null;
16
+ /**
17
+ * @param container - Container to add.
18
+ */
19
+ add_container(container: ContainerRecord): void;
20
+ /**
21
+ * Merges segment lengths into first container of grouper.
22
+ */
23
+ generate_merged_container(): void;
24
+ /**
25
+ * @param sequence_index - Container sequence.
26
+ * @returns Container record.
27
+ */
28
+ get_container_by_sequence_index(sequence_index: number): ContainerRecord;
29
+ /**
30
+ * @returns Sorted sequence indexes.
31
+ */
32
+ list_containers_sequence_indexes(): number[];
33
+ }
34
+ //# sourceMappingURL=GroupedContainers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupedContainers.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/GroupedContainers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAO;IAC/C,OAAO,CAAC,UAAU,CAAqC;IAEvD;;OAEG;gBACS,OAAO,EAAE,MAAM;IAK3B,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAG5C;IAED,IAAI,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAGrC;IAED;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAQ/C;;OAEG;IACH,yBAAyB,IAAI,IAAI;IAYjC;;;OAGG;IACH,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe;IAUxE;;OAEG;IACH,gCAAgC,IAAI,MAAM,EAAE;CAI/C"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupedContainers = void 0;
4
+ const ContainerRecord_js_1 = require("./ContainerRecord.js");
5
+ const MissingContainerError_js_1 = require("./MissingContainerError.js");
6
+ /**
7
+ * Containers merged per grouper.
8
+ */
9
+ class GroupedContainers {
10
+ grouper;
11
+ merged_container = null;
12
+ containers = new Map();
13
+ /**
14
+ * @param grouper - Grouper id.
15
+ */
16
+ constructor(grouper) {
17
+ this.grouper = grouper;
18
+ }
19
+ get length() {
20
+ return this.merged_container.length;
21
+ }
22
+ get container_distance_ahead() {
23
+ return this.merged_container.container_distance_ahead;
24
+ }
25
+ get main_pin_distance() {
26
+ return this.merged_container.main_pin_distance;
27
+ }
28
+ /**
29
+ * @param container - Container to add.
30
+ */
31
+ add_container(container) {
32
+ if (container.grouper === this.grouper) {
33
+ this.containers.set(container.sequence_index, container);
34
+ }
35
+ }
36
+ /**
37
+ * Merges segment lengths into first container of grouper.
38
+ */
39
+ generate_merged_container() {
40
+ const sequence_indexes = this.list_containers_sequence_indexes();
41
+ const first = this.get_container_by_sequence_index(sequence_indexes[0]);
42
+ this.merged_container = clone_container(first);
43
+ for (let index = 1; index < sequence_indexes.length; index++) {
44
+ const next = this.get_container_by_sequence_index(sequence_indexes[index]);
45
+ this.merged_container.length += next.length;
46
+ }
47
+ }
48
+ /**
49
+ * @param sequence_index - Container sequence.
50
+ * @returns Container record.
51
+ */
52
+ get_container_by_sequence_index(sequence_index) {
53
+ const container = this.containers.get(sequence_index);
54
+ if (!container) {
55
+ throw new MissingContainerError_js_1.MissingContainerError(sequence_index);
56
+ }
57
+ return container;
58
+ }
59
+ /**
60
+ * @returns Sorted sequence indexes.
61
+ */
62
+ list_containers_sequence_indexes() {
63
+ return [...this.containers.keys()].sort((left, right) => left - right);
64
+ }
65
+ }
66
+ exports.GroupedContainers = GroupedContainers;
67
+ /**
68
+ * @param source - Container to clone.
69
+ * @returns Shallow clone with same wire fields.
70
+ */
71
+ function clone_container(source) {
72
+ return new ContainerRecord_js_1.ContainerRecord({ ...source.raw });
73
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Raised when a merged-container lookup cannot find the requested grouper.
3
+ */
4
+ export declare class GrouperNotFoundError extends Error {
5
+ /**
6
+ * @param grouper - Missing grouper id.
7
+ */
8
+ constructor(grouper: number);
9
+ }
10
+ //# sourceMappingURL=GrouperNotFoundError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrouperNotFoundError.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/GrouperNotFoundError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C;;OAEG;gBACS,OAAO,EAAE,MAAM;CAK9B"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrouperNotFoundError = void 0;
4
+ /**
5
+ * Raised when a merged-container lookup cannot find the requested grouper.
6
+ */
7
+ class GrouperNotFoundError extends Error {
8
+ /**
9
+ * @param grouper - Missing grouper id.
10
+ */
11
+ constructor(grouper) {
12
+ super(`Grouper ${grouper} not found`);
13
+ this.name = 'GrouperNotFoundError';
14
+ }
15
+ }
16
+ exports.GrouperNotFoundError = GrouperNotFoundError;
@@ -0,0 +1,26 @@
1
+ import type { Transport } from './Transport.js';
2
+ import { GroupedContainers } from './GroupedContainers.js';
3
+ /**
4
+ * Grouper-level merged container geometry.
5
+ */
6
+ export declare class MergedContainers {
7
+ private all_grouped_containers;
8
+ /**
9
+ * @param transport - Parsed transport.
10
+ */
11
+ constructor(transport: Transport);
12
+ /**
13
+ * @param transport - Parsed transport.
14
+ */
15
+ setup(transport: Transport): void;
16
+ /**
17
+ * @returns Grouper id list.
18
+ */
19
+ list_grouper_indexes(): number[];
20
+ /**
21
+ * @param grouper - Grouper id.
22
+ * @returns Grouped containers.
23
+ */
24
+ get_container_by_grouper_index(grouper: number): GroupedContainers;
25
+ }
26
+ //# sourceMappingURL=MergedContainers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergedContainers.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/MergedContainers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,sBAAsB,CAAuC;IAErE;;OAEG;gBACS,SAAS,EAAE,SAAS;IAKhC;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAmBjC;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAKhC;;;OAGG;IACH,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB;CASrE"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MergedContainers = void 0;
4
+ const GroupedContainers_js_1 = require("./GroupedContainers.js");
5
+ const GrouperNotFoundError_js_1 = require("./GrouperNotFoundError.js");
6
+ /**
7
+ * Grouper-level merged container geometry.
8
+ */
9
+ class MergedContainers {
10
+ all_grouped_containers = new Map();
11
+ /**
12
+ * @param transport - Parsed transport.
13
+ */
14
+ constructor(transport) {
15
+ this.setup(transport);
16
+ }
17
+ /**
18
+ * @param transport - Parsed transport.
19
+ */
20
+ setup(transport) {
21
+ for (const sequence_index of transport.list_containers_sequence_indexes()) {
22
+ const container = transport.get_container_by_sequence_index(sequence_index);
23
+ if (!this.all_grouped_containers.has(container.grouper)) {
24
+ this.all_grouped_containers.set(container.grouper, new GroupedContainers_js_1.GroupedContainers(container.grouper));
25
+ }
26
+ this.get_container_by_grouper_index(container.grouper).add_container(container);
27
+ }
28
+ for (const grouper of this.all_grouped_containers.keys()) {
29
+ this.get_container_by_grouper_index(grouper).generate_merged_container();
30
+ }
31
+ }
32
+ /**
33
+ * @returns Grouper id list.
34
+ */
35
+ list_grouper_indexes() {
36
+ return [...this.all_grouped_containers.keys()];
37
+ }
38
+ /**
39
+ * @param grouper - Grouper id.
40
+ * @returns Grouped containers.
41
+ */
42
+ get_container_by_grouper_index(grouper) {
43
+ const grouped = this.all_grouped_containers.get(grouper);
44
+ if (!grouped) {
45
+ throw new GrouperNotFoundError_js_1.GrouperNotFoundError(grouper);
46
+ }
47
+ return grouped;
48
+ }
49
+ }
50
+ exports.MergedContainers = MergedContainers;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Raised when a grouped container sequence is not present in the grouper.
3
+ */
4
+ export declare class MissingContainerError extends Error {
5
+ /**
6
+ * @param sequence_index - Missing container sequence index.
7
+ */
8
+ constructor(sequence_index: number);
9
+ }
10
+ //# sourceMappingURL=MissingContainerError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingContainerError.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/MissingContainerError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C;;OAEG;gBACS,cAAc,EAAE,MAAM;CAKrC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MissingContainerError = void 0;
4
+ /**
5
+ * Raised when a grouped container sequence is not present in the grouper.
6
+ */
7
+ class MissingContainerError extends Error {
8
+ /**
9
+ * @param sequence_index - Missing container sequence index.
10
+ */
11
+ constructor(sequence_index) {
12
+ super(`Missing container ${sequence_index}`);
13
+ this.name = 'MissingContainerError';
14
+ }
15
+ }
16
+ exports.MissingContainerError = MissingContainerError;
@@ -0,0 +1,33 @@
1
+ import { type VehicleTypeCode } from '../../contracts/VehicleType.js';
2
+ import type { TransportRecord } from '../../contracts/TransportRecord.js';
3
+ import { AxleManager } from './AxleManager.js';
4
+ import { ContainerRecord } from './ContainerRecord.js';
5
+ /**
6
+ * Parsed transport matching jettainterface.Transport behavior used by axleweight.
7
+ */
8
+ export declare class Transport {
9
+ id: string;
10
+ containers: Map<number, ContainerRecord>;
11
+ amount: number;
12
+ supported_weight: number;
13
+ tare: number;
14
+ axle_manager: AxleManager;
15
+ first_axle_distance: number;
16
+ vehicle_type: VehicleTypeCode;
17
+ vehicle_version: number;
18
+ suspension_type: string | null;
19
+ /**
20
+ * @param transport_data - Raw transport dict.
21
+ */
22
+ constructor(transport_data: TransportRecord);
23
+ /**
24
+ * @returns Sorted container sequence indexes.
25
+ */
26
+ list_containers_sequence_indexes(): number[];
27
+ /**
28
+ * @param sequence_index - Container sequence.
29
+ * @returns Container record.
30
+ */
31
+ get_container_by_sequence_index(sequence_index: number): ContainerRecord;
32
+ }
33
+ //# sourceMappingURL=Transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/Transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD;;GAEG;AACH,qBAAa,SAAS;IAElB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,WAAW,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,eAAe,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;OAEG;gBACS,cAAc,EAAE,eAAe;IAe3C;;OAEG;IACH,gCAAgC,IAAI,MAAM,EAAE;IAK5C;;;OAGG;IACH,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe;CAS3E"}