{"id":2262,"date":"2019-06-24T12:17:27","date_gmt":"2019-06-24T11:17:27","guid":{"rendered":"https:\/\/solidt.eu\/site\/?p=2262"},"modified":"2019-06-24T12:17:28","modified_gmt":"2019-06-24T11:17:28","slug":"typescript-history-pager","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/typescript-history-pager\/","title":{"rendered":"Typescript history pager"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">const dateAdd = (date: Date, ms: number) => new Date(date.getTime() + ms);\nconst getToday = () => {\n    const d = new Date();\n    d.setHours(23, 59, 59);\n    return d;\n};\n\nexport interface IPageInfo { from: Date; to: Date; page: number; }\ntype Pager = (page: number) => IPageInfo;\n\nconst historyPager = (msRange: number): Pager => {\n    const today = getToday();\n    return (page: number) => {\n        const from = dateAdd(today, -msRange * (page + 1));\n        from.setHours(0, 0, 0);\n        let to = dateAdd(today, -msRange * page);\n        if (page &lt; 1) {\n            to = null;\n        }\n        return {\n            from,\n            to,\n            page\n        };\n    };\n};<\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2262","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=2262"}],"version-history":[{"count":1,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2262\/revisions"}],"predecessor-version":[{"id":2263,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2262\/revisions\/2263"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=2262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=2262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=2262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}