{"action":"created","issue":{"url":"https://api.github.com/repos/jeffmo/es-class-static-properties-and-fields/issues/14","labels_url":"https://api.github.com/repos/jeffmo/es-class-static-properties-and-fields/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/jeffmo/es-class-static-properties-and-fields/issues/14/comments","events_url":"https://api.github.com/repos/jeffmo/es-class-static-properties-and-fields/issues/14/events","html_url":"https://github.com/jeffmo/es-class-static-properties-and-fields/issues/14","id":109235449,"number":14,"title":"Computed properties","user":{"login":"PinkaminaDianePie","id":1625500,"avatar_url":"https://avatars.githubusercontent.com/u/1625500?v=3","gravatar_id":"","url":"https://api.github.com/users/PinkaminaDianePie","html_url":"https://github.com/PinkaminaDianePie","followers_url":"https://api.github.com/users/PinkaminaDianePie/followers","following_url":"https://api.github.com/users/PinkaminaDianePie/following{/other_user}","gists_url":"https://api.github.com/users/PinkaminaDianePie/gists{/gist_id}","starred_url":"https://api.github.com/users/PinkaminaDianePie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PinkaminaDianePie/subscriptions","organizations_url":"https://api.github.com/users/PinkaminaDianePie/orgs","repos_url":"https://api.github.com/users/PinkaminaDianePie/repos","events_url":"https://api.github.com/users/PinkaminaDianePie/events{/privacy}","received_events_url":"https://api.github.com/users/PinkaminaDianePie/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-01T06:02:13Z","updated_at":"2015-11-11T02:59:41Z","closed_at":"2015-11-11T02:59:41Z","body":"Need more description about computed properties. It's a very important thing for class instance fields, case it only way to use ```Symbol```. Ill explain it on usecase in my project.\r\nI'm writing simple orm with java-like declarations, i.e. in Hibernate framework. In this case all fields in data model and links between them are described as instance fields with decorators:\r\n```javascript\r\nclass User extends ActiveRecord{\r\n  id = 0\r\n}\r\n\r\nclass Group extends ActiveRecord{\r\n  id = 0\r\n}\r\n\r\nclass Photo extends ActiveRecord{\r\n  @manyToOne(User, 'id')\r\n  userId = null\r\n  \r\n  @manyToOne(Group, 'id')\r\n  groupId = null\r\n  \r\n  dateAdd = new Date()\r\n}\r\n```\r\nWhat about ```ActiveRecord``` class? it needs to store computed metadata about DB schema, about fields, changed by user and needed to save (for example this information can be collected by proxy object). But i dont want to show this metadata by ```toString()``` or ```JSON.stringify()``` methods. I want to show user only its own data. So ill store this metadata in ```Symbol```, and this metadata needed for each model instance. So ```ActiveRecord``` needs to be something like this:\r\n\r\n```javascript\r\nclass ActiveRecord{\r\n  [framework.symbols.modelMetadata] = {\r\n    ...\r\n  }\r\n}\r\n```\r\nAs instance fields is declarative way to describe fields, they will be often used with class decorators in libraries and frameworks, so many people will used them with symbols to hide frameworks metadata. I request better description with using instance fields with computed properties."},"comment":{"url":"https://api.github.com/repos/jeffmo/es-class-static-properties-and-fields/issues/comments/155644224","html_url":"https://github.com/jeffmo/es-class-static-properties-and-fields/issues/14#issuecomment-155644224","issue_url":"https://api.github.com/repos/jeffmo/es-class-static-properties-and-fields/issues/14","id":155644224,"user":{"login":"jeffmo","id":498293,"avatar_url":"https://avatars.githubusercontent.com/u/498293?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffmo","html_url":"https://github.com/jeffmo","followers_url":"https://api.github.com/users/jeffmo/followers","following_url":"https://api.github.com/users/jeffmo/following{/other_user}","gists_url":"https://api.github.com/users/jeffmo/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffmo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffmo/subscriptions","organizations_url":"https://api.github.com/users/jeffmo/orgs","repos_url":"https://api.github.com/users/jeffmo/repos","events_url":"https://api.github.com/users/jeffmo/events{/privacy}","received_events_url":"https://api.github.com/users/jeffmo/received_events","type":"User","site_admin":false},"created_at":"2015-11-11T02:59:41Z","updated_at":"2015-11-11T02:59:41Z","body":"Oh you're right, I forgot that was changed already :p\r\n\r\nSo then my comment is outdated and this is already possible as specified here: https://github.com/jeffmo/es-class-static-properties-and-fields#145-class-definitions"}}