{"version":3,"sources":["../../../src/server/pipes.ts"],"names":["v","Methods","EventBus"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/pipes.min.cjs","sourcesContent":["import { type PipeOutput, v } from 'valleyed'\n\nimport { EventBus } from '../events'\nimport type { AuthUser } from '../types'\nimport { BaseRequestAuthMethod } from './requests-auth-methods'\nimport { Methods } from './types'\n\nconst serverBasePipe = () =>\n\tv.object({\n\t\tport: v.number(),\n\t\tcors: v.optional(\n\t\t\tv.object({\n\t\t\t\torigin: v.optional(v.or([v.array(v.string()), v.is(true as const)])),\n\t\t\t\tmethods: v.optional(v.array(v.in(Object.values(Methods)))),\n\t\t\t\tcredentials: v.optional(v.boolean()),\n\t\t\t}),\n\t\t),\n\t\teventBus: v.optional(v.instanceOf(EventBus)),\n\t\tpublicPath: v.optional(v.string()),\n\t\thealthPath: v.optional(v.string()),\n\t\topenapi: v.defaults(\n\t\t\tv.object({\n\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequests: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\tsocketsAuthMethods: v.defaults(v.array(v.instanceOf(BaseRequestAuthMethod<AuthUser>)), []),\n\t})\n\nexport const serverConfigPipe = () =>\n\tv.discriminate((d: any) => d.type, {\n\t\tfastify: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('fastify' as const),\n\t\t\t}),\n\t\t),\n\t\texpress: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('express' as const),\n\t\t\t}),\n\t\t),\n\t})\n\nexport type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>\n"]}