Справица:DiagramGenerator/config.js — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Modul za parsiranje konfiguracije)
 
м (Parsiranje konfiguracije sličnije onome kako radi simulator)
 
Ред 5: Ред 5:
         try {
         try {
             return config.split('\n').map(function(line) {
             return config.split('\n').map(function(line) {
                 return line.replace(/\/\/.*/g, '').trim();
                 return line.replace(/\/\/.*/g, '').replace(/"/g, '').trim();
             }).filter(Boolean).map(function(line) {
             }).filter(Boolean).map(function(line) {
                 return JSON.parse('[' + line + ']');
                 return line.split(',').map(function(part) {
                    return part.trim();
                });
             });
             });
         } catch (error) {
         } catch (error) {

Тренутна верзија на датум 19. фебруар 2023. у 16:26

(function() {
    'use strict';

    function parseConfig(config) {
        try {
            return config.split('\n').map(function(line) {
                return line.replace(/\/\/.*/g, '').replace(/"/g, '').trim();
            }).filter(Boolean).map(function(line) {
                return line.split(',').map(function(part) {
                    return part.trim();
                });
            });
        } catch (error) {
            console.error(error);
            return null;
        }
    }

    function findConfig(config, prefix) {
        return config.filter(function(line) {
            return !line.slice(0, prefix.length).some(function(value, index) {
                return value !== prefix[index];
            });
        }).map(function(line) {
            return line.slice(prefix.length);
        });
    }

    function parseConditions(config) {
        return findConfig(config, ['CONTRODC']).filter(function(option) {
            return option[1];
        }).map(function(option) {
            var segments = option[1].split('.');
            return option[2] + segments[segments.length - 1];
        });
    }

    window.mw = $.extend(true, window.mw, {
        libs: {
            diagramGenerator: {
                parseConditions: parseConditions,
                parseConfig: parseConfig
            }
        }
    });
})();