@sebspark/openapi-core
Advanced tools
+2
-1
@@ -262,4 +262,5 @@ import { inspect } from "util"; | ||
| case 511: return new NetworkAuthenticationRequiredError(message, cause); | ||
| default: return new HttpError(statusCode, message ?? "Error", cause); | ||
| } | ||
| /* istanbul ignore next */ | ||
| return new HttpError(statusCode, message ?? "Error", cause); | ||
| }; | ||
@@ -266,0 +267,0 @@ const fromAxiosError = (axiosError) => { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.mjs","names":[],"sources":["../src/errors.ts","../src/schema.ts"],"sourcesContent":["import type { AxiosError } from 'axios'\n// biome-ignore lint/style/useNodejsImportProtocol: use 'util' for RN Metro + polyfill support\nimport { inspect } from 'util'\n\nexport type ClientErrorCode =\n | 400\n | 401\n | 402\n | 403\n | 404\n | 405\n | 406\n | 407\n | 408\n | 409\n | 410\n | 411\n | 412\n | 413\n | 414\n | 415\n | 416\n | 417\n | 418\n | 421\n | 422\n | 423\n | 424\n | 425\n | 426\n | 428\n | 429\n | 431\n | 451\nexport type ServerErrorCode =\n | 500\n | 501\n | 502\n | 503\n | 504\n | 505\n | 506\n | 507\n | 508\n | 510\n | 511\nexport type ErrorCode = ClientErrorCode | ServerErrorCode\n\ntype SerializedError = {\n message: string\n stack?: string\n}\n\n// Base HttpError class\nexport class HttpError extends Error {\n statusCode: number\n\n constructor(statusCode: number, message: string, cause?: Error) {\n super(message)\n if (cause) {\n this.stack = undefined\n this.cause = cause\n }\n this.statusCode = statusCode\n Object.setPrototypeOf(this, new.target.prototype)\n }\n\n toJSON(showStack = false) {\n const serialized: SerializedError = {\n message: this.message,\n }\n if (showStack) {\n serialized.stack = inspect(this)\n }\n return serialized\n }\n}\n\n// Specific error classes extending HttpError\nexport class BadRequestError extends HttpError {\n constructor(message = 'Bad Request', cause?: Error) {\n super(400, message, cause)\n }\n}\n\nexport class UnauthorizedError extends HttpError {\n constructor(message = 'Unauthorized', cause?: Error) {\n super(401, message, cause)\n }\n}\n\nexport class PaymentRequiredError extends HttpError {\n constructor(message = 'Payment Required', cause?: Error) {\n super(402, message, cause)\n }\n}\n\nexport class ForbiddenError extends HttpError {\n constructor(message = 'Forbidden', cause?: Error) {\n super(403, message, cause)\n }\n}\n\nexport class NotFoundError extends HttpError {\n constructor(message = 'Not Found', cause?: Error) {\n super(404, message, cause)\n }\n}\n\nexport class MethodNotAllowedError extends HttpError {\n constructor(message = 'Method Not Allowed', cause?: Error) {\n super(405, message, cause)\n }\n}\n\nexport class NotAcceptableError extends HttpError {\n constructor(message = 'Not Acceptable', cause?: Error) {\n super(406, message, cause)\n }\n}\n\nexport class ProxyAuthenticationRequiredError extends HttpError {\n constructor(message = 'Proxy Authentication Required', cause?: Error) {\n super(407, message, cause)\n }\n}\n\nexport class RequestTimeoutError extends HttpError {\n constructor(message = 'Request Timeout', cause?: Error) {\n super(408, message, cause)\n }\n}\n\nexport class ConflictError extends HttpError {\n constructor(message = 'Conflict', cause?: Error) {\n super(409, message, cause)\n }\n}\n\nexport class GoneError extends HttpError {\n constructor(message = 'Gone', cause?: Error) {\n super(410, message, cause)\n }\n}\n\nexport class LengthRequiredError extends HttpError {\n constructor(message = 'Length Required', cause?: Error) {\n super(411, message, cause)\n }\n}\n\nexport class PreconditionFailedError extends HttpError {\n constructor(message = 'Precondition Failed', cause?: Error) {\n super(412, message, cause)\n }\n}\n\nexport class PayloadTooLargeError extends HttpError {\n constructor(message = 'Payload Too Large', cause?: Error) {\n super(413, message, cause)\n }\n}\n\nexport class URITooLongError extends HttpError {\n constructor(message = 'URI Too Long', cause?: Error) {\n super(414, message, cause)\n }\n}\n\nexport class UnsupportedMediaTypeError extends HttpError {\n constructor(message = 'Unsupported Media Type', cause?: Error) {\n super(415, message, cause)\n }\n}\n\nexport class RangeNotSatisfiableError extends HttpError {\n constructor(message = 'Range Not Satisfiable', cause?: Error) {\n super(416, message, cause)\n }\n}\n\nexport class ExpectationFailedError extends HttpError {\n constructor(message = 'Expectation Failed', cause?: Error) {\n super(417, message, cause)\n }\n}\n\nexport class IMATeapotError extends HttpError {\n constructor(message = \"I'm a teapot\", cause?: Error) {\n super(418, message, cause)\n }\n}\n\nexport class MisdirectedRequestError extends HttpError {\n constructor(message = 'Misdirected Request', cause?: Error) {\n super(421, message, cause)\n }\n}\n\nexport class UnprocessableEntityError extends HttpError {\n constructor(message = 'Unprocessable Entity', cause?: Error) {\n super(422, message, cause)\n }\n}\n\nexport class LockedError extends HttpError {\n constructor(message = 'Locked', cause?: Error) {\n super(423, message, cause)\n }\n}\n\nexport class FailedDependencyError extends HttpError {\n constructor(message = 'Failed Dependency', cause?: Error) {\n super(424, message, cause)\n }\n}\n\nexport class TooEarlyError extends HttpError {\n constructor(message = 'Too Early', cause?: Error) {\n super(425, message, cause)\n }\n}\n\nexport class UpgradeRequiredError extends HttpError {\n constructor(message = 'Upgrade Required', cause?: Error) {\n super(426, message, cause)\n }\n}\n\nexport class PreconditionRequiredError extends HttpError {\n constructor(message = 'Precondition Required', cause?: Error) {\n super(428, message, cause)\n }\n}\n\nexport class TooManyRequestsError extends HttpError {\n constructor(message = 'Too Many Requests', cause?: Error) {\n super(429, message, cause)\n }\n}\n\nexport class RequestHeaderFieldsTooLargeError extends HttpError {\n constructor(message = 'Request Header Fields Too Large', cause?: Error) {\n super(431, message, cause)\n }\n}\n\nexport class UnavailableForLegalReasonsError extends HttpError {\n constructor(message = 'Unavailable For Legal Reasons', cause?: Error) {\n super(451, message, cause)\n }\n}\n\n// 500 Range Error Classes\nexport class InternalServerError extends HttpError {\n constructor(message = 'Internal Server Error', cause?: Error) {\n super(500, message, cause)\n }\n}\n\nexport class NotImplementedError extends HttpError {\n constructor(message = 'Not Implemented', cause?: Error) {\n super(501, message, cause)\n }\n}\n\nexport class BadGatewayError extends HttpError {\n constructor(message = 'Bad Gateway', cause?: Error) {\n super(502, message, cause)\n }\n}\n\nexport class ServiceUnavailableError extends HttpError {\n constructor(message = 'Service Unavailable', cause?: Error) {\n super(503, message, cause)\n }\n}\n\nexport class GatewayTimeoutError extends HttpError {\n constructor(message = 'Gateway Timeout', cause?: Error) {\n super(504, message, cause)\n }\n}\n\nexport class HTTPVersionNotSupportedError extends HttpError {\n constructor(message = 'HTTP Version Not Supported', cause?: Error) {\n super(505, message, cause)\n }\n}\n\nexport class VariantAlsoNegotiatesError extends HttpError {\n constructor(message = 'Variant Also Negotiates', cause?: Error) {\n super(506, message, cause)\n }\n}\n\nexport class InsufficientStorageError extends HttpError {\n constructor(message = 'Insufficient Storage', cause?: Error) {\n super(507, message, cause)\n }\n}\n\nexport class LoopDetectedError extends HttpError {\n constructor(message = 'Loop Detected', cause?: Error) {\n super(508, message, cause)\n }\n}\n\nexport class NotExtendedError extends HttpError {\n constructor(message = 'Not Extended', cause?: Error) {\n super(510, message, cause)\n }\n}\n\nexport class NetworkAuthenticationRequiredError extends HttpError {\n constructor(message = 'Network Authentication Required', cause?: Error) {\n super(511, message, cause)\n }\n}\n\n// Function to create an error based on status code\nexport const createHttpError = (\n statusCode: ErrorCode,\n message?: string,\n cause?: Error\n): HttpError => {\n switch (statusCode) {\n case 400:\n return new BadRequestError(message, cause)\n case 401:\n return new UnauthorizedError(message, cause)\n case 402:\n return new PaymentRequiredError(message, cause)\n case 403:\n return new ForbiddenError(message, cause)\n case 404:\n return new NotFoundError(message, cause)\n case 405:\n return new MethodNotAllowedError(message, cause)\n case 406:\n return new NotAcceptableError(message, cause)\n case 407:\n return new ProxyAuthenticationRequiredError(message, cause)\n case 408:\n return new RequestTimeoutError(message, cause)\n case 409:\n return new ConflictError(message, cause)\n case 410:\n return new GoneError(message, cause)\n case 411:\n return new LengthRequiredError(message, cause)\n case 412:\n return new PreconditionFailedError(message, cause)\n case 413:\n return new PayloadTooLargeError(message, cause)\n case 414:\n return new URITooLongError(message, cause)\n case 415:\n return new UnsupportedMediaTypeError(message, cause)\n case 416:\n return new RangeNotSatisfiableError(message, cause)\n case 417:\n return new ExpectationFailedError(message, cause)\n case 418:\n return new IMATeapotError(message, cause)\n case 421:\n return new MisdirectedRequestError(message, cause)\n case 422:\n return new UnprocessableEntityError(message, cause)\n case 423:\n return new LockedError(message, cause)\n case 424:\n return new FailedDependencyError(message, cause)\n case 425:\n return new TooEarlyError(message, cause)\n case 426:\n return new UpgradeRequiredError(message, cause)\n case 428:\n return new PreconditionRequiredError(message, cause)\n case 429:\n return new TooManyRequestsError(message, cause)\n case 431:\n return new RequestHeaderFieldsTooLargeError(message, cause)\n case 451:\n return new UnavailableForLegalReasonsError(message, cause)\n case 500:\n return new InternalServerError(message, cause)\n case 501:\n return new NotImplementedError(message, cause)\n case 502:\n return new BadGatewayError(message, cause)\n case 503:\n return new ServiceUnavailableError(message, cause)\n case 504:\n return new GatewayTimeoutError(message, cause)\n case 505:\n return new HTTPVersionNotSupportedError(message, cause)\n case 506:\n return new VariantAlsoNegotiatesError(message, cause)\n case 507:\n return new InsufficientStorageError(message, cause)\n case 508:\n return new LoopDetectedError(message, cause)\n case 510:\n return new NotExtendedError(message, cause)\n case 511:\n return new NetworkAuthenticationRequiredError(message, cause)\n default:\n return new HttpError(statusCode, message ?? 'Error', cause)\n }\n}\n\nexport const fromAxiosError = (axiosError: AxiosError): HttpError => {\n // Default to 500 Internal Server Error if the status code is not available\n const statusCode = (axiosError.response?.status || 500) as ErrorCode\n const message =\n axiosError.response?.statusText ||\n axiosError.message ||\n 'Internal Server Error'\n\n // The internal error can contain more specific details about the Axios error\n const cause = new Error(axiosError.message)\n cause.name = axiosError.name\n cause.stack = axiosError.stack\n // If the error response has a data property pass it along\n cause.cause = axiosError?.response?.data\n\n return createHttpError(statusCode, message, cause)\n}\n","import type { SchemaObject } from './common'\nimport type { OpenApiDocument, OperationObject } from './openapi'\nimport type { APIServerDefinition } from './types'\n\nconst clone = <T>(orig: T): T => JSON.parse(JSON.stringify(orig))\n\n/**\n * Marks unimplemented paths as deprecated and tags them with 'not-implemented'.\n * Use to hide or visually separate endpoints not yet available on the given server.\n *\n * @param document - The OpenAPI document to modify\n * @param server - The server definition to check against for implemented paths\n * @returns A cloned document with unimplemented paths marked as deprecated\n */\nexport const disableUnimplementedPaths = <\n T extends OpenApiDocument,\n S extends APIServerDefinition,\n>(\n document: T,\n server: S\n): T => {\n const doc = clone(document)\n for (const path of Object.keys(doc.paths)) {\n const pathObj = doc.paths[path as keyof typeof doc.paths]\n const fixedPath = path.replace(/{(.+)}/, ':$1')\n if (!server[fixedPath] && !fixedPath.startsWith('/health')) {\n for (const method of Object.values(pathObj)) {\n const operation = method as OperationObject\n operation.deprecated = true\n operation.tags = [...(operation.tags ?? []), 'not-implemented']\n }\n }\n }\n return doc\n}\n\n/**\n * Appends the API version segment to all server URLs.\n *\n * @param document - The OpenAPI document to modify\n * @param version - The version string to append\n * @returns A cloned document with updated server URLs\n */\nexport const appendVersionToServers = <T extends OpenApiDocument>(\n document: T,\n version: string\n): T => {\n const doc = clone(document)\n for (const server of doc.servers || []) {\n server.url = `${server.url}/${version}`\n }\n return doc\n}\n\n/**\n * Resolves a $ref string to its schema definition within the document.\n *\n * @param ref - A JSON pointer ref string e.g. `#/components/schemas/Foo`\n * @param doc - The OpenAPI document to resolve against\n * @returns The resolved schema, or undefined if the ref cannot be resolved\n */\nexport const resolveRef = (\n ref: string,\n doc: OpenApiDocument\n): SchemaObject | undefined => {\n const parts = ref.replace('#/', '').split('/')\n let current: unknown = doc\n for (const part of parts) {\n if (typeof current !== 'object' || current === null) return undefined\n current = (current as Record<string, unknown>)[part]\n }\n return current as SchemaObject\n}\n\n/**\n * Flattens all schemas typed as oneOf[$ref, $ref, ...] where all refs resolve to enums\n * into a single merged enum. Enables API UI tools to render a dropdown instead of a text input.\n *\n * @param document - The OpenAPI document to modify\n * @returns A cloned document with flattened enum schemas\n */\nexport const flattenEnums = <T extends OpenApiDocument>(document: T): T => {\n const doc = clone(document)\n\n const flatten = (schema: SchemaObject): SchemaObject => {\n if (!('oneOf' in schema) || !schema.oneOf) return schema\n\n let allEnums = true\n const enumValues: unknown[] = []\n\n for (const s of schema.oneOf) {\n if (!('$ref' in s)) {\n allEnums = false\n break\n }\n const resolved = resolveRef(s.$ref, doc)\n if (!resolved || !('enum' in resolved) || !Array.isArray(resolved.enum)) {\n allEnums = false\n break\n }\n for (const v of resolved.enum) enumValues.push(v)\n }\n\n if (allEnums && enumValues.length > 0) {\n return { type: 'string', enum: [...new Set(enumValues)] as string[] }\n }\n return schema\n }\n\n if (doc.components?.parameters) {\n for (const parameter of Object.values(doc.components.parameters)) {\n parameter.schema = flatten(\n parameter.schema as SchemaObject\n ) as unknown as typeof parameter.schema\n }\n }\n\n if (doc.components?.schemas) {\n for (const [key, schema] of Object.entries(doc.components.schemas)) {\n doc.components.schemas[key] = flatten(\n schema as SchemaObject\n ) as unknown as typeof schema\n }\n }\n\n for (const pathItem of Object.values(doc.paths)) {\n for (const operation of Object.values(pathItem)) {\n const op = operation as OperationObject\n if (!op.parameters) continue\n for (const parameter of op.parameters) {\n if ('schema' in parameter) {\n parameter.schema = flatten(\n parameter.schema as SchemaObject\n ) as unknown as typeof parameter.schema\n }\n }\n }\n }\n\n return doc\n}\n"],"mappings":"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"} | ||
| {"version":3,"file":"index.mjs","names":[],"sources":["../src/errors.ts","../src/schema.ts"],"sourcesContent":["import type { AxiosError } from 'axios'\n// biome-ignore lint/style/useNodejsImportProtocol: use 'util' for RN Metro + polyfill support\nimport { inspect } from 'util'\n\nexport type ClientErrorCode =\n | 400\n | 401\n | 402\n | 403\n | 404\n | 405\n | 406\n | 407\n | 408\n | 409\n | 410\n | 411\n | 412\n | 413\n | 414\n | 415\n | 416\n | 417\n | 418\n | 421\n | 422\n | 423\n | 424\n | 425\n | 426\n | 428\n | 429\n | 431\n | 451\nexport type ServerErrorCode =\n | 500\n | 501\n | 502\n | 503\n | 504\n | 505\n | 506\n | 507\n | 508\n | 510\n | 511\nexport type ErrorCode = ClientErrorCode | ServerErrorCode\n\ntype SerializedError = {\n message: string\n stack?: string\n}\n\n// Base HttpError class\nexport class HttpError extends Error {\n statusCode: number\n\n constructor(statusCode: number, message: string, cause?: Error) {\n super(message)\n if (cause) {\n this.stack = undefined\n this.cause = cause\n }\n this.statusCode = statusCode\n Object.setPrototypeOf(this, new.target.prototype)\n }\n\n toJSON(showStack = false) {\n const serialized: SerializedError = {\n message: this.message,\n }\n if (showStack) {\n serialized.stack = inspect(this)\n }\n return serialized\n }\n}\n\n// Specific error classes extending HttpError\nexport class BadRequestError extends HttpError {\n constructor(message = 'Bad Request', cause?: Error) {\n super(400, message, cause)\n }\n}\n\nexport class UnauthorizedError extends HttpError {\n constructor(message = 'Unauthorized', cause?: Error) {\n super(401, message, cause)\n }\n}\n\nexport class PaymentRequiredError extends HttpError {\n constructor(message = 'Payment Required', cause?: Error) {\n super(402, message, cause)\n }\n}\n\nexport class ForbiddenError extends HttpError {\n constructor(message = 'Forbidden', cause?: Error) {\n super(403, message, cause)\n }\n}\n\nexport class NotFoundError extends HttpError {\n constructor(message = 'Not Found', cause?: Error) {\n super(404, message, cause)\n }\n}\n\nexport class MethodNotAllowedError extends HttpError {\n constructor(message = 'Method Not Allowed', cause?: Error) {\n super(405, message, cause)\n }\n}\n\nexport class NotAcceptableError extends HttpError {\n constructor(message = 'Not Acceptable', cause?: Error) {\n super(406, message, cause)\n }\n}\n\nexport class ProxyAuthenticationRequiredError extends HttpError {\n constructor(message = 'Proxy Authentication Required', cause?: Error) {\n super(407, message, cause)\n }\n}\n\nexport class RequestTimeoutError extends HttpError {\n constructor(message = 'Request Timeout', cause?: Error) {\n super(408, message, cause)\n }\n}\n\nexport class ConflictError extends HttpError {\n constructor(message = 'Conflict', cause?: Error) {\n super(409, message, cause)\n }\n}\n\nexport class GoneError extends HttpError {\n constructor(message = 'Gone', cause?: Error) {\n super(410, message, cause)\n }\n}\n\nexport class LengthRequiredError extends HttpError {\n constructor(message = 'Length Required', cause?: Error) {\n super(411, message, cause)\n }\n}\n\nexport class PreconditionFailedError extends HttpError {\n constructor(message = 'Precondition Failed', cause?: Error) {\n super(412, message, cause)\n }\n}\n\nexport class PayloadTooLargeError extends HttpError {\n constructor(message = 'Payload Too Large', cause?: Error) {\n super(413, message, cause)\n }\n}\n\nexport class URITooLongError extends HttpError {\n constructor(message = 'URI Too Long', cause?: Error) {\n super(414, message, cause)\n }\n}\n\nexport class UnsupportedMediaTypeError extends HttpError {\n constructor(message = 'Unsupported Media Type', cause?: Error) {\n super(415, message, cause)\n }\n}\n\nexport class RangeNotSatisfiableError extends HttpError {\n constructor(message = 'Range Not Satisfiable', cause?: Error) {\n super(416, message, cause)\n }\n}\n\nexport class ExpectationFailedError extends HttpError {\n constructor(message = 'Expectation Failed', cause?: Error) {\n super(417, message, cause)\n }\n}\n\nexport class IMATeapotError extends HttpError {\n constructor(message = \"I'm a teapot\", cause?: Error) {\n super(418, message, cause)\n }\n}\n\nexport class MisdirectedRequestError extends HttpError {\n constructor(message = 'Misdirected Request', cause?: Error) {\n super(421, message, cause)\n }\n}\n\nexport class UnprocessableEntityError extends HttpError {\n constructor(message = 'Unprocessable Entity', cause?: Error) {\n super(422, message, cause)\n }\n}\n\nexport class LockedError extends HttpError {\n constructor(message = 'Locked', cause?: Error) {\n super(423, message, cause)\n }\n}\n\nexport class FailedDependencyError extends HttpError {\n constructor(message = 'Failed Dependency', cause?: Error) {\n super(424, message, cause)\n }\n}\n\nexport class TooEarlyError extends HttpError {\n constructor(message = 'Too Early', cause?: Error) {\n super(425, message, cause)\n }\n}\n\nexport class UpgradeRequiredError extends HttpError {\n constructor(message = 'Upgrade Required', cause?: Error) {\n super(426, message, cause)\n }\n}\n\nexport class PreconditionRequiredError extends HttpError {\n constructor(message = 'Precondition Required', cause?: Error) {\n super(428, message, cause)\n }\n}\n\nexport class TooManyRequestsError extends HttpError {\n constructor(message = 'Too Many Requests', cause?: Error) {\n super(429, message, cause)\n }\n}\n\nexport class RequestHeaderFieldsTooLargeError extends HttpError {\n constructor(message = 'Request Header Fields Too Large', cause?: Error) {\n super(431, message, cause)\n }\n}\n\nexport class UnavailableForLegalReasonsError extends HttpError {\n constructor(message = 'Unavailable For Legal Reasons', cause?: Error) {\n super(451, message, cause)\n }\n}\n\n// 500 Range Error Classes\nexport class InternalServerError extends HttpError {\n constructor(message = 'Internal Server Error', cause?: Error) {\n super(500, message, cause)\n }\n}\n\nexport class NotImplementedError extends HttpError {\n constructor(message = 'Not Implemented', cause?: Error) {\n super(501, message, cause)\n }\n}\n\nexport class BadGatewayError extends HttpError {\n constructor(message = 'Bad Gateway', cause?: Error) {\n super(502, message, cause)\n }\n}\n\nexport class ServiceUnavailableError extends HttpError {\n constructor(message = 'Service Unavailable', cause?: Error) {\n super(503, message, cause)\n }\n}\n\nexport class GatewayTimeoutError extends HttpError {\n constructor(message = 'Gateway Timeout', cause?: Error) {\n super(504, message, cause)\n }\n}\n\nexport class HTTPVersionNotSupportedError extends HttpError {\n constructor(message = 'HTTP Version Not Supported', cause?: Error) {\n super(505, message, cause)\n }\n}\n\nexport class VariantAlsoNegotiatesError extends HttpError {\n constructor(message = 'Variant Also Negotiates', cause?: Error) {\n super(506, message, cause)\n }\n}\n\nexport class InsufficientStorageError extends HttpError {\n constructor(message = 'Insufficient Storage', cause?: Error) {\n super(507, message, cause)\n }\n}\n\nexport class LoopDetectedError extends HttpError {\n constructor(message = 'Loop Detected', cause?: Error) {\n super(508, message, cause)\n }\n}\n\nexport class NotExtendedError extends HttpError {\n constructor(message = 'Not Extended', cause?: Error) {\n super(510, message, cause)\n }\n}\n\nexport class NetworkAuthenticationRequiredError extends HttpError {\n constructor(message = 'Network Authentication Required', cause?: Error) {\n super(511, message, cause)\n }\n}\n\n// Function to create an error based on status code\nexport const createHttpError = (\n statusCode: ErrorCode,\n message?: string,\n cause?: Error\n): HttpError => {\n switch (statusCode) {\n case 400:\n return new BadRequestError(message, cause)\n case 401:\n return new UnauthorizedError(message, cause)\n case 402:\n return new PaymentRequiredError(message, cause)\n case 403:\n return new ForbiddenError(message, cause)\n case 404:\n return new NotFoundError(message, cause)\n case 405:\n return new MethodNotAllowedError(message, cause)\n case 406:\n return new NotAcceptableError(message, cause)\n case 407:\n return new ProxyAuthenticationRequiredError(message, cause)\n case 408:\n return new RequestTimeoutError(message, cause)\n case 409:\n return new ConflictError(message, cause)\n case 410:\n return new GoneError(message, cause)\n case 411:\n return new LengthRequiredError(message, cause)\n case 412:\n return new PreconditionFailedError(message, cause)\n case 413:\n return new PayloadTooLargeError(message, cause)\n case 414:\n return new URITooLongError(message, cause)\n case 415:\n return new UnsupportedMediaTypeError(message, cause)\n case 416:\n return new RangeNotSatisfiableError(message, cause)\n case 417:\n return new ExpectationFailedError(message, cause)\n case 418:\n return new IMATeapotError(message, cause)\n case 421:\n return new MisdirectedRequestError(message, cause)\n case 422:\n return new UnprocessableEntityError(message, cause)\n case 423:\n return new LockedError(message, cause)\n case 424:\n return new FailedDependencyError(message, cause)\n case 425:\n return new TooEarlyError(message, cause)\n case 426:\n return new UpgradeRequiredError(message, cause)\n case 428:\n return new PreconditionRequiredError(message, cause)\n case 429:\n return new TooManyRequestsError(message, cause)\n case 431:\n return new RequestHeaderFieldsTooLargeError(message, cause)\n case 451:\n return new UnavailableForLegalReasonsError(message, cause)\n case 500:\n return new InternalServerError(message, cause)\n case 501:\n return new NotImplementedError(message, cause)\n case 502:\n return new BadGatewayError(message, cause)\n case 503:\n return new ServiceUnavailableError(message, cause)\n case 504:\n return new GatewayTimeoutError(message, cause)\n case 505:\n return new HTTPVersionNotSupportedError(message, cause)\n case 506:\n return new VariantAlsoNegotiatesError(message, cause)\n case 507:\n return new InsufficientStorageError(message, cause)\n case 508:\n return new LoopDetectedError(message, cause)\n case 510:\n return new NotExtendedError(message, cause)\n case 511:\n return new NetworkAuthenticationRequiredError(message, cause)\n }\n /* istanbul ignore next */\n return new HttpError(statusCode, message ?? 'Error', cause)\n}\n\nexport const fromAxiosError = (axiosError: AxiosError): HttpError => {\n // Default to 500 Internal Server Error if the status code is not available\n const statusCode = (axiosError.response?.status || 500) as ErrorCode\n const message =\n axiosError.response?.statusText ||\n axiosError.message ||\n 'Internal Server Error'\n\n // The internal error can contain more specific details about the Axios error\n const cause = new Error(axiosError.message)\n cause.name = axiosError.name\n cause.stack = axiosError.stack\n // If the error response has a data property pass it along\n cause.cause = axiosError?.response?.data\n\n return createHttpError(statusCode, message, cause)\n}\n","import type { SchemaObject } from './common'\nimport type { OpenApiDocument, OperationObject } from './openapi'\nimport type { APIServerDefinition } from './types'\n\nconst clone = <T>(orig: T): T => JSON.parse(JSON.stringify(orig))\n\n/**\n * Marks unimplemented paths as deprecated and tags them with 'not-implemented'.\n * Use to hide or visually separate endpoints not yet available on the given server.\n *\n * @param document - The OpenAPI document to modify\n * @param server - The server definition to check against for implemented paths\n * @returns A cloned document with unimplemented paths marked as deprecated\n */\nexport const disableUnimplementedPaths = <\n T extends OpenApiDocument,\n S extends APIServerDefinition,\n>(\n document: T,\n server: S\n): T => {\n const doc = clone(document)\n for (const path of Object.keys(doc.paths)) {\n const pathObj = doc.paths[path as keyof typeof doc.paths]\n const fixedPath = path.replace(/{(.+)}/, ':$1')\n if (!server[fixedPath] && !fixedPath.startsWith('/health')) {\n for (const method of Object.values(pathObj)) {\n const operation = method as OperationObject\n operation.deprecated = true\n operation.tags = [...(operation.tags ?? []), 'not-implemented']\n }\n }\n }\n return doc\n}\n\n/**\n * Appends the API version segment to all server URLs.\n *\n * @param document - The OpenAPI document to modify\n * @param version - The version string to append\n * @returns A cloned document with updated server URLs\n */\nexport const appendVersionToServers = <T extends OpenApiDocument>(\n document: T,\n version: string\n): T => {\n const doc = clone(document)\n for (const server of doc.servers || []) {\n server.url = `${server.url}/${version}`\n }\n return doc\n}\n\n/**\n * Resolves a $ref string to its schema definition within the document.\n *\n * @param ref - A JSON pointer ref string e.g. `#/components/schemas/Foo`\n * @param doc - The OpenAPI document to resolve against\n * @returns The resolved schema, or undefined if the ref cannot be resolved\n */\nexport const resolveRef = (\n ref: string,\n doc: OpenApiDocument\n): SchemaObject | undefined => {\n const parts = ref.replace('#/', '').split('/')\n let current: unknown = doc\n for (const part of parts) {\n if (typeof current !== 'object' || current === null) return undefined\n current = (current as Record<string, unknown>)[part]\n }\n return current as SchemaObject\n}\n\n/**\n * Flattens all schemas typed as oneOf[$ref, $ref, ...] where all refs resolve to enums\n * into a single merged enum. Enables API UI tools to render a dropdown instead of a text input.\n *\n * @param document - The OpenAPI document to modify\n * @returns A cloned document with flattened enum schemas\n */\nexport const flattenEnums = <T extends OpenApiDocument>(document: T): T => {\n const doc = clone(document)\n\n const flatten = (schema: SchemaObject): SchemaObject => {\n if (!('oneOf' in schema) || !schema.oneOf) return schema\n\n let allEnums = true\n const enumValues: unknown[] = []\n\n for (const s of schema.oneOf) {\n if (!('$ref' in s)) {\n allEnums = false\n break\n }\n const resolved = resolveRef(s.$ref, doc)\n if (!resolved || !('enum' in resolved) || !Array.isArray(resolved.enum)) {\n allEnums = false\n break\n }\n for (const v of resolved.enum) enumValues.push(v)\n }\n\n if (allEnums && enumValues.length > 0) {\n return { type: 'string', enum: [...new Set(enumValues)] as string[] }\n }\n return schema\n }\n\n if (doc.components?.parameters) {\n for (const parameter of Object.values(doc.components.parameters)) {\n parameter.schema = flatten(\n parameter.schema as SchemaObject\n ) as unknown as typeof parameter.schema\n }\n }\n\n if (doc.components?.schemas) {\n for (const [key, schema] of Object.entries(doc.components.schemas)) {\n doc.components.schemas[key] = flatten(\n schema as SchemaObject\n ) as unknown as typeof schema\n }\n }\n\n for (const pathItem of Object.values(doc.paths)) {\n for (const operation of Object.values(pathItem)) {\n const op = operation as OperationObject\n if (!op.parameters) continue\n for (const parameter of op.parameters) {\n if ('schema' in parameter) {\n parameter.schema = flatten(\n parameter.schema as SchemaObject\n ) as unknown as typeof parameter.schema\n }\n }\n }\n }\n\n return doc\n}\n"],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@sebspark/openapi-core", | ||
| "version": "4.1.12", | ||
| "version": "4.1.13", | ||
| "license": "Apache-2.0", | ||
@@ -5,0 +5,0 @@ "type": "module", |
92135
0.03%371
0.27%