From 83fb0a3c49c3399aeae559f7391356f337509720 Mon Sep 17 00:00:00 2001 From: flyfishMT Date: Tue, 1 Mar 2016 16:37:22 -0700 Subject: [PATCH 1/3] kolite command, dirtyflag are no longer added to ko but are added to AMD exports. they are also broken into 3 different files. changed to reflect this and added ambient declarations so everything works in typescript with requirejs. --- kolite/knockout.activity.d.ts | 38 +++++++++++++++++++++++++++++ kolite/knockout.command.d.ts | 44 ++++++++++++++++++++++++++++++++++ kolite/knockout.dirtyFlag.d.ts | 26 ++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 kolite/knockout.activity.d.ts create mode 100644 kolite/knockout.command.d.ts create mode 100644 kolite/knockout.dirtyFlag.d.ts diff --git a/kolite/knockout.activity.d.ts b/kolite/knockout.activity.d.ts new file mode 100644 index 0000000000..d6fc28c296 --- /dev/null +++ b/kolite/knockout.activity.d.ts @@ -0,0 +1,38 @@ +// Type definitions for KoLite 1.1 +// Project: https://github.com/CodeSeven/kolite +// Definitions by: Boris Yankov +// Definitions: https://github.com/borisyankov/DefinitelyTyped + + +/// +/// + + +// Activity ///////////////////////////////////////////// + +interface KoLiteActivityOptions { + color?: any; + segments?: number; + space?: number; + length?: number; + width?: number; + speed?: number; + align?: string; + valign?: string; + padding?: number; +} + +interface KoLiteActivity { + (options: KoLiteActivityOptions): JQuery; + defaults: KoLiteActivityOptions; + getOpacity(options: { steps?: number; segments?: number; opacity?: number; }, i: number): number; +} + +interface KnockoutBindingHandlers { + activity: KnockoutBindingHandler; +} + +interface JQuery { + activity: KoLiteActivity; + activityEx(isLoading: boolean): JQuery; +} diff --git a/kolite/knockout.command.d.ts b/kolite/knockout.command.d.ts new file mode 100644 index 0000000000..cb08f4a070 --- /dev/null +++ b/kolite/knockout.command.d.ts @@ -0,0 +1,44 @@ +// Type definitions for KoLite 1.1 +// Project: https://github.com/CodeSeven/kolite +// Definitions by: Boris Yankov +// Definitions: https://github.com/borisyankov/DefinitelyTyped + + +/// +/// + + +// Command ///////////////////////////////////////////// + +interface KoliteCommand { + canExecute: KnockoutComputed; + execute(...args: any[]): any; +} + +interface KoliteAsyncCommand extends KoliteCommand { + isExecuting: KnockoutObservable; +} + +interface KoLiteCommandOptions { + execute(...args: any[]): any; + canExecute?: (isExecuting: boolean) => any; +} + +interface KnockoutCommandStatic { + command(options: KoLiteCommandOptions): KoliteCommand; + asyncCommand(options: KoLiteCommandOptions): KoliteAsyncCommand; +} + +interface KnockoutUtils { + wrapAccessor(accessor): Function; +} + +interface KnockoutBindingHandlers { + command: KnockoutBindingHandler; +} + +declare var kocommand: KnockoutCommandStatic; +declare module 'kocommand'{ + export = kocommand; +} + diff --git a/kolite/knockout.dirtyFlag.d.ts b/kolite/knockout.dirtyFlag.d.ts new file mode 100644 index 0000000000..607880525a --- /dev/null +++ b/kolite/knockout.dirtyFlag.d.ts @@ -0,0 +1,26 @@ +// Type definitions for KoLite 1.1 +// Project: https://github.com/CodeSeven/kolite +// Definitions by: Boris Yankov +// Definitions: https://github.com/borisyankov/DefinitelyTyped + + +/// +/// + +// DirtyFlag ///////////////////////////////////////////// + +interface DirtyFlag { + isDirty: KnockoutComputed; + new (objectToTrack: any, isInitiallyDirty?: boolean, hashFunction?: () => any); + reset(): void; +} + +interface KnockoutDirtyFlagStatic { + DirtyFlag: DirtyFlag; +} + +// AMD +declare var kodirtyflag: KnockoutDirtyFlagStatic; +declare module 'kodirtyflag'{ + export = kodirtyflag; +} From de29bbf60b0f2c9babed4a5a509717852a6c85db Mon Sep 17 00:00:00 2001 From: flyfishMT Date: Tue, 1 Mar 2016 16:45:10 -0700 Subject: [PATCH 2/3] existing build errors, fixing for travis-ci --- kolite/knockout.command.d.ts | 2 +- kolite/knockout.dirtyFlag.d.ts | 2 +- kolite/kolite.d.ts | 78 ++-------------------------------- 3 files changed, 5 insertions(+), 77 deletions(-) diff --git a/kolite/knockout.command.d.ts b/kolite/knockout.command.d.ts index cb08f4a070..0a903aa2ba 100644 --- a/kolite/knockout.command.d.ts +++ b/kolite/knockout.command.d.ts @@ -30,7 +30,7 @@ interface KnockoutCommandStatic { } interface KnockoutUtils { - wrapAccessor(accessor): Function; + wrapAccessor(accessor: any): Function; } interface KnockoutBindingHandlers { diff --git a/kolite/knockout.dirtyFlag.d.ts b/kolite/knockout.dirtyFlag.d.ts index 607880525a..b1427dbf53 100644 --- a/kolite/knockout.dirtyFlag.d.ts +++ b/kolite/knockout.dirtyFlag.d.ts @@ -11,7 +11,7 @@ interface DirtyFlag { isDirty: KnockoutComputed; - new (objectToTrack: any, isInitiallyDirty?: boolean, hashFunction?: () => any); + new (objectToTrack: any, isInitiallyDirty?: boolean, hashFunction?: () => any): any; reset(): void; } diff --git a/kolite/kolite.d.ts b/kolite/kolite.d.ts index 62e873b1d5..6f7b8615f6 100644 --- a/kolite/kolite.d.ts +++ b/kolite/kolite.d.ts @@ -4,78 +4,6 @@ // Definitions: https://github.com/borisyankov/DefinitelyTyped -/// -/// - - -// Activity ///////////////////////////////////////////// - -interface KoLiteActivityOptions { - color?: any; - segments?: number; - space?: number; - length?: number; - width?: number; - speed?: number; - align?: string; - valign?: string; - padding?: number; -} - -interface KoLiteActivity { - (options: KoLiteActivityOptions): JQuery; - defaults: KoLiteActivityOptions; - getOpacity(options: { steps?: number; segments?: number; opacity?: number; }, i: number): number; -} - -interface KnockoutBindingHandlers { - activity: KnockoutBindingHandler; -} - -interface JQuery { - activity: KoLiteActivity; - activityEx(isLoading: boolean): JQuery; -} - - -// DirtyFlag ///////////////////////////////////////////// - -interface DirtyFlag { - isDirty: KnockoutComputed; - new (objectToTrack: any, isInitiallyDirty?: boolean, hashFunction?: () => any); - reset(): void; -} - -interface KnockoutStatic { - DirtyFlag: DirtyFlag; -} - - -// Command ///////////////////////////////////////////// - -interface KoliteCommand { - canExecute: KnockoutComputed; - execute(...args: any[]): any; -} - -interface KoliteAsyncCommand extends KoliteCommand { - isExecuting: KnockoutObservable; -} - -interface KoLiteCommandOptions { - execute(...args: any[]): any; - canExecute?: (isExecuting: boolean) => any; -} - -interface KnockoutStatic { - command(options: KoLiteCommandOptions): KoliteCommand; - asyncCommand(options: KoLiteCommandOptions): KoliteAsyncCommand; -} - -interface KnockoutUtils { - wrapAccessor(accessor): Function; -} - -interface KnockoutBindingHandlers { - command: KnockoutBindingHandler; -} +/// +/// +/// From b82ebfaac587a1c3095867d6a582a60842ea6e1f Mon Sep 17 00:00:00 2001 From: flyfishMT Date: Tue, 1 Mar 2016 16:54:43 -0700 Subject: [PATCH 3/3] account for hwen amd is not used, it is still added to ko static --- kolite/knockout.command.d.ts | 8 ++++++++ kolite/knockout.dirtyFlag.d.ts | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/kolite/knockout.command.d.ts b/kolite/knockout.command.d.ts index 0a903aa2ba..c1d0468758 100644 --- a/kolite/knockout.command.d.ts +++ b/kolite/knockout.command.d.ts @@ -24,6 +24,13 @@ interface KoLiteCommandOptions { canExecute?: (isExecuting: boolean) => any; } +// when not AMD, add to ko object +interface KnockoutStatic { + command(options: KoLiteCommandOptions): KoliteCommand; + asyncCommand(options: KoLiteCommandOptions): KoliteAsyncCommand; +} + +// when using AMD, it is exported interface KnockoutCommandStatic { command(options: KoLiteCommandOptions): KoliteCommand; asyncCommand(options: KoLiteCommandOptions): KoliteAsyncCommand; @@ -37,6 +44,7 @@ interface KnockoutBindingHandlers { command: KnockoutBindingHandler; } +// Ambient declarations for typescript+requirejs declare var kocommand: KnockoutCommandStatic; declare module 'kocommand'{ export = kocommand; diff --git a/kolite/knockout.dirtyFlag.d.ts b/kolite/knockout.dirtyFlag.d.ts index b1427dbf53..2ef8f90c60 100644 --- a/kolite/knockout.dirtyFlag.d.ts +++ b/kolite/knockout.dirtyFlag.d.ts @@ -15,6 +15,10 @@ interface DirtyFlag { reset(): void; } +interface KnockoutStatic { + DirtyFlag: DirtyFlag; +} + interface KnockoutDirtyFlagStatic { DirtyFlag: DirtyFlag; }