{"action":"created","issue":{"url":"https://api.github.com/repos/inf3rno/o3/issues/63","repository_url":"https://api.github.com/repos/inf3rno/o3","labels_url":"https://api.github.com/repos/inf3rno/o3/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/inf3rno/o3/issues/63/comments","events_url":"https://api.github.com/repos/inf3rno/o3/issues/63/events","html_url":"https://github.com/inf3rno/o3/issues/63","id":127226105,"number":63,"title":"Annotations","user":{"login":"inf3rno","id":408911,"avatar_url":"https://avatars.githubusercontent.com/u/408911?v=3","gravatar_id":"","url":"https://api.github.com/users/inf3rno","html_url":"https://github.com/inf3rno","followers_url":"https://api.github.com/users/inf3rno/followers","following_url":"https://api.github.com/users/inf3rno/following{/other_user}","gists_url":"https://api.github.com/users/inf3rno/gists{/gist_id}","starred_url":"https://api.github.com/users/inf3rno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inf3rno/subscriptions","organizations_url":"https://api.github.com/users/inf3rno/orgs","repos_url":"https://api.github.com/users/inf3rno/repos","events_url":"https://api.github.com/users/inf3rno/events{/privacy}","received_events_url":"https://api.github.com/users/inf3rno/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/inf3rno/o3/labels/feature","name":"feature","color":"0e8a16"},{"url":"https://api.github.com/repos/inf3rno/o3/labels/priority:high","name":"priority:high","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"inf3rno","id":408911,"avatar_url":"https://avatars.githubusercontent.com/u/408911?v=3","gravatar_id":"","url":"https://api.github.com/users/inf3rno","html_url":"https://github.com/inf3rno","followers_url":"https://api.github.com/users/inf3rno/followers","following_url":"https://api.github.com/users/inf3rno/following{/other_user}","gists_url":"https://api.github.com/users/inf3rno/gists{/gist_id}","starred_url":"https://api.github.com/users/inf3rno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inf3rno/subscriptions","organizations_url":"https://api.github.com/users/inf3rno/orgs","repos_url":"https://api.github.com/users/inf3rno/repos","events_url":"https://api.github.com/users/inf3rno/events{/privacy}","received_events_url":"https://api.github.com/users/inf3rno/received_events","type":"User","site_admin":false},"assignees":[{"login":"inf3rno","id":408911,"avatar_url":"https://avatars.githubusercontent.com/u/408911?v=3","gravatar_id":"","url":"https://api.github.com/users/inf3rno","html_url":"https://github.com/inf3rno","followers_url":"https://api.github.com/users/inf3rno/followers","following_url":"https://api.github.com/users/inf3rno/following{/other_user}","gists_url":"https://api.github.com/users/inf3rno/gists{/gist_id}","starred_url":"https://api.github.com/users/inf3rno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inf3rno/subscriptions","organizations_url":"https://api.github.com/users/inf3rno/orgs","repos_url":"https://api.github.com/users/inf3rno/repos","events_url":"https://api.github.com/users/inf3rno/events{/privacy}","received_events_url":"https://api.github.com/users/inf3rno/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/inf3rno/o3/milestones/5","html_url":"https://github.com/inf3rno/o3/milestones/New%20class%20API%20implementation","labels_url":"https://api.github.com/repos/inf3rno/o3/milestones/5/labels","id":1676806,"number":5,"title":"New class API implementation","description":"I need a new class API with clone and merge and annotation based custom cloning and merging behavior. I need class line support instead of this class builder think, so I will be able to create a new class line from any native class.","creator":{"login":"inf3rno","id":408911,"avatar_url":"https://avatars.githubusercontent.com/u/408911?v=3","gravatar_id":"","url":"https://api.github.com/users/inf3rno","html_url":"https://github.com/inf3rno","followers_url":"https://api.github.com/users/inf3rno/followers","following_url":"https://api.github.com/users/inf3rno/following{/other_user}","gists_url":"https://api.github.com/users/inf3rno/gists{/gist_id}","starred_url":"https://api.github.com/users/inf3rno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inf3rno/subscriptions","organizations_url":"https://api.github.com/users/inf3rno/orgs","repos_url":"https://api.github.com/users/inf3rno/repos","events_url":"https://api.github.com/users/inf3rno/events{/privacy}","received_events_url":"https://api.github.com/users/inf3rno/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":0,"state":"open","created_at":"2016-03-31T19:06:55Z","updated_at":"2016-03-31T19:10:23Z","due_on":"2016-04-29T22:00:00Z","closed_at":null},"comments":27,"created_at":"2016-01-18T13:25:53Z","updated_at":"2016-07-21T17:44:53Z","closed_at":null,"body":"I think I might add annotations to the lib. I hate to think about a solution about this. There will be probably class related events I can use for annotations. Or I hardcode the annotations into the system. Not sure yet.\r\n\r\nWhat events are we talking about?\r\n - class creation `{class}`\r\n - class cloning `{class}`\r\n - classline creation `{baseClass}` (class.classLine = {nativeClass, baseClass})\r\n - adding method to a class `{class, key, method}`\r\n - removing method from a class `{class, key, method}`\r\n - replacing method in a class `{class, key, old, new}`\r\n - adding property to a class `{class, property, value}`\r\n - removing property\r\n - replacing property\r\n\r\nI think that's all, maybe property and method cloning should be added too, since we are talking always about clone + merge...\r\n\r\nevents: `class.clone, class.merge, method.clone, method.merge, property.clone, property.merge`. Note that method and property can have metadata. For example property.type, method.arguments.x.type, etc. If we want to have auto-validation then these should be added. But I think it would be better to use typescript for validation.\r\n\r\nClass metadata should be stored in a single class related object instead of per property or per method. class.meta or class.annotations?\r\n\r\nThis meta must be cloned from the ancestor class.\r\n`class.clone()` - clones the meta objects\r\n\r\nWe are able to add meta by merge:\r\n`class.merge({meta: staticMeta, prototype: {meta: dynamicMeta}})`\r\n\r\nOriginally meta was about how to customize cloning and merging properties. I think we can extend this with new features. I have to review the old propositions about this."},"comment":{"url":"https://api.github.com/repos/inf3rno/o3/issues/comments/234329218","html_url":"https://github.com/inf3rno/o3/issues/63#issuecomment-234329218","issue_url":"https://api.github.com/repos/inf3rno/o3/issues/63","id":234329218,"user":{"login":"inf3rno","id":408911,"avatar_url":"https://avatars.githubusercontent.com/u/408911?v=3","gravatar_id":"","url":"https://api.github.com/users/inf3rno","html_url":"https://github.com/inf3rno","followers_url":"https://api.github.com/users/inf3rno/followers","following_url":"https://api.github.com/users/inf3rno/following{/other_user}","gists_url":"https://api.github.com/users/inf3rno/gists{/gist_id}","starred_url":"https://api.github.com/users/inf3rno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inf3rno/subscriptions","organizations_url":"https://api.github.com/users/inf3rno/orgs","repos_url":"https://api.github.com/users/inf3rno/repos","events_url":"https://api.github.com/users/inf3rno/events{/privacy}","received_events_url":"https://api.github.com/users/inf3rno/received_events","type":"User","site_admin":false},"created_at":"2016-07-21T17:44:53Z","updated_at":"2016-07-21T17:44:53Z","body":"This will go another lib, if I'll ever use something like this."}}
{"actor":{"display_login":"inf3rno"}}