PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@polkadot/api-derive/cjs/society

Просмотр файла: members.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports._members = _members;
exports.members = members;
const rxjs_1 = require("rxjs");
const index_js_1 = require("../util/index.js");
function _membersPrev(api, accountIds) {
    return (0, rxjs_1.combineLatest)([
        (0, rxjs_1.of)(accountIds),
        api.query.society.payouts.multi(accountIds),
        api.query.society['strikes'].multi(accountIds),
        api.query.society.defenderVotes.multi(accountIds),
        api.query.society.suspendedMembers.multi(accountIds),
        api.query.society['vouching'].multi(accountIds)
    ]).pipe((0, rxjs_1.map)(([accountIds, payouts, strikes, defenderVotes, suspended, vouching]) => accountIds.map((accountId, index) => ({
        accountId,
        isDefenderVoter: defenderVotes[index].isSome,
        isSuspended: suspended[index].isTrue,
        payouts: payouts[index],
        strikes: strikes[index],
        vote: defenderVotes[index].unwrapOr(undefined),
        vouching: vouching[index].unwrapOr(undefined)
    }))));
}
function _membersCurr(api, accountIds) {
    return (0, rxjs_1.combineLatest)([
        (0, rxjs_1.of)(accountIds),
        api.query.society.members.multi(accountIds),
        api.query.society.payouts.multi(accountIds),
        api.query.society.challengeRoundCount().pipe((0, rxjs_1.switchMap)((round) => api.query.society.defenderVotes.multi(accountIds.map((accountId) => [round, accountId])))),
        api.query.society.suspendedMembers.multi(accountIds)
    ]).pipe((0, rxjs_1.map)(([accountIds, members, payouts, defenderVotes, suspendedMembers]) => accountIds
        .map((accountId, index) => members[index].isSome
        ? {
            accountId,
            isDefenderVoter: defenderVotes[index].isSome,
            isSuspended: suspendedMembers[index].isSome,
            member: members[index].unwrap(),
            payouts: payouts[index].payouts
        }
        : null)
        .filter((m) => !!m)
        .map(({ accountId, isDefenderVoter, isSuspended, member, payouts }) => ({
        accountId,
        isDefenderVoter,
        isSuspended,
        payouts,
        strikes: member.strikes,
        vouching: member.vouching.unwrapOr(undefined)
    }))));
}
function _members(instanceId, api) {
    return (0, index_js_1.memo)(instanceId, (accountIds) => api.query.society.members.creator.meta.type.isMap
        ? _membersCurr(api, accountIds)
        : _membersPrev(api, accountIds));
}
/**
 * @description Get the member info for a society
 */
function members(instanceId, api) {
    return (0, index_js_1.memo)(instanceId, () => api.query.society.members.creator.meta.type.isMap
        ? api.query.society.members.keys().pipe((0, rxjs_1.switchMap)((keys) => api.derive.society._members(keys.map(({ args: [accountId] }) => accountId))))
        : api.query.society.members().pipe((0, rxjs_1.switchMap)((members) => api.derive.society._members(members))));
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!