1.1.0 • Published 2d ago
@theerapat-s28/ts-structural-eng-tools
Licence
ISC
Version
1.1.0
Deps
0
Size
76 kB
Vulns
0
Weekly
0
ts-structural-eng
A TypeScript library of structural-engineering helper functions and beam design utilities. Designed to be copied and reused across TypeScript frameworks.
Quick summary
- Package:
ts-structural-eng-tools - Entry:
src/index.ts - Build output:
dist/(JS +.d.tsfiles)
Prerequisites
- Node.js (v18+ recommended)
- pnpm
Install
pnpm install
Scripts
| Command | Description |
|---|---|
pnpm run dev |
Run the example file with ts-node |
pnpm run build |
Compile TypeScript into dist/ |
pnpm run lint |
Lint source files with ESLint |
pnpm run lint:fix |
Auto-fix lint issues |
pnpm run format |
Format code with Prettier |
pnpm run format:check |
Check formatting without writing |
pnpm run test |
Run unit tests with Vitest |
pnpm run test:watch |
Run tests in watch mode |
Project layout
src/
├── index.ts # Main barrel export
├── rc/ # Reinforced concrete design
│ ├── index.ts # Module exports
│ ├── general.ts # Concrete properties (beta1, Ec, unit conversion)
│ └── rc-beam-design.ts # Beam moment capacity (singly/doubly reinforced) and shear capacity (Vc, Vs, stirrup requirement)
├── strengthening/ # Strengthening methods
│ ├── index.ts
│ └── rc-beam-steel-plate-jacketing.ts
├── core/ # Shared infrastructure
│ ├── index.ts
│ ├── constants/ # RC design constants (ACI 318)
│ ├── errors/ # Custom error classes
│ └── types/ # Shared type definitions
└── utils/ # Helper utilities
├── index.ts
├── math.ts # Quadratic solver, rounding
└── merge-warning.ts # Warning array merging
examples/
└── basic-usage.ts # Example usage of the library
tests/
├── rc/ # Tests for RC module
└── utils/ # Tests for utilities
TypeScript path aliases
This project uses baseUrl + paths for clean imports:
"paths": {
"@app-core/*": ["src/core/*"],
"@app-types/*": ["src/core/types/*"],
"@app-utils/*": ["src/utils/*"],
"@app-rc/*": ["src/rc/*"],
"@app-strg/*": ["src/strengthening/*"]
}
For runtime resolution, tsconfig-paths is registered in the dev script.
API
RC Beam Design
rectBeamMomentCapacity(section)— Computes φMn for a rectangular RC beam (singly or doubly reinforced). ReturnsphiMnin kN·m with calculation details and ACI 318-19 warnings.concreteShearCapacity(section)— Computes φVc, the concrete contribution to shear capacity (ACI 318-19, 22.5.5.1).stirrupShearCapacity(section)— Computes φVs, the stirrup contribution to shear capacity (ACI 318-19, 22.5.10.5.3).checkStirrupRequirement(input)— Determines whether stirrups are required, and the required Av/s ratio and max spacing (ACI 318-19, 9.6.3.1, 9.6.3.3, 9.7.6.2.2).
Strengthening
calculateSteelJacketedBeamMomentCapacity(section, jacketedProperties)— Computes φMn for a beam strengthened with steel plate jacketing.
General Utilities
concreteBeta(fc_)— ACI 318 β₁ factorconcreteElasticModulus(fc_)— Ec = 4700√f'c (MPa)psiToMpa(psi)— Unit conversion
Build
pnpm run build
node dist/index.js
Tests
pnpm run test