1.0.6 • Published 4 months ago
@sstscode/adapter v1.0.6
@sstscode/adapter
Adapter module for SSTS system
Installation
npm install @sstscode/adapter
Usage
Basic Usage
import { useAdapter } from '@sstscode/adapter'
// Initialize adapter with callbacks
const adapter = useAdapter(
async (dict, pageName, className, methodName, paramsXml) => {
console.log('Logging adapter params...')
return Promise.resolve('12345')
},
(tradeDetailId, methodName, result) => console.log('Logging result...', { tradeDetailId, methodName, result }),
[],
(url, data) => {
console.log('Logging request...', { url, data })
}
(resultCodeMsg, businessTrace, adapterTrace, returnType, ret) => {
console.log('Success:', { resultCodeMsg, ret })
},
(resultCodeMsg, businessTrace, adapterTrace, error) => {
console.error('Error:', { resultCodeMsg, error })
}
)
API Reference
Adapter Initialization
const adapter = useAdapter(
async (dict, pageName, className, methodName, paramsXml) => {
console.log('Logging adapter params...')
return Promise.resolve('12345')
},
(tradeDetailId, methodName, result) => console.log('Logging result...', { tradeDetailId, methodName, result }),
[],
(url, data) => {
console.log('Logging request...', { url, data })
}
(resultCodeMsg, businessTrace, adapterTrace, returnType, ret) => {
console.log('Success:', { resultCodeMsg, ret })
},
(resultCodeMsg, businessTrace, adapterTrace, error) => {
console.error('Error:', { resultCodeMsg, error })
}
)
Parameters
paramCallback: Function
- Called when parameters are received
- Signature:
(dict: any, pageName: string, className: string, methodName: string, paramsXml: string) => Promise<any>
- Returns: Promise resolving to initial parameter value
resultCallback: Function
- Called when results are received
- Signature:
(tradeDetailId: string, methodName: string, result: any) => void
initialParams: Array
- Array of initial parameters to pass to the adapter
successCallback: Function
- Called on successful operations
- Signature:
(resultCodeMsg: string, businessTrace: string, adapterTrace: string, returnType: string, ret: any) => void
errorCallback: Function
- Called on errors
- Signature:
(resultCodeMsg: string, businessTrace: string, adapterTrace: string, error: any) => void
Adapter Services
The adapter provides three main services:
HIS Service
adapter.his.call(
fnName: string,
dict: any,
isAsync?: boolean,
callback?: FnSuccessCallback
): Promise<string | object>
- Handles HIS system integration
- Returns adapterTrace string if async, otherwise returns result object
BANK Service
adapter.bank.call(
fnName: string,
dict: any,
isAsync?: boolean,
callback?: FnSuccessCallback
): Promise<string | object>
- Handles banking system integration
- Returns adapterTrace string if async, otherwise returns result object
YB Service
adapter.yb.call(
fnName: string,
dict: any,
isAsync?: boolean,
callback?: FnSuccessCallback
): Promise<string | object>
- Handles insurance system integration
- Returns adapterTrace string if async, otherwise returns result object
Common Parameters
All services share these common parameters:
fnName
: string - The function name to calldict
: any - Dictionary containing:- terminal: { TerminalIp: string, TerminalNo: string }
- device: object
- system: object
- static: object
- config: object
isAsync
: boolean - Whether to call asynchronously (default: true)callback
: Function - Optional success callback with signature:(resultCodeMsg: string, businessTrace: string, adapterTrace: string, returnType: string, ret: any) => void
Error Handling
The adapter provides comprehensive error handling through:
- Callback errors
- Custom error handling
- Validation errors
Development
- Clone the repository
- Install dependencies:
npm install
- Build the project:
npm run build
- Run tests:
npm test