{"version":3,"sources":["jsdelivr-header.js","/npm/@radial/validation@1.1.3/lib/main.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,SAAS,SAAS,GACd,IAAK,IAAI,KAAK,EAAQ,QAAQ,eAAe,KAAI,QAAQ,GAAK,EAAE,GACpE,CACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,SAAS,QAAQ,iBACjB,IAAI,SAAW,QAAQ,YACvB,SAAS,OAAO,EAAO,EAAM,EAAM,GAU/B,OATc,EAAW,QAAO,SAAU,EAAS,GAC/C,OAAO,EAAQ,MAAK,WAChB,IAAI,EAAQ,EAAU,EAAO,EAAM,GACnC,OAAO,QAAQ,QAAQ,EAC3B,IAAG,MAAK,SAAU,GACd,GAAI,EACA,OAAO,QAAQ,OAAO,EAC9B,GACJ,GAAG,QAAQ,WACI,MAAK,WAChB,OAAO,IACX,IACK,OAAM,SAAU,GACjB,OAAO,EAAM,UACjB,GACJ,CACA,SAAS,SAAS,EAAM,GAYpB,OAXA,EAAQ,WAAW,EAAO,GACZ,OAAO,KAAK,GAAO,QAAO,SAAU,EAAS,GACvD,IAAI,EAAM,SAAS,MAAM,EAAM,GAC/B,OAAO,EAAQ,MAAK,SAAU,GAC1B,OAAO,OAAO,EAAK,EAAK,EAAM,EAAM,IAAM,MAAK,SAAU,GAGrD,OAFI,IACA,EAAO,GAAO,GACX,CACX,GACJ,GACJ,GAAG,QAAQ,QAAQ,CAAC,IACL,MAAK,SAAU,GAC1B,OAAmC,IAA/B,OAAO,KAAK,GAAQ,OACb,KACJ,CACX,GACJ,CAEA,SAAS,WAAW,EAAO,GAGvB,IAFA,IAAI,EAAO,CAAC,EAEH,EAAK,EAAG,EADL,OAAO,KAAK,GACU,EAAK,EAAQ,OAAQ,IAGnD,IAFA,IAAI,EAAO,EAAQ,GAEV,EAAK,EAAG,EADH,UAAU,EAAM,GACM,EAAK,EAAQ,OAAQ,IAAM,CAE3D,EADU,EAAQ,IACN,EAAM,EACtB,CAEJ,OAAO,CACX,CACA,SAAS,UAAU,EAAM,GACrB,IAAI,EACA,EAAS,GACT,EAAS,EAAK,MAAM,KACpB,EAAQ,EAAO,QAAQ,KAC3B,IAAc,GAAV,EACA,EAAO,KAAK,OAEX,CACD,IAAI,EAAS,SAAS,MAAM,EAAM,EAAO,MAAM,EAAG,GAAO,KAAK,OAAU,GACxE,IAAK,IAAI,KAAa,EAAO,CACzB,IAAI,EAAa,OAAO,OAAO,GAAI,IAAS,EAAK,CAAC,GAAM,GAAS,EAAW,IAC5E,IAAgC,GAA5B,EAAW,QAAQ,KAAY,CAC/B,IAAI,EAAO,UAAU,EAAW,KAAK,KAAM,GAC3C,EAAO,KAAK,MAAM,EAAQ,EAC9B,MAEI,EAAO,KAAK,EAAW,KAAK,KACpC,CACJ,CACA,OAAO,CACX,CAnCA,QAAQ,SAAW","file":"/npm/@radial/validation@1.1.3/lib/main.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@radial/validation@1.1.3/lib/main.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./validators\"));\nvar common_1 = require(\"./common\");\nfunction single(value, path, data, validators) {\n    var promise = validators.reduce(function (promise, validator) {\n        return promise.then(function () {\n            var error = validator(value, path, data);\n            return Promise.resolve(error);\n        }).then(function (error) {\n            if (error)\n                return Promise.reject(error);\n        });\n    }, Promise.resolve());\n    return promise.then(function () {\n        return null;\n    })\n        .catch(function (error) {\n        return error.toString();\n    });\n}\nfunction validate(data, rules) {\n    rules = parseRules(rules, data);\n    var promise = Object.keys(rules).reduce(function (promise, key) {\n        var val = common_1.getIn(data, key);\n        return promise.then(function (errors) {\n            return single(val, key, data, rules[key]).then(function (err) {\n                if (err)\n                    errors[key] = err;\n                return errors;\n            });\n        });\n    }, Promise.resolve({}));\n    return promise.then(function (errors) {\n        if (Object.keys(errors).length === 0)\n            return null;\n        return errors;\n    });\n}\nexports.validate = validate;\nfunction parseRules(rules, data) {\n    var next = {};\n    var paths = Object.keys(rules);\n    for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {\n        var path = paths_1[_i];\n        var paths_3 = parsePath(path, data);\n        for (var _a = 0, paths_2 = paths_3; _a < paths_2.length; _a++) {\n            var key = paths_2[_a];\n            next[key] = rules[path];\n        }\n    }\n    return next;\n}\nfunction parsePath(path, data) {\n    var _a;\n    var parsed = [];\n    var pieces = path.split('.');\n    var index = pieces.indexOf('*');\n    if (index == -1) {\n        parsed.push(path);\n    }\n    else {\n        var items = (common_1.getIn(data, pieces.slice(0, index).join('.'))) || [];\n        for (var itemIndex in items) {\n            var nextPieces = Object.assign([], pieces, (_a = {}, _a[index] = itemIndex, _a));\n            if (nextPieces.indexOf('*') != -1) {\n                var next = parsePath(nextPieces.join('.'), data);\n                parsed.push.apply(parsed, next);\n            }\n            else\n                parsed.push(nextPieces.join('.'));\n        }\n    }\n    return parsed;\n}\n"]}