APIs

Show:
var assert = require("node-opcua-assert");


/**
 * @method makeOptionalsMap
 * @param optionals
 * transform  optional into a map
 */

function makeOptionalsMap(optionals){


    var map = {};
    if (!optionals) {
        return map;
    }
    assert(optionals instanceof Array);

    function insertInMap(map,s){
        var key = s[0];

        if(!map[key]) {
            map[key] = {};
        }
        if (s.length>1) {
            insertInMap(map[key],s.splice(1));
        }

    }
    for(var i =0 ; i<  optionals.length; i++) {

        var opt = optionals[i];

        var s = opt.split(".");

        insertInMap(map,s);

    }
    return map;
}

exports.makeOptionalsMap = makeOptionalsMap;