formulab 0.13.5 → 0.13.7

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 +30 -0
  2. package/dist/automotive/batteryRuntime.d.ts +1 -1
  3. package/dist/automotive/batteryRuntime.d.ts.map +1 -1
  4. package/dist/automotive/batteryRuntime.js +4 -1
  5. package/dist/automotive/batteryRuntime.js.map +1 -1
  6. package/dist/chemical/ph.d.ts.map +1 -1
  7. package/dist/chemical/ph.js +5 -7
  8. package/dist/chemical/ph.js.map +1 -1
  9. package/dist/chemical/pid.js +3 -3
  10. package/dist/chemical/pid.js.map +1 -1
  11. package/dist/construction/slope.d.ts.map +1 -1
  12. package/dist/construction/slope.js +6 -1
  13. package/dist/construction/slope.js.map +1 -1
  14. package/dist/electronics/smt-takt.d.ts.map +1 -1
  15. package/dist/electronics/smt-takt.js +4 -16
  16. package/dist/electronics/smt-takt.js.map +1 -1
  17. package/dist/electronics/solder.d.ts.map +1 -1
  18. package/dist/electronics/solder.js +5 -8
  19. package/dist/electronics/solder.js.map +1 -1
  20. package/dist/energy/motorEfficiency.d.ts.map +1 -1
  21. package/dist/energy/motorEfficiency.js +5 -8
  22. package/dist/energy/motorEfficiency.js.map +1 -1
  23. package/dist/logistics/dimWeight.d.ts.map +1 -1
  24. package/dist/logistics/dimWeight.js +8 -10
  25. package/dist/logistics/dimWeight.js.map +1 -1
  26. package/dist/logistics/fillRate.d.ts.map +1 -1
  27. package/dist/logistics/fillRate.js +2 -9
  28. package/dist/logistics/fillRate.js.map +1 -1
  29. package/dist/logistics/freightClass.d.ts.map +1 -1
  30. package/dist/logistics/freightClass.js +8 -9
  31. package/dist/logistics/freightClass.js.map +1 -1
  32. package/dist/logistics/kanban.d.ts.map +1 -1
  33. package/dist/logistics/kanban.js +8 -2
  34. package/dist/logistics/kanban.js.map +1 -1
  35. package/dist/logistics/pickTime.d.ts.map +1 -1
  36. package/dist/logistics/pickTime.js +4 -12
  37. package/dist/logistics/pickTime.js.map +1 -1
  38. package/dist/metal/bolt.d.ts.map +1 -1
  39. package/dist/metal/bolt.js +12 -36
  40. package/dist/metal/bolt.js.map +1 -1
  41. package/dist/metal/pressFit.d.ts.map +1 -1
  42. package/dist/metal/pressFit.js +8 -12
  43. package/dist/metal/pressFit.js.map +1 -1
  44. package/dist/metal/spring.d.ts.map +1 -1
  45. package/dist/metal/spring.js +6 -8
  46. package/dist/metal/spring.js.map +1 -1
  47. package/dist/metal/tap.d.ts.map +1 -1
  48. package/dist/metal/tap.js +4 -9
  49. package/dist/metal/tap.js.map +1 -1
  50. package/dist/metal/types.d.ts +23 -0
  51. package/dist/metal/types.d.ts.map +1 -1
  52. package/dist/metal/weldHeat.d.ts +5 -1
  53. package/dist/metal/weldHeat.d.ts.map +1 -1
  54. package/dist/metal/weldHeat.js +31 -4
  55. package/dist/metal/weldHeat.js.map +1 -1
  56. package/dist/metal/welding.d.ts.map +1 -1
  57. package/dist/metal/welding.js +2 -3
  58. package/dist/metal/welding.js.map +1 -1
  59. package/dist/quality/aql.d.ts.map +1 -1
  60. package/dist/quality/aql.js +6 -2
  61. package/dist/quality/aql.js.map +1 -1
  62. package/dist/safety/arcFlash.d.ts +3 -0
  63. package/dist/safety/arcFlash.d.ts.map +1 -1
  64. package/dist/safety/arcFlash.js +18 -0
  65. package/dist/safety/arcFlash.js.map +1 -1
  66. package/dist/safety/confinedSpace.d.ts +5 -0
  67. package/dist/safety/confinedSpace.d.ts.map +1 -1
  68. package/dist/safety/confinedSpace.js +20 -0
  69. package/dist/safety/confinedSpace.js.map +1 -1
  70. package/dist/safety/ergonomicRisk.d.ts +4 -0
  71. package/dist/safety/ergonomicRisk.d.ts.map +1 -1
  72. package/dist/safety/ergonomicRisk.js +7 -0
  73. package/dist/safety/ergonomicRisk.js.map +1 -1
  74. package/dist/safety/fallClearance.d.ts +5 -0
  75. package/dist/safety/fallClearance.d.ts.map +1 -1
  76. package/dist/safety/fallClearance.js +16 -0
  77. package/dist/safety/fallClearance.js.map +1 -1
  78. package/dist/safety/havsCalculate.d.ts +3 -0
  79. package/dist/safety/havsCalculate.d.ts.map +1 -1
  80. package/dist/safety/havsCalculate.js +8 -0
  81. package/dist/safety/havsCalculate.js.map +1 -1
  82. package/dist/safety/illuminance.d.ts +2 -0
  83. package/dist/safety/illuminance.d.ts.map +1 -1
  84. package/dist/safety/illuminance.js +4 -16
  85. package/dist/safety/illuminance.js.map +1 -1
  86. package/dist/safety/ladderAngle.d.ts +2 -0
  87. package/dist/safety/ladderAngle.d.ts.map +1 -1
  88. package/dist/safety/ladderAngle.js +14 -0
  89. package/dist/safety/ladderAngle.js.map +1 -1
  90. package/dist/safety/lel.d.ts +5 -0
  91. package/dist/safety/lel.d.ts.map +1 -1
  92. package/dist/safety/lel.js +19 -6
  93. package/dist/safety/lel.js.map +1 -1
  94. package/dist/safety/nioshLifting.d.ts +5 -0
  95. package/dist/safety/nioshLifting.d.ts.map +1 -1
  96. package/dist/safety/nioshLifting.js +13 -0
  97. package/dist/safety/nioshLifting.js.map +1 -1
  98. package/dist/safety/noiseExposure.d.ts +3 -0
  99. package/dist/safety/noiseExposure.d.ts.map +1 -1
  100. package/dist/safety/noiseExposure.js +8 -0
  101. package/dist/safety/noiseExposure.js.map +1 -1
  102. package/dist/safety/respiratorCalculate.d.ts +3 -0
  103. package/dist/safety/respiratorCalculate.d.ts.map +1 -1
  104. package/dist/safety/respiratorCalculate.js +10 -2
  105. package/dist/safety/respiratorCalculate.js.map +1 -1
  106. package/dist/safety/thermalComfort.d.ts +5 -0
  107. package/dist/safety/thermalComfort.d.ts.map +1 -1
  108. package/dist/safety/thermalComfort.js +17 -0
  109. package/dist/safety/thermalComfort.js.map +1 -1
  110. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"aql.js","sourceRoot":"","sources":["../../src/quality/aql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,2FAA2F;AAC3F,MAAM,eAAe,GAAmE;IACtF,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACtG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACxG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACxG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACxG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1G,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1G,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3G,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3G,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;CAC9G,CAAC;AAEF,oCAAoC;AACpC,MAAM,YAAY,GAA2B;IAC3C,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IAClD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI;CAChE,CAAC;AAEF,0DAA0D;AAC1D,wDAAwD;AACxD,6DAA6D;AAC7D,MAAM,SAAS,GAAqD;IAClE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC7I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC/I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACjJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACnJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACrJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACvJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACzJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EA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"}
