locize
Version:
This package adds the incontext editor to your i18next setup.
29 lines (24 loc) • 1.28 kB
JavaScript
;
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var postMessage = require('./postMessage.js');
var store = require('../store.js');
var uninstrumentedStore = require('../uninstrumentedStore.js');
var parser = require('../parser.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
function handler(payload) {
if (!payload.length) return;
payload.forEach(function (item) {
var uni = uninstrumentedStore.uninstrumentedStore.get(item.eleUniqueID);
store.store.save(item.eleUniqueID, undefined, item.textType, parser.extractNodeMeta(item.eleUniqueID, item.textType, _defineProperty__default["default"]({}, "".concat(item.textType), {
ns: item.ns,
key: item.key
}), item.value), uni === null || uni === void 0 ? void 0 : uni.node);
if (uni && uni.keys) delete uni.keys["".concat(item.textType)];
if (uni && uni.keys && !Object.keys(uni.keys).length) {
uninstrumentedStore.uninstrumentedStore.remove(item.eleUniqueID, uni.node);
}
});
postMessage.api.sendCurrentParsedContent();
}
postMessage.api.addHandler('sendMatchedUninstrumented', handler);