UNPKG

@told.club/sdk-rn

Version:
66 lines (65 loc) 2.12 kB
"use strict"; 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