1
+ {"version":3,"file":"aql.js","sourceRoot":"","sources":["../../src/quality/aql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,2FAA2F;AAC3F,MAAM,eAAe,GAAmE;IACtF,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACtG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACxG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACxG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACxG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1G,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1G,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3G,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3G,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;CAC9G,CAAC;AAEF,oCAAoC;AACpC,MAAM,YAAY,GAA2B;IAC3C,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IAClD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI;CAChE,CAAC;AAEF,0DAA0D;AAC1D,wDAAwD;AACxD,6DAA6D;AAC7D,MAAM,SAAS,GAAqD;IAClE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC3I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC7I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC/I,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACjJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACnJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACrJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACvJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACzJ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EA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"}
@@ -9,6 +9,9 @@ import type { ArcFlashInput, ArcFlashResult } from './types.js';
9
9
  *
10
10
  * @reference IEEE 1584-2018 — Guide for Performing Arc-Flash Hazard Calculations
11
11
  * @reference NFPA 70E-2024 — Standard for Electrical Safety in the Workplace
12
+ *
13
+ * @throws {RangeError} voltage, boltedFaultCurrent, workingDistance, faultClearingTime,
14
+ * or gapBetweenConductors is not greater than 0
12
15
  */
13
16
  export declare function arcFlash(input: ArcFlashInput): ArcFlashResult;
14
17
  //# sourceMappingURL=arcFlash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arcFlash.d.ts","sourceRoot":"","sources":["../../src/safety/arcFlash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CA8E7D"}
1
+ {"version":3,"file":"arcFlash.d.ts","sourceRoot":"","sources":["../../src/safety/arcFlash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CA8F7D"}
@@ -9,9 +9,27 @@ import { roundTo } from '../utils.js';
9
9
  *
10
10
  * @reference IEEE 1584-2018 — Guide for Performing Arc-Flash Hazard Calculations
11
11
  * @reference NFPA 70E-2024 — Standard for Electrical Safety in the Workplace
12
+ *
13
+ * @throws {RangeError} voltage, boltedFaultCurrent, workingDistance, faultClearingTime,
14
+ * or gapBetweenConductors is not greater than 0
12
15
  */
13
16
  export function arcFlash(input) {
14
17
  const { voltage, boltedFaultCurrent, workingDistance, faultClearingTime, gapBetweenConductors, enclosureType } = input;
18
+ if (voltage <= 0) {
19
+ throw new RangeError('voltage must be greater than 0');
20
+ }
21
+ if (boltedFaultCurrent <= 0) {
22
+ throw new RangeError('boltedFaultCurrent must be greater than 0');
23
+ }
24
+ if (workingDistance <= 0) {
25
+ throw new RangeError('workingDistance must be greater than 0');
26
+ }
27
+ if (faultClearingTime <= 0) {
28
+ throw new RangeError('faultClearingTime must be greater than 0');
29
+ }
30
+ if (gapBetweenConductors <= 0) {
31
+ throw new RangeError('gapBetweenConductors must be greater than 0');
32
+ }
15
33
  const Ibf = boltedFaultCurrent; // kA
16
34
  const V = voltage;
17
35
  const G = gapBetweenConductors; // mm
@@ -1 +1 @@
1
- {"version":3,"file":"arcFlash.js","sourceRoot":"","sources":["../../src/safety/arcFlash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arcFlash.js","sourceRoot":"","sources":["../../src/safety/arcFlash.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,11 @@ import type { ConfinedSpaceInput, ConfinedSpaceResult } from './types.js';
10
10
  *
11
11
  * @reference OSHA 29 CFR 1910.146 — Permit-required confined spaces
12
12
  * @reference NIOSH Pocket Guide to Chemical Hazards
13
+ *
14
+ * @throws {RangeError} oxygenPercent outside 0–100, or any gas reading
15
+ * (lelPercent, h2sPpm, coPpm, customGas fields) is negative.
16
+ * @remarks A reading of 0 is a valid (and possibly catastrophic) measurement,
17
+ * so zero values are accepted; only physically impossible values throw.
13
18
  */
14
19
  export declare function confinedSpace(input: ConfinedSpaceInput): ConfinedSpaceResult;
15
20
  //# sourceMappingURL=confinedSpace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confinedSpace.d.ts","sourceRoot":"","sources":["../../src/safety/confinedSpace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA+F5E"}
1
+ {"version":3,"file":"confinedSpace.d.ts","sourceRoot":"","sources":["../../src/safety/confinedSpace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAgH5E"}
@@ -9,9 +9,29 @@
9
9
  *
10
10
  * @reference OSHA 29 CFR 1910.146 — Permit-required confined spaces
11
11
  * @reference NIOSH Pocket Guide to Chemical Hazards
12
+ *
13
+ * @throws {RangeError} oxygenPercent outside 0–100, or any gas reading
14
+ * (lelPercent, h2sPpm, coPpm, customGas fields) is negative.
15
+ * @remarks A reading of 0 is a valid (and possibly catastrophic) measurement,
16
+ * so zero values are accepted; only physically impossible values throw.
12
17
  */
13
18
  export function confinedSpace(input) {
14
19
  const { oxygenPercent, lelPercent, h2sPpm, coPpm, customGas } = input;
20
+ if (oxygenPercent < 0 || oxygenPercent > 100) {
21
+ throw new RangeError('oxygenPercent must be between 0 and 100');
22
+ }
23
+ if (lelPercent < 0) {
24
+ throw new RangeError('lelPercent must not be negative');
25
+ }
26
+ if (h2sPpm != null && h2sPpm < 0) {
27
+ throw new RangeError('h2sPpm must not be negative');
28
+ }
29
+ if (coPpm != null && coPpm < 0) {
30
+ throw new RangeError('coPpm must not be negative');
31
+ }
32
+ if (customGas && (customGas.concentration < 0 || customGas.pel <= 0 || customGas.idlh <= 0)) {
33
+ throw new RangeError('customGas concentration must not be negative and pel/idlh must be greater than 0');
34
+ }
15
35
  const warnings = [];
16
36
  // Oxygen assessment
17
37
  let oxygenStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"confinedSpace.js","sourceRoot":"","sources":["../../src/safety/confinedSpace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confinedSpace.js","sourceRoot":"","sources":["../../src/safety/confinedSpace.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import type { RebaInput, RebaResult } from './types.js';
4
4
  *
5
5
  * @reference Hignett, S. & McAtamney, L. (2000). REBA, Applied Ergonomics 31(2), 201-205.
6
6
  * @reference 중대재해처벌법 시행령 — 인체공학적 유해요인 평가
7
+ *
8
+ * @throws {RangeError} load is negative.
9
+ * @remarks Joint angles may legitimately be negative (flexion vs. extension), so they
10
+ * are not range-checked; only the handled load (kg) must be non-negative.
7
11
  */
8
12
  export declare function ergonomicRisk(input: RebaInput): RebaResult;
9
13
  //# sourceMappingURL=ergonomicRisk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ergonomicRisk.d.ts","sourceRoot":"","sources":["../../src/safety/ergonomicRisk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA4DxD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAgH1D"}
1
+ {"version":3,"file":"ergonomicRisk.d.ts","sourceRoot":"","sources":["../../src/safety/ergonomicRisk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA4DxD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAoH1D"}
@@ -57,8 +57,15 @@ function clampIdx(val, min, max) {
57
57
  *
58
58
  * @reference Hignett, S. & McAtamney, L. (2000). REBA, Applied Ergonomics 31(2), 201-205.
59
59
  * @reference 중대재해처벌법 시행령 — 인체공학적 유해요인 평가
60
+ *
61
+ * @throws {RangeError} load is negative.
62
+ * @remarks Joint angles may legitimately be negative (flexion vs. extension), so they
63
+ * are not range-checked; only the handled load (kg) must be non-negative.
60
64
  */
61
65
  export function ergonomicRisk(input) {
66
+ if (input.load < 0) {
67
+ throw new RangeError('load must not be negative');
68
+ }
62
69
  // --- Trunk Score ---
63
70
  const absTA = Math.abs(input.trunkAngle);
64
71
  let trunkScore;
@@ -1 +1 @@
1
- {"version":3,"file":"ergonomicRisk.js","sourceRoot":"","sources":["../../src/safety/ergonomicRisk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ergonomicRisk.js","sourceRoot":"","sources":["../../src/safety/ergonomicRisk.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ import type { FallClearanceInput, FallClearanceResult } from './types.js';
16
16
  *
17
17
  * @param input - Fall clearance parameters
18
18
  * @returns Fall clearance results including adequacy assessment and warnings
19
+ * @throws {RangeError} workerHeight ≤ 0, or any distance (lanyardLength,
20
+ * decelerationDistance, harnessStretch, safetyFactor, rescueClearance,
21
+ * obstacleHeight) is negative.
22
+ * @remarks anchorHeight ≤ 0 is NOT rejected: it is a valid (dangerous) geometry
23
+ * that the function reports as isAdequate=false with a warning.
19
24
  */
20
25
  export declare function fallClearance(input: FallClearanceInput): FallClearanceResult;
21
26
  //# sourceMappingURL=fallClearance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallClearance.d.ts","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAuF5E"}
1
+ {"version":3,"file":"fallClearance.d.ts","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAqG5E"}
@@ -16,11 +16,27 @@ import { roundTo } from '../utils.js';
16
16
  *
17
17
  * @param input - Fall clearance parameters
18
18
  * @returns Fall clearance results including adequacy assessment and warnings
19
+ * @throws {RangeError} workerHeight ≤ 0, or any distance (lanyardLength,
20
+ * decelerationDistance, harnessStretch, safetyFactor, rescueClearance,
21
+ * obstacleHeight) is negative.
22
+ * @remarks anchorHeight ≤ 0 is NOT rejected: it is a valid (dangerous) geometry
23
+ * that the function reports as isAdequate=false with a warning.
19
24
  */
20
25
  export function fallClearance(input) {
21
26
  const { lanyardLength, decelerationDistance, harnessStretch, workerHeight, safetyFactor, anchorHeight, rescueClearance = 0.9, // ANSI Z359.4 default minimum
22
27
  obstacleHeight = 0, // Ground level default
23
28
  } = input;
29
+ if (workerHeight <= 0) {
30
+ throw new RangeError('workerHeight must be greater than 0');
31
+ }
32
+ if (lanyardLength < 0 ||
33
+ decelerationDistance < 0 ||
34
+ harnessStretch < 0 ||
35
+ safetyFactor < 0 ||
36
+ rescueClearance < 0 ||
37
+ obstacleHeight < 0) {
38
+ throw new RangeError('lanyardLength, decelerationDistance, harnessStretch, safetyFactor, rescueClearance, and obstacleHeight must not be negative');
39
+ }
24
40
  const warnings = [];
25
41
  // Validate inputs and generate warnings
26
42
  if (lanyardLength > 1.8) {
@@ -1 +1 @@
1
- {"version":3,"file":"fallClearance.js","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallClearance.js","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ import type { HavsInput, HavsResult } from './types.js';
11
11
  *
12
12
  * @param input - HAVS input parameters with tool exposures
13
13
  * @returns HAVS results including A(8), status, and exposure metrics
14
+ * @throws {RangeError} a tool has a negative vibrationMagnitude or exposureTime.
15
+ * @remarks Zero-valued tool entries are treated as unused and filtered out; an empty
16
+ * (or all-zero) tool list is a valid input that reports no exposure.
14
17
  */
15
18
  export declare function havsCalculate(input: HavsInput): HavsResult;
16
19
  //# sourceMappingURL=havsCalculate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"havsCalculate.d.ts","sourceRoot":"","sources":["../../src/safety/havsCalculate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAyEtE;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAkC1D"}
1
+ {"version":3,"file":"havsCalculate.d.ts","sourceRoot":"","sources":["../../src/safety/havsCalculate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAyEtE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAwC1D"}
@@ -72,9 +72,17 @@ function calculateMaxDailyExposure(tools) {
72
72
  *
73
73
  * @param input - HAVS input parameters with tool exposures
74
74
  * @returns HAVS results including A(8), status, and exposure metrics
75
+ * @throws {RangeError} a tool has a negative vibrationMagnitude or exposureTime.
76
+ * @remarks Zero-valued tool entries are treated as unused and filtered out; an empty
77
+ * (or all-zero) tool list is a valid input that reports no exposure.
75
78
  */
76
79
  export function havsCalculate(input) {
77
80
  const { tools } = input;
81
+ for (const t of tools) {
82
+ if (t.vibrationMagnitude < 0 || t.exposureTime < 0) {
83
+ throw new RangeError('tool vibrationMagnitude and exposureTime must not be negative');
84
+ }
85
+ }
78
86
  // Filter out empty entries
79
87
  const validTools = tools.filter(t => t.vibrationMagnitude > 0 && t.exposureTime > 0);
80
88
  // Calculate partial exposures for each tool
@@ -1 +1 @@
1
- {"version":3,"file":"havsCalculate.js","sourceRoot":"","sources":["../../src/safety/havsCalculate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"havsCalculate.js","sourceRoot":"","sources":["../../src/safety/havsCalculate.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import type { IlluminanceInput, IlluminanceResult } from './types.js';
8
8
  *
9
9
  * @param input - Room dimensions and lighting parameters
10
10
  * @returns Number of fixtures needed and lighting metrics
11
+ * @throws {RangeError} roomLength, roomWidth, lumensPerLuminaire, or targetLux ≤ 0,
12
+ * or the mounting height above the workplane (luminaireHeight − workplaneHeight) ≤ 0.
11
13
  */
12
14
  export declare function illuminance(input: IlluminanceInput): IlluminanceResult;
13
15
  //# sourceMappingURL=illuminance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"illuminance.d.ts","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgCtE;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAqEtE"}
1
+ {"version":3,"file":"illuminance.d.ts","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgCtE;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAuDtE"}
@@ -37,30 +37,18 @@ function lookupCU(roomIndex) {
37
37
  *
38
38
  * @param input - Room dimensions and lighting parameters
39
39
  * @returns Number of fixtures needed and lighting metrics
40
+ * @throws {RangeError} roomLength, roomWidth, lumensPerLuminaire, or targetLux ≤ 0,
41
+ * or the mounting height above the workplane (luminaireHeight − workplaneHeight) ≤ 0.
40
42
  */
41
43
  export function illuminance(input) {
42
44
  const { roomLength, roomWidth, luminaireHeight, workplaneHeight = 0.85, targetLux, lumensPerLuminaire, wattsPerLuminaire, cu: cuOverride, mf = 0.8, } = input;
43
45
  if (roomLength <= 0 || roomWidth <= 0 || lumensPerLuminaire <= 0 || targetLux <= 0) {
44
- return {
45
- fixturesNeeded: 0,
46
- actualLux: 0,
47
- roomIndex: 0,
48
- totalLumens: 0,
49
- powerDensity: null,
50
- recommendedSpacing: 0,
51
- };
46
+ throw new RangeError('roomLength, roomWidth, lumensPerLuminaire, and targetLux must all be greater than 0');
52
47
  }
53
48
  const area = roomLength * roomWidth;
54
49
  const hm = luminaireHeight - workplaneHeight;
55
50
  if (hm <= 0) {
56
- return {
57
- fixturesNeeded: 0,
58
- actualLux: 0,
59
- roomIndex: 0,
60
- totalLumens: 0,
61
- powerDensity: null,
62
- recommendedSpacing: 0,
63
- };
51
+ throw new RangeError('luminaireHeight must be greater than workplaneHeight');
64
52
  }
65
53
  // Room Index (Cavity Ratio)
66
54
  const roomIndex = (roomLength * roomWidth) / (hm * (roomLength + roomWidth));
@@ -1 +1 @@
1
- {"version":3,"file":"illuminance.js","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"illuminance.js","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ import type { LadderAngleInput, LadderAngleResult } from './types.js';
11
11
  *
12
12
  * @param input - Ladder dimensions (2 of 3 required)
13
13
  * @returns Angle, compliance status, and warnings
14
+ * @throws {RangeError} a provided height/baseDistance is negative, or ladderLength ≤ 0
15
+ * when it is used as a given (i.e. height and baseDistance are not both supplied).
14
16
  */
15
17
  export declare function ladderAngle(input: LadderAngleInput): LadderAngleResult;
16
18
  //# sourceMappingURL=ladderAngle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ladderAngle.d.ts","sourceRoot":"","sources":["../../src/safety/ladderAngle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKtE;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAsEtE"}
1
+ {"version":3,"file":"ladderAngle.d.ts","sourceRoot":"","sources":["../../src/safety/ladderAngle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAmFtE"}
@@ -13,10 +13,24 @@ const RAD = Math.PI / 180;
13
13
  *
14
14
  * @param input - Ladder dimensions (2 of 3 required)
15
15
  * @returns Angle, compliance status, and warnings
16
+ * @throws {RangeError} a provided height/baseDistance is negative, or ladderLength ≤ 0
17
+ * when it is used as a given (i.e. height and baseDistance are not both supplied).
16
18
  */
17
19
  export function ladderAngle(input) {
18
20
  let { ladderLength, height, baseDistance } = input;
19
21
  const warnings = [];
22
+ if (height !== undefined && height < 0) {
23
+ throw new RangeError('height must not be negative');
24
+ }
25
+ if (baseDistance !== undefined && baseDistance < 0) {
26
+ throw new RangeError('baseDistance must not be negative');
27
+ }
28
+ // When both height and baseDistance are given, ladderLength is recalculated and
29
+ // its input value (often a 0 placeholder) is ignored. Otherwise it is a given.
30
+ const bothGiven = height !== undefined && baseDistance !== undefined;
31
+ if (!bothGiven && ladderLength <= 0) {
32
+ throw new RangeError('ladderLength must be greater than 0');
33
+ }
20
34
  // Resolve the third dimension from the other two
21
35
  if (height !== undefined && baseDistance !== undefined) {
22
36
  // Both given: recalculate ladder length
@@ -1 +1 @@
1
- {"version":3,"file":"ladderAngle.js","sourceRoot":"","sources":["../../src/safety/ladderAngle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ladderAngle.js","sourceRoot":"","sources":["../../src/safety/ladderAngle.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,11 @@ import type { LelInput, LelResult } from './types.js';
9
9
  *
10
10
  * @reference Le Chatelier, H. (1891). Estimation of Firedamp by Flammability Limits.
11
11
  * @reference NFPA 69 — Standard on Explosion Prevention Systems
12
+ *
13
+ * @throws {RangeError} a gas component has a negative concentration or a non-positive LEL.
14
+ * @remarks Status thresholds follow the industry %LEL convention (matching
15
+ * {@link confinedSpace}): safe < 10%, caution 10–25%, danger > 25%. An empty
16
+ * gas list (no flammable gas present) is a valid input that reports 'safe'.
12
17
  */
13
18
  export declare function lel(input: LelInput): LelResult;
14
19
  //# sourceMappingURL=lel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lel.d.ts","sourceRoot":"","sources":["../../src/safety/lel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CA0D9C"}
1
+ {"version":3,"file":"lel.d.ts","sourceRoot":"","sources":["../../src/safety/lel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAmE9C"}
@@ -9,9 +9,22 @@ import { roundTo } from '../utils.js';
9
9
  *
10
10
  * @reference Le Chatelier, H. (1891). Estimation of Firedamp by Flammability Limits.
11
11
  * @reference NFPA 69 — Standard on Explosion Prevention Systems
12
+ *
13
+ * @throws {RangeError} a gas component has a negative concentration or a non-positive LEL.
14
+ * @remarks Status thresholds follow the industry %LEL convention (matching
15
+ * {@link confinedSpace}): safe < 10%, caution 10–25%, danger > 25%. An empty
16
+ * gas list (no flammable gas present) is a valid input that reports 'safe'.
12
17
  */
13
18
  export function lel(input) {
14
19
  const { gases } = input;
20
+ for (const gas of gases) {
21
+ if (gas.concentration < 0) {
22
+ throw new RangeError(`gas "${gas.name}" concentration must not be negative`);
23
+ }
24
+ if (gas.lel <= 0) {
25
+ throw new RangeError(`gas "${gas.name}" LEL must be greater than 0`);
26
+ }
27
+ }
15
28
  const totalConcentration = gases.reduce((s, g) => s + g.concentration, 0);
16
29
  if (totalConcentration === 0 || gases.length === 0) {
17
30
  return {
@@ -28,9 +41,8 @@ export function lel(input) {
28
41
  const contributions = [];
29
42
  for (const gas of gases) {
30
43
  const yi = gas.concentration / totalConcentration;
31
- if (gas.lel > 0) {
32
- sumFractionOverLel += yi / gas.lel;
33
- }
44
+ // gas.lel > 0 is guaranteed by input validation above
45
+ sumFractionOverLel += yi / gas.lel;
34
46
  contributions.push({
35
47
  name: gas.name,
36
48
  fraction: roundTo(yi * 100, 2),
@@ -43,12 +55,13 @@ export function lel(input) {
43
55
  const safetyMargin = mixtureLel > 0
44
56
  ? mixtureLel - totalConcentration
45
57
  : 0;
46
- // Status
58
+ // Status — industry %LEL convention (matches confinedSpace):
59
+ // safe < 10%, caution 10–25%, danger > 25%
47
60
  let status;
48
- if (percentOfLel < 25) {
61
+ if (percentOfLel < 10) {
49
62
  status = 'safe';
50
63
  }
51
- else if (percentOfLel < 50) {
64
+ else if (percentOfLel <= 25) {
52
65
  status = 'caution';
53
66
  }
54
67
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"lel.js","sourceRoot":"","sources":["../../src/safety/lel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG,CAAC,KAAe;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAE1E,IAAI,kBAAkB,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,UAAU,EAAE,CAAC;YACb,kBAAkB,EAAE,CAAC;YACrB,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,MAAM,aAAa,GAAyC,EAAE,CAAC;IAE/D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,GAAG,kBAAkB,CAAC;QAClD,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAChB,kBAAkB,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;QACrC,CAAC;QACD,aAAa,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,UAAU,GAAG,CAAC;QACjC,CAAC,CAAC,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,GAAG;QACzC,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,YAAY,GAAG,UAAU,GAAG,CAAC;QACjC,CAAC,CAAC,UAAU,GAAG,kBAAkB;QACjC,CAAC,CAAC,CAAC,CAAC;IAEN,SAAS;IACT,IAAI,MAA2B,CAAC;IAChC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;SAAM,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QAC7B,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClD,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,MAAM;QACN,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,aAAa;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"lel.js","sourceRoot":"","sources":["../../src/safety/lel.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,11 @@ import type { NioshInput, NioshResult } from './types.js';
25
25
  *
26
26
  * @param input - NIOSH lifting parameters
27
27
  * @returns NIOSH results including RWL, LI, multipliers, and risk level
28
+ * @throws {RangeError} any distance, angle, frequency, or loadWeight is negative.
29
+ * @remarks Distances below the equation's domain (H, D < 25 cm) are clamped per the
30
+ * NIOSH spec rather than rejected. When the frequency multiplier drives RWL to 0
31
+ * (sustained high-frequency lifting), liftingIndex is Infinity — an intentional
32
+ * sentinel meaning "no weight is acceptable for this task".
28
33
  */
29
34
  export declare function nioshLifting(input: NioshInput): NioshResult;
30
35
  //# sourceMappingURL=nioshLifting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nioshLifting.d.ts","sourceRoot":"","sources":["../../src/safety/nioshLifting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAGZ,MAAM,YAAY,CAAC;AAoHpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CA4D3D"}
1
+ {"version":3,"file":"nioshLifting.d.ts","sourceRoot":"","sources":["../../src/safety/nioshLifting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAGZ,MAAM,YAAY,CAAC;AAoHpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAuE3D"}