{"ScriptPreparationCode":null,"TestCases":[{"Name":"using find","Code":"const R = {\r\n idA: 12345\r\n};\r\nconst RI = {\r\n idB: 98765\r\n};\r\nconst events = [{\r\n EEI: [{\r\n EEIC: [{\r\n idA: 12345,\r\n idB: 98765\r\n }, {\r\n idA: 12342,\r\n idB: 98715\r\n }, {\r\n idA: 12315,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n EEIC: [{\r\n idA: 12355,\r\n idB: 98065\r\n }, {\r\n idA: 12342,\r\n idB: 98915\r\n }, {\r\n idA: 12915,\r\n idB: 90065\r\n }\r\n ]\r\n }\r\n ],\r\n enhancements: []\r\n }, {\r\n EEI: [{\r\n EEIC: [{\r\n idA: 12341,\r\n idB: 98765\r\n }, {\r\n idA: 12342,\r\n idB: 98715\r\n }, {\r\n idA: 12313,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n EEIC: [{\r\n idA: 12355,\r\n idB: 98065\r\n }, {\r\n idA: 12342,\r\n idB: 98915\r\n }, {\r\n idA: 12915,\r\n idB: 90065\r\n }\r\n ]\r\n }\r\n ],\r\n enhancements: []\r\n }, {\r\n EEI: [{\r\n EEIC: [{\r\n idA: 12345,\r\n idB: 98265\r\n }, {\r\n idA: 12122,\r\n idB: 98745\r\n }, {\r\n idA: 12345,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n EEIC: [{\r\n idA: 12355,\r\n idB: 91065\r\n }, {\r\n idA: 12242,\r\n idB: 98315\r\n }, {\r\n idA: 12925,\r\n idB: 90025\r\n }\r\n ]\r\n }\r\n ],\r\n enhancements: [{\r\n charges: [{\r\n idA: 11115,\r\n idB: 87878\r\n }, {\r\n idA: 12342,\r\n idB: 98715\r\n }, {\r\n idA: 12315,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n charges: [{\r\n idA: 12355,\r\n idB: 98065\r\n }, {\r\n idA: 12342,\r\n idB: 98915\r\n }, {\r\n idA: 12915,\r\n idB: 90065\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\nif (events \u0026\u0026 events.length) {\r\n let event = events.find(event =\u003E {\r\n let linkedItem = false;\r\n let linkedEnhancement = false;\r\n if (event.EEI \u0026\u0026 event.EEI.length) {\r\n for (let item of event.EEI) {\r\n linkedItem = item.EEIC \u0026\u0026 item.EEIC.some(charge =\u003E {\r\n return charge.idA === Number(R.idA) \u0026\u0026 charge.idB === Number(RI.idB)\r\n });\r\n if (linkedItem) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!linkedItem \u0026\u0026 event.enhancements \u0026\u0026 event.enhancements.length) {\r\n for (let enhancement of event.enhancements) {\r\n linkedEnhancement = enhancement.charges \u0026\u0026 enhancement.charges.some(charge =\u003E {\r\n return charge.idA === Number(R.idA) \u0026\u0026 charge.idB === Number(RI.idB)\r\n });\r\n if (linkedEnhancement) {\r\n break;\r\n }\r\n }\r\n }\r\n return linkedItem || linkedEnhancement;\r\n });\r\n}","IsDeferred":false},{"Name":"using lodash find","Code":"const R = {\r\n idA: 12345\r\n};\r\nconst RI = {\r\n idB: 98765\r\n};\r\nconst events = [{\r\n EEI: [{\r\n EEIC: [{\r\n idA: 12345,\r\n idB: 98765\r\n }, {\r\n idA: 12342,\r\n idB: 98715\r\n }, {\r\n idA: 12315,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n EEIC: [{\r\n idA: 12355,\r\n idB: 98065\r\n }, {\r\n idA: 12342,\r\n idB: 98915\r\n }, {\r\n idA: 12915,\r\n idB: 90065\r\n }\r\n ]\r\n }\r\n ],\r\n enhancements: []\r\n }, {\r\n EEI: [{\r\n EEIC: [{\r\n idA: 12341,\r\n idB: 98765\r\n }, {\r\n idA: 12342,\r\n idB: 98715\r\n }, {\r\n idA: 12313,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n EEIC: [{\r\n idA: 12355,\r\n idB: 98065\r\n }, {\r\n idA: 12342,\r\n idB: 98915\r\n }, {\r\n idA: 12915,\r\n idB: 90065\r\n }\r\n ]\r\n }\r\n ],\r\n enhancements: []\r\n }, {\r\n EEI: [{\r\n EEIC: [{\r\n idA: 12345,\r\n idB: 98265\r\n }, {\r\n idA: 12122,\r\n idB: 98745\r\n }, {\r\n idA: 12345,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n EEIC: [{\r\n idA: 12355,\r\n idB: 91065\r\n }, {\r\n idA: 12242,\r\n idB: 98315\r\n }, {\r\n idA: 12925,\r\n idB: 90025\r\n }\r\n ]\r\n }\r\n ],\r\n enhancements: [{\r\n charges: [{\r\n idA: 11115,\r\n idB: 87878\r\n }, {\r\n idA: 12342,\r\n idB: 98715\r\n }, {\r\n idA: 12315,\r\n idB: 98065\r\n }\r\n ]\r\n }, {\r\n charges: [{\r\n idA: 12355,\r\n idB: 98065\r\n }, {\r\n idA: 12342,\r\n idB: 98915\r\n }, {\r\n idA: 12915,\r\n idB: 90065\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\nif (events \u0026\u0026 events.length) {\r\n let event = _.find(events, (event) =\u003E {\r\n const a = _.find(event.EEI, (item) =\u003E {\r\n return _.find(item.EEIC, { idA: Number(R.idA), idB: Number(RI.idB) }) !== undefined;\r\n });\r\n const b = _.find(event.enhancements, (enh) =\u003E {\r\n return _.find(enh.charges, { idA: Number(R.idA), idB: Number(RI.idB) }) !== undefined;\r\n });\r\n return a || b;\r\n });\r\n}","IsDeferred":false}]}