From ead5704dd3837cc0a3e64836a05cfc6a6138c2a5 Mon Sep 17 00:00:00 2001 From: Martin McWhorter Date: Tue, 28 Jul 2015 18:15:30 +0100 Subject: [PATCH 1/2] ngKookies Definitions for ngKookies --- ngkookies/ngkookies-tests.ts | 44 ++++++++++++++++++++++++++++++++++++ ngkookies/ngkookies.ts | 37 ++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 ngkookies/ngkookies-tests.ts create mode 100644 ngkookies/ngkookies.ts diff --git a/ngkookies/ngkookies-tests.ts b/ngkookies/ngkookies-tests.ts new file mode 100644 index 000000000..a8c0366fe --- /dev/null +++ b/ngkookies/ngkookies-tests.ts @@ -0,0 +1,44 @@ +/// + +var app: any; + +app.controller('MainCtrl', function ($kookies: angular.kookies.IKookiesService) { + // 1. create session cookie + $kookies.set('name', 'value'); + + // 2. create expiring cookie + $kookies.set('name', 'value', {expires: 7}); + + // 3. Create expiring cookie, valid across entire site + $kookies.set('name', 'value', {expires: 7, path: '/'}); + + $kookies.set('name', 'value'); + + // read cookie + $kookies.get('name'); // "value" + $kookies.get('nothing'); // undefined + + // read all available cookies + $kookies.get(); + + $kookies.set('name', 'value'); + + // delete cookie + $kookies.remove('name'); // true + $kookies.remove('nothing'); // false + + $kookies.set('name', 'value', {path: '/'}); + + $kookies.remove('name'); // false + // use the same options (path, domain) as what the cookie was written with + $kookies.remove('name', {path: '/'}); // true + + var foo: number = $kookies.get('foo', Number); +}); + +app.config(['$kookiesProvider', + function ($kookiesProvider: angular.kookies.IKookiesProvider) { + $kookiesProvider.config.raw = true; + $kookiesProvider.config.json = true; + } +]); \ No newline at end of file diff --git a/ngkookies/ngkookies.ts b/ngkookies/ngkookies.ts new file mode 100644 index 000000000..c05170a03 --- /dev/null +++ b/ngkookies/ngkookies.ts @@ -0,0 +1,37 @@ +// Type definitions for ngKookes 0.2.0 +// Project: https://github.com/voronianski/ngKookies +// Definitions by: Martin McWhorter https://github.com/martinmcwhorter +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module angular.kookies { + + type Options = { + expires?: number|Date, + path?: string, + domain?: string, + secure?: boolean + }; + + interface IKookiesService { + + set(name: string, value: string, optopns?: Options): void; + get(): any; + get(name: string): any; + get(name:string, converter: Number): number; + get(name:string, converter: String): string; + get(name:string, converter: Boolean): boolean; + remove(name: string, options?: Options); + } + + type Config = { raw?: boolean, json?: boolean } + + interface IKookiesProvider { + + config: Config; + setConfig(config: Config); + defaults: Options; + setDefaults(options: Options); + } + + +} \ No newline at end of file From 5c21c9aae2542ce74f6cfb63ee02abe89c0f1d0d Mon Sep 17 00:00:00 2001 From: Martin McWhorter Date: Tue, 28 Jul 2015 18:21:50 +0100 Subject: [PATCH 2/2] ngKookies Definitions for ngKookies --- ngkookies/ngkookies.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/ngkookies/ngkookies.ts b/ngkookies/ngkookies.ts index c05170a03..92075d25d 100644 --- a/ngkookies/ngkookies.ts +++ b/ngkookies/ngkookies.ts @@ -17,10 +17,9 @@ declare module angular.kookies { set(name: string, value: string, optopns?: Options): void; get(): any; get(name: string): any; - get(name:string, converter: Number): number; - get(name:string, converter: String): string; - get(name:string, converter: Boolean): boolean; - remove(name: string, options?: Options); + get(name:string, converter: any): any; + get(name:string, converter: any): T; + remove(name: string, options?: Options): boolean; } type Config = { raw?: boolean, json?: boolean } @@ -28,10 +27,8 @@ declare module angular.kookies { interface IKookiesProvider { config: Config; - setConfig(config: Config); + setConfig(config: Config): void; defaults: Options; - setDefaults(options: Options); + setDefaults(options: Options): void; } - - } \ No newline at end of file