Separate serve lib

This commit is contained in:
Sakura Knoll
2022-01-01 21:13:44 +09:00 Unverified
parent 0b406525fa
commit d7d94f2ba2
28 changed files with 265 additions and 309 deletions
-24
View File
@@ -1,24 +0,0 @@
import fs from 'fs'
import path from 'path'
const basePathname = path.join(process.cwd(), 'public/data')
export function resolvePathname(pathname: string) {
return path.join(basePathname, pathname)
}
export function readdirSync(pathname: string) {
const fileList = fs.readdirSync(resolvePathname(pathname))
return fileList
}
export function readFileSync(pathname: string) {
return fs.readFileSync(resolvePathname(pathname))
}
export function readJsonFileSync(pathname: string) {
const rawData = readFileSync(pathname).toString()
return JSON.parse(rawData)
}
+82
View File
@@ -0,0 +1,82 @@
export interface BattlesuitSkill {
name: string
description: string
requiredRank: string
}
export interface BattlesuitSkillGroup {
core: BattlesuitSkill
subskills: BattlesuitSkill[]
}
export interface BattlesuitData {
id: string
version?: string
name: string
type: string
valkyrie: string
strengths: string[]
leader: BattlesuitSkillGroup
special: BattlesuitSkillGroup
evasion: BattlesuitSkillGroup
passive: BattlesuitSkillGroup
ultimate: BattlesuitSkillGroup
basic: BattlesuitSkillGroup
sp?: BattlesuitSkillGroup
}
export const battlesuitStrengths = [
{ icon: 'feature-icons/physical', value: 'physical', label: 'Physical' },
{ icon: 'feature-icons/fire-dmg', value: 'fire-dmg', label: 'Fire DMG' },
{ icon: 'feature-icons/ice-dmg', value: 'ice-dmg', label: 'Ice DMG' },
{
icon: 'feature-icons/lightning-dmg',
value: 'lightning-dmg',
label: 'Lightning DMG',
},
{ icon: 'feature-icons/freeze', value: 'freeze', label: 'Freeze' },
{ icon: 'feature-icons/paralyze', value: 'paralyze', label: 'Paralyze' },
{ icon: 'feature-icons/stun', value: 'stun', label: 'Stun' },
{ icon: 'feature-icons/ignite', value: 'ignite', label: 'Ignite' },
{ icon: 'feature-icons/bleed', value: 'bleed', label: 'Bleed' },
{ icon: 'feature-icons/heavy-atk', value: 'heavy-atk', label: 'heavy-atk' },
{ icon: 'feature-icons/weaken', value: 'weaken', label: 'Weaken' },
{ icon: 'feature-icons/impair', value: 'impair', label: 'Impair' },
{
icon: 'feature-icons/time-mastery',
value: 'time mastery',
label: 'Time Mastery',
},
{ icon: 'feature-icons/gather', value: 'gather', label: 'Gather' },
{ icon: 'feature-icons/heal', value: 'heal', label: 'Heal' },
{ icon: 'feature-icons/fast-atk', value: 'fast atk', label: 'Fast ATK' },
{ icon: 'feature-icons/burst', value: 'burst', label: 'Burst' },
{ icon: 'feature-icons/aerial', value: 'aerial', label: 'Aerial' },
]
export const battlesuitTypes = [
{ value: 'mecha', icon: 'type-icons/mecha', label: 'Mecha' },
{ value: 'biologic', icon: 'type-icons/biologic', label: 'Biologic' },
{ value: 'psychic', icon: 'type-icons/psychic', label: 'Psychic' },
{ value: 'quantum', icon: 'type-icons/quantum', label: 'Quantum' },
{ value: 'imaginary', icon: 'type-icons/imaginary', label: 'Imaginary' },
]
export const valkyries = [
{ value: 'kiana', icon: 'valkyrie-icons/kiana', label: 'Kiana' },
{ value: 'mei', icon: 'valkyrie-icons/mei', label: 'Mei' },
{ value: 'bronya', icon: 'valkyrie-icons/bronya', label: 'Bronya' },
{ value: 'himeko', icon: 'valkyrie-icons/himeko', label: 'Himeko' },
{ value: 'theresa', icon: 'valkyrie-icons/theresa', label: 'Theresa' },
{ value: 'fuhua', icon: 'valkyrie-icons/fuhua', label: 'Fu Hua' },
{ value: 'rita', icon: 'valkyrie-icons/rita', label: 'Rita' },
{ value: 'sakura', icon: 'valkyrie-icons/sakura', label: 'Sakura' },
{ value: 'kallen', icon: 'valkyrie-icons/kallen', label: 'Kallen' },
{ value: 'olenyevas', icon: 'valkyrie-icons/olenyevas', label: 'Olenyevas' },
{ value: 'seele', icon: 'valkyrie-icons/seele', label: 'Seele' },
{ value: 'durandal', icon: 'valkyrie-icons/durandal', label: 'Durandal' },
{ value: 'fischl', icon: 'valkyrie-icons/fischl', label: 'Fischl' },
{ value: 'elysia', icon: 'valkyrie-icons/elysia', label: 'Elysia' },
{ value: 'mobius', icon: 'valkyrie-icons/mobius', label: 'Mobius' },
{ value: 'raven', icon: 'valkyrie-icons/raven', label: 'Raven' },
{ value: 'carole', icon: 'valkyrie-icons/carole', label: 'Carole' },
]
+15
View File
@@ -0,0 +1,15 @@
export interface ElfSkill {
type: 'passive' | 'basic' | 'ultimate' | 'team'
name: string
requiredRank: number
description: string
}
export interface ElfData {
id: string
name: string
baseRank: number
strengths: string[]
skillRows: [ElfSkill[], ElfSkill[], ElfSkill[], ElfSkill[]]
version: string
}
+28
View File
@@ -0,0 +1,28 @@
export interface StigmataSkill {
name: string
description: string
}
export interface StigmataData {
id: string
name: string
skill: StigmataSkill
ttk: number
def: number
crt: number
set?: string
type: 'top' | 'mid' | 'bot'
hp: number
rarity: 3 | 4 | 5
version?: string
hidden?: boolean
}
export interface StigmataSet {
id: string
name: string
altName: string
twoSetSkill: StigmataSkill
threeSetSkill: StigmataSkill
version?: string
}
+34
View File
@@ -0,0 +1,34 @@
export interface SupplyEventData {
id: string
verified: boolean
track: number
name: string
type: string
token: string
featured: {
type: string
id: string
}[]
extra: string[]
version: number
duration: [string, string]
guarantees: {
count: number
recurring: boolean
rewards: { type: string; id: string; amount: number | [number, number] }[]
}[]
mileages: {
count: number
rewardOptions: {
type: string
id: string
amount: number
}[]
}[]
drops: {
type: string
id: string
rate: number
amount: number | [number, number]
}[]
}
+11
View File
@@ -0,0 +1,11 @@
export interface VersionData {
version: string
previousVersion?: string
nextVersion?: string
name: string
duration: [string, string]
verified: boolean
newBattlesuits: string[]
newWeapons: string[]
description: string
}
+24
View File
@@ -0,0 +1,24 @@
export interface WeaponSkill {
name: string
description: string
}
export interface WeaponData {
id: string
name: string
atk: number
crt: number
category:
| 'pistol'
| 'cannon'
| 'katana'
| 'cross'
| 'greatsword'
| 'scythe'
| 'lance'
| 'gauntlet'
| 'bow'
rarity: number
skills: WeaponSkill[]
version?: string
}
-28
View File
@@ -1,28 +0,0 @@
export const battlesuitStrengths = [
{ icon: 'feature-icons/physical', value: 'physical', label: 'Physical' },
{ icon: 'feature-icons/fire-dmg', value: 'fire-dmg', label: 'Fire DMG' },
{ icon: 'feature-icons/ice-dmg', value: 'ice-dmg', label: 'Ice DMG' },
{
icon: 'feature-icons/lightning-dmg',
value: 'lightning-dmg',
label: 'Lightning DMG',
},
{ icon: 'feature-icons/freeze', value: 'freeze', label: 'Freeze' },
{ icon: 'feature-icons/paralyze', value: 'paralyze', label: 'Paralyze' },
{ icon: 'feature-icons/stun', value: 'stun', label: 'Stun' },
{ icon: 'feature-icons/ignite', value: 'ignite', label: 'Ignite' },
{ icon: 'feature-icons/bleed', value: 'bleed', label: 'Bleed' },
{ icon: 'feature-icons/heavy-atk', value: 'heavy-atk', label: 'heavy-atk' },
{ icon: 'feature-icons/weaken', value: 'weaken', label: 'Weaken' },
{ icon: 'feature-icons/impair', value: 'impair', label: 'Impair' },
{
icon: 'feature-icons/time-mastery',
value: 'time mastery',
label: 'Time Mastery',
},
{ icon: 'feature-icons/gather', value: 'gather', label: 'Gather' },
{ icon: 'feature-icons/heal', value: 'heal', label: 'Heal' },
{ icon: 'feature-icons/fast-atk', value: 'fast atk', label: 'Fast ATK' },
{ icon: 'feature-icons/burst', value: 'burst', label: 'Burst' },
{ icon: 'feature-icons/aerial', value: 'aerial', label: 'Aerial' },
]