@told.club/sdk-rn
Version:
Told React Native SDK
66 lines (65 loc) • 2.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getRepliedSurvey = getRepliedSurvey;
exports.isReplied = isReplied;
exports.isSeen = isSeen;
exports.loadSurveyData = loadSurveyData;
exports.setReplied = setReplied;
exports.setSeen = setSeen;
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
let surveyData = [];
const storageKey = 'ToldSurveyData';
async function loadSurveyData() {
const data = await _asyncStorage.default.getItem(storageKey);
if (data) surveyData = JSON.parse(data);
}
function getRepliedSurvey() {
return surveyData.filter(data => data.replied > 0).map(data => ({
surveyId: data.surveyId,
date: data.date,
replied: data.replied > 0
}));
}
function setSeen(surveyId) {
const actualData = surveyData.find(data => data.surveyId === surveyId);
if (actualData) {
// If the survey is already seen, increment the seenCount
actualData.seenCount += 1;
} else {
// If the survey is not seen, add it to the list
surveyData.push({
surveyId,
seenCount: 1,
replied: 0,
date: undefined
});
}
_asyncStorage.default.setItem(storageKey, JSON.stringify(surveyData));
}
function setReplied(surveyId) {
const actualData = surveyData.find(data => data.surveyId === surveyId);
if (actualData) {
// If the survey is already seen, increment the replied
actualData.replied += 1;
actualData.date = new Date().toISOString();
} else {
// If the survey is not seen, add it to the list
surveyData.push({
surveyId,
seenCount: 0,
replied: 1,
date: new Date().toISOString()
});
}
_asyncStorage.default.setItem(storageKey, JSON.stringify(surveyData));
}
function isSeen(surveyId) {
return surveyData.some(data => data.surveyId === surveyId && data.seenCount > 0);
}
function isReplied(surveyId) {
return surveyData.some(data => data.surveyId === surveyId && data.replied > 0);
}
//# sourceMappingURL=ToldStorage.js.map