From 679e3abdbe2e7884036271f15f497c65d2324e2d Mon Sep 17 00:00:00 2001 From: Angelica Landazabal Date: Sun, 24 May 2020 20:14:03 -0500 Subject: [PATCH] Challenge completed --- package-lock.json | 6 ++-- package.json | 2 +- src/filter.js | 83 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 86 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2384d55..3e82a71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1225,9 +1225,9 @@ } }, "date-fns": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.11.1.tgz", - "integrity": "sha512-3RdUoinZ43URd2MJcquzBbDQo+J87cSzB8NkXdZiN5ia1UNyep0oCyitfiL88+R7clGTeq/RniXAc16gWyAu1w==" + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.14.0.tgz", + "integrity": "sha512-1zD+68jhFgDIM0rF05rcwYO8cExdNqxjq4xP1QKM60Q45mnO6zaMWB4tOzrIr4M4GSLntsKeE4c9Bdl2jhL/yw==" }, "debug": { "version": "4.1.1", diff --git a/package.json b/package.json index a05848b..97f7207 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "author": "", "license": "ISC", "dependencies": { - "date-fns": "^2.11.1" + "date-fns": "^2.14.0" }, "devDependencies": { "jest": "^25.2.7" diff --git a/src/filter.js b/src/filter.js index 13e106b..5d31e72 100644 --- a/src/filter.js +++ b/src/filter.js @@ -1,5 +1,86 @@ +const { subDays } = require('date-fns') + const makeFilter = (date) => { - let filters = []; + + let sdate = date.getFullYear() + "/" + ("0"+(date.getMonth()+1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2); + + let dia7 = subDays( date, 7); + let sdia7 = dia7.getFullYear() + "/" + ("0"+(dia7.getMonth()+1)).slice(-2) + "/" + ("0" + dia7.getDate()).slice(-2); + + let d28 = subDays( date, 28); + let sd28 = d28.getFullYear() + "/" + ("0"+(d28.getMonth()+1)).slice(-2) + "/" + ("0" + d28.getDate()).slice(-2); + + let d90 = subDays( date, 90); + let sd90 = d90.getFullYear() + "/" + ("0"+(d90.getMonth()+1)).slice(-2) + "/" + ("0" + d90.getDate()).slice(-2); + + let d365 = subDays( date, 365); + let sd365 = d365.getFullYear() + "/" + ("0"+(d365.getMonth()+1)).slice(-2) + "/" + ("0" + d365.getDate()).slice(-2); + + let sy1 = subDays( date, 365); + let ssy1 = sy1.getFullYear() + "/" + ("0"+(sy1.getMonth()+1)).slice(-2) + "/" + ("0" + sy1.getDate()).slice(-2); + + let ey1 = subDays( date, 1); + let sey1 = ey1.getFullYear() + "/" + ("0"+(ey1.getMonth()+1)).slice(-2) + "/" + ("0" + ey1.getDate()).slice(-2); + + let sy2 = subDays( date, 730); + let ssy2 = sy2.getFullYear() + "/" + ("0"+(sy2.getMonth()+1)).slice(-2) + "/" + ("0" + sy2.getDate()).slice(-2); + + let ey2 = subDays( date, 366); + let sey2 = ey2.getFullYear() + "/" + ("0"+(ey2.getMonth()+1)).slice(-2) + "/" + ("0" + ey2.getDate()).slice(-2); + + let sy3 = subDays( date, 1095); + let ssy3 = sy3.getFullYear() + "/" + ("0"+(sy3.getMonth()+1)).slice(-2) + "/" + ("0" + sy3.getDate()).slice(-2); + + let ey3 = subDays( date, 731); + let sey3 = ey3.getFullYear() + "/" + ("0"+(ey3.getMonth()+1)).slice(-2) + "/" + ("0" + ey3.getDate()).slice(-2); + + let sm1 = subDays( date, 31); + let ssm1 = sm1.getFullYear() + "/" + ("0"+(sm1.getMonth()+1)).slice(-2) + "/" + ("0" + sm1.getDate()).slice(-2); + + let em1 = subDays( date, 1); + let sem1 = em1.getFullYear() + "/" + ("0"+(em1.getMonth()+1)).slice(-2) + "/" + ("0" + em1.getDate()).slice(-2); + + let sm2 = subDays( date, 61); + let ssm2 = sm2.getFullYear() + "/" + ("0"+(sm2.getMonth()+1)).slice(-2) + "/" + ("0" + sm2.getDate()).slice(-2); + + let em2 = subDays( date, 32); + let sem2 = em2.getFullYear() + "/" + ("0"+(em2.getMonth()+1)).slice(-2) + "/" + ("0" + em2.getDate()).slice(-2); + + let sm3 = subDays( date, 92); + let ssm3 = sm3.getFullYear() + "/" + ("0"+(sm3.getMonth()+1)).slice(-2) + "/" + ("0" + sm3.getDate()).slice(-2); + + let em3 = subDays( date, 62); + let sem3 = em3.getFullYear() + "/" + ("0"+(em3.getMonth()+1)).slice(-2) + "/" + ("0" + em3.getDate()).slice(-2); + + let filters = [ + { + label: 'Últimos 7 días', + startAt: sdia7, + endAt: sdate + }, + { + label: 'Últimos 28 días', + startAt: sd28, + endAt: sdate + }, + { + label: 'Últimos 90 días', + startAt: sd90, + endAt: sdate + }, + { + label: 'Últimos 365 días', + startAt: sd365, + endAt: sdate + }, + { label: '2019', startAt: ssy1, endAt: sey1 }, + { label: '2018', startAt: ssy2, endAt: sey2}, + { label: '2017', startAt: ssy3, endAt: sey3 }, + { label: 'diciembre', startAt: ssm1, endAt: sem1 }, + { label: 'noviembre', startAt: ssm2, endAt: sem2 }, + { label: 'octubre', startAt: ssm3, endAt: sem3 } + ] + return filters; }