nem-voting
Version:
39 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("./utils");
const rxjs_1 = require("rxjs");
const vote = (poll, option) => {
const address = poll.getOptionAddress(option);
if (!address) {
throw new Error("Invalid option");
}
return utils_1.getMessageTransaction("", address);
};
exports.vote = vote;
const multisigVote = (multisigAccount, poll, option) => {
const address = poll.getOptionAddress(option);
if (!address) {
throw new Error("Invalid option");
}
const message = "vote on poll " + address.plain() + " with option \"" + option + "\"";
return utils_1.getMultisigMessage(multisigAccount, message, address);
};
exports.multisigVote = multisigVote;
const getVotes = (address, poll) => {
const promises = poll.data.options.map((option) => {
const optAddress = poll.getOptionAddress(option);
return utils_1.findTransaction(address, optAddress);
});
return rxjs_1.Observable.forkJoin(promises)
.map((transactions) => {
const trans = transactions.filter((t) => t !== null).map((t) => t);
if (trans.length === 0) {
return null;
}
else {
return trans;
}
});
};
exports.getVotes = getVotes;
//# sourceMappingURL=voting.js.map