ketamynx/node-codein — pull request #14 by albertz (2014-03-27 14:54:30+00:00)
Title: dynamic object properties

I have the case that I have some complex objects which have dynamic properties (defined via get functions) in their prototypes.

Currently, because of the `Object.prototype.hasOwnProperty` check in stringify, attributes from parent prototypes wont be shown at all. That is simple to change and already almost always what you probably want (I guess).

However, for my use case, that change is of course not enough. I added some more code which checks if a property is defined via a get-function, via `Object.getOwnPropertyDescriptor`. The client shows this as a placeholder and if the user requests to show the property, the clients send such request to the server. To make that possible, you need to keep some reference to the object on the server in case for a later request. I have introduced a small and simple object cache, where I assign a new id to a new object. This id is sent to the client and the client uses this id in its requests. I also extended the `jsencr` function a bit to cover this.