formulab 0.13.3 → 0.13.5

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 (110) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/automotive/batteryRuntime.d.ts +1 -0
  3. package/dist/automotive/batteryRuntime.d.ts.map +1 -1
  4. package/dist/automotive/batteryRuntime.js +6 -9
  5. package/dist/automotive/batteryRuntime.js.map +1 -1
  6. package/dist/automotive/evCharging.d.ts +2 -0
  7. package/dist/automotive/evCharging.d.ts.map +1 -1
  8. package/dist/automotive/evCharging.js +4 -17
  9. package/dist/automotive/evCharging.js.map +1 -1
  10. package/dist/automotive/fuelEconomy.d.ts +1 -0
  11. package/dist/automotive/fuelEconomy.d.ts.map +1 -1
  12. package/dist/automotive/fuelEconomy.js +3 -8
  13. package/dist/automotive/fuelEconomy.js.map +1 -1
  14. package/dist/automotive/gearRatio.d.ts +1 -0
  15. package/dist/automotive/gearRatio.d.ts.map +1 -1
  16. package/dist/automotive/gearRatio.js +3 -9
  17. package/dist/automotive/gearRatio.js.map +1 -1
  18. package/dist/construction/earthwork.d.ts +2 -0
  19. package/dist/construction/earthwork.d.ts.map +1 -1
  20. package/dist/construction/earthwork.js +17 -0
  21. package/dist/construction/earthwork.js.map +1 -1
  22. package/dist/construction/formwork.d.ts +3 -0
  23. package/dist/construction/formwork.d.ts.map +1 -1
  24. package/dist/construction/formwork.js +35 -0
  25. package/dist/construction/formwork.js.map +1 -1
  26. package/dist/construction/pert.d.ts +3 -2
  27. package/dist/construction/pert.d.ts.map +1 -1
  28. package/dist/construction/pert.js +11 -7
  29. package/dist/construction/pert.js.map +1 -1
  30. package/dist/electronics/via.d.ts +4 -2
  31. package/dist/electronics/via.d.ts.map +1 -1
  32. package/dist/electronics/via.js +14 -3
  33. package/dist/electronics/via.js.map +1 -1
  34. package/dist/energy/degreeDay.d.ts +1 -0
  35. package/dist/energy/degreeDay.d.ts.map +1 -1
  36. package/dist/energy/degreeDay.js +2 -1
  37. package/dist/energy/degreeDay.js.map +1 -1
  38. package/dist/energy/insulationRoi.d.ts +2 -0
  39. package/dist/energy/insulationRoi.d.ts.map +1 -1
  40. package/dist/energy/insulationRoi.js +13 -10
  41. package/dist/energy/insulationRoi.js.map +1 -1
  42. package/dist/food/calorie.d.ts +1 -0
  43. package/dist/food/calorie.d.ts.map +1 -1
  44. package/dist/food/calorie.js +9 -2
  45. package/dist/food/calorie.js.map +1 -1
  46. package/dist/logistics/shipping.d.ts +4 -2
  47. package/dist/logistics/shipping.d.ts.map +1 -1
  48. package/dist/logistics/shipping.js +13 -6
  49. package/dist/logistics/shipping.js.map +1 -1
  50. package/dist/logistics/tsp.d.ts +2 -1
  51. package/dist/logistics/tsp.d.ts.map +1 -1
  52. package/dist/logistics/tsp.js +2 -1
  53. package/dist/logistics/tsp.js.map +1 -1
  54. package/dist/metal/bearing.d.ts +2 -0
  55. package/dist/metal/bearing.d.ts.map +1 -1
  56. package/dist/metal/bearing.js +10 -2
  57. package/dist/metal/bearing.js.map +1 -1
  58. package/dist/metal/cutting.d.ts +2 -0
  59. package/dist/metal/cutting.d.ts.map +1 -1
  60. package/dist/metal/cutting.js +3 -1
  61. package/dist/metal/cutting.js.map +1 -1
  62. package/dist/metal/cuttingStock.d.ts +4 -1
  63. package/dist/metal/cuttingStock.d.ts.map +1 -1
  64. package/dist/metal/cuttingStock.js +15 -6
  65. package/dist/metal/cuttingStock.js.map +1 -1
  66. package/dist/metal/material.d.ts +6 -1
  67. package/dist/metal/material.d.ts.map +1 -1
  68. package/dist/metal/material.js +11 -4
  69. package/dist/metal/material.js.map +1 -1
  70. package/dist/metal/pressTonnage.d.ts +1 -0
  71. package/dist/metal/pressTonnage.d.ts.map +1 -1
  72. package/dist/metal/pressTonnage.js +3 -13
  73. package/dist/metal/pressTonnage.js.map +1 -1
  74. package/dist/metal/roughness.d.ts +2 -0
  75. package/dist/metal/roughness.d.ts.map +1 -1
  76. package/dist/metal/roughness.js +4 -2
  77. package/dist/metal/roughness.js.map +1 -1
  78. package/dist/metal/screw.d.ts +3 -1
  79. package/dist/metal/screw.d.ts.map +1 -1
  80. package/dist/metal/screw.js +5 -2
  81. package/dist/metal/screw.js.map +1 -1
  82. package/dist/metal/thread.d.ts +3 -1
  83. package/dist/metal/thread.d.ts.map +1 -1
  84. package/dist/metal/thread.js +8 -4
  85. package/dist/metal/thread.js.map +1 -1
  86. package/dist/metal/tolerance.d.ts +4 -1
  87. package/dist/metal/tolerance.d.ts.map +1 -1
  88. package/dist/metal/tolerance.js +12 -6
  89. package/dist/metal/tolerance.js.map +1 -1
  90. package/dist/metal/vibration.d.ts +3 -0
  91. package/dist/metal/vibration.d.ts.map +1 -1
  92. package/dist/metal/vibration.js +28 -10
  93. package/dist/metal/vibration.js.map +1 -1
  94. package/dist/metal/weldHeat.d.ts +2 -0
  95. package/dist/metal/weldHeat.d.ts.map +1 -1
  96. package/dist/metal/weldHeat.js +13 -15
  97. package/dist/metal/weldHeat.js.map +1 -1
  98. package/dist/quality/dpmo.d.ts +1 -0
  99. package/dist/quality/dpmo.d.ts.map +1 -1
  100. package/dist/quality/dpmo.js +7 -3
  101. package/dist/quality/dpmo.js.map +1 -1
  102. package/dist/quality/lineBalancing.d.ts +4 -2
  103. package/dist/quality/lineBalancing.d.ts.map +1 -1
  104. package/dist/quality/lineBalancing.js +18 -9
  105. package/dist/quality/lineBalancing.js.map +1 -1
  106. package/dist/quality/mtbf.d.ts +2 -0
  107. package/dist/quality/mtbf.d.ts.map +1 -1
  108. package/dist/quality/mtbf.js +8 -9
  109. package/dist/quality/mtbf.js.map +1 -1
  110. package/package.json +1 -1
