{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/immutable-js/issues/440","repository_url":"https://api.github.com/repos/facebook/immutable-js","labels_url":"https://api.github.com/repos/facebook/immutable-js/issues/440/labels{/name}","comments_url":"https://api.github.com/repos/facebook/immutable-js/issues/440/comments","events_url":"https://api.github.com/repos/facebook/immutable-js/issues/440/events","html_url":"https://github.com/facebook/immutable-js/issues/440","id":67471238,"number":440,"title":"Use ES6 Proxies where available for indexed access on Indexed","user":{"login":"Gozala","id":21236,"avatar_url":"https://avatars.githubusercontent.com/u/21236?v=3","gravatar_id":"","url":"https://api.github.com/users/Gozala","html_url":"https://github.com/Gozala","followers_url":"https://api.github.com/users/Gozala/followers","following_url":"https://api.github.com/users/Gozala/following{/other_user}","gists_url":"https://api.github.com/users/Gozala/gists{/gist_id}","starred_url":"https://api.github.com/users/Gozala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gozala/subscriptions","organizations_url":"https://api.github.com/users/Gozala/orgs","repos_url":"https://api.github.com/users/Gozala/repos","events_url":"https://api.github.com/users/Gozala/events{/privacy}","received_events_url":"https://api.github.com/users/Gozala/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-04-09T23:22:33Z","updated_at":"2016-06-03T03:49:51Z","closed_at":null,"body":"`list.get(index)` syntax works fine some of the time but it adds up a learning curve + migration cost when you wish swap out arrays in the existing code with lists. I think it would be very nice to put the Proxy like following at the bottom of the prototype chain to allow optional access by index:\r\n\r\n\r\n```js\r\nlet accesor = new Proxy(Object.prototype, {\r\n  get(target, property, receiver) {\r\n    return receiver.get(property)\r\n  }\r\n});\r\n\r\n// Workaround to monkey patch loaded immutable.js library, although it should be:\r\n// Iterable.prototype = Object.create(accessor, {....})\r\nObject.setPrototypeOf(Immutable.Iterable.prototype, accesor)\r\n\r\nImmutable.List.of(1, 2, 3)[0] // => 1\r\nImmutable.List.of(1, 2, 3)[1] // => 2\r\nImmutable.List.of(1, 2, 3)[5] // => undefined\r\nImmutable.List.of(1, 2, 3)[-2] // => 2\r\n```"},"comment":{"url":"https://api.github.com/repos/facebook/immutable-js/issues/comments/223484513","html_url":"https://github.com/facebook/immutable-js/issues/440#issuecomment-223484513","issue_url":"https://api.github.com/repos/facebook/immutable-js/issues/440","id":223484513,"user":{"login":"coreh","id":418473,"avatar_url":"https://avatars.githubusercontent.com/u/418473?v=3","gravatar_id":"","url":"https://api.github.com/users/coreh","html_url":"https://github.com/coreh","followers_url":"https://api.github.com/users/coreh/followers","following_url":"https://api.github.com/users/coreh/following{/other_user}","gists_url":"https://api.github.com/users/coreh/gists{/gist_id}","starred_url":"https://api.github.com/users/coreh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreh/subscriptions","organizations_url":"https://api.github.com/users/coreh/orgs","repos_url":"https://api.github.com/users/coreh/repos","events_url":"https://api.github.com/users/coreh/events{/privacy}","received_events_url":"https://api.github.com/users/coreh/received_events","type":"User","site_admin":false},"created_at":"2016-06-03T03:49:51Z","updated_at":"2016-06-03T03:49:51Z","body":"Browser support for `Proxy` is now pretty good, only Safari is missing (But the Technical Preview already has it): http://caniuse.com/#search=proxy"}}
{"actor":{"display_login":"coreh"}}