Updated zod to v4

This commit is contained in:
Alexis
2025-07-26 23:18:09 +02:00
parent b0975ee293
commit 1d74d6f64b
18 changed files with 162 additions and 93 deletions

View File

@@ -37,7 +37,7 @@
"tailwindcss-animate": "^1.0.7", "tailwindcss-animate": "^1.0.7",
"vue": "^3.5.18", "vue": "^3.5.18",
"vue-router": "^4.5.1", "vue-router": "^4.5.1",
"zod": "^3.25.76" "zod": "^4.0.10"
}, },
"devDependencies": { "devDependencies": {
"@nuxtjs/color-mode": "^3.5.2", "@nuxtjs/color-mode": "^3.5.2",

215
pnpm-lock.yaml generated
View File

@@ -12,8 +12,8 @@ importers:
specifier: ^11.1.11 specifier: ^11.1.11
version: 11.1.11 version: 11.1.11
'@nuxt/content': '@nuxt/content':
specifier: 3.5.1 specifier: 3.6.3
version: 3.5.1(magicast@0.3.5)(typescript@5.8.3) version: 3.6.3(better-sqlite3@11.10.0)(magicast@0.3.5)(vue-component-type-helpers@2.2.12)
'@nuxt/eslint': '@nuxt/eslint':
specifier: ^1.7.1 specifier: ^1.7.1
version: 1.7.1(@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.18)(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(magicast@0.3.5)(typescript@5.8.3)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1)(yaml@2.8.0)) version: 1.7.1(@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.18)(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(magicast@0.3.5)(typescript@5.8.3)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1)(yaml@2.8.0))
@@ -81,8 +81,8 @@ importers:
specifier: ^4.5.1 specifier: ^4.5.1
version: 4.5.1(vue@3.5.18(typescript@5.8.3)) version: 4.5.1(vue@3.5.18(typescript@5.8.3))
zod: zod:
specifier: ^3.25.76 specifier: ^4.0.10
version: 3.25.76 version: 4.0.10
devDependencies: devDependencies:
'@nuxtjs/color-mode': '@nuxtjs/color-mode':
specifier: ^3.5.2 specifier: ^3.5.2
@@ -152,6 +152,10 @@ packages:
'@antfu/install-pkg@1.1.0': '@antfu/install-pkg@1.1.0':
resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
'@apidevtools/json-schema-ref-parser@11.9.3':
resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==}
engines: {node: '>= 16'}
'@apidevtools/json-schema-ref-parser@14.1.1': '@apidevtools/json-schema-ref-parser@14.1.1':
resolution: {integrity: sha512-uGF1YGOzzD50L7HLNWclXmsEhQflw8/zZHIz0/AzkJrKL5r9PceUipZxR/cp/8veTk4TVfdDJLyIwXLjaP5ePg==} resolution: {integrity: sha512-uGF1YGOzzD50L7HLNWclXmsEhQflw8/zZHIz0/AzkJrKL5r9PceUipZxR/cp/8veTk4TVfdDJLyIwXLjaP5ePg==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
@@ -1137,6 +1141,9 @@ packages:
'@jridgewell/trace-mapping@0.3.9': '@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
'@jsdevtools/ono@7.1.3':
resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
'@koa/router@12.0.2': '@koa/router@12.0.2':
resolution: {integrity: sha512-sYcHglGKTxGF+hQ6x67xDfkE9o+NhVlRHBqq6gLywaMc6CojK/5vFZByphdonKinYlMLkEkacm+HEse9HzwgTA==} resolution: {integrity: sha512-sYcHglGKTxGF+hQ6x67xDfkE9o+NhVlRHBqq6gLywaMc6CojK/5vFZByphdonKinYlMLkEkacm+HEse9HzwgTA==}
engines: {node: '>= 12'} engines: {node: '>= 12'}
@@ -1225,17 +1232,20 @@ packages:
engines: {node: ^16.10.0 || >=18.0.0} engines: {node: ^16.10.0 || >=18.0.0}
hasBin: true hasBin: true
'@nuxt/content@3.5.1': '@nuxt/content@3.6.3':
resolution: {integrity: sha512-WmWgxt5gWPSHBzLBSBZHiU9jaOmTWINMAppWxZ43ZHZCfa0GvdR5+0uTto2EGITPrPsf6iYhKKzSfmJa+Xmp2Q==} resolution: {integrity: sha512-AF9/h5YWLXqQi8m1T40lEQLw7zeV98+LdcHRVrrYsWnFKiScRzJhtn+4uzYqUCKx7KPuXK1GszOvUrY3Ke0Q2w==}
peerDependencies: peerDependencies:
'@electric-sql/pglite': '*' '@electric-sql/pglite': '*'
'@libsql/client': '*' '@libsql/client': '*'
better-sqlite3: ^12.0.0
sqlite3: '*' sqlite3: '*'
peerDependenciesMeta: peerDependenciesMeta:
'@electric-sql/pglite': '@electric-sql/pglite':
optional: true optional: true
'@libsql/client': '@libsql/client':
optional: true optional: true
better-sqlite3:
optional: true
sqlite3: sqlite3:
optional: true optional: true
@@ -1941,8 +1951,8 @@ packages:
'@speed-highlight/core@1.2.7': '@speed-highlight/core@1.2.7':
resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==} resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==}
'@sqlite.org/sqlite-wasm@3.49.1-build4': '@sqlite.org/sqlite-wasm@3.50.1-build1':
resolution: {integrity: sha512-TBbTTWhiI6v2CT7J1hij5shx+RGL4iICprVGYhO+LKv5Nbn3NeJPWCY8kMKL5vA6b33NeWkBk4dy6RFbNh3jBw==} resolution: {integrity: sha512-yH4M/SHN98NibniIwTVk6rwTJjy7n39l7zwWY3u+qsfZBGTi4lC1uEl2NDvIlkzsFtfCBvHBJJFJ1iuU3UzzEQ==}
hasBin: true hasBin: true
'@stylistic/eslint-plugin-js@4.4.1': '@stylistic/eslint-plugin-js@4.4.1':
@@ -2100,6 +2110,9 @@ packages:
'@types/json-schema@7.0.15': '@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
'@types/lodash@4.17.20':
resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==}
'@types/luxon@3.6.2': '@types/luxon@3.6.2':
resolution: {integrity: sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==} resolution: {integrity: sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==}
@@ -2330,14 +2343,14 @@ packages:
vite: ^5.0.0 || ^6.0.0 vite: ^5.0.0 || ^6.0.0
vue: ^3.2.25 vue: ^3.2.25
'@volar/language-core@2.4.15': '@volar/language-core@2.4.20':
resolution: {integrity: sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==} resolution: {integrity: sha512-dRDF1G33xaAIDqR6+mXUIjXYdu9vzSxlMGfMEwBxQsfY/JMUEXSpLTR057oTKlUQ2nIvCmP9k94A8h8z2VrNSA==}
'@volar/source-map@2.4.15': '@volar/source-map@2.4.20':
resolution: {integrity: sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==} resolution: {integrity: sha512-mVjmFQH8mC+nUaVwmbxoYUy8cww+abaO8dWzqPUjilsavjxH0jCJ3Mp8HFuHsdewZs2c+SP+EO7hCd8Z92whJg==}
'@volar/typescript@2.4.15': '@volar/typescript@2.4.20':
resolution: {integrity: sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==} resolution: {integrity: sha512-Oc4DczPwQyXcVbd+5RsNEqX6ia0+w3p+klwdZQ6ZKhFjWoBP9PCPQYlKYRi/tDemWphW93P/Vv13vcE9I9D2GQ==}
'@vue-macros/common@1.16.1': '@vue-macros/common@1.16.1':
resolution: {integrity: sha512-Pn/AWMTjoMYuquepLZP813BIcq8DTZiNCoaceuNlvaYuOTd8DqBZWc5u0uOMQZMInwME1mdSmmBAcTluiV9Jtg==} resolution: {integrity: sha512-Pn/AWMTjoMYuquepLZP813BIcq8DTZiNCoaceuNlvaYuOTd8DqBZWc5u0uOMQZMInwME1mdSmmBAcTluiV9Jtg==}
@@ -2405,8 +2418,8 @@ packages:
'@vue/devtools-shared@7.7.7': '@vue/devtools-shared@7.7.7':
resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==}
'@vue/language-core@2.2.12': '@vue/language-core@3.0.4':
resolution: {integrity: sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==} resolution: {integrity: sha512-BvueED4LfBCSNH66eeUQk37MQCb7hjdezzGgxniM0LbriW53AJIyLorgshAtStmjfsAuOCcTl/c1b+nz/ye8xQ==}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
peerDependenciesMeta: peerDependenciesMeta:
@@ -2566,8 +2579,8 @@ packages:
ajv@6.12.6: ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
alien-signals@1.0.13: alien-signals@2.0.5:
resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==} resolution: {integrity: sha512-PdJB6+06nUNAClInE3Dweq7/2xVAYM64vvvS1IHVHSJmgeOtEdrAGyp7Z2oJtYm0B342/Exd2NT0uMJaThcjLQ==}
ansi-regex@5.0.1: ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
@@ -4219,6 +4232,15 @@ packages:
json-schema-to-typescript-lite@15.0.0: json-schema-to-typescript-lite@15.0.0:
resolution: {integrity: sha512-5mMORSQm9oTLyjM4mWnyNBi2T042Fhg1/0gCIB6X8U/LVpM2A+Nmj2yEyArqVouDmFThDxpEXcnTgSrjkGJRFA==} resolution: {integrity: sha512-5mMORSQm9oTLyjM4mWnyNBi2T042Fhg1/0gCIB6X8U/LVpM2A+Nmj2yEyArqVouDmFThDxpEXcnTgSrjkGJRFA==}
json-schema-to-typescript@15.0.4:
resolution: {integrity: sha512-Su9oK8DR4xCmDsLlyvadkXzX6+GGXJpbhwoLtOGArAG61dvbW4YQmSEno2y66ahpIdmLMg6YUf/QHLgiwvkrHQ==}
engines: {node: '>=16.0.0'}
hasBin: true
json-schema-to-zod@2.6.1:
resolution: {integrity: sha512-uiHmWH21h9FjKJkRBntfVGTLpYlCZ1n98D0izIlByqQLqpmkQpNTBtfbdP04Na6+43lgsvrShFh2uWLkQDKJuQ==}
hasBin: true
json-schema-traverse@0.4.1: json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
@@ -4658,6 +4680,9 @@ packages:
engines: {node: '>=18.0.0'} engines: {node: '>=18.0.0'}
hasBin: true hasBin: true
minimark@0.2.0:
resolution: {integrity: sha512-AmtWU9pO0C2/3AM2pikaVhJ//8E5rOpJ7+ioFQfjIq+wCsBeuZoxPd97hBFZ9qrI7DMHZudwGH3r8A7BMnsIew==}
minimatch@10.0.3: minimatch@10.0.3:
resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
engines: {node: 20 || >=22} engines: {node: 20 || >=22}
@@ -4850,8 +4875,8 @@ packages:
nth-check@2.1.1: nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
nuxt-component-meta@0.11.0: nuxt-component-meta@0.12.2:
resolution: {integrity: sha512-tF+BUToseiljrQXEg/zbqDZvr/2RyEGKzj2PzVF0pR9iHTQPEkQ+8Yt91Qo3mU3crttxTP39GJEgN5npeFZ+1w==} resolution: {integrity: sha512-cosF2jUd47TnN7Y8PsRfzdsVomHpVxVjZZIDgyaPqe+wnl2Ys5LXMUt+K3CpXrJrGRFlDRP6ux47Ukevf9juVQ==}
hasBin: true hasBin: true
nuxt@3.17.7: nuxt@3.17.7:
@@ -6388,13 +6413,11 @@ packages:
vue-bundle-renderer@2.1.1: vue-bundle-renderer@2.1.1:
resolution: {integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==} resolution: {integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==}
vue-component-meta@2.2.12: vue-component-meta@3.0.4:
resolution: {integrity: sha512-dQU6/obNSNbennJ1xd+rhDid4g3vQro+9qUBBIg8HMZH2Zs1jTpkFNxuQ3z77bOlU+ew08Qck9sbYkdSePr0Pw==} resolution: {integrity: sha512-0pGpYThdzW+3qUNXX/3N26Ds7P4mCDiM+47aXeDmsb78lPce36RyN+G+7CiMHrL8nHII/+OqFE9iGcUFthyVZA==}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
peerDependenciesMeta: vue-component-type-helpers: 3.0.1
typescript:
optional: true
vue-component-type-helpers@2.2.12: vue-component-type-helpers@2.2.12:
resolution: {integrity: sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==} resolution: {integrity: sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==}
@@ -6616,18 +6639,15 @@ packages:
peerDependencies: peerDependencies:
zod: ^3.24.1 zod: ^3.24.1
zod-to-ts@1.2.0:
resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==}
peerDependencies:
typescript: ^4.9.4 || ^5.0.2
zod: ^3
zod@3.22.3: zod@3.22.3:
resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==}
zod@3.25.76: zod@3.25.76:
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
zod@4.0.10:
resolution: {integrity: sha512-3vB+UU3/VmLL2lvwcY/4RV2i9z/YU0DTV/tDuYjrwmx5WeJ7hwy+rGEEx8glHp6Yxw7ibRbKSaIFBgReRPe5KA==}
zwitch@2.0.4: zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -6645,6 +6665,12 @@ snapshots:
package-manager-detector: 1.3.0 package-manager-detector: 1.3.0
tinyexec: 1.0.1 tinyexec: 1.0.1
'@apidevtools/json-schema-ref-parser@11.9.3':
dependencies:
'@jsdevtools/ono': 7.1.3
'@types/json-schema': 7.0.15
js-yaml: 4.1.0
'@apidevtools/json-schema-ref-parser@14.1.1': '@apidevtools/json-schema-ref-parser@14.1.1':
dependencies: dependencies:
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
@@ -7452,6 +7478,8 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2 '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.4 '@jridgewell/sourcemap-codec': 1.5.4
'@jsdevtools/ono@7.1.3': {}
'@koa/router@12.0.2': '@koa/router@12.0.2':
dependencies: dependencies:
debug: 4.4.1 debug: 4.4.1
@@ -7639,23 +7667,22 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- magicast - magicast
'@nuxt/content@3.5.1(magicast@0.3.5)(typescript@5.8.3)': '@nuxt/content@3.6.3(better-sqlite3@11.10.0)(magicast@0.3.5)(vue-component-type-helpers@2.2.12)':
dependencies: dependencies:
'@nuxt/kit': 3.17.7(magicast@0.3.5) '@nuxt/kit': 3.17.7(magicast@0.3.5)
'@nuxtjs/mdc': 0.17.0(magicast@0.3.5) '@nuxtjs/mdc': 0.17.0(magicast@0.3.5)
'@shikijs/langs': 3.8.1 '@shikijs/langs': 3.8.1
'@sqlite.org/sqlite-wasm': 3.49.1-build4 '@sqlite.org/sqlite-wasm': 3.50.1-build1
'@webcontainer/env': 1.1.1 '@webcontainer/env': 1.1.1
better-sqlite3: 11.10.0
c12: 3.1.0(magicast@0.3.5) c12: 3.1.0(magicast@0.3.5)
chokidar: 4.0.3 chokidar: 4.0.3
consola: 3.4.2 consola: 3.4.2
db0: 0.3.2(better-sqlite3@11.10.0) db0: 0.3.2(better-sqlite3@11.10.0)
defu: 6.1.4 defu: 6.1.4
destr: 2.0.5 destr: 2.0.5
fast-glob: 3.3.3
git-url-parse: 16.1.0 git-url-parse: 16.1.0
jiti: 2.5.1 jiti: 2.5.1
json-schema-to-typescript: 15.0.4
knitwork: 1.2.0 knitwork: 1.2.0
listhen: 1.9.0 listhen: 1.9.0
mdast-util-to-hast: 13.2.0 mdast-util-to-hast: 13.2.0
@@ -7666,8 +7693,10 @@ snapshots:
micromark-util-resolve-all: 2.0.1 micromark-util-resolve-all: 2.0.1
micromark-util-sanitize-uri: 2.0.1 micromark-util-sanitize-uri: 2.0.1
micromatch: 4.0.8 micromatch: 4.0.8
minimark: 0.2.0
minimatch: 10.0.3 minimatch: 10.0.3
nuxt-component-meta: 0.11.0(magicast@0.3.5) nuxt-component-meta: 0.12.2(magicast@0.3.5)(vue-component-type-helpers@2.2.12)
nypm: 0.6.0
ohash: 2.0.11 ohash: 2.0.11
pathe: 2.0.3 pathe: 2.0.3
pkg-types: 2.2.0 pkg-types: 2.2.0
@@ -7677,6 +7706,7 @@ snapshots:
slugify: 1.6.6 slugify: 1.6.6
socket.io-client: 4.8.1 socket.io-client: 4.8.1
tar: 7.4.3 tar: 7.4.3
tinyglobby: 0.2.14
ufo: 1.6.1 ufo: 1.6.1
unified: 11.0.5 unified: 11.0.5
unist-util-stringify-position: 4.0.0 unist-util-stringify-position: 4.0.0
@@ -7684,15 +7714,16 @@ snapshots:
ws: 8.18.3 ws: 8.18.3
zod: 3.25.76 zod: 3.25.76
zod-to-json-schema: 3.24.6(zod@3.25.76) zod-to-json-schema: 3.24.6(zod@3.25.76)
zod-to-ts: 1.2.0(typescript@5.8.3)(zod@3.25.76) optionalDependencies:
better-sqlite3: 11.10.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
- drizzle-orm - drizzle-orm
- magicast - magicast
- mysql2 - mysql2
- supports-color - supports-color
- typescript
- utf-8-validate - utf-8-validate
- vue-component-type-helpers
'@nuxt/devalue@2.0.2': {} '@nuxt/devalue@2.0.2': {}
@@ -8554,7 +8585,7 @@ snapshots:
'@speed-highlight/core@1.2.7': {} '@speed-highlight/core@1.2.7': {}
'@sqlite.org/sqlite-wasm@3.49.1-build4': {} '@sqlite.org/sqlite-wasm@3.50.1-build1': {}
'@stylistic/eslint-plugin-js@4.4.1(eslint@9.32.0(jiti@2.5.1))': '@stylistic/eslint-plugin-js@4.4.1(eslint@9.32.0(jiti@2.5.1))':
dependencies: dependencies:
@@ -8719,6 +8750,8 @@ snapshots:
'@types/json-schema@7.0.15': {} '@types/json-schema@7.0.15': {}
'@types/lodash@4.17.20': {}
'@types/luxon@3.6.2': {} '@types/luxon@3.6.2': {}
'@types/mdast@4.0.4': '@types/mdast@4.0.4':
@@ -8957,15 +8990,15 @@ snapshots:
vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1)(yaml@2.8.0) vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1)(yaml@2.8.0)
vue: 3.5.18(typescript@5.8.3) vue: 3.5.18(typescript@5.8.3)
'@volar/language-core@2.4.15': '@volar/language-core@2.4.20':
dependencies: dependencies:
'@volar/source-map': 2.4.15 '@volar/source-map': 2.4.20
'@volar/source-map@2.4.15': {} '@volar/source-map@2.4.20': {}
'@volar/typescript@2.4.15': '@volar/typescript@2.4.20':
dependencies: dependencies:
'@volar/language-core': 2.4.15 '@volar/language-core': 2.4.20
path-browserify: 1.0.1 path-browserify: 1.0.1
vscode-uri: 3.1.0 vscode-uri: 3.1.0
@@ -9086,16 +9119,16 @@ snapshots:
dependencies: dependencies:
rfdc: 1.4.1 rfdc: 1.4.1
'@vue/language-core@2.2.12(typescript@5.8.3)': '@vue/language-core@3.0.4(typescript@5.8.3)':
dependencies: dependencies:
'@volar/language-core': 2.4.15 '@volar/language-core': 2.4.20
'@vue/compiler-dom': 3.5.18 '@vue/compiler-dom': 3.5.18
'@vue/compiler-vue2': 2.7.16 '@vue/compiler-vue2': 2.7.16
'@vue/shared': 3.5.18 '@vue/shared': 3.5.18
alien-signals: 1.0.13 alien-signals: 2.0.5
minimatch: 9.0.5
muggle-string: 0.4.1 muggle-string: 0.4.1
path-browserify: 1.0.1 path-browserify: 1.0.1
picomatch: 4.0.3
optionalDependencies: optionalDependencies:
typescript: 5.8.3 typescript: 5.8.3
@@ -9241,7 +9274,7 @@ snapshots:
json-schema-traverse: 0.4.1 json-schema-traverse: 0.4.1
uri-js: 4.4.1 uri-js: 4.4.1
alien-signals@1.0.13: {} alien-signals@2.0.5: {}
ansi-regex@5.0.1: {} ansi-regex@5.0.1: {}
@@ -9345,6 +9378,7 @@ snapshots:
dependencies: dependencies:
bindings: 1.5.0 bindings: 1.5.0
prebuild-install: 7.1.3 prebuild-install: 7.1.3
optional: true
bin-links@5.0.0: bin-links@5.0.0:
dependencies: dependencies:
@@ -9367,6 +9401,7 @@ snapshots:
buffer: 5.7.1 buffer: 5.7.1
inherits: 2.0.4 inherits: 2.0.4
readable-stream: 3.6.2 readable-stream: 3.6.2
optional: true
blake3-wasm@2.1.5: {} blake3-wasm@2.1.5: {}
@@ -9402,6 +9437,7 @@ snapshots:
dependencies: dependencies:
base64-js: 1.5.1 base64-js: 1.5.1
ieee754: 1.2.1 ieee754: 1.2.1
optional: true
buffer@6.0.3: buffer@6.0.3:
dependencies: dependencies:
@@ -9505,7 +9541,8 @@ snapshots:
dependencies: dependencies:
readdirp: 4.1.2 readdirp: 4.1.2
chownr@1.1.4: {} chownr@1.1.4:
optional: true
chownr@3.0.0: {} chownr@3.0.0: {}
@@ -9783,10 +9820,12 @@ snapshots:
decompress-response@6.0.0: decompress-response@6.0.0:
dependencies: dependencies:
mimic-response: 3.1.0 mimic-response: 3.1.0
optional: true
deep-equal@1.0.1: {} deep-equal@1.0.1: {}
deep-extend@0.6.0: {} deep-extend@0.6.0:
optional: true
deep-is@0.1.4: {} deep-is@0.1.4: {}
@@ -10335,7 +10374,8 @@ snapshots:
exit-hook@2.2.1: {} exit-hook@2.2.1: {}
expand-template@2.0.3: {} expand-template@2.0.3:
optional: true
exsolve@1.0.7: {} exsolve@1.0.7: {}
@@ -10448,7 +10488,8 @@ snapshots:
fresh@2.0.0: {} fresh@2.0.0: {}
fs-constants@1.0.0: {} fs-constants@1.0.0:
optional: true
fs-extra@9.1.0: fs-extra@9.1.0:
dependencies: dependencies:
@@ -10523,7 +10564,8 @@ snapshots:
dependencies: dependencies:
git-up: 8.1.1 git-up: 8.1.1
github-from-package@0.0.0: {} github-from-package@0.0.0:
optional: true
github-slugger@2.0.0: {} github-slugger@2.0.0: {}
@@ -10843,7 +10885,8 @@ snapshots:
inherits@2.0.4: {} inherits@2.0.4: {}
ini@1.3.8: {} ini@1.3.8:
optional: true
ini@4.1.1: {} ini@4.1.1: {}
@@ -11012,6 +11055,20 @@ snapshots:
'@apidevtools/json-schema-ref-parser': 14.1.1 '@apidevtools/json-schema-ref-parser': 14.1.1
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
json-schema-to-typescript@15.0.4:
dependencies:
'@apidevtools/json-schema-ref-parser': 11.9.3
'@types/json-schema': 7.0.15
'@types/lodash': 4.17.20
is-glob: 4.0.3
js-yaml: 4.1.0
lodash: 4.17.21
minimist: 1.2.8
prettier: 3.6.2
tinyglobby: 0.2.14
json-schema-to-zod@2.6.1: {}
json-schema-traverse@0.4.1: {} json-schema-traverse@0.4.1: {}
json-stable-stringify-without-jsonify@1.0.1: {} json-stable-stringify-without-jsonify@1.0.1: {}
@@ -11616,7 +11673,8 @@ snapshots:
mimic-fn@4.0.0: {} mimic-fn@4.0.0: {}
mimic-response@3.1.0: {} mimic-response@3.1.0:
optional: true
min-indent@1.0.1: {} min-indent@1.0.1: {}
@@ -11638,6 +11696,8 @@ snapshots:
- bufferutil - bufferutil
- utf-8-validate - utf-8-validate
minimark@0.2.0: {}
minimatch@10.0.3: minimatch@10.0.3:
dependencies: dependencies:
'@isaacs/brace-expansion': 5.0.0 '@isaacs/brace-expansion': 5.0.0
@@ -11664,7 +11724,8 @@ snapshots:
mitt@3.0.1: {} mitt@3.0.1: {}
mkdirp-classic@0.5.3: {} mkdirp-classic@0.5.3:
optional: true
mkdirp@3.0.1: {} mkdirp@3.0.1: {}
@@ -11700,7 +11761,8 @@ snapshots:
nanotar@0.2.0: {} nanotar@0.2.0: {}
napi-build-utils@2.0.0: {} napi-build-utils@2.0.0:
optional: true
napi-postinstall@0.3.2: {} napi-postinstall@0.3.2: {}
@@ -11826,6 +11888,7 @@ snapshots:
node-abi@3.75.0: node-abi@3.75.0:
dependencies: dependencies:
semver: 7.7.2 semver: 7.7.2
optional: true
node-addon-api@7.1.1: {} node-addon-api@7.1.1: {}
@@ -11895,18 +11958,20 @@ snapshots:
dependencies: dependencies:
boolbase: 1.0.0 boolbase: 1.0.0
nuxt-component-meta@0.11.0(magicast@0.3.5): nuxt-component-meta@0.12.2(magicast@0.3.5)(vue-component-type-helpers@2.2.12):
dependencies: dependencies:
'@nuxt/kit': 3.17.7(magicast@0.3.5) '@nuxt/kit': 4.0.1(magicast@0.3.5)
citty: 0.1.6 citty: 0.1.6
json-schema-to-zod: 2.6.1
mlly: 1.7.4 mlly: 1.7.4
ohash: 2.0.11 ohash: 2.0.11
scule: 1.3.0 scule: 1.3.0
typescript: 5.8.3 typescript: 5.8.3
ufo: 1.6.1 ufo: 1.6.1
vue-component-meta: 2.2.12(typescript@5.8.3) vue-component-meta: 3.0.4(typescript@5.8.3)(vue-component-type-helpers@2.2.12)
transitivePeerDependencies: transitivePeerDependencies:
- magicast - magicast
- vue-component-type-helpers
nuxt@3.17.7(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.1.0)(@vue/compiler-sfc@3.5.18)(better-sqlite3@11.10.0)(db0@0.3.2(better-sqlite3@11.10.0))(eslint@9.32.0(jiti@2.5.1))(ioredis@5.6.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.45.3)(sass@1.89.2)(terser@5.43.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1)(yaml@2.8.0))(yaml@2.8.0): nuxt@3.17.7(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.1.0)(@vue/compiler-sfc@3.5.18)(better-sqlite3@11.10.0)(db0@0.3.2(better-sqlite3@11.10.0))(eslint@9.32.0(jiti@2.5.1))(ioredis@5.6.1)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.45.3)(sass@1.89.2)(terser@5.43.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1)(yaml@2.8.0))(yaml@2.8.0):
dependencies: dependencies:
@@ -12526,6 +12591,7 @@ snapshots:
simple-get: 4.0.1 simple-get: 4.0.1
tar-fs: 2.1.3 tar-fs: 2.1.3
tunnel-agent: 0.6.0 tunnel-agent: 0.6.0
optional: true
precinct@12.2.0: precinct@12.2.0:
dependencies: dependencies:
@@ -12627,6 +12693,7 @@ snapshots:
ini: 1.3.8 ini: 1.3.8
minimist: 1.2.8 minimist: 1.2.8
strip-json-comments: 2.0.1 strip-json-comments: 2.0.1
optional: true
read-cache@1.0.0: read-cache@1.0.0:
dependencies: dependencies:
@@ -13058,13 +13125,15 @@ snapshots:
signal-exit@4.1.0: {} signal-exit@4.1.0: {}
simple-concat@1.0.1: {} simple-concat@1.0.1:
optional: true
simple-get@4.0.1: simple-get@4.0.1:
dependencies: dependencies:
decompress-response: 6.0.0 decompress-response: 6.0.0
once: 1.4.0 once: 1.4.0
simple-concat: 1.0.1 simple-concat: 1.0.1
optional: true
simple-git@3.28.0: simple-git@3.28.0:
dependencies: dependencies:
@@ -13212,7 +13281,8 @@ snapshots:
dependencies: dependencies:
min-indent: 1.0.1 min-indent: 1.0.1
strip-json-comments@2.0.1: {} strip-json-comments@2.0.1:
optional: true
strip-json-comments@3.1.1: {} strip-json-comments@3.1.1: {}
@@ -13332,6 +13402,7 @@ snapshots:
mkdirp-classic: 0.5.3 mkdirp-classic: 0.5.3
pump: 3.0.3 pump: 3.0.3
tar-stream: 2.2.0 tar-stream: 2.2.0
optional: true
tar-stream@2.2.0: tar-stream@2.2.0:
dependencies: dependencies:
@@ -13340,6 +13411,7 @@ snapshots:
fs-constants: 1.0.0 fs-constants: 1.0.0
inherits: 2.0.4 inherits: 2.0.4
readable-stream: 3.6.2 readable-stream: 3.6.2
optional: true
tar-stream@3.1.7: tar-stream@3.1.7:
dependencies: dependencies:
@@ -13429,6 +13501,7 @@ snapshots:
tunnel-agent@0.6.0: tunnel-agent@0.6.0:
dependencies: dependencies:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
optional: true
type-check@0.4.0: type-check@0.4.0:
dependencies: dependencies:
@@ -13813,14 +13886,13 @@ snapshots:
dependencies: dependencies:
ufo: 1.6.1 ufo: 1.6.1
vue-component-meta@2.2.12(typescript@5.8.3): vue-component-meta@3.0.4(typescript@5.8.3)(vue-component-type-helpers@2.2.12):
dependencies: dependencies:
'@volar/typescript': 2.4.15 '@volar/typescript': 2.4.20
'@vue/language-core': 2.2.12(typescript@5.8.3) '@vue/language-core': 3.0.4(typescript@5.8.3)
path-browserify: 1.0.1 path-browserify: 1.0.1
vue-component-type-helpers: 2.2.12
optionalDependencies:
typescript: 5.8.3 typescript: 5.8.3
vue-component-type-helpers: 2.2.12
vue-component-type-helpers@2.2.12: {} vue-component-type-helpers@2.2.12: {}
@@ -14032,13 +14104,10 @@ snapshots:
dependencies: dependencies:
zod: 3.25.76 zod: 3.25.76
zod-to-ts@1.2.0(typescript@5.8.3)(zod@3.25.76):
dependencies:
typescript: 5.8.3
zod: 3.25.76
zod@3.22.3: {} zod@3.22.3: {}
zod@3.25.76: {} zod@3.25.76: {}
zod@4.0.10: {}
zwitch@2.0.4: {} zwitch@2.0.4: {}

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import type { Calendar } from "~/models/CalendarConfig" import type { Calendar } from "~/models/CalendarConfig"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -4,7 +4,7 @@ import type { Calendar} from "~/models/CalendarConfig";
import { postCalendarSchema } from "~/models/CalendarConfig" import { postCalendarSchema } from "~/models/CalendarConfig"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import type { Category } from "~/models/Category" import type { Category } from "~/models/Category"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -4,7 +4,7 @@ import type { Category} from "~/models/Category";
import { categorySchema } from "~/models/Category" import { categorySchema } from "~/models/Category"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,8 +3,8 @@ import { z } from "zod"
import type { Category } from "~/models/Category"; import type { Category } from "~/models/Category";
const querySchema = z.object({ const querySchema = z.object({
id: z.number({ coerce: true }).positive().int().optional(), id: z.coerce.number().positive().int().optional(),
calendarId: z.number({ coerce: true }).positive().int() calendarId: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import type { CalendarEvent } from "~/models/CalendarEvent" import type { CalendarEvent } from "~/models/CalendarEvent"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import { postEventBodySchema, type CalendarEvent } from "~/models/CalendarEvent" import { postEventBodySchema, type CalendarEvent } from "~/models/CalendarEvent"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { z } from "zod"
import type { CalendarEvent } from "~/models/CalendarEvent"; import type { CalendarEvent } from "~/models/CalendarEvent";
const querySchema = z.object({ const querySchema = z.object({
calendarId: z.number({ coerce: true }).positive().int() calendarId: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import type { CalendarMonth } from "~/models/CalendarMonth" import type { CalendarMonth } from "~/models/CalendarMonth"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import { calendarMonthSchema, type CalendarMonth } from "~/models/CalendarMonth" import { calendarMonthSchema, type CalendarMonth } from "~/models/CalendarMonth"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { z } from "zod"
import type { CalendarMonth } from "~/models/CalendarMonth"; import type { CalendarMonth } from "~/models/CalendarMonth";
const querySchema = z.object({ const querySchema = z.object({
calendarId: z.number({ coerce: true }).positive().int() calendarId: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,9 +3,9 @@ import { z } from "zod"
import type { Calendar } from "~/models/CalendarConfig"; import type { Calendar } from "~/models/CalendarConfig";
const querySchema = z.object({ const querySchema = z.object({
id: z.number({ coerce: true }).positive().int().optional(), id: z.coerce.number().positive().int().optional(),
shortId: z.string().optional(), shortId: z.string().optional(),
full: z.boolean({ coerce: true }).optional() full: z.coerce.boolean().optional()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server";
import type { Character } from "~/models/Characters"; import type { Character } from "~/models/Characters";
const querySchema = z.object({ const querySchema = z.object({
worldId: z.number({ coerce: true }).positive().int() worldId: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import type { World } from "~/models/World" import type { World } from "~/models/World"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,7 +3,7 @@ import { serverSupabaseClient } from "#supabase/server"
import { postWorldSchema, type World } from "~/models/World" import { postWorldSchema, type World } from "~/models/World"
const paramsSchema = z.object({ const paramsSchema = z.object({
id: z.number({ coerce: true }).positive().int() id: z.coerce.number().positive().int()
}) })
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {

View File

@@ -3,8 +3,8 @@ import { serverSupabaseClient } from "#supabase/server";
import type { World } from "~/models/World"; import type { World } from "~/models/World";
const querySchema = z.object({ const querySchema = z.object({
id: z.number({ coerce: true }).positive().int().optional(), id: z.coerce.number().positive().int().optional(),
full: z.boolean({ coerce: true }).optional(), full: z.coerce.boolean().optional(),
gmId: z.string().optional(), gmId: z.string().optional(),
}) })