@@ -8,18 +8,17 @@ import { roundTo } from '../utils.js';
8
8
  *
9
9
  * @param input - MTBF input parameters
10
10
  * @returns MTBF analysis result
11
+ * @throws RangeError if totalOperatingTime is not positive, or if
12
+ * numberOfFailures is not positive (MTBF is undefined with zero failures)
11
13
  */
12
14
  export function mtbf(input) {
13
15
  const { totalOperatingTime, totalRepairTime, numberOfFailures } = input;
14
- // Handle invalid input
15
- if (totalOperatingTime <= 0 || numberOfFailures <= 0) {
16
- return {
17
- mtbf: 0,
18
- mttr: 0,
19
- availability: 0,
20
- failureRate: 0,
21
- reliabilityAtMtbf: 0,
22
- };
16
+ // Validate inputs
17
+ if (totalOperatingTime <= 0) {
18
+ throw new RangeError('totalOperatingTime must be greater than 0');
19
+ }
20
+ if (numberOfFailures <= 0) {
21
+ throw new RangeError('numberOfFailures must be greater than 0');
23
22
  }
24
23
  // MTBF = Total Operating Time / Number of Failures
25
24
  const mtbfValue = roundTo(totalOperatingTime / numberOfFailures, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"mtbf.js","sourceRoot":"","sources":["../../src/quality/mtbf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAExE,uBAAuB;IACvB,IAAI,kBAAkB,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAEpE,gDAAgD;IAChD,MAAM,IAAI,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,sCAAsC;IACtC,MAAM,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC;IAEN,mCAAmC;IACnC,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,qCAAqC;IACrC,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,YAAY;QACZ,WAAW;QACX,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mtbf.js","sourceRoot":"","sources":["../../src/quality/mtbf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAExE,kBAAkB;IAClB,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAClE,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAEpE,gDAAgD;IAChD,MAAM,IAAI,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,sCAAsC;IACtC,MAAM,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC;IAEN,mCAAmC;IACnC,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,qCAAqC;IACrC,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,YAAY;QACZ,WAAW;QACX,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "formulab",
3
- "version": "0.13.3",
3
+ "version": "0.13.5",
4
4
  "description": "Manufacturing & Engineering calculation formulas library - 182 industrial calculations across 15 domains for OEE, Cpk, SPC, FMEA, Nelson Rules, metal weight, CNC machining, GD&T, battery, environmental, pipe flow, logistics, IE time study, and more",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",