formulab 0.1.0 → 0.5.0

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 (450) hide show
  1. package/CHANGELOG.md +283 -2
  2. package/README.md +147 -48
  3. package/dist/automotive/brakingDistance.d.ts +16 -0
  4. package/dist/automotive/brakingDistance.d.ts.map +1 -0
  5. package/dist/automotive/brakingDistance.js +47 -0
  6. package/dist/automotive/brakingDistance.js.map +1 -0
  7. package/dist/automotive/gearRatio.d.ts +2 -2
  8. package/dist/automotive/gearRatio.d.ts.map +1 -1
  9. package/dist/automotive/gearRatio.js +1 -1
  10. package/dist/automotive/gearRatio.js.map +1 -1
  11. package/dist/automotive/index.d.ts +2 -1
  12. package/dist/automotive/index.d.ts.map +1 -1
  13. package/dist/automotive/index.js +1 -0
  14. package/dist/automotive/index.js.map +1 -1
  15. package/dist/automotive/types.d.ts +18 -2
  16. package/dist/automotive/types.d.ts.map +1 -1
  17. package/dist/battery/batteryPackConfig.d.ts +10 -0
  18. package/dist/battery/batteryPackConfig.d.ts.map +1 -0
  19. package/dist/battery/batteryPackConfig.js +28 -0
  20. package/dist/battery/batteryPackConfig.js.map +1 -0
  21. package/dist/battery/bmsBalancing.d.ts +11 -0
  22. package/dist/battery/bmsBalancing.d.ts.map +1 -0
  23. package/dist/battery/bmsBalancing.js +47 -0
  24. package/dist/battery/bmsBalancing.js.map +1 -0
  25. package/dist/battery/cRate.d.ts +10 -0
  26. package/dist/battery/cRate.d.ts.map +1 -0
  27. package/dist/battery/cRate.js +29 -0
  28. package/dist/battery/cRate.js.map +1 -0
  29. package/dist/battery/chargingProfile.d.ts +11 -0
  30. package/dist/battery/chargingProfile.d.ts.map +1 -0
  31. package/dist/battery/chargingProfile.js +38 -0
  32. package/dist/battery/chargingProfile.js.map +1 -0
  33. package/dist/battery/cycleLife.d.ts +11 -0
  34. package/dist/battery/cycleLife.d.ts.map +1 -0
  35. package/dist/battery/cycleLife.js +70 -0
  36. package/dist/battery/cycleLife.js.map +1 -0
  37. package/dist/battery/energyDensity.d.ts +10 -0
  38. package/dist/battery/energyDensity.d.ts.map +1 -0
  39. package/dist/battery/energyDensity.js +20 -0
  40. package/dist/battery/energyDensity.js.map +1 -0
  41. package/dist/battery/index.d.ts +12 -0
  42. package/dist/battery/index.d.ts.map +1 -0
  43. package/dist/battery/index.js +12 -0
  44. package/dist/battery/index.js.map +1 -0
  45. package/dist/battery/internalResistance.d.ts +11 -0
  46. package/dist/battery/internalResistance.d.ts.map +1 -0
  47. package/dist/battery/internalResistance.js +18 -0
  48. package/dist/battery/internalResistance.js.map +1 -0
  49. package/dist/battery/selfDischarge.d.ts +10 -0
  50. package/dist/battery/selfDischarge.d.ts.map +1 -0
  51. package/dist/battery/selfDischarge.js +17 -0
  52. package/dist/battery/selfDischarge.js.map +1 -0
  53. package/dist/battery/stateOfHealth.d.ts +11 -0
  54. package/dist/battery/stateOfHealth.d.ts.map +1 -0
  55. package/dist/battery/stateOfHealth.js +33 -0
  56. package/dist/battery/stateOfHealth.js.map +1 -0
  57. package/dist/battery/thermalRunaway.d.ts +11 -0
  58. package/dist/battery/thermalRunaway.d.ts.map +1 -0
  59. package/dist/battery/thermalRunaway.js +28 -0
  60. package/dist/battery/thermalRunaway.js.map +1 -0
  61. package/dist/battery/types.d.ts +175 -0
  62. package/dist/battery/types.d.ts.map +1 -0
  63. package/dist/battery/types.js +5 -0
  64. package/dist/battery/types.js.map +1 -0
  65. package/dist/chemical/dilution.d.ts.map +1 -1
  66. package/dist/chemical/dilution.js +21 -24
  67. package/dist/chemical/dilution.js.map +1 -1
  68. package/dist/chemical/heatTransfer.d.ts +16 -0
  69. package/dist/chemical/heatTransfer.d.ts.map +1 -0
  70. package/dist/chemical/heatTransfer.js +85 -0
  71. package/dist/chemical/heatTransfer.js.map +1 -0
  72. package/dist/chemical/index.d.ts +3 -1
  73. package/dist/chemical/index.d.ts.map +1 -1
  74. package/dist/chemical/index.js +2 -0
  75. package/dist/chemical/index.js.map +1 -1
  76. package/dist/chemical/injectionCycle.d.ts +3 -0
  77. package/dist/chemical/injectionCycle.d.ts.map +1 -1
  78. package/dist/chemical/injectionCycle.js +1 -4
  79. package/dist/chemical/injectionCycle.js.map +1 -1
  80. package/dist/chemical/ph.d.ts +3 -0
  81. package/dist/chemical/ph.d.ts.map +1 -1
  82. package/dist/chemical/ph.js +1 -4
  83. package/dist/chemical/ph.js.map +1 -1
  84. package/dist/chemical/pipeFlow.d.ts +17 -0
  85. package/dist/chemical/pipeFlow.d.ts.map +1 -0
  86. package/dist/chemical/pipeFlow.js +112 -0
  87. package/dist/chemical/pipeFlow.js.map +1 -0
  88. package/dist/chemical/reactor.d.ts +3 -0
  89. package/dist/chemical/reactor.d.ts.map +1 -1
  90. package/dist/chemical/reactor.js +3 -6
  91. package/dist/chemical/reactor.js.map +1 -1
  92. package/dist/chemical/shelfLife.d.ts.map +1 -1
  93. package/dist/chemical/shelfLife.js +1 -7
  94. package/dist/chemical/shelfLife.js.map +1 -1
  95. package/dist/chemical/types.d.ts +82 -10
  96. package/dist/chemical/types.d.ts.map +1 -1
  97. package/dist/construction/index.d.ts +2 -1
  98. package/dist/construction/index.d.ts.map +1 -1
  99. package/dist/construction/index.js +1 -0
  100. package/dist/construction/index.js.map +1 -1
  101. package/dist/construction/momentOfInertia.d.ts +17 -0
  102. package/dist/construction/momentOfInertia.d.ts.map +1 -0
  103. package/dist/construction/momentOfInertia.js +204 -0
  104. package/dist/construction/momentOfInertia.js.map +1 -0
  105. package/dist/construction/pert.d.ts.map +1 -1
  106. package/dist/construction/pert.js +1 -17
  107. package/dist/construction/pert.js.map +1 -1
  108. package/dist/construction/types.d.ts +50 -0
  109. package/dist/construction/types.d.ts.map +1 -1
  110. package/dist/electronics/awg.d.ts.map +1 -1
  111. package/dist/electronics/awg.js +1 -4
  112. package/dist/electronics/awg.js.map +1 -1
  113. package/dist/electronics/capacitor.d.ts +3 -0
  114. package/dist/electronics/capacitor.d.ts.map +1 -1
  115. package/dist/electronics/capacitor.js +1 -4
  116. package/dist/electronics/capacitor.js.map +1 -1
  117. package/dist/electronics/index.d.ts +2 -1
  118. package/dist/electronics/index.d.ts.map +1 -1
  119. package/dist/electronics/index.js +1 -0
  120. package/dist/electronics/index.js.map +1 -1
  121. package/dist/electronics/led.d.ts.map +1 -1
  122. package/dist/electronics/led.js +1 -4
  123. package/dist/electronics/led.js.map +1 -1
  124. package/dist/electronics/ohmsLaw.d.ts +12 -0
  125. package/dist/electronics/ohmsLaw.d.ts.map +1 -0
  126. package/dist/electronics/ohmsLaw.js +69 -0
  127. package/dist/electronics/ohmsLaw.js.map +1 -0
  128. package/dist/electronics/smt-takt.d.ts +3 -0
  129. package/dist/electronics/smt-takt.d.ts.map +1 -1
  130. package/dist/electronics/smt-takt.js +1 -4
  131. package/dist/electronics/smt-takt.js.map +1 -1
  132. package/dist/electronics/solder.d.ts +3 -0
  133. package/dist/electronics/solder.d.ts.map +1 -1
  134. package/dist/electronics/solder.js +1 -4
  135. package/dist/electronics/solder.js.map +1 -1
  136. package/dist/electronics/stencil.d.ts.map +1 -1
  137. package/dist/electronics/stencil.js +1 -4
  138. package/dist/electronics/stencil.js.map +1 -1
  139. package/dist/electronics/trace.d.ts.map +1 -1
  140. package/dist/electronics/trace.js +1 -4
  141. package/dist/electronics/trace.js.map +1 -1
  142. package/dist/electronics/types.d.ts +24 -0
  143. package/dist/electronics/types.d.ts.map +1 -1
  144. package/dist/electronics/via.d.ts.map +1 -1
  145. package/dist/electronics/via.js +1 -4
  146. package/dist/electronics/via.js.map +1 -1
  147. package/dist/energy/carbonFootprint.d.ts.map +1 -1
  148. package/dist/energy/carbonFootprint.js +2 -1
  149. package/dist/energy/carbonFootprint.js.map +1 -1
  150. package/dist/energy/index.d.ts +2 -1
  151. package/dist/energy/index.d.ts.map +1 -1
  152. package/dist/energy/index.js +1 -0
  153. package/dist/energy/index.js.map +1 -1
  154. package/dist/energy/powerCost.d.ts.map +1 -1
  155. package/dist/energy/powerCost.js +2 -1
  156. package/dist/energy/powerCost.js.map +1 -1
  157. package/dist/energy/solarOutput.d.ts +14 -0
  158. package/dist/energy/solarOutput.d.ts.map +1 -0
  159. package/dist/energy/solarOutput.js +54 -0
  160. package/dist/energy/solarOutput.js.map +1 -0
  161. package/dist/energy/types.d.ts +20 -0
  162. package/dist/energy/types.d.ts.map +1 -1
  163. package/dist/environmental/emissionsIntensity.d.ts +11 -0
  164. package/dist/environmental/emissionsIntensity.d.ts.map +1 -0
  165. package/dist/environmental/emissionsIntensity.js +26 -0
  166. package/dist/environmental/emissionsIntensity.js.map +1 -0
  167. package/dist/environmental/energyIntensity.d.ts +11 -0
  168. package/dist/environmental/energyIntensity.d.ts.map +1 -0
  169. package/dist/environmental/energyIntensity.js +19 -0
  170. package/dist/environmental/energyIntensity.js.map +1 -0
  171. package/dist/environmental/esgSummary.d.ts +11 -0
  172. package/dist/environmental/esgSummary.d.ts.map +1 -0
  173. package/dist/environmental/esgSummary.js +39 -0
  174. package/dist/environmental/esgSummary.js.map +1 -0
  175. package/dist/environmental/gwpCalculator.d.ts +11 -0
  176. package/dist/environmental/gwpCalculator.d.ts.map +1 -0
  177. package/dist/environmental/gwpCalculator.js +31 -0
  178. package/dist/environmental/gwpCalculator.js.map +1 -0
  179. package/dist/environmental/index.d.ts +12 -0
  180. package/dist/environmental/index.d.ts.map +1 -0
  181. package/dist/environmental/index.js +12 -0
  182. package/dist/environmental/index.js.map +1 -0
  183. package/dist/environmental/productCarbonFootprint.d.ts +11 -0
  184. package/dist/environmental/productCarbonFootprint.d.ts.map +1 -0
  185. package/dist/environmental/productCarbonFootprint.js +29 -0
  186. package/dist/environmental/productCarbonFootprint.js.map +1 -0
  187. package/dist/environmental/scope1Emissions.d.ts +11 -0
  188. package/dist/environmental/scope1Emissions.d.ts.map +1 -0
  189. package/dist/environmental/scope1Emissions.js +35 -0
  190. package/dist/environmental/scope1Emissions.js.map +1 -0
  191. package/dist/environmental/scope2Emissions.d.ts +11 -0
  192. package/dist/environmental/scope2Emissions.d.ts.map +1 -0
  193. package/dist/environmental/scope2Emissions.js +49 -0
  194. package/dist/environmental/scope2Emissions.js.map +1 -0
  195. package/dist/environmental/scope3Emissions.d.ts +11 -0
  196. package/dist/environmental/scope3Emissions.d.ts.map +1 -0
  197. package/dist/environmental/scope3Emissions.js +36 -0
  198. package/dist/environmental/scope3Emissions.js.map +1 -0
  199. package/dist/environmental/types.d.ts +165 -0
  200. package/dist/environmental/types.d.ts.map +1 -0
  201. package/dist/environmental/types.js +5 -0
  202. package/dist/environmental/types.js.map +1 -0
  203. package/dist/environmental/vocEmissions.d.ts +11 -0
  204. package/dist/environmental/vocEmissions.d.ts.map +1 -0
  205. package/dist/environmental/vocEmissions.js +23 -0
  206. package/dist/environmental/vocEmissions.js.map +1 -0
  207. package/dist/environmental/waterFootprint.d.ts +11 -0
  208. package/dist/environmental/waterFootprint.d.ts.map +1 -0
  209. package/dist/environmental/waterFootprint.js +21 -0
  210. package/dist/environmental/waterFootprint.js.map +1 -0
  211. package/dist/index.d.ts +10 -2
  212. package/dist/index.d.ts.map +1 -1
  213. package/dist/index.js +10 -2
  214. package/dist/index.js.map +1 -1
  215. package/dist/logistics/cbm.d.ts +7 -2
  216. package/dist/logistics/cbm.d.ts.map +1 -1
  217. package/dist/logistics/cbm.js +7 -2
  218. package/dist/logistics/cbm.js.map +1 -1
  219. package/dist/logistics/eoq.d.ts.map +1 -1
  220. package/dist/logistics/eoq.js +11 -0
  221. package/dist/logistics/eoq.js.map +1 -1
  222. package/dist/logistics/fillRate.d.ts.map +1 -1
  223. package/dist/logistics/fillRate.js +1 -17
  224. package/dist/logistics/fillRate.js.map +1 -1
  225. package/dist/logistics/safetyStock.d.ts.map +1 -1
  226. package/dist/logistics/safetyStock.js +2 -55
  227. package/dist/logistics/safetyStock.js.map +1 -1
  228. package/dist/machining/boltCircle.d.ts +16 -0
  229. package/dist/machining/boltCircle.d.ts.map +1 -0
  230. package/dist/machining/boltCircle.js +36 -0
  231. package/dist/machining/boltCircle.js.map +1 -0
  232. package/dist/machining/boringBarDeflection.d.ts +17 -0
  233. package/dist/machining/boringBarDeflection.d.ts.map +1 -0
  234. package/dist/machining/boringBarDeflection.js +54 -0
  235. package/dist/machining/boringBarDeflection.js.map +1 -0
  236. package/dist/machining/cuspHeight.d.ts +15 -0
  237. package/dist/machining/cuspHeight.d.ts.map +1 -0
  238. package/dist/machining/cuspHeight.js +23 -0
  239. package/dist/machining/cuspHeight.js.map +1 -0
  240. package/dist/machining/cycleTimeEstimator.d.ts +18 -0
  241. package/dist/machining/cycleTimeEstimator.d.ts.map +1 -0
  242. package/dist/machining/cycleTimeEstimator.js +62 -0
  243. package/dist/machining/cycleTimeEstimator.js.map +1 -0
  244. package/dist/machining/effectiveDiameter.d.ts +17 -0
  245. package/dist/machining/effectiveDiameter.d.ts.map +1 -0
  246. package/dist/machining/effectiveDiameter.js +24 -0
  247. package/dist/machining/effectiveDiameter.js.map +1 -0
  248. package/dist/machining/gaugeBlockStack.d.ts +16 -0
  249. package/dist/machining/gaugeBlockStack.d.ts.map +1 -0
  250. package/dist/machining/gaugeBlockStack.js +138 -0
  251. package/dist/machining/gaugeBlockStack.js.map +1 -0
  252. package/dist/machining/index.d.ts +14 -0
  253. package/dist/machining/index.d.ts.map +1 -0
  254. package/dist/machining/index.js +14 -0
  255. package/dist/machining/index.js.map +1 -0
  256. package/dist/machining/radialChipThinning.d.ts +18 -0
  257. package/dist/machining/radialChipThinning.d.ts.map +1 -0
  258. package/dist/machining/radialChipThinning.js +30 -0
  259. package/dist/machining/radialChipThinning.js.map +1 -0
  260. package/dist/machining/sineBarHeight.d.ts +16 -0
  261. package/dist/machining/sineBarHeight.d.ts.map +1 -0
  262. package/dist/machining/sineBarHeight.js +32 -0
  263. package/dist/machining/sineBarHeight.js.map +1 -0
  264. package/dist/machining/threadOverWires.d.ts +21 -0
  265. package/dist/machining/threadOverWires.d.ts.map +1 -0
  266. package/dist/machining/threadOverWires.js +54 -0
  267. package/dist/machining/threadOverWires.js.map +1 -0
  268. package/dist/machining/toolDeflection.d.ts +16 -0
  269. package/dist/machining/toolDeflection.d.ts.map +1 -0
  270. package/dist/machining/toolDeflection.js +36 -0
  271. package/dist/machining/toolDeflection.js.map +1 -0
  272. package/dist/machining/triangleSolver.d.ts +21 -0
  273. package/dist/machining/triangleSolver.d.ts.map +1 -0
  274. package/dist/machining/triangleSolver.js +120 -0
  275. package/dist/machining/triangleSolver.js.map +1 -0
  276. package/dist/machining/truePosition.d.ts +19 -0
  277. package/dist/machining/truePosition.d.ts.map +1 -0
  278. package/dist/machining/truePosition.js +44 -0
  279. package/dist/machining/truePosition.js.map +1 -0
  280. package/dist/machining/types.d.ts +201 -0
  281. package/dist/machining/types.d.ts.map +1 -0
  282. package/dist/machining/types.js +2 -0
  283. package/dist/machining/types.js.map +1 -0
  284. package/dist/math.d.ts +26 -0
  285. package/dist/math.d.ts.map +1 -0
  286. package/dist/math.js +95 -0
  287. package/dist/math.js.map +1 -0
  288. package/dist/metal/bearing.d.ts.map +1 -1
  289. package/dist/metal/bearing.js +1 -4
  290. package/dist/metal/bearing.js.map +1 -1
  291. package/dist/metal/bendAllowance.d.ts.map +1 -1
  292. package/dist/metal/bendAllowance.js +2 -1
  293. package/dist/metal/bendAllowance.js.map +1 -1
  294. package/dist/metal/bolt.d.ts.map +1 -1
  295. package/dist/metal/bolt.js +4 -7
  296. package/dist/metal/bolt.js.map +1 -1
  297. package/dist/metal/cutting.d.ts.map +1 -1
  298. package/dist/metal/cutting.js +1 -4
  299. package/dist/metal/cutting.js.map +1 -1
  300. package/dist/metal/cuttingStock.d.ts.map +1 -1
  301. package/dist/metal/cuttingStock.js +1 -4
  302. package/dist/metal/cuttingStock.js.map +1 -1
  303. package/dist/metal/flangeSpec.d.ts +10 -0
  304. package/dist/metal/flangeSpec.d.ts.map +1 -0
  305. package/dist/metal/flangeSpec.js +81 -0
  306. package/dist/metal/flangeSpec.js.map +1 -0
  307. package/dist/metal/gear.d.ts.map +1 -1
  308. package/dist/metal/gear.js +1 -4
  309. package/dist/metal/gear.js.map +1 -1
  310. package/dist/metal/hardness.d.ts.map +1 -1
  311. package/dist/metal/hardness.js +1 -4
  312. package/dist/metal/hardness.js.map +1 -1
  313. package/dist/metal/index.d.ts +4 -1
  314. package/dist/metal/index.d.ts.map +1 -1
  315. package/dist/metal/index.js +3 -0
  316. package/dist/metal/index.js.map +1 -1
  317. package/dist/metal/materialGradeConverter.d.ts +10 -0
  318. package/dist/metal/materialGradeConverter.d.ts.map +1 -0
  319. package/dist/metal/materialGradeConverter.js +78 -0
  320. package/dist/metal/materialGradeConverter.js.map +1 -0
  321. package/dist/metal/metalWeight.d.ts +13 -3
  322. package/dist/metal/metalWeight.d.ts.map +1 -1
  323. package/dist/metal/metalWeight.js +24 -35
  324. package/dist/metal/metalWeight.js.map +1 -1
  325. package/dist/metal/pipeSpec.d.ts +10 -0
  326. package/dist/metal/pipeSpec.d.ts.map +1 -0
  327. package/dist/metal/pipeSpec.js +96 -0
  328. package/dist/metal/pipeSpec.js.map +1 -0
  329. package/dist/metal/pressFit.d.ts.map +1 -1
  330. package/dist/metal/pressFit.js +1 -4
  331. package/dist/metal/pressFit.js.map +1 -1
  332. package/dist/metal/pressTonnage.d.ts +10 -4
  333. package/dist/metal/pressTonnage.d.ts.map +1 -1
  334. package/dist/metal/pressTonnage.js +199 -25
  335. package/dist/metal/pressTonnage.js.map +1 -1
  336. package/dist/metal/roughness.d.ts.map +1 -1
  337. package/dist/metal/roughness.js +2 -5
  338. package/dist/metal/roughness.js.map +1 -1
  339. package/dist/metal/screw.d.ts.map +1 -1
  340. package/dist/metal/screw.js +1 -4
  341. package/dist/metal/screw.js.map +1 -1
  342. package/dist/metal/spring.d.ts.map +1 -1
  343. package/dist/metal/spring.js +1 -4
  344. package/dist/metal/spring.js.map +1 -1
  345. package/dist/metal/tap.d.ts.map +1 -1
  346. package/dist/metal/tap.js +1 -4
  347. package/dist/metal/tap.js.map +1 -1
  348. package/dist/metal/thread.d.ts.map +1 -1
  349. package/dist/metal/thread.js +1 -4
  350. package/dist/metal/thread.js.map +1 -1
  351. package/dist/metal/tolerance.d.ts.map +1 -1
  352. package/dist/metal/tolerance.js +1 -4
  353. package/dist/metal/tolerance.js.map +1 -1
  354. package/dist/metal/types.d.ts +100 -13
  355. package/dist/metal/types.d.ts.map +1 -1
  356. package/dist/metal/vibration.d.ts.map +1 -1
  357. package/dist/metal/vibration.js +1 -4
  358. package/dist/metal/vibration.js.map +1 -1
  359. package/dist/metal/weldHeat.d.ts +2 -1
  360. package/dist/metal/weldHeat.d.ts.map +1 -1
  361. package/dist/metal/weldHeat.js +203 -44
  362. package/dist/metal/weldHeat.js.map +1 -1
  363. package/dist/metal/welding.d.ts.map +1 -1
  364. package/dist/metal/welding.js +3 -2
  365. package/dist/metal/welding.js.map +1 -1
  366. package/dist/quality/aql.d.ts.map +1 -1
  367. package/dist/quality/aql.js +1 -4
  368. package/dist/quality/aql.js.map +1 -1
  369. package/dist/quality/controlChart.d.ts +26 -0
  370. package/dist/quality/controlChart.d.ts.map +1 -0
  371. package/dist/quality/controlChart.js +216 -0
  372. package/dist/quality/controlChart.js.map +1 -0
  373. package/dist/quality/cpk.d.ts +16 -4
  374. package/dist/quality/cpk.d.ts.map +1 -1
  375. package/dist/quality/cpk.js +16 -4
  376. package/dist/quality/cpk.js.map +1 -1
  377. package/dist/quality/downtime.d.ts.map +1 -1
  378. package/dist/quality/downtime.js +1 -4
  379. package/dist/quality/downtime.js.map +1 -1
  380. package/dist/quality/dpmo.d.ts.map +1 -1
  381. package/dist/quality/dpmo.js +2 -65
  382. package/dist/quality/dpmo.js.map +1 -1
  383. package/dist/quality/index.d.ts +2 -1
  384. package/dist/quality/index.d.ts.map +1 -1
  385. package/dist/quality/index.js +1 -0
  386. package/dist/quality/index.js.map +1 -1
  387. package/dist/quality/lineBalancing.d.ts.map +1 -1
  388. package/dist/quality/lineBalancing.js +1 -4
  389. package/dist/quality/lineBalancing.js.map +1 -1
  390. package/dist/quality/mtbf.d.ts.map +1 -1
  391. package/dist/quality/mtbf.js +1 -4
  392. package/dist/quality/mtbf.js.map +1 -1
  393. package/dist/quality/oee.d.ts +13 -1
  394. package/dist/quality/oee.d.ts.map +1 -1
  395. package/dist/quality/oee.js +30 -9
  396. package/dist/quality/oee.js.map +1 -1
  397. package/dist/quality/ppk.d.ts.map +1 -1
  398. package/dist/quality/ppk.js +2 -20
  399. package/dist/quality/ppk.js.map +1 -1
  400. package/dist/quality/ppm.d.ts.map +1 -1
  401. package/dist/quality/ppm.js +2 -84
  402. package/dist/quality/ppm.js.map +1 -1
  403. package/dist/quality/rpn.d.ts.map +1 -1
  404. package/dist/quality/rpn.js +1 -4
  405. package/dist/quality/rpn.js.map +1 -1
  406. package/dist/quality/types.d.ts +31 -0
  407. package/dist/quality/types.d.ts.map +1 -1
  408. package/dist/quality/yield.d.ts.map +1 -1
  409. package/dist/quality/yield.js +1 -4
  410. package/dist/quality/yield.js.map +1 -1
  411. package/dist/safety/fallClearance.d.ts +12 -3
  412. package/dist/safety/fallClearance.d.ts.map +1 -1
  413. package/dist/safety/fallClearance.js +73 -17
  414. package/dist/safety/fallClearance.js.map +1 -1
  415. package/dist/safety/index.d.ts +2 -1
  416. package/dist/safety/index.d.ts.map +1 -1
  417. package/dist/safety/index.js +1 -0
  418. package/dist/safety/index.js.map +1 -1
  419. package/dist/safety/nioshLifting.d.ts +19 -10
  420. package/dist/safety/nioshLifting.d.ts.map +1 -1
  421. package/dist/safety/nioshLifting.js +19 -10
  422. package/dist/safety/nioshLifting.js.map +1 -1
  423. package/dist/safety/types.d.ts +25 -0
  424. package/dist/safety/types.d.ts.map +1 -1
  425. package/dist/safety/ventilationRate.d.ts +12 -0
  426. package/dist/safety/ventilationRate.d.ts.map +1 -0
  427. package/dist/safety/ventilationRate.js +71 -0
  428. package/dist/safety/ventilationRate.js.map +1 -0
  429. package/dist/utility/assignment.d.ts.map +1 -1
  430. package/dist/utility/assignment.js +1 -7
  431. package/dist/utility/assignment.js.map +1 -1
  432. package/dist/utility/index.d.ts +2 -2
  433. package/dist/utility/index.d.ts.map +1 -1
  434. package/dist/utility/index.js +1 -1
  435. package/dist/utility/index.js.map +1 -1
  436. package/dist/utility/types.d.ts +0 -16
  437. package/dist/utility/types.d.ts.map +1 -1
  438. package/dist/utility/unit.d.ts +1 -1
  439. package/dist/utility/unit.d.ts.map +1 -1
  440. package/dist/utility/unit.js +2 -8
  441. package/dist/utility/unit.js.map +1 -1
  442. package/dist/utils.d.ts +5 -1
  443. package/dist/utils.d.ts.map +1 -1
  444. package/dist/utils.js +11 -2
  445. package/dist/utils.js.map +1 -1
  446. package/package.json +37 -4
  447. package/dist/utility/qrcode.d.ts +0 -30
  448. package/dist/utility/qrcode.d.ts.map +0 -1
  449. package/dist/utility/qrcode.js +0 -30
  450. package/dist/utility/qrcode.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gwpCalculator.js","sourceRoot":"","sources":["../../src/environmental/gwpCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;GAGG;AACH,MAAM,SAAS,GAAmD;IAChE,GAAG,EAAM,EAAE,KAAK,EAAE,CAAC,EAAM,MAAM,EAAE,CAAC,EAAM,MAAM,EAAE,CAAC,EAAE;IACnD,GAAG,EAAM,EAAE,KAAK,EAAE,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,GAAG,EAAE;IACrD,GAAG,EAAM,EAAE,KAAK,EAAE,GAAG,EAAI,MAAM,EAAE,GAAG,EAAI,MAAM,EAAE,GAAG,EAAE;IACrD,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,GAAG,EAAE;IACrD,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAI,MAAM,EAAE,GAAG,EAAI,MAAM,EAAE,EAAE,EAAE;IACpD,GAAG,EAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACvD,GAAG,EAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACvD,GAAG,EAAM,EAAE,KAAK,EAAE,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,KAAK,EAAE;CACxD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE1D,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAE/C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type { FuelType, GhgGas, GridRegion, Scope3Category, WaterType, Scope1EmissionsInput, Scope1EmissionsResult, Scope2EmissionsInput, Scope2EmissionsResult, Scope3EmissionsInput, Scope3EmissionsResult, VocEmissionsInput, VocEmissionsResult, LifecycleStage, ProductCarbonFootprintInput, ProductCarbonFootprintResult, GwpTimeHorizon, GwpCalculatorInput, GwpCalculatorResult, EnergyIntensityInput, EnergyIntensityResult, WaterFootprintInput, WaterFootprintResult, EmissionsIntensityInput, EmissionsIntensityResult, EsgSummaryInput, EsgSummaryResult, } from './types.js';
