All files / test/framework/ctp/sim payshieldSim.ts

55.55% Statements 20/36
100% Branches 1/1
0% Functions 0/1
55.55% Lines 20/36

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 371x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x                                 1x  
import {adapter, type IMeta} from '@feasibleone/blong';
 
export default adapter(() => ({
    extends: 'adapter.tcp',
    activation: {
        default: {
            port: 1600,
            maxReceiveBuffer: 4096,
            format: {
                size: '16/integer',
            },
            imports: 'ctp.payshield',
            'ctp.payshield': {
                headerFormat: '6/string-left-zero',
            },
            listen: true,
        },
    },
    receive(params: unknown, $meta: IMeta) {
        if ($meta.mtid === 'request') {
            $meta.dispatch = (msg: object = {}, dispatchMeta?: IMeta) => {
                if (!dispatchMeta) return;
                dispatchMeta.mtid = 'response';
                switch (dispatchMeta.method) {
                    case 'echo': {
                        return [
                            {data: (msg as {data?: unknown}).data, errorCode: '00'},
                            dispatchMeta,
                        ] as [object, IMeta];
                    }
                }
            };
        }
        return params;
    },
}));