Skip to content

An Angular service for browser session storage management with optional base64 encryption/decryption

Notifications You must be signed in to change notification settings

edisonaugusthy/ng-storage

Repository files navigation

ng7-storage

ng7-storage is an Angular service for browser session storage management. It provides a simple API to store, retrieve, and clear session-based data, with optional encryption for additional security.

Features

  • Store data in session storage

  • Optional encryption/decryption using base64 encoding

  • Error handling for unsupported browsers and missing keys

  • Angular service for easy integration into Angular projects

Installation

To install the package, use npm:

npm  install  ng7-storage  --save

Usage

After installing the package, you can import the NgStorageService into your Angular components or services to store, retrieve, and remove data from session storage.

Importing the Service

To begin, import the service into your Angular component or service:

import { NgStorageService } from  'ng7-storage';

Storing Data

export  class  ExampleComponent {

constructor(private  storageService:  NgStorageService) {}

storeData() {

// Store with optional encryption

this.storageService.setData("user", { name: "John Doe", age: 30 }, true);

}

}

Retrieving Data

export  class  ExampleComponent {

constructor(private  storageService:  NgStorageService) {}

getData() {

// Retrieve with optional decryption

const  userData  =  this.storageService.getData("user", true);

console.log("Retrieved data:", userData);

}

}

Removing Data

export  class  ExampleComponent {

constructor(private  storageService:  NgStorageService) {}

clearData() {
// Remove specific data
this.storageService.removeData('user');
// Or clear all data
this.storageService.removeAll();
}
}

Error Handling

  • The NgStorageService throws an error if the browser does not support session storage.

  • An error is thrown if a key is invalid or missing when storing data.

API Documentation

  • setData(key: string, value: any, encrypt?: boolean): boolean

    Stores data under the specified key in session storage with optional encryption.

  • getData(key: string, decrypt?: boolean): any

    Retrieves data from session storage with optional decryption.

  • removeData(key: string): void

    Removes the data associated with the specified key.

  • removeAll(): void

    Clears all session storage data.

License

This package is licensed under the MIT License. See the license file for more details.

Author 🔮

Edison
Edison Augusthy

💻

About

An Angular service for browser session storage management with optional base64 encryption/decryption

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published