2
+ export { scope1Emissions } from './scope1Emissions.js';
3
+ export { scope2Emissions } from './scope2Emissions.js';
4
+ export { scope3Emissions } from './scope3Emissions.js';
5
+ export { vocEmissions } from './vocEmissions.js';
6
+ export { productCarbonFootprint } from './productCarbonFootprint.js';
7
+ export { gwpCalculator } from './gwpCalculator.js';
8
+ export { energyIntensity } from './energyIntensity.js';
9
+ export { waterFootprint } from './waterFootprint.js';
10
+ export { emissionsIntensity } from './emissionsIntensity.js';
11
+ export { esgSummary } from './esgSummary.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/environmental/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,2BAA2B,EAC3B,4BAA4B,EAC5B,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ // Functions
2
+ export { scope1Emissions } from './scope1Emissions.js';
3
+ export { scope2Emissions } from './scope2Emissions.js';
4
+ export { scope3Emissions } from './scope3Emissions.js';
5
+ export { vocEmissions } from './vocEmissions.js';
6
+ export { productCarbonFootprint } from './productCarbonFootprint.js';
7
+ export { gwpCalculator } from './gwpCalculator.js';
8
+ export { energyIntensity } from './energyIntensity.js';
9
+ export { waterFootprint } from './waterFootprint.js';
10
+ export { emissionsIntensity } from './emissionsIntensity.js';
11
+ export { esgSummary } from './esgSummary.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/environmental/index.ts"],"names":[],"mappings":"AA+BA,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ProductCarbonFootprintInput, ProductCarbonFootprintResult } from './types.js';
2
+ /**
3
+ * Calculate product carbon footprint across lifecycle stages
4
+ *
5
+ * @formula total = Σ stages, perUnit = total / quantity
6
+ * @reference ISO 14067, PAS 2050
7
+ * @param input - Lifecycle stages with CO2 and production quantity
8
+ * @returns Total and per-unit carbon footprint with stage breakdown
9
+ */
10
+ export declare function productCarbonFootprint(input: ProductCarbonFootprintInput): ProductCarbonFootprintResult;
11
+ //# sourceMappingURL=productCarbonFootprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productCarbonFootprint.d.ts","sourceRoot":"","sources":["../../src/environmental/productCarbonFootprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE5F;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,4BAA4B,CAyBvG"}
@@ -0,0 +1,29 @@
1
+ import { roundTo } from '../utils.js';
2
+ /**
3
+ * Calculate product carbon footprint across lifecycle stages
4
+ *
5
+ * @formula total = Σ stages, perUnit = total / quantity
6
+ * @reference ISO 14067, PAS 2050
7
+ * @param input - Lifecycle stages with CO2 and production quantity
8
+ * @returns Total and per-unit carbon footprint with stage breakdown
9
+ */
10
+ export function productCarbonFootprint(input) {
11
+ const { stages, productionQuantity } = input;
12
+ const totalCo2Kg = roundTo(stages.reduce((sum, s) => sum + s.co2Kg, 0), 2);
13
+ const perUnitCo2Kg = roundTo(totalCo2Kg / productionQuantity, 4);
14
+ const stageBreakdown = stages.map(s => ({
15
+ name: s.name,
16
+ co2Kg: roundTo(s.co2Kg, 2),
17
+ percent: roundTo((s.co2Kg / totalCo2Kg) * 100, 1),
18
+ }));
19
+ let dominantStage = stages[0].name;
20
+ let maxCo2 = stages[0].co2Kg;
21
+ for (const s of stages) {
22
+ if (s.co2Kg > maxCo2) {
23
+ maxCo2 = s.co2Kg;
24
+ dominantStage = s.name;
25
+ }
26
+ }
27
+ return { totalCo2Kg, perUnitCo2Kg, stageBreakdown, dominantStage };
28
+ }
29
+ //# sourceMappingURL=productCarbonFootprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productCarbonFootprint.js","sourceRoot":"","sources":["../../src/environmental/productCarbonFootprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAE7C,MAAM,UAAU,GAAG,OAAO,CACxB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAC3C,CAAC,CACF,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;KAClD,CAAC,CAAC,CAAC;IAEJ,IAAI,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;YACjB,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AACrE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Scope1EmissionsInput, Scope1EmissionsResult } from './types.js';
2
+ /**
3
+ * Calculate Scope 1 (direct) CO2 emissions from fuel combustion
4
+ *
5
+ * @formula CO2 = quantity × emissionFactor
6
+ * @reference GHG Protocol, EPA Emission Factors Hub, IPCC 2006
7
+ * @param input - Fuel type and quantity consumed
8
+ * @returns CO2 emissions in kg and tonnes
9
+ */
10
+ export declare function scope1Emissions(input: Scope1EmissionsInput): Scope1EmissionsResult;
11
+ //# sourceMappingURL=scope1Emissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope1Emissions.d.ts","sourceRoot":"","sources":["../../src/environmental/scope1Emissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAexF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAclF"}
@@ -0,0 +1,35 @@
1
+ import { roundTo } from '../utils.js';
2
+ /**
3
+ * Combustion emission factors (kgCO2 per unit)
4
+ * @reference EPA GHG Emission Factors Hub, IPCC 2006
5
+ */
6
+ const COMBUSTION_FACTORS = {
7
+ naturalGas: { factor: 1.885, unit: 'm³' }, // kgCO2/m³
8
+ diesel: { factor: 2.68, unit: 'L' }, // kgCO2/L
9
+ gasoline: { factor: 2.31, unit: 'L' }, // kgCO2/L
10
+ lpg: { factor: 1.51, unit: 'L' }, // kgCO2/L
11
+ coal: { factor: 2.42, unit: 'kg' }, // kgCO2/kg
12
+ fuelOil: { factor: 3.15, unit: 'L' }, // kgCO2/L
13
+ };
14
+ /**
15
+ * Calculate Scope 1 (direct) CO2 emissions from fuel combustion
16
+ *
17
+ * @formula CO2 = quantity × emissionFactor
18
+ * @reference GHG Protocol, EPA Emission Factors Hub, IPCC 2006
19
+ * @param input - Fuel type and quantity consumed
20
+ * @returns CO2 emissions in kg and tonnes
21
+ */
22
+ export function scope1Emissions(input) {
23
+ const { fuelType, quantity } = input;
24
+ const { factor, unit } = COMBUSTION_FACTORS[fuelType];
25
+ const co2Kg = roundTo(quantity * factor, 2);
26
+ const co2Tonnes = roundTo(co2Kg / 1000, 4);
27
+ return {
28
+ co2Kg,
29
+ co2Tonnes,
30
+ fuelType,
31
+ emissionFactor: factor,
32
+ unit,
33
+ };
34
+ }
35
+ //# sourceMappingURL=scope1Emissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope1Emissions.js","sourceRoot":"","sources":["../../src/environmental/scope1Emissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;GAGG;AACH,MAAM,kBAAkB,GAAuD;IAC7E,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAK,WAAW;IACzD,MAAM,EAAM,EAAE,MAAM,EAAE,IAAI,EAAG,IAAI,EAAE,GAAG,EAAE,EAAO,UAAU;IACzD,QAAQ,EAAI,EAAE,MAAM,EAAE,IAAI,EAAG,IAAI,EAAE,GAAG,EAAE,EAAO,UAAU;IACzD,GAAG,EAAS,EAAE,MAAM,EAAE,IAAI,EAAG,IAAI,EAAE,GAAG,EAAE,EAAO,UAAU;IACzD,IAAI,EAAQ,EAAE,MAAM,EAAE,IAAI,EAAG,IAAI,EAAE,IAAI,EAAE,EAAM,WAAW;IAC1D,OAAO,EAAK,EAAE,MAAM,EAAE,IAAI,EAAG,IAAI,EAAE,GAAG,EAAE,EAAO,UAAU;CAC1D,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,KAAK;QACL,SAAS;QACT,QAAQ;QACR,cAAc,EAAE,MAAM;QACtB,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Scope2EmissionsInput, Scope2EmissionsResult } from './types.js';
2
+ /**
3
+ * Calculate Scope 2 (indirect) CO2 emissions from purchased electricity
4
+ *
5
+ * @formula CO2(kg) = kWh × gridFactor / 1000
6
+ * @reference GHG Protocol Scope 2, IEA Emission Factors 2023
7
+ * @param input - Electricity consumption and grid region
8
+ * @returns CO2 emissions in kg and tonnes
9
+ */
10
+ export declare function scope2Emissions(input: Scope2EmissionsInput): Scope2EmissionsResult;
11
+ //# sourceMappingURL=scope2Emissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope2Emissions.d.ts","sourceRoot":"","sources":["../../src/environmental/scope2Emissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAqB1F;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAsBlF"}
@@ -0,0 +1,49 @@
1
+ import { roundTo } from '../utils.js';
2
+ /**
3
+ * Grid emission factors (gCO2/kWh)
4
+ * @reference IEA 2023 Emission Factors
5
+ */
6
+ const GRID_EMISSION_FACTORS = {
7
+ US_average: 386,
8
+ EU_average: 230,
9
+ China: 555,
10
+ India: 708,
11
+ Japan: 457,
12
+ Korea: 415,
13
+ UK: 207,
14
+ Germany: 350,
15
+ France: 56,
16
+ Brazil: 75,
17
+ Australia: 656,
18
+ Canada: 110,
19
+ };
20
+ /**
21
+ * Calculate Scope 2 (indirect) CO2 emissions from purchased electricity
22
+ *
23
+ * @formula CO2(kg) = kWh × gridFactor / 1000
24
+ * @reference GHG Protocol Scope 2, IEA Emission Factors 2023
25
+ * @param input - Electricity consumption and grid region
26
+ * @returns CO2 emissions in kg and tonnes
27
+ */
28
+ export function scope2Emissions(input) {
29
+ const { electricityKwh, region, customFactor } = input;
30
+ let gridFactor;
31
+ if (region === 'custom') {
32
+ if (customFactor == null) {
33
+ throw new Error('customFactor is required when region is "custom"');
34
+ }
35
+ gridFactor = customFactor;
36
+ }
37
+ else {
38
+ gridFactor = GRID_EMISSION_FACTORS[region];
39
+ }
40
+ const co2Kg = roundTo(electricityKwh * gridFactor / 1000, 2);
41
+ const co2Tonnes = roundTo(co2Kg / 1000, 4);
42
+ return {
43
+ co2Kg,
44
+ co2Tonnes,
45
+ gridFactor,
46
+ region,
47
+ };
48
+ }
49
+ //# sourceMappingURL=scope2Emissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope2Emissions.js","sourceRoot":"","sources":["../../src/environmental/scope2Emissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;GAGG;AACH,MAAM,qBAAqB,GAAkD;IAC3E,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,EAAE,EAAE,GAAG;IACP,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEvD,IAAI,UAAkB,CAAC;IACvB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,UAAU,GAAG,YAAY,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,KAAK;QACL,SAAS;QACT,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Scope3EmissionsInput, Scope3EmissionsResult } from './types.js';
2
+ /**
3
+ * Calculate Scope 3 (value chain) CO2 emissions using spend-based EEIO method
4
+ *
5
+ * @formula CO2eq = spend × EEIO factor
6
+ * @reference GHG Protocol Scope 3 Standard, EPA EEIO model
7
+ * @param input - Scope 3 category and spend amount
8
+ * @returns CO2eq emissions in kg and tonnes
9
+ */
10
+ export declare function scope3Emissions(input: Scope3EmissionsInput): Scope3EmissionsResult;
11
+ //# sourceMappingURL=scope3Emissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope3Emissions.d.ts","sourceRoot":"","sources":["../../src/environmental/scope3Emissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAiB9F;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAalF"}
@@ -0,0 +1,36 @@
1
+ import { roundTo } from '../utils.js';
2
+ /**
3
+ * Spend-based EEIO emission factors (kgCO2eq per USD)
4
+ * @reference US EPA EEIO model, GHG Protocol Scope 3 Category guidance
5
+ */
6
+ const SPEND_BASED_FACTORS = {
7
+ purchasedGoods: 0.41, // Manufacturing average
8
+ capitalGoods: 0.35, // Industrial machinery
9
+ fuelEnergy: 0.50, // Upstream fuel extraction/refining
10
+ transportation: 0.58, // Freight and distribution
11
+ waste: 0.25, // Waste treatment
12
+ businessTravel: 0.45, // Air/ground travel
13
+ employeeCommuting: 0.30, // Average commute
14
+ leasedAssets: 0.20, // Office/facility leasing
15
+ };
16
+ /**
17
+ * Calculate Scope 3 (value chain) CO2 emissions using spend-based EEIO method
18
+ *
19
+ * @formula CO2eq = spend × EEIO factor
20
+ * @reference GHG Protocol Scope 3 Standard, EPA EEIO model
21
+ * @param input - Scope 3 category and spend amount
22
+ * @returns CO2eq emissions in kg and tonnes
23
+ */
24
+ export function scope3Emissions(input) {
25
+ const { category, spendUsd } = input;
26
+ const eeioFactor = SPEND_BASED_FACTORS[category];
27
+ const co2Kg = roundTo(spendUsd * eeioFactor, 2);
28
+ const co2Tonnes = roundTo(co2Kg / 1000, 4);
29
+ return {
30
+ co2Kg,
31
+ co2Tonnes,
32
+ category,
33
+ eeioFactor,
34
+ };
35
+ }
36
+ //# sourceMappingURL=scope3Emissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope3Emissions.js","sourceRoot":"","sources":["../../src/environmental/scope3Emissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;GAGG;AACH,MAAM,mBAAmB,GAAmC;IAC1D,cAAc,EAAE,IAAI,EAAO,wBAAwB;IACnD,YAAY,EAAE,IAAI,EAAS,uBAAuB;IAClD,UAAU,EAAE,IAAI,EAAW,oCAAoC;IAC/D,cAAc,EAAE,IAAI,EAAO,2BAA2B;IACtD,KAAK,EAAE,IAAI,EAAgB,kBAAkB;IAC7C,cAAc,EAAE,IAAI,EAAO,oBAAoB;IAC/C,iBAAiB,EAAE,IAAI,EAAI,kBAAkB;IAC7C,YAAY,EAAE,IAAI,EAAS,0BAA0B;CACtD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,KAAK;QACL,SAAS;QACT,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Environmental Domain Types
3
+ */
4
+ export type FuelType = 'naturalGas' | 'diesel' | 'gasoline' | 'lpg' | 'coal' | 'fuelOil';
5
+ export type GhgGas = 'CO2' | 'CH4' | 'N2O' | 'HFC134a' | 'HFC152a' | 'SF6' | 'NF3' | 'CF4';
6
+ export type GridRegion = 'US_average' | 'EU_average' | 'China' | 'India' | 'Japan' | 'Korea' | 'UK' | 'Germany' | 'France' | 'Brazil' | 'Australia' | 'Canada' | 'custom';
7
+ export type Scope3Category = 'purchasedGoods' | 'capitalGoods' | 'fuelEnergy' | 'transportation' | 'waste' | 'businessTravel' | 'employeeCommuting' | 'leasedAssets';
8
+ export type WaterType = 'blue' | 'green' | 'grey';
9
+ /**
10
+ * Scope 1 Emissions Types (Direct combustion)
11
+ */
12
+ export interface Scope1EmissionsInput {
13
+ fuelType: FuelType;
14
+ quantity: number;
15
+ }
16
+ export interface Scope1EmissionsResult {
17
+ co2Kg: number;
18
+ co2Tonnes: number;
19
+ fuelType: FuelType;
20
+ emissionFactor: number;
21
+ unit: string;
22
+ }
23
+ /**
24
+ * Scope 2 Emissions Types (Purchased electricity)
25
+ */
26
+ export interface Scope2EmissionsInput {
27
+ electricityKwh: number;
28
+ region: GridRegion;
29
+ customFactor?: number;
30
+ }
31
+ export interface Scope2EmissionsResult {
32
+ co2Kg: number;
33
+ co2Tonnes: number;
34
+ gridFactor: number;
35
+ region: string;
36
+ }
37
+ /**
38
+ * Scope 3 Emissions Types (Supply chain, spend-based)
39
+ */
40
+ export interface Scope3EmissionsInput {
41
+ category: Scope3Category;
42
+ spendUsd: number;
43
+ }
44
+ export interface Scope3EmissionsResult {
45
+ co2Kg: number;
46
+ co2Tonnes: number;
47
+ category: Scope3Category;
48
+ eeioFactor: number;
49
+ }
50
+ /**
51
+ * VOC Emissions Types
52
+ */
53
+ export interface VocEmissionsInput {
54
+ totalVocKg: number;
55
+ captureEfficiency: number;
56
+ destructionEfficiency: number;
57
+ }
58
+ export interface VocEmissionsResult {
59
+ emittedVocKg: number;
60
+ capturedVocKg: number;
61
+ destroyedVocKg: number;
62
+ reductionPercent: number;
63
+ }
64
+ /**
65
+ * Product Carbon Footprint Types
66
+ */
67
+ export interface LifecycleStage {
68
+ name: string;
69
+ co2Kg: number;
70
+ }
71
+ export interface ProductCarbonFootprintInput {
72
+ stages: LifecycleStage[];
73
+ productionQuantity: number;
74
+ }
75
+ export interface ProductCarbonFootprintResult {
76
+ totalCo2Kg: number;
77
+ perUnitCo2Kg: number;
78
+ stageBreakdown: {
79
+ name: string;
80
+ co2Kg: number;
81
+ percent: number;
82
+ }[];
83
+ dominantStage: string;
84
+ }
85
+ /**
86
+ * GWP Calculator Types
87
+ */
88
+ export type GwpTimeHorizon = 'GWP20' | 'GWP100' | 'GWP500';
89
+ export interface GwpCalculatorInput {
90
+ gas: GhgGas;
91
+ quantityKg: number;
92
+ timeHorizon?: GwpTimeHorizon;
93
+ }
94
+ export interface GwpCalculatorResult {
95
+ co2eqKg: number;
96
+ co2eqTonnes: number;
97
+ gwpFactor: number;
98
+ gas: GhgGas;
99
+ timeHorizon: GwpTimeHorizon;
100
+ }
101
+ /**
102
+ * Energy Intensity Types
103
+ */
104
+ export interface EnergyIntensityInput {
105
+ totalEnergyMJ: number;
106
+ productionUnits: number;
107
+ revenueUsd?: number;
108
+ }
109
+ export interface EnergyIntensityResult {
110
+ mjPerUnit: number;
111
+ kwhPerUnit: number;
112
+ mjPerRevenue?: number;
113
+ }
114
+ /**
115
+ * Water Footprint Types
116
+ */
117
+ export interface WaterFootprintInput {
118
+ blueWaterM3: number;
119
+ greenWaterM3: number;
120
+ greyWaterM3: number;
121
+ productionUnits?: number;
122
+ }
123
+ export interface WaterFootprintResult {
124
+ totalWaterM3: number;
125
+ bluePercent: number;
126
+ greenPercent: number;
127
+ greyPercent: number;
128
+ perUnitM3?: number;
129
+ }
130
+ /**
131
+ * Emissions Intensity Types
132
+ */
133
+ export interface EmissionsIntensityInput {
134
+ totalCo2Kg: number;
135
+ productionUnits?: number;
136
+ revenueUsd?: number;
137
+ employees?: number;
138
+ }
139
+ export interface EmissionsIntensityResult {
140
+ kgPerUnit?: number;
141
+ kgPerRevenue?: number;
142
+ kgPerEmployee?: number;
143
+ tonnesPerMillionUsd?: number;
144
+ }
145
+ /**
146
+ * ESG Summary Types
147
+ */
148
+ export interface EsgSummaryInput {
149
+ baselineYear: number;
150
+ baselineCo2Tonnes: number;
151
+ currentYear: number;
152
+ currentCo2Tonnes: number;
153
+ targetYear: number;
154
+ targetCo2Tonnes: number;
155
+ }
156
+ export interface EsgSummaryResult {
157
+ reductionPercent: number;
158
+ reductionTonnes: number;
159
+ annualRatePercent: number;
160
+ requiredAnnualRate: number;
161
+ onTrack: boolean;
162
+ yearsRemaining: number;
163
+ projectedCo2Tonnes: number;
164
+ }
165
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/environmental/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Environmental Domain Types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/environmental/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,11 @@
1
+ import type { VocEmissionsInput, VocEmissionsResult } from './types.js';
2
+ /**
3
+ * Calculate VOC (Volatile Organic Compound) emissions after capture/destruction
4
+ *
5
+ * @formula emitted = total × (1 - captureEff × destructionEff)
6
+ * @reference EPA AP-42, CARB guidelines
7
+ * @param input - Total VOC, capture efficiency, destruction efficiency
8
+ * @returns Emitted, captured, and destroyed VOC amounts
9
+ */
10
+ export declare function vocEmissions(input: VocEmissionsInput): VocEmissionsResult;
11
+ //# sourceMappingURL=vocEmissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocEmissions.d.ts","sourceRoot":"","sources":["../../src/environmental/vocEmissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAczE"}
@@ -0,0 +1,23 @@
1
+ import { roundTo } from '../utils.js';
2
+ /**
3
+ * Calculate VOC (Volatile Organic Compound) emissions after capture/destruction
4
+ *
5
+ * @formula emitted = total × (1 - captureEff × destructionEff)
6
+ * @reference EPA AP-42, CARB guidelines
7
+ * @param input - Total VOC, capture efficiency, destruction efficiency
8
+ * @returns Emitted, captured, and destroyed VOC amounts
9
+ */
10
+ export function vocEmissions(input) {
11
+ const { totalVocKg, captureEfficiency, destructionEfficiency } = input;
12
+ const capturedVocKg = roundTo(totalVocKg * captureEfficiency, 2);
13
+ const destroyedVocKg = roundTo(capturedVocKg * destructionEfficiency, 2);
14
+ const emittedVocKg = roundTo(totalVocKg - destroyedVocKg, 2);
15
+ const reductionPercent = roundTo((destroyedVocKg / totalVocKg) * 100, 2);
16
+ return {
17
+ emittedVocKg,
18
+ capturedVocKg,
19
+ destroyedVocKg,
20
+ reductionPercent,
21
+ };
22
+ }
23
+ //# sourceMappingURL=vocEmissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocEmissions.js","sourceRoot":"","sources":["../../src/environmental/vocEmissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IAEvE,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzE,OAAO;QACL,YAAY;QACZ,aAAa;QACb,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { WaterFootprintInput, WaterFootprintResult } from './types.js';
2
+ /**
3
+ * Calculate water footprint (blue, green, grey)
4
+ *
5
+ * @formula total = blue + green + grey
6
+ * @reference Water Footprint Network, ISO 14046
7
+ * @param input - Blue, green, grey water volumes
8
+ * @returns Total water footprint with percentage breakdown
9
+ */
10
+ export declare function waterFootprint(input: WaterFootprintInput): WaterFootprintResult;
11
+ //# sourceMappingURL=waterFootprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waterFootprint.d.ts","sourceRoot":"","sources":["../../src/environmental/waterFootprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAa/E"}
@@ -0,0 +1,21 @@
1
+ import { roundTo } from '../utils.js';
2
+ /**
3
+ * Calculate water footprint (blue, green, grey)
4
+ *
5
+ * @formula total = blue + green + grey
6
+ * @reference Water Footprint Network, ISO 14046
7
+ * @param input - Blue, green, grey water volumes
8
+ * @returns Total water footprint with percentage breakdown
9
+ */
10
+ export function waterFootprint(input) {
11
+ const { blueWaterM3, greenWaterM3, greyWaterM3, productionUnits } = input;
12
+ const totalWaterM3 = roundTo(blueWaterM3 + greenWaterM3 + greyWaterM3, 2);
13
+ const bluePercent = roundTo((blueWaterM3 / totalWaterM3) * 100, 1);
14
+ const greenPercent = roundTo((greenWaterM3 / totalWaterM3) * 100, 1);
15
+ const greyPercent = roundTo((greyWaterM3 / totalWaterM3) * 100, 1);
16
+ const perUnitM3 = productionUnits != null && productionUnits > 0
17
+ ? roundTo(totalWaterM3 / productionUnits, 4)
18
+ : undefined;
19
+ return { totalWaterM3, bluePercent, greenPercent, greyPercent, perUnitM3 };
20
+ }
21
+ //# sourceMappingURL=waterFootprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waterFootprint.js","sourceRoot":"","sources":["../../src/environmental/waterFootprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAE1E,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,GAAG,YAAY,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnE,MAAM,SAAS,GAAG,eAAe,IAAI,IAAI,IAAI,eAAe,GAAG,CAAC;QAC9D,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,eAAe,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC7E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,15 @@
1
1
  export * from './quality/index.js';
