@edugouvfr/ngx-dsfr
Version:
NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).
32 lines • 4.11 kB
JavaScript
import { isOnBrowser } from './ssr-utils';
/**
* Les méthodes statiques de cette classe permettent de gérer le local storage uniquement si le code s'exécute côté browser.
*/
export class LocalStorage {
/**
* The setItem() method of the Storage interface, when passed a key name and value, will add that key to the given
* Storage object, or update that key's value if it already exists.
*/
static set(key, value) {
if (isOnBrowser())
window.localStorage?.setItem(key, value);
}
/**
* The getItem() method of the Storage interface, when passed a key name, will return that key's value, or null if
* he key does not exist, in the given Storage object.
* @return Signature identique à l'interface Storage.getItem(key: string): string | null
*/
static get(key) {
return isOnBrowser() ? window.localStorage?.getItem(key) : null;
}
/**
* The removeItem() method of the Storage interface, when passed a key name, will remove that key from the given
* Storage object if it exists. The Storage interface of the Web Storage API provides access to a
* particular domain's session or local storage.
*/
static remove(key) {
if (isOnBrowser())
window.localStorage?.removeItem(key);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdXRpbHMvbG9jYWwtc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixZQUFZO0lBQ2hDOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDbkMsSUFBSSxXQUFXLEVBQUU7WUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDcEIsT0FBTyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVztRQUN2QixJQUFJLFdBQVcsRUFBRTtZQUFFLE1BQU0sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT25Ccm93c2VyIH0gZnJvbSAnLi9zc3ItdXRpbHMnO1xuXG4vKipcbiAqIExlcyBtw6l0aG9kZXMgc3RhdGlxdWVzIGRlIGNldHRlIGNsYXNzZSBwZXJtZXR0ZW50IGRlIGfDqXJlciBsZSBsb2NhbCBzdG9yYWdlIHVuaXF1ZW1lbnQgc2kgbGUgY29kZSBzJ2V4w6ljdXRlIGPDtHTDqSBicm93c2VyLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTG9jYWxTdG9yYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBzZXRJdGVtKCkgbWV0aG9kIG9mIHRoZSBTdG9yYWdlIGludGVyZmFjZSwgd2hlbiBwYXNzZWQgYSBrZXkgbmFtZSBhbmQgdmFsdWUsIHdpbGwgYWRkIHRoYXQga2V5IHRvIHRoZSBnaXZlblxuICAgKiBTdG9yYWdlIG9iamVjdCwgb3IgdXBkYXRlIHRoYXQga2V5J3MgdmFsdWUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG4gICAqL1xuICBzdGF0aWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGlzT25Ccm93c2VyKCkpIHdpbmRvdy5sb2NhbFN0b3JhZ2U/LnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGdldEl0ZW0oKSBtZXRob2Qgb2YgdGhlIFN0b3JhZ2UgaW50ZXJmYWNlLCB3aGVuIHBhc3NlZCBhIGtleSBuYW1lLCB3aWxsIHJldHVybiB0aGF0IGtleSdzIHZhbHVlLCBvciBudWxsIGlmXG4gICAqIGhlIGtleSBkb2VzIG5vdCBleGlzdCwgaW4gdGhlIGdpdmVuIFN0b3JhZ2Ugb2JqZWN0LlxuICAgKiBAcmV0dXJuIFNpZ25hdHVyZSBpZGVudGlxdWUgw6AgbCdpbnRlcmZhY2UgU3RvcmFnZS5nZXRJdGVtKGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbFxuICAgKi9cbiAgc3RhdGljIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBpc09uQnJvd3NlcigpID8gd2luZG93LmxvY2FsU3RvcmFnZT8uZ2V0SXRlbShrZXkpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcmVtb3ZlSXRlbSgpIG1ldGhvZCBvZiB0aGUgU3RvcmFnZSBpbnRlcmZhY2UsIHdoZW4gcGFzc2VkIGEga2V5IG5hbWUsIHdpbGwgcmVtb3ZlIHRoYXQga2V5IGZyb20gdGhlIGdpdmVuXG4gICAqIFN0b3JhZ2Ugb2JqZWN0IGlmIGl0IGV4aXN0cy4gVGhlIFN0b3JhZ2UgaW50ZXJmYWNlIG9mIHRoZSBXZWIgU3RvcmFnZSBBUEkgIHByb3ZpZGVzIGFjY2VzcyB0byBhXG4gICAqIHBhcnRpY3VsYXIgZG9tYWluJ3Mgc2Vzc2lvbiBvciBsb2NhbCBzdG9yYWdlLlxuICAgKi9cbiAgc3RhdGljIHJlbW92ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpc09uQnJvd3NlcigpKSB3aW5kb3cubG9jYWxTdG9yYWdlPy5yZW1vdmVJdGVtKGtleSk7XG4gIH1cbn1cbiJdfQ==