Socket
Socket
Sign inDemoInstall

@acctglobal/session-storage-client

Package Overview
Dependencies
1
Maintainers
7
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@acctglobal/session-storage-client

Manages the session Storage


Version published
Maintainers
7
0

Weekly downloads

Readme

Source

Session Storage Client

This package offers a typed abstraction layer for interacting with the browser's sessionStorage through a generically typed TypeScript class, SessionStorageClient.

🔧 Installation

npm i @acctglobal/session-storage-client

🖱️ Usage

// Import the library
import { SessionStorageClient } from '@acctglobal/session-storage-client';

// Define the structure for what's to be stored
interface ExampleInterface {
  prop1: string;
  prop2: number;
}

// Create a new instance using the defined interface
const exampleClient = new SessionStorageClient<ExampleInterface>('exampleKey');

The exampleClient variable now has a couple of things going for you:

/*
 * You can interact strictly with declared interface properties, and set
 * values strictly by their type, anything else results in a compile error
 */
exampleClient.setProperty('prop1', 'this is an example');
exampleClient.setProperty('prop2', 2);

// Nope
exampleClient.setProperty('prop3', 2);

// Nope²
exampleClient.setProperty('prop1', 42);

// Can't get data outside what you expect. "Prop1" is typed, by the way.
const prop1 = exampleClient.getProperty('prop1');

// You can also set the entire object
let obj = {
  prop1: 'this is a string',
  prop2: 12
} as ExampleInterface;

exampleClient.setFullObject(obj);

// And, get the whole object as well

const fullObject = exampleClient.getFullObject();

// Wanna wipe everything clean? You got it!
exampleClient.resetStorage();

//Important reminder!!
//Whenever you change the value of a storage an event will be triggered with the name of the sessionStorage Item

//In this example, the key is exampleKey, so, to catch the changes on this sessionStorage item you can do the following:

window.addEventListener('exampleKey', function () {
  //Do whatever you want here
});

✒️ Authors

  • João Castro - Documentation / Developer - João Castro
  • Felipe Felix - Developer - Felipe Felix
  • Carlos Pellizzari - Solutions Architect - Carlos Pellizzari

FAQs

Last updated on 18 Feb 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc