Title: Add mutations detection to the babel plugin · Issue #103 · code11/engine · GitHub
Open Graph Title: Add mutations detection to the babel plugin · Issue #103 · code11/engine
X Title: Add mutations detection to the babel plugin · Issue #103 · code11/engine
Description: In order to avoid unnecessary cloning we can infer from the AST the type of operations that occur on data and then can label which props need cloning and which don't. The default strategy should be as conservative as possible and expand ...
Open Graph Description: In order to avoid unnecessary cloning we can infer from the AST the type of operations that occur on data and then can label which props need cloning and which don't. The default strategy should be...
X Description: In order to avoid unnecessary cloning we can infer from the AST the type of operations that occur on data and then can label which props need cloning and which don't. The default strategy shoul...
Opengraph URL: https://github.com/code11/engine/issues/103
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Add mutations detection to the babel plugin ","articleBody":"In order to avoid unnecessary cloning we can infer from the AST the type of operations that occur on data and then can label which props need cloning and which don't.\r\n\r\nThe default strategy should be as conservative as possible and expand from there.\r\n\r\nWe can augment the producer object with a `mutated` prop that flags which property is potentially mutated and then rely on the runtime to apply the proper approach.\r\n\r\n```\r\n....\r\nmutated: {\r\n foo: false,\r\n bar: true,\r\n baz: {\r\n bam: false\r\n }\r\n}\r\n```\r\n\r\nCloning inside producers is done at a granular level but a flag needs to be given to the db to avoid cloning values on listeners.\r\n\r\nAnother topic would be the cloning done during the set operation. This might be trickier to implement.\r\n\r\nOnly observe and get.value fall in the category of cloning. ","author":{"url":"https://github.com/dumconstantin","@type":"Person","name":"dumconstantin"},"datePublished":"2020-11-27T18:23:25.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/103/engine/issues/103"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:ad80693d-99cf-d61f-1c44-988a7bd1776e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E91A:3AB43B:35E23:45404:6990903F |
| html-safe-nonce | 8d65cd1bdfb9283528b1380502de354eefe92eb72a78f7bce7da63d9c85a4fc1 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOTFBOjNBQjQzQjozNUUyMzo0NTQwNDo2OTkwOTAzRiIsInZpc2l0b3JfaWQiOiI3MjI3NzgwMjIyNTgxNTEwMjA3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 5cf38a87e88014a508e8bdb783d48943ce077643482d5cd4ab98147afb25b15e |
| hovercard-subject-tag | issue:752411989 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/code11/engine/103/issue_layout |
| twitter:image | https://opengraph.githubassets.com/f4b6a552398cd8065ccaeeb5c9910c089a682fad4e005a4332af79a62ea28505/code11/engine/issues/103 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/f4b6a552398cd8065ccaeeb5c9910c089a682fad4e005a4332af79a62ea28505/code11/engine/issues/103 |
| og:image:alt | In order to avoid unnecessary cloning we can infer from the AST the type of operations that occur on data and then can label which props need cloning and which don't. The default strategy should be... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | dumconstantin |
| hostname | github.com |
| expected-hostname | github.com |
| None | 42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b |
| turbo-cache-control | no-preview |
| go-import | github.com/code11/engine git https://github.com/code11/engine.git |
| octolytics-dimension-user_id | 3459120 |
| octolytics-dimension-user_login | code11 |
| octolytics-dimension-repository_id | 255651675 |
| octolytics-dimension-repository_nwo | code11/engine |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 255651675 |
| octolytics-dimension-repository_network_root_nwo | code11/engine |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3b33c5aedc9808f45bc5fcf0b1e4404cf749dac7 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width