ResJsonConverter.prototype.convert = function()

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);
    };