All files / dates/src substract.ts

100% Statements 29/29
100% Branches 9/9
100% Functions 2/2
100% Lines 29/29

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301x 1x 1x 8x 8x 8x 8x 7x 2x 2x 7x 2x 2x 7x 2x 2x 7x 2x 2x 7x 2x 2x 7x 2x 2x 7x 8x 8x 8x  
import { add, IDateAddOptions } from "./add";
 
export const substract = (date: Date, options?: IDateAddOptions): Date => {
    const substractOptions: IDateAddOptions = {};
 
    // invert values
    if (options != null) {
        if (options.years != null) {
            substractOptions.years = -options.years;
        }
        if (options.months != null) {
            substractOptions.months = -options.months;
        }
        if (options.days != null) {
            substractOptions.days = -options.days;
        }
        if (options.hours != null) {
            substractOptions.hours = -options.hours;
        }
        if (options.minutes != null) {
            substractOptions.minutes = -options.minutes;
        }
        if (options.seconds != null) {
            substractOptions.seconds = -options.seconds;
        }
    }
 
    return add(date, substractOptions);
};