Revert "finish interview"

This reverts commit a5006183b9.
This commit is contained in:
Interview
2025-07-14 11:07:27 +08:00
parent a5006183b9
commit 9bc44131bb
2 changed files with 79 additions and 107 deletions

147
hono/package-lock.json generated
View File

@ -17,8 +17,8 @@
}, },
"node_modules/@esbuild/aix-ppc64": { "node_modules/@esbuild/aix-ppc64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz",
"integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", "integrity": "sha1-FksZEi4u1U+FRp353qmN2wHV554=",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@ -34,8 +34,8 @@
}, },
"node_modules/@esbuild/android-arm": { "node_modules/@esbuild/android-arm": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/android-arm/-/android-arm-0.25.6.tgz",
"integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", "integrity": "sha1-TOsPQBE+mGEWm+g+KmcMJg3SNP8=",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -51,8 +51,8 @@
}, },
"node_modules/@esbuild/android-arm64": { "node_modules/@esbuild/android-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz",
"integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", "integrity": "sha1-j1Oefe+Ej3ZPZDJZjlHMOCD946U=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -68,8 +68,8 @@
}, },
"node_modules/@esbuild/android-x64": { "node_modules/@esbuild/android-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/android-x64/-/android-x64-0.25.6.tgz",
"integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", "integrity": "sha1-rU8oAFdiLCX+mFwImZRDoZXcY6g=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -85,8 +85,8 @@
}, },
"node_modules/@esbuild/darwin-arm64": { "node_modules/@esbuild/darwin-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz",
"integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", "integrity": "sha1-0fBAJzlrPWr8lrrNDRMWff2fAfc=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -102,8 +102,8 @@
}, },
"node_modules/@esbuild/darwin-x64": { "node_modules/@esbuild/darwin-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz",
"integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", "integrity": "sha1-K0ps7beZ9jV1jXgy11sjdyyO9o8=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -119,8 +119,8 @@
}, },
"node_modules/@esbuild/freebsd-arm64": { "node_modules/@esbuild/freebsd-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz",
"integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", "integrity": "sha1-omJmzJfdeNw8Pz1niLG4NpexBV0=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -136,8 +136,8 @@
}, },
"node_modules/@esbuild/freebsd-x64": { "node_modules/@esbuild/freebsd-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz",
"integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", "integrity": "sha1-n+uOgmc1xWjr/ZSFmyKj+7apvdI=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -153,8 +153,8 @@
}, },
"node_modules/@esbuild/linux-arm": { "node_modules/@esbuild/linux-arm": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz",
"integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", "integrity": "sha1-1uLNjvMZZGgGXUHxP6KmGqpyZEo=",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -170,8 +170,8 @@
}, },
"node_modules/@esbuild/linux-arm64": { "node_modules/@esbuild/linux-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz",
"integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", "integrity": "sha1-wHy+2OJJ9MKOfzJ4HTb8RpUpPSg=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -187,8 +187,8 @@
}, },
"node_modules/@esbuild/linux-ia32": { "node_modules/@esbuild/linux-ia32": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz",
"integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", "integrity": "sha1-Pmgr1HxO3cxLjxOT38giJILxeZc=",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -204,8 +204,8 @@
}, },
"node_modules/@esbuild/linux-loong64": { "node_modules/@esbuild/linux-loong64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz",
"integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", "integrity": "sha1-Rz9eouUjmcCK1M1rEubbzd1jDwU=",
"cpu": [ "cpu": [
"loong64" "loong64"
], ],
@ -221,8 +221,8 @@
}, },
"node_modules/@esbuild/linux-mips64el": { "node_modules/@esbuild/linux-mips64el": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz",
"integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", "integrity": "sha1-mWBjHJ/WFgWwk5wZBDrPTvK1Fxg=",
"cpu": [ "cpu": [
"mips64el" "mips64el"
], ],
@ -238,8 +238,8 @@
}, },
"node_modules/@esbuild/linux-ppc64": { "node_modules/@esbuild/linux-ppc64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz",
"integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", "integrity": "sha1-R3y/i7BKoDS5TzYsMshrXDHbjT4=",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@ -255,8 +255,8 @@
}, },
"node_modules/@esbuild/linux-riscv64": { "node_modules/@esbuild/linux-riscv64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz",
"integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", "integrity": "sha1-vNtGyPuOk6p3npoKYs1KwA3KxiY=",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -272,8 +272,8 @@
}, },
"node_modules/@esbuild/linux-s390x": { "node_modules/@esbuild/linux-s390x": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz",
"integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", "integrity": "sha1-9BLPX98K6oSf9Rxz/YF8bAI01G0=",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@ -289,8 +289,8 @@
}, },
"node_modules/@esbuild/linux-x64": { "node_modules/@esbuild/linux-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz",
"integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", "integrity": "sha1-2CM8CbXrwMhVcS3F7rg1o6M0EQg=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -306,8 +306,8 @@
}, },
"node_modules/@esbuild/netbsd-arm64": { "node_modules/@esbuild/netbsd-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz",
"integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", "integrity": "sha1-9Rro3RR0Fy5zz5y6+KONHHLdjxo=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -323,8 +323,8 @@
}, },
"node_modules/@esbuild/netbsd-x64": { "node_modules/@esbuild/netbsd-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz",
"integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", "integrity": "sha1-omdThgLA5QqFjPQdz+XYA2+NqOc=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -340,8 +340,8 @@
}, },
"node_modules/@esbuild/openbsd-arm64": { "node_modules/@esbuild/openbsd-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz",
"integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", "integrity": "sha1-pRvmDEJbhcIWR5uMNErQURY18tI=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -357,8 +357,8 @@
}, },
"node_modules/@esbuild/openbsd-x64": { "node_modules/@esbuild/openbsd-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz",
"integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", "integrity": "sha1-fkp0PHP3VWLikiO6adC+bJyQCNo=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -374,8 +374,8 @@
}, },
"node_modules/@esbuild/openharmony-arm64": { "node_modules/@esbuild/openharmony-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz",
"integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", "integrity": "sha1-IIelAo84eHkVTr9Eve36+hdoLls=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -391,8 +391,8 @@
}, },
"node_modules/@esbuild/sunos-x64": { "node_modules/@esbuild/sunos-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz",
"integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", "integrity": "sha1-VlMfhhcj6g3GKDoruINzBCI8tzY=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -408,8 +408,8 @@
}, },
"node_modules/@esbuild/win32-arm64": { "node_modules/@esbuild/win32-arm64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz",
"integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", "integrity": "sha1-9JifAz3qxvrjI6z/WHZPqLwBQ24=",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -425,8 +425,8 @@
}, },
"node_modules/@esbuild/win32-ia32": { "node_modules/@esbuild/win32-ia32": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz",
"integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", "integrity": "sha1-smDp33Hjk56zOSUHbTn2POx9FSU=",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -442,8 +442,8 @@
}, },
"node_modules/@esbuild/win32-x64": { "node_modules/@esbuild/win32-x64": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz",
"integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", "integrity": "sha1-Qnbt1cEFvCixHGofdvudKdG9JcE=",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -459,8 +459,8 @@
}, },
"node_modules/@hono/node-server": { "node_modules/@hono/node-server": {
"version": "1.15.0", "version": "1.15.0",
"resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.15.0.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@hono/node-server/-/node-server-1.15.0.tgz",
"integrity": "sha512-MjmK4l5N4dQpZ9OSWN0tCj7ejuc7WvuWMzSKtc89bnknJykAeHxzRigXBTYZk85H6Awrii6RM59iUiUluApu2A==", "integrity": "sha1-MGw8UNkYHv9yadQ/rL9YyXUIBak=",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=18.14.1" "node": ">=18.14.1"
@ -470,9 +470,9 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.19.6", "version": "20.19.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/@types/node/-/node-20.19.4.tgz",
"integrity": "sha512-uYssdp9z5zH5GQ0L4zEJ2ZuavYsJwkozjiUzCRfGtaaQcyjAMJ34aP8idv61QlqTozu6kudyr6JMq9Chf09dfA==", "integrity": "sha1-xLjOUaD2daNUIlxYmAzKz+CvXXQ=",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -481,8 +481,8 @@
}, },
"node_modules/esbuild": { "node_modules/esbuild": {
"version": "0.25.6", "version": "0.25.6",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/esbuild/-/esbuild-0.25.6.tgz",
"integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", "integrity": "sha1-m4Kj2y+hMa7AaasED9V+0KiAzc0=",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
@ -523,10 +523,9 @@
}, },
"node_modules/fsevents": { "node_modules/fsevents": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=",
"dev": true, "dev": true,
"hasInstallScript": true,
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@ -538,8 +537,8 @@
}, },
"node_modules/get-tsconfig": { "node_modules/get-tsconfig": {
"version": "4.10.1", "version": "4.10.1",
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
"integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", "integrity": "sha1-00wcAfR9ZaYGw3qnoXe8PlarSy4=",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -551,8 +550,8 @@
}, },
"node_modules/hono": { "node_modules/hono": {
"version": "4.8.4", "version": "4.8.4",
"resolved": "https://registry.npmjs.org/hono/-/hono-4.8.4.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/hono/-/hono-4.8.4.tgz",
"integrity": "sha512-KOIBp1+iUs0HrKztM4EHiB2UtzZDTBihDtOF5K6+WaJjCPeaW4Q92R8j63jOhvJI5+tZSMuKD9REVEXXY9illg==", "integrity": "sha1-7cDnDoPIHAl386eGQ1kG5/2kj+Q=",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=16.9.0" "node": ">=16.9.0"
@ -560,8 +559,8 @@
}, },
"node_modules/resolve-pkg-maps": { "node_modules/resolve-pkg-maps": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
"integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "integrity": "sha1-YWs9wsVwVrVYjDHN9LPWTbEzcg8=",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"funding": { "funding": {
@ -570,8 +569,8 @@
}, },
"node_modules/tsx": { "node_modules/tsx": {
"version": "4.20.3", "version": "4.20.3",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/tsx/-/tsx-4.20.3.tgz",
"integrity": "sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==", "integrity": "sha1-+RPkkR1ZrRd8G87hnRA1743W4vs=",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -590,8 +589,8 @@
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.8.3", "version": "5.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/typescript/-/typescript-5.8.3.tgz",
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "integrity": "sha1-kvij5ePPSXNW9BeMNM1lp/XoRA4=",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
@ -604,8 +603,8 @@
}, },
"node_modules/undici-types": { "node_modules/undici-types": {
"version": "6.21.0", "version": "6.21.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "resolved": "https://pkgs.dev.azure.com/ipidtech/_packaging/ipidtech/npm/registry/undici-types/-/undici-types-6.21.0.tgz",
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "integrity": "sha1-aR0ArzkJvpOn+qE75hs6W1DvEss=",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
} }

View File

@ -4,54 +4,27 @@ import { Hono } from 'hono'
const app = new Hono() const app = new Hono()
const accounts = { const accounts = {
'1' : {amount: 1000}, '1': {amount: 1000},
'2' : {amount: 1000}, '2': {amount: 1000},
} }
const transactions :ITransferResponse[] = [] const transactions = []
interface ITransferResponse {
amount: number;
sender: '1' | '2';
receiver: '1' | '2';
}
app.post('/transfer', async (c) => { app.post('/transfer', async (c) => {
const body : ITransferResponse = await c.req.json(); const body = await c.req.json();
const { amount, sender, receiver } = body; const { amount, sender, receiver } = body;
if (amount <= 0) { if (amount <= 0) {
return c.json({ error: 'Amount must be greater than 0' }); return c.json({ error: 'Amount must be greater than 0' }, 1000);
} }
if (!Object.keys(accounts).includes(sender) || !Object.keys(accounts).includes(receiver)) {
return c.json({ error: 'Account does not exist.' });
}
const senderAccountAmt = accounts[sender].amount;
const receiverAccountAmt = accounts[receiver].amount;
if (amount > senderAccountAmt) {
return c.json({ error: 'Sender has insufficient balance' })
}
const newSenderAmount = senderAccountAmt - amount
const newReceiverAmount = receiverAccountAmt + amount
accounts[sender].amount = newSenderAmount;
accounts[receiver].amount = newReceiverAmount;
const transfer = { const transfer = {
amount, amount,
sender, sender,
receiver receiver
} }
transactions.push(transfer) console.log('transfer', transfe);
console.log('transfer', transfer);
console.log('accounts', accounts);
console.log('transactions', transactions);
return c.json(transfer) return c.json(transfer)
}) })