{"ScriptPreparationCode":"var types = {\r\n \u0022all\u0022: [\r\n \u0022GDPR\u0022,\r\n \u0022HIPAA\u0022,\r\n \u0022NIST 800-53 Rev4\u0022,\r\n \u0022NIST CSF\u0022,\r\n \u0022PCI DSS v3.2\u0022,\r\n \u0022RIS\u0022,\r\n \u0022SOC 2\u0022\r\n ],\r\n \u0022gcp\u0022: [\r\n \u0022CIS v1.0.0 (GCP)\u0022,\r\n \u0022Eddie\u0022,\r\n \u0022HIPAA\u0022,\r\n \u0022ISO 27001:2013\u0022,\r\n \u0022Marc\u0027s Compliance Standard\u0022,\r\n \u0022NIST 800-53 Rev4\u0022,\r\n \u0022PCI DSS v3.2\u0022,\r\n \u0022RIS\u0022,\r\n \u0022SOC 2\u0022\r\n ],\r\n \u0022aws\u0022: [\r\n \u0022CIS v1.2.0 (AWS)\u0022,\r\n \u0022CS Custom Standard\u0022,\r\n \u0022ChrisZ Compliance\u0022,\r\n \u0022Eddie\u0022,\r\n \u0022Francisco\u0027s Test\u0022,\r\n \u0022GDPR\u0022,\r\n \u0022HIPAA\u0022,\r\n \u0022ISO 27001:2013\u0022,\r\n \u0022Marc\u0027s Compliance Standard\u0022,\r\n \u0022My standard\u0022,\r\n \u0022NIST 800-53 Rev4\u0022,\r\n \u0022NIST CSF\u0022,\r\n \u0022PCI DSS v3.2\u0022,\r\n \u0022RIS\u0022,\r\n \u0022SOC 2\u0022,\r\n \u0022compliance test\u0022\r\n ],\r\n \u0022azure\u0022: [\r\n \u0022CIS v1.0 (Azure)\u0022,\r\n \u0022GDPR\u0022,\r\n \u0022HIPAA\u0022,\r\n \u0022ISO 27001:2013\u0022,\r\n \u0022NIST 800-53 Rev4\u0022,\r\n \u0022PCI DSS v3.2\u0022,\r\n \u0022RIS\u0022,\r\n \u0022SOC 2\u0022\r\n ]\r\n};","TestCases":[{"Name":"reduce then map","Code":"_.reduce(_.omit(types, \u0027all\u0027), (result, standards, cloud) =\u003E {\r\n standards.map(s =\u003E {\r\n const standard = result[ s ];\r\n \r\n if (!standard) {\r\n result[ s ] = [ cloud ];\r\n }\r\n else {\r\n standard.push(cloud);\r\n }\r\n });\r\n \r\n return result;\r\n}, {})","IsDeferred":false},{"Name":"reudce then pick","Code":"var standards = [ ...new Set(Object.values(types)) ];\r\nvar typesWithoutAll = _.omit(types, \u0027all\u0027);\r\n\r\nstandards.reduce((result, standard) =\u003E {\r\n\tresult[ standard ] = _.pickBy(typesWithoutAll, standards =\u003E standards.includes(standard));\r\n \t\r\n \treturn result;\r\n}, {});\r\n","IsDeferred":false}]}