@nekosuneprojects/gaming-infos 2.4.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +62 -334
  3. package/index.js +3 -225
  4. package/package.json +53 -58
  5. package/src/providers/vrchat.js +11 -0
  6. package/src/providers/warframe.js +7 -0
  7. package/src/registry.js +23 -0
  8. package/.github/workflows/npm-publish-github-packages.yml +0 -56
  9. package/.github/workflows/npm-publish.yml +0 -71
  10. package/.github/workflows/sync-api-cache.yml +0 -73
  11. package/CACHE_SYNC.md +0 -202
  12. package/CONTRIBUTING.md +0 -217
  13. package/DATA.md +0 -292
  14. package/data/.cache-manifest.json +0 -112
  15. package/data/arknightsendfield/characters/akekuri.json +0 -75
  16. package/data/arknightsendfield/characters/alesh.json +0 -75
  17. package/data/arknightsendfield/characters/antal.json +0 -75
  18. package/data/arknightsendfield/characters/arcane.json +0 -75
  19. package/data/arknightsendfield/characters/arclight.json +0 -75
  20. package/data/arknightsendfield/characters/ardelia.json +0 -75
  21. package/data/arknightsendfield/characters/avywenna.json +0 -76
  22. package/data/arknightsendfield/characters/camille.json +0 -77
  23. package/data/arknightsendfield/characters/catcher.json +0 -76
  24. package/data/arknightsendfield/characters/chenqianyu.json +0 -76
  25. package/data/arknightsendfield/characters/dapan.json +0 -76
  26. package/data/arknightsendfield/characters/ember.json +0 -76
  27. package/data/arknightsendfield/characters/endministrator.json +0 -63
  28. package/data/arknightsendfield/characters/estella.json +0 -76
  29. package/data/arknightsendfield/characters/fluorite.json +0 -75
  30. package/data/arknightsendfield/characters/gilberta.json +0 -76
  31. package/data/arknightsendfield/characters/laevatain.json +0 -76
  32. package/data/arknightsendfield/characters/lastrite.json +0 -76
  33. package/data/arknightsendfield/characters/lifeng.json +0 -75
  34. package/data/arknightsendfield/characters/liino.json +0 -76
  35. package/data/arknightsendfield/characters/mifu.json +0 -75
  36. package/data/arknightsendfield/characters/perlica.json +0 -76
  37. package/data/arknightsendfield/characters/pogranichnik.json +0 -75
  38. package/data/arknightsendfield/characters/purrchena.json +0 -50
  39. package/data/arknightsendfield/characters/rossi.json +0 -77
  40. package/data/arknightsendfield/characters/snowshine.json +0 -75
  41. package/data/arknightsendfield/characters/tangtang.json +0 -76
  42. package/data/arknightsendfield/characters/typhoeus.json +0 -57
  43. package/data/arknightsendfield/characters/wulfgard.json +0 -77
  44. package/data/arknightsendfield/characters/xaihi.json +0 -76
  45. package/data/arknightsendfield/characters/yvonne.json +0 -76
  46. package/data/arknightsendfield/characters/zhuangfangyi.json +0 -76
  47. package/data/arknightsendfield/meta.json +0 -14
  48. package/data/fortnite/characters/agentjones.json +0 -43
  49. package/data/fortnite/characters/agentpeely.json +0 -43
  50. package/data/fortnite/characters/andyfangerson.json +0 -42
  51. package/data/fortnite/characters/antonia.json +0 -43
  52. package/data/fortnite/characters/anwar.json +0 -44
  53. package/data/fortnite/characters/aphrodite.json +0 -43
  54. package/data/fortnite/characters/apollo.json +0 -36
  55. package/data/fortnite/characters/arcticassassin.json +0 -43
  56. package/data/fortnite/characters/artemis.json +0 -36
  57. package/data/fortnite/characters/battlewoodboulevard.json +0 -43
  58. package/data/fortnite/characters/beastmode.json +0 -45
  59. package/data/fortnite/characters/bogstick.json +0 -43
  60. package/data/fortnite/characters/boxy.json +0 -44
  61. package/data/fortnite/characters/bravoleader.json +0 -44
  62. package/data/fortnite/characters/briteraider.json +0 -43
  63. package/data/fortnite/characters/brutalboxcars.json +0 -46
  64. package/data/fortnite/characters/bryne.json +0 -44
  65. package/data/fortnite/characters/buildersbarracks.json +0 -38
  66. package/data/fortnite/characters/bullshark.json +0 -43
  67. package/data/fortnite/characters/bumpybay.json +0 -44
  68. package/data/fortnite/characters/burd.json +0 -44
  69. package/data/fortnite/characters/burdemart.json +0 -39
  70. package/data/fortnite/characters/burdtogo.json +0 -42
  71. package/data/fortnite/characters/busansanctuary.json +0 -39
  72. package/data/fortnite/characters/calamaricanyon.json +0 -41
  73. package/data/fortnite/characters/canyoncrossing.json +0 -45
  74. package/data/fortnite/characters/captainjones.json +0 -40
  75. package/data/fortnite/characters/centurion.json +0 -44
  76. package/data/fortnite/characters/cerberus.json +0 -43
  77. package/data/fortnite/characters/charon.json +0 -43
  78. package/data/fortnite/characters/chiara.json +0 -43
  79. package/data/fortnite/characters/clara.json +0 -43
  80. package/data/fortnite/characters/classifiedcanyon.json +0 -43
  81. package/data/fortnite/characters/clawsylodge.json +0 -41
  82. package/data/fortnite/characters/cletuscornhole.json +0 -43
  83. package/data/fortnite/characters/contractgiller.json +0 -44
  84. package/data/fortnite/characters/corruptioncorners.json +0 -42
  85. package/data/fortnite/characters/countessdaraku.json +0 -45
  86. package/data/fortnite/characters/crackshotscabin.json +0 -40
  87. package/data/fortnite/characters/creepycamps.json +0 -36
  88. package/data/fortnite/characters/crimecity.json +0 -47
  89. package/data/fortnite/characters/dara.json +0 -42
  90. package/data/fortnite/characters/darkruby.json +0 -43
  91. package/data/fortnite/characters/demonsdojo.json +0 -46
  92. package/data/fortnite/characters/diamonddiva.json +0 -43
  93. package/data/fortnite/characters/donutdistrict.json +0 -43
  94. package/data/fortnite/characters/drakonsteelrider.json +0 -43
  95. package/data/fortnite/characters/dummy.json +0 -45
  96. package/data/fortnite/characters/edwardscissorhands.json +0 -39
  97. package/data/fortnite/characters/etheria.json +0 -43
  98. package/data/fortnite/characters/evergreenterrace.json +0 -41
  99. package/data/fortnite/characters/fishmarket.json +0 -39
  100. package/data/fortnite/characters/fishstick.json +0 -45
  101. package/data/fortnite/characters/fishthicc.json +0 -43
  102. package/data/fortnite/characters/fortressofsolitude.json +0 -37
  103. package/data/fortnite/characters/foxyfloodgate.json +0 -43
  104. package/data/fortnite/characters/freakyfields.json +0 -38
  105. package/data/fortnite/characters/goldengrove.json +0 -41
  106. package/data/fortnite/characters/graveheart.json +0 -43
  107. package/data/fortnite/characters/grievouscampsite.json +0 -38
  108. package/data/fortnite/characters/guardianamara.json +0 -44
  109. package/data/fortnite/characters/gwenpool.json +0 -41
  110. package/data/fortnite/characters/hanamuracourtyard.json +0 -27
  111. package/data/fortnite/characters/heartbreakranger.json +0 -42
  112. package/data/fortnite/characters/heatwaveharbor.json +0 -41
  113. package/data/fortnite/characters/heroichope.json +0 -44
  114. package/data/fortnite/characters/hope.json +0 -43
  115. package/data/fortnite/characters/hopefulheights.json +0 -46
  116. package/data/fortnite/characters/humblehills.json +0 -41
  117. package/data/fortnite/characters/innovatorslone.json +0 -43
  118. package/data/fortnite/characters/insight.json +0 -43
  119. package/data/fortnite/characters/ironman.json +0 -40
  120. package/data/fortnite/characters/jittershock.json +0 -44
  121. package/data/fortnite/characters/joeycaliente.json +0 -44
  122. package/data/fortnite/characters/jonithescarlet.json +0 -43
  123. package/data/fortnite/characters/khabylame.json +0 -40
  124. package/data/fortnite/characters/khari.json +0 -44
  125. package/data/fortnite/characters/kitbash.json +0 -44
  126. package/data/fortnite/characters/kitesflight.json +0 -41
  127. package/data/fortnite/characters/knightmare.json +0 -43
  128. package/data/fortnite/characters/laguna.json +0 -43
  129. package/data/fortnite/characters/lakespringfield.json +0 -35
  130. package/data/fortnite/characters/lakespringfieldgasstation.json +0 -39
  131. package/data/fortnite/characters/lanallane.json +0 -42
  132. package/data/fortnite/characters/lattelanding.json +0 -41
  133. package/data/fortnite/characters/lavendra.json +0 -44
  134. package/data/fortnite/characters/leelah.json +0 -45
  135. package/data/fortnite/characters/liftylodge.json +0 -42
  136. package/data/fortnite/characters/lonewolflair.json +0 -42
  137. package/data/fortnite/characters/longshot.json +0 -41
  138. package/data/fortnite/characters/lostlake.json +0 -44
  139. package/data/fortnite/characters/loveranger.json +0 -44
  140. package/data/fortnite/characters/mae.json +0 -43
  141. package/data/fortnite/characters/magicmosses.json +0 -42
  142. package/data/fortnite/characters/maskedmeadows.json +0 -48
  143. package/data/fortnite/characters/mechateamshadow.json +0 -44
  144. package/data/fortnite/characters/medusa.json +0 -43
  145. package/data/fortnite/characters/meowscles.json +0 -42
  146. package/data/fortnite/characters/mephisto.json +0 -41
  147. package/data/fortnite/characters/metalmouth.json +0 -44
  148. package/data/fortnite/characters/mincemeat.json +0 -43
  149. package/data/fortnite/characters/munitionsexpert.json +0 -42
  150. package/data/fortnite/characters/myna.json +0 -42
  151. package/data/fortnite/characters/newsanctuary.json +0 -43
  152. package/data/fortnite/characters/nia.json +0 -42
  153. package/data/fortnite/characters/nightshiftforest.json +0 -43
  154. package/data/fortnite/characters/nisha.json +0 -42
  155. package/data/fortnite/characters/nolanchance.json +0 -43
  156. package/data/fortnite/characters/noorah.json +0 -44
  157. package/data/fortnite/characters/odyssey.json +0 -43
  158. package/data/fortnite/characters/openaironsen.json +0 -40
  159. package/data/fortnite/characters/oscar.json +0 -42
  160. package/data/fortnite/characters/outlawoasis.json +0 -40
  161. package/data/fortnite/characters/outpostenclave.json +0 -27
  162. package/data/fortnite/characters/oxrhq.json +0 -37
  163. package/data/fortnite/characters/paintedpalms.json +0 -41
  164. package/data/fortnite/characters/peabody.json +0 -42
  165. package/data/fortnite/characters/peelosopherbananocrates.json +0 -43
  166. package/data/fortnite/characters/peely.json +0 -41
  167. package/data/fortnite/characters/peelybone.json +0 -43
  168. package/data/fortnite/characters/persephone.json +0 -42
  169. package/data/fortnite/characters/phaedra.json +0 -42
  170. package/data/fortnite/characters/phantommeowscles.json +0 -43
  171. package/data/fortnite/characters/piperpace.json +0 -43
  172. package/data/fortnite/characters/poseidon.json +0 -42
  173. package/data/fortnite/characters/pumpedpower.json +0 -40
  174. package/data/fortnite/characters/pumpinpipes.json +0 -39
  175. package/data/fortnite/characters/pumpkinking.json +0 -40
  176. package/data/fortnite/characters/purradisemeowscles.json +0 -43
  177. package/data/fortnite/characters/rangersrest.json +0 -36
  178. package/data/fortnite/characters/rebeloutpost.json +0 -37
  179. package/data/fortnite/characters/renegadeshadow.json +0 -44
  180. package/data/fortnite/characters/resistancebase.json +0 -27
  181. package/data/fortnite/characters/rippedtides.json +0 -43
  182. package/data/fortnite/characters/rollingblossomsfarm.json +0 -41
  183. package/data/fortnite/characters/royalebomber.json +0 -38
  184. package/data/fortnite/characters/ruckus.json +0 -42
  185. package/data/fortnite/characters/rust.json +0 -41
  186. package/data/fortnite/characters/sakuracircle.json +0 -36
  187. package/data/fortnite/characters/sandystrip.json +0 -44
  188. package/data/fortnite/characters/saskia.json +0 -45
  189. package/data/fortnite/characters/seaportcity.json +0 -48
  190. package/data/fortnite/characters/shakensanctuary.json +0 -42
  191. package/data/fortnite/characters/shimmerdusk.json +0 -41
  192. package/data/fortnite/characters/shinyshafts.json +0 -38
  193. package/data/fortnite/characters/shogunssolitude.json +0 -46
  194. package/data/fortnite/characters/shuri.json +0 -39
  195. package/data/fortnite/characters/silashesk.json +0 -42
  196. package/data/fortnite/characters/slurproom.json +0 -40
  197. package/data/fortnite/characters/snowheart.json +0 -44
  198. package/data/fortnite/characters/snowstriker.json +0 -43
  199. package/data/fortnite/characters/solidsnake.json +0 -39
  200. package/data/fortnite/characters/sonor.json +0 -46
  201. package/data/fortnite/characters/spartanassassin.json +0 -43
  202. package/data/fortnite/characters/spirithuntersaeko.json +0 -41
  203. package/data/fortnite/characters/springfieldnationalparkstore.json +0 -38
  204. package/data/fortnite/characters/springfieldnuclearpowerplant.json +0 -39
  205. package/data/fortnite/characters/springfieldslurpworks.json +0 -40
  206. package/data/fortnite/characters/squibblyshores.json +0 -42
  207. package/data/fortnite/characters/squibblyspointlighthouse.json +0 -37
  208. package/data/fortnite/characters/starroakley.json +0 -45
  209. package/data/fortnite/characters/steelsight.json +0 -43
  210. package/data/fortnite/characters/sticks.json +0 -35
  211. package/data/fortnite/characters/sunkenshores.json +0 -42
  212. package/data/fortnite/characters/sunstrider.json +0 -42
  213. package/data/fortnite/characters/suntanspecialist.json +0 -43
  214. package/data/fortnite/characters/supernovaacademy.json +0 -27
  215. package/data/fortnite/characters/t60powerarmor.json +0 -39
  216. package/data/fortnite/characters/thebattlewoods.json +0 -44
  217. package/data/fortnite/characters/thegreatturtle.json +0 -37
  218. package/data/fortnite/characters/theoperator.json +0 -42
  219. package/data/fortnite/characters/thequackaway.json +0 -39
  220. package/data/fortnite/characters/thestabilizer.json +0 -38
  221. package/data/fortnite/characters/theunderwriter.json +0 -36
  222. package/data/fortnite/characters/toyboxdocks.json +0 -40
  223. package/data/fortnite/characters/trace.json +0 -43
  224. package/data/fortnite/characters/triagetrooper.json +0 -43
  225. package/data/fortnite/characters/triggerfish.json +0 -44
  226. package/data/fortnite/characters/trogscave.json +0 -38
  227. package/data/fortnite/characters/utopiacity.json +0 -27
  228. package/data/fortnite/characters/vengeancejones.json +0 -42
  229. package/data/fortnite/characters/victoriasaint.json +0 -43
  230. package/data/fortnite/characters/vineyshafts.json +0 -35
  231. package/data/fortnite/characters/volpez.json +0 -41
  232. package/data/fortnite/characters/warmachine.json +0 -40
  233. package/data/fortnite/characters/wastelandermagneto.json +0 -40
  234. package/data/fortnite/characters/wonkeeland.json +0 -41
  235. package/data/fortnite/meta.json +0 -14
  236. package/data/game-codes/.cache-manifest.json +0 -148
  237. package/data/game-codes/directory.json +0 -1196
  238. package/data/game-codes/games/arknights-endfield.json +0 -958
  239. package/data/game-codes/games/borderlands-1.json +0 -414
  240. package/data/game-codes/games/borderlands-2.json +0 -340
  241. package/data/game-codes/games/borderlands-3.json +0 -1025
  242. package/data/game-codes/games/borderlands-4.json +0 -3128
  243. package/data/game-codes/games/borderlands-the-pre-sequel.json +0 -599
  244. package/data/game-codes/games/brawl-stars.json +0 -4766
  245. package/data/game-codes/games/clash-of-clans.json +0 -4766
  246. package/data/game-codes/games/clash-royale.json +0 -5
  247. package/data/game-codes/games/cookie-run-kingdom.json +0 -5366
  248. package/data/game-codes/games/fortnite.json +0 -897
  249. package/data/game-codes/games/genshin-impact.json +0 -8520
  250. package/data/game-codes/games/honkai-impact-3rd.json +0 -405
  251. package/data/game-codes/games/honkai-star-rail.json +0 -9863
  252. package/data/game-codes/games/neverness-to-everness.json +0 -1695
  253. package/data/game-codes/games/roblox-doors.json +0 -1842
  254. package/data/game-codes/games/roblox-rivals.json +0 -2919
  255. package/data/game-codes/games/tower-of-fantasy.json +0 -2839
  256. package/data/game-codes/games/warframe.json +0 -20824
  257. package/data/game-codes/games/wuthering-waves.json +0 -2477
  258. package/data/game-codes/games/zenless-zone-zero.json +0 -3681
  259. package/data/game-codes/status.json +0 -580
  260. package/data/genshinimpact/characters/aino.json +0 -34
  261. package/data/genshinimpact/characters/albedo.json +0 -12
  262. package/data/genshinimpact/characters/alhaitham.json +0 -13
  263. package/data/genshinimpact/characters/aloy.json +0 -12
  264. package/data/genshinimpact/characters/alyosha.json +0 -34
  265. package/data/genshinimpact/characters/amber.json +0 -13
  266. package/data/genshinimpact/characters/aratakiitto.json +0 -13
  267. package/data/genshinimpact/characters/arlecchino.json +0 -13
  268. package/data/genshinimpact/characters/baizhu.json +0 -13
  269. package/data/genshinimpact/characters/barbara.json +0 -12
  270. package/data/genshinimpact/characters/beidou.json +0 -13
  271. package/data/genshinimpact/characters/bennett.json +0 -12
  272. package/data/genshinimpact/characters/candace.json +0 -13
  273. package/data/genshinimpact/characters/charlotte.json +0 -12
  274. package/data/genshinimpact/characters/chasca.json +0 -12
  275. package/data/genshinimpact/characters/chevreuse.json +0 -12
  276. package/data/genshinimpact/characters/chiori.json +0 -12
  277. package/data/genshinimpact/characters/chongyun.json +0 -13
  278. package/data/genshinimpact/characters/citlali.json +0 -12
  279. package/data/genshinimpact/characters/clorinde.json +0 -12
  280. package/data/genshinimpact/characters/collei.json +0 -13
  281. package/data/genshinimpact/characters/columbina.json +0 -34
  282. package/data/genshinimpact/characters/cyno.json +0 -13
  283. package/data/genshinimpact/characters/dahlia.json +0 -11
  284. package/data/genshinimpact/characters/dehya.json +0 -12
  285. package/data/genshinimpact/characters/diluc.json +0 -12
  286. package/data/genshinimpact/characters/diona.json +0 -12
  287. package/data/genshinimpact/characters/dori.json +0 -12
  288. package/data/genshinimpact/characters/durin.json +0 -12
  289. package/data/genshinimpact/characters/emilie.json +0 -12
  290. package/data/genshinimpact/characters/escoffier.json +0 -13
  291. package/data/genshinimpact/characters/eula.json +0 -12
  292. package/data/genshinimpact/characters/faruzan.json +0 -13
  293. package/data/genshinimpact/characters/fischl.json +0 -13
  294. package/data/genshinimpact/characters/flins.json +0 -34
  295. package/data/genshinimpact/characters/freminet.json +0 -12
  296. package/data/genshinimpact/characters/furina.json +0 -13
  297. package/data/genshinimpact/characters/gaming.json +0 -12
  298. package/data/genshinimpact/characters/ganyu.json +0 -12
  299. package/data/genshinimpact/characters/gorou.json +0 -13
  300. package/data/genshinimpact/characters/hutao.json +0 -13
  301. package/data/genshinimpact/characters/iansan.json +0 -12
  302. package/data/genshinimpact/characters/ifa.json +0 -34
  303. package/data/genshinimpact/characters/illuga.json +0 -34
  304. package/data/genshinimpact/characters/ineffa.json +0 -12
  305. package/data/genshinimpact/characters/jahoda.json +0 -34
  306. package/data/genshinimpact/characters/jean.json +0 -12
  307. package/data/genshinimpact/characters/kachina.json +0 -12
  308. package/data/genshinimpact/characters/kaedeharakazuha.json +0 -13
  309. package/data/genshinimpact/characters/kaeya.json +0 -12
  310. package/data/genshinimpact/characters/kamisatoayaka.json +0 -12
  311. package/data/genshinimpact/characters/kamisatoayato.json +0 -12
  312. package/data/genshinimpact/characters/kaveh.json +0 -13
  313. package/data/genshinimpact/characters/keqing.json +0 -12
  314. package/data/genshinimpact/characters/kinich.json +0 -12
  315. package/data/genshinimpact/characters/kirara.json +0 -12
  316. package/data/genshinimpact/characters/klee.json +0 -12
  317. package/data/genshinimpact/characters/kujousara.json +0 -12
  318. package/data/genshinimpact/characters/kukishinobu.json +0 -13
  319. package/data/genshinimpact/characters/lanyan.json +0 -12
  320. package/data/genshinimpact/characters/lauma.json +0 -34
  321. package/data/genshinimpact/characters/layla.json +0 -12
  322. package/data/genshinimpact/characters/linnea.json +0 -34
  323. package/data/genshinimpact/characters/lisa.json +0 -13
  324. package/data/genshinimpact/characters/lohen.json +0 -12
  325. package/data/genshinimpact/characters/lynette.json +0 -12
  326. package/data/genshinimpact/characters/lyney.json +0 -12
  327. package/data/genshinimpact/characters/mavuika.json +0 -12
  328. package/data/genshinimpact/characters/mika.json +0 -34
  329. package/data/genshinimpact/characters/mikaschmidt.json +0 -12
  330. package/data/genshinimpact/characters/mona.json +0 -13
  331. package/data/genshinimpact/characters/mualani.json +0 -12
  332. package/data/genshinimpact/characters/nahida.json +0 -13
  333. package/data/genshinimpact/characters/navia.json +0 -12
  334. package/data/genshinimpact/characters/nefer.json +0 -34
  335. package/data/genshinimpact/characters/neuvillette.json +0 -12
  336. package/data/genshinimpact/characters/nicole.json +0 -34
  337. package/data/genshinimpact/characters/nilou.json +0 -12
  338. package/data/genshinimpact/characters/ningguang.json +0 -12
  339. package/data/genshinimpact/characters/noelle.json +0 -13
  340. package/data/genshinimpact/characters/odette.json +0 -34
  341. package/data/genshinimpact/characters/ororon.json +0 -12
  342. package/data/genshinimpact/characters/prune.json +0 -11
  343. package/data/genshinimpact/characters/qiqi.json +0 -13
  344. package/data/genshinimpact/characters/raidenshogun.json +0 -13
  345. package/data/genshinimpact/characters/razor.json +0 -12
  346. package/data/genshinimpact/characters/rosaria.json +0 -13
  347. package/data/genshinimpact/characters/sandrone.json +0 -34
  348. package/data/genshinimpact/characters/sangonomiyakokomi.json +0 -13
  349. package/data/genshinimpact/characters/sayu.json +0 -12
  350. package/data/genshinimpact/characters/sethos.json +0 -12
  351. package/data/genshinimpact/characters/shenhe.json +0 -13
  352. package/data/genshinimpact/characters/shikanoinheizou.json +0 -13
  353. package/data/genshinimpact/characters/sigewinne.json +0 -12
  354. package/data/genshinimpact/characters/skirk.json +0 -12
  355. package/data/genshinimpact/characters/sucrose.json +0 -13
  356. package/data/genshinimpact/characters/tartaglia.json +0 -34
  357. package/data/genshinimpact/characters/thoma.json +0 -12
  358. package/data/genshinimpact/characters/tighnari.json +0 -13
  359. package/data/genshinimpact/characters/traveler.json +0 -34
  360. package/data/genshinimpact/characters/varesa.json +0 -12
  361. package/data/genshinimpact/characters/varka.json +0 -11
  362. package/data/genshinimpact/characters/venti.json +0 -13
  363. package/data/genshinimpact/characters/wanderer.json +0 -12
  364. package/data/genshinimpact/characters/wonderlandmanekin.json +0 -34
  365. package/data/genshinimpact/characters/wriothesley.json +0 -13
  366. package/data/genshinimpact/characters/xiangling.json +0 -13
  367. package/data/genshinimpact/characters/xianyun.json +0 -12
  368. package/data/genshinimpact/characters/xiao.json +0 -12
  369. package/data/genshinimpact/characters/xilonen.json +0 -12
  370. package/data/genshinimpact/characters/xingqiu.json +0 -13
  371. package/data/genshinimpact/characters/xinyan.json +0 -13
  372. package/data/genshinimpact/characters/yaemiko.json +0 -13
  373. package/data/genshinimpact/characters/yanfei.json +0 -13
  374. package/data/genshinimpact/characters/yaoyao.json +0 -13
  375. package/data/genshinimpact/characters/yelan.json +0 -12
  376. package/data/genshinimpact/characters/yoimiya.json +0 -13
  377. package/data/genshinimpact/characters/yumemizukimizuki.json +0 -12
  378. package/data/genshinimpact/characters/yunjin.json +0 -12
  379. package/data/genshinimpact/characters/zhongli.json +0 -12
  380. package/data/genshinimpact/characters/zibai.json +0 -12
  381. package/data/genshinimpact/meta.json +0 -14
  382. package/data/honkaistarrail/characters/acheron.json +0 -13
  383. package/data/honkaistarrail/characters/aglaea.json +0 -13
  384. package/data/honkaistarrail/characters/anaxa.json +0 -13
  385. package/data/honkaistarrail/characters/archer.json +0 -29
  386. package/data/honkaistarrail/characters/argenti.json +0 -13
  387. package/data/honkaistarrail/characters/arlan.json +0 -13
  388. package/data/honkaistarrail/characters/ashveil.json +0 -13
  389. package/data/honkaistarrail/characters/asta.json +0 -13
  390. package/data/honkaistarrail/characters/aventurine.json +0 -13
  391. package/data/honkaistarrail/characters/bailu.json +0 -13
  392. package/data/honkaistarrail/characters/blackswan.json +0 -13
  393. package/data/honkaistarrail/characters/blade.json +0 -13
  394. package/data/honkaistarrail/characters/boothill.json +0 -13
  395. package/data/honkaistarrail/characters/bronya.json +0 -13
  396. package/data/honkaistarrail/characters/castorice.json +0 -13
  397. package/data/honkaistarrail/characters/cerydra.json +0 -13
  398. package/data/honkaistarrail/characters/cipher.json +0 -13
  399. package/data/honkaistarrail/characters/clara.json +0 -13
  400. package/data/honkaistarrail/characters/constance.json +0 -13
  401. package/data/honkaistarrail/characters/cyrene.json +0 -13
  402. package/data/honkaistarrail/characters/danheng.json +0 -13
  403. package/data/honkaistarrail/characters/danhengimbibitorlunae.json +0 -29
  404. package/data/honkaistarrail/characters/danhengpermansorterrae.json +0 -29
  405. package/data/honkaistarrail/characters/drratio.json +0 -13
  406. package/data/honkaistarrail/characters/evanescia.json +0 -29
  407. package/data/honkaistarrail/characters/evernight.json +0 -29
  408. package/data/honkaistarrail/characters/feixiao.json +0 -13
  409. package/data/honkaistarrail/characters/firefly.json +0 -13
  410. package/data/honkaistarrail/characters/fugue.json +0 -29
  411. package/data/honkaistarrail/characters/fuxuan.json +0 -13
  412. package/data/honkaistarrail/characters/gallagher.json +0 -13
  413. package/data/honkaistarrail/characters/gepard.json +0 -13
  414. package/data/honkaistarrail/characters/gilgamesh.json +0 -29
  415. package/data/honkaistarrail/characters/guinaifen.json +0 -13
  416. package/data/honkaistarrail/characters/hanya.json +0 -13
  417. package/data/honkaistarrail/characters/herta.json +0 -13
  418. package/data/honkaistarrail/characters/himeko.json +0 -14
  419. package/data/honkaistarrail/characters/himekonova.json +0 -29
  420. package/data/honkaistarrail/characters/hook.json +0 -13
  421. package/data/honkaistarrail/characters/huohuo.json +0 -13
  422. package/data/honkaistarrail/characters/hyacine.json +0 -13
  423. package/data/honkaistarrail/characters/hysilens.json +0 -13
  424. package/data/honkaistarrail/characters/jade.json +0 -13
  425. package/data/honkaistarrail/characters/jiaoqiu.json +0 -13
  426. package/data/honkaistarrail/characters/jingliu.json +0 -13
  427. package/data/honkaistarrail/characters/jingyuan.json +0 -13
  428. package/data/honkaistarrail/characters/kafka.json +0 -13
  429. package/data/honkaistarrail/characters/lingsha.json +0 -13
  430. package/data/honkaistarrail/characters/lisushang.json +0 -13
  431. package/data/honkaistarrail/characters/luka.json +0 -13
  432. package/data/honkaistarrail/characters/luocha.json +0 -13
  433. package/data/honkaistarrail/characters/lynx.json +0 -13
  434. package/data/honkaistarrail/characters/march7th.json +0 -13
  435. package/data/honkaistarrail/characters/misha.json +0 -13
  436. package/data/honkaistarrail/characters/mortenaxblade.json +0 -29
  437. package/data/honkaistarrail/characters/moze.json +0 -13
  438. package/data/honkaistarrail/characters/mydei.json +0 -13
  439. package/data/honkaistarrail/characters/natasha.json +0 -13
  440. package/data/honkaistarrail/characters/pela.json +0 -13
  441. package/data/honkaistarrail/characters/phainon.json +0 -13
  442. package/data/honkaistarrail/characters/qingque.json +0 -13
  443. package/data/honkaistarrail/characters/rappa.json +0 -13
  444. package/data/honkaistarrail/characters/rintohsaka.json +0 -29
  445. package/data/honkaistarrail/characters/robin.json +0 -13
  446. package/data/honkaistarrail/characters/ruanmei.json +0 -13
  447. package/data/honkaistarrail/characters/saber.json +0 -29
  448. package/data/honkaistarrail/characters/sampo.json +0 -13
  449. package/data/honkaistarrail/characters/seele.json +0 -13
  450. package/data/honkaistarrail/characters/serval.json +0 -13
  451. package/data/honkaistarrail/characters/silverwolf.json +0 -13
  452. package/data/honkaistarrail/characters/silverwolflv999.json +0 -29
  453. package/data/honkaistarrail/characters/sparkle.json +0 -13
  454. package/data/honkaistarrail/characters/sparxie.json +0 -29
  455. package/data/honkaistarrail/characters/sunday.json +0 -29
  456. package/data/honkaistarrail/characters/thedahlia.json +0 -29
  457. package/data/honkaistarrail/characters/theherta.json +0 -29
  458. package/data/honkaistarrail/characters/tingyun.json +0 -13
  459. package/data/honkaistarrail/characters/topaz.json +0 -13
  460. package/data/honkaistarrail/characters/topaznumby.json +0 -29
  461. package/data/honkaistarrail/characters/trailblazer.json +0 -29
  462. package/data/honkaistarrail/characters/tribbie.json +0 -13
  463. package/data/honkaistarrail/characters/welt.json +0 -29
  464. package/data/honkaistarrail/characters/weltyang.json +0 -13
  465. package/data/honkaistarrail/characters/xueyi.json +0 -13
  466. package/data/honkaistarrail/characters/yanqing.json +0 -13
  467. package/data/honkaistarrail/characters/yaoguang.json +0 -13
  468. package/data/honkaistarrail/characters/yukong.json +0 -13
  469. package/data/honkaistarrail/characters/yunli.json +0 -13
  470. package/data/honkaistarrail/meta.json +0 -14
  471. package/data/nte/characters/adler.json +0 -15
  472. package/data/nte/characters/aurelia.json +0 -15
  473. package/data/nte/characters/baicang.json +0 -15
  474. package/data/nte/characters/chaos.json +0 -15
  475. package/data/nte/characters/chiz.json +0 -15
  476. package/data/nte/characters/daffodill.json +0 -15
  477. package/data/nte/characters/edgar.json +0 -15
  478. package/data/nte/characters/esperzero.json +0 -15
  479. package/data/nte/characters/fadia.json +0 -15
  480. package/data/nte/characters/haniel.json +0 -15
  481. package/data/nte/characters/hathor.json +0 -15
  482. package/data/nte/characters/hotori.json +0 -15
  483. package/data/nte/characters/iroi.json +0 -15
  484. package/data/nte/characters/jiuyuan.json +0 -15
  485. package/data/nte/characters/lacrimosa.json +0 -15
  486. package/data/nte/characters/mint.json +0 -15
  487. package/data/nte/characters/nanally.json +0 -15
  488. package/data/nte/characters/sakiri.json +0 -15
  489. package/data/nte/characters/shinku.json +0 -15
  490. package/data/nte/characters/skia.json +0 -15
  491. package/data/nte/characters/zankou.json +0 -51
  492. package/data/nte/meta.json +0 -14
  493. package/data/toweroffantasy/characters/alyss.json +0 -27
  494. package/data/toweroffantasy/characters/annabella.json +0 -23
  495. package/data/toweroffantasy/characters/asuka.json +0 -23
  496. package/data/toweroffantasy/characters/bailing.json +0 -23
  497. package/data/toweroffantasy/characters/brevey.json +0 -23
  498. package/data/toweroffantasy/characters/claudia.json +0 -23
  499. package/data/toweroffantasy/characters/cobaltb.json +0 -23
  500. package/data/toweroffantasy/characters/cocoritter.json +0 -23
  501. package/data/toweroffantasy/characters/crow.json +0 -23
  502. package/data/toweroffantasy/characters/echo.json +0 -23
  503. package/data/toweroffantasy/characters/ene.json +0 -23
  504. package/data/toweroffantasy/characters/feise.json +0 -25
  505. package/data/toweroffantasy/characters/fenrir.json +0 -23
  506. package/data/toweroffantasy/characters/fiona.json +0 -25
  507. package/data/toweroffantasy/characters/frigg.json +0 -23
  508. package/data/toweroffantasy/characters/gnonno.json +0 -23
  509. package/data/toweroffantasy/characters/hilda.json +0 -23
  510. package/data/toweroffantasy/characters/huang.json +0 -25
  511. package/data/toweroffantasy/characters/huma.json +0 -25
  512. package/data/toweroffantasy/characters/icarus.json +0 -23
  513. package/data/toweroffantasy/characters/jiyu.json +0 -25
  514. package/data/toweroffantasy/characters/king.json +0 -23
  515. package/data/toweroffantasy/characters/lan.json +0 -25
  516. package/data/toweroffantasy/characters/lin.json +0 -23
  517. package/data/toweroffantasy/characters/linghan.json +0 -23
  518. package/data/toweroffantasy/characters/liuhuo.json +0 -23
  519. package/data/toweroffantasy/characters/lyra.json +0 -23
  520. package/data/toweroffantasy/characters/meryl.json +0 -23
  521. package/data/toweroffantasy/characters/mingjing.json +0 -27
  522. package/data/toweroffantasy/characters/nanyin.json +0 -25
  523. package/data/toweroffantasy/characters/nemesis.json +0 -25
  524. package/data/toweroffantasy/characters/pepper.json +0 -23
  525. package/data/toweroffantasy/characters/plotti.json +0 -25
  526. package/data/toweroffantasy/characters/roslyn.json +0 -23
  527. package/data/toweroffantasy/characters/rubilia.json +0 -25
  528. package/data/toweroffantasy/characters/ruby.json +0 -25
  529. package/data/toweroffantasy/characters/sakifuwa.json +0 -23
  530. package/data/toweroffantasy/characters/samir.json +0 -23
  531. package/data/toweroffantasy/characters/shiro.json +0 -25
  532. package/data/toweroffantasy/characters/tianlang.json +0 -25
  533. package/data/toweroffantasy/characters/tsubasa.json +0 -23
  534. package/data/toweroffantasy/characters/umi.json +0 -23
  535. package/data/toweroffantasy/characters/yanmiao.json +0 -25
  536. package/data/toweroffantasy/characters/yanuo.json +0 -23
  537. package/data/toweroffantasy/characters/yulan.json +0 -23
  538. package/data/toweroffantasy/characters/zero.json +0 -23
  539. package/data/toweroffantasy/meta.json +0 -14
  540. package/data/vrchat/groups/clubzodiac.json +0 -8
  541. package/data/vrchat/groups/dirtydancers.json +0 -8
  542. package/data/vrchat/groups/drumsynews.json +0 -8
  543. package/data/vrchat/groups/ebola20.json +0 -8
  544. package/data/vrchat/groups/internationaldancersassociation.json +0 -8
  545. package/data/vrchat/groups/kannagang.json +0 -7
  546. package/data/vrchat/groups/lolisquad.json +0 -8
  547. package/data/vrchat/groups/nekonightsnightclub.json +0 -8
  548. package/data/vrchat/groups/nekostudios.json +0 -8
  549. package/data/vrchat/groups/nekosunecommunity.json +0 -8
  550. package/data/vrchat/groups/voidclub.json +0 -8
  551. package/data/vrchat/groups/voltdanceclub.json +0 -8
  552. package/data/vrchat/groups/vrceventsgroup.json +0 -8
  553. package/data/vrchat/groups/vrchatcommunitydiscord.json +0 -7
  554. package/data/vrchat/meta.json +0 -13
  555. package/data/vrchat/players/alto.json +0 -10
  556. package/data/vrchat/players/arcadum.json +0 -11
  557. package/data/vrchat/players/chairhandler.json +0 -10
  558. package/data/vrchat/players/chipz.json +0 -10
  559. package/data/vrchat/players/hikarivr.json +0 -11
  560. package/data/vrchat/players/kimple.json +0 -11
  561. package/data/vrchat/players/linkzr.json +0 -9
  562. package/data/vrchat/players/nagzz21.json +0 -10
  563. package/data/vrchat/players/nebride.json +0 -11
  564. package/data/vrchat/players/nekosunevr.json +0 -11
  565. package/data/vrchat/players/pokelawls.json +0 -10
  566. package/data/vrchat/players/qwonk.json +0 -9
  567. package/data/vrchat/players/roflgator.json +0 -11
  568. package/data/vrchat/players/scifri.json +0 -8
  569. package/data/vrchat/players/sodapoppin.json +0 -10
  570. package/data/vrchat/players/woops.json +0 -10
  571. package/data/vrchat/players/zentreya.json +0 -11
  572. package/data/vrchat/worlds/ascensionacademy.json +0 -8
  573. package/data/vrchat/worlds/clubvgl.json +0 -9
  574. package/data/vrchat/worlds/fightfinder.json +0 -9
  575. package/data/vrchat/worlds/hangouthouse.json +0 -8
  576. package/data/vrchat/worlds/nekostudioshalloween.json +0 -10
  577. package/data/vrchat/worlds/nekostudiosnewyear.json +0 -10
  578. package/data/vrchat/worlds/nekostudiosxmas.json +0 -10
  579. package/data/vrchat/worlds/nekosunevranimations2023.json +0 -10
  580. package/data/vrchat/worlds/nekosunevranimations20232024.json +0 -10
  581. package/data/vrchat/worlds/nekosunevranimations2024.json +0 -10
  582. package/data/vrchat/worlds/nekosunevranimations2025.json +0 -10
  583. package/data/vrchat/worlds/rumhamsavatarworld.json +0 -8
  584. package/data/vrchat/worlds/smewsranch.json +0 -8
  585. package/data/vrchat/worlds/smewsroom.json +0 -8
  586. package/data/vrchat/worlds/sunsetbar.json +0 -8
  587. package/data/vrchat/worlds/theblackcat.json +0 -10
  588. package/data/vrchat/worlds/thegreatpug.json +0 -9
  589. package/data/vrchat/worlds/themidnightbar.json +0 -8
  590. package/data/vrchat/worlds/voidclub.json +0 -8
  591. package/data/vrchat/worlds/voltdanceclub.json +0 -8
  592. package/data/vrchat/worlds/vrchathome.json +0 -9
  593. package/data/vrchat/worlds/whatalegend.json +0 -7
  594. package/data/warframe/characters/amesha.json +0 -226
  595. package/data/warframe/characters/ash.json +0 -1354
  596. package/data/warframe/characters/ashprime.json +0 -1994
  597. package/data/warframe/characters/atlas.json +0 -916
  598. package/data/warframe/characters/atlasprime.json +0 -1632
  599. package/data/warframe/characters/banshee.json +0 -1036
  600. package/data/warframe/characters/bansheeprime.json +0 -1750
  601. package/data/warframe/characters/baruuk.json +0 -555
  602. package/data/warframe/characters/baruukprime.json +0 -1298
  603. package/data/warframe/characters/bonewidow.json +0 -354
  604. package/data/warframe/characters/caliban.json +0 -434
  605. package/data/warframe/characters/calibanprime.json +0 -683
  606. package/data/warframe/characters/chroma.json +0 -1344
  607. package/data/warframe/characters/chromaprime.json +0 -1977
  608. package/data/warframe/characters/citrine.json +0 -220
  609. package/data/warframe/characters/cyte09.json +0 -218
  610. package/data/warframe/characters/dagath.json +0 -194
  611. package/data/warframe/characters/dante.json +0 -223
  612. package/data/warframe/characters/elytron.json +0 -300
  613. package/data/warframe/characters/ember.json +0 -1209
  614. package/data/warframe/characters/emberprime.json +0 -1678
  615. package/data/warframe/characters/equinox.json +0 -958
  616. package/data/warframe/characters/equinoxprime.json +0 -1644
  617. package/data/warframe/characters/excalibur.json +0 -1603
  618. package/data/warframe/characters/excaliburprime.json +0 -1524
  619. package/data/warframe/characters/excaliburumbra.json +0 -397
  620. package/data/warframe/characters/follie.json +0 -246
  621. package/data/warframe/characters/frost.json +0 -1330
  622. package/data/warframe/characters/frostprime.json +0 -1686
  623. package/data/warframe/characters/gara.json +0 -925
  624. package/data/warframe/characters/garaprime.json +0 -1494
  625. package/data/warframe/characters/garuda.json +0 -851
  626. package/data/warframe/characters/garudaprime.json +0 -1449
  627. package/data/warframe/characters/gauss.json +0 -506
  628. package/data/warframe/characters/gaussprime.json +0 -1077
  629. package/data/warframe/characters/grendel.json +0 -463
  630. package/data/warframe/characters/grendelprime.json +0 -772
  631. package/data/warframe/characters/gyre.json +0 -381
  632. package/data/warframe/characters/gyreprime.json +0 -403
  633. package/data/warframe/characters/harrow.json +0 -916
  634. package/data/warframe/characters/harrowprime.json +0 -1700
  635. package/data/warframe/characters/helminth.json +0 -220
  636. package/data/warframe/characters/hildryn.json +0 -627
  637. package/data/warframe/characters/hildrynprime.json +0 -996
  638. package/data/warframe/characters/hydroid.json +0 -1028
  639. package/data/warframe/characters/hydroidprime.json +0 -1621
  640. package/data/warframe/characters/inaros.json +0 -976
  641. package/data/warframe/characters/inarosprime.json +0 -1721
  642. package/data/warframe/characters/itzal.json +0 -465
  643. package/data/warframe/characters/ivara.json +0 -1349
  644. package/data/warframe/characters/ivaraprime.json +0 -1921
  645. package/data/warframe/characters/jade.json +0 -240
  646. package/data/warframe/characters/khora.json +0 -804
  647. package/data/warframe/characters/khoraprime.json +0 -1403
  648. package/data/warframe/characters/koumei.json +0 -221
  649. package/data/warframe/characters/kullervo.json +0 -191
  650. package/data/warframe/characters/lavos.json +0 -511
  651. package/data/warframe/characters/lavosprime.json +0 -711
  652. package/data/warframe/characters/limbo.json +0 -1363
  653. package/data/warframe/characters/limboprime.json +0 -2084
  654. package/data/warframe/characters/loki.json +0 -1209
  655. package/data/warframe/characters/lokiprime.json +0 -1457
  656. package/data/warframe/characters/mag.json +0 -2089
  657. package/data/warframe/characters/magprime.json +0 -2532
  658. package/data/warframe/characters/mesa.json +0 -1195
  659. package/data/warframe/characters/mesaprime.json +0 -2059
  660. package/data/warframe/characters/mirage.json +0 -1561
  661. package/data/warframe/characters/mirageprime.json +0 -2257
  662. package/data/warframe/characters/nekros.json +0 -1235
  663. package/data/warframe/characters/nekrosprime.json +0 -1882
  664. package/data/warframe/characters/nezha.json +0 -868
  665. package/data/warframe/characters/nezhaprime.json +0 -1695
  666. package/data/warframe/characters/nidus.json +0 -1027
  667. package/data/warframe/characters/nidusprime.json +0 -1706
  668. package/data/warframe/characters/nokko.json +0 -308
  669. package/data/warframe/characters/nova.json +0 -1226
  670. package/data/warframe/characters/novaprime.json +0 -1667
  671. package/data/warframe/characters/nyx.json +0 -1610
  672. package/data/warframe/characters/nyxprime.json +0 -1967
  673. package/data/warframe/characters/oberon.json +0 -1249
  674. package/data/warframe/characters/oberonprime.json +0 -1872
  675. package/data/warframe/characters/octavia.json +0 -1049
  676. package/data/warframe/characters/octaviaprime.json +0 -1735
  677. package/data/warframe/characters/odonata.json +0 -336
  678. package/data/warframe/characters/odonataprime.json +0 -787
  679. package/data/warframe/characters/oraxia.json +0 -246
  680. package/data/warframe/characters/orionsirius.json +0 -134
  681. package/data/warframe/characters/protea.json +0 -521
  682. package/data/warframe/characters/proteaprime.json +0 -992
  683. package/data/warframe/characters/qorvex.json +0 -214
  684. package/data/warframe/characters/revenant.json +0 -931
  685. package/data/warframe/characters/revenantprime.json +0 -1494
  686. package/data/warframe/characters/rhino.json +0 -1344
  687. package/data/warframe/characters/rhinoprime.json +0 -1675
  688. package/data/warframe/characters/saryn.json +0 -1210
  689. package/data/warframe/characters/sarynprime.json +0 -2042
  690. package/data/warframe/characters/sevagoth.json +0 -478
  691. package/data/warframe/characters/sevagothprime.json +0 -910
  692. package/data/warframe/characters/siriusorion.json +0 -247
  693. package/data/warframe/characters/styanax.json +0 -320
  694. package/data/warframe/characters/styanaxprime.json +0 -321
  695. package/data/warframe/characters/temple.json +0 -271
  696. package/data/warframe/characters/titania.json +0 -1227
  697. package/data/warframe/characters/titaniaprime.json +0 -2000
  698. package/data/warframe/characters/trinity.json +0 -1097
  699. package/data/warframe/characters/trinityprime.json +0 -1849
  700. package/data/warframe/characters/uriel.json +0 -215
  701. package/data/warframe/characters/valkyr.json +0 -1165
  702. package/data/warframe/characters/valkyrprime.json +0 -1969
  703. package/data/warframe/characters/vauban.json +0 -1067
  704. package/data/warframe/characters/vaubanprime.json +0 -1614
  705. package/data/warframe/characters/voidrig.json +0 -355
  706. package/data/warframe/characters/volt.json +0 -1324
  707. package/data/warframe/characters/voltprime.json +0 -1843
  708. package/data/warframe/characters/voruna.json +0 -293
  709. package/data/warframe/characters/vorunaprime.json +0 -431
  710. package/data/warframe/characters/wisp.json +0 -824
  711. package/data/warframe/characters/wispprime.json +0 -908
  712. package/data/warframe/characters/wukong.json +0 -927
  713. package/data/warframe/characters/wukongprime.json +0 -1754
  714. package/data/warframe/characters/xaku.json +0 -620
  715. package/data/warframe/characters/xakuprime.json +0 -879
  716. package/data/warframe/characters/yareli.json +0 -409
  717. package/data/warframe/characters/yareliprime.json +0 -683
  718. package/data/warframe/characters/zephyr.json +0 -1149
  719. package/data/warframe/characters/zephyrprime.json +0 -1864
  720. package/data/warframe/meta.json +0 -14
  721. package/data/wutheringwaves/meta.json +0 -14
  722. package/data/zenlesszonezero/meta.json +0 -14
  723. package/gamecodes.js +0 -204
  724. package/scripts/cache-sync-smoke.js +0 -139
  725. package/scripts/game-code-cache-smoke.js +0 -125
  726. package/scripts/sync-all-cache.js +0 -18
  727. package/scripts/sync-api-cache.js +0 -368
  728. package/scripts/sync-game-code-cache.js +0 -283
  729. package/scripts/sync-gaming-info-cache.js +0 -46
