isAfter
isAfter
(date1: date) => (date2: date) => boolean
Test if a date is after another
const janFirst2025 = new Date('2025 1 1') const isAfterJanFirst2025 = isAfter(janFirst2025) const now = new Date() isAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAfterJanFirst2025(decFirst2024) // is false
const janFirst2025 = new Date('2025 1 1') const isAfterJanFirst2025 = isAfter(janFirst2025) const now = new Date() isAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAfterJanFirst2025(decFirst2024) // is false
const janFirst2025 = new Date('2025 1 1') const isAfterJanFirst2025 = isAfter(janFirst2025) const now = new Date() isAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAfterJanFirst2025(decFirst2024) // is false
const janFirst2025 = new Date('2025 1 1') const isAfterJanFirst2025 = isAfter(janFirst2025) const now = new Date() isAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAfterJanFirst2025(decFirst2024) // is false
Sometimes we need to compare dates. Below, it's fridge cleaning time. Let's keep the items that are still good.
const now = new Date('2025 1 15') const fridge = { milk: { goodUntil: new Date('2025 1 12'), }, eggs: { goodUntil: new Date('2025 1 16'), }, } const isStillGood = compose([get('goodUntil'), isAfter(now)]) const clean = keepWhen(isStillGood) const freshFridge = clean(fridge) console.log(freshFridge) // is { // eggs: { // goodUntil: 2025 1 16 // } // }
const now = new Date('2025 1 15') type Perishable = { goodUntil: Date } type Fridge = Record<string, Perishable> const fridge: Fridge = { milk: { goodUntil: new Date('2025 1 12'), }, eggs: { goodUntil: new Date('2025 1 16'), }, } const isStillGood = compose([get('goodUntil')<Perishable>, isAfter(now)]) const clean = keepWhen(isStillGood)<Fridge> const freshFridge = clean(fridge) console.log(freshFridge) // is { // eggs: { // goodUntil: 2025 1 16 // } // }
const now = new Date('2025 1 15') const fridge = { milk: { goodUntil: new Date('2025 1 12'), }, eggs: { goodUntil: new Date('2025 1 16'), }, } const isStillGood = compose([ get('goodUntil'), isAfter(now), ]) const clean = keepWhen(isStillGood) const freshFridge = clean(fridge) console.log(freshFridge) // is { // eggs: { // goodUntil: 2025 1 16 // } // }
const now = new Date('2025 1 15') type Perishable = { goodUntil: Date } type Fridge = Record<string, Perishable> const fridge: Fridge = { milk: { goodUntil: new Date('2025 1 12'), }, eggs: { goodUntil: new Date('2025 1 16'), }, } const isStillGood = compose([ get('goodUntil')<Perishable>, isAfter(now), ]) const clean = keepWhen(isStillGood)<Fridge> const freshFridge = clean(fridge) console.log(freshFridge) // is { // eggs: { // goodUntil: 2025 1 16 // } // }