All files / dates/src substract.ts

100% Statements 18/18
100% Branches 7/7
100% Functions 1/1
100% Lines 17/17

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 305x   5x 8x     8x 7x 2x   7x 2x   7x 2x   7x 2x   7x 2x   7x 2x       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);
};