{"action":"created","issue":{"url":"https://api.github.com/repos/borisyankov/DefinitelyTyped/issues/3637","labels_url":"https://api.github.com/repos/borisyankov/DefinitelyTyped/issues/3637/labels{/name}","comments_url":"https://api.github.com/repos/borisyankov/DefinitelyTyped/issues/3637/comments","events_url":"https://api.github.com/repos/borisyankov/DefinitelyTyped/issues/3637/events","html_url":"https://github.com/borisyankov/DefinitelyTyped/pull/3637","id":57414098,"number":3637,"title":"Add definitions for Leaflet.label","user":{"login":"Nemo157","id":81079,"avatar_url":"https://avatars.githubusercontent.com/u/81079?v=3","gravatar_id":"","url":"https://api.github.com/users/Nemo157","html_url":"https://github.com/Nemo157","followers_url":"https://api.github.com/users/Nemo157/followers","following_url":"https://api.github.com/users/Nemo157/following{/other_user}","gists_url":"https://api.github.com/users/Nemo157/gists{/gist_id}","starred_url":"https://api.github.com/users/Nemo157/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nemo157/subscriptions","organizations_url":"https://api.github.com/users/Nemo157/orgs","repos_url":"https://api.github.com/users/Nemo157/repos","events_url":"https://api.github.com/users/Nemo157/events{/privacy}","received_events_url":"https://api.github.com/users/Nemo157/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-12T03:51:54Z","updated_at":"2015-02-12T21:47:48Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/borisyankov/DefinitelyTyped/pulls/3637","html_url":"https://github.com/borisyankov/DefinitelyTyped/pull/3637","diff_url":"https://github.com/borisyankov/DefinitelyTyped/pull/3637.diff","patch_url":"https://github.com/borisyankov/DefinitelyTyped/pull/3637.patch"},"body":"So this is quite a big change to allow leaflet to accept plugin definitions. All the classes needed to be split into separate interface and constructor definitions so plugin definitions could be merged into the interfaces.\r\n\r\nAs far as I can tell this should result in near identical compatibility with consuming code, there were some test cases for other dependent definitions that broke when I was part way through the refactor, but they all passed once I finished it."},"comment":{"url":"https://api.github.com/repos/borisyankov/DefinitelyTyped/issues/comments/74160002","html_url":"https://github.com/borisyankov/DefinitelyTyped/pull/3637#issuecomment-74160002","issue_url":"https://api.github.com/repos/borisyankov/DefinitelyTyped/issues/3637","id":74160002,"user":{"login":"Nemo157","id":81079,"avatar_url":"https://avatars.githubusercontent.com/u/81079?v=3","gravatar_id":"","url":"https://api.github.com/users/Nemo157","html_url":"https://github.com/Nemo157","followers_url":"https://api.github.com/users/Nemo157/followers","following_url":"https://api.github.com/users/Nemo157/following{/other_user}","gists_url":"https://api.github.com/users/Nemo157/gists{/gist_id}","starred_url":"https://api.github.com/users/Nemo157/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nemo157/subscriptions","organizations_url":"https://api.github.com/users/Nemo157/orgs","repos_url":"https://api.github.com/users/Nemo157/repos","events_url":"https://api.github.com/users/Nemo157/events{/privacy}","received_events_url":"https://api.github.com/users/Nemo157/received_events","type":"User","site_admin":false},"created_at":"2015-02-12T21:47:48Z","updated_at":"2015-02-12T21:47:48Z","body":"So this now works if you use `L.Class.extend` to do all your subclassing. Unfortunately that results in less potential for typechecking as you can't set limits on what `this` is in the methods you pass in to that... I think this is the best we can do for now though and support plugins, if anyone has suggestions on alternative ways to do this I'd be happy to hear them."}}