From f59279e1f7535149b4e14d2ccf537b2c81cfff75 Mon Sep 17 00:00:00 2001 From: Jakub Pistek Date: Fri, 19 Feb 2016 16:12:27 +0100 Subject: [PATCH] Add ngStorage --- ngstorage/ngstorage-tests.ts | 42 ++++++++++++++++++++++++++++++++++++ ngstorage/ngstorage.d.ts | 28 ++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 ngstorage/ngstorage-tests.ts create mode 100644 ngstorage/ngstorage.d.ts diff --git a/ngstorage/ngstorage-tests.ts b/ngstorage/ngstorage-tests.ts new file mode 100644 index 0000000000..2a25697b51 --- /dev/null +++ b/ngstorage/ngstorage-tests.ts @@ -0,0 +1,42 @@ +/// +/// + +var app: any; + +app.controller('MainCtrl', function ($localStorage: angular.storage.ILocalStorageService) { + + $localStorage.set('MyKey', 'value'); + + $localStorage.get('MyKey'); + + $localStorage.$default({ + counter: 1 + }); + + $localStorage.$reset({ + counter: 1 + }); + + $localStorage.$apply(); +}); + +app.config(['$localStorageProvider', + function ($localStorageProvider: angular.storage.ILocalStorageProvider) { + $localStorageProvider.setKeyPrefix('NewPrefix'); + + $localStorageProvider.get('MyKey'); + + $localStorageProvider.set('MyKey', { counter: 'value' }); + + var mySerializer = function (value:any):string { + return value.toString(); + }; + + var myDeserializer = function (value:string):any { + return value; + }; + + $localStorageProvider.setSerializer(mySerializer); + $localStorageProvider.setDeserializer(myDeserializer); + } +]); diff --git a/ngstorage/ngstorage.d.ts b/ngstorage/ngstorage.d.ts new file mode 100644 index 0000000000..2af35b686a --- /dev/null +++ b/ngstorage/ngstorage.d.ts @@ -0,0 +1,28 @@ +// Type definitions for ngstorage 0.3.10 +// Project: https://github.com/gsklee/ngStorage +// Definitions by: Jakub Pistek +// Definitions: https://github.com/kubiq/DefinitelyTyped + +/// + +declare module angular.storage { + + export interface ILocalStorageService { + $default(items: any):ILocalStorageService; + $reset(items: any):ILocalStorageService; + $apply():void; + + get(key: string): T; + set(key: string, value: T): T; + } + + export interface ILocalStorageProvider extends angular.IServiceProvider { + + get(key:string): T; + set(key:string, value:T): T; + + setKeyPrefix(prefix: string):void; + setSerializer(serializer: (value: any)=>string):void; + setDeserializer(deserializer: (value: string)=>any):void; + } +}