ts-client-lib
v0.0.4
Published
TypeScript utilities for **browser and Node**: auth (JWT decode, OAuth URL helpers), **finance** (bonus eligibility, KYC limits), **entities**, **games**, and **shared helpers** (pagination, strings, compression, etc.). No framework or database dependenci
Downloads
55
Maintainers
Readme
ts-client-lib
TypeScript utilities for browser and Node: auth (JWT decode, OAuth URL helpers), finance (bonus eligibility, KYC limits), entities, games, and shared helpers (pagination, strings, compression, etc.). No framework or database dependencies in the core modules—safe to use from React, microservices, or scripts.
npm: ts-client-lib · source: github.com/onalbi/ts-client-lib
Install
npm install ts-client-libPeer: reflect-metadata (required by some decorators; add if your bundler does not inject it).
Usage
Imports are explicit module paths (no single barrel).
// JWT (client-safe decode; verify only on the server)
import { decodeJWT, isExpired } from 'ts-client-lib/auth/TSJWT';
// OAuth: login/connect URLs, callback helpers
import { buildLoginRedirectUrl, OAUTH2_PROVIDER_IDS } from 'ts-client-lib/auth/TSOAuth';
// Bonus & KYC eligibility (same rules as your API can enforce server-side)
import { BonusEligibility } from 'ts-client-lib/finance/TSBonus';
import { KYCEligibility } from 'ts-client-lib/finance/TSKYC';
// Cursor pagination UI helpers
import { TSPagination } from 'ts-client-lib/utils/TSPagination';See each file’s JSDoc for types and examples.
Scripts
| Command | Purpose |
|--------|---------|
| npm run build | tsc --declaration — emit .js / .d.ts next to sources |
| npm run clean | clean:artifacts then clean:deps (see package.json) |
| npm run lint | ESLint (eslint.config.cjs) |
| npm test | Build, then Vitest (vitest config in package.json) |
| npm run test:coverage | Vitest with coverage |
Vitest options live under package.json → "vitest".
Testing
- Unit tests live in
test/**/*.spec.ts(Vitest). Examples:BonusEligibility.spec.ts,KYCEligibility.spec.ts,TSOAuth.spec.ts,TSPagination.spec.ts, plus entity/helper specs (Money,BetSlip, etc.). - Platform integration (e.g. bonus-service + GraphQL + live templates, Mongo
paginateCollection, kyc-service engine) belongs in your application repo, not here—keep this package free of service URLs and secrets.
Publish
npm run build
npm publishprepublishOnly runs the build; postpublish runs clean:artifacts (see package.json).
License
MIT © Albion Liçi
