get-params-members.js 575 Bytes
const popEnvelope = require('./pop-envelope');

const getMembersNative = (data) => {
    const body = popEnvelope(data);
    if (!body) return null;

    return body
        && body.params
        && body.params.param
        && body.params.param.value
        && body.params.param.value.struct
        && body.params.param.value.struct.member;
};

module.exports = (data) => {
    const members = getMembersNative(data);
    if (!members) return null;

    return members.map((item) => ({
        name: item.name,
        value: item.value && item.value.string,
    }));
};