export class Utils{ static decorate(decorators: any[], target: any, propertyKey: string, descriptor: PropertyDescriptor) { var c: number = arguments.length; var r = c < 3 ? target : descriptor === null ? descriptor = Object.getOwnPropertyDescriptor(target, propertyKey) : descriptor; if (typeof Reflect === 'object' && typeof Reflect['decorate'] === 'function') { r = Reflect['decorate'](decorators, target, propertyKey, descriptor); } else { for (var i: number = decorators.length - 1; i >= 0; i--){ var d = decorators[i]; if (d) { r = (c < 3 ? d(r) : c > 3 ? d(target, propertyKey, r) : d(target, descriptor)) || r; } } } return c > 3 && r && Object.defineProperty(target, propertyKey, r), r; } }