saajhedaari-types
v1.1.0
Published
Shared TypeScript types for Saajhedaari - expense splitting and group management
Maintainers
Readme
saajhedaari-types
Shared TypeScript types for Saajhedaari - a collaborative expense splitting and group management application.
⚠️ Private Package: This package builds on install and requires TypeScript in consumer environments.
Installation
From Git:
npm install git+https://github.com/GeekyMayank19/saajhedaari-types.gitOr add to package.json:
{
"dependencies": {
"saajhedaari-types": "github:GeekyMayank19/saajhedaari-types"
}
}Requirements
- Node.js >= 18.0.0
- TypeScript >= 5.3.0 (installed as devDependency)
How It Works
- Package contains only TypeScript source files (
src/) - On
npm install, thepreparescript runs automatically - TypeScript compiles
src/→dist/ - Runtime uses
dist/index.js, types fromdist/index.d.ts
Usage
import {
User,
Group,
Expense,
LoginReq,
LoginRes,
Role,
SplitType
} from 'saajhedaari-types';
// Example
const loginPayload: LoginReq = {
email: '[email protected]',
password: 'password123'
};Available Types
Authentication
LoginReq,LoginRes,RegisterReq,RegisterRes,JwtPayload
User
User,CreateUserReq,UpdateUserReq
Group
Group,GroupMember,GroupWithMembers,GroupWithOwnerCreateGroupReq,UpdateGroupReq,AddMemberReq
Expense
Expense,ExpenseShare,ExpenseWithSharesCreateExpenseReq,UpdateExpenseReqShareInputUnequal,ShareInputPercentage,ShareInputByUnitsExpenseHistory,ExpenseSnapshot
Enums
Role(ADMIN,MEMBER)SplitType(EQUAL,UNEQUAL,PERCENTAGE,SHARES)ExpenseAction(CREATED,UPDATED,DELETED)
Development
npm install # Installs deps + runs prepare (builds)
npm run build # Manual rebuildProject Structure
src/
├── index.ts # Main entry - exports all types
├── auth.types.ts # Authentication types
├── user.types.ts # User types
├── group.types.ts # Group types
├── expense.types.ts # Expense types
└── enums.ts # Shared enumsMigration to Public Package
If this package becomes public later:
- Change
prepare→prepublishOnly - Remove
dist/from.npmignore - Pre-build and publish
dist/
License
MIT
