JSFiddle - React, Tailwind, and code Playground

by megaadriano

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lokijs/1.5.2/lokijs.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lokijs/1.5.2/loki-indexed-adapter.min.js"></script>
<div id="fn"></div>

JavaScript

function UtilAPI() {
    this.obtemTipoBdLocal = function (tipomysql) {
        switch (tipomysql) {
            case 'int':
            case 'integer':
            case 'smallint':
            case 'tinyint':
            case 'mediumint':
            case 'bigint':
                return 'INTEGER';
            case 'decimal':
            case 'numeric':
            case 'float':
            case 'double':
                return 'REAL';
            case 'date':
            case 'datetime':
                return 'NUMERIC';
            case 'time':
            case 'varchar':
            case 'text':
            case 'mediumtext':
            case 'longtext':
            case 'char':
                return 'TEXT';
            case 'blob':
            case 'mediumblob':
            case 'longblob':
                return 'BLOB';
            default:
                return 'TEXT';
        }
    }
    this.converteTipos = function (objetoOriginal, objetoDescritor) {
        var clone = jQuery.extend(true, {}, objetoOriginal);
        for (var key in objetoDescritor)
            if (objetoOriginal.hasOwnProperty(key))
                switch (objetoDescritor[key]) {
                    case 'bool':
                        if (typeof (clone[key]) === 'number') {
                            //delete objetoOriginal[key];
                            clone[key] = objetoOriginal[key] > 0;
                        }
                        break;
                    case 'date':
                    case 'datetime':
                        if (typeof (clone[key]) === 'number' || typeof (clone[key]) === "string") {
                            //delete objetoOriginal[key];
                            clone[key] = new Date(clone[key]);
                        }
                        break;
                    case 'long':
                    case 'int':
                        if (typeof (objetoOriginal[key]) === "string") {
                            //delete...