{"ScriptPreparationCode":"var scopes = \u0022https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/calendar.settings.readonly https://www.googleapis.com/auth/calendar openid https://www.googleapis.com/auth/calendar.events\u0022.split(\u0027 \u0027);\r\n\r\nvar requiredScopes = [\r\n \u0027yasss\u0027,\r\n \u0027https://www.googleapis.com/auth/calendar\u0027,\r\n \u0027https://www.googleapis.com/auth/calendar.events\u0027,\r\n \u0027https://www.googleapis.com/auth/calendar.settings.readonly\u0027,\r\n];","TestCases":[{"Name":"// array .includes","Code":"let scopesOk = true;\r\n\r\nfor (let i = 0, length = requiredScopes.length; i \u003C length; \u002B\u002Bi) {\r\n if (!scopes.includes(requiredScopes[i])) {\r\n // console.log(\u0022early break\u0022);\r\n scopesOk = false;\r\n break;\r\n }\r\n // console.log(i)\r\n}","IsDeferred":false},{"Name":"// set .has","Code":"let scopesOk = true;\r\nconst scopeSet = new Set(scopes);\r\nfor (let i = 0, length = requiredScopes.length; i \u003C length; \u002B\u002Bi) {\r\n if (!scopeSet.has(requiredScopes[i])) {\r\n // console.log(\u0022early break\u0022);\r\n scopesOk = false;\r\n break;\r\n }\r\n}","IsDeferred":false},{"Name":"// array .some(!include)","Code":"let scopesOk = requiredScopes.some(scope =\u003E !scopes.includes(scope))","IsDeferred":false},{"Name":"// set .some(!has)","Code":"const scopeSet2 = new Set(scopes);\r\nlet scopesOk = requiredScopes.some(scope =\u003E !scopeSet2.has(scope))","IsDeferred":false}]}