formulab 0.1.0 → 0.1.11
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.
- package/CHANGELOG.md +185 -1
- package/README.md +38 -31
- package/dist/automotive/gearRatio.d.ts +2 -2
- package/dist/automotive/gearRatio.d.ts.map +1 -1
- package/dist/automotive/gearRatio.js +1 -1
- package/dist/automotive/gearRatio.js.map +1 -1
- package/dist/automotive/index.d.ts +1 -1
- package/dist/automotive/index.d.ts.map +1 -1
- package/dist/automotive/types.d.ts +2 -2
- package/dist/automotive/types.d.ts.map +1 -1
- package/dist/chemical/injectionCycle.d.ts +3 -0
- package/dist/chemical/injectionCycle.d.ts.map +1 -1
- package/dist/chemical/injectionCycle.js +1 -4
- package/dist/chemical/injectionCycle.js.map +1 -1
- package/dist/chemical/ph.d.ts +3 -0
- package/dist/chemical/ph.d.ts.map +1 -1
- package/dist/chemical/ph.js +1 -4
- package/dist/chemical/ph.js.map +1 -1
- package/dist/chemical/reactor.d.ts +3 -0
- package/dist/chemical/reactor.d.ts.map +1 -1
- package/dist/chemical/reactor.js +1 -4
- package/dist/chemical/reactor.js.map +1 -1
- package/dist/chemical/shelfLife.d.ts.map +1 -1
- package/dist/chemical/shelfLife.js +1 -7
- package/dist/chemical/shelfLife.js.map +1 -1
- package/dist/electronics/awg.d.ts.map +1 -1
- package/dist/electronics/awg.js +1 -4
- package/dist/electronics/awg.js.map +1 -1
- package/dist/electronics/capacitor.d.ts +3 -0
- package/dist/electronics/capacitor.d.ts.map +1 -1
- package/dist/electronics/capacitor.js +1 -4
- package/dist/electronics/capacitor.js.map +1 -1
- package/dist/electronics/led.d.ts.map +1 -1
- package/dist/electronics/led.js +1 -4
- package/dist/electronics/led.js.map +1 -1
- package/dist/electronics/smt-takt.d.ts +3 -0
- package/dist/electronics/smt-takt.d.ts.map +1 -1
- package/dist/electronics/smt-takt.js +1 -4
- package/dist/electronics/smt-takt.js.map +1 -1
- package/dist/electronics/solder.d.ts +3 -0
- package/dist/electronics/solder.d.ts.map +1 -1
- package/dist/electronics/solder.js +1 -4
- package/dist/electronics/solder.js.map +1 -1
- package/dist/electronics/stencil.d.ts.map +1 -1
- package/dist/electronics/stencil.js +1 -4
- package/dist/electronics/stencil.js.map +1 -1
- package/dist/electronics/trace.d.ts.map +1 -1
- package/dist/electronics/trace.js +1 -4
- package/dist/electronics/trace.js.map +1 -1
- package/dist/electronics/via.d.ts.map +1 -1
- package/dist/electronics/via.js +1 -4
- package/dist/electronics/via.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/logistics/eoq.d.ts.map +1 -1
- package/dist/logistics/eoq.js +11 -0
- package/dist/logistics/eoq.js.map +1 -1
- package/dist/metal/bearing.d.ts.map +1 -1
- package/dist/metal/bearing.js +1 -4
- package/dist/metal/bearing.js.map +1 -1
- package/dist/metal/bolt.d.ts.map +1 -1
- package/dist/metal/bolt.js +1 -4
- package/dist/metal/bolt.js.map +1 -1
- package/dist/metal/cutting.d.ts.map +1 -1
- package/dist/metal/cutting.js +1 -4
- package/dist/metal/cutting.js.map +1 -1
- package/dist/metal/cuttingStock.d.ts.map +1 -1
- package/dist/metal/cuttingStock.js +1 -4
- package/dist/metal/cuttingStock.js.map +1 -1
- package/dist/metal/gear.d.ts.map +1 -1
- package/dist/metal/gear.js +1 -4
- package/dist/metal/gear.js.map +1 -1
- package/dist/metal/hardness.d.ts.map +1 -1
- package/dist/metal/hardness.js +1 -4
- package/dist/metal/hardness.js.map +1 -1
- package/dist/metal/pressFit.d.ts.map +1 -1
- package/dist/metal/pressFit.js +1 -4
- package/dist/metal/pressFit.js.map +1 -1
- package/dist/metal/pressTonnage.d.ts +10 -4
- package/dist/metal/pressTonnage.d.ts.map +1 -1
- package/dist/metal/pressTonnage.js +199 -25
- package/dist/metal/pressTonnage.js.map +1 -1
- package/dist/metal/roughness.d.ts.map +1 -1
- package/dist/metal/roughness.js +1 -4
- package/dist/metal/roughness.js.map +1 -1
- package/dist/metal/screw.d.ts.map +1 -1
- package/dist/metal/screw.js +1 -4
- package/dist/metal/screw.js.map +1 -1
- package/dist/metal/spring.d.ts.map +1 -1
- package/dist/metal/spring.js +1 -4
- package/dist/metal/spring.js.map +1 -1
- package/dist/metal/tap.d.ts.map +1 -1
- package/dist/metal/tap.js +1 -4
- package/dist/metal/tap.js.map +1 -1
- package/dist/metal/thread.d.ts.map +1 -1
- package/dist/metal/thread.js +1 -4
- package/dist/metal/thread.js.map +1 -1
- package/dist/metal/tolerance.d.ts.map +1 -1
- package/dist/metal/tolerance.js +1 -4
- package/dist/metal/tolerance.js.map +1 -1
- package/dist/metal/types.d.ts +14 -0
- package/dist/metal/types.d.ts.map +1 -1
- package/dist/metal/vibration.d.ts.map +1 -1
- package/dist/metal/vibration.js +1 -4
- package/dist/metal/vibration.js.map +1 -1
- package/dist/metal/weldHeat.d.ts +2 -1
- package/dist/metal/weldHeat.d.ts.map +1 -1
- package/dist/metal/weldHeat.js +203 -44
- package/dist/metal/weldHeat.js.map +1 -1
- package/dist/quality/aql.d.ts.map +1 -1
- package/dist/quality/aql.js +1 -4
- package/dist/quality/aql.js.map +1 -1
- package/dist/quality/downtime.d.ts.map +1 -1
- package/dist/quality/downtime.js +1 -4
- package/dist/quality/downtime.js.map +1 -1
- package/dist/quality/dpmo.d.ts.map +1 -1
- package/dist/quality/dpmo.js +1 -4
- package/dist/quality/dpmo.js.map +1 -1
- package/dist/quality/lineBalancing.d.ts.map +1 -1
- package/dist/quality/lineBalancing.js +1 -4
- package/dist/quality/lineBalancing.js.map +1 -1
- package/dist/quality/mtbf.d.ts.map +1 -1
- package/dist/quality/mtbf.js +1 -4
- package/dist/quality/mtbf.js.map +1 -1
- package/dist/quality/oee.d.ts +1 -0
- package/dist/quality/oee.d.ts.map +1 -1
- package/dist/quality/oee.js +9 -0
- package/dist/quality/oee.js.map +1 -1
- package/dist/quality/ppk.d.ts.map +1 -1
- package/dist/quality/ppk.js +1 -4
- package/dist/quality/ppk.js.map +1 -1
- package/dist/quality/ppm.d.ts.map +1 -1
- package/dist/quality/ppm.js +1 -4
- package/dist/quality/ppm.js.map +1 -1
- package/dist/quality/rpn.d.ts.map +1 -1
- package/dist/quality/rpn.js +1 -4
- package/dist/quality/rpn.js.map +1 -1
- package/dist/quality/yield.d.ts.map +1 -1
- package/dist/quality/yield.js +1 -4
- package/dist/quality/yield.js.map +1 -1
- package/dist/safety/fallClearance.d.ts +12 -3
- package/dist/safety/fallClearance.d.ts.map +1 -1
- package/dist/safety/fallClearance.js +72 -17
- package/dist/safety/fallClearance.js.map +1 -1
- package/dist/safety/types.d.ts +6 -0
- package/dist/safety/types.d.ts.map +1 -1
- package/dist/utility/assignment.d.ts.map +1 -1
- package/dist/utility/assignment.js +1 -7
- package/dist/utility/assignment.js.map +1 -1
- package/dist/utility/index.d.ts +1 -1
- package/dist/utility/index.d.ts.map +1 -1
- package/dist/utility/index.js +1 -1
- package/dist/utility/index.js.map +1 -1
- package/dist/utility/unit.d.ts +1 -1
- package/dist/utility/unit.d.ts.map +1 -1
- package/dist/utility/unit.js +2 -8
- package/dist/utility/unit.js.map +1 -1
- package/dist/utils.d.ts +4 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +9 -2
- package/dist/utils.js.map +1 -1
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,190 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.1.11] - 2026-02-06
|
|
9
|
+
|
|
10
|
+
### Enhanced
|
|
11
|
+
- **`fallClearance()`**: Complete rewrite with ANSI Z359.1/Z359.4 compliance
|
|
12
|
+
- Added `rescueClearance` parameter (default 0.9m per ANSI Z359.4)
|
|
13
|
+
- Added `obstacleHeight` parameter for elevated obstacle detection
|
|
14
|
+
- Added `freeSpaceRequired` and `clearanceAboveObstacle` outputs
|
|
15
|
+
- Added `warnings` array with validation against OSHA/ANSI limits
|
|
16
|
+
- Separated physical fall distance from safety factor (correct per standards)
|
|
17
|
+
|
|
18
|
+
- **`weldHeat()`**: Major enhancement with industry standards
|
|
19
|
+
- Added AWS D1.1:2020 Table 5.8 preheat requirements with CE×thickness interaction
|
|
20
|
+
- Added Rosenthal cooling time equations (t8/5) for thick and thin plate heat flow
|
|
21
|
+
- Added Yurioka HAZ hardness formula with cooling rate factor
|
|
22
|
+
- Added Carbon Equivalent Pcm formula for low-alloy steels (C < 0.18%)
|
|
23
|
+
- Added hydrogen control level determination
|
|
24
|
+
- Added source attribution for preheat recommendations
|
|
25
|
+
|
|
26
|
+
- **`pressTonnage()`**: Deep drawing enhancements with DIN 8584 basis
|
|
27
|
+
- Added Siebel formula for drawing force with friction and bending effects
|
|
28
|
+
- Added blank holder force calculation: F_bh = π/4 × (D² - d²) × p_bh
|
|
29
|
+
- Added multi-draw detection and estimation for deep draws (d/D < 0.55)
|
|
30
|
+
- Added `frictionCoefficient`, `blankHolderPressure`, `dieRadius` parameters
|
|
31
|
+
- Added `warnings` array for process risk assessment
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- **Test suite**: `pressTonnage` (19 test cases covering blanking, bending, enhanced drawing)
|
|
35
|
+
- Total test count: 1648 tests across 103 test files
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
- Formula review completed for high-risk domains (safety, metal)
|
|
39
|
+
- Three functions upgraded from 70-85% to 95%+ theoretical completeness
|
|
40
|
+
|
|
41
|
+
## [0.1.10] - 2026-02-06
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
- **Test suites (Cycle 14)**: 28개 함수 완전 테스트 추가 (437 test cases)
|
|
45
|
+
- metal: `bendAllowance`, `bolt`, `cuttingStock`, `flatPattern`, `gear`, `kFactorReverse`, `material`, `pressFit`, `pressTonnage`, `roughness`, `screw`, `spring`, `tap`, `thread`, `tolerance`, `vibration`, `weldHeat`, `welding`
|
|
46
|
+
- logistics: `containerFit`, `fillRate`, `freightClass`, `pallet3d`, `palletStack`, `pickTime`, `shipping`, `tsp`
|
|
47
|
+
- construction: `roof`, `stair`
|
|
48
|
+
- Total test count: 1622 tests across 102 test files
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
- Coverage dramatically improved: 62.09% → 98.11% lines (+36.02%)
|
|
52
|
+
- Branch coverage: 88.72% → 90.55%
|
|
53
|
+
- Function coverage: 89.63% → 100%
|
|
54
|
+
- All domains now have 95%+ line coverage
|
|
55
|
+
- **Milestone**: 100% function coverage achieved, 98%+ line coverage, library fully tested
|
|
56
|
+
|
|
57
|
+
## [0.1.9] - 2025-02-05
|
|
58
|
+
|
|
59
|
+
### Added
|
|
60
|
+
- **Test suites (Cycle 13)**: 25개 함수 대규모 테스트 추가 (488 test cases)
|
|
61
|
+
- quality: `aql`, `cycle`, `downtime`, `lineBalancing`, `ppk`
|
|
62
|
+
- chemical: `concentration`, `ph`, `reactor`, `shelfLife`, `injectionCycle`
|
|
63
|
+
- electronics: `reflow`, `resistor`, `smt-takt`, `solder`, `trace`, `capacitor`, `stencil`, `via`
|
|
64
|
+
- construction: `beamLoad`, `concreteMix`, `formwork`, `rebar`, `aggregate`, `brick`, `pert`
|
|
65
|
+
- Total test count: 1185 tests across 74 test files
|
|
66
|
+
|
|
67
|
+
### Changed
|
|
68
|
+
- Coverage improved: 36.46% → 62.09% lines (+25.63%)
|
|
69
|
+
- quality 도메인: 98.68% lines
|
|
70
|
+
- chemical 도메인: 99.40% lines
|
|
71
|
+
- electronics 도메인: 98.37% lines
|
|
72
|
+
- construction 도메인: 83.30% lines
|
|
73
|
+
- **Milestone**: Line coverage 60% 돌파, 6개 도메인 90%+ 커버리지 달성
|
|
74
|
+
|
|
75
|
+
## [0.1.8] - 2025-02-05
|
|
76
|
+
|
|
77
|
+
### Added
|
|
78
|
+
- **Test suites (Cycle 11)**: `yieldCalc`, `rpn`, `ppm` (quality), `safetyStock`, `kanban` (logistics)
|
|
79
|
+
- **Test suites (Cycle 12)**: 17개 함수 대규모 테스트 추가
|
|
80
|
+
- safety: `fallClearance`, `noiseExposure`, `wbgtCalculate`, `havsCalculate`, `respiratorCalculate`
|
|
81
|
+
- food: `haccp`, `expiry`
|
|
82
|
+
- automotive: `batteryRuntime`, `evCharging`, `fuelEconomy`, `tireCompare`, `torque`, `power`
|
|
83
|
+
- energy: `compressedAirCost`, `motorEfficiency`, `pfCorrection`, `vfdSavings`
|
|
84
|
+
- Total test count: 697 tests across 49 test files
|
|
85
|
+
|
|
86
|
+
### Changed
|
|
87
|
+
- Coverage improved: 20.74% → 36.46% lines (+15.72%)
|
|
88
|
+
- safety 도메인: 39.63% → 100% lines
|
|
89
|
+
- food 도메인: 45.45% → 100% lines
|
|
90
|
+
- automotive 도메인: 11.89% → 68.96% lines
|
|
91
|
+
- energy 도메인: 26.45% → 100% lines
|
|
92
|
+
- **Milestone**: Line coverage 35% 돌파, 4개 도메인 100% 커버리지 달성
|
|
93
|
+
|
|
94
|
+
## [0.1.7] - 2025-02-05
|
|
95
|
+
|
|
96
|
+
### Added
|
|
97
|
+
- **Test suites**: `cutting`, `bearing`, `hardness` (metal domain, 45 test cases)
|
|
98
|
+
- Total test count: 371 tests across 27 test files
|
|
99
|
+
|
|
100
|
+
### Changed
|
|
101
|
+
- Coverage improved: 18.71% → 20.74% lines (+2.03%)
|
|
102
|
+
- metal 도메인: 4.78% → 11.54% lines
|
|
103
|
+
- **Milestone**: Line coverage 20% 돌파
|
|
104
|
+
|
|
105
|
+
## [0.1.6] - 2025-02-05
|
|
106
|
+
|
|
107
|
+
### Added
|
|
108
|
+
- **Test suites**: `calculateUnit`, `getUnitCategories`, `getUnitsForCategory` (unit conversion, 29 test cases)
|
|
109
|
+
- **Test suites**: `solveAssignment` (Hungarian algorithm, 12 test cases)
|
|
110
|
+
- Total test count: 326 tests across 24 test files
|
|
111
|
+
|
|
112
|
+
### Changed
|
|
113
|
+
- Coverage improved: 15.21% → 18.71% lines (+3.5%)
|
|
114
|
+
- utility 도메인: 0% → 78.83% lines
|
|
115
|
+
- Branches coverage: 76.89% → 80.96%
|
|
116
|
+
|
|
117
|
+
## [0.1.5] - 2025-02-05
|
|
118
|
+
|
|
119
|
+
### Added
|
|
120
|
+
- **Test suites**: `ledResistor`, `awgProperties` (electronics domain, 33 test cases)
|
|
121
|
+
- **Test suites**: `calorie`, `nutrition` (food domain, 23 test cases)
|
|
122
|
+
- Total test count: 285 tests across 22 test files
|
|
123
|
+
|
|
124
|
+
### Changed
|
|
125
|
+
- Coverage improved: 12.08% → 15.21% lines
|
|
126
|
+
- electronics 도메인: 0% → 18.77% lines
|
|
127
|
+
- food 도메인: 0% → 45.45% lines
|
|
128
|
+
|
|
129
|
+
## [0.1.4] - 2025-02-05
|
|
130
|
+
|
|
131
|
+
### Added
|
|
132
|
+
- **Test suites**: `slope`, `earthwork` (construction domain, 27 test cases)
|
|
133
|
+
- **Test suites**: `powerCost`, `carbonFootprint` (energy domain, 24 test cases)
|
|
134
|
+
- Total test count: 229 tests across 18 test files
|
|
135
|
+
|
|
136
|
+
### Changed
|
|
137
|
+
- Coverage improved: 10.38% → 12.08% lines
|
|
138
|
+
- construction 도메인: 0% → 7.73% lines
|
|
139
|
+
- energy 도메인: 0% → 26.45% lines
|
|
140
|
+
|
|
141
|
+
## [0.1.3] - 2025-02-05
|
|
142
|
+
|
|
143
|
+
### Added
|
|
144
|
+
- **Test suites**: `dilution`, `batch` (chemical domain, 25 test cases)
|
|
145
|
+
- **Input validation tests**: `eoq` validation edge cases (5 test cases)
|
|
146
|
+
- Total test count: 178 tests across 14 test files
|
|
147
|
+
|
|
148
|
+
### Fixed
|
|
149
|
+
- **`eoq()` input validation**: Returns zeros for invalid inputs (negative/zero demand, cost)
|
|
150
|
+
- **`gearRatio()` NaN bug**: `mechanicalAdvantage` now returns 0 when `inputTorque` is 0
|
|
151
|
+
|
|
152
|
+
### Changed
|
|
153
|
+
- Coverage improved: 8.8% → 10.38% lines
|
|
154
|
+
|
|
155
|
+
## [0.1.2] - 2025-02-05
|
|
156
|
+
|
|
157
|
+
### Added
|
|
158
|
+
- **Test suites**: `eoq`, `dimWeight`, `gearRatio` (40 additional test cases)
|
|
159
|
+
- Total test count: 148 tests across 12 test files
|
|
160
|
+
- Coverage measurement infrastructure fully operational
|
|
161
|
+
|
|
162
|
+
### Fixed
|
|
163
|
+
- **Coverage tool version mismatch**: Downgraded `@vitest/coverage-v8` from 4.x to 3.x to match vitest 3.x
|
|
164
|
+
|
|
165
|
+
### Changed
|
|
166
|
+
- **Coverage thresholds**: Adjusted to realistic baseline (lines: 5%, functions: 50%, branches: 50%)
|
|
167
|
+
- Current coverage metrics: 8.8% lines, 62.38% functions, 72.25% branches
|
|
168
|
+
|
|
169
|
+
## [0.1.1] - 2025-02-05
|
|
170
|
+
|
|
171
|
+
### Fixed
|
|
172
|
+
- **Main entry point**: Added missing exports for 5 domains (metal, chemical, electronics, construction, energy)
|
|
173
|
+
- **`roundTo()` precision bug**: Fixed IEEE 754 floating-point rounding issues (e.g., `roundTo(0.615, 2)` now correctly returns `0.62`)
|
|
174
|
+
- **Massive duplicate code removal**: Consolidated `roundTo()` from 36 files to single source in `utils.ts`
|
|
175
|
+
- Removed from: quality (8 files), metal (15 files), electronics (8 files), chemical (3 files)
|
|
176
|
+
- **README documentation**: Updated all API examples to match actual implementation
|
|
177
|
+
|
|
178
|
+
### Changed
|
|
179
|
+
- **BREAKING**: `GearInput` → `GearRatioInput` (automotive domain) to avoid collision with metal domain
|
|
180
|
+
- **BREAKING**: `GearResult` → `GearRatioResult` (automotive domain)
|
|
181
|
+
- **BREAKING**: `getCategories()` → `getUnitCategories()` (utility domain) to avoid collision with metal domain
|
|
182
|
+
- Removed `--passWithNoTests` flag from test script (tests are now mandatory)
|
|
183
|
+
|
|
184
|
+
### Added
|
|
185
|
+
- Input validation for `oee()`: throws error when `goodCount > totalCount`
|
|
186
|
+
- Input validation for `oee()`: throws error when `goodCount < 0`
|
|
187
|
+
- Test suites: `oee`, `cpk`, `taktTime`, `dpmo`, `mtbf`, `metalWeight`, `cbm`, `nioshLifting`, `roundTo` (108 test cases)
|
|
188
|
+
- NaN/Infinity handling in `roundTo()`
|
|
189
|
+
- Vitest coverage configuration with thresholds
|
|
190
|
+
- `test:coverage` npm script
|
|
191
|
+
|
|
8
192
|
## [0.1.0] - 2025-02-05
|
|
9
193
|
|
|
10
194
|
### Added
|
|
@@ -134,7 +318,7 @@ Initial release with 103 calculation functions across 11 domains.
|
|
|
134
318
|
#### Utility (3 functions)
|
|
135
319
|
- `solveAssignment()` - Hungarian algorithm optimization
|
|
136
320
|
- `calculateUnit()` - Unit conversion
|
|
137
|
-
- `
|
|
321
|
+
- `getUnitCategories()` - Get unit categories
|
|
138
322
|
|
|
139
323
|
### Technical Features
|
|
140
324
|
- Zero dependencies
|
package/README.md
CHANGED
|
@@ -35,28 +35,35 @@ import { oee, metalWeight, cbm } from 'formulab';
|
|
|
35
35
|
|
|
36
36
|
// Calculate OEE (Overall Equipment Effectiveness)
|
|
37
37
|
const result = oee({
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
rawData: {
|
|
39
|
+
plannedTime: 480, // minutes (8 hours)
|
|
40
|
+
runTime: 432, // minutes (90% availability)
|
|
41
|
+
totalCount: 1000,
|
|
42
|
+
goodCount: 990, // 99% quality
|
|
43
|
+
idealCycleTime: 0.456, // minutes per piece (95% performance)
|
|
44
|
+
},
|
|
41
45
|
});
|
|
42
|
-
console.log(result.oee); //
|
|
46
|
+
console.log(result.percentages.oee); // 84.6%
|
|
43
47
|
|
|
44
48
|
// Calculate metal weight
|
|
45
49
|
const weight = metalWeight({
|
|
46
|
-
material: 'steel',
|
|
47
50
|
shape: 'plate',
|
|
48
|
-
|
|
51
|
+
materialName: 'steel',
|
|
52
|
+
length: 1000, // mm
|
|
53
|
+
width: 500, // mm
|
|
54
|
+
thickness: 10, // mm
|
|
49
55
|
});
|
|
50
56
|
console.log(weight.weight); // 39.25 kg
|
|
51
57
|
|
|
52
|
-
// Calculate CBM
|
|
58
|
+
// Calculate CBM (Cubic Meter)
|
|
53
59
|
const volume = cbm({
|
|
54
60
|
length: 120,
|
|
55
61
|
width: 80,
|
|
56
62
|
height: 100,
|
|
57
|
-
|
|
63
|
+
quantity: 1,
|
|
64
|
+
unit: 'cm',
|
|
58
65
|
});
|
|
59
|
-
console.log(volume.
|
|
66
|
+
console.log(volume.totalCbm); // 0.96 m³
|
|
60
67
|
```
|
|
61
68
|
|
|
62
69
|
## Domains
|
|
@@ -261,7 +268,7 @@ import { solveAssignment, calculateUnit } from 'formulab/utility';
|
|
|
261
268
|
|----------|-------------|
|
|
262
269
|
| `solveAssignment()` | Hungarian algorithm optimization |
|
|
263
270
|
| `calculateUnit()` | Unit conversion |
|
|
264
|
-
| `
|
|
271
|
+
| `getUnitCategories()` | Get unit categories |
|
|
265
272
|
|
|
266
273
|
## API Examples
|
|
267
274
|
|
|
@@ -271,19 +278,19 @@ import { solveAssignment, calculateUnit } from 'formulab/utility';
|
|
|
271
278
|
import { oee } from 'formulab/quality';
|
|
272
279
|
|
|
273
280
|
const result = oee({
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
281
|
+
rawData: {
|
|
282
|
+
plannedTime: 480, // minutes
|
|
283
|
+
runTime: 420, // actual running time
|
|
284
|
+
totalCount: 1000, // total pieces produced
|
|
285
|
+
goodCount: 990, // good pieces
|
|
286
|
+
idealCycleTime: 0.4, // minutes per piece
|
|
287
|
+
},
|
|
279
288
|
});
|
|
280
289
|
|
|
281
290
|
console.log(result);
|
|
282
291
|
// {
|
|
283
|
-
// oee: 0.
|
|
284
|
-
// availability:
|
|
285
|
-
// performance: 0.952,
|
|
286
|
-
// quality: 0.99,
|
|
292
|
+
// factors: { availability: 0.875, performance: 0.952, quality: 0.99, oee: 0.825 },
|
|
293
|
+
// percentages: { availability: 87.5, performance: 95.2, quality: 99, oee: 82.5 }
|
|
287
294
|
// }
|
|
288
295
|
```
|
|
289
296
|
|
|
@@ -293,22 +300,22 @@ console.log(result);
|
|
|
293
300
|
import { nioshLifting } from 'formulab/safety';
|
|
294
301
|
|
|
295
302
|
const result = nioshLifting({
|
|
296
|
-
loadWeight: 23,
|
|
297
|
-
horizontalDistance: 25,
|
|
298
|
-
|
|
299
|
-
verticalTravel: 25,
|
|
300
|
-
asymmetryAngle: 0,
|
|
301
|
-
|
|
302
|
-
frequency: 1,
|
|
303
|
-
duration: '
|
|
303
|
+
loadWeight: 23, // kg
|
|
304
|
+
horizontalDistance: 25, // cm
|
|
305
|
+
verticalDistance: 75, // cm (height at lift origin)
|
|
306
|
+
verticalTravel: 25, // cm (vertical travel distance)
|
|
307
|
+
asymmetryAngle: 0, // degrees
|
|
308
|
+
coupling: 'good', // 'good' | 'fair' | 'poor'
|
|
309
|
+
frequency: 1, // lifts per minute
|
|
310
|
+
duration: 'short', // 'short' | 'medium' | 'long'
|
|
304
311
|
});
|
|
305
312
|
|
|
306
313
|
console.log(result);
|
|
307
314
|
// {
|
|
308
|
-
// rwl:
|
|
309
|
-
// liftingIndex: 1.
|
|
310
|
-
// riskLevel: '
|
|
311
|
-
//
|
|
315
|
+
// rwl: 21.62, // Recommended Weight Limit (kg)
|
|
316
|
+
// liftingIndex: 1.06, // LI = Load / RWL
|
|
317
|
+
// riskLevel: 'moderate',
|
|
318
|
+
// hm: 1.0, vm: 1.0, dm: 1.0, am: 1.0, fm: 0.94, cm: 1.0
|
|
312
319
|
// }
|
|
313
320
|
```
|
|
314
321
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GearRatioInput, GearRatioResult } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Calculate gear ratio and output characteristics
|
|
4
4
|
*
|
|
@@ -11,5 +11,5 @@ import type { GearInput, GearResult } from './types.js';
|
|
|
11
11
|
* @param input - Gear parameters
|
|
12
12
|
* @returns Gear result with ratio, speed, and torque
|
|
13
13
|
*/
|
|
14
|
-
export declare function gearRatio(input:
|
|
14
|
+
export declare function gearRatio(input: GearRatioInput): GearRatioResult;
|
|
15
15
|
//# sourceMappingURL=gearRatio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gearRatio.d.ts","sourceRoot":"","sources":["../../src/automotive/gearRatio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"gearRatio.d.ts","sourceRoot":"","sources":["../../src/automotive/gearRatio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA2BhE"}
|
|
@@ -27,7 +27,7 @@ export function gearRatio(input) {
|
|
|
27
27
|
const outputSpeed = inputSpeed / ratio;
|
|
28
28
|
const outputTorque = inputTorque * ratio * efficiency;
|
|
29
29
|
const speedReduction = ratio > 1;
|
|
30
|
-
const mechanicalAdvantage = outputTorque / inputTorque;
|
|
30
|
+
const mechanicalAdvantage = inputTorque === 0 ? 0 : outputTorque / inputTorque;
|
|
31
31
|
return {
|
|
32
32
|
gearRatio: roundTo(ratio, 2),
|
|
33
33
|
outputSpeed: roundTo(outputSpeed, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gearRatio.js","sourceRoot":"","sources":["../../src/automotive/gearRatio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"gearRatio.js","sourceRoot":"","sources":["../../src/automotive/gearRatio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEjF,wCAAwC;IACxC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,KAAK;YACrB,mBAAmB,EAAE,CAAC;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC;IACzC,MAAM,WAAW,GAAG,UAAU,GAAG,KAAK,CAAC;IACvC,MAAM,YAAY,GAAG,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC;IACtD,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC;IACjC,MAAM,mBAAmB,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC;IAE/E,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,cAAc;QACd,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC"}
|
|
@@ -5,5 +5,5 @@ export { gearRatio } from './gearRatio.js';
|
|
|
5
5
|
export { tireCompare } from './tireCompare.js';
|
|
6
6
|
export { torque } from './torque.js';
|
|
7
7
|
export { power } from './power.js';
|
|
8
|
-
export type { BatteryInput, BatteryResult, ChargingInput, ChargingResult, FuelUnit, FuelInput, FuelResult,
|
|
8
|
+
export type { BatteryInput, BatteryResult, ChargingInput, ChargingResult, FuelUnit, FuelInput, FuelResult, GearRatioInput, GearRatioResult, TireSpec, TireInput, TireData, TireResult, TorqueUnit, TorqueInput, TorqueResult, PowerUnit, PowerInput, PowerResult, } from './types.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/automotive/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,YAAY,EAEV,YAAY,EACZ,aAAa,EAEb,aAAa,EACb,cAAc,EAEd,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/automotive/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,YAAY,EAEV,YAAY,EACZ,aAAa,EAEb,aAAa,EACb,cAAc,EAEd,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,cAAc,EACd,eAAe,EAEf,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EAEV,UAAU,EACV,WAAW,EACX,YAAY,EAEZ,SAAS,EACT,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
|
@@ -47,14 +47,14 @@ export interface FuelResult {
|
|
|
47
47
|
/**
|
|
48
48
|
* Gear Ratio Calculator Types
|
|
49
49
|
*/
|
|
50
|
-
export interface
|
|
50
|
+
export interface GearRatioInput {
|
|
51
51
|
drivingTeeth: number;
|
|
52
52
|
drivenTeeth: number;
|
|
53
53
|
inputSpeed: number;
|
|
54
54
|
inputTorque: number;
|
|
55
55
|
efficiency: number;
|
|
56
56
|
}
|
|
57
|
-
export interface
|
|
57
|
+
export interface GearRatioResult {
|
|
58
58
|
gearRatio: number;
|
|
59
59
|
outputSpeed: number;
|
|
60
60
|
outputTorque: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/automotive/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/automotive/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,4 +16,7 @@ import type { InjectionCycleInput, InjectionCycleResult } from './types.js';
|
|
|
16
16
|
* @returns Cycle time breakdown and total
|
|
17
17
|
*/
|
|
18
18
|
export declare function injectionCycle(input: InjectionCycleInput): InjectionCycleResult;
|
|
19
|
+
/**
|
|
20
|
+
* Round to specified decimal places
|
|
21
|
+
*/
|
|
19
22
|
//# sourceMappingURL=injectionCycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectionCycle.d.ts","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAkC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"injectionCycle.d.ts","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAkC,MAAM,YAAY,CAAC;AA8E5G;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAqG/E;AAED;;GAEG"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { roundTo } from '../utils.js';
|
|
1
2
|
const RESIN_PROPERTIES = {
|
|
2
3
|
abs: {
|
|
3
4
|
thermalDiffusivity: 0.12,
|
|
@@ -163,8 +164,4 @@ export function injectionCycle(input) {
|
|
|
163
164
|
/**
|
|
164
165
|
* Round to specified decimal places
|
|
165
166
|
*/
|
|
166
|
-
function roundTo(value, decimals) {
|
|
167
|
-
const factor = Math.pow(10, decimals);
|
|
168
|
-
return Math.round(value * factor) / factor;
|
|
169
|
-
}
|
|
170
167
|
//# sourceMappingURL=injectionCycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectionCycle.js","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"injectionCycle.js","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"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"}
|
package/dist/chemical/ph.d.ts
CHANGED
|
@@ -10,4 +10,7 @@ import type { PhInput, PhResult } from './types.js';
|
|
|
10
10
|
* @returns pH result with pKa, buffer capacity, and effective range
|
|
11
11
|
*/
|
|
12
12
|
export declare function ph(input: PhInput): PhResult;
|
|
13
|
+
/**
|
|
14
|
+
* Round to specified decimal places
|
|
15
|
+
*/
|
|
13
16
|
//# sourceMappingURL=ph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ph.d.ts","sourceRoot":"","sources":["../../src/chemical/ph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ph.d.ts","sourceRoot":"","sources":["../../src/chemical/ph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AA0BlE;;;;;;;;;GASG;AACH,wBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAkD3C;AAED;;GAEG"}
|
package/dist/chemical/ph.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { roundTo } from '../utils.js';
|
|
1
2
|
/**
|
|
2
3
|
* pKa values at 25C for common buffer systems
|
|
3
4
|
*/
|
|
@@ -76,8 +77,4 @@ export function ph(input) {
|
|
|
76
77
|
/**
|
|
77
78
|
* Round to specified decimal places
|
|
78
79
|
*/
|
|
79
|
-
function roundTo(value, decimals) {
|
|
80
|
-
const factor = Math.pow(10, decimals);
|
|
81
|
-
return Math.round(value * factor) / factor;
|
|
82
|
-
}
|
|
83
80
|
//# sourceMappingURL=ph.js.map
|
package/dist/chemical/ph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ph.js","sourceRoot":"","sources":["../../src/chemical/ph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ph.js","sourceRoot":"","sources":["../../src/chemical/ph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,GAAoD;IAClE,OAAO,EAAE,IAAI,EAAK,wBAAwB;IAC1C,SAAS,EAAE,IAAI,EAAG,0BAA0B;IAC5C,IAAI,EAAE,IAAI,EAAQ,sBAAsB;IACxC,OAAO,EAAE,IAAI,EAAK,mBAAmB;IACrC,SAAS,EAAE,IAAI,EAAG,uBAAuB;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,GAAoD;IAC/D,OAAO,EAAE,GAAG,EAAM,aAAa;IAC/B,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB;IACtC,IAAI,EAAE,CAAC,KAAK,EAAM,sCAAsC;IACxD,OAAO,EAAE,CAAC,KAAK;IACf,SAAS,EAAE,CAAC,MAAM;CACnB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,EAAE,CAAC,KAAc;IAC/B,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE7F,2CAA2C;IAC3C,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,CAAC;YACL,GAAG,EAAE,CAAC;YACN,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAe,CAAC;IACpB,IAAI,MAAc,CAAC;IAEnB,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,SAAS,IAAI,GAAG,CAAC;QAC3B,MAAM,GAAG,CAAC,CAAC;IACb,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAExC,qDAAqD;IACrD,MAAM,KAAK,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IACpD,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEnC,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IACjE,MAAM,cAAc,GAAG,KAAK,GAAG,kBAAkB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAE5F,oCAAoC;IACpC,MAAM,cAAc,GAAG;QACrB,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;KACzB,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;GAEG"}
|
|
@@ -16,4 +16,7 @@ import type { ReactorInput, ReactorResult } from './types.js';
|
|
|
16
16
|
* @returns Reactor volumes and surface area
|
|
17
17
|
*/
|
|
18
18
|
export declare function reactor(input: ReactorInput): ReactorResult;
|
|
19
|
+
/**
|
|
20
|
+
* Round to specified decimal places
|
|
21
|
+
*/
|
|
19
22
|
//# sourceMappingURL=reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/chemical/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/chemical/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAmC1D;AAED;;GAEG"}
|
package/dist/chemical/reactor.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { roundTo } from '../utils.js';
|
|
1
2
|
/**
|
|
2
3
|
* Calculate reactor vessel dimensions and volumes.
|
|
3
4
|
*
|
|
@@ -50,8 +51,4 @@ export function reactor(input) {
|
|
|
50
51
|
/**
|
|
51
52
|
* Round to specified decimal places
|
|
52
53
|
*/
|
|
53
|
-
function roundTo(value, decimals) {
|
|
54
|
-
const factor = Math.pow(10, decimals);
|
|
55
|
-
return Math.round(value * factor) / factor;
|
|
56
|
-
}
|
|
57
54
|
//# sourceMappingURL=reactor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/chemical/reactor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/chemical/reactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAErD,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC5B,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAmB,CAAC;IAExB,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC5B,sBAAsB;QACtB,MAAM,CAAC,GAAG,MAAO,CAAC;QAClB,mBAAmB;QACnB,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;QAC5C,gEAAgE;QAChE,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,oBAAoB;QACpB,uBAAuB;QACvB,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAC3D,8BAA8B;QAC9B,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9C,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9C,MAAM,iBAAiB,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,gBAAgB;IAC9D,MAAM,mBAAmB,GAAG,aAAa,GAAG,IAAI,CAAC;IACjD,MAAM,oBAAoB,GAAG,WAAW,GAAG,WAAW,CAAC;IAEvD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACpD,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED;;GAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shelfLife.d.ts","sourceRoot":"","sources":["../../src/chemical/shelfLife.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shelfLife.d.ts","sourceRoot":"","sources":["../../src/chemical/shelfLife.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAmBhE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { roundTo } from '../utils.js';
|
|
1
2
|
/**
|
|
2
3
|
* Estimate shelf life at different storage temperatures using Q10 rule.
|
|
3
4
|
*
|
|
@@ -26,11 +27,4 @@ export function shelfLife(input) {
|
|
|
26
27
|
tempDifference,
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Round to specified decimal places
|
|
31
|
-
*/
|
|
32
|
-
function roundTo(value, decimals) {
|
|
33
|
-
const factor = Math.pow(10, decimals);
|
|
34
|
-
return Math.round(value * factor) / factor;
|
|
35
|
-
}
|
|
36
30
|
//# sourceMappingURL=shelfLife.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shelfLife.js","sourceRoot":"","sources":["../../src/chemical/shelfLife.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shelfLife.js","sourceRoot":"","sources":["../../src/chemical/shelfLife.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAE3D,MAAM,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;IAE5C,2CAA2C;IAC3C,sDAAsD;IACtD,uDAAuD;IACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,CAAC,CAAC;IAE9D,MAAM,kBAAkB,GAAG,cAAc,GAAG,kBAAkB,CAAC;IAE/D,OAAO;QACL,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClD,OAAO;QACP,UAAU;QACV,cAAc;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awg.d.ts","sourceRoot":"","sources":["../../src/electronics/awg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"awg.d.ts","sourceRoot":"","sources":["../../src/electronics/awg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAe,MAAM,YAAY,CAAC;AA0BnE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CA2C/D"}
|
package/dist/electronics/awg.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import { roundTo } from '../utils.js';
|
|
1
2
|
/**
|
|
2
3
|
* Round to specified decimal places
|
|
3
4
|
*/
|
|
4
|
-
function roundTo(value, decimals) {
|
|
5
|
-
const factor = Math.pow(10, decimals);
|
|
6
|
-
return Math.round(value * factor) / factor;
|
|
7
|
-
}
|
|
8
5
|
// Resistivity at 20°C in Ω·mm²/m
|
|
9
6
|
const RESISTIVITY_20C = {
|
|
10
7
|
copper: 0.01724,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awg.js","sourceRoot":"","sources":["../../src/electronics/awg.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"awg.js","sourceRoot":"","sources":["../../src/electronics/awg.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AAEH,iCAAiC;AACjC,MAAM,eAAe,GAAgC;IACnD,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;CAClB,CAAC;AAEF,kCAAkC;AAClC,MAAM,gBAAgB,GAAgC;IACpD,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;CAClB,CAAC;AAEF,8EAA8E;AAC9E,mEAAmE;AACnE,MAAM,eAAe,GAAgC;IACnD,MAAM,EAAE,GAAG,EAAM,QAAQ;IACzB,QAAQ,EAAE,GAAG,EAAI,sCAAsC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEvC,uBAAuB;IACvB,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,wEAAwE;IACxE,MAAM,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAEzC,uBAAuB;IACvB,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE9C,qCAAqC;IACrC,MAAM,gBAAgB,GAAG,YAAY,GAAG,YAAY,CAAC;IAErD,gDAAgD;IAChD,8BAA8B;IAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC;IAE5D,wCAAwC;IACxC,MAAM,eAAe,GAAG,cAAc,GAAG,MAAM,CAAC;IAEhD,sCAAsC;IACtC,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,cAAc,GAAG,OAAO,CAAC;IAEjD,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9C,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5C,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitor.d.ts","sourceRoot":"","sources":["../../src/electronics/capacitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"capacitor.d.ts","sourceRoot":"","sources":["../../src/electronics/capacitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAG1E;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAyC9E"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import { roundTo } from '../utils.js';
|
|
1
2
|
/**
|
|
2
3
|
* Round to specified decimal places
|
|
3
4
|
*/
|
|
4
|
-
function roundTo(value, decimals) {
|
|
5
|
-
const factor = Math.pow(10, decimals);
|
|
6
|
-
return Math.round(value * factor) / factor;
|
|
7
|
-
}
|
|
8
5
|
/**
|
|
9
6
|
* Decode a 3-digit capacitor code to capacitance values
|
|
10
7
|
* @param input - The 3-digit capacitor code (e.g., "104")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitor.js","sourceRoot":"","sources":["../../src/electronics/capacitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capacitor.js","sourceRoot":"","sources":["../../src/electronics/capacitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,qCAAqC;IACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9C,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;IAEhD,gCAAgC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAEjD,sBAAsB;IACtB,MAAM,UAAU,GAAG,kBAAkB,GAAG,UAAU,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;IAErD,uBAAuB;IACvB,IAAI,SAAiB,CAAC;IACtB,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,SAAS,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QAC3B,SAAS,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,GAAG,UAAU,IAAI,CAAC;IAChC,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU;QACV,WAAW;QACX,SAAS;QACT,kBAAkB;QAClB,UAAU;KACX,CAAC;AACJ,CAAC"}
|