{"ScriptPreparationCode":null,"TestCases":[{"Name":"new","Code":"const offsetSize = 2;\r\nconst offsetsSize = offsetSize * 2;\r\nconst viewSize = offsetsSize \u002B 1;\r\n\r\nconst getPages = (current, pagesCount) =\u003E {\r\n const normalizedViewSize = viewSize \u003C pagesCount ? viewSize : pagesCount;\r\n const viewEnd = current \u002B offsetSize;\r\n const normalizedViewEnd = viewEnd \u003C pagesCount ? viewEnd : pagesCount;\r\n const viewStart = normalizedViewEnd - normalizedViewSize \u002B 1;\r\n const normalizedViewStart = viewStart \u003E 0 ? viewStart : 1;\r\n\r\n const startPage = (current \u003E= offsetsSize \u0026\u0026 [1]) || [];\r\n const startDots = (current \u003E offsetsSize \u0026\u0026 [\u0027dots\u0027]) || [];\r\n const pages = [...Array(normalizedViewSize)].map((_, i) =\u003E normalizedViewStart \u002B i);\r\n const endDots = (viewEnd \u003C pagesCount \u0026\u0026 [\u0027dots\u0027]) || [];\r\n const endPage = (viewEnd \u003C= pagesCount \u0026\u0026 [pagesCount]) || [];\r\n\r\n return [...startPage, ...startDots, ...pages, ...endDots, ...endPage];\r\n};\r\n\r\ngetPages(1, 200);","IsDeferred":false},{"Name":"old","Code":"const getPages = (current, pagesCount) =\u003E {\r\n let items = [];\r\n\r\n let start = current - 3;\r\n let end = current \u002B 3;\r\n\r\n if (current === 5) items = [1];\r\n\r\n if (current \u003E 5) items = [1, \u0027dots\u0027];\r\n\r\n if (start \u003C= 1) start = 1;\r\n\r\n if (end \u003E pagesCount) end = pagesCount;\r\n\r\n for (let i = start; i \u003C= end; i\u002B\u002B) {\r\n items.push(i);\r\n }\r\n\r\n if (end \u002B 1 \u003C pagesCount) {\r\n items = [...items, \u0027dots\u0027, pagesCount];\r\n } else if (end \u003C pagesCount) {\r\n items = [...items, pagesCount];\r\n }\r\n\r\n return items;\r\n};\r\n\r\ngetPages(1, 200);","IsDeferred":false}]}