Files
djhackersdev_minime/src/chunithm/proto/userActivity.ts
T
Tau d1d63e1ef9 chunithm: Initial implementation code drop
No cleaner development history than this exists. It's difficult to
methodically design something when you don't yet know what it is
you're designing.
2019-11-06 17:29:07 -05:00

40 lines
1.2 KiB
TypeScript

import { UserActivityItem } from "../model/userActivity";
export interface UserActivityJson {
// Not quite the same as our internal representation! Internally we refer to
// the "id" field as "activityId", because the SQL table that stores these
// values already has an "id" column that holds a synthetic primary key.
kind: string;
id: string;
sortNumber: string;
param1: string;
param2: string;
param3: string;
param4: string;
}
export function readUserActivity(json: UserActivityJson): UserActivityItem {
return {
kind: parseInt(json.kind),
activityId: parseInt(json.id), // <-- Look closely!
sortNumber: parseInt(json.sortNumber),
param1: parseInt(json.param1),
param2: parseInt(json.param2),
param3: parseInt(json.param3),
param4: parseInt(json.param4),
};
}
export function writeUserActivity(obj: UserActivityItem): UserActivityJson {
return {
kind: obj.kind.toString(),
id: obj.activityId.toString(), // <-- Look closely!
sortNumber: obj.sortNumber.toString(),
param1: obj.param1.toString(),
param2: obj.param2.toString(),
param3: obj.param3.toString(),
param4: obj.param4.toString(),
};
}