2

I extend moment to manage public holiday (base on french calendar). So I also extend typescript definition file, but before I was using tsd with /// <reference. This was working pretty well. My .d.ts content :

/// <reference path="../moment/moment.d.ts" />

declare module moment {

  interface Moment {
    weekDays(date: Moment): number;
    weekendDays(date: Moment): number;
    addWeekDays(days: number): Moment;
    subtractWeekDays(days: number): Moment;
    isWeekDay(): boolean;
    isWeekendDay(): boolean;
  }

}

Now I switched to typings and I referenced .d.ts in tsconfig.json. I use moment definition from it's npm package and my .d.ts does not work anymore. I changed to this :

declare namespace moment {
    interface Moment {
        weekDays(date: Moment): number;
        weekendDays(date: Moment): number;
        addWeekDays(days: number): Moment;
        subtractWeekDays(days: number): Moment;
        isWeekDay(): boolean;
        isWeekendDay(): boolean;
    }
}

But this is not working, and then I tried this :

declare module 'moment' {
    interface Moment {
        weekDays(date: Moment): number;
        weekendDays(date: Moment): number;
        addWeekDays(days: number): Moment;
        subtractWeekDays(days: number): Moment;
        isWeekDay(): boolean;
        isWeekendDay(): boolean;
    }
}

This erase orginal moment's .d.ts file...

How can I extend this .d.ts file ?

Felix_Billon
  • 690
  • 2
  • 10
  • 21

0 Answers0