Skip to content

Test the removal of the whole document#29

Open
espadrine wants to merge 1 commit into
json-patch:masterfrom
espadrine:patch-1
Open

Test the removal of the whole document#29
espadrine wants to merge 1 commit into
json-patch:masterfrom
espadrine:patch-1

Conversation

@espadrine

Copy link
Copy Markdown

@sonnyp

sonnyp commented Aug 24, 2016

Copy link
Copy Markdown

replacing the document with null is not removing the document

I believe the behavior of removing / should be left to the implementation as it cannot be semantically defined by json patch

In https://github.com/JSON8/patch I return undefined

@espadrine

espadrine commented Aug 24, 2016

Copy link
Copy Markdown
Author

In https://github.com/JSON8/patch I return undefined

While that is compliant with the spec, it is unfortunate, as it breaks the expectation that the result remains a valid JSON document. I would recommend you change it to return null.

I believe the behavior we want should be explicit rather than implicit or unspecified. The spec defines the semantics of all that it defines. In the meantime, having divergence in implementations' behavior is unfortunate.

@sonnyp

sonnyp commented Aug 25, 2016

Copy link
Copy Markdown

JSON.stringify(undefined) returns "undefined" so the program won't break and it let the user decides what to do for the remove / case.

Anyway, this repo contains JSON Patch tests and since your proposed behavior is not specified I'd 👎

@espadrine

Copy link
Copy Markdown
Author

I'm not fond of the idea that removing the object converts it to the 9-character string "undefined" by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants