react-native-lightspeedsdk
Version:
A react-native interface for using the LightspeedSDK
45 lines (36 loc) • 1.01 kB
JavaScript
;
import PanelistAchievement from './PanelistAchievement';
type PanelistAchievementSummaryMap = {
achievments:Array,
redemptions:Array,
totalSweeps:number,
totalPoints:number
};
/**
* Represents an immutable Achievement History
*/
class PanelistAchievementSummary{
achievments:Array;
redemptions:Array;
totalSweeps:number;
totalPoints:number;
constructor(map: PanelistAchievementSummaryMap) {
var transformEarnings = function (earningsMap) {
return new PanelistAchievement(earningsMap);
}
if (map.achievements !== null) {
this.achievements=map.achievements.map(transformEarnings);
}else {
this.achievments = null;
}
if (map.redemptions !== null) {
this.redemptions=map.redemptions.map(transformEarnings);
}else {
this.redemptions = null;
}
this.totalSweeps = map.totalSweeps;
this.totalPoints = map.totalPoints;
Object.freeze(this);
}
}
module.exports = PanelistAchievementSummary;