2022-07-03 15:50:41 +00:00
|
|
|
//class helper {
|
|
|
|
|
// Revive<T>(t:string, _type:string):string {
|
|
|
|
|
// return t
|
|
|
|
|
// }
|
|
|
|
|
// Revive<T>(t:string, _type:string[]):string[]{
|
|
|
|
|
// return t.split(",")
|
|
|
|
|
// }
|
|
|
|
|
// Revive<T>(t:string, _type:number):number {
|
|
|
|
|
// return Number(t)
|
|
|
|
|
// }
|
|
|
|
|
// Revive<T>(t:string, _type:number[]):number[]{
|
|
|
|
|
// return t.split(",").map(Number)
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
import { ColumnSet } from "./table"
|
2022-07-06 07:48:11 +00:00
|
|
|
import { TricksterCharacter, TricksterInventory } from "./trickster"
|
2022-07-03 15:50:41 +00:00
|
|
|
|
|
|
|
|
export const ARRAY_SEPERATOR = ","
|
|
|
|
|
|
|
|
|
|
let as = ARRAY_SEPERATOR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export interface Reviver<T> {
|
|
|
|
|
Murder(t:T):string
|
|
|
|
|
Revive(s:string):T
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const StoreStr= {
|
|
|
|
|
Murder: (s:string):string=>s,
|
|
|
|
|
Revive: (s:string):string=>s
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const StoreNum = {
|
|
|
|
|
Murder: (s:number):string=>s.toString(),
|
|
|
|
|
Revive: (s:string):number=>Number(s)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const StoreStrSet = {
|
|
|
|
|
Murder: (s:Set<string>):string=>Array.from(s).join(as),
|
|
|
|
|
Revive: (s:string):Set<string>=>new Set(s.split(as))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const StoreColSet = {
|
2022-07-03 16:05:10 +00:00
|
|
|
Murder: (s:ColumnSet):string=>Array.from(s.s.values()).join(as),
|
2022-07-06 07:48:11 +00:00
|
|
|
Revive: (s:string):ColumnSet=>new ColumnSet(s.split(as) as any)
|
2022-07-03 15:50:41 +00:00
|
|
|
}
|
2022-07-06 07:48:11 +00:00
|
|
|
export const StoreChars = {
|
|
|
|
|
Murder: (s:Map<string,TricksterCharacter>):string=>JSON.stringify(Object.entries(s)),
|
|
|
|
|
Revive: (s:string):Map<string,TricksterCharacter>=>new Map(JSON.parse(s)),
|
2022-07-03 16:37:06 +00:00
|
|
|
}
|