I know how to calculate them for bonds.  But it came to my mind this.

In bonds, Macaulay Duration technically is the weighted average of coupon payments... But can it be somehow calculated for Swaps? Or when dealing with swaps, you always need to proxy duration as the "contractual duration"?