react-native-lightspeedsdk
Version:
A react-native interface for using the LightspeedSDK
46 lines (37 loc) • 1.04 kB
JavaScript
;
import PanelistAchievement from './PanelistAchievement';
type PanelistAchievementHistoryMap = {
webEarnings:Array,
mobileEarnings:Array,
redemptions:Array
};
/**
* Represents an immutable Achievement History
*/
class PanelistAchievementHistory{
webEarnings:Array;
mobileEarnings:Array;
redemptions:Array;
constructor(map: PanelistAchievementHistoryMap) {
var transformEarnings = function (earningsMap) {
return new PanelistAchievement(earningsMap);
}
if (map.webEarnings !== null) {
this.webEarnings=map.webEarnings.map(transformEarnings);
}else {
this.webEarnings = null;
}
if (map.mobileEarnings !== null) {
this.mobileEarnings=map.mobileEarnings.map(transformEarnings);
}else {
this.mobileEarnings = null;
}
if (map.redemptions !== null) {
this.redemptions=map.redemptions.map(transformEarnings);
}else {
this.redemptions = null;
}
Object.freeze(this);
}
}
module.exports = PanelistAchievementHistory;