{"version":3,"file":"dlr-eoc-services-util-store.mjs","sources":["../../../projects/services-util-store/src/lib/util-store.service.ts","../../../projects/services-util-store/src/public-api.ts","../../../projects/services-util-store/src/dlr-eoc-services-util-store.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport md5 from 'md5';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class UtilStoreService {\n  private runtimeStore: any;\n\n  constructor() {\n    this.runtimeStore = {};\n  }\n\n  private _store(type: 'localStorage' | 'sessionStorage', key: string, value?: any) {\n    let lsSupport = false, data, storrage;\n\n    /* if (!value) {\n      console.log(type, key);\n    } else {\n      console.log(type, key, value);\n    } */\n    // sor key as md5\n    key = md5(key);\n\n    // Check for native support\n    if (typeof (Storage) !== 'undefined') {\n      lsSupport = true;\n    }\n\n    if (lsSupport) {\n      if (type === 'localStorage') {\n        storrage = localStorage;\n      } else if (type === 'sessionStorage') {\n        storrage = sessionStorage;\n      }\n    }\n\n    // If value is detected, set new or modify store\n    if (typeof value !== 'undefined' && value !== null) {\n      // Convert object values to JSON\n      if (typeof value === 'object') {\n        value = JSON.stringify(value);\n      }\n      // Set the store\n      if (lsSupport) { // Native support\n        localStorage.setItem(key, value);\n      } else { // Use Cookie\n        this.createCookie(key, value, 30);\n      }\n    }\n\n    // No value supplied, return value\n    if (typeof value === 'undefined') {\n      // Get value\n      if (lsSupport) { // Native support\n        data = localStorage.getItem(key);\n      } else { // Use cookie\n        data = this.readCookie(key);\n      }\n\n      // Try to parse JSON...\n      try {\n        data = JSON.parse(data);\n      } catch (e) {\n        data = data;\n      }\n      // console.log(key, data);\n      return data;\n\n    }\n\n    // Null specified, remove store\n    if (value === null) {\n      if (lsSupport) { // Native support\n        localStorage.removeItem(key);\n      } else { // Use cookie\n        this.createCookie(key, '', -1);\n      }\n    }\n  }\n\n  public local(key: string, value?: any) {\n    return this._store('localStorage', key, value);\n  }\n\n  public session(key: string, value?: any) {\n    return this._store('sessionStorage', key, value);\n  }\n\n  public runtime(key: string, value?: any) {\n    let data;\n    /* if (!value) {\n      console.log(key);\n    } else {\n      console.log(key, value);\n    } */\n    // sor key as md5\n    key = md5(key);\n\n    // If value is detected, set new or modify store\n    if (typeof value !== 'undefined' && value !== null) {\n      // Set the store\n      if (this.runtimeStore.hasOwnProperty(key)) {\n        console.log(`key ${key} already in the store`);\n      }\n      this.runtimeStore[key] = value;\n    }\n\n    // No value supplied, return value\n    if (typeof value === 'undefined') {\n      // Get value\n      if (this.runtimeStore.hasOwnProperty(key)) {\n        data = this.runtimeStore[key];\n      }\n      return data;\n    }\n\n    // Null specified, remove store\n    if (value === null) {\n      if (this.runtimeStore.hasOwnProperty(key)) {\n        delete this.runtimeStore[key];\n      }\n    }\n  }\n\n  public remove(type: 'localStorage' | 'sessionStorage' | 'runtimeStorage', key: string) {\n    if (type !== 'runtimeStorage') {\n      this._store(type, key, null);\n    } else {\n      this.runtime(key, null);\n    }\n  }\n\n  public clearAll() {\n    this.runtimeStore = {};\n    if (typeof (Storage) !== 'undefined') {\n      localStorage.clear();\n      sessionStorage.clear();\n    }\n  }\n\n  public getRuntime() {\n    return this.runtimeStore;\n  }\n  public clearRuntime() {\n    this.runtimeStore = {};\n  }\n\n  public getSession() {\n    return sessionStorage;\n  }\n  public clearSession() {\n    if (typeof (Storage) !== 'undefined') {\n      sessionStorage.clear();\n    }\n  }\n\n  public getLocal() {\n    return localStorage;\n  }\n  public clearLocal() {\n    if (typeof (Storage) !== 'undefined') {\n      localStorage.clear();\n    }\n  }\n\n  public getAll(): any {\n    return {\n      runtime: this.getRuntime(),\n      session: this.getSession(),\n      local: this.getLocal()\n    };\n  }\n\n\n\n  /**\n   * Creates new cookie or removes cookie with negative expiration\n   * @param  key       The key or identifier for the store\n   * @param  value     Contents of the store\n   * @param  exp       Expiration - creation defaults to 30 days\n   */\n  public createCookie(key, value, exp = 30) {\n    const date = new Date();\n    date.setTime(date.getTime() + (exp * 24 * 60 * 60 * 1000));\n    const expires = '; expires=' + date.toUTCString();\n    if (value == null && exp < 0) {\n      value = this.readCookie(key);\n    }\n    document.cookie = key + '=' + value + expires + '; path=/';\n  }\n\n\n  public removeCookie(key) {\n    this.createCookie(key, null, -1);\n  }\n\n  /**\n   * Returns contents of cookie\n   * @param  key       The key or identifier for the store\n   */\n  public readCookie(key) {\n    const nameEQ = key + '=';\n    const ca = document.cookie.split(';');\n    for (let i = 0, max = ca.length; i < max; i++) {\n      let c = ca[i];\n      while (c.charAt(0) === ' ') { c = c.substring(1, c.length); }\n      if (c.indexOf(nameEQ) === 0) { return c.substring(nameEQ.length, c.length); }\n    }\n    return null;\n  }\n}\n","/*\n * Public API Surface of services-util-store\n */\n\nexport * from './lib/util-store.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}