UNPKG

assertthat

Version:
34 lines (33 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dispel = void 0; const dispelArray_1 = require("./dispelArray"); const dispelError_1 = require("./dispelError"); const dispelMap_1 = require("./dispelMap"); const dispelObject_1 = require("./dispelObject"); const dispelResult_1 = require("./dispelResult"); const dispelSet_1 = require("./dispelSet"); const defekt_1 = require("defekt"); const typedescriptor_1 = require("typedescriptor"); const dispel = function (value, path = '/', ancestors = []) { if ((0, typedescriptor_1.isSet)(value)) { return (0, dispelSet_1.dispelSet)(value, path, ancestors); } if ((0, typedescriptor_1.isMap)(value)) { return (0, dispelMap_1.dispelMap)(value, path, ancestors); } if ((0, typedescriptor_1.isArray)(value)) { return (0, dispelArray_1.dispelArray)(value, path, ancestors); } if ((0, defekt_1.isResult)(value)) { return (0, dispelResult_1.dispelResult)(value, path, ancestors); } if ((0, typedescriptor_1.isError)(value)) { return (0, dispelError_1.dispelError)(value, path, ancestors); } if ((0, typedescriptor_1.isObject)(value)) { return (0, dispelObject_1.dispelObject)(value, path, ancestors); } return value; }; exports.dispel = dispel;