{"action":"created","issue":{"url":"https://api.github.com/repos/iojs/io.js/issues/1177","labels_url":"https://api.github.com/repos/iojs/io.js/issues/1177/labels{/name}","comments_url":"https://api.github.com/repos/iojs/io.js/issues/1177/comments","events_url":"https://api.github.com/repos/iojs/io.js/issues/1177/events","html_url":"https://github.com/iojs/io.js/pull/1177","id":62484010,"number":1177,"title":"Expose `deepEqual` and `deepStrictEqual` in `util`. #1172","user":{"login":"yursha","id":4990557,"avatar_url":"https://avatars.githubusercontent.com/u/4990557?v=3","gravatar_id":"","url":"https://api.github.com/users/yursha","html_url":"https://github.com/yursha","followers_url":"https://api.github.com/users/yursha/followers","following_url":"https://api.github.com/users/yursha/following{/other_user}","gists_url":"https://api.github.com/users/yursha/gists{/gist_id}","starred_url":"https://api.github.com/users/yursha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yursha/subscriptions","organizations_url":"https://api.github.com/users/yursha/orgs","repos_url":"https://api.github.com/users/yursha/repos","events_url":"https://api.github.com/users/yursha/events{/privacy}","received_events_url":"https://api.github.com/users/yursha/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/iojs/io.js/labels/util","name":"util","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-03-17T18:52:30Z","updated_at":"2015-03-19T23:23:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/iojs/io.js/pulls/1177","html_url":"https://github.com/iojs/io.js/pull/1177","diff_url":"https://github.com/iojs/io.js/pull/1177.diff","patch_url":"https://github.com/iojs/io.js/pull/1177.patch"},"body":"Currently deep equality functionality is used only internally in `assert`. The idea is to expose this functionality in `util` as it will probably be useful in userland as explained in #1172."},"comment":{"url":"https://api.github.com/repos/iojs/io.js/issues/comments/83800657","html_url":"https://github.com/iojs/io.js/pull/1177#issuecomment-83800657","issue_url":"https://api.github.com/repos/iojs/io.js/issues/1177","id":83800657,"user":{"login":"vkurchatkin","id":2993861,"avatar_url":"https://avatars.githubusercontent.com/u/2993861?v=3","gravatar_id":"","url":"https://api.github.com/users/vkurchatkin","html_url":"https://github.com/vkurchatkin","followers_url":"https://api.github.com/users/vkurchatkin/followers","following_url":"https://api.github.com/users/vkurchatkin/following{/other_user}","gists_url":"https://api.github.com/users/vkurchatkin/gists{/gist_id}","starred_url":"https://api.github.com/users/vkurchatkin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vkurchatkin/subscriptions","organizations_url":"https://api.github.com/users/vkurchatkin/orgs","repos_url":"https://api.github.com/users/vkurchatkin/repos","events_url":"https://api.github.com/users/vkurchatkin/events{/privacy}","received_events_url":"https://api.github.com/users/vkurchatkin/received_events","type":"User","site_admin":false},"created_at":"2015-03-19T23:23:34Z","updated_at":"2015-03-19T23:23:34Z","body":"> reasoning for exposing additional API surface area from core -- it becomes something we have to maintain and people rely upon and may not actually be the best implementation\r\n\r\nno, it doesn't, not in this case. Functions that determine equality are fundamental primitives, not assertions. Basically assert is:\r\n\r\n```javascript\r\nfunction assert(a, b) {\r\n  if (!equal(a, b)) throw new Error\r\n}\r\n```\r\n\r\nThis is not something that we have to main or people rely upon. They actually rely upon equality algorithms and those we have to maintain already. This just gives direct access to them.\r\n\r\n> There's a lot, and adding a feature like this that is so abundant in userland isn't really with the io.js/node manifesto.\r\n\r\nDisagree. Exposing things that are useful and we have and maintain already IS a part of io.js/node manifesto."}}