You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
13 KiB

{"ast":null,"code":"import mergeOptions from 'merge-options';\nvar merge = mergeOptions.bind({\n concatArrays: true,\n ignoreUndefined: true\n});\nfunction mergeLocalStorageItem(key, value) {\n var oldValue = window.localStorage.getItem(key);\n if (oldValue) {\n var oldObject = JSON.parse(oldValue);\n var newObject = JSON.parse(value);\n var nextValue = JSON.stringify(merge(oldObject, newObject));\n window.localStorage.setItem(key, nextValue);\n } else {\n window.localStorage.setItem(key, value);\n }\n}\nfunction createPromise(getValue, callback) {\n return new Promise(function (resolve, reject) {\n try {\n var value = getValue();\n callback === null || callback === void 0 ? void 0 : callback(null, value);\n resolve(value);\n } catch (err) {\n callback === null || callback === void 0 ? void 0 : callback(err);\n reject(err);\n }\n });\n}\nfunction createPromiseAll(promises, callback, processResult) {\n return Promise.all(promises).then(function (result) {\n var _ref;\n var value = (_ref = processResult === null || processResult === void 0 ? void 0 : processResult(result)) != null ? _ref : null;\n callback === null || callback === void 0 ? void 0 : callback(null, value);\n return Promise.resolve(value);\n }, function (errors) {\n callback === null || callback === void 0 ? void 0 : callback(errors);\n return Promise.reject(errors);\n });\n}\nvar AsyncStorage = {\n getItem: function getItem(key, callback) {\n return createPromise(function () {\n return window.localStorage.getItem(key);\n }, callback);\n },\n setItem: function setItem(key, value, callback) {\n return createPromise(function () {\n return window.localStorage.setItem(key, value);\n }, callback);\n },\n removeItem: function removeItem(key, callback) {\n return createPromise(function () {\n return window.localStorage.removeItem(key);\n }, callback);\n },\n mergeItem: function mergeItem(key, value, callback) {\n return createPromise(function () {\n return mergeLocalStorageItem(key, value);\n }, callback);\n },\n clear: function clear(callback) {\n return createPromise(function () {\n return window.localStorage.clear();\n }, callback);\n },\n getAllKeys: function getAllKeys(callback) {\n return createPromise(function () {\n var numberOfKeys = window.localStorage.length;\n var keys = [];\n for (var i = 0; i < numberOfKeys; i += 1) {\n var key = window.localStorage.key(i) || '';\n keys.push(key);\n }\n return keys;\n }, callback);\n },\n flushGetRequests: function flushGetRequests() {\n return undefined;\n },\n multiGet: function multiGet(keys, callback) {\n var promises = keys.map(function (key) {\n return AsyncStorage.getItem(key);\n });\n var processResult = function processResult(result) {\n return result.map(function (value, i) {\n return [keys[i], value];\n });\n };\n return createPromiseAll(promises, callback, processResult);\n },\n multiSet: function multiSet(keyValuePairs, callback) {\n var promises = keyValuePairs.map(function (item) {\n return AsyncStorage.setItem(item[0], item[1]);\n });\n return createPromiseAll(promises, callback);\n },\n multiRemove: function multiRemove(keys, callback) {\n var promises = keys.map(function (key) {\n return AsyncStorage.removeItem(key);\n });\n return createPromiseAll(promises, callback);\n },\n multiMerge: function multiMerge(keyValuePairs, callback) {\n var promises = keyValuePairs.map(function (item) {\n return AsyncStorage.mergeItem(item[0], item[1]);\n });\n return createPromiseAll(promises, callback);\n }\n};\nexport default AsyncStorage;","map":{"version":3,"sources":["AsyncStorage.ts"],"names":["mergeOptions","merge","bind","concatArrays","ignoreUndefined","mergeLocalStorageItem","key","value","oldValue","window","localStorage","getItem","oldObject","JSON","parse","newObject","nextValue","stringify","setItem","createPromise","getValue","callback","Promise","resolve","reject","err","createPromiseAll","promises","processResult","all","then","result","errors","AsyncStorage","removeItem","mergeItem","clear","getAllKeys","numberOfKeys","length","keys","i","push","flushGetRequests","undefined","multiGet","map","multiSet","keyValuePairs","item","multiRemove","multiMerge"],"mappings":"AASA,OAAOA,YAAP,MAAyB,eAAzB;AAOA,IAAMC,KAAK,GAAG,YAAY,CAACC,IAAb,CAAkB;EAC9BC,YAAY,EAAE,IADgB;EAE9BC,eAAe,EAAE;AAFa,CAAlB,CAAd;AAKA,SAASC,qBAAT,CAA+BC,GAA/B,EAA4CC,KAA5C,EAA2D;EACzD,IAAMC,QAAQ,GAAGC,MAAM,CAACC,YAAPD,CAAoBE,OAApBF,CAA4BH,GAA5BG,CAAjB;EACA,IAAID,QAAJ,EAAc;IACZ,IAAMI,SAAS,GAAGC,IAAI,CAACC,KAALD,CAAWL,QAAXK,CAAlB;IACA,IAAME,SAAS,GAAGF,IAAI,CAACC,KAALD,CAAWN,KAAXM,CAAlB;IACA,IAAMG,SAAS,GAAGH,IAAI,CAACI,SAALJ,CAAeZ,KAAK,CAACW,SAAD,EAAYG,SAAZ,CAApBF,CAAlB;IACAJ,MAAM,CAACC,YAAPD,CAAoBS,OAApBT,CAA4BH,GAA5BG,EAAiCO,SAAjCP,CAAAA;EACD,CALD,MAKO;IACLA,MAAM,CAACC,YAAPD,CAAoBS,OAApBT,CAA4BH,GAA5BG,EAAiCF,KAAjCE,CAAAA;EACD;AACF;AAED,SAASU,aAAT,CACEC,QADF,EAEEC,QAFF,EAGmB;EACjB,OAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;IACtC,IAAI;MACF,IAAMjB,KAAK,GAAGa,QAAQ,EAAtB;MACAC,QAAQ,KAAA,IAARA,IAAAA,QAAQ,KAAA,KAAA,CAARA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG,IAAH,EAASd,KAAT,CAARc;MACAE,OAAO,CAAChB,KAAD,CAAPgB;IACD,CAJD,CAIE,OAAOE,GAAP,EAAY;MACZJ,QAAQ,KAAA,IAARA,IAAAA,QAAQ,KAAA,KAAA,CAARA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAGI,GAAH,CAARJ;MACAG,MAAM,CAACC,GAAD,CAAND;IACD;EACF,CATM,CAAP;AAUD;AAED,SAASE,gBAAT,CACEC,QADF,EAEEN,QAFF,EAGEO,aAHF,EAIuB;EACrB,OAAO,OAAO,CAACC,GAAR,CAAYF,QAAZ,CAAA,CAAsBG,IAAtB,CACJC,UAAAA,MAAD,EAAY;IAAA;IACV,IAAMxB,KAAK,WAAG,aAAa,KAAA,IAAb,IAAA,aAAa,KAAA,KAAA,CAAb,GAAA,KAAA,CAAA,GAAA,aAAa,CAAGwB,MAAH,CAAb,mBAA2B,IAAzC;IACAV,QAAQ,KAAA,IAARA,IAAAA,QAAQ,KAAA,KAAA,CAARA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG,IAAH,EAASd,KAAT,CAARc;IACA,OAAOC,OAAO,CAACC,OAARD,CAAgBf,KAAhBe,CAAP;EACD,CALI,EAMJU,UAAAA,MAAD,EAAY;IACVX,QAAQ,KAAA,IAARA,IAAAA,QAAQ,KAAA,KAAA,CAARA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAGW,MAAH,CAARX;IACA,OAAOC,OAAO,CAACE,MAARF,CAAeU,MAAfV,CAAP;EACD,CATI,CAAP;AAWD;AAED,IAAMW,YAAgC,GAAG;EAIvCtB,OAAO,EAAE,iBAACL,GAAD,EAAMe,QAAN,EAAmB;IAC1B,OAAOF,aAAa,CAAC;MAAA,OAAMV,MAAM,CAACC,YAAPD,CAAoBE,OAApBF,CAA4BH,GAA5BG,CAAP;IAAA,GAAyCY,QAAzC,CAApB;EACD,CANsC;EAWvCH,OAAO,EAAE,iBAACZ,GAAD,EAAMC,KAAN,EAAac,QAAb,EAA0B;IACjC,OAAOF,aAAa,CAClB;MAAA,OAAMV,MAAM,CAACC,YAAPD,CAAoBS,OAApBT,CAA4BH,GAA5BG,EAAiCF,KAAjCE,CADY;IAAA,GAElBY,QAFkB,CAApB;EAID,CAhBsC;EAqBvCa,UAAU,EAAE,oBAAC5B,GAAD,EAAMe,QAAN,EAAmB;IAC7B,OAAOF,aAAa,CAAC;MAAA,OAAMV,MAAM,CAACC,YAAPD,CAAoByB,UAApBzB,CAA+BH,GAA/BG,CAAP;IAAA,GAA4CY,QAA5C,CAApB;EACD,CAvBsC;EA4BvCc,SAAS,EAAE,mBAAC7B,GAAD,EAAMC,KAAN,EAAac,QAAb,EAA0B;IACnC,OAAOF,aAAa,CAAC;MAAA,OAAMd,qBAAqB,CAACC,GAAD,EAAMC,KAAN,CAA5B;IAAA,GAA0Cc,QAA1C,CAApB;EACD,CA9BsC;EAmCvCe,KAAK,EAAGf,eAAAA,QAAD,EAAc;IACnB,OAAOF,aAAa,CAAC;MAAA,OAAMV,MAAM,CAACC,YAAPD,CAAoB2B,KAApB3B,EAAP;IAAA,GAAoCY,QAApC,CAApB;EACD,CArCsC;EA0CvCgB,UAAU,EAAGhB,oBAAAA,QAAD,EAAc;IACxB,OAAOF,aAAa,CAAC,YAAM;MACzB,IAAMmB,YAAY,GAAG7B,MAAM,CAACC,YAAPD,CAAoB8B,MAAzC;MACA,IAAMC,IAAc,GAAG,EAAvB;MACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,YAApB,EAAkCG,CAAC,IAAI,CAAvC,EAA0C;QACxC,IAAMnC,GAAG,GAAGG,MAAM,CAACC,YAAPD,CAAoBH,GAApBG,CAAwBgC,CAAxBhC,CAAAA,IAA8B,EAA1C;QACA+B,IAAI,CAACE,IAALF,CAAUlC,GAAVkC,CAAAA;MACD;MACD,OAAOA,IAAP;IACD,CARmB,EAQjBnB,QARiB,CAApB;EASD,CApDsC;EAyDvCsB,gBAAgB,EAAE;IAAA,OAAMC,SAzDe;EAAA;EAiEvCC,QAAQ,EAAE,kBAACL,IAAD,EAAOnB,QAAP,EAAoB;IAC5B,IAAMM,QAAQ,GAAGa,IAAI,CAACM,GAALN,CAAUlC,UAAAA,GAAD;MAAA,OAAS2B,YAAY,CAACtB,OAAbsB,CAAqB3B,GAArB2B,CAAlBO;IAAAA,EAAjB;IACA,IAAMZ,aAAa,GAAIG,SAAjBH,aAAa,CAAIG,MAAD;MAAA,OACpBA,MAAM,CAACe,GAAPf,CAAW,UAACxB,KAAD,EAAQkC,CAAR;QAAA,OAAc,CAACD,IAAI,CAACC,CAAD,CAAL,EAAUlC,KAAV,CAAzBwB;MAAAA,EADF;IAAA;IAEA,OAAOL,gBAAgB,CAACC,QAAD,EAAWN,QAAX,EAAqBO,aAArB,CAAvB;EACD,CAtEsC;EA4EvCmB,QAAQ,EAAE,kBAACC,aAAD,EAAgB3B,QAAhB,EAA6B;IACrC,IAAMM,QAAQ,GAAGqB,aAAa,CAACF,GAAdE,CAAmBC,UAAAA,IAAD;MAAA,OACjChB,YAAY,CAACf,OAAbe,CAAqBgB,IAAI,CAAC,CAAD,CAAzBhB,EAA8BgB,IAAI,CAAC,CAAD,CAAlChB,CADee;IAAAA,EAAjB;IAGA,OAAOtB,gBAAgB,CAACC,QAAD,EAAWN,QAAX,CAAvB;EACD,CAjFsC;EAsFvC6B,WAAW,EAAE,qBAACV,IAAD,EAAOnB,QAAP,EAAoB;IAC/B,IAAMM,QAAQ,GAAGa,IAAI,CAACM,GAALN,CAAUlC,UAAAA,GAAD;MAAA,OAAS2B,YAAY,CAACC,UAAbD,CAAwB3B,GAAxB2B,CAAlBO;IAAAA,EAAjB;IACA,OAAOd,gBAAgB,CAACC,QAAD,EAAWN,QAAX,CAAvB;EACD,CAzFsC;EAiGvC8B,UAAU,EAAE,oBAACH,aAAD,EAAgB3B,QAAhB,EAA6B;IACvC,IAAMM,QAAQ,GAAGqB,aAAa,CAACF,GAAdE,CAAmBC,UAAAA,IAAD;MAAA,OACjChB,YAAY,CAACE,SAAbF,CAAuBgB,IAAI,CAAC,CAAD,CAA3BhB,EAAgCgB,IAAI,CAAC,CAAD,CAApChB,CADee;IAAAA,EAAjB;IAGA,OAAOtB,gBAAgB,CAACC,QAAD,EAAWN,QAAX,CAAvB;EACD;AAtGsC,CAAzC;AAyGA,eAAeY,YAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// @ts-ignore Cannot find module 'merge-options' or its corresponding type declarations\nimport mergeOptions from 'merge-options';\nimport type {\n AsyncStorageStatic,\n MultiCallback,\n MultiGetCallback,\n} from './types';\n\nconst merge = mergeOptions.bind({\n concatArrays: true,\n ignoreUndefined: true,\n});\n\nfunction mergeLocalStorageItem(key: string, value: string) {\n const oldValue = window.localStorage.getItem(key);\n if (oldValue) {\n const oldObject = JSON.parse(oldValue);\n const newObject = JSON.parse(value);\n const nextValue = JSON.stringify(merge(oldObject, newObject));\n window.localStorage.setItem(key, nextValue);\n } else {\n window.localStorage.setItem(key, value);\n }\n}\n\nfunction createPromise<Result, Callback extends Function>(\n getValue: () => Result,\n callback?: Callback\n): Promise<Result> {\n return new Promise((resolve, reject) => {\n try {\n const value = getValue();\n callback?.(null, value);\n resolve(value);\n } catch (err) {\n callback?.(err);\n reject(err);\n }\n });\n}\n\nfunction createPromiseAll<ReturnType, Result, ResultProcessor extends Function>(\n promises: Promise<Result>[],\n callback?: MultiCallback | MultiGetCallback,\n processResult?: ResultProcessor\n): Promise<ReturnType> {\n return Promise.all(promises).then(\n (result) => {\n const value = processResult?.(result) ?? null;\n callback?.(null, value);\n return Promise.resolve(value);\n },\n (errors) => {\n callback?.(errors);\n return Promise.reject(errors);\n }\n );\n}\n\nconst AsyncStorage: AsyncStorageStatic = {\n /**\n * Fetches `key` value.\n */\n getItem: (key, callback) => {\n return createPromise(() => window.localStorage.getItem(key), callback);\n },\n\n /**\n * Sets `value` for `key`.\n */\n setItem: (key, value, callback) => {\n return createPromise(\n () => window.localStorage.setItem(key, value),\n callback\n );\n },\n\n /**\n * Removes a `key`\n */\n removeItem: (key, callback) => {\n return createPromise(() => window.localStorage.removeItem(key), callback);\n },\n\n /**\n * Merges existing value with input value, assuming they are stringified JSON.\n */\n mergeItem: (key, value, callback) => {\n return createPromise(() => mergeLocalStorageItem(key, value), callback);\n },\n\n /**\n * Erases *all* AsyncStorage for the domain.\n */\n clear: (callback) => {\n return createPromise(() => window.localStorage.clear(), callback);\n },\n\n /**\n * Gets *all* keys known to the app, for all callers, libraries, etc.\n */\n getAllKeys: (callback) => {\n return createPromise(() => {\n const numberOfKeys = window.localStorage.length;\n const keys: string[] = [];\n for (let i = 0; i < numberOfKeys; i += 1) {\n const key = window.localStorage.key(i) || '';\n keys.push(key);\n }\n return keys;\n }, callback);\n },\n\n /**\n * (stub) Flushes any pending requests using a single batch call to get the data.\n */\n flushGetRequests: () => undefined,\n\n /**\n * multiGet resolves to an array of key-value pair arrays that matches the\n * input format of multiSet.\n *\n * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]\n */\n multiGet: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.getItem(key));\n const processResult = (result: string[]) =>\n result.map((value, i) => [keys[i], value]);\n return createPromiseAll(promises, callback, processResult);\n },\n\n /**\n * Takes an array of key-value array pairs.\n * multiSet([['k1', 'val1'], ['k2', 'val2']])\n */\n multiSet: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.setItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Delete all the keys in the `keys` array.\n */\n multiRemove: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.removeItem(key));\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Takes an array of key-value array pairs and merges them with existing\n * values, assuming they are stringified JSON.\n *\n * multiMerge([['k1', 'val1'], ['k2', 'val2']])\n */\n multiMerge: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.mergeItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n};\n\nexport default AsyncStorage;\n"]},"metadata":{},"sourceType":"module"}