@modern-kit/utils
Version:
1 lines • 1.2 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../src/storage/setStorageItem/index.ts"],"sourcesContent":["import { isClient } from '../../device';\nimport { isFunction } from '../../validator';\n\nexport function setStorageItem<T>(\n type: 'localStorage' | 'sessionStorage',\n key: string,\n value: T | (() => T)\n) {\n if (!isClient()) {\n throw new Error('Cannot be executed unless it is a client environment.');\n }\n\n try {\n const storage = window[type];\n const newValue = isFunction(value) ? value() : value;\n\n storage.setItem(key, JSON.stringify(newValue));\n } catch (err) {\n throw new Error(`Failed to store data for key \"${key}\" in ${type}: ${err}`);\n }\n}\n"],"names":[],"mappings":";;;;AAGO,SAAS,cAAA,CACd,IAAA,EACA,GAAA,EACA,KAAA,EACA;AACA,EAAA,IAAI,CAAC,UAAS,EAAG;AACf,IAAA,MAAM,IAAI,MAAM,uDAAuD,CAAA;AAAA,EACzE;AAEA,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,OAAO,IAAI,CAAA;AAC3B,IAAA,MAAM,QAAA,GAAW,UAAA,CAAW,KAAK,CAAA,GAAI,OAAM,GAAI,KAAA;AAE/C,IAAA,OAAA,CAAQ,OAAA,CAAQ,GAAA,EAAK,IAAA,CAAK,SAAA,CAAU,QAAQ,CAAC,CAAA;AAAA,EAC/C,SAAS,GAAA,EAAK;AACZ,IAAA,MAAM,IAAI,MAAM,CAAA,8BAAA,EAAiC,GAAG,QAAQ,IAAI,CAAA,EAAA,EAAK,GAAG,CAAA,CAAE,CAAA;AAAA,EAC5E;AACF;;;;"}