\n\nWhich looks nice, and is copyable in the left-hand side, however the right hand side syas [object Obvject] etc...\n\n---------------\n\nWhen specifying strings of json as the filters like this\n\n```\n 'filter': [\n '{\"limit\":10,\"order\":[\"timestamp DESC\"]}',\n '{\"where\":{\"timestamp\":{\"between\":[\"2024-12-01T00:00:00.000Z\",\"2024-12-01T23:59:59.999Z\"]}},\"order\":[\"timestamp DESC\"]}',\n '{\"where\":{\"correlationId\":\"abc123\"}}',\n ],\n```\n\nWe get an ugly left-hand side with escaping, and a nice right-hand side placeholder (no extra escaping)\n\n\u003Cimg width=\"1509\" height=\"220\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/a411efc1-f555-4d69-abb3-0dab9ee25450\" />\n\nUltimately in one of these cases, I would like the left-hand side to have a copyable string without escaping of \", and in the right-hand side it still be shown nicely in the placeholder.",[],301,"enzonotario","vitepress-openapi","open","Consistently handle example json escaping","2025-08-28T15:58:55Z","https://github.com/enzonotario/vitepress-openapi/issues/301",0.8836112,{"description":3180,"labels":3181,"number":3185,"owner":3172,"repository":3173,"state":3186,"title":3187,"updated_at":3188,"url":3189,"score":3190},"### Current behavior\n\nWhen calling the `getParsedSpec()` method of an `useOpenapi` instance, I get the following error:\r\n\r\n```\r\nUncaught (in promise) TypeError: Cannot read properties of null (reading 'get')\r\n at P8e (vitepress-openapi.es.js:68526:53)\r\n at r (vitepress-openapi.es.js:68540:18)\r\n at r (vitepress-openapi.es.js:68542:18)\r\n at r (vitepress-openapi.es.js:68537:18)\r\n at r (vitepress-openapi.es.js:68542:18)\r\n at r (vitepress-openapi.es.js:68542:18)\r\n at r (vitepress-openapi.es.js:68542:18)\r\n at r (vitepress-openapi.es.js:68542:18)\r\n at I8e (vitepress-openapi.es.js:68546:10)\r\n at Object.i [as getParsedSpec] (vitepress-openapi.es.js:68894:22)\r\n```\n\n### Desired behavior\n\n_No response_\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\nThe open api json can be found here: https://api-docs.tacticaldefense.software/openapi.json\r\n\r\nMinimal code to reproduce:\r\n\r\n```\r\nimport { theme, useOpenapi } from 'vitepress-openapi'\r\nimport spec from 'openapi.json' assert { type: 'json' }\r\n\r\nconst openapi = useOpenapi({ spec })\r\nopenapi.getParsedSpec();\r\n```\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\nI noticed that `@trojs/openapi-dereference` is currently on v0.2.4, but your packages.json file includes 0.2.3... maybe as easy as upgrading the version?",[3182],{"name":3183,"color":3184},"bug","d73a4a",78,"closed","Cannot read properties of null (reading 'get')","2024-10-10T00:51:16Z","https://github.com/enzonotario/vitepress-openapi/issues/78",0.80973583,{"description":3192,"labels":3193,"number":3197,"owner":3172,"repository":3173,"state":3186,"title":3198,"updated_at":3199,"url":3200,"score":3201},"### What would you like?\n\nsupport openapi yml file\n\n### Why is this needed?\n\n_No response_\n\n### How could it be implemented?\n\n_No response_\n\n### Other information\n\n_No response_",[3194],{"name":3195,"color":3196},"enhancement","a2eeef",204,"support openapi yml file","2025-04-19T22:22:53Z","https://github.com/enzonotario/vitepress-openapi/issues/204",0.81248784,{"description":3203,"labels":3204,"number":3206,"owner":3172,"repository":3173,"state":3186,"title":3207,"updated_at":3208,"url":3209,"score":3210},"### Current behavior\n\nI noticed that in the latest version, after executing onSubmit in OAPlayground.vue, the Content-Type header in the POST request observed in the browser console is incorrectly parsed as: `application/json, application/json`\n\nThis issue causes all POST endpoints to fail.\n\n### Desired behavior\n\nManually correcting the Content-Type header to a valid format resolves the issue:\n\n```\ncurl 'https://stoplight.io/mocks/enzonotario/argentine-rock/122547792/api/v1/artists/1/albums' \\\n -H 'accept: */*' \\\n -H 'accept-language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7' \\\n -H 'authorization: Bearer Token' \\\n -H 'content-type: application/json' \\\n -H 'origin: https://vitepress-openapi.vercel.app' \\\n -H 'priority: u=1, i' \\\n -H 'referer: https://vitepress-openapi.vercel.app/' \\\n -H 'sec-ch-ua: \"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Microsoft Edge\";v=\"134\"' \\\n -H 'sec-ch-ua-mobile: ?0' \\\n -H 'sec-ch-ua-platform: \"macOS\"' \\\n -H 'sec-fetch-dest: empty' \\\n -H 'sec-fetch-mode: cors' \\\n -H 'sec-fetch-site: cross-site' \\\n -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0' \\\n --data-raw '{\"id\":1,\"name\":\"La Máquina de Hacer Pájaros\",\"year\":1976,\"image\":\"https://cdn.rock-legends.com/photos/la-maquina.jpg\"}'\n```\n\nReturns the expected response:\n```\n{\n \"id\": 1,\n \"name\": \"La Máquina de Hacer Pájaros\",\n \"year\": 1976,\n \"image\": \"https://cdn.rock-legends.com/photos/la-maquina.jpg\"\n}\n```\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\nReproduction Steps\n\nThis can be verified by copying the generated cURL request. For example, sending a request via the sandbox at:\nhttps://vitepress-openapi.vercel.app/sandbox/#createArtist\n\nThe generated request:\n```\ncurl 'https://stoplight.io/mocks/enzonotario/argentine-rock/122547792/api/v1/artists/1/albums' \\\n -H 'accept: */*' \\\n -H 'accept-language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7' \\\n -H 'authorization: Bearer Token' \\\n -H 'content-type: application/json, application/json' \\\n -H 'origin: https://vitepress-openapi.vercel.app' \\\n -H 'priority: u=1, i' \\\n -H 'referer: https://vitepress-openapi.vercel.app/' \\\n -H 'sec-ch-ua: \"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Microsoft Edge\";v=\"134\"' \\\n -H 'sec-ch-ua-mobile: ?0' \\\n -H 'sec-ch-ua-platform: \"macOS\"' \\\n -H 'sec-fetch-dest: empty' \\\n -H 'sec-fetch-mode: cors' \\\n -H 'sec-fetch-site: cross-site' \\\n -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0' \\\n --data-raw '{\"id\":1,\"name\":\"La Máquina de Hacer Pájaros\",\"year\":1976,\"image\":\"https://cdn.rock-legends.com/photos/la-maquina.jpg\"}'\n```\nResults in a 500 Internal Server Error.\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\nEnsure that the Content-Type header is set correctly in POST requests to avoid duplicate values.",[3205],{"name":3183,"color":3184},192,"Incorrect Content-Type Parsing in POST Requests Causes Guaranteed Failure","2025-04-04T22:07:17Z","https://github.com/enzonotario/vitepress-openapi/issues/192",0.83393496,{"description":3212,"labels":3213,"number":3215,"owner":3172,"repository":3173,"state":3186,"title":3216,"updated_at":3217,"url":3218,"score":3219},"openapi spec allows flagging deprecated routes, such as\r\n\r\n```\r\n/pet/findByTags:\r\n get:\r\n deprecated: true\r\n```\r\n\r\nThis should be rendered in some way in the resulting component.\r\n\r\n",[3214],{"name":3195,"color":3196},43,"Support deprecated routes","2024-09-18T12:40:15Z","https://github.com/enzonotario/vitepress-openapi/issues/43",0.8391846,{"description":3221,"labels":3222,"number":1028,"owner":3172,"repository":3173,"state":3186,"title":3224,"updated_at":3225,"url":3226,"score":3227},"Currently I have something like this on a single markdown page...\r\n\r\n```\r\n\u003Cscript setup lang=\"ts\">\r\nimport { useRoute, useData } from 'vitepress'\r\nimport { useSidebar, useOpenapi } from 'vitepress-theme-openapi'\r\nimport spec from '../swagger/v2.json' with { type: 'json' }\r\nconst openapi = useOpenapi()\r\nopenapi.setSpec(spec)\r\nconst route = useRoute()\r\nconst { isDark } = useData()\r\n\u003C/script>\r\n\r\n\u003COAOperation operationId=\"post-users-login\" method=\"post\" :isDark=\"isDark\" />\r\n\u003COAOperation operationId=\"post-users-refreshToken\" method=\"post\" :isDark=\"isDark\" />\r\n```\r\n\r\nFurther down the page I would like to include a component rendered from the `../swagger/v1.json` spec, however I believe with the current setup that will not be possible.\r\n\r\nUltimately I think this will require passing the openapi into the components? :)",[3223],{"name":3195,"color":3196},"Enable rendering components for multiple specs on a single page.","2024-09-28T15:44:23Z","https://github.com/enzonotario/vitepress-openapi/issues/21",0.8458671,{"description":3229,"labels":3230,"number":3233,"owner":3172,"repository":3173,"state":3186,"title":3234,"updated_at":3235,"url":3236,"score":3237},"Example\r\n\r\n\r\n\r\n200,400,401,429,500\r\n\r\nPerhaps it could / should be a drop down if there are more than 4?",[3231,3232],{"name":3183,"color":3184},{"name":3195,"color":3196},46,"Too many response codes results in element overlap","2024-09-20T01:51:07Z","https://github.com/enzonotario/vitepress-openapi/issues/46",0.8524158,{"description":3239,"labels":3240,"number":1229,"owner":3172,"repository":3173,"state":3186,"title":3244,"updated_at":3245,"url":3246,"score":3247},"### What would you like?\n\nCurrently, When typing in the search box, no api get shown even if they should match the query\r\n\n\n### Why is this needed?\n\n_No response_\n\n### How could it be implemented?\n\n_No response_\n\n### Other information\n\n_No response_",[3241],{"name":3242,"color":3243},"question","d876e3","api should appear in search","2024-11-04T00:50:21Z","https://github.com/enzonotario/vitepress-openapi/issues/115",0.8556744,{"description":3249,"labels":3250,"number":104,"owner":3172,"repository":3252,"state":3186,"title":3253,"updated_at":3254,"url":3255,"score":3256},"El api esta devolviendo tna null cuando en la pagina es 73,5\r\n\r\n {\r\n \"entidad\": \"BANCO COMAFI SOCIEDAD ANONIMA\",\r\n \"logo\": \"https://www.bcra.gob.ar/Imagenes/logosbancos1/00299.jpg\",\r\n \"tnaClientes\": null,\r\n \"tnaNoClientes\": null,\r\n \"enlace\": \"https://plazofijodigital.comafi.com.ar/#/simulator/form\"\r\n },",[3251],{"name":3183,"color":3184},"esjs-argentina-datos-api","Error en tasa banco comafi","2024-03-12T15:50:38Z","https://github.com/enzonotario/esjs-argentina-datos-api/issues/3",0.8580365,{"description":3258,"labels":3259,"number":3261,"owner":3172,"repository":3173,"state":3186,"title":3262,"updated_at":3263,"url":3264,"score":3265},"### What would you like?\n\nThere is another package that allows for adding icons to code groups. This is commonly found on other VitePress sites when displaying commands or programming languages. It appears that the code group relies on there being a data-title attribute for it to display icons.\n\nThe code group icon package is called: vitepress-plugin-group-icons\nhttps://github.com/yuyinws/vitepress-plugin-group-icons\n\nYou can see it in use here on the main VitePress site: https://vitepress.dev/guide/getting-started in the installation section.\n\nI should note that the package seems to look for file extensions when displaying language icons but I used custom icons in my implementation so that it could work with the vitepress-openapi implementation.\n\n\n\n### Why is this needed?\n\nIt may be common for people to utilize code group icons elsewhere in their documentation and it would be helpful for the openapi generated pages to be able to display icons in those code groups as well.\n\n### How could it be implemented?\n\nI believe this could be achieved by changing the OACodeSamples component and adding sample.lang in a data-title attribute added to the label. I don't believe this would impact functionality for people not using code group icons but would allow those that are, compatibility when combining it with custom icons.\n\n*I should note that there appears to be some oddities that deal with the capitalization, or lack thereof for the value in the data-title attribute, but I plan to bring that up to the code group icon package maintainer when I can narrow down the issue.\n\n\n\n### Other information\n\n_No response_",[3260],{"name":3195,"color":3196},198,"Request to add data-title attribute to code block group labels","2025-04-13T18:53:02Z","https://github.com/enzonotario/vitepress-openapi/issues/198",0.85851526,["Reactive",3267],{},["Set"],["ShallowReactive",3270],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fXxxejxSu1HTF_ZFFrVvhMx8H8cLLmbk-V0BsYoSavJc":-1},"/enzonotario/esjs-dolar-api/34"]