alepha 0.14.0 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/api/audits/index.d.ts +80 -1
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/audits/index.js.map +1 -1
- package/dist/api/files/index.d.ts +80 -1
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.d.ts +236 -157
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/notifications/index.d.ts +21 -1
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/parameters/index.d.ts +451 -4
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/api/users/index.d.ts +252 -249
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +4 -0
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts +128 -128
- package/dist/api/verifications/index.d.ts.map +1 -1
- package/dist/batch/index.js.map +1 -1
- package/dist/cache/core/index.js.map +1 -1
- package/dist/cli/index.d.ts +304 -115
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +650 -531
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +210 -13
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +306 -69
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +7 -6
- package/dist/core/index.native.js.map +1 -1
- package/dist/datetime/index.js.map +1 -1
- package/dist/fake/index.js.map +1 -1
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/index.js.map +1 -1
- package/dist/lock/redis/index.js.map +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/index.browser.js +26 -5
- package/dist/orm/index.browser.js.map +1 -1
- package/dist/orm/index.d.ts +294 -215
- package/dist/orm/index.d.ts.map +1 -1
- package/dist/orm/index.js +522 -523
- package/dist/orm/index.js.map +1 -1
- package/dist/queue/redis/index.js +2 -4
- package/dist/queue/redis/index.js.map +1 -1
- package/dist/redis/index.d.ts +400 -29
- package/dist/redis/index.d.ts.map +1 -1
- package/dist/redis/index.js +412 -21
- package/dist/redis/index.js.map +1 -1
- package/dist/retry/index.js.map +1 -1
- package/dist/router/index.js.map +1 -1
- package/dist/scheduler/index.js.map +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +155 -155
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cache/index.js.map +1 -1
- package/dist/server/cookies/index.browser.js.map +1 -1
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.browser.js.map +1 -1
- package/dist/server/core/index.d.ts +0 -1
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/helmet/index.d.ts +4 -1
- package/dist/server/helmet/index.d.ts.map +1 -1
- package/dist/server/helmet/index.js.map +1 -1
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/multipart/index.d.ts.map +1 -1
- package/dist/server/multipart/index.js.map +1 -1
- package/dist/server/proxy/index.js.map +1 -1
- package/dist/server/rate-limit/index.js.map +1 -1
- package/dist/server/security/index.d.ts +9 -9
- package/dist/server/security/index.js.map +1 -1
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/thread/index.js.map +1 -1
- package/dist/topic/core/index.js.map +1 -1
- package/dist/topic/redis/index.js +3 -3
- package/dist/topic/redis/index.js.map +1 -1
- package/dist/vite/index.js +9 -6
- package/dist/vite/index.js.map +1 -1
- package/dist/websocket/index.browser.js.map +1 -1
- package/dist/websocket/index.d.ts +7 -7
- package/dist/websocket/index.js.map +1 -1
- package/package.json +3 -3
- package/src/api/users/index.ts +4 -0
- package/src/cli/apps/AlephaCli.ts +36 -14
- package/src/cli/apps/AlephaPackageBuilderCli.ts +5 -1
- package/src/cli/assets/appRouterTs.ts +1 -1
- package/src/cli/atoms/changelogOptions.ts +45 -0
- package/src/cli/commands/{ViteCommands.ts → build.ts} +4 -93
- package/src/cli/commands/changelog.ts +244 -0
- package/src/cli/commands/clean.ts +14 -0
- package/src/cli/commands/{DrizzleCommands.ts → db.ts} +37 -124
- package/src/cli/commands/deploy.ts +118 -0
- package/src/cli/commands/dev.ts +57 -0
- package/src/cli/commands/format.ts +17 -0
- package/src/cli/commands/{CoreCommands.ts → init.ts} +2 -40
- package/src/cli/commands/lint.ts +17 -0
- package/src/cli/commands/root.ts +32 -0
- package/src/cli/commands/run.ts +24 -0
- package/src/cli/commands/test.ts +42 -0
- package/src/cli/commands/typecheck.ts +19 -0
- package/src/cli/commands/{VerifyCommands.ts → verify.ts} +1 -13
- package/src/cli/defineConfig.ts +24 -0
- package/src/cli/index.ts +17 -5
- package/src/cli/services/AlephaCliUtils.ts +4 -21
- package/src/cli/services/GitMessageParser.ts +77 -0
- package/src/command/helpers/EnvUtils.ts +37 -0
- package/src/command/index.ts +3 -1
- package/src/command/primitives/$command.ts +172 -6
- package/src/command/providers/CliProvider.ts +424 -91
- package/src/core/Alepha.ts +8 -5
- package/src/file/providers/NodeFileSystemProvider.ts +3 -1
- package/src/orm/index.browser.ts +1 -1
- package/src/orm/index.ts +18 -10
- package/src/orm/interfaces/PgQueryWhere.ts +1 -26
- package/src/orm/providers/{PostgresTypeProvider.ts → DatabaseTypeProvider.ts} +25 -3
- package/src/orm/providers/drivers/BunPostgresProvider.ts +225 -0
- package/src/orm/providers/drivers/BunSqliteProvider.ts +180 -0
- package/src/orm/providers/drivers/DatabaseProvider.ts +25 -0
- package/src/orm/providers/drivers/NodePostgresProvider.ts +0 -25
- package/src/orm/services/QueryManager.ts +10 -125
- package/src/queue/redis/providers/RedisQueueProvider.ts +2 -7
- package/src/redis/index.ts +65 -3
- package/src/redis/providers/BunRedisProvider.ts +304 -0
- package/src/redis/providers/BunRedisSubscriberProvider.ts +94 -0
- package/src/redis/providers/NodeRedisProvider.ts +280 -0
- package/src/redis/providers/NodeRedisSubscriberProvider.ts +94 -0
- package/src/redis/providers/RedisProvider.ts +134 -140
- package/src/redis/providers/RedisSubscriberProvider.ts +58 -49
- package/src/server/core/providers/BunHttpServerProvider.ts +0 -3
- package/src/server/core/providers/ServerBodyParserProvider.ts +3 -1
- package/src/server/core/providers/ServerProvider.ts +7 -4
- package/src/server/multipart/providers/ServerMultipartProvider.ts +3 -1
- package/src/server/proxy/providers/ServerProxyProvider.ts +1 -1
- package/src/topic/redis/providers/RedisTopicProvider.ts +3 -3
- package/src/vite/tasks/buildServer.ts +1 -0
- package/src/cli/commands/BiomeCommands.ts +0 -29
- package/src/cli/commands/ChangelogCommands.ts +0 -389
- package/src/orm/services/PgJsonQueryManager.ts +0 -511
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.js","names":["json: Record<string, unknown>","errorNameByStatus: Record<number, string>","properties: Record<string, any>","request: RequestInit","headers: Record<string, string>","fetchResponse: FetchResponse"],"sources":["../../../src/server/core/errors/HttpError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/index.browser.ts"],"sourcesContent":["import { AlephaError } from \"alepha\";\nimport type { ErrorSchema } from \"../schemas/errorSchema.ts\";\n\nexport const isHttpError = (\n error: unknown,\n status?: number,\n): error is HttpErrorLike => {\n const isError =\n !!error &&\n typeof error === \"object\" &&\n \"message\" in error &&\n typeof error.message === \"string\" &&\n \"status\" in error &&\n typeof error.status === \"number\";\n\n if (!isError) {\n return false;\n }\n\n if (status) {\n return (error as HttpErrorLike).status === status;\n }\n\n return true;\n};\n\nexport class HttpError extends AlephaError {\n public name = \"HttpError\";\n\n static is = isHttpError;\n\n static toJSON(error: HttpError): ErrorSchema {\n const json: Record<string, unknown> = {\n error: error.error,\n status: error.status,\n message: error.message,\n };\n\n if (error.details) json.details = error.details;\n if (error.requestId) json.requestId = error.requestId;\n if (error.reason) json.cause = error.reason;\n\n return json as ErrorSchema;\n }\n\n public readonly error: string;\n public readonly status: number;\n\n public readonly requestId?: string;\n public readonly details?: string;\n public readonly reason?: {\n name: string;\n message: string;\n };\n\n constructor(options: Partial<ErrorSchema>, cause?: unknown) {\n super(options.message, {\n cause,\n });\n\n this.status = options.status ?? 500;\n this.details = options.details;\n this.requestId = options.requestId;\n\n if (typeof options.cause === \"object\") {\n this.reason = {\n name: (options.cause as { name: string }).name,\n message: (options.cause as { message: string }).message,\n };\n } else if (cause instanceof Error) {\n this.reason = {\n name: cause.name,\n message: cause.message,\n };\n }\n\n if (this.constructor.name === \"HttpError\") {\n this.error =\n options.error ?? errorNameByStatus[this.status] ?? \"HttpError\";\n } else {\n this.error = this.constructor.name;\n }\n }\n}\n\nexport const errorNameByStatus: Record<number, string> = {\n 400: \"BadRequestError\",\n 401: \"UnauthorizedError\",\n 403: \"ForbiddenError\",\n 404: \"NotFoundError\",\n 405: \"MethodNotAllowedError\",\n 409: \"ConflictError\",\n 410: \"GoneError\",\n 413: \"PayloadTooLargeError\",\n 415: \"UnsupportedMediaTypeError\",\n 429: \"TooManyRequestsError\",\n 500: \"InternalServerError\",\n 501: \"NotImplementedError\",\n 502: \"BadGatewayError\",\n 503: \"ServiceUnavailableError\",\n 504: \"GatewayTimeoutError\",\n};\n\nexport interface HttpErrorLike extends Error {\n status: number;\n}\n","import type { RequestConfigSchema } from \"../interfaces/ServerRequest.ts\";\n\n/**\n * Checks if the route has multipart/form-data request body.\n */\nexport const isMultipart = (options: {\n schema?: RequestConfigSchema;\n requestBodyType?: string;\n}): boolean => {\n if (options.requestBodyType === \"multipart/form-data\") {\n return true;\n }\n\n if (options.schema?.body && \"properties\" in options.schema.body) {\n const properties: Record<string, any> = options.schema.body.properties;\n for (const key in properties) {\n if (properties[key].format === \"binary\") {\n return true;\n }\n }\n }\n\n return false;\n};\n","import { type Static, t } from \"alepha\";\n\nexport const errorSchema = t.object(\n {\n error: t.text({ description: \"HTTP error name\" }),\n status: t.integer({\n description: \"HTTP status code\",\n }),\n message: t.text({\n description: \"Short text which describe the error\",\n size: \"rich\",\n }),\n details: t.optional(\n t.text({\n description: \"Detailed description of the error\",\n size: \"rich\",\n }),\n ),\n requestId: t.optional(t.text()),\n cause: t.optional(\n t.object({\n name: t.text(),\n message: t.text({\n description: \"Cause Error message\",\n size: \"rich\",\n }),\n }),\n ),\n },\n {\n title: \"HttpError\",\n description: \"Generic response after a failed operation\",\n },\n);\n\nexport type ErrorSchema = Static<typeof errorSchema>;\n","import {\n $inject,\n Alepha,\n type FileLike,\n isFileLike,\n type Static,\n type TObject,\n type TSchema,\n} from \"alepha\";\nimport { $cache } from \"alepha/cache\";\nimport type { DurationLike } from \"alepha/datetime\";\nimport { $logger } from \"alepha/logger\";\nimport { HttpError } from \"../errors/HttpError.ts\";\nimport { isMultipart } from \"../helpers/isMultipart.ts\";\nimport type {\n ServerRequestConfigEntry,\n TRequestBody,\n TResponseBody,\n} from \"../interfaces/ServerRequest.ts\";\nimport type { ClientRequestOptions } from \"../primitives/$action.ts\";\nimport { errorSchema } from \"../schemas/errorSchema.ts\";\n\nexport class HttpClient {\n protected readonly log = $logger();\n protected readonly alepha = $inject(Alepha);\n\n public readonly cache = $cache<HttpClientCache>();\n\n protected readonly pendingRequests: HttpClientPendingRequests = {};\n\n public async fetchAction(args: FetchActionArgs): Promise<FetchResponse> {\n const route = args.action; // our link to fetch\n const options = args.options ?? {}; // fetch standard options, cache, etc.\n const config = args.config ?? {}; // params, query, body, etc.\n const host = args.host ?? \"\"; // remote host, e.g. \"https://api.example.com\" or empty (for browser)\n\n const request: RequestInit = {\n ...options.request,\n };\n\n const method = route.method;\n const headers: Record<string, string> = {};\n const url = this.url(host, route, config);\n\n await this.alepha.events.emit(\"client:onRequest\", {\n route,\n config,\n options,\n headers,\n request,\n });\n\n request.method ??= method;\n\n await this.body(request, headers, route, config);\n\n request.headers = {\n ...config.headers,\n ...Object.fromEntries(new Headers(request.headers).entries()),\n ...headers,\n };\n\n return await this.fetch(url, {\n ...request,\n schema: route.schema,\n ...options,\n });\n }\n\n public async fetch<T extends TSchema>(\n url: string,\n request: RequestInitWithOptions<T> = {}, // standard options\n ): Promise<FetchResponse<Static<T>>> {\n const options = {\n cache: request.localCache,\n schema: request.schema?.response,\n key: request.key,\n };\n\n request.method ??= \"GET\";\n\n this.log.trace(\"Request\", {\n url,\n method: request.method,\n body: request.body,\n headers: request.headers,\n options,\n });\n\n // Only add automatic ETag if user didn't explicitly provide headers\n const cached = await this.cache.get(url);\n if (cached && request.method === \"GET\") {\n if (cached.etag) {\n request.headers = new Headers(request.headers);\n if (!request.headers.has(\"if-none-match\")) {\n request.headers.set(\"if-none-match\", cached.etag);\n }\n } else {\n return {\n data: cached.data as Static<T>,\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n }\n }\n\n await this.alepha.events.emit(\"client:beforeFetch\", {\n url,\n options,\n request,\n });\n\n // make a key for the request\n // this will be used to check if the request is already pending\n const key =\n options.key ??\n JSON.stringify({\n url,\n method: request.method,\n body: request.body,\n });\n\n const existing = this.pendingRequests[key];\n if (existing) {\n this.log.info(\"Request already pending\", key);\n return existing;\n }\n\n this.pendingRequests[key] = fetch(url, request)\n .then(async (response) => {\n this.log.debug(\"Response\", {\n url,\n status: response.status,\n });\n\n const fetchResponse: FetchResponse = {\n data: await this.responseData(response, options),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n raw: response,\n };\n\n if (request.method === \"GET\") {\n if (options.cache) {\n await this.cache.set(\n url,\n { data: fetchResponse.data },\n typeof options.cache === \"boolean\" ? undefined : options.cache,\n );\n } else if (!this.alepha.isBrowser()) {\n // only cache etag on server, browser can handle etag itself\n const etag = response.headers.get(\"etag\") ?? undefined;\n if (etag) {\n await this.cache.set(url, { data: fetchResponse.data, etag });\n }\n }\n }\n\n return fetchResponse;\n })\n .finally(() => {\n delete this.pendingRequests[key];\n });\n\n return this.pendingRequests[key];\n }\n\n protected url(\n host: string,\n action: HttpAction,\n args: ServerRequestConfigEntry,\n ) {\n let url = host;\n\n if (action.prefix) {\n url += action.prefix;\n }\n\n url += action.path;\n url = this.pathVariables(url, action, args);\n url = this.queryParams(url, action, args);\n\n return url;\n }\n\n protected async body(\n init: RequestInit,\n headers: Record<string, string>,\n action: HttpAction,\n args: ServerRequestConfigEntry = {},\n ) {\n const hasHeader =\n typeof init.headers === \"object\" &&\n \"content-type\" in init.headers &&\n init.headers[\"content-type\"] === \"multipart/form-data\";\n\n if (hasHeader || isMultipart(action)) {\n if (typeof init.headers === \"object\" && \"content-type\" in init.headers) {\n delete init.headers[\"content-type\"]; // fetch() will fill this for us\n }\n\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(args.body ?? {})) {\n if (typeof value === \"string\") {\n formData.append(key, value);\n continue;\n }\n if (value instanceof Blob) {\n formData.append(key, value);\n continue;\n }\n if (isFileLike(value)) {\n // FileLike must be transformed to WebFile\n formData.append(\n key,\n new File([await value.arrayBuffer()], value.name, {\n type: value.type,\n }),\n );\n }\n }\n\n init.body = formData;\n\n return;\n }\n\n if (!init.body && action.schema?.body) {\n headers[\"content-type\"] = \"application/json\";\n init.body = this.alepha.codec.encode(action.schema?.body, args.body, {\n as: \"string\",\n });\n }\n }\n\n protected async responseData(\n response: Response,\n options: FetchOptions,\n ): Promise<any> {\n if (response.status === 304) {\n let cacheKey = response.url;\n if (typeof window !== \"undefined\") {\n cacheKey = cacheKey.replace(window.location.origin, \"\");\n }\n\n const cached = await this.cache.get(cacheKey);\n if (cached) {\n return cached.data;\n }\n\n // if no cached data (etag-only routes), return empty string\n return \"\";\n }\n\n if (response.status === 204) {\n return;\n }\n\n if (this.isMaybeFile(response)) {\n return this.createFileLike(response);\n }\n\n if (response.headers.get(\"Content-Type\")?.startsWith(\"text/\")) {\n return await response.text();\n }\n\n if (response.headers.get(\"Content-Type\") === \"application/json\") {\n const json = await response.json();\n\n if (response.status >= 400) {\n const jsonError = this.alepha.codec.decode(errorSchema, json);\n const error = new HttpError(jsonError);\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n if (options.schema) {\n return this.alepha.codec.decode(options.schema, json);\n }\n\n return json;\n }\n\n if (response.status >= 400) {\n const error = new HttpError({\n status: response.status,\n message: `An error occurred while fetching the resource. (${response.statusText})`,\n });\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n return response;\n }\n\n protected isMaybeFile(response: Response): boolean {\n const contentType = response.headers.get(\"Content-Type\");\n if (!contentType) {\n return false;\n }\n\n if (response.headers.get(\"Content-Disposition\")?.includes(\"attachment\")) {\n return true; // If Content-Disposition indicates an attachment, treat it as a file\n }\n\n return (\n contentType.startsWith(\"application/octet-stream\") ||\n contentType.startsWith(\"application/pdf\") ||\n contentType.startsWith(\"application/zip\") ||\n contentType.startsWith(\"image/\") ||\n contentType.startsWith(\"video/\") ||\n contentType.startsWith(\"audio/\")\n );\n }\n\n protected createFileLike(response: Response, defaultFileName = \"\"): FileLike {\n const match = (response.headers.get(\"Content-Disposition\") ?? \"\").match(\n /filename=\"(.+)\"/,\n );\n return {\n name: match?.[1] ? match[1] : defaultFileName,\n type: response.headers.get(\"Content-Type\") ?? \"application/octet-stream\",\n size: Number(response.headers.get(\"Content-Length\") ?? 0),\n lastModified: Date.now(),\n stream: () => {\n throw new Error(\"Not implemented\");\n },\n arrayBuffer: async () => {\n return await response.arrayBuffer();\n },\n text: async () => {\n return await response.text();\n },\n };\n }\n\n public pathVariables(\n url: string,\n action: { schema?: { params?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.params === \"object\") {\n const params = action.schema?.params\n ? (this.alepha.codec.decode(\n action.schema.params,\n args.params,\n ) as Record<string, any>)\n : args.params;\n\n for (const key of Object.keys(params)) {\n url = url.replace(`:${key}`, params[key]);\n url = url.replace(`{${key}}`, params[key]);\n }\n }\n\n return url;\n }\n\n public queryParams(\n url: string,\n action: { schema?: { query?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.query === \"object\") {\n const query = action.schema?.query\n ? this.alepha.codec.decode(action.schema.query, args.query ?? {})\n : args.query;\n\n for (const key of Object.keys(query)) {\n if (query[key] === undefined) {\n delete query[key];\n }\n if (typeof query[key] === \"object\") {\n query[key] = JSON.stringify(query[key]);\n }\n }\n\n return `${url}?${new URLSearchParams(\n query as Record<string, string>,\n ).toString()}`;\n }\n return url;\n }\n}\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface FetchOptions<T extends TSchema = TSchema> {\n /**\n * Key to identify the request in the pending requests.\n */\n key?: string;\n\n /**\n * The schema to validate the response against.\n */\n schema?: {\n response?: T;\n };\n\n /**\n * Built-in cache options.\n */\n localCache?: boolean | number | DurationLike;\n}\n\nexport type RequestInitWithOptions<T extends TSchema = TSchema> = RequestInit &\n FetchOptions<T>;\n\nexport interface FetchResponse<T = any> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n raw?: Response;\n}\n\nexport type HttpClientPendingRequests = Record<\n string,\n Promise<any> | undefined\n>;\n\ninterface HttpClientCache {\n data: any;\n etag?: string;\n}\n\nexport interface FetchActionArgs {\n action: HttpAction;\n host?: string;\n config?: ServerRequestConfigEntry;\n options?: ClientRequestOptions;\n}\n\nexport interface HttpAction {\n method?: string;\n prefix?: string;\n path: string;\n requestBodyType?: string;\n schema?: {\n params?: TObject;\n query?: TObject;\n body?: TRequestBody;\n response?: TResponseBody;\n };\n}\n","export const routeMethods = [\n // list of supported http methods\n \"GET\",\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"DELETE\",\n \"HEAD\",\n \"OPTIONS\",\n \"CONNECT\",\n \"TRACE\",\n] as const;\n\nexport type RouteMethod = (typeof routeMethods)[number];\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class BadRequestError extends HttpError {\n constructor(message = \"Invalid request body\", cause?: unknown) {\n super(\n {\n message,\n status: 400,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ConflictError extends HttpError {\n constructor(message = \"Entity already exists\", cause?: unknown) {\n super(\n {\n message,\n status: 409,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ForbiddenError extends HttpError {\n constructor(\n message = \"No permission to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 403,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class NotFoundError extends HttpError {\n constructor(message = \"Resource not found\", cause?: unknown) {\n super(\n {\n message,\n status: 404,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class UnauthorizedError extends HttpError {\n readonly name = \"UnauthorizedError\";\n\n constructor(\n message = \"Not allowed to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 401,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ValidationError extends HttpError {\n constructor(message = \"Validation has failed\", cause?: unknown) {\n super(\n {\n message,\n status: 400,\n },\n cause,\n );\n }\n}\n","/**\n * Helper for building server replies.\n */\nexport class ServerReply {\n // TODO: make it private\n public headers: Record<string, string> & {\n \"set-cookie\"?: string[];\n } = {};\n\n public status?: number; // default 200, or 204 (no content)\n\n public body?: any;\n\n /**\n * Redirect to a given URL with optional status code (default 302).\n */\n public redirect(url: string, status: number = 302): void {\n this.status = status;\n this.headers.location = url;\n }\n\n // TODO: check if status / header is already set and throw an error if so (for allow to override with force flag)\n\n /**\n * Set the response status code.\n */\n public setStatus(status: number): this {\n this.status = status;\n return this;\n }\n\n /**\n * Set a response header.\n */\n public setHeader(name: string, value: string): this {\n this.headers[name.toLowerCase()] = value;\n return this;\n }\n\n /**\n * Set the response body.\n */\n public setBody(body: any): this {\n this.body = body;\n return this;\n }\n}\n","import type { Static } from \"alepha\";\nimport { t } from \"alepha\";\n\nexport const okSchema = t.object(\n {\n ok: t.boolean({ description: \"True when operation succeed\" }),\n id: t.optional(t.union([t.text(), t.integer()])),\n count: t.optional(\n t.number({ description: \"Number of resources affected\" }),\n ),\n },\n {\n title: \"Ok\",\n description: \"Generic response after a successful operation on a resource\",\n },\n);\n\nexport type Ok = Static<typeof okSchema>;\n","import { $module } from \"alepha\";\nimport { HttpClient } from \"./services/HttpClient.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./index.shared.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport const AlephaServer = $module({\n name: \"alepha.server\",\n primitives: [],\n services: [HttpClient],\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.browser.js","names":[],"sources":["../../../src/server/core/errors/HttpError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/index.browser.ts"],"sourcesContent":["import { AlephaError } from \"alepha\";\nimport type { ErrorSchema } from \"../schemas/errorSchema.ts\";\n\nexport const isHttpError = (\n error: unknown,\n status?: number,\n): error is HttpErrorLike => {\n const isError =\n !!error &&\n typeof error === \"object\" &&\n \"message\" in error &&\n typeof error.message === \"string\" &&\n \"status\" in error &&\n typeof error.status === \"number\";\n\n if (!isError) {\n return false;\n }\n\n if (status) {\n return (error as HttpErrorLike).status === status;\n }\n\n return true;\n};\n\nexport class HttpError extends AlephaError {\n public name = \"HttpError\";\n\n static is = isHttpError;\n\n static toJSON(error: HttpError): ErrorSchema {\n const json: Record<string, unknown> = {\n error: error.error,\n status: error.status,\n message: error.message,\n };\n\n if (error.details) json.details = error.details;\n if (error.requestId) json.requestId = error.requestId;\n if (error.reason) json.cause = error.reason;\n\n return json as ErrorSchema;\n }\n\n public readonly error: string;\n public readonly status: number;\n\n public readonly requestId?: string;\n public readonly details?: string;\n public readonly reason?: {\n name: string;\n message: string;\n };\n\n constructor(options: Partial<ErrorSchema>, cause?: unknown) {\n super(options.message, {\n cause,\n });\n\n this.status = options.status ?? 500;\n this.details = options.details;\n this.requestId = options.requestId;\n\n if (typeof options.cause === \"object\") {\n this.reason = {\n name: (options.cause as { name: string }).name,\n message: (options.cause as { message: string }).message,\n };\n } else if (cause instanceof Error) {\n this.reason = {\n name: cause.name,\n message: cause.message,\n };\n }\n\n if (this.constructor.name === \"HttpError\") {\n this.error =\n options.error ?? errorNameByStatus[this.status] ?? \"HttpError\";\n } else {\n this.error = this.constructor.name;\n }\n }\n}\n\nexport const errorNameByStatus: Record<number, string> = {\n 400: \"BadRequestError\",\n 401: \"UnauthorizedError\",\n 403: \"ForbiddenError\",\n 404: \"NotFoundError\",\n 405: \"MethodNotAllowedError\",\n 409: \"ConflictError\",\n 410: \"GoneError\",\n 413: \"PayloadTooLargeError\",\n 415: \"UnsupportedMediaTypeError\",\n 429: \"TooManyRequestsError\",\n 500: \"InternalServerError\",\n 501: \"NotImplementedError\",\n 502: \"BadGatewayError\",\n 503: \"ServiceUnavailableError\",\n 504: \"GatewayTimeoutError\",\n};\n\nexport interface HttpErrorLike extends Error {\n status: number;\n}\n","import type { RequestConfigSchema } from \"../interfaces/ServerRequest.ts\";\n\n/**\n * Checks if the route has multipart/form-data request body.\n */\nexport const isMultipart = (options: {\n schema?: RequestConfigSchema;\n requestBodyType?: string;\n}): boolean => {\n if (options.requestBodyType === \"multipart/form-data\") {\n return true;\n }\n\n if (options.schema?.body && \"properties\" in options.schema.body) {\n const properties: Record<string, any> = options.schema.body.properties;\n for (const key in properties) {\n if (properties[key].format === \"binary\") {\n return true;\n }\n }\n }\n\n return false;\n};\n","import { type Static, t } from \"alepha\";\n\nexport const errorSchema = t.object(\n {\n error: t.text({ description: \"HTTP error name\" }),\n status: t.integer({\n description: \"HTTP status code\",\n }),\n message: t.text({\n description: \"Short text which describe the error\",\n size: \"rich\",\n }),\n details: t.optional(\n t.text({\n description: \"Detailed description of the error\",\n size: \"rich\",\n }),\n ),\n requestId: t.optional(t.text()),\n cause: t.optional(\n t.object({\n name: t.text(),\n message: t.text({\n description: \"Cause Error message\",\n size: \"rich\",\n }),\n }),\n ),\n },\n {\n title: \"HttpError\",\n description: \"Generic response after a failed operation\",\n },\n);\n\nexport type ErrorSchema = Static<typeof errorSchema>;\n","import {\n $inject,\n Alepha,\n type FileLike,\n isFileLike,\n type Static,\n type TObject,\n type TSchema,\n} from \"alepha\";\nimport { $cache } from \"alepha/cache\";\nimport type { DurationLike } from \"alepha/datetime\";\nimport { $logger } from \"alepha/logger\";\nimport { HttpError } from \"../errors/HttpError.ts\";\nimport { isMultipart } from \"../helpers/isMultipart.ts\";\nimport type {\n ServerRequestConfigEntry,\n TRequestBody,\n TResponseBody,\n} from \"../interfaces/ServerRequest.ts\";\nimport type { ClientRequestOptions } from \"../primitives/$action.ts\";\nimport { errorSchema } from \"../schemas/errorSchema.ts\";\n\nexport class HttpClient {\n protected readonly log = $logger();\n protected readonly alepha = $inject(Alepha);\n\n public readonly cache = $cache<HttpClientCache>();\n\n protected readonly pendingRequests: HttpClientPendingRequests = {};\n\n public async fetchAction(args: FetchActionArgs): Promise<FetchResponse> {\n const route = args.action; // our link to fetch\n const options = args.options ?? {}; // fetch standard options, cache, etc.\n const config = args.config ?? {}; // params, query, body, etc.\n const host = args.host ?? \"\"; // remote host, e.g. \"https://api.example.com\" or empty (for browser)\n\n const request: RequestInit = {\n ...options.request,\n };\n\n const method = route.method;\n const headers: Record<string, string> = {};\n const url = this.url(host, route, config);\n\n await this.alepha.events.emit(\"client:onRequest\", {\n route,\n config,\n options,\n headers,\n request,\n });\n\n request.method ??= method;\n\n await this.body(request, headers, route, config);\n\n request.headers = {\n ...config.headers,\n ...Object.fromEntries(new Headers(request.headers).entries()),\n ...headers,\n };\n\n return await this.fetch(url, {\n ...request,\n schema: route.schema,\n ...options,\n });\n }\n\n public async fetch<T extends TSchema>(\n url: string,\n request: RequestInitWithOptions<T> = {}, // standard options\n ): Promise<FetchResponse<Static<T>>> {\n const options = {\n cache: request.localCache,\n schema: request.schema?.response,\n key: request.key,\n };\n\n request.method ??= \"GET\";\n\n this.log.trace(\"Request\", {\n url,\n method: request.method,\n body: request.body,\n headers: request.headers,\n options,\n });\n\n // Only add automatic ETag if user didn't explicitly provide headers\n const cached = await this.cache.get(url);\n if (cached && request.method === \"GET\") {\n if (cached.etag) {\n request.headers = new Headers(request.headers);\n if (!request.headers.has(\"if-none-match\")) {\n request.headers.set(\"if-none-match\", cached.etag);\n }\n } else {\n return {\n data: cached.data as Static<T>,\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n }\n }\n\n await this.alepha.events.emit(\"client:beforeFetch\", {\n url,\n options,\n request,\n });\n\n // make a key for the request\n // this will be used to check if the request is already pending\n const key =\n options.key ??\n JSON.stringify({\n url,\n method: request.method,\n body: request.body,\n });\n\n const existing = this.pendingRequests[key];\n if (existing) {\n this.log.info(\"Request already pending\", key);\n return existing;\n }\n\n this.pendingRequests[key] = fetch(url, request)\n .then(async (response) => {\n this.log.debug(\"Response\", {\n url,\n status: response.status,\n });\n\n const fetchResponse: FetchResponse = {\n data: await this.responseData(response, options),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n raw: response,\n };\n\n if (request.method === \"GET\") {\n if (options.cache) {\n await this.cache.set(\n url,\n { data: fetchResponse.data },\n typeof options.cache === \"boolean\" ? undefined : options.cache,\n );\n } else if (!this.alepha.isBrowser()) {\n // only cache etag on server, browser can handle etag itself\n const etag = response.headers.get(\"etag\") ?? undefined;\n if (etag) {\n await this.cache.set(url, { data: fetchResponse.data, etag });\n }\n }\n }\n\n return fetchResponse;\n })\n .finally(() => {\n delete this.pendingRequests[key];\n });\n\n return this.pendingRequests[key];\n }\n\n protected url(\n host: string,\n action: HttpAction,\n args: ServerRequestConfigEntry,\n ) {\n let url = host;\n\n if (action.prefix) {\n url += action.prefix;\n }\n\n url += action.path;\n url = this.pathVariables(url, action, args);\n url = this.queryParams(url, action, args);\n\n return url;\n }\n\n protected async body(\n init: RequestInit,\n headers: Record<string, string>,\n action: HttpAction,\n args: ServerRequestConfigEntry = {},\n ) {\n const hasHeader =\n typeof init.headers === \"object\" &&\n \"content-type\" in init.headers &&\n init.headers[\"content-type\"] === \"multipart/form-data\";\n\n if (hasHeader || isMultipart(action)) {\n if (typeof init.headers === \"object\" && \"content-type\" in init.headers) {\n delete init.headers[\"content-type\"]; // fetch() will fill this for us\n }\n\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(args.body ?? {})) {\n if (typeof value === \"string\") {\n formData.append(key, value);\n continue;\n }\n if (value instanceof Blob) {\n formData.append(key, value);\n continue;\n }\n if (isFileLike(value)) {\n // FileLike must be transformed to WebFile\n formData.append(\n key,\n new File([await value.arrayBuffer()], value.name, {\n type: value.type,\n }),\n );\n }\n }\n\n init.body = formData;\n\n return;\n }\n\n if (!init.body && action.schema?.body) {\n headers[\"content-type\"] = \"application/json\";\n init.body = this.alepha.codec.encode(action.schema?.body, args.body, {\n as: \"string\",\n });\n }\n }\n\n protected async responseData(\n response: Response,\n options: FetchOptions,\n ): Promise<any> {\n if (response.status === 304) {\n let cacheKey = response.url;\n if (typeof window !== \"undefined\") {\n cacheKey = cacheKey.replace(window.location.origin, \"\");\n }\n\n const cached = await this.cache.get(cacheKey);\n if (cached) {\n return cached.data;\n }\n\n // if no cached data (etag-only routes), return empty string\n return \"\";\n }\n\n if (response.status === 204) {\n return;\n }\n\n if (this.isMaybeFile(response)) {\n return this.createFileLike(response);\n }\n\n if (response.headers.get(\"Content-Type\")?.startsWith(\"text/\")) {\n return await response.text();\n }\n\n if (response.headers.get(\"Content-Type\") === \"application/json\") {\n const json = await response.json();\n\n if (response.status >= 400) {\n const jsonError = this.alepha.codec.decode(errorSchema, json);\n const error = new HttpError(jsonError);\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n if (options.schema) {\n return this.alepha.codec.decode(options.schema, json);\n }\n\n return json;\n }\n\n if (response.status >= 400) {\n const error = new HttpError({\n status: response.status,\n message: `An error occurred while fetching the resource. (${response.statusText})`,\n });\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n return response;\n }\n\n protected isMaybeFile(response: Response): boolean {\n const contentType = response.headers.get(\"Content-Type\");\n if (!contentType) {\n return false;\n }\n\n if (response.headers.get(\"Content-Disposition\")?.includes(\"attachment\")) {\n return true; // If Content-Disposition indicates an attachment, treat it as a file\n }\n\n return (\n contentType.startsWith(\"application/octet-stream\") ||\n contentType.startsWith(\"application/pdf\") ||\n contentType.startsWith(\"application/zip\") ||\n contentType.startsWith(\"image/\") ||\n contentType.startsWith(\"video/\") ||\n contentType.startsWith(\"audio/\")\n );\n }\n\n protected createFileLike(response: Response, defaultFileName = \"\"): FileLike {\n const match = (response.headers.get(\"Content-Disposition\") ?? \"\").match(\n /filename=\"(.+)\"/,\n );\n return {\n name: match?.[1] ? match[1] : defaultFileName,\n type: response.headers.get(\"Content-Type\") ?? \"application/octet-stream\",\n size: Number(response.headers.get(\"Content-Length\") ?? 0),\n lastModified: Date.now(),\n stream: () => {\n throw new Error(\"Not implemented\");\n },\n arrayBuffer: async () => {\n return await response.arrayBuffer();\n },\n text: async () => {\n return await response.text();\n },\n };\n }\n\n public pathVariables(\n url: string,\n action: { schema?: { params?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.params === \"object\") {\n const params = action.schema?.params\n ? (this.alepha.codec.decode(\n action.schema.params,\n args.params,\n ) as Record<string, any>)\n : args.params;\n\n for (const key of Object.keys(params)) {\n url = url.replace(`:${key}`, params[key]);\n url = url.replace(`{${key}}`, params[key]);\n }\n }\n\n return url;\n }\n\n public queryParams(\n url: string,\n action: { schema?: { query?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.query === \"object\") {\n const query = action.schema?.query\n ? this.alepha.codec.decode(action.schema.query, args.query ?? {})\n : args.query;\n\n for (const key of Object.keys(query)) {\n if (query[key] === undefined) {\n delete query[key];\n }\n if (typeof query[key] === \"object\") {\n query[key] = JSON.stringify(query[key]);\n }\n }\n\n return `${url}?${new URLSearchParams(\n query as Record<string, string>,\n ).toString()}`;\n }\n return url;\n }\n}\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface FetchOptions<T extends TSchema = TSchema> {\n /**\n * Key to identify the request in the pending requests.\n */\n key?: string;\n\n /**\n * The schema to validate the response against.\n */\n schema?: {\n response?: T;\n };\n\n /**\n * Built-in cache options.\n */\n localCache?: boolean | number | DurationLike;\n}\n\nexport type RequestInitWithOptions<T extends TSchema = TSchema> = RequestInit &\n FetchOptions<T>;\n\nexport interface FetchResponse<T = any> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n raw?: Response;\n}\n\nexport type HttpClientPendingRequests = Record<\n string,\n Promise<any> | undefined\n>;\n\ninterface HttpClientCache {\n data: any;\n etag?: string;\n}\n\nexport interface FetchActionArgs {\n action: HttpAction;\n host?: string;\n config?: ServerRequestConfigEntry;\n options?: ClientRequestOptions;\n}\n\nexport interface HttpAction {\n method?: string;\n prefix?: string;\n path: string;\n requestBodyType?: string;\n schema?: {\n params?: TObject;\n query?: TObject;\n body?: TRequestBody;\n response?: TResponseBody;\n };\n}\n","export const routeMethods = [\n // list of supported http methods\n \"GET\",\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"DELETE\",\n \"HEAD\",\n \"OPTIONS\",\n \"CONNECT\",\n \"TRACE\",\n] as const;\n\nexport type RouteMethod = (typeof routeMethods)[number];\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class BadRequestError extends HttpError {\n constructor(message = \"Invalid request body\", cause?: unknown) {\n super(\n {\n message,\n status: 400,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ConflictError extends HttpError {\n constructor(message = \"Entity already exists\", cause?: unknown) {\n super(\n {\n message,\n status: 409,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ForbiddenError extends HttpError {\n constructor(\n message = \"No permission to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 403,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class NotFoundError extends HttpError {\n constructor(message = \"Resource not found\", cause?: unknown) {\n super(\n {\n message,\n status: 404,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class UnauthorizedError extends HttpError {\n readonly name = \"UnauthorizedError\";\n\n constructor(\n message = \"Not allowed to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 401,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ValidationError extends HttpError {\n constructor(message = \"Validation has failed\", cause?: unknown) {\n super(\n {\n message,\n status: 400,\n },\n cause,\n );\n }\n}\n","/**\n * Helper for building server replies.\n */\nexport class ServerReply {\n // TODO: make it private\n public headers: Record<string, string> & {\n \"set-cookie\"?: string[];\n } = {};\n\n public status?: number; // default 200, or 204 (no content)\n\n public body?: any;\n\n /**\n * Redirect to a given URL with optional status code (default 302).\n */\n public redirect(url: string, status: number = 302): void {\n this.status = status;\n this.headers.location = url;\n }\n\n // TODO: check if status / header is already set and throw an error if so (for allow to override with force flag)\n\n /**\n * Set the response status code.\n */\n public setStatus(status: number): this {\n this.status = status;\n return this;\n }\n\n /**\n * Set a response header.\n */\n public setHeader(name: string, value: string): this {\n this.headers[name.toLowerCase()] = value;\n return this;\n }\n\n /**\n * Set the response body.\n */\n public setBody(body: any): this {\n this.body = body;\n return this;\n }\n}\n","import type { Static } from \"alepha\";\nimport { t } from \"alepha\";\n\nexport const okSchema = t.object(\n {\n ok: t.boolean({ description: \"True when operation succeed\" }),\n id: t.optional(t.union([t.text(), t.integer()])),\n count: t.optional(\n t.number({ description: \"Number of resources affected\" }),\n ),\n },\n {\n title: \"Ok\",\n description: \"Generic response after a successful operation on a resource\",\n },\n);\n\nexport type Ok = Static<typeof okSchema>;\n","import { $module } from \"alepha\";\nimport { HttpClient } from \"./services/HttpClient.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./index.shared.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport const AlephaServer = $module({\n name: \"alepha.server\",\n primitives: [],\n services: [HttpClient],\n});\n"],"mappings":"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"}
|
|
@@ -681,7 +681,6 @@ declare const envSchema$1: alepha19.TObject<{
|
|
|
681
681
|
declare module "alepha" {
|
|
682
682
|
interface Env extends Partial<Static<typeof envSchema$1>> {}
|
|
683
683
|
}
|
|
684
|
-
declare const Bun: any;
|
|
685
684
|
declare class BunHttpServerProvider extends ServerProvider {
|
|
686
685
|
protected readonly alepha: Alepha;
|
|
687
686
|
protected readonly dateTimeProvider: DateTimeProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/errors/HttpError.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/services/UserAgentParser.ts","../../../src/server/core/interfaces/ServerRequest.ts","../../../src/server/core/services/ServerRequestParser.ts","../../../src/server/core/providers/ServerTimingProvider.ts","../../../src/server/core/providers/ServerRouterProvider.ts","../../../src/server/core/providers/ServerProvider.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/primitives/$action.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/primitives/$route.ts","../../../src/server/core/providers/BunHttpServerProvider.ts","../../../src/server/core/providers/NodeHttpServerProvider.ts","../../../src/server/core/providers/ServerLoggerProvider.ts","../../../src/server/core/providers/ServerNotReadyProvider.ts","../../../src/server/core/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/errors/HttpError.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/services/UserAgentParser.ts","../../../src/server/core/interfaces/ServerRequest.ts","../../../src/server/core/services/ServerRequestParser.ts","../../../src/server/core/providers/ServerTimingProvider.ts","../../../src/server/core/providers/ServerRouterProvider.ts","../../../src/server/core/providers/ServerProvider.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/primitives/$action.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/primitives/$route.ts","../../../src/server/core/providers/BunHttpServerProvider.ts","../../../src/server/core/providers/NodeHttpServerProvider.ts","../../../src/server/core/providers/ServerLoggerProvider.ts","../../../src/server/core/providers/ServerNotReadyProvider.ts","../../../src/server/core/index.ts"],"sourcesContent":[],"mappings":"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"}
|