{"version":3,"sources":["../../../src/validations/valleyed.ts","/home/runner/work/equipped/equipped/dist/cjs/validations/valleyed.cjs"],"names":["err"],"mappings":"AAAA,4HAAkC;AAElC,oCAAyE;AAEzE,iDAAyB;AAGzB,MAAM,SAAA,EAAW,CAAC,GAAA,EAAA,GACjB,WAAA,CAAE,KAAA;AAAA,EACD,WAAA,CAAE,IAAA,CAAmB,GAAG,CAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAA,GAAU;AACzC,IAAA,MAAMA,KAAAA,EAAM,CAAA,gCAAA,EAAmC,kBAAA,CAAS,GAAA,CAAI,CAAA,CAAE,QAAA,CAAS,KAAA,CAAM,qBAAqB,CAAA,EAAA,CAAA;AAClG,IAAA,MAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,KAAA,CAAM,YAAA,EAAc,IAAA;AAC3C,IAAA,GAAA,CAAI,KAAA,EAAO,OAAO,KAAA;AAClB,IAAA,MAAM,mBAAA,CAAU,IAAA,CAAKA,IAAAA,EAAK,KAAK,CAAA;AAAA,EAChC,CAAC;AACF,CAAA;AAEM,MAAM,aAAA,EAAe,CAAC,GAAA,EAAA,GAC5B,WAAA,CAAE,MAAA;AAAA,EACD,WAAA,CAAE,OAAA;AAAA,IACD,QAAA,CAAS,GAAG,CAAA,CACV,IAAA,CAAK,WAAA,CAAE,GAAA,CAAI,CAAA,EAAG,kBAAkB,CAAC,CAAA,CACjC,IAAA,CAAK,CAAC,KAAA,EAAA,GAAU,KAAA,CAAM,CAAC,CAAC;AAAA,EAC3B,CAAA;AAAA,EACA,EAAE,MAAA,EAAQ,CAAA,EAAA,GAAA,CAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,SAAS,CAAA,EAAG;AACxD,CAAA;AAEM,MAAM,cAAA,EAAgB,CAAC,GAAA,EAAA,GAC7B,WAAA,CAAE,MAAA,CAAgC,WAAA,CAAE,OAAA,CAAQ,QAAA,CAAS,GAAG,CAAC,CAAA,EAAG;AAAA,EAC3D,MAAA,EAAQ,CAAA,EAAA,GAAA,CAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,SAAS,CAAA;AACnD,CAAC,CAAA;AAEK,MAAM,oBAAA,EAAsB,IAAI,uCAAA,CAAuD,CAAA;AACvF,MAAM,qBAAA,EAAuB,IAAI,uCAAA,CAAwD,CAAA;AAEzF,MAAM,YAAA,EAAc,CAA2B,EAAA,EAAA,GACrD,WAAA,CAAE,MAAA,CAAoC,CAAC,KAAA,EAAA,GAAU;AAChD,EAAA,MAAM,IAAA,EAAM,mBAAA,CAAoB,QAAA,CAAS,CAAA;AACzC,EAAA,GAAA,CAAI,CAAC,GAAA,EAAK,MAAM,IAAI,KAAA,CAAM,8BAA8B,CAAA;AACxD,EAAA,MAAM,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,EAAA,CAAG,GAAG,CAAA,EAAG,KAAK,CAAA;AAC3C,EAAA,OAAO,SAAA,CAAU,MAAA,EAAQ,SAAA,CAAU,MAAA,EAAQ,SAAA,CAAU,KAAA;AACtD,CAAC,CAAA;AAEK,MAAM,aAAA,EAAe,CAA2B,EAAA,EAAA,GACtD,WAAA,CAAE,MAAA,CAAoC,CAAC,KAAA,EAAA,GAAU;AAChD,EAAA,MAAM,IAAA,EAAM,oBAAA,CAAqB,QAAA,CAAS,CAAA;AAC1C,EAAA,GAAA,CAAI,CAAC,GAAA,EAAK,MAAM,IAAI,KAAA,CAAM,+BAA+B,CAAA;AACzD,EAAA,MAAM,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,EAAA,CAAG,GAAG,CAAA,EAAG,KAAK,CAAA;AAC3C,EAAA,OAAO,SAAA,CAAU,MAAA,EAAQ,SAAA,CAAU,MAAA,EAAQ,SAAA,CAAU,KAAA;AACtD,CAAC,CAAA;ACfF;AACE;AACA;AACA;AACA;AACA;AACA;AACF,2PAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/validations/valleyed.cjs","sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks'\n\nimport { type Pipe, PipeError, type PipeInput, type PipeOutput, v } from 'valleyed'\n\nimport { Instance } from '../instance'\nimport type { IncomingFile, Request, Response, RouteDef, RouteDefToReqRes } from '../server'\n\nconst filePipe = (err?: string) =>\n\tv.array(\n\t\tv.file<IncomingFile>(err).pipe((input) => {\n\t\t\tconst err = `is larger than allowed limit of ${Instance.get().settings.utils.maxFileUploadSizeInMb}mb`\n\t\t\tconst valid = input ? !input.isTruncated : true\n\t\t\tif (valid) return input\n\t\t\tthrow PipeError.root(err, input)\n\t\t}),\n\t)\n\nexport const incomingFile = (err?: string) =>\n\tv.define<unknown, IncomingFile>(\n\t\tv.compile(\n\t\t\tfilePipe(err)\n\t\t\t\t.pipe(v.min(1, 'no file provided'))\n\t\t\t\t.pipe((files) => files[0]),\n\t\t),\n\t\t{ schema: () => ({ type: 'string', format: 'binary' }) },\n\t)\n\nexport const incomingFiles = (err?: string) =>\n\tv.define<unknown, IncomingFile[]>(v.compile(filePipe(err)), {\n\t\tschema: () => ({ type: 'string', format: 'binary' }),\n\t})\n\nexport const requestLocalStorage = new AsyncLocalStorage<Request<RouteDefToReqRes<RouteDef>>>()\nexport const responseLocalStorage = new AsyncLocalStorage<Response<RouteDefToReqRes<RouteDef>>>()\n\nexport const withRequest = <T extends Pipe<any, any>>(fn: (req: Request<RouteDefToReqRes<RouteDef>>) => T) =>\n\tv.define<PipeInput<T>, PipeOutput<T>>((input) => {\n\t\tconst req = requestLocalStorage.getStore()\n\t\tif (!req) throw new Error('Request not found in context')\n\t\tconst validated = v.validate(fn(req), input)\n\t\treturn validated.valid ? validated.value : validated.error\n\t})\n\nexport const withResponse = <T extends Pipe<any, any>>(fn: (req: Response<RouteDefToReqRes<RouteDef>>) => T) =>\n\tv.define<PipeInput<T>, PipeOutput<T>>((input) => {\n\t\tconst res = responseLocalStorage.getStore()\n\t\tif (!res) throw new Error('Response not found in context')\n\t\tconst validated = v.validate(fn(res), input)\n\t\treturn validated.valid ? validated.value : validated.error\n\t})\n",null]}