storage_local.js

/**
 * @module localStorage
 * @description A set of utils to get, set, clear and remove localStorage data.
 *
 */

/**
 * @function put
 * @description Put an entry into localStorage.
 *
 * @since 1.0.0
 *
 * @param {string} key   The local storage key.
 * @param {string} value The local storage value.
 *
 * @return {void}
 *
 * @example
 * import { localStorage } from "@gravityforms/utils";
 *
 * function Example() {
 *     const data = {
 *         some: 'thing',
 *         even: 'more',
 *     };
 *     localStorage.put( 'my-key', JSON.stringify( data ) );
 * };
 *
 */
const put = ( key, value ) => {
	window.localStorage.setItem( key, value );
};

/**
 * @function get
 * @description Get an entry from localStorage.
 *
 * @since 1.0.0
 *
 * @param {string} key The local storage key.
 *
 * @return {string|null} The data as string for the key, or undefined.
 *
 * @example
 * import { localStorage } from "@gravityforms/utils";
 *
 * function Example() {
 *     const data = localStorage.get( 'my-key' );
 *     if ( data ) {
 *         console.log( JSON.parse( data ) );
 *     }
 * };
 *
 */
const get = ( key ) => window.localStorage.getItem( key );

/**
 * @function remove
 * @description Remove an entry from localStorage.
 *
 * @since 1.0.0
 *
 * @param {string} key The local storage key.
 *
 * @return {void}
 *
 * @example
 * import { localStorage } from "@gravityforms/utils";
 *
 * function Example() {
 *     localStorage.remove( 'my-key' );
 * };
 *
 */
const remove = ( key ) => window.localStorage.removeItem( key );

/**
 * @function clear
 * @description Remove all entries from localStorage.
 *
 * @since 1.0.0
 *
 * @return {void}
 *
 * @example
 * import { localStorage } from "@gravityforms/utils";
 *
 * function Example() {
 *     localStorage.clear();
 * };
 *
 */
const clear = () => {
	window.localStorage.clear();
};

export { put, get, remove, clear };