From a5aebe3344764eea37d95b6ac2f3f220c7e6c1b7 Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Thu, 2 Jul 2015 15:51:02 +0300 Subject: [PATCH 1/4] Decorators added and Deprecated decorator implemented --- declarations.d.ts | 16 ++++++++++++++++ globals/globals.ts | 22 +++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/declarations.d.ts b/declarations.d.ts index 044782789..c3427ab6a 100644 --- a/declarations.d.ts +++ b/declarations.d.ts @@ -16,7 +16,23 @@ declare var console: Console; declare var global; declare var require; +interface TypedPropertyDescriptor { + enumerable?: boolean; + configurable?: boolean; + writable?: boolean; + value?: T; + get?: () => T; + set?: (value: T) => void; +} + +declare type ClassDecorator = (target: TFunction) => TFunction | void; +declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; +declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; +declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; + // Global functions +declare function Deprecated(target: Object, key?: string | symbol, value?: any): void; + declare function Log(data: any): void; declare function log(data: any): void; declare function float(num: number): any; diff --git a/globals/globals.ts b/globals/globals.ts index 1da80f3a0..b20dbe4f4 100644 --- a/globals/globals.ts +++ b/globals/globals.ts @@ -15,4 +15,24 @@ if (types.isUndefined(global.NSObject)) { } global.XMLHttpRequest = (http).XMLHttpRequest; -global.alert = dialogs.alert; \ No newline at end of file +global.alert = dialogs.alert; + +export function Deprecated(target: Object, key?: string | symbol, descriptor?: any) { + if (descriptor) { + var originalMethod = descriptor.value; + + descriptor.value = function (...args: any[]) { + console.log(`${key} is deprecated`); + + return originalMethod.apply(this, args); + } + + return descriptor; + } else { + + console.log(`${(target && (target).name || target)}} is deprecated`); + return target; + } +} + +global.Deprecated = Deprecated; \ No newline at end of file From 95c025a733308b70925df56a773685e2beca55cd Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Thu, 2 Jul 2015 15:51:18 +0300 Subject: [PATCH 2/4] border deprecated --- ui/border/border-common.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/border/border-common.ts b/ui/border/border-common.ts index d516ebe48..c3d50a4a6 100644 --- a/ui/border/border-common.ts +++ b/ui/border/border-common.ts @@ -25,6 +25,7 @@ var borderColorProperty = new dependencyObservable.Property( new proxy.PropertyMetadata(undefined, dependencyObservable.PropertyMetadataSettings.AffectsStyle) ); +@Deprecated export class Border extends contentView.ContentView implements definition.Border { public static cornerRadiusProperty = cornerRadiusProperty; From c8fe6b32b971dac8885a2cbc0bab28a647f0a6bf Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Thu, 2 Jul 2015 15:51:35 +0300 Subject: [PATCH 3/4] activity callbacks deprecated --- application/application.android.ts | 33 +++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/application/application.android.ts b/application/application.android.ts index cc836f5d2..280ff1e38 100644 --- a/application/application.android.ts +++ b/application/application.android.ts @@ -145,13 +145,44 @@ class AndroidApplication extends observable.Observable implements dts.AndroidApp public packageName: string; public hasActionBar: boolean; + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onActivityCreated: (activity: android.app.Activity, bundle: android.os.Bundle) => void; + + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onActivityDestroyed: (activity: android.app.Activity) => void; + + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onActivityStarted: (activity: android.app.Activity) => void; + + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onActivityPaused: (activity: android.app.Activity) => void; + + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onActivityResumed: (activity: android.app.Activity) => void; + + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onActivityStopped: (activity: android.app.Activity) => void; + + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onSaveActivityState: (activity: android.app.Activity, bundle: android.os.Bundle) => void; + + /* tslint:disable */ + @Deprecated + /* tslint:enable */ public onActivityResult: (requestCode: number, resultCode: number, data: android.content.Intent) => void; private _eventsToken: any; @@ -218,4 +249,4 @@ exports.start = function () { dts.loadCss(); } -exports.android = new AndroidApplication(); \ No newline at end of file +exports.android = new AndroidApplication(); From 078434460d0799d6a2337ce3b40ef4aae945206e Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Thu, 2 Jul 2015 15:57:20 +0300 Subject: [PATCH 4/4] code fixed --- globals/globals.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globals/globals.ts b/globals/globals.ts index b20dbe4f4..28a960fb7 100644 --- a/globals/globals.ts +++ b/globals/globals.ts @@ -30,7 +30,7 @@ export function Deprecated(target: Object, key?: string | symbol, descriptor?: a return descriptor; } else { - console.log(`${(target && (target).name || target)}} is deprecated`); + console.log(`${(target && (target).name || target)} is deprecated`); return target; } }