/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/node-input-validator@4.6.0/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
const messages=require("./messages/index"),rules=require("./rules/index"),Validator=require("./validator"),objUtil=require("./util/obj"),empty=require("./util/empty");function setLang(e){messages.defaultLang=e}function extend(e,s,t=!1){rules[e]=s,t&&Validator.addImplicitRule(e)}function extendMessages(e,s="en"){void 0===messages[s]&&(messages[s]={}),messages[s]=Object.assign(messages[s],e)}function addCustomMessages(e,s="en"){void 0===messages[s]&&(messages[s]={}),messages[s].$custom=Object.assign(messages[s].$custom||{},e)}function niceNames(e,s="en"){messages[s].$niceNames=Object.assign(messages[s].$niceNames||{},e)}function koa(){return async(e,s)=>{e.validationErrors=function(e){return{body:{message:"The given data is invalid.",errors:e}}},e.validate=async function(e,s,t){const a=new Validator(s||{...this.request.body,...this.request.files},e||{},t||{});return await a.fails()&&this.throw(422,this.validationErrors(a.errors)),a},e.validator=(e,s,t)=>new Validator(e||{...this.request.body,...this.request.files},s||{},t||{});try{await s()}catch(s){if(s.status&&422===s.status)return e.type="json",e.status=422,void(e.body=s.body);throw s}}}function bailable(e){Validator.bailable(e)}function collectInputs(e){Validator.collectInputs(e)}function assert(e){return Object.keys(e).forEach((s=>{const t=e[s];let a=[];Array.isArray(t)?a=t:t.split("|").forEach((e=>{const[s]=e.split(":");a.push(s)})),a.forEach((e=>{if("function"!=typeof rules[e])throw new Error(`Rule ${e} used for attribute ${s} is invalid.`)}))})),e}module.exports={Validator:Validator,setLang:setLang,extend:extend,extendMessages:extendMessages,addCustomMessages:addCustomMessages,niceNames:niceNames,koa:koa,bailable:bailable,collectInputs:collectInputs,assert:assert,setStrNotationRepetition:objUtil.setStrNotationRepetition,empty:empty};
//# sourceMappingURL=/sm/566f38cd6ea5f9362bc1ec0d99e7a82def763e0106e9ea8f689bc1fe06d4a585.map