fumadocs-openapi 10.2.3 → 10.2.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","names":[],"sources":["../../../src/requests/media/adapter.ts"],"sourcesContent":[],"mappings":";AAC8E,UAIpE,WAAA,CAAW;EAOX;AAA6B;AAKQ;EAUrC,UAAA,CAAA,EAlBK,MAkBS,CAAA,MAAA,EAAA,OAAQ,CAAA;AAKhC;UApBU,SAAA,SAAkB,WAqBxB,CAAA;EACA,IAAA,EAAA,IAAA;EACA,SAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;UAlBM,iBAAA,SAA0B,WAoB/B,CAAA;EAAW,IAAA,EAAA,IAAA;EAEC,SAAA,EAAA,CAAA,GAAY,EAAA,MAAA,EAAA,IAMU,EAAA,MAAA,EAWW,GAAA,IAAA;;UAlCxC,WAAA,SAAoB;;;;UAKpB,aAAA,SAAsB;;;;KAKpB,YAAA,GACR,cACA,YACA,oBACA,iBACC;;;UAEY,YAAA;;;;;;;;QAMsB;;;;;;;;;;;;UAWW"}
1
+ {"version":3,"file":"adapter.d.ts","names":[],"sources":["../../../src/requests/media/adapter.ts"],"sourcesContent":[],"mappings":";AAC8E,UAIpE,WAAA,CAAW;EAOX;AAA6B;AAKQ;EAUrC,UAAA,CAAA,EAlBK,MAkBS,CAAA,MAAA,EAAQ,OAAA,CAAA;AAKhC;UApBU,SAAA,SAAkB,WAqBxB,CAAA;EACA,IAAA,EAAA,IAAA;EACA,SAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;UAlBM,iBAAA,SAA0B,WAoB/B,CAAA;EAAW,IAAA,EAAA,IAAA;EAEC,SAAA,EAAA,CAAA,GAAY,EAAA,MAAA,EAAA,IAMU,EAAA,MAWW,EAAA,GAAA,IAAA;;UAlCxC,WAAA,SAAoB;;;;UAKpB,aAAA,SAAsB;;;;KAKpB,YAAA,GACR,cACA,YACA,oBACA,iBACC;;;UAEY,YAAA;;;;;;;;QAMsB;;;;;;;;;;;;UAWW"}
@@ -23,8 +23,10 @@ function encodeRequestData(from, adapters, parameters) {
23
23
  ]) for (const key in from[type]) {
24
24
  const value = from[type][key];
25
25
  if (value == null) continue;
26
- const field = parameters.find((p) => p.name === key && p.in === type);
27
- if (!field) continue;
26
+ const field = parameters.find((p) => p.name === key && p.in === type) ?? {
27
+ name: key,
28
+ in: type
29
+ };
28
30
  const encoder = getMediaEncoder(field, adapters);
29
31
  if (encoder) {
30
32
  result[type][key] = { value: encoder(value) };
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","names":["result: RequestData"],"sources":["../../../src/requests/media/encode.ts"],"sourcesContent":["import type { MediaAdapter } from '@/requests/media/adapter';\nimport { resolveMediaAdapter } from '@/requests/media/adapter';\nimport type { NoReference } from '@/utils/schema';\nimport type { ParameterObject } from '@/types';\nimport type { RawRequestData, RequestData } from '@/requests/types';\n\nexport interface EncodedParameter {\n readonly value: string;\n}\n\nexport interface EncodedParameterMultiple {\n readonly values: string[];\n}\n\n/**\n * serialize parameters, see https://swagger.io/docs/specification/v3_0/serialization.\n */\nexport function encodeRequestData(\n from: RawRequestData,\n adapters: Record<string, MediaAdapter>,\n parameters: NoReference<ParameterObject>[],\n): RequestData {\n const result: RequestData = {\n method: from.method,\n body: from.body,\n bodyMediaType: from.bodyMediaType,\n cookie: {},\n header: {},\n path: {},\n query: {},\n };\n\n for (const type of ['cookie', 'query', 'header', 'path'] as const) {\n for (const key in from[type]) {\n const value = from[type][key];\n if (value == null) continue;\n\n const field = parameters.find((p) => p.name === key && p.in === type);\n // skip unknown parameters\n if (!field) continue;\n\n const encoder = getMediaEncoder(field, adapters);\n if (encoder) {\n result[type][key] = { value: encoder(value) };\n continue;\n }\n\n switch (type) {\n case 'path':\n serializePathParameter(field, value, result.path);\n break;\n case 'query':\n serializeQueryParameter(field, value, result.query);\n break;\n case 'header': {\n result.header[key] = {\n value: serializeSimple(value, field.explode ?? false),\n };\n break;\n }\n case 'cookie':\n serializeCookieParameter(field, value, result.cookie);\n break;\n }\n }\n }\n\n return result;\n}\n\nfunction getMediaEncoder(\n field: NoReference<ParameterObject>,\n adapters: Record<string, MediaAdapter>,\n) {\n if (!field.content) return;\n\n for (const k in field.content) {\n const adapter = resolveMediaAdapter(k, adapters);\n if (adapter) {\n return (v: unknown) => String(adapter.encode({ body: v }));\n }\n }\n}\n\nfunction serializeSimple(value: NonNullable<unknown>, explode: boolean): string {\n if (Array.isArray(value)) {\n return value.join(',');\n }\n if (typeof value === 'object') {\n return explode\n ? Object.entries(value)\n .map(([k, v]) => `${k}=${v}`)\n .join(',')\n : Object.entries(value).flat().join(',');\n }\n return String(value);\n}\n\nfunction serializePathParameter(\n field: NoReference<ParameterObject>,\n value: NonNullable<unknown>,\n // write output\n output: Record<string, EncodedParameter>,\n): void {\n const { explode = false, name } = field;\n\n switch (field.style) {\n case 'label':\n if (Array.isArray(value)) {\n output[field.name] = {\n value: '.' + value.join(explode ? '.' : ','),\n };\n break;\n }\n if (typeof value === 'object') {\n output[field.name] = {\n value:\n '.' +\n (explode\n ? Object.entries(value)\n .map(([k, v]) => `${k}=${v}`)\n .join('.')\n : Object.entries(value).flat().join(',')),\n };\n break;\n }\n output[field.name] = {\n value: `.${value}`,\n };\n break;\n case 'matrix': {\n const specifier = `;${name}=`;\n\n if (Array.isArray(value)) {\n output[field.name] = {\n value: explode\n ? `${specifier}${value.join(',')}`\n : `${specifier}${value.join(specifier)}`,\n };\n break;\n }\n if (typeof value === 'object') {\n output[field.name] = {\n value: explode\n ? Object.entries(value)\n .map(([k, v]) => `;${k}=${v}`)\n .join('')\n : specifier + Object.entries(value).flat().join(','),\n };\n break;\n }\n\n output[field.name] = {\n value: `${specifier}${value}`,\n };\n break;\n }\n // simple\n default:\n output[field.name] = {\n value: serializeSimple(value, explode),\n };\n }\n}\n\nfunction serializeQueryParameter(\n field: NoReference<ParameterObject>,\n value: NonNullable<unknown>,\n // write output\n output: Record<string, EncodedParameterMultiple>,\n): void {\n const { explode = true } = field;\n\n switch (field.style) {\n case 'spaceDelimited':\n if (!explode && Array.isArray(value)) {\n output[field.name] = {\n values: [value.join(' ')],\n };\n break;\n }\n case 'pipeDelimited':\n if (!explode && Array.isArray(value)) {\n output[field.name] = {\n values: [value.join('|')],\n };\n break;\n }\n case 'deepObject':\n if (!Array.isArray(value) && typeof value === 'object') {\n for (const [k, v] of Object.entries(value)) {\n output[`${field.name}[${k}]`] = {\n // note: the behaviour of nested array is undefined, we do this to avoid edge cases\n values: Array.isArray(v) ? v : [String(v)],\n };\n }\n break;\n }\n // form\n default:\n if (Array.isArray(value)) {\n output[field.name] = {\n values: explode ? value : [value.join(',')],\n };\n break;\n }\n\n if (typeof value === 'object' && explode) {\n for (const [k, v] of Object.entries(value)) {\n output[k] = {\n values: [String(v)],\n };\n }\n break;\n }\n\n if (typeof value === 'object') {\n output[field.name] = {\n values: [Object.entries(value).flat().join(',')],\n };\n break;\n }\n\n output[field.name] = {\n values: [String(value)],\n };\n }\n}\n\nfunction serializeCookieParameter(\n field: NoReference<ParameterObject>,\n value: NonNullable<unknown>,\n // write output\n output: Record<string, EncodedParameter>,\n) {\n const { explode = true } = field;\n\n // form\n if (Array.isArray(value)) {\n output[field.name] = {\n value: explode ? value.map((v) => `${field.name}=${v}`).join('&') : value.join(','),\n };\n } else if (typeof value === 'object' && explode) {\n for (const [k, v] of Object.entries(value)) {\n output[k] = {\n value: String(v),\n };\n }\n } else if (typeof value === 'object') {\n output[field.name] = {\n value: Object.entries(value).flat().join(','),\n };\n } else {\n output[field.name] = {\n value: String(value),\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"encode.js","names":["result: RequestData","field: NoReference<ParameterObject>"],"sources":["../../../src/requests/media/encode.ts"],"sourcesContent":["import type { MediaAdapter } from '@/requests/media/adapter';\nimport { resolveMediaAdapter } from '@/requests/media/adapter';\nimport type { NoReference } from '@/utils/schema';\nimport type { ParameterObject } from '@/types';\nimport type { RawRequestData, RequestData } from '@/requests/types';\n\nexport interface EncodedParameter {\n readonly value: string;\n}\n\nexport interface EncodedParameterMultiple {\n readonly values: string[];\n}\n\n/**\n * serialize parameters, see https://swagger.io/docs/specification/v3_0/serialization.\n */\nexport function encodeRequestData(\n from: RawRequestData,\n adapters: Record<string, MediaAdapter>,\n parameters: NoReference<ParameterObject>[],\n): RequestData {\n const result: RequestData = {\n method: from.method,\n body: from.body,\n bodyMediaType: from.bodyMediaType,\n cookie: {},\n header: {},\n path: {},\n query: {},\n };\n\n for (const type of ['cookie', 'query', 'header', 'path'] as const) {\n for (const key in from[type]) {\n const value = from[type][key];\n if (value == null) continue;\n\n const field: NoReference<ParameterObject> = parameters.find(\n (p) => p.name === key && p.in === type,\n ) ?? {\n name: key,\n in: type,\n };\n\n const encoder = getMediaEncoder(field, adapters);\n if (encoder) {\n result[type][key] = { value: encoder(value) };\n continue;\n }\n\n switch (type) {\n case 'path':\n serializePathParameter(field, value, result.path);\n break;\n case 'query':\n serializeQueryParameter(field, value, result.query);\n break;\n case 'header': {\n result.header[key] = {\n value: serializeSimple(value, field.explode ?? false),\n };\n break;\n }\n case 'cookie':\n serializeCookieParameter(field, value, result.cookie);\n break;\n }\n }\n }\n\n return result;\n}\n\nfunction getMediaEncoder(\n field: NoReference<ParameterObject>,\n adapters: Record<string, MediaAdapter>,\n) {\n if (!field.content) return;\n\n for (const k in field.content) {\n const adapter = resolveMediaAdapter(k, adapters);\n if (adapter) {\n return (v: unknown) => String(adapter.encode({ body: v }));\n }\n }\n}\n\nfunction serializeSimple(value: NonNullable<unknown>, explode: boolean): string {\n if (Array.isArray(value)) {\n return value.join(',');\n }\n if (typeof value === 'object') {\n return explode\n ? Object.entries(value)\n .map(([k, v]) => `${k}=${v}`)\n .join(',')\n : Object.entries(value).flat().join(',');\n }\n return String(value);\n}\n\nfunction serializePathParameter(\n field: NoReference<ParameterObject>,\n value: NonNullable<unknown>,\n // write output\n output: Record<string, EncodedParameter>,\n): void {\n const { explode = false, name } = field;\n\n switch (field.style) {\n case 'label':\n if (Array.isArray(value)) {\n output[field.name] = {\n value: '.' + value.join(explode ? '.' : ','),\n };\n break;\n }\n if (typeof value === 'object') {\n output[field.name] = {\n value:\n '.' +\n (explode\n ? Object.entries(value)\n .map(([k, v]) => `${k}=${v}`)\n .join('.')\n : Object.entries(value).flat().join(',')),\n };\n break;\n }\n output[field.name] = {\n value: `.${value}`,\n };\n break;\n case 'matrix': {\n const specifier = `;${name}=`;\n\n if (Array.isArray(value)) {\n output[field.name] = {\n value: explode\n ? `${specifier}${value.join(',')}`\n : `${specifier}${value.join(specifier)}`,\n };\n break;\n }\n if (typeof value === 'object') {\n output[field.name] = {\n value: explode\n ? Object.entries(value)\n .map(([k, v]) => `;${k}=${v}`)\n .join('')\n : specifier + Object.entries(value).flat().join(','),\n };\n break;\n }\n\n output[field.name] = {\n value: `${specifier}${value}`,\n };\n break;\n }\n // simple\n default:\n output[field.name] = {\n value: serializeSimple(value, explode),\n };\n }\n}\n\nfunction serializeQueryParameter(\n field: NoReference<ParameterObject>,\n value: NonNullable<unknown>,\n // write output\n output: Record<string, EncodedParameterMultiple>,\n): void {\n const { explode = true } = field;\n\n switch (field.style) {\n case 'spaceDelimited':\n if (!explode && Array.isArray(value)) {\n output[field.name] = {\n values: [value.join(' ')],\n };\n break;\n }\n case 'pipeDelimited':\n if (!explode && Array.isArray(value)) {\n output[field.name] = {\n values: [value.join('|')],\n };\n break;\n }\n case 'deepObject':\n if (!Array.isArray(value) && typeof value === 'object') {\n for (const [k, v] of Object.entries(value)) {\n output[`${field.name}[${k}]`] = {\n // note: the behaviour of nested array is undefined, we do this to avoid edge cases\n values: Array.isArray(v) ? v : [String(v)],\n };\n }\n break;\n }\n // form\n default:\n if (Array.isArray(value)) {\n output[field.name] = {\n values: explode ? value : [value.join(',')],\n };\n break;\n }\n\n if (typeof value === 'object' && explode) {\n for (const [k, v] of Object.entries(value)) {\n output[k] = {\n values: [String(v)],\n };\n }\n break;\n }\n\n if (typeof value === 'object') {\n output[field.name] = {\n values: [Object.entries(value).flat().join(',')],\n };\n break;\n }\n\n output[field.name] = {\n values: [String(value)],\n };\n }\n}\n\nfunction serializeCookieParameter(\n field: NoReference<ParameterObject>,\n value: NonNullable<unknown>,\n // write output\n output: Record<string, EncodedParameter>,\n) {\n const { explode = true } = field;\n\n // form\n if (Array.isArray(value)) {\n output[field.name] = {\n value: explode ? value.map((v) => `${field.name}=${v}`).join('&') : value.join(','),\n };\n } else if (typeof value === 'object' && explode) {\n for (const [k, v] of Object.entries(value)) {\n output[k] = {\n value: String(v),\n };\n }\n } else if (typeof value === 'object') {\n output[field.name] = {\n value: Object.entries(value).flat().join(','),\n };\n } else {\n output[field.name] = {\n value: String(value),\n };\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fumadocs-openapi",
3
- "version": "10.2.3",
3
+ "version": "10.2.4",
4
4
  "description": "Generate MDX docs for your OpenAPI spec",
5
5
  "keywords": [
6
6
  "Docs",
@@ -67,7 +67,7 @@
67
67
  "lucide-react": "^0.562.0",
68
68
  "next-themes": "^0.4.6",
69
69
  "openapi-sampler": "^1.6.2",
70
- "react-hook-form": "^7.69.0",
70
+ "react-hook-form": "^7.70.0",
71
71
  "remark": "^15.0.1",
72
72
  "remark-rehype": "^11.1.2",
73
73
  "tailwind-merge": "^3.4.0",
@@ -82,10 +82,10 @@
82
82
  "json-schema-typed": "^8.0.2",
83
83
  "openapi-types": "^12.1.3",
84
84
  "tailwindcss": "^4.1.18",
85
- "tsdown": "^0.18.3",
85
+ "tsdown": "^0.18.4",
86
86
  "eslint-config-custom": "0.0.0",
87
- "fumadocs-core": "16.4.2",
88
- "fumadocs-ui": "16.4.2",
87
+ "fumadocs-core": "16.4.5",
88
+ "fumadocs-ui": "16.4.5",
89
89
  "tsconfig": "0.0.0"
90
90
  },
91
91
  "peerDependencies": {