in GatewayPluginExample/Ux/gulps/gulp-resjson/resjson-convert.js [35:71]
ResJsonConverter.prototype.convert = function (content) {
var root = {};
// Remove comments, /* multilinecomment*/ and // one line comment and "//": "JSON element comment"
content = content.replace(/(\/\*([^*]|[\n]|(\*+([^*/]|[\n])))*\*\/+)|( +\/\/.*)|( +\"\/\/\".*)/g, '');
var data = JSON.parse(content);
var itemKeys = Object.keys(data);
// build a data tree.
for (var _i = 0, itemKeys_1 = itemKeys; _i < itemKeys_1.length; _i++) {
var itemKey = itemKeys_1[_i];
// remove localization comments
if (itemKey.startsWith('//') || (itemKey.startsWith('_') && itemKey.endsWith('.comment'))) {
continue;
}
var current = root;
var itemValue = data[itemKey];
var keys = itemKey.split('_');
var count = keys.length;
for (var _a = 0, keys_1 = keys; _a < keys_1.length; _a++) {
var key = keys_1[_a];
count--;
if (count > 0) {
if (!current.hasOwnProperty(key)) {
current[key] = {};
}
current = current[key];
if (typeof current !== 'object') {
throw new Error('Resource key already exists: ' + itemKey);
}
}
else {
current[key] = itemValue;
}
}
}
this.contentReset();
this.traverse([{ name: 'Strings', value: root }], 0);
};