{"ScriptPreparationCode":"var account1 = {\r\n subscriptions: {\r\n suite: {\r\n status: \u0027in_trial\u0027,\r\n currentTermStart: new Date(),\r\n currentTermEnd: new Date()\r\n }\r\n }\r\n};\r\n\r\nvar account2 = {\r\n subscriptions: {\r\n suite: {\r\n status: \u0027active\u0027,\r\n currentTermStart: new Date(),\r\n currentTermEnd: new Date()\r\n }\r\n }\r\n};\r\n\r\nvar account3 = {\r\n subscriptions: {\r\n myplan_v1: {\r\n status: \u0027active\u0027,\r\n currentTermStart: new Date(),\r\n currentTermEnd: new Date()\r\n }\r\n }\r\n};\r\n\r\nvar iterations = 1000000;","TestCases":[{"Name":"With Ramda","Code":"for (i = 0; i \u003C iterations; i\u002B\u002B) {\r\n \tconst res1 = R.pathOr(null, [\u0027subscriptions\u0027, \u0027suite\u0027, \u0027status\u0027], account1) === \u0027in_trial\u0027;\r\n \tconst res2 = R.pathOr(null, [\u0027subscriptions\u0027, \u0027suite\u0027, \u0027status\u0027], account2) === \u0027in_trial\u0027;\r\n \tconst res3 = R.pathOr(null, [\u0027subscriptions\u0027, \u0027suite\u0027, \u0027status\u0027], account3) === \u0027in_trial\u0027;\r\n}","IsDeferred":false},{"Name":"With optional chaining","Code":"for (i = 0; i \u003C iterations; i\u002B\u002B) {\r\n \tconst res1 = account1?.subscriptions?.suite?.status === \u0027in_trial\u0027;\r\n \tconst res2 = account2?.subscriptions?.suite?.status === \u0027in_trial\u0027;\r\n \tconst res3 = account3?.subscriptions?.suite?.status === \u0027in_trial\u0027;\r\n}","IsDeferred":false}]}