Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 thejsencr
function a bit to cover this.