fork of hey-api/openapi-ts because I need some additional things

chore: remove unnecessary code

+7 -428
+2 -149
examples/openapi-ts-tanstack-vue-query/src/App.vue
··· 1 1 <script setup lang="ts"> 2 - // import { useMutation, useQuery } from '@tanstack/vue-query' 3 2 import { VueQueryDevtools } from '@tanstack/vue-query-devtools' 4 - import { RouterLink, RouterView } from 'vue-router' 5 - import { addPetMutation } from './client/@tanstack/vue-query.gen' 6 - 7 - const addPet = useMutation({ 8 - ...addPetMutation, 9 - onError: (error) => { 10 - console.log(error) 11 - // setIsRequiredNameError(false); 12 - }, 13 - onSuccess: (data) => { 14 - console.log(data) 15 - // setPet(data); 16 - // setIsRequiredNameError(false); 17 - } 18 - }) 19 - 20 - const mutate = () => { 21 - addPet.mutate({ 22 - body: { 23 - category: { 24 - id: 0, 25 - // name: formData.get('category') as string, 26 - name: 'Cats' 27 - }, 28 - id: 0, 29 - // name: formData.get('name') as string, 30 - name: 'Kitty', 31 - photoUrls: ['string'], 32 - status: 'available', 33 - tags: [ 34 - { 35 - id: 0, 36 - name: 'string' 37 - } 38 - ] 39 - } 40 - }) 41 - } 3 + import { RouterView } from 'vue-router' 42 4 </script> 43 5 44 6 <template> 45 - <header> 46 - <img 47 - alt="Hey API logo" 48 - class="logo" 49 - src="https://heyapi.vercel.app/logo.png" 50 - width="125" 51 - height="125" 52 - /> 53 - 54 - <div class="wrapper"> 55 - <div class="greetings"> 56 - <h1 class="green">@hey-api/openapi-ts 🤝 TanStack Vue Query</h1> 57 - </div> 58 - 59 - <button @click="mutate" type="button">Mutate</button> 60 - <!-- <nav> 61 - <RouterLink to="/">Home</RouterLink> 62 - <RouterLink to="/about">About</RouterLink> 63 - </nav> --> 64 - </div> 65 - </header> 66 - 67 7 <RouterView /> 8 + 68 9 <VueQueryDevtools /> 69 10 </template> 70 - 71 - <style scoped> 72 - header { 73 - line-height: 1.5; 74 - max-height: 100vh; 75 - } 76 - 77 - .logo { 78 - display: block; 79 - margin: 0 auto 2rem; 80 - } 81 - 82 - nav { 83 - width: 100%; 84 - font-size: 12px; 85 - text-align: center; 86 - margin-top: 2rem; 87 - } 88 - 89 - nav a.router-link-exact-active { 90 - color: var(--color-text); 91 - } 92 - 93 - nav a.router-link-exact-active:hover { 94 - background-color: transparent; 95 - } 96 - 97 - nav a { 98 - display: inline-block; 99 - padding: 0 1rem; 100 - border-left: 1px solid var(--color-border); 101 - } 102 - 103 - nav a:first-of-type { 104 - border: 0; 105 - } 106 - 107 - @media (min-width: 1024px) { 108 - header { 109 - display: flex; 110 - place-items: center; 111 - padding-right: calc(var(--section-gap) / 2); 112 - } 113 - 114 - .logo { 115 - margin: 0 2rem 0 0; 116 - } 117 - 118 - header .wrapper { 119 - display: flex; 120 - place-items: flex-start; 121 - flex-wrap: wrap; 122 - } 123 - 124 - nav { 125 - text-align: left; 126 - margin-left: -1rem; 127 - font-size: 1rem; 128 - 129 - padding: 1rem 0; 130 - margin-top: 1rem; 131 - } 132 - } 133 - 134 - /* from HelloWorld component */ 135 - h1 { 136 - font-size: 2rem; 137 - font-weight: 500; 138 - position: relative; 139 - top: -10px; 140 - } 141 - 142 - h3 { 143 - font-size: 1.2rem; 144 - } 145 - 146 - .greetings h1, 147 - .greetings h3 { 148 - text-align: center; 149 - } 150 - 151 - @media (min-width: 1024px) { 152 - .greetings h1, 153 - .greetings h3 { 154 - text-align: left; 155 - } 156 - } 157 - </style>
-88
examples/openapi-ts-tanstack-vue-query/src/components/TheWelcome.vue
··· 1 - <script setup lang="ts"> 2 - import WelcomeItem from './WelcomeItem.vue' 3 - import DocumentationIcon from './icons/IconDocumentation.vue' 4 - import ToolingIcon from './icons/IconTooling.vue' 5 - import EcosystemIcon from './icons/IconEcosystem.vue' 6 - import CommunityIcon from './icons/IconCommunity.vue' 7 - import SupportIcon from './icons/IconSupport.vue' 8 - </script> 9 - 10 - <template> 11 - <WelcomeItem> 12 - <template #icon> 13 - <DocumentationIcon /> 14 - </template> 15 - <template #heading>Documentation</template> 16 - 17 - Vue’s 18 - <a href="https://vuejs.org/" target="_blank" rel="noopener">official documentation</a> 19 - provides you with all information you need to get started. 20 - </WelcomeItem> 21 - 22 - <WelcomeItem> 23 - <template #icon> 24 - <ToolingIcon /> 25 - </template> 26 - <template #heading>Tooling</template> 27 - 28 - This project is served and bundled with 29 - <a href="https://vitejs.dev/guide/features.html" target="_blank" rel="noopener">Vite</a>. The 30 - recommended IDE setup is 31 - <a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a> + 32 - <a href="https://github.com/johnsoncodehk/volar" target="_blank" rel="noopener">Volar</a>. If 33 - you need to test your components and web pages, check out 34 - <a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a> and 35 - <a href="https://on.cypress.io/component" target="_blank" rel="noopener" 36 - >Cypress Component Testing</a 37 - >. 38 - 39 - <br /> 40 - 41 - More instructions are available in <code>README.md</code>. 42 - </WelcomeItem> 43 - 44 - <WelcomeItem> 45 - <template #icon> 46 - <EcosystemIcon /> 47 - </template> 48 - <template #heading>Ecosystem</template> 49 - 50 - Get official tools and libraries for your project: 51 - <a href="https://pinia.vuejs.org/" target="_blank" rel="noopener">Pinia</a>, 52 - <a href="https://router.vuejs.org/" target="_blank" rel="noopener">Vue Router</a>, 53 - <a href="https://test-utils.vuejs.org/" target="_blank" rel="noopener">Vue Test Utils</a>, and 54 - <a href="https://github.com/vuejs/devtools" target="_blank" rel="noopener">Vue Dev Tools</a>. If 55 - you need more resources, we suggest paying 56 - <a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">Awesome Vue</a> 57 - a visit. 58 - </WelcomeItem> 59 - 60 - <WelcomeItem> 61 - <template #icon> 62 - <CommunityIcon /> 63 - </template> 64 - <template #heading>Community</template> 65 - 66 - Got stuck? Ask your question on 67 - <a href="https://chat.vuejs.org" target="_blank" rel="noopener">Vue Land</a>, our official 68 - Discord server, or 69 - <a href="https://stackoverflow.com/questions/tagged/vue.js" target="_blank" rel="noopener" 70 - >StackOverflow</a 71 - >. You should also subscribe to 72 - <a href="https://news.vuejs.org" target="_blank" rel="noopener">our mailing list</a> and follow 73 - the official 74 - <a href="https://twitter.com/vuejs" target="_blank" rel="noopener">@vuejs</a> 75 - twitter account for latest news in the Vue world. 76 - </WelcomeItem> 77 - 78 - <WelcomeItem> 79 - <template #icon> 80 - <SupportIcon /> 81 - </template> 82 - <template #heading>Support Vue</template> 83 - 84 - As an independent project, Vue relies on community backing for its sustainability. You can help 85 - us by 86 - <a href="https://vuejs.org/sponsor/" target="_blank" rel="noopener">becoming a sponsor</a>. 87 - </WelcomeItem> 88 - </template>
-87
examples/openapi-ts-tanstack-vue-query/src/components/WelcomeItem.vue
··· 1 - <template> 2 - <div class="item"> 3 - <i> 4 - <slot name="icon"></slot> 5 - </i> 6 - <div class="details"> 7 - <h3> 8 - <slot name="heading"></slot> 9 - </h3> 10 - <slot></slot> 11 - </div> 12 - </div> 13 - </template> 14 - 15 - <style scoped> 16 - .item { 17 - margin-top: 2rem; 18 - display: flex; 19 - position: relative; 20 - } 21 - 22 - .details { 23 - flex: 1; 24 - margin-left: 1rem; 25 - } 26 - 27 - i { 28 - display: flex; 29 - place-items: center; 30 - place-content: center; 31 - width: 32px; 32 - height: 32px; 33 - 34 - color: var(--color-text); 35 - } 36 - 37 - h3 { 38 - font-size: 1.2rem; 39 - font-weight: 500; 40 - margin-bottom: 0.4rem; 41 - color: var(--color-heading); 42 - } 43 - 44 - @media (min-width: 1024px) { 45 - .item { 46 - margin-top: 0; 47 - padding: 0.4rem 0 1rem calc(var(--section-gap) / 2); 48 - } 49 - 50 - i { 51 - top: calc(50% - 25px); 52 - left: -26px; 53 - position: absolute; 54 - border: 1px solid var(--color-border); 55 - background: var(--color-background); 56 - border-radius: 8px; 57 - width: 50px; 58 - height: 50px; 59 - } 60 - 61 - .item:before { 62 - content: ' '; 63 - border-left: 1px solid var(--color-border); 64 - position: absolute; 65 - left: 0; 66 - bottom: calc(50% + 25px); 67 - height: calc(50% - 25px); 68 - } 69 - 70 - .item:after { 71 - content: ' '; 72 - border-left: 1px solid var(--color-border); 73 - position: absolute; 74 - left: 0; 75 - top: calc(50% + 25px); 76 - height: calc(50% - 25px); 77 - } 78 - 79 - .item:first-of-type:before { 80 - display: none; 81 - } 82 - 83 - .item:last-of-type:after { 84 - display: none; 85 - } 86 - } 87 - </style>
-11
examples/openapi-ts-tanstack-vue-query/src/components/__tests__/HelloWorld.spec.ts
··· 1 - import { mount } from '@vue/test-utils' 2 - import { describe, expect, it } from 'vitest' 3 - 4 - import HelloWorld from '../HelloWorld.vue' 5 - 6 - describe('HelloWorld', () => { 7 - it('renders properly', () => { 8 - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) 9 - expect(wrapper.text()).toContain('Hello Vitest') 10 - }) 11 - })
-7
examples/openapi-ts-tanstack-vue-query/src/components/icons/IconCommunity.vue
··· 1 - <template> 2 - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> 3 - <path 4 - d="M15 4a1 1 0 1 0 0 2V4zm0 11v-1a1 1 0 0 0-1 1h1zm0 4l-.707.707A1 1 0 0 0 16 19h-1zm-4-4l.707-.707A1 1 0 0 0 11 14v1zm-4.707-1.293a1 1 0 0 0-1.414 1.414l1.414-1.414zm-.707.707l-.707-.707.707.707zM9 11v-1a1 1 0 0 0-.707.293L9 11zm-4 0h1a1 1 0 0 0-1-1v1zm0 4H4a1 1 0 0 0 1.707.707L5 15zm10-9h2V4h-2v2zm2 0a1 1 0 0 1 1 1h2a3 3 0 0 0-3-3v2zm1 1v6h2V7h-2zm0 6a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2zm-1 1h-2v2h2v-2zm-3 1v4h2v-4h-2zm1.707 3.293l-4-4-1.414 1.414 4 4 1.414-1.414zM11 14H7v2h4v-2zm-4 0c-.276 0-.525-.111-.707-.293l-1.414 1.414C5.42 15.663 6.172 16 7 16v-2zm-.707 1.121l3.414-3.414-1.414-1.414-3.414 3.414 1.414 1.414zM9 12h4v-2H9v2zm4 0a3 3 0 0 0 3-3h-2a1 1 0 0 1-1 1v2zm3-3V3h-2v6h2zm0-6a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1h2zm-3-3H3v2h10V0zM3 0a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1V0zM0 3v6h2V3H0zm0 6a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1H0zm3 3h2v-2H3v2zm1-1v4h2v-4H4zm1.707 4.707l.586-.586-1.414-1.414-.586.586 1.414 1.414z" 5 - /> 6 - </svg> 7 - </template>
-7
examples/openapi-ts-tanstack-vue-query/src/components/icons/IconDocumentation.vue
··· 1 - <template> 2 - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" fill="currentColor"> 3 - <path 4 - d="M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z" 5 - /> 6 - </svg> 7 - </template>
-7
examples/openapi-ts-tanstack-vue-query/src/components/icons/IconEcosystem.vue
··· 1 - <template> 2 - <svg xmlns="http://www.w3.org/2000/svg" width="18" height="20" fill="currentColor"> 3 - <path 4 - d="M11.447 8.894a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm0 1.789a1 1 0 1 0 .894-1.789l-.894 1.789zM7.447 7.106a1 1 0 1 0-.894 1.789l.894-1.789zM10 9a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0H8zm9.447-5.606a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm2 .789a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zM18 5a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0h-2zm-5.447-4.606a1 1 0 1 0 .894-1.789l-.894 1.789zM9 1l.447-.894a1 1 0 0 0-.894 0L9 1zm-2.447.106a1 1 0 1 0 .894 1.789l-.894-1.789zm-6 3a1 1 0 1 0 .894 1.789L.553 4.106zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zm-2-.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 2.789a1 1 0 1 0 .894-1.789l-.894 1.789zM2 5a1 1 0 1 0-2 0h2zM0 7.5a1 1 0 1 0 2 0H0zm8.553 12.394a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 1a1 1 0 1 0 .894 1.789l-.894-1.789zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zM8 19a1 1 0 1 0 2 0H8zm2-2.5a1 1 0 1 0-2 0h2zm-7.447.394a1 1 0 1 0 .894-1.789l-.894 1.789zM1 15H0a1 1 0 0 0 .553.894L1 15zm1-2.5a1 1 0 1 0-2 0h2zm12.553 2.606a1 1 0 1 0 .894 1.789l-.894-1.789zM17 15l.447.894A1 1 0 0 0 18 15h-1zm1-2.5a1 1 0 1 0-2 0h2zm-7.447-5.394l-2 1 .894 1.789 2-1-.894-1.789zm-1.106 1l-2-1-.894 1.789 2 1 .894-1.789zM8 9v2.5h2V9H8zm8.553-4.894l-2 1 .894 1.789 2-1-.894-1.789zm.894 0l-2-1-.894 1.789 2 1 .894-1.789zM16 5v2.5h2V5h-2zm-4.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zm-2.894-1l-2 1 .894 1.789 2-1L8.553.106zM1.447 5.894l2-1-.894-1.789-2 1 .894 1.789zm-.894 0l2 1 .894-1.789-2-1-.894 1.789zM0 5v2.5h2V5H0zm9.447 13.106l-2-1-.894 1.789 2 1 .894-1.789zm0 1.789l2-1-.894-1.789-2 1 .894 1.789zM10 19v-2.5H8V19h2zm-6.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zM2 15v-2.5H0V15h2zm13.447 1.894l2-1-.894-1.789-2 1 .894 1.789zM18 15v-2.5h-2V15h2z" 5 - /> 6 - </svg> 7 - </template>
-7
examples/openapi-ts-tanstack-vue-query/src/components/icons/IconSupport.vue
··· 1 - <template> 2 - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> 3 - <path 4 - d="M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.666.105 5.5 5.5 0 0 0-.114 7.665L10 18.78l8.39-8.4a5.5 5.5 0 0 0-.114-7.665 5.5 5.5 0 0 0-7.666-.105l-.61.61z" 5 - /> 6 - </svg> 7 - </template>
-19
examples/openapi-ts-tanstack-vue-query/src/components/icons/IconTooling.vue
··· 1 - <!-- This icon is from <https://github.com/Templarian/MaterialDesign>, distributed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) license--> 2 - <template> 3 - <svg 4 - xmlns="http://www.w3.org/2000/svg" 5 - xmlns:xlink="http://www.w3.org/1999/xlink" 6 - aria-hidden="true" 7 - role="img" 8 - class="iconify iconify--mdi" 9 - width="24" 10 - height="24" 11 - preserveAspectRatio="xMidYMid meet" 12 - viewBox="0 0 24 24" 13 - > 14 - <path 15 - d="M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z" 16 - fill="currentColor" 17 - ></path> 18 - </svg> 19 - </template>
+2 -10
examples/openapi-ts-tanstack-vue-query/src/router/index.ts
··· 1 1 import { createRouter, createWebHistory } from 'vue-router' 2 2 3 - import HomeView from '../views/HomeView.vue' 3 + import TanstackExample from '@/views/TanstackExample.vue' 4 4 5 5 const router = createRouter({ 6 6 history: createWebHistory(import.meta.env.BASE_URL), 7 7 routes: [ 8 8 { 9 - component: HomeView, 9 + component: TanstackExample, 10 10 name: 'home', 11 11 path: '/' 12 - }, 13 - { 14 - // route level code-splitting 15 - // this generates a separate chunk (About.[hash].js) for this route 16 - // which is lazy-loaded when the route is visited. 17 - component: () => import('../views/AboutView.vue'), 18 - name: 'about', 19 - path: '/about' 20 12 } 21 13 ] 22 14 })
-12
examples/openapi-ts-tanstack-vue-query/src/stores/counter.ts
··· 1 - import { defineStore } from 'pinia' 2 - import { computed, ref } from 'vue' 3 - 4 - export const useCounterStore = defineStore('counter', () => { 5 - const count = ref(0) 6 - const doubleCount = computed(() => count.value * 2) 7 - function increment() { 8 - count.value++ 9 - } 10 - 11 - return { count, doubleCount, increment } 12 - })
-15
examples/openapi-ts-tanstack-vue-query/src/views/AboutView.vue
··· 1 - <template> 2 - <div class="about"> 3 - <h1>This is an about page</h1> 4 - </div> 5 - </template> 6 - 7 - <style> 8 - @media (min-width: 1024px) { 9 - .about { 10 - min-height: 100vh; 11 - display: flex; 12 - align-items: center; 13 - } 14 - } 15 - </style>
-9
examples/openapi-ts-tanstack-vue-query/src/views/HomeView.vue
··· 1 - <script setup lang="ts"> 2 - import TheWelcome from '../components/TheWelcome.vue' 3 - </script> 4 - 5 - <template> 6 - <main> 7 - <TheWelcome /> 8 - </main> 9 - </template>
+3
examples/openapi-ts-tanstack-vue-query/src/views/TanstackExample.vue
··· 1 + <template> 2 + <div></div> 3 + </template>