@react-awesome-query-builder/core
Version:
User-friendly query builder for React. Core
56 lines (55 loc) • 3.17 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof3 = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isImmutableTree = exports.getTree = void 0;
Object.defineProperty(exports, "isJsonLogic", {
enumerable: true,
get: function get() {
return _stuff.isJsonLogic;
}
});
exports.isTree = void 0;
Object.defineProperty(exports, "jsToImmutable", {
enumerable: true,
get: function get() {
return _treeUtils.jsToImmutable;
}
});
exports.loadTree = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _immutable = _interopRequireWildcard(require("immutable"));
var _treeUtils = require("../utils/treeUtils");
var _stuff = require("../utils/stuff");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var getTree = exports.getTree = function getTree(immutableTree) {
var light = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var children1AsArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
if (!immutableTree) return undefined;
var tree = immutableTree;
tree = tree.toJS();
tree = (0, _treeUtils.getLightTree)(tree, light, children1AsArray);
return tree;
};
var loadTree = exports.loadTree = function loadTree(serTree) {
if (isImmutableTree(serTree)) {
return serTree;
} else if (isTree(serTree)) {
return (0, _treeUtils.fixPathsInTree)((0, _treeUtils.jsToImmutable)(serTree));
} else if (typeof serTree == "string" && serTree.startsWith('["~#iM"')) {
//tip: old versions of RAQB were saving tree with `transit.toJSON()`
// https://github.com/ukrbublik/react-awesome-query-builder/issues/69
throw new Error("You are trying to load query in obsolete serialization format (Immutable string) which is not supported in versions starting from 2.1.17");
} else if (typeof serTree === "string") {
return (0, _treeUtils.fixPathsInTree)((0, _treeUtils.jsToImmutable)(JSON.parse(serTree)));
} else throw new Error("Can't load tree!");
};
var isImmutableTree = exports.isImmutableTree = function isImmutableTree(tree) {
return _immutable.Map.isMap(tree);
};
var isTree = exports.isTree = function isTree(tree) {
return (0, _typeof2["default"])(tree) == "object" && (tree.type == "group" || tree.type == "switch_group");
};