mirror of
https://github.com/ArthurDanjou/trpc-nuxt.git
synced 2026-01-14 12:14:40 +01:00
feat: remove custom async data error handler
This commit is contained in:
@@ -16,6 +16,6 @@
|
||||
"zod": "^3.19.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nuxt": "3.0.0-rc.12"
|
||||
"nuxt": "3.0.0-rc.13"
|
||||
}
|
||||
}
|
||||
|
||||
304
pnpm-lock.yaml
generated
304
pnpm-lock.yaml
generated
@@ -51,7 +51,7 @@ importers:
|
||||
specifiers:
|
||||
'@trpc/client': 10.0.0-rc.3
|
||||
'@trpc/server': 10.0.0-rc.3
|
||||
nuxt: 3.0.0-rc.12
|
||||
nuxt: 3.0.0-rc.13
|
||||
superjson: ^1.11.0
|
||||
trpc-nuxt: workspace:*
|
||||
zod: ^3.19.1
|
||||
@@ -62,7 +62,7 @@ importers:
|
||||
trpc-nuxt: link:..
|
||||
zod: 3.19.1
|
||||
devDependencies:
|
||||
nuxt: 3.0.0-rc.12
|
||||
nuxt: 3.0.0-rc.13
|
||||
|
||||
packages:
|
||||
|
||||
@@ -1025,32 +1025,6 @@ packages:
|
||||
resolution: {integrity: sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==}
|
||||
dev: true
|
||||
|
||||
/@nuxt/kit/3.0.0-rc.12:
|
||||
resolution: {integrity: sha512-d/6SeNVL1OPdru5aKjjUIWIwqIjbYN/VYGCrZs5gddkzJ5202DsMxyn2rs/ZyT8+oBbbVTYcCK6M+G0945mQdA==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0}
|
||||
dependencies:
|
||||
'@nuxt/schema': 3.0.0-rc.12
|
||||
c12: 0.2.13
|
||||
consola: 2.15.3
|
||||
defu: 6.1.0
|
||||
globby: 13.1.2
|
||||
hash-sum: 2.0.0
|
||||
ignore: 5.2.0
|
||||
jiti: 1.16.0
|
||||
knitwork: 0.1.2
|
||||
lodash.template: 4.5.0
|
||||
mlly: 0.5.16
|
||||
pathe: 0.3.9
|
||||
pkg-types: 0.3.6
|
||||
scule: 0.3.2
|
||||
semver: 7.3.8
|
||||
unctx: 2.0.2
|
||||
unimport: 0.6.8
|
||||
untyped: 0.5.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@nuxt/kit/3.0.0-rc.13:
|
||||
resolution: {integrity: sha512-FYEnMRm4LvIUxygmBX/p5kykzSeBleUqCOfxervQFONkz5PVVYXEp1DDBINGR3xk01yuPElENuf+l59iEQ4q7g==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
|
||||
@@ -1120,26 +1094,6 @@ packages:
|
||||
- webpack
|
||||
dev: true
|
||||
|
||||
/@nuxt/schema/3.0.0-rc.12:
|
||||
resolution: {integrity: sha512-LZFy8a+5tZKtqTHvUJrlCjZXmKPSmar4S/p3SpjzgIbc4jDuWzA5r4voUODozd2/bCnYxfYyNtOgtbJSJtDUrw==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0}
|
||||
dependencies:
|
||||
c12: 0.2.13
|
||||
create-require: 1.1.1
|
||||
defu: 6.1.0
|
||||
jiti: 1.16.0
|
||||
pathe: 0.3.9
|
||||
pkg-types: 0.3.6
|
||||
postcss-import-resolver: 2.0.0
|
||||
scule: 0.3.2
|
||||
std-env: 3.3.0
|
||||
ufo: 0.8.6
|
||||
unimport: 0.6.8
|
||||
untyped: 0.5.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@nuxt/schema/3.0.0-rc.13:
|
||||
resolution: {integrity: sha512-yfNPvUkOQ1/8aKHX8OtU7stANAaZ3B8Rty7HPuo1KHv0R3wNqlRdoRXwFuf4D+jcsS+R5Kccr7i8YYD5IG56Iw==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
|
||||
@@ -1215,59 +1169,6 @@ packages:
|
||||
resolution: {integrity: sha512-oFjUfn9r9U4vNljd5uU08+6M3mF6OSxZfCrfqJQaN5TtqVTcZmZFzOZ4H866Lq+Eaugv/Vte225kuaZCB3FR/g==}
|
||||
dev: true
|
||||
|
||||
/@nuxt/vite-builder/3.0.0-rc.12_vue@3.2.41:
|
||||
resolution: {integrity: sha512-1jzEg2+Er9fzir8NvVnHAU8N4xda8IVzmqQQblKDWDE4v+zD5QLwk4Fp+l9Y74BZgH7pTogVSvEA01WdNQQUlw==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0}
|
||||
peerDependencies:
|
||||
vue: ^3.2.41
|
||||
dependencies:
|
||||
'@nuxt/kit': 3.0.0-rc.12
|
||||
'@rollup/plugin-replace': 5.0.1_rollup@2.79.1
|
||||
'@vitejs/plugin-vue': 3.2.0_vite@3.1.8+vue@3.2.41
|
||||
'@vitejs/plugin-vue-jsx': 2.1.0_vite@3.1.8+vue@3.2.41
|
||||
autoprefixer: 10.4.13_postcss@8.4.18
|
||||
chokidar: 3.5.3
|
||||
cssnano: 5.1.14_postcss@8.4.18
|
||||
defu: 6.1.0
|
||||
esbuild: 0.15.13
|
||||
escape-string-regexp: 5.0.0
|
||||
estree-walker: 3.0.1
|
||||
externality: 0.2.2
|
||||
fs-extra: 10.1.0
|
||||
get-port-please: 2.6.1
|
||||
h3: 0.8.6
|
||||
knitwork: 0.1.2
|
||||
magic-string: 0.26.7
|
||||
mlly: 0.5.16
|
||||
ohash: 0.1.5
|
||||
pathe: 0.3.9
|
||||
perfect-debounce: 0.1.3
|
||||
pkg-types: 0.3.6
|
||||
postcss: 8.4.18
|
||||
postcss-import: 15.0.0_postcss@8.4.18
|
||||
postcss-url: 10.1.3_postcss@8.4.18
|
||||
rollup: 2.79.1
|
||||
rollup-plugin-visualizer: 5.8.3_rollup@2.79.1
|
||||
ufo: 0.8.6
|
||||
unplugin: 0.10.2
|
||||
vite: 3.1.8
|
||||
vite-node: 0.24.5
|
||||
vite-plugin-checker: 0.5.1_vite@3.1.8
|
||||
vue: 3.2.41
|
||||
vue-bundle-renderer: 0.4.4
|
||||
transitivePeerDependencies:
|
||||
- eslint
|
||||
- less
|
||||
- sass
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
- typescript
|
||||
- vls
|
||||
- vti
|
||||
dev: true
|
||||
|
||||
/@nuxt/vite-builder/3.0.0-rc.13_5phhjlepx6uce62n7km5sehevq:
|
||||
resolution: {integrity: sha512-Smd+3WtTkJxmOBP5E3D23oF1PHzDWz37uzKvBhRxUguHN83r2/mJJM2QU9ivmujMaotYU19Gn3UONBCWLvWimA==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
|
||||
@@ -1842,14 +1743,6 @@ packages:
|
||||
rollup: 2.79.1
|
||||
dev: true
|
||||
|
||||
/@rollup/pluginutils/4.2.1:
|
||||
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
|
||||
engines: {node: '>= 8.0.0'}
|
||||
dependencies:
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/@rollup/pluginutils/5.0.2:
|
||||
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
@@ -2213,22 +2106,6 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-vue-jsx/2.1.0_vite@3.1.8+vue@3.2.41:
|
||||
resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
vite: ^3.0.0
|
||||
vue: ^3.0.0
|
||||
dependencies:
|
||||
'@babel/core': 7.19.6
|
||||
'@babel/plugin-transform-typescript': 7.20.0_@babel+core@7.19.6
|
||||
'@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6
|
||||
vite: 3.1.8
|
||||
vue: 3.2.41
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.2+vue@3.2.41:
|
||||
resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
@@ -2245,17 +2122,6 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-vue/3.2.0_vite@3.1.8+vue@3.2.41:
|
||||
resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
vite: ^3.0.0
|
||||
vue: ^3.2.25
|
||||
dependencies:
|
||||
vite: 3.1.8
|
||||
vue: 3.2.41
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-vue/3.2.0_vite@3.2.2+vue@3.2.41:
|
||||
resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
@@ -7106,14 +6972,6 @@ packages:
|
||||
boolbase: 1.0.0
|
||||
dev: true
|
||||
|
||||
/nuxi/3.0.0-rc.12:
|
||||
resolution: {integrity: sha512-jOnWe/Gf2/5Zj4wCFDHpmBPDDHZFMGrhqK5C+8jhG2RHNJy+YOlZETwAgoXPjmH0Hhb441UDQhZHKg5+yyKhbw==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0}
|
||||
hasBin: true
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
dev: true
|
||||
|
||||
/nuxi/3.0.0-rc.13:
|
||||
resolution: {integrity: sha512-Uh+Vk6mj0Zm5QttwdNFGQG0tjCXNjpc4e9NLRWpCjCCfBk5owBo2axxoeqfqIZMs6vUuCQCa7sLXQuoumyVjcQ==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
|
||||
@@ -7122,71 +6980,6 @@ packages:
|
||||
fsevents: 2.3.2
|
||||
dev: true
|
||||
|
||||
/nuxt/3.0.0-rc.12:
|
||||
resolution: {integrity: sha512-VhSod1u/w+C3VWsagTd5Prnsjk/VxPRt/bbADhUz3l0zxxajHRhHFX4xZSJWNgzsakducDqhn7N1pY6Ukko9kg==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@nuxt/devalue': 2.0.0
|
||||
'@nuxt/kit': 3.0.0-rc.12
|
||||
'@nuxt/schema': 3.0.0-rc.12
|
||||
'@nuxt/telemetry': 2.1.6
|
||||
'@nuxt/ui-templates': 0.4.0
|
||||
'@nuxt/vite-builder': 3.0.0-rc.12_vue@3.2.41
|
||||
'@vue/reactivity': 3.2.41
|
||||
'@vue/shared': 3.2.41
|
||||
'@vueuse/head': 1.0.0-rc.14_vue@3.2.41
|
||||
chokidar: 3.5.3
|
||||
cookie-es: 0.5.0
|
||||
defu: 6.1.0
|
||||
destr: 1.2.0
|
||||
escape-string-regexp: 5.0.0
|
||||
fs-extra: 10.1.0
|
||||
globby: 13.1.2
|
||||
h3: 0.8.6
|
||||
hash-sum: 2.0.0
|
||||
hookable: 5.4.1
|
||||
knitwork: 0.1.2
|
||||
magic-string: 0.26.7
|
||||
mlly: 0.5.16
|
||||
nitropack: 0.6.1
|
||||
nuxi: 3.0.0-rc.12
|
||||
ohash: 0.1.5
|
||||
ohmyfetch: 0.4.21
|
||||
pathe: 0.3.9
|
||||
perfect-debounce: 0.1.3
|
||||
scule: 0.3.2
|
||||
strip-literal: 0.4.2
|
||||
ufo: 0.8.6
|
||||
ultrahtml: 0.4.0
|
||||
unctx: 2.0.2
|
||||
unenv: 0.6.2
|
||||
unimport: 0.6.8
|
||||
unplugin: 0.10.2
|
||||
untyped: 0.5.0
|
||||
vue: 3.2.41
|
||||
vue-bundle-renderer: 0.4.4
|
||||
vue-devtools-stub: 0.1.0
|
||||
vue-router: 4.1.6_vue@3.2.41
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- bufferutil
|
||||
- debug
|
||||
- encoding
|
||||
- eslint
|
||||
- less
|
||||
- rollup
|
||||
- sass
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
- typescript
|
||||
- utf-8-validate
|
||||
- vls
|
||||
- vti
|
||||
dev: true
|
||||
|
||||
/nuxt/3.0.0-rc.13:
|
||||
resolution: {integrity: sha512-iqAwrYzFuKK5HuJRa1XQ/K2WUYdOI7JjxYLWAJyAejzvUO/+Pj87fhqozzymlJxrdKM53UqBfur+KN+DE0nRzw==}
|
||||
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
|
||||
@@ -8644,14 +8437,6 @@ packages:
|
||||
estree-walker: 0.6.1
|
||||
dev: true
|
||||
|
||||
/rollup/2.78.1:
|
||||
resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
hasBin: true
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
dev: true
|
||||
|
||||
/rollup/2.79.1:
|
||||
resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
@@ -9618,21 +9403,6 @@ packages:
|
||||
vfile: 5.3.5
|
||||
dev: true
|
||||
|
||||
/unimport/0.6.8:
|
||||
resolution: {integrity: sha512-MWkaPYvN0j+6jfEuiVFhfmy+aOtgAP11CozSbu/I3Cx+8ybjXIueB7GVlKofHabtjzSlPeAvWKJSFjHWsG2JaA==}
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 4.2.1
|
||||
escape-string-regexp: 5.0.0
|
||||
fast-glob: 3.2.12
|
||||
local-pkg: 0.4.2
|
||||
magic-string: 0.26.7
|
||||
mlly: 0.5.16
|
||||
pathe: 0.3.9
|
||||
scule: 0.3.2
|
||||
strip-literal: 0.4.2
|
||||
unplugin: 0.9.6
|
||||
dev: true
|
||||
|
||||
/unimport/0.7.0:
|
||||
resolution: {integrity: sha512-Cr0whz4toYVid3JHlni/uThwavDVVCk6Zw0Gxnol1c7DprTA+Isr4T+asO6rDGkhkgV7r3vSdSs5Ym8F15JA+w==}
|
||||
dependencies:
|
||||
@@ -9918,43 +9688,6 @@ packages:
|
||||
vscode-uri: 3.0.6
|
||||
dev: true
|
||||
|
||||
/vite-plugin-checker/0.5.1_vite@3.1.8:
|
||||
resolution: {integrity: sha512-NFiO1PyK9yGuaeSnJ7Whw9fnxLc1AlELnZoyFURnauBYhbIkx9n+PmIXxSFUuC9iFyACtbJQUAEuQi6yHs2Adg==}
|
||||
engines: {node: '>=14.16'}
|
||||
peerDependencies:
|
||||
eslint: '>=7'
|
||||
typescript: '*'
|
||||
vite: ^2.0.0 || ^3.0.0-0
|
||||
vls: '*'
|
||||
vti: '*'
|
||||
peerDependenciesMeta:
|
||||
eslint:
|
||||
optional: true
|
||||
typescript:
|
||||
optional: true
|
||||
vls:
|
||||
optional: true
|
||||
vti:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.18.6
|
||||
ansi-escapes: 4.3.2
|
||||
chalk: 4.1.2
|
||||
chokidar: 3.5.3
|
||||
commander: 8.3.0
|
||||
fast-glob: 3.2.12
|
||||
lodash.debounce: 4.0.8
|
||||
lodash.pick: 4.4.0
|
||||
npm-run-path: 4.0.1
|
||||
strip-ansi: 6.0.1
|
||||
tiny-invariant: 1.3.1
|
||||
vite: 3.1.8
|
||||
vscode-languageclient: 7.0.0
|
||||
vscode-languageserver: 7.0.0
|
||||
vscode-languageserver-textdocument: 1.0.7
|
||||
vscode-uri: 3.0.6
|
||||
dev: true
|
||||
|
||||
/vite-plugin-checker/0.5.1_vite@3.2.2:
|
||||
resolution: {integrity: sha512-NFiO1PyK9yGuaeSnJ7Whw9fnxLc1AlELnZoyFURnauBYhbIkx9n+PmIXxSFUuC9iFyACtbJQUAEuQi6yHs2Adg==}
|
||||
engines: {node: '>=14.16'}
|
||||
@@ -9992,33 +9725,6 @@ packages:
|
||||
vscode-uri: 3.0.6
|
||||
dev: true
|
||||
|
||||
/vite/3.1.8:
|
||||
resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
less: '*'
|
||||
sass: '*'
|
||||
stylus: '*'
|
||||
terser: ^5.4.0
|
||||
peerDependenciesMeta:
|
||||
less:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
dependencies:
|
||||
esbuild: 0.15.13
|
||||
postcss: 8.4.18
|
||||
resolve: 1.22.1
|
||||
rollup: 2.78.1
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
dev: true
|
||||
|
||||
/vite/3.2.2:
|
||||
resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
@@ -10089,12 +9795,6 @@ packages:
|
||||
resolution: {integrity: sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ==}
|
||||
dev: true
|
||||
|
||||
/vue-bundle-renderer/0.4.4:
|
||||
resolution: {integrity: sha512-kjJWPayzup8QFynETVpoYD0gDM2nbwN//bpt86hAHpZ+FPdTJFDQqKpouSLQgb2XjkOYM1uB/yc6Zb3iCvS7Gw==}
|
||||
dependencies:
|
||||
ufo: 0.8.6
|
||||
dev: true
|
||||
|
||||
/vue-bundle-renderer/0.5.0:
|
||||
resolution: {integrity: sha512-EZBp4TZ5oamgg+JL7kih5xO/qLCPlC6Dz4BH9ymoNP6xM2urZazql3PCAdztgnzBkOgmoOegEw4kp7Hgp8qaaA==}
|
||||
dependencies:
|
||||
|
||||
@@ -9,7 +9,7 @@ import { getCurrentInstance, onScopeDispose } from 'vue'
|
||||
import { nanoid } from 'nanoid'
|
||||
import type { DecoratedProcedureRecord } from './types'
|
||||
// @ts-expect-error: Nuxt auto-imports
|
||||
import { useAsyncData, useState } from '#imports'
|
||||
import { useAsyncData } from '#imports'
|
||||
|
||||
/**
|
||||
* Calculates the key used for `useAsyncData` call
|
||||
@@ -49,33 +49,13 @@ function createNuxtProxyDecoration<TRouter extends AnyRouter>(name: string, clie
|
||||
controller = typeof AbortController !== 'undefined' ? new AbortController() : {} as AbortController
|
||||
}
|
||||
|
||||
return useAsyncDataWithError(queryKey, () => (client as any)[path][lastArg](input, {
|
||||
return useAsyncData(queryKey, () => (client as any)[path][lastArg](input, {
|
||||
signal: controller?.signal,
|
||||
...trpc,
|
||||
}), asyncDataOptions)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom useAsyncData to add server error to client
|
||||
*/
|
||||
async function useAsyncDataWithError(queryKey: string, cb: any, asyncDataOptions: any) {
|
||||
const serverError = useState(`error-${queryKey}`, () => null)
|
||||
const { error, data, ...rest } = await useAsyncData(queryKey, cb, asyncDataOptions)
|
||||
|
||||
if (error.value && !serverError.value)
|
||||
serverError.value = error.value as any
|
||||
|
||||
if (data.value)
|
||||
serverError.value = null
|
||||
|
||||
return {
|
||||
...rest,
|
||||
data,
|
||||
error: serverError,
|
||||
}
|
||||
}
|
||||
|
||||
export function createTRPCNuxtProxyClient<TRouter extends AnyRouter>(opts: CreateTRPCClientOptions<TRouter>) {
|
||||
const client = createTRPCProxyClient(opts)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user