UNPKG

react-native-surveys

Version:

Build your own forms, surveys and polls for your React Native apps.

35 lines (31 loc) 891 B
import base64 from "./react-native-base64"; export function encodeData(data) { const decoded = base64.encode(data); return reverseString(decoded.replace(/=/g, "").replace(/\0/g, "")); } export function decodeData(data) { const parameters = base64.decode(reverseString(data)); return queryStringToJSON(parameters.replace(/\0/g, "")); } function reverseString(str) { return str .split("") .reverse() .join(""); } export function jsonToQueryString(json) { return Object.keys(json) .map(function(key) { return encodeURIComponent(key) + "=" + encodeURIComponent(json[key]); }) .join("&"); } function queryStringToJSON(string) { let pairs = string.split("&"); let result = {}; pairs.forEach(function(pair) { pair = pair.split("="); result[pair[0]] = decodeURIComponent(pair[1] || ""); }); return JSON.parse(JSON.stringify(result)); }