var sqlite3 = require('sqlite3')

var sqlite3_Database_handler = (function(){ 

    var prototype = {}

    prototype.constructor = function(target)
    {
        this.target = target
    }

    prototype.get = function(receiver, name)
    {
        if(name == "all")
        {
            var target = this.target
            return function(query)
            {
                var deferred = require('q').defer()
                target.all(
                    query,
                    function(error,rows)
                    {
                        deferred.resolve({error:error,rows:rows})
                    }
                )
                return deferred.promise
            }
        }
        return this.target[name]; 
    }

    return prototype.constructor.prototype = prototype

})().constructor

var sqlite3_handler = (function(){ 

    var prototype = {}

    prototype.constructor = function(target)
    {
        this.target = target
    }

    prototype.get = function(receiver, name)
    {
        if(name == "Database")
        {
            var Database = this.target.Database
            return function()
            {
                return Proxy.create(
                    new sqlite3_Database_handler(
                        new (Database.bind.apply(
                            Database,
                            arguments
                        ))
                    )
                )
            }
        }
        return this.target[name]; 
    }

    return prototype.constructor.prototype = prototype

})().constructor

module.exports = Proxy.create(new sqlite3_handler(sqlite3))

P.S. Присылайте криптовалюту если вам нравится то, что я делаю.
Если не нравится - тоже присылайте.
LTC (Litecoin): LLN6X2uV1iuQ1e4tdmQZsf2RRwh4pxPSej

Leave a Reply

*