{"shas":[["748f630e638ec8eef98b2c2ee5573eeb2252f89b","741d98735065190d07919d78aba9cdb1058767ea@fb.com","Add JX.JSON.parse, update JX.JSON.serialize\n\nSummary: Add functionality to decode a JSON string into an object.\nRename JX.JSON.serialize to stringify to match the ES5 method name. Both\nwill use their native counterparts if available. They are not spec\ncompliant, ie. they do not support replacer/receiver j0nx. Cleaned up\nsome of the stringify code. JX.JSON.parse is intended to never throw, it\nwill return the parsed object or null. The idea is that if it would\nthrow in dev but you rely on it to return null to check if the data\ncontained a value, you would have to cover both the exception and the\nnull check in your application code.\n\nTest Plan: verify that both methods can properly decode and encode JSON\nvalues.\n\nReviewers: tomo, epriestley, mroch\n\nCC:\n\nDifferential Revision: 510","cpojer"],["716f9392ab70f6641b121b860c9dcc43e8e17d65","741d98735065190d07919d78aba9cdb1058767ea@fb.com","Throw when alterClass is called without third arg\n\nSummary: If no third argument is provided, this method will behave\ndifferently depending on whether the element has the class or not.\nJavelin discourages state management through className. Throwing an\nerror in DEV can help developers spot this mistakte.\n\nTest Plan: Test that it throws in DEV if anything but true or false are\nprovided as third argument.\n\nReviewers: mroch, epriestley, tomo\n\nCC:\n\nDifferential Revision: 511","cpojer"]],"ref":"refs/heads/master","size":2,"head":"716f9392ab70f6641b121b860c9dcc43e8e17d65","push_id":34884264}