package/index.js CHANGED
@@ -1,226 +1,4 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const gameCodes = require('./gamecodes');
1
+ 'use strict';
2
+ const { createClient, createWarframe, createVRChat, listProviders, providers } = require('./src/registry');
4
3
 
5
- const DATA_DIR = path.join(__dirname, 'data');
6
- const DEFAULT_API_BASE = 'https://api.nekosunevr.co.uk';
7
- const DEFAULT_API_PATH = '/v5/games/api/gaming-infos';
8
- const DEFAULT_TIMEOUT_MS = 4000;
9
-
10
- function apiBase() {
11
- return (process.env.GAMING_INFOS_API_BASE || DEFAULT_API_BASE).replace(/\/+$/, '');
12
- }
13
-
14
- function apiPath() {
15
- return process.env.GAMING_INFOS_API_PATH || DEFAULT_API_PATH;
16
- }
17
-
18
- function apiDisabled() {
19
- return process.env.GAMING_INFOS_DISABLE_API === '1' || process.env.GAMING_INFOS_DISABLE_API === 'true';
20
- }
21
-
22
- function timeoutMs() {
23
- const raw = Number(process.env.GAMING_INFOS_TIMEOUT_MS);
24
- return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_TIMEOUT_MS;
25
- }
26
-
27
- function withLocalSlug(filePath, data) {
28
- if (!data || Array.isArray(data) || typeof data !== 'object' || data.slug) return data;
29
- return { ...data, slug: path.basename(filePath, '.json').toLowerCase() };
30
- }
31
-
32
- // Live lookups go through the NekoSuneVR V5 API first so data can be updated
33
- // in real time without republishing this package. The bundled JSON under
34
- // data/ is the offline fallback and is mirrored from APINODE by the hourly
35
- // change-watch workflow.
36
- async function fetchFromApi(game, type, name) {
37
- if (apiDisabled() || typeof fetch !== 'function') return null;
38
-
39
- const url = `${apiBase()}${apiPath()}/${encodeURIComponent(game.toLowerCase())}/${encodeURIComponent(type)}/${encodeURIComponent(name.toLowerCase())}`;
40
- const controller = new AbortController();
41
- const timer = setTimeout(() => controller.abort(), timeoutMs());
42
-
43
- try {
44
- const res = await fetch(url, { signal: controller.signal });
45
- if (!res.ok) return null;
46
- const body = await res.json();
47
- if (!body || body.success === false) return null;
48
- return body.data !== undefined ? body.data : body;
49
- } catch (err) {
50
- return null;
51
- } finally {
52
- clearTimeout(timer);
53
- }
54
- }
55
-
56
- async function loadLocal(game, type, name) {
57
- const filePath = path.join(DATA_DIR, game.toLowerCase(), type, `${name.toLowerCase()}.json`);
58
- if (!fs.existsSync(filePath)) {
59
- throw new Error(`${type} "${name}" not found for game "${game}"`);
60
- }
61
-
62
- const raw = await fs.promises.readFile(filePath, 'utf8');
63
- return withLocalSlug(filePath, JSON.parse(raw));
64
- }
65
-
66
- async function fetchListFromApi(game, type) {
67
- if (apiDisabled() || typeof fetch !== 'function') return null;
68
-
69
- const url = `${apiBase()}${apiPath()}/${encodeURIComponent(game.toLowerCase())}/${encodeURIComponent(type)}`;
70
- const controller = new AbortController();
71
- const timer = setTimeout(() => controller.abort(), timeoutMs());
72
-
73
- try {
74
- const res = await fetch(url, { signal: controller.signal });
75
- if (!res.ok) return null;
76
- const body = await res.json();
77
- if (!body || body.success === false) return null;
78
- const data = body.data !== undefined ? body.data : body;
79
- return Array.isArray(data) ? data : null;
80
- } catch (err) {
81
- return null;
82
- } finally {
83
- clearTimeout(timer);
84
- }
85
- }
86
-
87
- async function listLocal(game, type) {
88
- const dir = path.join(DATA_DIR, game.toLowerCase(), type);
89
- if (!fs.existsSync(dir)) return [];
90
-
91
- const files = (await fs.promises.readdir(dir)).filter((file) => file.endsWith('.json')).sort((a, b) => a.localeCompare(b));
92
- const items = [];
93
- for (const file of files) {
94
- const filePath = path.join(dir, file);
95
- const raw = await fs.promises.readFile(filePath, 'utf8');
96
- items.push(withLocalSlug(filePath, JSON.parse(raw)));
97
- }
98
- return items;
99
- }
100
-
101
- async function list(game, type) {
102
- if (!game || !type) {
103
- return { error: 'game and type are both required' };
104
- }
105
-
106
- const fromApi = await fetchListFromApi(game, type);
107
- if (fromApi) return fromApi;
108
-
109
- try {
110
- return await listLocal(game, type);
111
- } catch (err) {
112
- return { error: err.message };
113
- }
114
- }
115
-
116
- async function fetchGamesFromApi() {
117
- if (apiDisabled() || typeof fetch !== 'function') return null;
118
-
119
- const url = `${apiBase()}${apiPath()}`;
120
- const controller = new AbortController();
121
- const timer = setTimeout(() => controller.abort(), timeoutMs());
122
-
123
- try {
124
- const res = await fetch(url, { signal: controller.signal });
125
- if (!res.ok) return null;
126
- const body = await res.json();
127
- if (!body || body.success === false) return null;
128
- const data = body.data !== undefined ? body.data : body;
129
- return Array.isArray(data) ? data : null;
130
- } catch (err) {
131
- return null;
132
- } finally {
133
- clearTimeout(timer);
134
- }
135
- }
136
-
137
- async function listGamesLocal() {
138
- const entries = await fs.promises.readdir(DATA_DIR, { withFileTypes: true });
139
- const games = [];
140
- for (const entry of entries) {
141
- if (!entry.isDirectory() || entry.name.startsWith('.') || entry.name === 'game-codes') continue;
142
- const metaPath = path.join(DATA_DIR, entry.name, 'meta.json');
143
- if (!fs.existsSync(metaPath)) continue;
144
- const raw = await fs.promises.readFile(metaPath, 'utf8');
145
- games.push(JSON.parse(raw));
146
- }
147
- return games;
148
- }
149
-
150
- async function games() {
151
- const fromApi = await fetchGamesFromApi();
152
- if (fromApi) return fromApi;
153
-
154
- try {
155
- return await listGamesLocal();
156
- } catch (err) {
157
- return { error: err.message };
158
- }
159
- }
160
-
161
- async function load(game, type, name) {
162
- if (!game || !type || !name) {
163
- return { error: 'game, type, and name are all required' };
164
- }
165
-
166
- const fromApi = await fetchFromApi(game, type, name);
167
- if (fromApi) return fromApi;
168
-
169
- try {
170
- return await loadLocal(game, type, name);
171
- } catch (err) {
172
- return { error: err.message };
173
- }
174
- }
175
-
176
- async function loadGameMeta(game) {
177
- if (!game) return { error: 'game is required' };
178
-
179
- const fromApi = await fetchFromApi(game, 'meta', game);
180
- if (fromApi) return fromApi;
181
-
182
- try {
183
- const filePath = path.join(DATA_DIR, game.toLowerCase(), 'meta.json');
184
- if (!fs.existsSync(filePath)) {
185
- throw new Error(`meta info for game "${game}" not found`);
186
- }
187
-
188
- const raw = await fs.promises.readFile(filePath, 'utf8');
189
- return JSON.parse(raw);
190
- } catch (err) {
191
- return { error: err.message };
192
- }
193
- }
194
-
195
- async function cacheInfo() {
196
- try {
197
- const filePath = path.join(DATA_DIR, '.cache-manifest.json');
198
- if (!fs.existsSync(filePath)) return null;
199
- return JSON.parse(await fs.promises.readFile(filePath, 'utf8'));
200
- } catch (err) {
201
- return { error: err.message };
202
- }
203
- }
204
-
205
- module.exports = {
206
- Games: () => games(),
207
- Game: (game) => loadGameMeta(game),
208
- Worlds: (game, name) => load(game, 'worlds', name),
209
- Groups: (game, name) => load(game, 'groups', name),
210
- Players: (game, name) => load(game, 'players', name),
211
- Avatars: (game, name) => load(game, 'avatars', name),
212
- Characters: (game, name) => load(game, 'characters', name),
213
- NPCs: (game, name) => load(game, 'npcs', name),
214
- Maps: (game, name) => load(game, 'maps', name),
215
- Get: (game, type, name) => load(game, type, name),
216
- List: (game, type) => list(game, type),
217
- CacheInfo: () => cacheInfo(),
218
-
219
- // Game redeem/creator code API helpers. These also use live APINODE first and
220
- // automatically fall back to the hourly mirrored data/game-codes snapshot.
221
- Codes: gameCodes.Codes,
222
- CodesStatus: gameCodes.CodesStatus,
223
- GameCodes: gameCodes.GameCodes,
224
- GameCode: gameCodes.GameCode,
225
- CodeCacheInfo: gameCodes.CodeCacheInfo
226
- };
4
+ module.exports = Object.freeze({ createClient, createWarframe, createVRChat, listProviders, providers });
package/package.json CHANGED
@@ -1,60 +1,55 @@
1
1
  {
2
- "name": "@nekosuneprojects/gaming-infos",
3
- "version": "2.4.0",
4
- "description": "Multi-game data loader for VRChat, Fortnite, Call of Duty, character/NPC/map datasets, and game redeem/creator codes. Uses the NekoSuneVR V5 API first with automatically mirrored local JSON fallbacks.",
5
- "main": "index.js",
6
- "type": "commonjs",
7
- "engines": {
8
- "node": ">=18"
9
- },
10
- "scripts": {
11
- "sync:cache": "node scripts/sync-all-cache.js",
12
- "sync:gaming-infos-cache": "node scripts/sync-gaming-info-cache.js",
13
- "sync:game-codes-cache": "node scripts/sync-game-code-cache.js",
14
- "test:cache-sync": "node scripts/cache-sync-smoke.js",
15
- "test:game-code-cache": "node scripts/game-code-cache-smoke.js",
16
- "test:all-cache": "npm run test:cache-sync && npm run test:game-code-cache"
17
- },
18
- "repository": {
19
- "type": "git",
20
- "url": "https://github.com/NekoSuneProjects/gaming-infos.git"
21
- },
22
- "bugs": {
23
- "url": "https://github.com/NekoSuneProjects/gaming-infos/issues"
24
- },
25
- "funding": "https://github.com/NekoSuneProjects/gaming-infos?sponsor",
26
- "keywords": [
27
- "gaming",
28
- "infos",
29
- "game-codes",
30
- "redeem-codes",
31
- "creator-codes",
32
- "vrchat",
33
- "genshin-impact",
34
- "wuthering-waves",
35
- "warframe",
36
- "fortnite",
37
- "fortnite-skins",
38
- "fortnite-npcs",
39
- "fortnite-maps",
40
- "call-of-duty",
41
- "cod",
42
- "modern-warfare",
43
- "black-ops",
44
- "call-of-duty-maps",
45
- "call-of-duty-characters",
46
- "call-of-duty-npcs",
47
- "zenless-zone-zero",
48
- "tower-of-fantasy",
49
- "arknights-endfield",
50
- "worlds",
51
- "groups",
52
- "players",
53
- "avatars",
54
- "characters",
55
- "npcs",
56
- "maps"
57
- ],
58
- "author": "NekoSuneVR",
59
- "license": "MIT"
2
+ "name": "@nekosuneprojects/gaming-infos",
3
+ "version": "3.0.1",
4
+ "description": "Modular multi-game information SDK using independently versioned Warframe and VRChat providers.",
5
+ "main": "index.js",
6
+ "type": "commonjs",
7
+ "engines": {
8
+ "node": ">=18"
9
+ },
10
+ "scripts": {
11
+ "test": "node --test",
12
+ "check": "node --check index.js && node --check src/registry.js && node --check src/providers/warframe.js && node --check src/providers/vrchat.js",
13
+ "prepack": "npm run check && npm test"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/NekoSuneProjectsNPM/gaming-infos.git"
18
+ },
19
+ "bugs": {
20
+ "url": "https://github.com/NekoSuneProjectsNPM/gaming-infos/issues"
21
+ },
22
+ "funding": "https://github.com/NekoSuneProjectsNPM/gaming-infos?sponsor",
23
+ "keywords": [
24
+ "gaming",
25
+ "game-data",
26
+ "modular",
27
+ "warframe",
28
+ "warframe-api",
29
+ "worldstate",
30
+ "redeem-codes",
31
+ "vrchat",
32
+ "vrchat-api",
33
+ "worlds",
34
+ "groups",
35
+ "avatars",
36
+ "avatar-search"
37
+ ],
38
+ "author": "NekoSuneVR",
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "@nekosuneprojects/warframe-api": "1.0.1",
42
+ "@nekosuneprojects/vrchat-api": "1.0.0"
43
+ },
44
+ "files": [
45
+ "index.js",
46
+ "src/",
47
+ "README.md",
48
+ "CHANGELOG.md",
49
+ "LICENSE"
50
+ ],
51
+ "publishConfig": {
52
+ "access": "public",
53
+ "registry": "https://registry.npmjs.org/"
54
+ }
60
55
  }
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+ const VRChat = require('@nekosuneprojects/vrchat-api');
3
+
4
+ function create(options = {}) {
5
+ if (!options || typeof options !== 'object' || Array.isArray(options)) {
6
+ throw new TypeError('VRChat options must be an object');
7
+ }
8
+ return VRChat(options);
9
+ }
10
+
11
+ module.exports = Object.freeze({ id: 'vrchat', create });
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+ const Warframe = require('@nekosuneprojects/warframe-api');
3
+ function create(options = {}) {
4
+ if (!options || typeof options !== 'object' || Array.isArray(options)) throw new TypeError('Warframe options must be an object');
5
+ return Warframe(options);
6
+ }
7
+ module.exports = Object.freeze({ id: 'warframe', create });
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+ const warframe = require('./providers/warframe');
3
+ const vrchat = require('./providers/vrchat');
4
+
5
+ const providers = Object.freeze({ warframe, vrchat });
6
+
7
+ function listProviders() { return Object.keys(providers); }
8
+
9
+ function createClient(game, options = {}) {
10
+ if (typeof game !== 'string' || !game.trim()) {
11
+ throw new TypeError('Game must be a non-empty string');
12
+ }
13
+ const key = game.trim().toLowerCase();
14
+ if (!Object.hasOwn(providers, key)) {
15
+ throw new RangeError(`Game provider not installed: ${game}`);
16
+ }
17
+ return providers[key].create(options);
18
+ }
19
+
20
+ function createWarframe(options = {}) { return createClient('warframe', options); }
21
+ function createVRChat(options = {}) { return createClient('vrchat', options); }
22
+
23
+ module.exports = { createClient, createWarframe, createVRChat, listProviders, providers };
@@ -1,56 +0,0 @@
1
- name: Node.js Package GitHub Mode
2
-
3
- on:
4
- release:
5
- types:
6
- - published
7
-
8
- permissions:
9
- contents: write
10
- issues: write
11
- pull-requests: write
12
- packages: write
13
-
14
- jobs:
15
- build:
16
- runs-on: ubuntu-latest
17
- steps:
18
- - name: Checkout repository
19
- uses: actions/checkout@v4
20
-
21
- - name: Setup Node.js
22
- uses: actions/setup-node@v4
23
- with:
24
- node-version: 24
25
-
26
- - name: Install dependencies
27
- run: npm ci
28
-
29
- publish-gpr:
30
- needs: build
31
- runs-on: ubuntu-latest
32
- steps:
33
- - name: Checkout repository
34
- uses: actions/checkout@v4
35
-
36
- - name: Setup Node.js for GitHub Packages
37
- uses: actions/setup-node@v4
38
- with:
39
- node-version: 24
40
- registry-url: https://npm.pkg.github.com/
41
-
42
- - name: Install dependencies
43
- run: npm ci
44
-
45
- # Read version from package.json
46
- - name: Read version from package.json
47
- id: read_version
48
- run: |
49
- VERSION=$(node -p "require('./package.json').version")
50
- echo "VERSION=$VERSION" >> $GITHUB_ENV
51
-
52
- # Publish package to GitHub Packages
53
- - name: Publish to GitHub Packages
54
- run: npm publish
55
- env:
56
- NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,71 +0,0 @@
1
- name: Node.js Package NPMJS
2
-
3
- on:
4
- release:
5
- types:
6
- - published
7
-
8
- permissions:
9
- contents: write
10
- issues: write
11
- pull-requests: write
12
- packages: write
13
-
14
- jobs:
15
- release:
16
- runs-on: ubuntu-latest
17
- steps:
18
- # Checkout project repository
19
- - name: Checkout
20
- uses: actions/checkout@v4
21
-
22
- # Setup Node.js environment
23
- - name: Setup Node.js
24
- uses: actions/setup-node@v4
25
- with:
26
- node-version: '24'
27
- registry-url: 'https://registry.npmjs.org/'
28
-
29
- # Read current package version
30
- - name: Read version from package.json
31
- id: read_version
32
- run: |
33
- VERSION=$(node -p "require('./package.json').version")
34
- echo "VERSION=$VERSION" >> $GITHUB_ENV
35
-
36
- # Publish version to npm
37
- - name: Publish to npm
38
- run: npm publish --access public
39
- env:
40
- NODE_AUTH_TOKEN: ${{ secrets.npm_token }}
41
-
42
- # Read the release notes from the already-versioned changelog.
43
- - id: get_changelog
44
- name: Get version changelog
45
- shell: bash
46
- run: |
47
- CHANGELOG=$(awk -v version="${VERSION}" '
48
- $0 ~ "^## \\[?" version "\\]?([[:space:]]+-|$)" { found=1; next }
49
- found && /^## / { exit }
50
- found { print }
51
- ' CHANGELOG.md)
52
-
53
- if [[ -z "${CHANGELOG}" ]]; then
54
- echo "No changelog section found for version ${VERSION}" >&2
55
- exit 1
56
- fi
57
-
58
- {
59
- echo 'changelog<<CHANGELOG_EOF'
60
- echo "${CHANGELOG}"
61
- echo 'CHANGELOG_EOF'
62
- } >> "${GITHUB_OUTPUT}"
63
-
64
- # Update GitHub release
65
- - name: Create or update GitHub Release
66
- uses: softprops/action-gh-release@v2
67
- with:
68
- tag_name: v${{ env.VERSION }}
69
- body: ${{ steps.get_changelog.outputs.changelog }}
70
- env:
71
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,73 +0,0 @@
1
- name: Sync APINODE fallback caches
2
-
3
- on:
4
- workflow_dispatch:
5
- schedule:
6
- # Hourly change-watch at minute 23. The mirror hashes API content and only
7
- # commits when APINODE actually added, changed, repaired or removed data.
8
- - cron: "23 * * * *"
9
- push:
10
- branches:
11
- - main
12
- paths:
13
- - "scripts/sync-api-cache.js"
14
- - "scripts/sync-gaming-info-cache.js"
15
- - "scripts/sync-game-code-cache.js"
16
- - "scripts/sync-all-cache.js"
17
- - "scripts/cache-sync-smoke.js"
18
- - "scripts/game-code-cache-smoke.js"
19
- - "gamecodes.js"
20
- - "index.js"
21
- - "package.json"
22
- - "CACHE_SYNC.md"
23
- - ".github/workflows/sync-api-cache.yml"
24
-
25
- permissions:
26
- contents: write
27
-
28
- concurrency:
29
- group: gaming-infos-api-cache
30
- cancel-in-progress: false
31
-
32
- jobs:
33
- sync:
34
- runs-on: ubuntu-latest
35
- steps:
36
- - name: Checkout
37
- uses: actions/checkout@v4
38
- with:
39
- fetch-depth: 0
40
-
41
- - name: Use Node.js 22
42
- uses: actions/setup-node@v4
43
- with:
44
- node-version: 22
45
-
46
- - name: Test atomic cache behavior
47
- run: npm run test:all-cache
48
-
49
- - name: Mirror APINODE gaming-infos and game codes
50
- run: npm run sync:cache
51
- env:
52
- GAMING_INFOS_API_BASE: https://api.nekosunevr.co.uk
53
- GAMING_INFOS_API_PATH: /v5/games/api/gaming-infos
54
- GAME_CODES_API_PATH: /v5/games/api/codes
55
- GAMING_INFOS_CACHE_TIMEOUT_MS: 20000
56
- GAMING_INFOS_CACHE_RETRIES: 2
57
- GAME_CODES_CACHE_TIMEOUT_MS: 20000
58
- GAME_CODES_CACHE_RETRIES: 2
59
- GAME_CODES_CACHE_GAME_DELAY_MS: 150
60
-
61
- - name: Commit fallback changes
62
- shell: bash
63
- run: |
64
- git add -A data
65
- if git diff --cached --quiet; then
66
- echo "Fallback caches already match APINODE."
67
- exit 0
68
- fi
69
-
70
- git config user.name "github-actions[bot]"
71
- git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
72
- git commit -m "chore(cache): mirror APINODE fallback data [skip ci]"
73
- git push