Commit 55a8cd22 authored by Chunchi Che's avatar Chunchi Che

Merge branch 'feat/migrate/redux' into 'main'

Feat/migrate/redux

See merge request !3
parents bfe59ab4 d94cd647
Pipeline #17237 passed with stage
in 1 minute and 26 seconds
......@@ -8,6 +8,7 @@
"name": "neos-ts",
"version": "0.1.0",
"dependencies": {
"@reduxjs/toolkit": "^1.8.6",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
......@@ -15,10 +16,12 @@
"@types/node": "^16.11.48",
"@types/react": "^18.0.17",
"@types/react-dom": "^18.0.6",
"@types/react-redux": "^7.1.24",
"axios": "^0.27.2",
"google-protobuf": "^3.21.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-redux": "^8.0.4",
"react-router-dom": "^6.4.0",
"react-scripts": "^5.0.1",
"socket.io-client": "^4.5.1",
......@@ -2197,38 +2200,6 @@
"postcss-selector-parser": "^6.0.10"
}
},
"node_modules/@esbuild/android-arm": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.11.tgz",
"integrity": "sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-loong64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.11.tgz",
"integrity": "sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw==",
"cpu": [
"loong64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@eslint/eslintrc": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
......@@ -2843,6 +2814,29 @@
}
}
},
"node_modules/@reduxjs/toolkit": {
"version": "1.8.6",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.8.6.tgz",
"integrity": "sha512-4Ia/Loc6WLmdSOzi7k5ff7dLK8CgG2b8aqpLsCAJhazAzGdp//YBUSaj0ceW6a3kDBDNRrq5CRwyCS0wBiL1ig==",
"dependencies": {
"immer": "^9.0.7",
"redux": "^4.1.2",
"redux-thunk": "^2.4.1",
"reselect": "^4.1.5"
},
"peerDependencies": {
"react": "^16.9.0 || ^17.0.0 || ^18",
"react-redux": "^7.2.1 || ^8.0.2"
},
"peerDependenciesMeta": {
"react": {
"optional": true
},
"react-redux": {
"optional": true
}
}
},
"node_modules/@remix-run/router": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz",
......@@ -3423,6 +3417,15 @@
"@types/node": "*"
}
},
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
"integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
"dependencies": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
}
},
"node_modules/@types/html-minifier-terser": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
......@@ -3534,6 +3537,17 @@
"@types/react": "*"
}
},
"node_modules/@types/react-redux": {
"version": "7.1.24",
"resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.24.tgz",
"integrity": "sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ==",
"dependencies": {
"@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0",
"redux": "^4.0.0"
}
},
"node_modules/@types/resolve": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
......@@ -3604,6 +3618,11 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
"integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg=="
},
"node_modules/@types/use-sync-external-store": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
"node_modules/@types/webxr": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz",
......@@ -6407,118 +6426,6 @@
"esbuild-windows-arm64": "0.15.11"
}
},
"node_modules/esbuild-android-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.11.tgz",
"integrity": "sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-android-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.11.tgz",
"integrity": "sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-darwin-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.11.tgz",
"integrity": "sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-darwin-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.11.tgz",
"integrity": "sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-freebsd-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.11.tgz",
"integrity": "sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-freebsd-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.11.tgz",
"integrity": "sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-32": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.11.tgz",
"integrity": "sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.11.tgz",
......@@ -6535,198 +6442,6 @@
"node": ">=12"
}
},
"node_modules/esbuild-linux-arm": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.11.tgz",
"integrity": "sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.11.tgz",
"integrity": "sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-mips64le": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.11.tgz",
"integrity": "sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA==",
"cpu": [
"mips64el"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-ppc64le": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.11.tgz",
"integrity": "sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg==",
"cpu": [
"ppc64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-riscv64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.11.tgz",
"integrity": "sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw==",
"cpu": [
"riscv64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-linux-s390x": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.11.tgz",
"integrity": "sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg==",
"cpu": [
"s390x"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-netbsd-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.11.tgz",
"integrity": "sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"netbsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-openbsd-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.11.tgz",
"integrity": "sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"openbsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-sunos-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz",
"integrity": "sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"sunos"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-windows-32": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.11.tgz",
"integrity": "sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-windows-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.11.tgz",
"integrity": "sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/esbuild-windows-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz",
"integrity": "sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
......@@ -7949,19 +7664,6 @@
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
......@@ -8267,6 +7969,19 @@
"he": "bin/he"
}
},
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"dependencies": {
"react-is": "^16.7.0"
}
},
"node_modules/hoist-non-react-statics/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/hoopy": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
......@@ -12611,6 +12326,49 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/react-redux": {
"version": "8.0.4",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.4.tgz",
"integrity": "sha512-yMfQ7mX6bWuicz2fids6cR1YT59VTuT8MKyyE310wJQlINKENCeT1UcPdEiX6znI5tF8zXyJ/VYvDgeGuaaNwQ==",
"dependencies": {
"@babel/runtime": "^7.12.1",
"@types/hoist-non-react-statics": "^3.3.1",
"@types/use-sync-external-store": "^0.0.3",
"hoist-non-react-statics": "^3.3.2",
"react-is": "^18.0.0",
"use-sync-external-store": "^1.0.0"
},
"peerDependencies": {
"@types/react": "^16.8 || ^17.0 || ^18.0",
"@types/react-dom": "^16.8 || ^17.0 || ^18.0",
"react": "^16.8 || ^17.0 || ^18.0",
"react-dom": "^16.8 || ^17.0 || ^18.0",
"react-native": ">=0.59",
"redux": "^4"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
},
"@types/react-dom": {
"optional": true
},
"react-dom": {
"optional": true
},
"react-native": {
"optional": true
},
"redux": {
"optional": true
}
}
},
"node_modules/react-redux/node_modules/react-is": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
},
"node_modules/react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
......@@ -12809,6 +12567,22 @@
"node": ">=8"
}
},
"node_modules/redux": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz",
"integrity": "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==",
"dependencies": {
"@babel/runtime": "^7.9.2"
}
},
"node_modules/redux-thunk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz",
"integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==",
"peerDependencies": {
"redux": "^4"
}
},
"node_modules/regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
......@@ -12951,6 +12725,11 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
"node_modules/reselect": {
"version": "4.1.6",
"resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.6.tgz",
"integrity": "sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ=="
},
"node_modules/resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
......@@ -14542,6 +14321,14 @@
"requires-port": "^1.0.0"
}
},
"node_modules/use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
......@@ -16943,20 +16730,6 @@
"integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
"requires": {}
},
"@esbuild/android-arm": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.11.tgz",
"integrity": "sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA==",
"dev": true,
"optional": true
},
"@esbuild/linux-loong64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.11.tgz",
"integrity": "sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw==",
"dev": true,
"optional": true
},
"@eslint/eslintrc": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
......@@ -17409,6 +17182,17 @@
"source-map": "^0.7.3"
}
},
"@reduxjs/toolkit": {
"version": "1.8.6",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.8.6.tgz",
"integrity": "sha512-4Ia/Loc6WLmdSOzi7k5ff7dLK8CgG2b8aqpLsCAJhazAzGdp//YBUSaj0ceW6a3kDBDNRrq5CRwyCS0wBiL1ig==",
"requires": {
"immer": "^9.0.7",
"redux": "^4.1.2",
"redux-thunk": "^2.4.1",
"reselect": "^4.1.5"
}
},
"@remix-run/router": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz",
......@@ -17837,6 +17621,15 @@
"@types/node": "*"
}
},
"@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
"integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
"requires": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
}
},
"@types/html-minifier-terser": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
......@@ -17948,6 +17741,17 @@
"@types/react": "*"
}
},
"@types/react-redux": {
"version": "7.1.24",
"resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.24.tgz",
"integrity": "sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ==",
"requires": {
"@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0",
"redux": "^4.0.0"
}
},
"@types/resolve": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
......@@ -18018,6 +17822,11 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
"integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg=="
},
"@types/use-sync-external-store": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
"@types/webxr": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz",
......@@ -20066,55 +19875,6 @@
"esbuild-windows-arm64": "0.15.11"
}
},
"esbuild-android-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.11.tgz",
"integrity": "sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw==",
"dev": true,
"optional": true
},
"esbuild-android-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.11.tgz",
"integrity": "sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ==",
"dev": true,
"optional": true
},
"esbuild-darwin-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.11.tgz",
"integrity": "sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA==",
"dev": true,
"optional": true
},
"esbuild-darwin-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.11.tgz",
"integrity": "sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ==",
"dev": true,
"optional": true
},
"esbuild-freebsd-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.11.tgz",
"integrity": "sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg==",
"dev": true,
"optional": true
},
"esbuild-freebsd-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.11.tgz",
"integrity": "sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ==",
"dev": true,
"optional": true
},
"esbuild-linux-32": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.11.tgz",
"integrity": "sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA==",
"dev": true,
"optional": true
},
"esbuild-linux-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.11.tgz",
......@@ -20122,90 +19882,6 @@
"dev": true,
"optional": true
},
"esbuild-linux-arm": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.11.tgz",
"integrity": "sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A==",
"dev": true,
"optional": true
},
"esbuild-linux-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.11.tgz",
"integrity": "sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw==",
"dev": true,
"optional": true
},
"esbuild-linux-mips64le": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.11.tgz",
"integrity": "sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA==",
"dev": true,
"optional": true
},
"esbuild-linux-ppc64le": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.11.tgz",
"integrity": "sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg==",
"dev": true,
"optional": true
},
"esbuild-linux-riscv64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.11.tgz",
"integrity": "sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw==",
"dev": true,
"optional": true
},
"esbuild-linux-s390x": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.11.tgz",
"integrity": "sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg==",
"dev": true,
"optional": true
},
"esbuild-netbsd-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.11.tgz",
"integrity": "sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A==",
"dev": true,
"optional": true
},
"esbuild-openbsd-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.11.tgz",
"integrity": "sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ==",
"dev": true,
"optional": true
},
"esbuild-sunos-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz",
"integrity": "sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw==",
"dev": true,
"optional": true
},
"esbuild-windows-32": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.11.tgz",
"integrity": "sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q==",
"dev": true,
"optional": true
},
"esbuild-windows-64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.11.tgz",
"integrity": "sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ==",
"dev": true,
"optional": true
},
"esbuild-windows-arm64": {
"version": "0.15.11",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz",
"integrity": "sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw==",
"dev": true,
"optional": true
},
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
......@@ -21097,12 +20773,6 @@
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"optional": true
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
......@@ -21317,6 +20987,21 @@
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
},
"hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"requires": {
"react-is": "^16.7.0"
},
"dependencies": {
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
}
}
},
"hoopy": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
......@@ -24302,6 +23987,26 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"react-redux": {
"version": "8.0.4",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.4.tgz",
"integrity": "sha512-yMfQ7mX6bWuicz2fids6cR1YT59VTuT8MKyyE310wJQlINKENCeT1UcPdEiX6znI5tF8zXyJ/VYvDgeGuaaNwQ==",
"requires": {
"@babel/runtime": "^7.12.1",
"@types/hoist-non-react-statics": "^3.3.1",
"@types/use-sync-external-store": "^0.0.3",
"hoist-non-react-statics": "^3.3.2",
"react-is": "^18.0.0",
"use-sync-external-store": "^1.0.0"
},
"dependencies": {
"react-is": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
}
}
},
"react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
......@@ -24447,6 +24152,20 @@
"strip-indent": "^3.0.0"
}
},
"redux": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz",
"integrity": "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==",
"requires": {
"@babel/runtime": "^7.9.2"
}
},
"redux-thunk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz",
"integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==",
"requires": {}
},
"regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
......@@ -24558,6 +24277,11 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
"reselect": {
"version": "4.1.6",
"resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.6.tgz",
"integrity": "sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ=="
},
"resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
......@@ -25714,6 +25438,12 @@
"requires-port": "^1.0.0"
}
},
"use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"requires": {}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
import React from "react";
import JoinRoom from "./JoinRoom";
import WaitRoom from "./WaitRoom";
import JoinRoom from "./ui/JoinRoom";
import WaitRoom from "./ui//WaitRoom";
import ThreeJs from "./ThreeJs";
import { Routes, Route } from "react-router-dom";
......
......@@ -7,51 +7,69 @@ import * as pb_1 from "google-protobuf";
export namespace ygopro {
export class YgoCtosMsg extends pb_1.Message {
#one_of_decls: number[][] = [[1, 2, 3, 4, 5, 6]];
constructor(data?: any[] | ({} & (({
constructor(
data?:
| any[]
| ({} & (
| {
ctos_player_info?: CtosPlayerInfo;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: CtosJoinGame;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: CtosUpdateDeck;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: CtosHsReady;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: CtosHsStart;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: CtosHsNotReady;
})))) {
}
))
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("ctos_player_info" in data && data.ctos_player_info != undefined) {
this.ctos_player_info = data.ctos_player_info;
......@@ -68,13 +86,20 @@ export namespace ygopro {
if ("ctos_hs_start" in data && data.ctos_hs_start != undefined) {
this.ctos_hs_start = data.ctos_hs_start;
}
if ("ctos_hs_not_ready" in data && data.ctos_hs_not_ready != undefined) {
if (
"ctos_hs_not_ready" in data &&
data.ctos_hs_not_ready != undefined
) {
this.ctos_hs_not_ready = data.ctos_hs_not_ready;
}
}
}
get ctos_player_info() {
return pb_1.Message.getWrapperField(this, CtosPlayerInfo, 1) as CtosPlayerInfo;
return pb_1.Message.getWrapperField(
this,
CtosPlayerInfo,
1
) as CtosPlayerInfo;
}
set ctos_player_info(value: CtosPlayerInfo) {
pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);
......@@ -83,7 +108,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 1) != null;
}
get ctos_join_game() {
return pb_1.Message.getWrapperField(this, CtosJoinGame, 2) as CtosJoinGame;
return pb_1.Message.getWrapperField(
this,
CtosJoinGame,
2
) as CtosJoinGame;
}
set ctos_join_game(value: CtosJoinGame) {
pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);
......@@ -92,7 +121,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 2) != null;
}
get ctos_update_deck() {
return pb_1.Message.getWrapperField(this, CtosUpdateDeck, 3) as CtosUpdateDeck;
return pb_1.Message.getWrapperField(
this,
CtosUpdateDeck,
3
) as CtosUpdateDeck;
}
set ctos_update_deck(value: CtosUpdateDeck) {
pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);
......@@ -119,7 +152,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 5) != null;
}
get ctos_hs_not_ready() {
return pb_1.Message.getWrapperField(this, CtosHsNotReady, 6) as CtosHsNotReady;
return pb_1.Message.getWrapperField(
this,
CtosHsNotReady,
6
) as CtosHsNotReady;
}
set ctos_hs_not_ready(value: CtosHsNotReady) {
pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);
......@@ -129,7 +166,14 @@ export namespace ygopro {
}
get msg() {
const cases: {
[index: number]: "none" | "ctos_player_info" | "ctos_join_game" | "ctos_update_deck" | "ctos_hs_ready" | "ctos_hs_start" | "ctos_hs_not_ready";
[index: number]:
| "none"
| "ctos_player_info"
| "ctos_join_game"
| "ctos_update_deck"
| "ctos_hs_ready"
| "ctos_hs_start"
| "ctos_hs_not_ready";
} = {
0: "none",
1: "ctos_player_info",
......@@ -137,7 +181,7 @@ export namespace ygopro {
3: "ctos_update_deck",
4: "ctos_hs_ready",
5: "ctos_hs_start",
6: "ctos_hs_not_ready"
6: "ctos_hs_not_ready",
};
return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3, 4, 5, 6])];
}
......@@ -151,13 +195,17 @@ export namespace ygopro {
}): YgoCtosMsg {
const message = new YgoCtosMsg({});
if (data.ctos_player_info != null) {
message.ctos_player_info = CtosPlayerInfo.fromObject(data.ctos_player_info);
message.ctos_player_info = CtosPlayerInfo.fromObject(
data.ctos_player_info
);
}
if (data.ctos_join_game != null) {
message.ctos_join_game = CtosJoinGame.fromObject(data.ctos_join_game);
}
if (data.ctos_update_deck != null) {
message.ctos_update_deck = CtosUpdateDeck.fromObject(data.ctos_update_deck);
message.ctos_update_deck = CtosUpdateDeck.fromObject(
data.ctos_update_deck
);
}
if (data.ctos_hs_ready != null) {
message.ctos_hs_ready = CtosHsReady.fromObject(data.ctos_hs_ready);
......@@ -166,7 +214,9 @@ export namespace ygopro {
message.ctos_hs_start = CtosHsStart.fromObject(data.ctos_hs_start);
}
if (data.ctos_hs_not_ready != null) {
message.ctos_hs_not_ready = CtosHsNotReady.fromObject(data.ctos_hs_not_ready);
message.ctos_hs_not_ready = CtosHsNotReady.fromObject(
data.ctos_hs_not_ready
);
}
return message;
}
......@@ -177,7 +227,9 @@ export namespace ygopro {
ctos_update_deck?: ReturnType<typeof CtosUpdateDeck.prototype.toObject>;
ctos_hs_ready?: ReturnType<typeof CtosHsReady.prototype.toObject>;
ctos_hs_start?: ReturnType<typeof CtosHsStart.prototype.toObject>;
ctos_hs_not_ready?: ReturnType<typeof CtosHsNotReady.prototype.toObject>;
ctos_hs_not_ready?: ReturnType<
typeof CtosHsNotReady.prototype.toObject
>;
} = {};
if (this.ctos_player_info != null) {
data.ctos_player_info = this.ctos_player_info.toObject();
......@@ -204,45 +256,81 @@ export namespace ygopro {
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.has_ctos_player_info)
writer.writeMessage(1, this.ctos_player_info, () => this.ctos_player_info.serialize(writer));
writer.writeMessage(1, this.ctos_player_info, () =>
this.ctos_player_info.serialize(writer)
);
if (this.has_ctos_join_game)
writer.writeMessage(2, this.ctos_join_game, () => this.ctos_join_game.serialize(writer));
writer.writeMessage(2, this.ctos_join_game, () =>
this.ctos_join_game.serialize(writer)
);
if (this.has_ctos_update_deck)
writer.writeMessage(3, this.ctos_update_deck, () => this.ctos_update_deck.serialize(writer));
writer.writeMessage(3, this.ctos_update_deck, () =>
this.ctos_update_deck.serialize(writer)
);
if (this.has_ctos_hs_ready)
writer.writeMessage(4, this.ctos_hs_ready, () => this.ctos_hs_ready.serialize(writer));
writer.writeMessage(4, this.ctos_hs_ready, () =>
this.ctos_hs_ready.serialize(writer)
);
if (this.has_ctos_hs_start)
writer.writeMessage(5, this.ctos_hs_start, () => this.ctos_hs_start.serialize(writer));
writer.writeMessage(5, this.ctos_hs_start, () =>
this.ctos_hs_start.serialize(writer)
);
if (this.has_ctos_hs_not_ready)
writer.writeMessage(6, this.ctos_hs_not_ready, () => this.ctos_hs_not_ready.serialize(writer));
if (!w)
return writer.getResultBuffer();
writer.writeMessage(6, this.ctos_hs_not_ready, () =>
this.ctos_hs_not_ready.serialize(writer)
);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): YgoCtosMsg {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new YgoCtosMsg();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new YgoCtosMsg();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
reader.readMessage(message.ctos_player_info, () => message.ctos_player_info = CtosPlayerInfo.deserialize(reader));
reader.readMessage(
message.ctos_player_info,
() =>
(message.ctos_player_info = CtosPlayerInfo.deserialize(reader))
);
break;
case 2:
reader.readMessage(message.ctos_join_game, () => message.ctos_join_game = CtosJoinGame.deserialize(reader));
reader.readMessage(
message.ctos_join_game,
() => (message.ctos_join_game = CtosJoinGame.deserialize(reader))
);
break;
case 3:
reader.readMessage(message.ctos_update_deck, () => message.ctos_update_deck = CtosUpdateDeck.deserialize(reader));
reader.readMessage(
message.ctos_update_deck,
() =>
(message.ctos_update_deck = CtosUpdateDeck.deserialize(reader))
);
break;
case 4:
reader.readMessage(message.ctos_hs_ready, () => message.ctos_hs_ready = CtosHsReady.deserialize(reader));
reader.readMessage(
message.ctos_hs_ready,
() => (message.ctos_hs_ready = CtosHsReady.deserialize(reader))
);
break;
case 5:
reader.readMessage(message.ctos_hs_start, () => message.ctos_hs_start = CtosHsStart.deserialize(reader));
reader.readMessage(
message.ctos_hs_start,
() => (message.ctos_hs_start = CtosHsStart.deserialize(reader))
);
break;
case 6:
reader.readMessage(message.ctos_hs_not_ready, () => message.ctos_hs_not_ready = CtosHsNotReady.deserialize(reader));
reader.readMessage(
message.ctos_hs_not_ready,
() =>
(message.ctos_hs_not_ready = CtosHsNotReady.deserialize(reader))
);
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -256,51 +344,69 @@ export namespace ygopro {
}
export class YgoStocMsg extends pb_1.Message {
#one_of_decls: number[][] = [[1, 2, 3, 4, 5, 6]];
constructor(data?: any[] | ({} & (({
constructor(
data?:
| any[]
| ({} & (
| {
stoc_join_game?: StocJoinGame;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: StocChat;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: StocHsPlayerEnter;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: StocTypeChange;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: StocHsPlayerChange;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: StocHsWatchChange;
})))) {
}
))
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("stoc_join_game" in data && data.stoc_join_game != undefined) {
this.stoc_join_game = data.stoc_join_game;
......@@ -308,22 +414,35 @@ export namespace ygopro {
if ("stoc_chat" in data && data.stoc_chat != undefined) {
this.stoc_chat = data.stoc_chat;
}
if ("stoc_hs_player_enter" in data && data.stoc_hs_player_enter != undefined) {
if (
"stoc_hs_player_enter" in data &&
data.stoc_hs_player_enter != undefined
) {
this.stoc_hs_player_enter = data.stoc_hs_player_enter;
}
if ("stoc_type_change" in data && data.stoc_type_change != undefined) {
this.stoc_type_change = data.stoc_type_change;
}
if ("stoc_hs_player_change" in data && data.stoc_hs_player_change != undefined) {
if (
"stoc_hs_player_change" in data &&
data.stoc_hs_player_change != undefined
) {
this.stoc_hs_player_change = data.stoc_hs_player_change;
}
if ("stoc_hs_watch_change" in data && data.stoc_hs_watch_change != undefined) {
if (
"stoc_hs_watch_change" in data &&
data.stoc_hs_watch_change != undefined
) {
this.stoc_hs_watch_change = data.stoc_hs_watch_change;
}
}
}
get stoc_join_game() {
return pb_1.Message.getWrapperField(this, StocJoinGame, 1) as StocJoinGame;
return pb_1.Message.getWrapperField(
this,
StocJoinGame,
1
) as StocJoinGame;
}
set stoc_join_game(value: StocJoinGame) {
pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);
......@@ -341,7 +460,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 2) != null;
}
get stoc_hs_player_enter() {
return pb_1.Message.getWrapperField(this, StocHsPlayerEnter, 3) as StocHsPlayerEnter;
return pb_1.Message.getWrapperField(
this,
StocHsPlayerEnter,
3
) as StocHsPlayerEnter;
}
set stoc_hs_player_enter(value: StocHsPlayerEnter) {
pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);
......@@ -350,7 +473,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 3) != null;
}
get stoc_type_change() {
return pb_1.Message.getWrapperField(this, StocTypeChange, 4) as StocTypeChange;
return pb_1.Message.getWrapperField(
this,
StocTypeChange,
4
) as StocTypeChange;
}
set stoc_type_change(value: StocTypeChange) {
pb_1.Message.setOneofWrapperField(this, 4, this.#one_of_decls[0], value);
......@@ -359,7 +486,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 4) != null;
}
get stoc_hs_player_change() {
return pb_1.Message.getWrapperField(this, StocHsPlayerChange, 5) as StocHsPlayerChange;
return pb_1.Message.getWrapperField(
this,
StocHsPlayerChange,
5
) as StocHsPlayerChange;
}
set stoc_hs_player_change(value: StocHsPlayerChange) {
pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);
......@@ -368,7 +499,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 5) != null;
}
get stoc_hs_watch_change() {
return pb_1.Message.getWrapperField(this, StocHsWatchChange, 6) as StocHsWatchChange;
return pb_1.Message.getWrapperField(
this,
StocHsWatchChange,
6
) as StocHsWatchChange;
}
set stoc_hs_watch_change(value: StocHsWatchChange) {
pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);
......@@ -378,7 +513,14 @@ export namespace ygopro {
}
get msg() {
const cases: {
[index: number]: "none" | "stoc_join_game" | "stoc_chat" | "stoc_hs_player_enter" | "stoc_type_change" | "stoc_hs_player_change" | "stoc_hs_watch_change";
[index: number]:
| "none"
| "stoc_join_game"
| "stoc_chat"
| "stoc_hs_player_enter"
| "stoc_type_change"
| "stoc_hs_player_change"
| "stoc_hs_watch_change";
} = {
0: "none",
1: "stoc_join_game",
......@@ -386,17 +528,23 @@ export namespace ygopro {
3: "stoc_hs_player_enter",
4: "stoc_type_change",
5: "stoc_hs_player_change",
6: "stoc_hs_watch_change"
6: "stoc_hs_watch_change",
};
return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3, 4, 5, 6])];
}
static fromObject(data: {
stoc_join_game?: ReturnType<typeof StocJoinGame.prototype.toObject>;
stoc_chat?: ReturnType<typeof StocChat.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<typeof StocHsPlayerEnter.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<
typeof StocHsPlayerEnter.prototype.toObject
>;
stoc_type_change?: ReturnType<typeof StocTypeChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<typeof StocHsPlayerChange.prototype.toObject>;
stoc_hs_watch_change?: ReturnType<typeof StocHsWatchChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<
typeof StocHsPlayerChange.prototype.toObject
>;
stoc_hs_watch_change?: ReturnType<
typeof StocHsWatchChange.prototype.toObject
>;
}): YgoStocMsg {
const message = new YgoStocMsg({});
if (data.stoc_join_game != null) {
......@@ -406,16 +554,24 @@ export namespace ygopro {
message.stoc_chat = StocChat.fromObject(data.stoc_chat);
}
if (data.stoc_hs_player_enter != null) {
message.stoc_hs_player_enter = StocHsPlayerEnter.fromObject(data.stoc_hs_player_enter);
message.stoc_hs_player_enter = StocHsPlayerEnter.fromObject(
data.stoc_hs_player_enter
);
}
if (data.stoc_type_change != null) {
message.stoc_type_change = StocTypeChange.fromObject(data.stoc_type_change);
message.stoc_type_change = StocTypeChange.fromObject(
data.stoc_type_change
);
}
if (data.stoc_hs_player_change != null) {
message.stoc_hs_player_change = StocHsPlayerChange.fromObject(data.stoc_hs_player_change);
message.stoc_hs_player_change = StocHsPlayerChange.fromObject(
data.stoc_hs_player_change
);
}
if (data.stoc_hs_watch_change != null) {
message.stoc_hs_watch_change = StocHsWatchChange.fromObject(data.stoc_hs_watch_change);
message.stoc_hs_watch_change = StocHsWatchChange.fromObject(
data.stoc_hs_watch_change
);
}
return message;
}
......@@ -423,10 +579,16 @@ export namespace ygopro {
const data: {
stoc_join_game?: ReturnType<typeof StocJoinGame.prototype.toObject>;
stoc_chat?: ReturnType<typeof StocChat.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<typeof StocHsPlayerEnter.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<
typeof StocHsPlayerEnter.prototype.toObject
>;
stoc_type_change?: ReturnType<typeof StocTypeChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<typeof StocHsPlayerChange.prototype.toObject>;
stoc_hs_watch_change?: ReturnType<typeof StocHsWatchChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<
typeof StocHsPlayerChange.prototype.toObject
>;
stoc_hs_watch_change?: ReturnType<
typeof StocHsWatchChange.prototype.toObject
>;
} = {};
if (this.stoc_join_game != null) {
data.stoc_join_game = this.stoc_join_game.toObject();
......@@ -453,45 +615,85 @@ export namespace ygopro {
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.has_stoc_join_game)
writer.writeMessage(1, this.stoc_join_game, () => this.stoc_join_game.serialize(writer));
writer.writeMessage(1, this.stoc_join_game, () =>
this.stoc_join_game.serialize(writer)
);
if (this.has_stoc_chat)
writer.writeMessage(2, this.stoc_chat, () => this.stoc_chat.serialize(writer));
writer.writeMessage(2, this.stoc_chat, () =>
this.stoc_chat.serialize(writer)
);
if (this.has_stoc_hs_player_enter)
writer.writeMessage(3, this.stoc_hs_player_enter, () => this.stoc_hs_player_enter.serialize(writer));
writer.writeMessage(3, this.stoc_hs_player_enter, () =>
this.stoc_hs_player_enter.serialize(writer)
);
if (this.has_stoc_type_change)
writer.writeMessage(4, this.stoc_type_change, () => this.stoc_type_change.serialize(writer));
writer.writeMessage(4, this.stoc_type_change, () =>
this.stoc_type_change.serialize(writer)
);
if (this.has_stoc_hs_player_change)
writer.writeMessage(5, this.stoc_hs_player_change, () => this.stoc_hs_player_change.serialize(writer));
writer.writeMessage(5, this.stoc_hs_player_change, () =>
this.stoc_hs_player_change.serialize(writer)
);
if (this.has_stoc_hs_watch_change)
writer.writeMessage(6, this.stoc_hs_watch_change, () => this.stoc_hs_watch_change.serialize(writer));
if (!w)
return writer.getResultBuffer();
writer.writeMessage(6, this.stoc_hs_watch_change, () =>
this.stoc_hs_watch_change.serialize(writer)
);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): YgoStocMsg {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new YgoStocMsg();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new YgoStocMsg();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
reader.readMessage(message.stoc_join_game, () => message.stoc_join_game = StocJoinGame.deserialize(reader));
reader.readMessage(
message.stoc_join_game,
() => (message.stoc_join_game = StocJoinGame.deserialize(reader))
);
break;
case 2:
reader.readMessage(message.stoc_chat, () => message.stoc_chat = StocChat.deserialize(reader));
reader.readMessage(
message.stoc_chat,
() => (message.stoc_chat = StocChat.deserialize(reader))
);
break;
case 3:
reader.readMessage(message.stoc_hs_player_enter, () => message.stoc_hs_player_enter = StocHsPlayerEnter.deserialize(reader));
reader.readMessage(
message.stoc_hs_player_enter,
() =>
(message.stoc_hs_player_enter =
StocHsPlayerEnter.deserialize(reader))
);
break;
case 4:
reader.readMessage(message.stoc_type_change, () => message.stoc_type_change = StocTypeChange.deserialize(reader));
reader.readMessage(
message.stoc_type_change,
() =>
(message.stoc_type_change = StocTypeChange.deserialize(reader))
);
break;
case 5:
reader.readMessage(message.stoc_hs_player_change, () => message.stoc_hs_player_change = StocHsPlayerChange.deserialize(reader));
reader.readMessage(
message.stoc_hs_player_change,
() =>
(message.stoc_hs_player_change =
StocHsPlayerChange.deserialize(reader))
);
break;
case 6:
reader.readMessage(message.stoc_hs_watch_change, () => message.stoc_hs_watch_change = StocHsWatchChange.deserialize(reader));
reader.readMessage(
message.stoc_hs_watch_change,
() =>
(message.stoc_hs_watch_change =
StocHsWatchChange.deserialize(reader))
);
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -505,11 +707,22 @@ export namespace ygopro {
}
export class CtosPlayerInfo extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
name?: string;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("name" in data && data.name != undefined) {
this.name = data.name;
......@@ -522,9 +735,7 @@ export namespace ygopro {
set name(value: string) {
pb_1.Message.setField(this, 1, value);
}
static fromObject(data: {
name?: string;
}): CtosPlayerInfo {
static fromObject(data: { name?: string }): CtosPlayerInfo {
const message = new CtosPlayerInfo({});
if (data.name != null) {
message.name = data.name;
......@@ -544,21 +755,23 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.name.length)
writer.writeString(1, this.name);
if (!w)
return writer.getResultBuffer();
if (this.name.length) writer.writeString(1, this.name);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosPlayerInfo {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosPlayerInfo();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosPlayerInfo();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.name = reader.readString();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -572,13 +785,24 @@ export namespace ygopro {
}
export class CtosJoinGame extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
version?: number;
gameid?: number;
passwd?: string;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("version" in data && data.version != undefined) {
this.version = data.version;
......@@ -647,20 +871,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.version != 0)
writer.writeInt32(1, this.version);
if (this.gameid != 0)
writer.writeInt32(2, this.gameid);
if (this.passwd.length)
writer.writeString(3, this.passwd);
if (!w)
return writer.getResultBuffer();
if (this.version != 0) writer.writeInt32(1, this.version);
if (this.gameid != 0) writer.writeInt32(2, this.gameid);
if (this.passwd.length) writer.writeString(3, this.passwd);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosJoinGame {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosJoinGame();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosJoinGame();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.version = reader.readInt32();
......@@ -671,7 +894,8 @@ export namespace ygopro {
case 3:
message.passwd = reader.readString();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -685,13 +909,24 @@ export namespace ygopro {
}
export class CtosUpdateDeck extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
main?: number[];
extra?: number[];
side?: number[];
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1, 2, 3], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[1, 2, 3],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("main" in data && data.main != undefined) {
this.main = data.main;
......@@ -760,20 +995,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.main.length)
writer.writePackedInt32(1, this.main);
if (this.extra.length)
writer.writePackedInt32(2, this.extra);
if (this.side.length)
writer.writePackedInt32(3, this.side);
if (!w)
return writer.getResultBuffer();
if (this.main.length) writer.writePackedInt32(1, this.main);
if (this.extra.length) writer.writePackedInt32(2, this.extra);
if (this.side.length) writer.writePackedInt32(3, this.side);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosUpdateDeck {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosUpdateDeck();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosUpdateDeck();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.main = reader.readPackedInt32();
......@@ -784,7 +1018,8 @@ export namespace ygopro {
case 3:
message.side = reader.readPackedInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -800,8 +1035,16 @@ export namespace ygopro {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {}) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
if (!Array.isArray(data) && typeof data == "object") { }
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
}
}
static fromObject(data: {}): CtosHsReady {
const message = new CtosHsReady({});
......@@ -815,16 +1058,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (!w)
return writer.getResultBuffer();
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosHsReady {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosHsReady();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosHsReady();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -840,8 +1086,16 @@ export namespace ygopro {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {}) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
if (!Array.isArray(data) && typeof data == "object") { }
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
}
}
static fromObject(data: {}): CtosHsNotReady {
const message = new CtosHsNotReady({});
......@@ -855,16 +1109,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (!w)
return writer.getResultBuffer();
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosHsNotReady {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosHsNotReady();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosHsNotReady();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -880,8 +1137,16 @@ export namespace ygopro {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {}) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
if (!Array.isArray(data) && typeof data == "object") { }
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
}
}
static fromObject(data: {}): CtosHsStart {
const message = new CtosHsStart({});
......@@ -895,16 +1160,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (!w)
return writer.getResultBuffer();
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosHsStart {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosHsStart();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosHsStart();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -918,7 +1186,10 @@ export namespace ygopro {
}
export class StocJoinGame extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
lflist?: number;
rule?: number;
mode?: number;
......@@ -929,9 +1200,17 @@ export namespace ygopro {
start_hand?: number;
draw_count?: number;
time_limit?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("lflist" in data && data.lflist != undefined) {
this.lflist = data.lflist;
......@@ -1119,34 +1398,27 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.lflist != 0)
writer.writeInt32(1, this.lflist);
if (this.rule != 0)
writer.writeInt32(2, this.rule);
if (this.mode != 0)
writer.writeInt32(3, this.mode);
if (this.duel_rule != 0)
writer.writeInt32(4, this.duel_rule);
if (this.no_check_deck != false)
writer.writeBool(5, this.no_check_deck);
if (this.lflist != 0) writer.writeInt32(1, this.lflist);
if (this.rule != 0) writer.writeInt32(2, this.rule);
if (this.mode != 0) writer.writeInt32(3, this.mode);
if (this.duel_rule != 0) writer.writeInt32(4, this.duel_rule);
if (this.no_check_deck != false) writer.writeBool(5, this.no_check_deck);
if (this.no_shuffle_deck != false)
writer.writeBool(6, this.no_shuffle_deck);
if (this.start_lp != 0)
writer.writeInt32(7, this.start_lp);
if (this.start_hand != 0)
writer.writeInt32(8, this.start_hand);
if (this.draw_count != 0)
writer.writeInt32(9, this.draw_count);
if (this.time_limit != 0)
writer.writeInt32(10, this.time_limit);
if (!w)
return writer.getResultBuffer();
if (this.start_lp != 0) writer.writeInt32(7, this.start_lp);
if (this.start_hand != 0) writer.writeInt32(8, this.start_hand);
if (this.draw_count != 0) writer.writeInt32(9, this.draw_count);
if (this.time_limit != 0) writer.writeInt32(10, this.time_limit);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocJoinGame {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocJoinGame();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocJoinGame();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.lflist = reader.readInt32();
......@@ -1178,7 +1450,8 @@ export namespace ygopro {
case 10:
message.time_limit = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1192,12 +1465,23 @@ export namespace ygopro {
}
export class StocChat extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
player?: number;
msg?: string;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("player" in data && data.player != undefined) {
this.player = data.player;
......@@ -1219,10 +1503,7 @@ export namespace ygopro {
set msg(value: string) {
pb_1.Message.setField(this, 2, value);
}
static fromObject(data: {
player?: number;
msg?: string;
}): StocChat {
static fromObject(data: { player?: number; msg?: string }): StocChat {
const message = new StocChat({});
if (data.player != null) {
message.player = data.player;
......@@ -1249,18 +1530,18 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.player != 0)
writer.writeInt32(1, this.player);
if (this.msg.length)
writer.writeString(2, this.msg);
if (!w)
return writer.getResultBuffer();
if (this.player != 0) writer.writeInt32(1, this.player);
if (this.msg.length) writer.writeString(2, this.msg);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocChat {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocChat();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocChat();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.player = reader.readInt32();
......@@ -1268,7 +1549,8 @@ export namespace ygopro {
case 2:
message.msg = reader.readString();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1282,12 +1564,23 @@ export namespace ygopro {
}
export class StocHsPlayerEnter extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
name?: string;
pos?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("name" in data && data.name != undefined) {
this.name = data.name;
......@@ -1339,18 +1632,20 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.name.length)
writer.writeString(1, this.name);
if (this.pos != 0)
writer.writeInt32(2, this.pos);
if (!w)
return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocHsPlayerEnter {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocHsPlayerEnter();
if (this.name.length) writer.writeString(1, this.name);
if (this.pos != 0) writer.writeInt32(2, this.pos);
if (!w) return writer.getResultBuffer();
}
static deserialize(
bytes: Uint8Array | pb_1.BinaryReader
): StocHsPlayerEnter {
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocHsPlayerEnter();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.name = reader.readString();
......@@ -1358,7 +1653,8 @@ export namespace ygopro {
case 2:
message.pos = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1372,12 +1668,23 @@ export namespace ygopro {
}
export class StocTypeChange extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
self_type?: StocTypeChange.SelfType;
is_host?: boolean;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("self_type" in data && data.self_type != undefined) {
this.self_type = data.self_type;
......@@ -1388,7 +1695,11 @@ export namespace ygopro {
}
}
get self_type() {
return pb_1.Message.getFieldWithDefault(this, 1, StocTypeChange.SelfType.UNKNOWN) as StocTypeChange.SelfType;
return pb_1.Message.getFieldWithDefault(
this,
1,
StocTypeChange.SelfType.UNKNOWN
) as StocTypeChange.SelfType;
}
set self_type(value: StocTypeChange.SelfType) {
pb_1.Message.setField(this, 1, value);
......@@ -1431,16 +1742,17 @@ export namespace ygopro {
const writer = w || new pb_1.BinaryWriter();
if (this.self_type != StocTypeChange.SelfType.UNKNOWN)
writer.writeEnum(1, this.self_type);
if (this.is_host != false)
writer.writeBool(2, this.is_host);
if (!w)
return writer.getResultBuffer();
if (this.is_host != false) writer.writeBool(2, this.is_host);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocTypeChange {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocTypeChange();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocTypeChange();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.self_type = reader.readEnum();
......@@ -1448,7 +1760,8 @@ export namespace ygopro {
case 2:
message.is_host = reader.readBool();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1469,18 +1782,29 @@ export namespace ygopro {
PLAYER4 = 4,
PLAYER5 = 5,
PLAYER6 = 6,
OBSERVER = 100
OBSERVER = 100,
}
}
export class StocHsPlayerChange extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
state?: StocHsPlayerChange.State;
pos?: number;
moved_pos?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("state" in data && data.state != undefined) {
this.state = data.state;
......@@ -1494,7 +1818,11 @@ export namespace ygopro {
}
}
get state() {
return pb_1.Message.getFieldWithDefault(this, 1, StocHsPlayerChange.State.UNKNOWN) as StocHsPlayerChange.State;
return pb_1.Message.getFieldWithDefault(
this,
1,
StocHsPlayerChange.State.UNKNOWN
) as StocHsPlayerChange.State;
}
set state(value: StocHsPlayerChange.State) {
pb_1.Message.setField(this, 1, value);
......@@ -1551,18 +1879,20 @@ export namespace ygopro {
const writer = w || new pb_1.BinaryWriter();
if (this.state != StocHsPlayerChange.State.UNKNOWN)
writer.writeEnum(1, this.state);
if (this.pos != 0)
writer.writeInt32(2, this.pos);
if (this.moved_pos != 0)
writer.writeInt32(3, this.moved_pos);
if (!w)
return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocHsPlayerChange {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocHsPlayerChange();
if (this.pos != 0) writer.writeInt32(2, this.pos);
if (this.moved_pos != 0) writer.writeInt32(3, this.moved_pos);
if (!w) return writer.getResultBuffer();
}
static deserialize(
bytes: Uint8Array | pb_1.BinaryReader
): StocHsPlayerChange {
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocHsPlayerChange();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.state = reader.readEnum();
......@@ -1573,7 +1903,8 @@ export namespace ygopro {
case 3:
message.moved_pos = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1592,16 +1923,27 @@ export namespace ygopro {
READY = 2,
NO_READY = 3,
LEAVE = 4,
TO_OBSERVER = 5
TO_OBSERVER = 5,
}
}
export class StocHsWatchChange extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
count?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("count" in data && data.count != undefined) {
this.count = data.count;
......@@ -1614,9 +1956,7 @@ export namespace ygopro {
set count(value: number) {
pb_1.Message.setField(this, 1, value);
}
static fromObject(data: {
count?: number;
}): StocHsWatchChange {
static fromObject(data: { count?: number }): StocHsWatchChange {
const message = new StocHsWatchChange({});
if (data.count != null) {
message.count = data.count;
......@@ -1636,21 +1976,25 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.count != 0)
writer.writeInt32(1, this.count);
if (!w)
return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocHsWatchChange {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocHsWatchChange();
if (this.count != 0) writer.writeInt32(1, this.count);
if (!w) return writer.getResultBuffer();
}
static deserialize(
bytes: Uint8Array | pb_1.BinaryReader
): StocHsWatchChange {
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocHsWatchChange();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.count = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......
import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux";
import type { RootState, AppDispatch } from "./store";
// Use throughout your app instead of plain `useDispatch` and `useSelector`
export const useAppDispatch: () => AppDispatch = useDispatch;
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import reportWebVitals from "./reportWebVitals";
import { BrowserRouter } from "react-router-dom";
import { Provider } from "react-redux";
import { store } from "./store";
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement
......@@ -10,12 +11,9 @@ const root = ReactDOM.createRoot(
root.render(
<React.StrictMode>
<BrowserRouter>
<Provider store={store}>
<App />
</Provider>
</BrowserRouter>
</React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { RootState } from "../store";
export interface chatState {
message: string;
}
const initialState: chatState = {
message: "",
};
const chatSlice = createSlice({
name: "chat",
initialState,
reducers: {
postChat: (state, action: PayloadAction<string>) => {
state.message = action.payload;
},
},
});
export const { postChat } = chatSlice.actions;
export const selectChat = (state: RootState) => state.chat.message;
export default chatSlice.reducer;
import { createSlice } from "@reduxjs/toolkit";
import { RootState } from "../store";
export interface JoinState {
value: boolean;
}
const initialState: JoinState = {
value: false,
};
const joinedSlice = createSlice({
name: "join",
initialState,
reducers: {
setJoined: (state) => {
state.value = true;
},
setUnJoined: (state) => {
state.value = false;
},
},
});
export const { setJoined, setUnJoined } = joinedSlice.actions;
export const selectJoined = (state: RootState) => state.join.value;
export default joinedSlice.reducer;
import { ReportHandler } from "web-vitals";
const reportWebVitals = (onPerfEntry?: ReportHandler) => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import("web-vitals").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
getCLS(onPerfEntry);
getFID(onPerfEntry);
getFCP(onPerfEntry);
getLCP(onPerfEntry);
getTTFB(onPerfEntry);
});
}
};
export default reportWebVitals;
import { configureStore } from "@reduxjs/toolkit";
import joinedReducer from "./reducers/joinSlice";
import chatReducer from "./reducers/chatSlice";
export const store = configureStore({
reducer: {
join: joinedReducer,
chat: chatReducer,
},
});
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
import React, { useState, ChangeEvent } from "react";
import { Link } from "react-router-dom";
import "./css/JoinRoom.css";
import "../css/JoinRoom.css";
export default function JoinRoom() {
const [player, setPlayer] = useState("");
......
import React, { useRef, useEffect, useState, useReducer } from "react";
import { useParams } from "react-router-dom";
import { ygopro } from "./api/idl/ocgcore";
import { fetchDeck, IDeck } from "./Card";
import "./css/WaitRoom.css";
import { ygopro } from "../api/idl/ocgcore";
import { fetchDeck, IDeck } from "../api/Card";
import "../css/WaitRoom.css";
import { useAppDispatch, useAppSelector } from "../hook";
import { setJoined, selectJoined } from "../reducers/joinSlice";
import { postChat, selectChat } from "../reducers/chatSlice";
type Player = {
name?: string;
......@@ -20,17 +23,17 @@ export default function WaitRoom() {
ip?: string;
}>();
const [joined, setJoined] = useState<boolean>(false);
const [chat, setChat] = useState<string>("");
const [choseDeck, setChoseDeck] = useState<boolean>(false);
const [observerCount, setObserverCount] = useState<number>(0);
const [player0, setPlayer0] = useState<Player>({});
const [player1, setPlayer1] = useState<Player>({});
const [isHost, setIsHost] = useState<boolean>(false);
const [_, forceUpdate] = useReducer(x => x + 1, 0); // todo: use correct update design
const [_, forceUpdate] = useReducer((x) => x + 1, 0); // todo: use correct update design
const ws = useRef<WebSocket | null>(null);
const dispatch = useAppDispatch();
const { player, passWd, ip } = params;
useEffect(() => {
......@@ -61,20 +64,21 @@ export default function WaitRoom() {
console.log("Websocket closed");
};
ws.current.onmessage = e => {
ws.current.onmessage = (e) => {
const pb = ygopro.YgoStocMsg.deserializeBinary(e.data);
switch (pb.msg) {
case "stoc_join_game": {
const msg = pb.stoc_join_game;
// todo
setJoined(true);
dispatch(setJoined());
break;
}
case "stoc_chat": {
const chat = pb.stoc_chat;
setChat(chat.msg);
dispatch(postChat(chat.msg));
break;
}
case "stoc_hs_player_change": {
......@@ -225,6 +229,9 @@ export default function WaitRoom() {
};
}, [ws]);
const joined = useAppSelector(selectJoined);
const chat = useAppSelector(selectChat);
const handleChoseDeck = async () => {
if (ws.current) {
const deck = await fetchDeck("hero.ydk");
......@@ -298,8 +305,8 @@ export default function WaitRoom() {
function sendPlayerInfo(ws: WebSocket, player: string) {
const playerInfo = new ygopro.YgoCtosMsg({
ctos_player_info: new ygopro.CtosPlayerInfo({
name: player
})
name: player,
}),
});
ws.send(playerInfo.serialize());
......@@ -310,8 +317,8 @@ function sendJoinGame(ws: WebSocket, version: number, passWd: string) {
ctos_join_game: new ygopro.CtosJoinGame({
version, // todo: use config
gameid: 0,
passwd: passWd
})
passwd: passWd,
}),
});
ws.send(joinGame.serialize());
......@@ -322,8 +329,8 @@ function sendUpdateDeck(ws: WebSocket, deck: IDeck) {
ctos_update_deck: new ygopro.CtosUpdateDeck({
main: deck.main,
extra: deck.extra,
side: deck.side
})
side: deck.side,
}),
});
ws.send(updateDeck.serialize());
......@@ -331,7 +338,7 @@ function sendUpdateDeck(ws: WebSocket, deck: IDeck) {
function sendHsReady(ws: WebSocket) {
const hasReady = new ygopro.YgoCtosMsg({
ctos_hs_ready: new ygopro.CtosHsReady({})
ctos_hs_ready: new ygopro.CtosHsReady({}),
});
ws.send(hasReady.serialize());
......@@ -339,7 +346,7 @@ function sendHsReady(ws: WebSocket) {
function sendHsStart(ws: WebSocket) {
const hasStart = new ygopro.YgoCtosMsg({
ctos_hs_start: new ygopro.CtosHsStart({})
ctos_hs_start: new ygopro.CtosHsStart({}),
});
ws.send(hasStart.serialize());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment