@iotize/tap
Version:
IoTize Device client for Javascript
29 lines • 2.31 kB
JavaScript
import { TapApduRequest, TapRequestFrame, } from '@iotize/tap/client/api';
import { TapRequestFrameConverter } from '../generated/converter';
export function createApduFromTapRequest(request) {
const data = new TapRequestFrameConverter().encode(request); // TODO
// TODO check if size > 255 ?
let ins;
switch (request.header.methodType) {
case TapRequestFrame.MethodType.GET:
ins = TapApduRequest.MethodType.GET;
break;
case TapRequestFrame.MethodType.PUT:
case TapRequestFrame.MethodType.POST:
ins = TapApduRequest.MethodType.PUT_OR_POST;
break;
default:
throw new Error(`Internal error: request type "${request.header.methodType}" is invalid`);
}
return {
header: {
cla: TapApduRequest.Default.CLA,
ins,
p1: 0,
p2: 0,
lc: data.length,
},
data,
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWFwZHUtcmVxdWVzdC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY2xpZW50L2ltcGwvc3JjL2xpYi9hcGR1L3RhcC1hcGR1LXJlcXVlc3QtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsY0FBYyxFQUNkLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE9BQXdCO0lBRXhCLE1BQU0sSUFBSSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPO0lBQ3BFLDZCQUE2QjtJQUM3QixJQUFJLEdBQVcsQ0FBQztJQUNoQixRQUFRLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ2pDLEtBQUssZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQ2pDLEdBQUcsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUNwQyxNQUFNO1FBQ1IsS0FBSyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNwQyxLQUFLLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNsQyxHQUFHLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7WUFDNUMsTUFBTTtRQUNSO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FDYixpQ0FBaUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLGNBQWMsQ0FDekUsQ0FBQztLQUNMO0lBQ0QsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLEdBQUcsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUc7WUFDL0IsR0FBRztZQUNILEVBQUUsRUFBRSxDQUFDO1lBQ0wsRUFBRSxFQUFFLENBQUM7WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDaEI7UUFDRCxJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMifQ==