llafuente/class

All in one var

llafuente opened this issue · 0 comments

Everything in node-class should be wrapped into one unique property.

Print example

   { [Function]
     '$class': 'User',
     '$inheritance': [ 'User', 'Norm/Entity' ],
     '$autoset': true,
     properties: 
      [ '$__events',
        '$__eventskeys',
        '$__pipes',
        'connection',
        '$dirty',
        'updated_at',
        'created_at',
        '$data',
        '$db',
        '$constructor',
        'id',
        'login',
        'email',
        'updated_at',
        'created_at',
        'main_tag',
        'session',
        'mentors',
        'mentor_id' ],
     descriptors: 
      [ [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object] ],
     methods: 
      [ 'initialize',
        'on_unhandled_event',
        'addListener',
        'addOnceListener',
        'hasListeners',
        'getListeners',
        'fire',
        'removeListener',
        'removeAllListeners',
        'pipeEvents',
        'filterListeners',
        'setMaxListeners',
        'addEvent',
        'on',
        'once',
        'addOnceEvent',
        'trigger',
        'emit',
        'fireEvent',
        'off',
        'offAll',
        'listeners',
        'initialize',
        '$changes',
        'setConnection',
        '$pk',
        '$store',
        'initialize',
        'addMentors',
        'removeMentors' ],
     abstracts: [],
     statics: 
      [ '$create',
        '$delete',
        '$find',
        '$search',
        '$get',
        '$createTable',
        '$hasOne',
        '$hasMany',
        '$field',
        '$table' ],
     method: [Function],
     static: [Function],
     property: [Function],
     accessor: [Function],
     alias: [Function],
     abstract: [Function],
     config_property: [Function],
     toString: [Function],
}

This is un-debug-able. Even if we can hide them all using require("node-class").debug = false

proposal

   { [Function]
     '$class': 'User',
     '$inheritance': [ 'User', 'Norm/Entity' ],
     '$$': {/*everything here*/}
     method: [Function],
     static: [Function],
     property: [Function],
     accessor: [Function],
     alias: [Function],
     abstract: [Function],
     config_property: [Function],
     toString: [Function],
}