JSFiddle - React, Tailwind, and code Playground

by Timatnet

HTML

<p>Дата: <span id="дата"></span></p>
<p>Предприятия:</p>
<p id="данные-предприятий"></p>
<p>Люди:</p>
<p id="данные-людей"></p>

<div id="log"></div>

CSS

pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; }
.string { color: green; }
.number { color: darkorange; }
.boolean { color: blue; }
.null { color: magenta; }
.key { color: red; }

JavaScript

function syntaxHighlight(json) {
    json = json.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
    return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
        var cls = 'number';
        if (/^"/.test(match)) {
            if (/:$/.test(match)) {
                cls = 'key';
            } else {
                cls = 'string';
            }
        } else if (/true|false/.test(match)) {
            cls = 'boolean';
        } else if (/null/.test(match)) {
            cls = 'null';
        }
        return '<span class="' + cls + '">' + match + '</span>';
    });
}
var красиво = function(obj) {
    var json = JSON.stringify(obj, null, 4);
    return '<pre>' + syntaxHighlight(json) + '</pre>';
}

var операция_не_реализована/* = function(операция) {
    $('#log')
        .append(
            'операция не реализована'
            + (операция ? ' : ' + операция : '')
            + '<br/>'
            );
}*/;

var неизвестно;

var сутки = 1;

var работаем_сутки = function() {
    /*for(var группа_операций in предприятия['группы операций']) {
        группа_операций = предприятия['группы операций'][группа_операций];
        for(var операция in группа_операций) {
            this[операция] = группа_операций[операция];
            this[операция]();
        }
    }*/
    var предприятие = this;
    for(var сотрудник in предприятие.сотрудники) {
        сотрудник = предприятие.сотрудники[сотрудник];
        if(сотрудник.обязанности)
            сотрудник.обязанности(сутки)
    }
};

function рублей(количество) {
    return количество + ' рублей';
}

var свободные_люди = [
    {
        имя: 'Владимир',
        ресурсы: {
            деньги: рублей(1000)
        },
        обязательства: {
        }
    },
    {
        имя: 'Всеволод',
        ресурсы: {
            деньги: рублей(1500)
        },
        обязательства: {
        }
    }
];

var предприятия =...