2
- export * from './logistics/index.js';
2
+ export * from './metal/index.js';
3
+ export * from './chemical/index.js';
4
+ export * from './electronics/index.js';
5
+ export * from './construction/index.js';
3
6
  export * from './automotive/index.js';
7
+ export * from './logistics/index.js';
8
+ export * from './energy/index.js';
4
9
  export * from './safety/index.js';
5
- export * from './utility/index.js';
6
10
  export * from './food/index.js';
11
+ export * from './utility/index.js';
12
+ export * from './battery/index.js';
13
+ export * from './environmental/index.js';
14
+ export * from './machining/index.js';
7
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,17 @@
1
1
  // Formulab - Manufacturing & Engineering calculation formulas library
2
2
  // Re-export all domain modules
3
3
  export * from './quality/index.js';
4
- export * from './logistics/index.js';
4
+ export * from './metal/index.js';
5
+ export * from './chemical/index.js';
6
+ export * from './electronics/index.js';
7
+ export * from './construction/index.js';
5
8
  export * from './automotive/index.js';
9
+ export * from './logistics/index.js';
10
+ export * from './energy/index.js';
6
11
  export * from './safety/index.js';
7
- export * from './utility/index.js';
8
12
  export * from './food/index.js';
13
+ export * from './utility/index.js';
14
+ export * from './battery/index.js';
15
+ export * from './environmental/index.js';
16
+ export * from './machining/index.js';
9
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,+BAA+B;AAE/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,+BAA+B;AAE/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
@@ -2,8 +2,13 @@ import type { CbmInput, CbmResult } from './types.js';
2
2
  /**
3
3
  * Calculate Cubic Meter (CBM) for shipping cargo
4
4
  *
5
- * CBM is the standard unit for measuring shipping volume.
6
- * Formula: CBM = Length × Width × Height (in meters)
5
+ * @formula CBM = Length × Width × Height (all converted to meters)
6
+ * - Total CBM = CBM per unit × Quantity
7
+ *
8
+ * @reference Physical volume formula (L × W × H).
9
+ * @reference Industry standard: 20ft container internal ≈ 33.2 m³, 40ft ≈ 67.7 m³.
10
+ *
11
+ * @units input: mm, cm, or m; output: m³
7
12
  *
8
13
  * @param input - Cargo dimensions and quantity
9
14
  * @returns CBM per unit and total CBM
@@ -1 +1 @@
1
- {"version":3,"file":"cbm.d.ts","sourceRoot":"","sources":["../../src/logistics/cbm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AActD;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAkB9C"}
1
+ {"version":3,"file":"cbm.d.ts","sourceRoot":"","sources":["../../src/logistics/cbm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AActD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAkB9C"}