deposit-order-state-machine
v0.1.1
Published
Package to be shared between frontend apps and backend for unified managing users deposit order flow
Downloads
24
Maintainers
Readme
Deposit Order State Machine
State machine implementation for deposit order flow with support for automatic and manual payment modes.
Installation
npm install deposit-order-state-machine
# or
yarn add deposit-order-state-machineUsage
Import in TypeScript/JavaScript
import {
OrderFlowManager,
ORDER_STATE_MACHINE,
} from "deposit-order-state-machine";
// Validate transition
const validation = OrderFlowManager.validateOrderTransition(
"pending",
"awaiting-admin-confirmation",
"manual"
);
if (validation.valid) {
console.log("Transition allowed:", validation.event);
}
// Get UI status info
const uiStatus = OrderFlowManager.getUIStatus(
"awaiting-admin-confirmation",
"awaiting-verification"
);
console.log(uiStatus.label); // "Awaiting confirmation"Available Statuses
Order Statuses:
- idle
- pending
- awaiting-admin-confirmation
- payment-received
- completed
- cancelled
- rejected
Payment Statuses:
- idle
- pending
- awaiting-verification
- verified
- paid
- failed
- refunded
- rejected
API Reference
OrderFlowManager
validateOrderTransition() - Validate order status transition
validatePaymentTransition() - Validate payment status transition
getUIStatus() - Get UI information for status
calculateRemainingTime() - Calculate timeout remaining time
getNextPossibleStates() - Get possible next states
License
MIT
