dop-sdk
Version:
Mini App SDK for JavaScript by VTB
50 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertUnicodeCharactersForAndroid = exports.convertUnicodeCharacters = void 0;
function isValidJson(str) {
try {
JSON.parse(str);
}
catch (e) {
return false;
}
return true;
}
function convertUnicodeCharacters(value) {
//This will decode the message string that is sent from Native
var decoded = Buffer.from(value, 'base64').toString('utf8');
//Few characters like currency, etc., is not decoded properly,
// We use following method to decoded it.
var octalString = decodeOctalEscape(decoded);
var stringifyMessage = JSON.stringify(octalString);
var replaced = stringifyMessage.replace(/\\\\/g, '\\');
if (isValidJson(replaced) === true) {
return JSON.parse(replaced);
}
else {
return JSON.parse(stringifyMessage);
}
}
exports.convertUnicodeCharacters = convertUnicodeCharacters;
var decodeOctalEscape = function (input) {
return input.replace(/\\(\d{3})/g, function (match, octalCode) {
return String.fromCharCode(parseIntOctal(octalCode));
});
};
var parseIntOctal = function (octalCode) {
return Number.parseInt(octalCode, 8);
};
function convertUnicodeCharactersForAndroid(value) {
//This will decode the message string that is sent from Native
var decoded = Buffer.from(value, 'base64').toString('utf8');
var stringifyMessage = JSON.stringify(decoded);
var replaced = stringifyMessage.replace(/\\\\/g, '\\');
if (isValidJson(stringifyMessage) === true) {
return JSON.parse(stringifyMessage);
}
else {
return JSON.parse(replaced);
}
}
exports.convertUnicodeCharactersForAndroid = convertUnicodeCharactersForAndroid;
//# sourceMappingURL=common-bridge.js.map