{"version":3,"sources":["webpack://UEStorage/webpack/universalModuleDefinition","webpack://UEStorage/webpack/bootstrap","webpack://UEStorage/external \"UE\"","webpack://UEStorage/./src/storage-helper.ts","webpack://UEStorage/./src/index.ts","webpack://UEStorage/./src/cookie.ts","webpack://UEStorage/./src/local.ts"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","defaultValueOrFactory","UE","Validator","isNull","Type","isFunction","remove","escapedKey","escape","isContaining","getCookie","removeCookie","setCookie","cookie","regexKey","toRegexText","RegExp","test","text","replace","document","expiration","maxAge","getMaxAge","Core","elvis","String","empty","isNumber","nowTime","Date","getTime","ticks","StorageHelper","getDefault","regex","escapedValue","unescape","JSON","parse","Unsafe","As","isUndefined","jsonValue","stringify","cookies","split","store","item","expirationTime","baseTime","DateTime","getExpirationTime","set","clearAll"],"mappings":"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","file":"ue-storage.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"UE\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"UEStorage\", [\"UE\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"UEStorage\"] = factory(require(\"UE\"));\n\telse\n\t\troot[\"UEStorage\"] = factory(root[\"UE\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/**\r\n * 永続化に関するサポート機能を提供します。\r\n */\r\nimport * as UE from \"ue\";\r\n\r\n//#region 関数\r\n\r\n/**\r\n * 既定値を取得します。\r\n *\r\n * @template TValue 値の型を指定します。\r\n * @param defaultValueOrFactory 値が見つからない場合の **「既定値」** もしくは **「既定値を返す処理」** を指定します。\r\n * @returns 既定値を返します。\r\n */\r\nexport function getDefault(defaultValueOrFactory?: TValue | UE.Func): UE.Nullable {\r\n if (UE.Validator.isNull(defaultValueOrFactory)) {\r\n return null;\r\n }\r\n const result = UE.Type.isFunction(defaultValueOrFactory)\r\n ? defaultValueOrFactory()\r\n : defaultValueOrFactory\r\n ;\r\n return result;\r\n}\r\n\r\n//#endregion 関数\r\n","/**\r\n * エントリ ポイントを提供します。\r\n */\r\nexport * as Cookie from \"./cookie\";\r\nexport * as Local from \"./local\";\r\n","/**\r\n * `Cookie` を用いてデータを永続化する機能を提供します。\r\n */\r\nimport * as UE from \"ue\";\r\nimport * as StorageHelper from \"./storage-helper\";\r\n\r\n//#region 関数\r\n\r\n/**\r\n * 指定したキーに該当する値を取得します。(値が見つからない場合または有効期限切れの場合は、既定値を返します)\r\n *\r\n * @template TValue 値の型を指定します。\r\n * @param key 値を特定するキー文字列を指定します。\r\n * @param defaultValueOrFactory 値が見つからない場合の **「既定値」** もしくは **「既定値を返す処理」** を指定します。\r\n * @returns 指定したキーに該当する値または既定値を返します。\r\n */\r\nexport function get(key: string, defaultValueOrFactory?: TValue | UE.Func): UE.Nullable {\r\n const escapedKey = escape(key);\r\n const cookie = getCookie();\r\n if (isContaining(escapedKey, cookie) === false) {\r\n const result = StorageHelper.getDefault(defaultValueOrFactory);\r\n return result;\r\n }\r\n const regexKey = toRegexText(escapedKey);\r\n const regex = new RegExp(\"(?:^|.*;\\\\s*)\" + regexKey + \"\\\\s*\\\\=\\\\s*((?:[^;](?!;))*[^;]?).*\");\r\n const escapedValue = cookie.replace(regex, \"$1\");\r\n const value = unescape(escapedValue);\r\n try {\r\n const result = JSON.parse(value) as TValue;\r\n return result;\r\n }\r\n catch {\r\n return UE.Unsafe.As(value);\r\n }\r\n}\r\n\r\n/**\r\n * 指定したキーに該当する値を設定します。\r\n *\r\n * @template TValue 値の型を指定します。\r\n * @param key 値を特定するキー文字列を指定します。\r\n * @param value 値を指定します。\r\n * @param expiration 値の有効期限を指定します。(数値で指定する場合、現在日時からの秒数を指定します)\r\n */\r\nexport function set(key: string, value: TValue, expiration?: number | Date | UE.DateTime): void {\r\n const maxAge = getMaxAge(expiration);\r\n // 値が未定義\r\n if (UE.Type.isUndefined(value)) {\r\n remove(key);\r\n return;\r\n }\r\n // 有効期限切れ\r\n else if (!UE.Validator.isNull(maxAge) && maxAge <= 0) {\r\n remove(key);\r\n return;\r\n }\r\n const escapedKey = escape(key);\r\n const jsonValue = JSON.stringify(value);\r\n const escapedJsonValue = escape(jsonValue);\r\n setCookie(escapedKey, escapedJsonValue, expiration);\r\n}\r\n\r\n/**\r\n * 指定したキーに該当する値を削除します。\r\n *\r\n * @param key 値を特定するキー文字列を指定します。\r\n */\r\nexport function remove(key: string): void {\r\n const escapedKey = escape(key);\r\n const cookie = getCookie();\r\n if (isContaining(escapedKey, cookie) === false) {\r\n return;\r\n }\r\n removeCookie(escapedKey);\r\n}\r\n\r\n/**\r\n * すべての値を削除します。\r\n */\r\nexport function clear(): void {\r\n const cookie = getCookie();\r\n const cookies = cookie.split(/; ?/g);\r\n const regex = /^(.+)=.+$/;\r\n for (const item of cookies) {\r\n const escapedKey = item.replace(regex, \"$1\");\r\n removeCookie(escapedKey);\r\n }\r\n}\r\n\r\n/**\r\n * 指定したキーに該当する `Cookie` を削除します。\r\n *\r\n * @param key 値を特定するキー文字列を指定します。\r\n */\r\nfunction removeCookie(key: string): void {\r\n setCookie(key, null, -1);\r\n}\r\n\r\n/**\r\n * 指定したキーが `Cookie` に含まれているかどうかを判定します。\r\n *\r\n * @param key 値を特定するキー文字列を指定します。\r\n * @param cookie `Cookie` を指定します。\r\n * @returns 指定したキーが `Cookie` に含まれている場合は `true` を、それ以外の場合は `false` を返します。\r\n */\r\nfunction isContaining(key: string, cookie: string): boolean {\r\n const regexKey = toRegexText(key);\r\n const regex = new RegExp(\"(?:^|;\\\\s*)\" + regexKey + \"\\\\s*\\\\=\");\r\n const result = regex.test(cookie);\r\n return result;\r\n}\r\n\r\n/**\r\n * 正規表現で使用する文字列に変換します。\r\n *\r\n * @param text 文字列を指定します。\r\n * @returns 正規表現で使用する文字列を返します。\r\n */\r\nfunction toRegexText(text: string): string {\r\n const result = text.replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\");\r\n return result;\r\n}\r\n\r\n/**\r\n * `Cookie` を取得します。\r\n *\r\n * @returns `Cookie` を返します。\r\n */\r\nfunction getCookie(): string {\r\n return window.document.cookie;\r\n}\r\n\r\n/**\r\n * 指定したキーと値のペアを `Cookie` に設定します。\r\n *\r\n * @param key 値を特定するキー文字列を指定します。\r\n * @param value 値を指定します。\r\n * @param expiration 値の有効期限を指定します。(数値で指定する場合、現在日時からの秒数を指定します)\r\n */\r\nfunction setCookie(key: string, value: UE.Nullable, expiration?: number | Date | UE.DateTime): void {\r\n const maxAge = getMaxAge(expiration);\r\n const notNullValue = UE.Core.elvis(value, UE.String.empty);\r\n const cookie = key + \"=\" + notNullValue + \"; path=/\" + (\r\n UE.Validator.isNull(maxAge) ? UE.String.empty : \"; max-age=\" + maxAge\r\n );\r\n window.document.cookie = cookie;\r\n}\r\n\r\n/**\r\n * 有効期限 (秒) を取得します。\r\n *\r\n * @param expiration 有効期限を指定します。(数値で指定する場合、現在日時からの秒数を指定します)\r\n * @returns 有効期限 (秒) を返します。\r\n */\r\nfunction getMaxAge(expiration?: number | Date | UE.DateTime): UE.Nullable {\r\n if (UE.Validator.isNull(expiration)) {\r\n return null;\r\n }\r\n else if (UE.Type.isNumber(expiration)) {\r\n return expiration;\r\n }\r\n const nowTime = new Date().getTime();\r\n const expirationTime = expiration instanceof Date\r\n ? expiration.getTime()\r\n : expiration.ticks\r\n ;\r\n const result = (expirationTime - nowTime) / 1000;\r\n return result;\r\n}\r\n\r\n//#endregion 関数\r\n","/**\r\n * `Web Storage` (`localStorage`) を用いてデータを永続化する機能を提供します。\r\n */\r\nimport * as UE from \"ue\";\r\nimport * as StorageHelper from \"./storage-helper\";\r\n\r\n//#region インターフェイス\r\n\r\n/**\r\n * 永続化項目のインターフェイスを提供します。\r\n *\r\n * @template TValue 値の型を指定します。\r\n */\r\ninterface StorageItem {\r\n /** 値を表します。 */\r\n readonly value: TValue;\r\n /** 有効期限の日時 (ミリ秒) を表します。 */\r\n readonly expiration?: number;\r\n}\r\n\r\n//#endregion インターフェイス\r\n\r\n//#region 関数\r\n\r\n/**\r\n * 指定したキーに該当する値を取得します。(値が見つからない場合または有効期限切れの場合は、既定値を返します)\r\n *\r\n * @template TValue 値の型を指定します。\r\n * @param key 値を特定するキー文字列を指定します。\r\n * @param defaultValueOrFactory 値が見つからない場合の **「既定値」** もしくは **「既定値を返す処理」** を指定します。\r\n * @returns 指定したキーに該当する値または既定値を返します。\r\n */\r\nexport function get(key: string, defaultValueOrFactory?: TValue | UE.Func): UE.Nullable {\r\n const item = store.get(key) as UE.Nullable>;\r\n if (UE.Validator.isNull(item)) {\r\n const result = StorageHelper.getDefault(defaultValueOrFactory);\r\n return result;\r\n }\r\n else if (UE.Validator.isNull(item.expiration)) {\r\n return item.value;\r\n }\r\n const nowTime = new Date().getTime();\r\n // 有効期限切れ\r\n if (nowTime >= item.expiration) {\r\n remove(key);\r\n const result = StorageHelper.getDefault(defaultValueOrFactory);\r\n return result;\r\n }\r\n return item.value;\r\n}\r\n\r\n/**\r\n * 指定したキーに該当する値を設定します。\r\n *\r\n * @template TValue 値の型を指定します。\r\n * @param key 値を特定するキー文字列を指定します。\r\n * @param value 値を指定します。\r\n * @param expiration 値の有効期限を指定します。(数値で指定する場合、現在日時からの秒数を指定します)\r\n */\r\nexport function set(key: string, value: TValue, expiration?: number | Date | UE.DateTime): void {\r\n const nowTime = new Date().getTime();\r\n const expirationTime = getExpirationTime(nowTime, expiration);\r\n // 値が未定義\r\n if (UE.Type.isUndefined(value)) {\r\n remove(key);\r\n return;\r\n }\r\n // 有効期限切れ\r\n else if (!UE.Validator.isNull(expirationTime) && expirationTime <= nowTime) {\r\n remove(key);\r\n return;\r\n }\r\n const item: StorageItem = {\r\n value,\r\n expiration: expirationTime,\r\n };\r\n store.set(key, item);\r\n}\r\n\r\n/**\r\n * 指定したキーに該当する値を削除します。\r\n *\r\n * @param key 値を特定するキー文字列を指定します。\r\n */\r\nexport function remove(key: string): void {\r\n store.remove(key);\r\n}\r\n\r\n/**\r\n * すべての値を削除します。\r\n */\r\nexport function clear(): void {\r\n store.clearAll();\r\n}\r\n\r\n/**\r\n * 有効期限の日時 (ミリ秒) を取得します。\r\n *\r\n * @param baseTime 基準日時 (ミリ秒) を指定します。\r\n * @param expiration 有効期限を指定します。(数値で指定する場合、現在日時からの秒数を指定します)\r\n * @returns 有効期限の日時 (ミリ秒) を返します。\r\n */\r\nfunction getExpirationTime(baseTime: number, expiration?: number | Date | UE.DateTime): UE.Undefinable {\r\n if (UE.Validator.isNull(expiration)) {\r\n return void 0;\r\n }\r\n else if (expiration instanceof Date) {\r\n return expiration.getTime();\r\n }\r\n else if (expiration instanceof UE.DateTime) {\r\n return expiration.ticks;\r\n }\r\n const result = baseTime + (expiration * 1000);\r\n return result;\r\n}\r\n\r\n//#endregion 関数\r\n"],"sourceRoot":""}