react-native-drawing
Version:
A React Native library that provides a canvas to perform drawing actions
46 lines (45 loc) • 1.28 kB
JavaScript
import { Ack } from './Ack';
import { Codec } from './Codec';
import { Status } from './Status';
export class AnswerAck extends Ack {
constructor(sendData) {
// Building default codec
const codec = new Codec((struct) => {
return AnswerAck.fixCodecStruct(struct);
});
super(codec, sendData);
Object.defineProperty(this, "token", {
enumerable: true,
configurable: true,
writable: true,
value: '_ANSWER_'
});
}
makeChoice(args, ackInterface) {
const { res, status } = args;
if (status === Status.SUCCESS) {
ackInterface.resolve(res);
}
else {
const err = new Error(res);
ackInterface.reject(err);
}
}
static fixCodecStruct(struct) {
const { id, res, status: unknownStatus } = struct;
let status;
if (unknownStatus === Status.SUCCESS) {
status = Status.SUCCESS;
}
else if (unknownStatus === Status.ERROR) {
status = Status.ERROR;
}
else {
status = Status.ERROR;
}
return {
id: (typeof id === 'number') ? id : NaN,
res, status,
};
}
}