main.js 3.7 KB
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.mapify = mapify;
exports.demapify = demapify;
exports.objify = void 0;

require("source-map-support/register");

function mapify(obj) {
  let m = new Map();

  if (typeof obj !== 'object' || obj === null) {
    return obj;
  }

  if (obj instanceof Array) {
    let newArr = [];

    for (let x of obj) {
      newArr.push(mapify(x));
    }

    return newArr;
  }

  for (let k in obj) {
    if (obj.hasOwnProperty(k)) {
      m.set(k, mapify(obj[k]));
    }
  }

  return m;
}

function demapify(map) {
  if (map instanceof Array) {
    let newArr = [];

    for (let x of map) {
      newArr.push(demapify(x));
    }

    return newArr;
  } else if (!(map instanceof Map)) {
    return map;
  }

  let obj = {};

  for (let [k, v] of map) {
    obj[k] = demapify(v);
  }

  return obj;
}

let objify = demapify;
exports.objify = objify;require('source-map-support').install();


//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9tYWluLmpzIl0sIm5hbWVzIjpbIm1hcGlmeSIsIm9iaiIsIm0iLCJNYXAiLCJBcnJheSIsIm5ld0FyciIsIngiLCJwdXNoIiwiayIsImhhc093blByb3BlcnR5Iiwic2V0IiwiZGVtYXBpZnkiLCJtYXAiLCJ2Iiwib2JqaWZ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLFNBQVNBLE1BQVQsQ0FBaUJDLEdBQWpCLEVBQXNCO0FBQ3BCLE1BQUlDLENBQUMsR0FBRyxJQUFJQyxHQUFKLEVBQVI7O0FBQ0EsTUFBSSxPQUFPRixHQUFQLEtBQWUsUUFBZixJQUEyQkEsR0FBRyxLQUFLLElBQXZDLEVBQTZDO0FBQzNDLFdBQU9BLEdBQVA7QUFDRDs7QUFDRCxNQUFJQSxHQUFHLFlBQVlHLEtBQW5CLEVBQTBCO0FBQ3hCLFFBQUlDLE1BQU0sR0FBRyxFQUFiOztBQUNBLFNBQUssSUFBSUMsQ0FBVCxJQUFjTCxHQUFkLEVBQW1CO0FBQ2pCSSxNQUFBQSxNQUFNLENBQUNFLElBQVAsQ0FBWVAsTUFBTSxDQUFDTSxDQUFELENBQWxCO0FBQ0Q7O0FBQ0QsV0FBT0QsTUFBUDtBQUNEOztBQUNELE9BQUssSUFBSUcsQ0FBVCxJQUFjUCxHQUFkLEVBQW1CO0FBQ2pCLFFBQUlBLEdBQUcsQ0FBQ1EsY0FBSixDQUFtQkQsQ0FBbkIsQ0FBSixFQUEyQjtBQUN6Qk4sTUFBQUEsQ0FBQyxDQUFDUSxHQUFGLENBQU1GLENBQU4sRUFBU1IsTUFBTSxDQUFDQyxHQUFHLENBQUNPLENBQUQsQ0FBSixDQUFmO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPTixDQUFQO0FBQ0Q7O0FBRUQsU0FBU1MsUUFBVCxDQUFtQkMsR0FBbkIsRUFBd0I7QUFDdEIsTUFBSUEsR0FBRyxZQUFZUixLQUFuQixFQUEwQjtBQUN4QixRQUFJQyxNQUFNLEdBQUcsRUFBYjs7QUFDQSxTQUFLLElBQUlDLENBQVQsSUFBY00sR0FBZCxFQUFtQjtBQUNqQlAsTUFBQUEsTUFBTSxDQUFDRSxJQUFQLENBQVlJLFFBQVEsQ0FBQ0wsQ0FBRCxDQUFwQjtBQUNEOztBQUNELFdBQU9ELE1BQVA7QUFDRCxHQU5ELE1BTU8sSUFBSSxFQUFFTyxHQUFHLFlBQVlULEdBQWpCLENBQUosRUFBMkI7QUFDaEMsV0FBT1MsR0FBUDtBQUNEOztBQUNELE1BQUlYLEdBQUcsR0FBRyxFQUFWOztBQUNBLE9BQUssSUFBSSxDQUFDTyxDQUFELEVBQUlLLENBQUosQ0FBVCxJQUFtQkQsR0FBbkIsRUFBd0I7QUFDdEJYLElBQUFBLEdBQUcsQ0FBQ08sQ0FBRCxDQUFILEdBQVNHLFFBQVEsQ0FBQ0UsQ0FBRCxDQUFqQjtBQUNEOztBQUNELFNBQU9aLEdBQVA7QUFDRDs7QUFFRCxJQUFJYSxNQUFNLEdBQUdILFFBQWIiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBtYXBpZnkgKG9iaikge1xuICBsZXQgbSA9IG5ldyBNYXAoKTtcbiAgaWYgKHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8IG9iaiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgbGV0IG5ld0FyciA9IFtdO1xuICAgIGZvciAobGV0IHggb2Ygb2JqKSB7XG4gICAgICBuZXdBcnIucHVzaChtYXBpZnkoeCkpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3QXJyO1xuICB9XG4gIGZvciAobGV0IGsgaW4gb2JqKSB7XG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrKSkge1xuICAgICAgbS5zZXQoaywgbWFwaWZ5KG9ialtrXSkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbTtcbn1cblxuZnVuY3Rpb24gZGVtYXBpZnkgKG1hcCkge1xuICBpZiAobWFwIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICBsZXQgbmV3QXJyID0gW107XG4gICAgZm9yIChsZXQgeCBvZiBtYXApIHtcbiAgICAgIG5ld0Fyci5wdXNoKGRlbWFwaWZ5KHgpKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0FycjtcbiAgfSBlbHNlIGlmICghKG1hcCBpbnN0YW5jZW9mIE1hcCkpIHtcbiAgICByZXR1cm4gbWFwO1xuICB9XG4gIGxldCBvYmogPSB7fTtcbiAgZm9yIChsZXQgW2ssIHZdIG9mIG1hcCkge1xuICAgIG9ialtrXSA9IGRlbWFwaWZ5KHYpO1xuICB9XG4gIHJldHVybiBvYmo7XG59XG5cbmxldCBvYmppZnkgPSBkZW1hcGlmeTtcblxuZXhwb3J0IHsgbWFwaWZ5LCBkZW1hcGlmeSwgb2JqaWZ5IH07XG4iXSwiZmlsZSI6ImxpYi9tYWluLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=