react-native-onyx 1.0.30 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/web.min.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("underscore"),require("expensify-common/lib/str"),require("fast-equals"),require("lodash/get"),require("localforage"),require("lodash/transform"),require("react")):"function"==typeof define&&define.amd?define(["underscore","expensify-common/lib/str","fast-equals","lodash/get","localforage","lodash/transform","react"],t):"object"==typeof exports?exports["react-native-onyx/web"]=t(require("underscore"),require("expensify-common/lib/str"),require("fast-equals"),require("lodash/get"),require("localforage"),require("lodash/transform"),require("react")):e["react-native-onyx/web"]=t(e.underscore,e["expensify-common/lib/str"],e["fast-equals"],e["lodash/get"],e.localforage,e["lodash/transform"],e.react)}(self,((e,t,n,r,a,o,u)=>(()=>{var i={228:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},858:e=>{e.exports=function(e){if(Array.isArray(e))return e}},646:(e,t,n)=>{var r=n(228);e.exports=function(e){if(Array.isArray(e))return r(e)}},506:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},913:e=>{function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}},713:e=>{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},154:e=>{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(this,arguments)}e.exports=t},754:e=>{function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(n)}e.exports=t},205:(e,t,n)=>{var r=n(489);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},860:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},884:e=>{e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var u,i=e[Symbol.iterator]();!(r=(u=i.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw o}}return n}}},521:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},585:(e,t,n)=>{var r=n(8),a=n(506);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?a(e):t}},489:e=>{function t(n,r){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(n,r)}e.exports=t},38:(e,t,n)=>{var r=n(858),a=n(884),o=n(379),u=n(521);e.exports=function(e,t){return r(e)||a(e,t)||o(e,t)||u()}},319:(e,t,n)=>{var r=n(646),a=n(860),o=n(379),u=n(206);e.exports=function(e){return r(e)||a(e)||o(e)||u()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t},379:(e,t,n)=>{var r=n(228);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},871:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.registerLogger=function(e){n=e},t.logInfo=function(e){n({message:"[Onyx] "+e,level:"info"})},t.logAlert=function(e){n({message:"[Onyx] "+e,level:"alert"})};var n=function(){}},587:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(38)),o=r(n(319)),u=r(n(154)),i=r(n(713)),l=r(n(952)),s=r(n(97)),c=n(746),f=r(n(718)),d=r(n(315)),y=b(n(871)),p=r(n(996)),h=r(n(381)),v=r(n(345)),m=b(n(513));function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(g=function(e){return e?n:t})(e)}function b(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=g(t);if(n&&n.has(e))return n.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var u=a?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(r,o,u):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}var k={SET:"set",MERGE:"merge",MERGE_COLLECTION:"mergecollection",CLEAR:"clear"},O=0,x={},S={},P=[],w=[],I={},E={},j=(0,h.default)(),M=function(e,t){return l.default.isFunction(t)?t(e):(0,f.default)(e,t)},C=function(e,t){return l.default.reduce(e,(function(e,n,r){return e[r]=M(n,t),e}),{})};function _(e){if(p.default.hasCacheForKey(e))return Promise.resolve(p.default.getValue(e));var t="get:"+e;if(p.default.hasPendingTask(t))return p.default.getTaskPromise(t);var n=d.default.getItem(e).then((function(t){return p.default.set(e,t),t})).catch((function(t){return y.logInfo("Unable to get item from persistent storage. Key: "+e+" Error: "+t)}));return p.default.captureTask(t,n)}function K(){var e=p.default.getAllKeys();if(e.length>0)return Promise.resolve(e);var t="getAllKeys";if(p.default.hasPendingTask(t))return p.default.getTaskPromise(t);var n=d.default.getAllKeys().then((function(e){return l.default.each(e,(function(e){return p.default.addKey(e)})),e}));return p.default.captureTask(t,n)}function T(e){return l.default.contains(l.default.values(S.COLLECTION),e)}function A(e,t){return s.default.startsWith(t,e)&&t.length>e.length}function N(e,t){return T(e)?s.default.startsWith(t,e):e===t}function R(e){return l.default.some(w,(function(t){return N(t,e)}))}function W(e){P=l.default.without(P,e)}function q(e){!T(e)&&R(e)&&(W(e),P.push(e))}function L(e,t){I[e]=l.default.without(I[e]||[],t),0===I[e].length&&delete I[e]}function D(){return K().then((function(e){l.default.each(w,(function(t){l.default.each(e,(function(e){N(t,e)&&q(e)}))}))}))}function F(e){var t=l.default.filter(p.default.getAllKeys(),(function(t){return A(e,t)}));return l.default.reduce(t,(function(e,t){var n=p.default.getValue(t);return n?(e[t]=n,e):e}),{})}function U(e,t,n){l.default.isNull(t)?W(e):q(e);for(var r=l.default.keys(x),a=function(a){var o=x[r[a]];if(!o||!N(o.key,e)||l.default.isFunction(n)&&!n(o))return"continue";if(l.default.isFunction(o.callback)){if(T(o.key)&&o.waitForCollectionCallback){var s=F(o.key);return s[e]=t,o.callback(s),"continue"}return o.callback(t,e),"continue"}if(o.withOnyxInstance)return T(o.key)?o.selector?(o.withOnyxInstance.setState((function(n){var r=n[o.statePropertyName],a=(0,i.default)({},e,M(t,o.selector)),l=(0,u.default)({},r,(0,i.default)({},e,M(t,o.selector)));return(0,c.deepEqual)(r,l)?null:(m.logSetStateCall(o,r,a,"keyChanged",e),(0,i.default)({},o.statePropertyName,l))})),"continue"):(o.withOnyxInstance.setState((function(n){var r=n[o.statePropertyName]||{},a=(0,u.default)({},r,(0,i.default)({},e,t));return m.logSetStateCall(o,r,a,"keyChanged",e),(0,i.default)({},o.statePropertyName,a)})),"continue"):o.selector?(o.withOnyxInstance.setState((function(e){var n=M(e[o.statePropertyName],o.selector),r=M(t,o.selector);return(0,c.deepEqual)(n,r)?null:(0,i.default)({},o.statePropertyName,r)})),"continue"):(o.withOnyxInstance.setState((function(n){var r=n[o.statePropertyName];return r===t?null:(m.logSetStateCall(o,r,t,"keyChanged",e),(0,i.default)({},o.statePropertyName,t))})),"continue");console.error("Warning: Found a matching subscriber to a key that changed, but no callback or withOnyxInstance could be found.")},o=0;o<r.length;o++)a(o)}function V(e,t,n){if(x[e.connectionID]){if(e.withOnyxInstance){var r=t;return e.selector&&(r=T(e.key)?C(t,e.selector):M(t,e.selector)),m.logSetStateCall(e,null,r,"sendDataToConnection"),void e.withOnyxInstance.setWithOnyxState(e.statePropertyName,r)}l.default.isFunction(e.callback)&&e.callback(t,n)}}function B(e,t){Promise.all(l.default.map(e,(function(e){return _(e)}))).then((function(t){return l.default.reduce(t,(function(t,n,r){return t[e[r]]=n,t}),{})})).then((function(e){return V(t,e)}))}function G(e,t,n){Promise.resolve().then((function(){return U(e,t,n)}))}function z(e){return p.default.set(e,null),G(e,null),d.default.removeItem(e)}function H(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];if(y.logInfo("Handled error: "+e),e&&s.default.startsWith(e.message,"Failed to execute 'put' on 'IDBObjectStore'"))throw y.logAlert("Attempted to set invalid data set in Onyx. Please ensure all data is serializable."),e;var o=l.default.find(P,(function(e){return!I[e]}));if(!o)throw y.logAlert("Out of storage. But found no acceptable keys to remove."),e;return y.logInfo("Out of storage. Evicting least recently accessed key ("+o+") and retrying."),z(o).then((function(){return t.apply(void 0,r)}))}function Q(e,t){return y.logInfo("set() called for key: "+e+(l.default.isObject(t)?" properties: "+l.default.keys(t).join(","):"")),function(e){return Boolean($[e])}(e)&&y.logAlert("Onyx.set() called after Onyx.merge() for key: "+e+". It is recommended to use set() or merge() not both."),p.default.hasValueChanged(e,t)?(p.default.set(e,t),G(e,t),d.default.setItem(e,t).catch((function(n){return H(n,Q,e,t)}))):(p.default.addToAccessedKeys(e),G(e,t,(function(e){return!1===e.initWithStoredValues})),Promise.resolve())}function Y(e){return l.default.map(e,(function(e,t){return[t,e]}))}function X(e){var t=Y(e);return l.default.each(e,(function(e,t){p.default.set(t,e),G(t,e)})),d.default.multiSet(t).catch((function(t){return H(t,X,e)}))}var $={};function J(e,t){return $[e]?($[e].push(t),Promise.resolve()):($[e]=[t],_(e).then((function(t){try{var n=function(e,t){var n=$[e];return l.default.isArray(t)||l.default.every(n,l.default.isArray)?l.default.reduce(n,(function(e,t){return[].concat((0,o.default)(e),(0,o.default)(t))}),t||[]):l.default.isObject(t)||l.default.every(n,l.default.isObject)?l.default.reduce(n,(function(e,t){var n=(0,u.default)({},(0,v.default)(e,t));return l.default.omit(n,(function(e,n){return l.default.isNull(t[n])}))}),t||{}):l.default.last(n)}(e,t);return delete $[e],Q(e,n)}catch(t){y.logAlert("An error occurred while applying merge for key: "+e+", Error: "+t)}return Promise.resolve()})))}function Z(){return d.default.multiGet(l.default.keys(E)).then((function(e){var t=l.default.object(e),n=(0,v.default)(t,E);p.default.merge(n),l.default.each(n,(function(e,t){return U(t,e)}))}))}function ee(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return K().then((function(t){var n=[],r=l.default.keys(E),a=l.default.difference(t,e,r);n.push.apply(n,(0,o.default)(l.default.map(a,(function(e){return[e,null]}))));var u=l.default.pairs(l.default.omit.apply(l.default,[E].concat((0,o.default)(e))));return n.push.apply(n,(0,o.default)(u)),l.default.each(n,(function(e){p.default.set(e[0],e[1]),G(e[0],e[1])})),d.default.multiSet(n)}))}function te(e,t){return!l.default.isObject(t)||l.default.isArray(t)||l.default.isEmpty(t)?(y.logInfo("mergeCollection() called with invalid or empty value. Skipping this update."),Promise.resolve()):(l.default.each(t,(function(t,n){if(!N(e,n))throw new Error("Provided collection doesn't have all its data belonging to the same parent. CollectionKey: "+e+", DataKey: "+n)})),K().then((function(n){var r=l.default.chain(t).keys().partition((function(e){return n.includes(e)})).value(),o=(0,a.default)(r,2),u=o[0],f=o[1],y=l.default.pick(t,u),h=l.default.pick(t,f),v=Y(y),g=Y(h),b=[];return v.length>0&&b.push(d.default.multiMerge(v)),g.length>0&&b.push(d.default.multiSet(g)),Promise.all(l.default.map(u,_)).then((function(){p.default.merge(t),function(e,t){for(var n=l.default.keys(x),r=function(r){var a=x[n[r]];if(!a)return"continue";if(!s.default.startsWith(a.key,e))return"continue";var o=a.key===e,u=A(e,a.key),f=F(e);if(l.default.isFunction(a.callback)){if(o){if(a.waitForCollectionCallback)return a.callback(f),"continue";for(var d=l.default.keys(t),y=0;y<d.length;y++){var p=d[y];a.callback(f[p],p)}return"continue"}return u?(a.callback(f[a.key],a.key),"continue"):"continue"}if(a.withOnyxInstance){if(o)return a.selector?(a.withOnyxInstance.setState((function(e){var t=C(e[a.statePropertyName],a.selector),n=C(f,a.selector);return(0,c.deepEqual)(t,n)?null:(0,i.default)({},a.statePropertyName,n)})),"continue"):(a.withOnyxInstance.setState((function(n){for(var r=l.default.clone(n[a.statePropertyName]||{}),o=l.default.keys(t),u=0;u<o.length;u++){var s=o[u];r[s]=f[s]}return m.logSetStateCall(a,n[a.statePropertyName],r,"keysChanged",e),(0,i.default)({},a.statePropertyName,r)})),"continue");if(u){var h=t[a.key];if(l.default.isUndefined(h))return"continue";if(a.selector)return a.withOnyxInstance.setState((function(t){var n=t[a.statePropertyName],r=M(f[a.key],a.selector);return(0,c.deepEqual)(n,r)?null:(m.logSetStateCall(a,n,r,"keysChanged",e),(0,i.default)({},a.statePropertyName,r))})),"continue";a.withOnyxInstance.setState((function(t){var n=f[a.key],r=t[a.statePropertyName];return n===r?null:(m.logSetStateCall(a,r,n,"keysChanged",e),(0,i.default)({},a.statePropertyName,n))}))}}},a=0;a<n.length;a++)r(a)}(e,t)})),Promise.all(b).catch((function(e){return H(e,te,t)}))})))}function ne(e){l.default.each(e,(function(e){var t=e.onyxMethod,n=e.key;if(!l.default.contains([k.CLEAR,k.SET,k.MERGE,k.MERGE_COLLECTION],t))throw new Error("Invalid onyxMethod "+t+" in Onyx update.");if(t!==k.CLEAR&&!l.default.isString(n))throw new Error("Invalid "+typeof n+" key provided in Onyx update. Onyx key must be of type string.")}));var t=[];return l.default.each(e,(function(e){var n=e.onyxMethod,r=e.key,a=e.value;switch(n){case k.SET:t.push(Q(r,a));break;case k.MERGE:t.push(J(r,a));break;case k.MERGE_COLLECTION:t.push(te(r,a));break;case k.CLEAR:t.push(ee())}})),Promise.all(t)}var re={connect:function(e){var t=O++;return x[t]=e,x[t].connectionID=t,!1===e.initWithStoredValues||j.promise.then((function(){return function(e){if(R(e.key)&&(p.default.removeLeastRecentlyUsedKeys(),e.withOnyxInstance&&!T(e.key))){if(l.default.isUndefined(e.canEvict))throw new Error("Cannot subscribe to safe eviction key '"+e.key+"' without providing a canEvict value.");q(e.key)}}(e)})).then(K).then((function(t){var n=l.default.filter(t,(function(t){return N(e.key,t)}));if(0!==n.length)if(l.default.isFunction(e.callback)){if(T(e.key)){if(e.waitForCollectionCallback)return void B(n,e);for(var r=function(t){_(n[t]).then((function(r){return V(e,r,n[t])}))},a=0;a<n.length;a++)r(a);return}_(e.key).then((function(t){return V(e,t,e.key)}))}else{if(e.withOnyxInstance)return T(e.key)?void B(n,e):void _(e.key).then((function(t){return V(e,t,e.key)}));console.error("Warning: Onyx.connect() was found without a callback or withOnyxInstance")}else V(e,null)})),t},disconnect:function(e,t){x[e]&&(t&&L(t,e),delete x[e])},set:Q,multiSet:X,merge:J,mergeCollection:te,update:ne,clear:ee,init:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.keys,r=void 0===t?{}:t,a=e.initialKeyStates,o=void 0===a?{}:a,u=e.safeEvictionKeys,i=void 0===u?[]:u,s=e.maxCachedKeysCount,c=void 0===s?1e3:s,f=e.captureMetrics,y=void 0!==f&&f,h=e.shouldSyncMultipleInstances,v=void 0===h?Boolean(n.g.localStorage):h,g=e.debugSetState,b=void 0!==g&&g;y&&ae(),b&&m.setShouldDebugSetState(!0),c>0&&p.default.setRecentKeysLimit(c),S=r,E=o,w=i,Promise.all([D(),Z()]).then(j.resolve),v&&l.default.isFunction(d.default.keepInstancesSync)&&d.default.keepInstancesSync((function(e,t){p.default.set(e,t),U(e,t)}))},registerLogger:y.registerLogger,addToEvictionBlockList:function(e,t){L(e,t),I[e]||(I[e]=[]),I[e].push(t)},removeFromEvictionBlockList:L,isSafeEvictionKey:R,METHOD:k};function ae(){var e=n(378);_=e.decorateWithMetrics(_,"Onyx:get"),Q=e.decorateWithMetrics(Q,"Onyx:set"),X=e.decorateWithMetrics(X,"Onyx:multiSet"),ee=e.decorateWithMetrics(ee,"Onyx:clear"),J=e.decorateWithMetrics(J,"Onyx:merge"),te=e.decorateWithMetrics(te,"Onyx:mergeCollection"),K=e.decorateWithMetrics(K,"Onyx:getAllKeys"),Z=e.decorateWithMetrics(Z,"Onyx:defaults"),ne=e.decorateWithMetrics(ne,"Onyx:update"),re.set=Q,re.multiSet=X,re.clear=ee,re.merge=J,re.mergeCollection=te,re.update=ne,re.getMetrics=e.getMetrics,re.resetMetrics=e.resetMetrics,re.printMetrics=e.printMetrics}var oe=re;t.default=oe},996:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(319)),o=r(n(154)),u=r(n(575)),i=r(n(913)),l=r(n(952)),s=n(746),c=r(n(345)),f=l.default.negate(l.default.isUndefined),d=new(function(){function e(){(0,u.default)(this,e),this.storageKeys=new Set,this.recentKeys=new Set,this.storageMap={},this.pendingPromises={},l.default.bindAll(this,"getAllKeys","getValue","hasCacheForKey","addKey","set","drop","merge","hasPendingTask","getTaskPromise","captureTask","removeLeastRecentlyUsedKeys","setRecentKeysLimit")}return(0,i.default)(e,[{key:"getAllKeys",value:function(){return Array.from(this.storageKeys)}},{key:"getValue",value:function(e){return this.addToAccessedKeys(e),this.storageMap[e]}},{key:"hasCacheForKey",value:function(e){return f(this.storageMap[e])}},{key:"addKey",value:function(e){this.storageKeys.add(e)}},{key:"set",value:function(e,t){return this.addKey(e),this.addToAccessedKeys(e),this.storageMap[e]=t,t}},{key:"drop",value:function(e){delete this.storageMap[e]}},{key:"merge",value:function(e){var t=this;if(!l.default.isObject(e)||l.default.isArray(e))throw new Error("data passed to cache.merge() must be an Object of onyx key/value pairs");this.storageMap=(0,o.default)({},(0,c.default)(this.storageMap,e));var n=this.getAllKeys(),r=l.default.keys(e);this.storageKeys=new Set([].concat((0,a.default)(n),(0,a.default)(r))),l.default.each(r,(function(e){return t.addToAccessedKeys(e)}))}},{key:"hasPendingTask",value:function(e){return f(this.pendingPromises[e])}},{key:"getTaskPromise",value:function(e){return this.pendingPromises[e]}},{key:"captureTask",value:function(e,t){var n=this;return this.pendingPromises[e]=t.finally((function(){delete n.pendingPromises[e]})),this.pendingPromises[e]}},{key:"addToAccessedKeys",value:function(e){this.recentKeys.delete(e),this.recentKeys.add(e)}},{key:"removeLeastRecentlyUsedKeys",value:function(){if(!(this.recentKeys.size<=this.maxRecentKeysSize)){var e=(0,a.default)(this.recentKeys).slice(-this.maxRecentKeysSize),t=l.default.keys(this.storageMap),n=l.default.difference(t,e);l.default.each(n,this.drop)}}},{key:"setRecentKeysLimit",value:function(e){this.maxRecentKeysSize=e}},{key:"hasValueChanged",value:function(e,t){return!(0,s.deepEqual)(this.storageMap[e],t)}}]),e}());t.default=d},570:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(575)),o=r(n(913)),u=function(){function e(t){(0,a.default)(this,e),this.queue=[],this.isProcessing=!1,this.run=t}return(0,o.default)(e,[{key:"process",value:function(){var e=this;if(!this.isProcessing&&0!==this.queue.length){this.isProcessing=!0;var t=this.queue.shift(),n=t.data,r=t.resolve,a=t.reject;this.run(n).then(r).catch(a).finally((function(){e.isProcessing=!1,e.process()}))}}},{key:"push",value:function(e){var t=this;return new Promise((function(n,r){t.queue.push({resolve:n,reject:r,data:e}),t.process()}))}}]),e}();t.default=u},381:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e={};return e.promise=new Promise((function(t){e.resolve=t})),e}},345:(e,t)=>{function n(e){return null!=e&&"object"==typeof e&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function e(t,r){return Array.isArray(r)?r:function(t,r){var a={};if(n(t))for(var o=Object.keys(t),u=0;u<o.length;++u){var i=o[u];a[i]=t[i]}for(var l=Object.keys(r),s=0;s<l.length;++s){var c=l[s];void 0!==r[c]&&(n(r[c])&&t[c]?a[c]=e(t[c],r[c]):a[c]=r[c])}return a}(t,r)};t.default=r},513:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.logSetStateCall=function(e,t,n,r,i){if(u){var l={};i&&(l.keyThatChanged=i),o.default.isObject(n)&&o.default.isObject(t)?l.difference=function e(t,n){return(0,a.default)(t,(function(t,r,a){o.default.isEqual(r,n[a])||(t[a]=o.default.isObject(r)&&o.default.isObject(n[a])?e(r,n[a]):r)}))}(t,n):(l.previousValue=t,l.newValue=n),console.debug("[Onyx-Debug] "+e.displayName+" setState() called. Subscribed to key '"+e.key+"' ("+r+")",l)}},t.setShouldDebugSetState=function(e){u=e};var a=r(n(407)),o=r(n(952)),u=!1},378:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decorateWithMetrics=function(e){return e},t.getMetrics=function(){},t.resetMetrics=function(){},t.printMetrics=function(){}},999:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(154)),o=r(n(952)),u=r(n(398)),i="SYNC_ONYX";function l(e){n.g.localStorage.setItem(i,e),n.g.localStorage.removeItem(i,e)}var s=(0,a.default)({},u.default,{keepInstancesSync:function(e){var t=this;this.setItem=function(e,t){return u.default.setItem(e,t).then((function(){return l(e)}))},this.removeItem=function(e){return u.default.removeItem(e).then((function(){return l(e)}))},this.clear=function(){return u.default.getAllKeys().then((function(e){return o.default.map(e,(function(e){return t.removeItem(e)}))})).then((function(e){return Promise.all(e)}))},n.g.addEventListener("storage",(function(t){if(t.key===i&&t.newValue){var n=t.newValue;u.default.getItem(n).then((function(t){return e(n,t)}))}}))}});t.default=s},315:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(999)).default;t.default=a},398:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(38)),o=r(n(154)),u=r(n(349)),i=r(n(952)),l=r(n(570)),s=r(n(345));u.default.config({name:"OnyxDB"});var c={setItemQueue:new l.default((function(e){var t=e.key,n=e.value;return e.shouldMerge?u.default.getItem(t).then((function(e){var r=i.default.isObject(e)?(0,o.default)({},(0,s.default)(e,n)):n;return u.default.setItem(t,r)})):u.default.setItem(t,n)})),multiGet:function(e){var t=i.default.map(e,(function(e){return u.default.getItem(e).then((function(t){return[e,t]}))}));return Promise.all(t)},multiMerge:function(e){var t=this,n=i.default.map(e,(function(e){var n=(0,a.default)(e,2),r=n[0],o=n[1];return t.setItemQueue.push({key:r,value:o,shouldMerge:!0})}));return Promise.all(n).then((function(){return Promise.resolve()}))},multiSet:function(e){var t=this,n=i.default.map(e,(function(e){var n=(0,a.default)(e,2),r=n[0],o=n[1];return t.setItem(r,o)}));return Promise.all(n).then((function(){return Promise.resolve()}))},clear:u.default.clear,getAllKeys:u.default.keys,getItem:u.default.getItem,removeItem:u.default.removeItem,setItem:function(e,t){return this.setItemQueue.push({key:e,value:t})}};t.default=c},543:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=this,n=y.default.chain(e).omit((function(e){return!1===e.initWithStoredValues})).keys().value();return function(r){var g,b=(g=r).displayName||g.name||"Component",k=function(t){(0,s.default)(O,t);var p,g,k=(p=O,g=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,f.default)(p);if(g){var n=(0,f.default)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.default)(this,e)});function O(e){var t;return(0,u.default)(this,O),(t=k.call(this,e)).setWithOnyxState=t.setWithOnyxState.bind((0,l.default)(t)),t.activeConnectionIDs={},t.tempState={},t.state={loading:n.length>0},t}return(0,i.default)(O,[{key:"componentDidMount",value:function(){var t=this;y.default.each(e,(function(e,n){t.connectMappingToOnyx(e,n)})),this.checkEvictableKeys()}},{key:"componentDidUpdate",value:function(t){var n=this;y.default.each(e,(function(e,r){var a=h.default.result(e.key,t);a!==h.default.result(e.key,n.props)&&(v.default.disconnect(n.activeConnectionIDs[a],a),delete n.activeConnectionIDs[a],n.connectMappingToOnyx(e,r))})),this.checkEvictableKeys()}},{key:"componentWillUnmount",value:function(){var t=this;y.default.each(e,(function(e){var n=h.default.result(e.key,t.props),r=t.activeConnectionIDs[n];v.default.disconnect(r,n)}))}},{key:"setWithOnyxState",value:function(e,t){var r=this;this.state.loading?(this.tempState[e]=t,y.default.some(n,(function(e){return y.default.isUndefined(r.tempState[e])}))||(this.setState((0,a.default)({},this.tempState,{loading:!1})),delete this.tempState)):this.setState((0,o.default)({},e,t))}},{key:"checkEvictableKeys",value:function(){var t=this;y.default.each(e,(function(e){if(!y.default.isUndefined(e.canEvict)){var n=h.default.result(e.canEvict,t.props),r=h.default.result(e.key,t.props);if(!v.default.isSafeEvictionKey(r))throw new Error("canEvict can't be used on key '"+r+"'. This key must explicitly be flagged as safe for removal by adding it to Onyx.init({safeEvictionKeys: []}).");n?v.default.removeFromEvictionBlockList(r,e.connectionID):v.default.addToEvictionBlockList(r,e.connectionID)}}))}},{key:"connectMappingToOnyx",value:function(e,t){var n=h.default.result(e.key,this.props);this.activeConnectionIDs[n]=v.default.connect((0,a.default)({},e,{key:n,statePropertyName:t,withOnyxInstance:this,displayName:b}))}},{key:"render",value:function(){if(this.state.loading)return null;var e=y.default.omit(this.state,"loading");e=y.default.omit(e,(function(e){return y.default.isNull(e)}));var t=y.default.omit(this.props,(function(e){return y.default.isNull(e)}));return d.default.createElement(r,(0,a.default)({},t,e,{ref:this.props.forwardedRef,__self:this,__source:{fileName:m,lineNumber:174,columnNumber:21}}))}}]),O}(d.default.Component);return k.propTypes={forwardedRef:p.default.oneOfType([p.default.func,p.default.shape({current:p.default.instanceOf(d.default.Component)})])},k.defaultProps={forwardedRef:void 0},k.displayName="withOnyx("+b+")",d.default.forwardRef((function(e,n){var r=k;return d.default.createElement(r,(0,a.default)({},e,{forwardedRef:n,__self:t,__source:{fileName:m,lineNumber:198,columnNumber:20}}))}))}};var a=r(n(154)),o=r(n(713)),u=r(n(575)),i=r(n(913)),l=r(n(506)),s=r(n(205)),c=r(n(585)),f=r(n(754)),d=r(n(156)),y=r(n(952)),p=r(n(697)),h=r(n(97)),v=r(n(587)),m="/home/runner/work/react-native-onyx/react-native-onyx/lib/withOnyx.js"},703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,u){if(u!==r){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},697:(e,t,n)=>{e.exports=n(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},97:e=>{"use strict";e.exports=t},746:e=>{"use strict";e.exports=n},349:e=>{"use strict";e.exports=a},718:e=>{"use strict";e.exports=r},407:e=>{"use strict";e.exports=o},156:e=>{"use strict";e.exports=u},952:t=>{"use strict";t.exports=e}},l={};function s(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}};return i[e](n,n.exports,s),n.exports}s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var c={};return(()=>{var e=c,t=s(318);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"withOnyx",{enumerable:!0,get:function(){return r.default}}),e.default=void 0;var n=t(s(587)),r=t(s(543)),a=n.default;e.default=a})(),c})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("underscore"),require("expensify-common/lib/str"),require("fast-equals"),require("lodash/get"),require("localforage"),require("lodash/transform"),require("react")):"function"==typeof define&&define.amd?define(["underscore","expensify-common/lib/str","fast-equals","lodash/get","localforage","lodash/transform","react"],t):"object"==typeof exports?exports["react-native-onyx/web"]=t(require("underscore"),require("expensify-common/lib/str"),require("fast-equals"),require("lodash/get"),require("localforage"),require("lodash/transform"),require("react")):e["react-native-onyx/web"]=t(e.underscore,e["expensify-common/lib/str"],e["fast-equals"],e["lodash/get"],e.localforage,e["lodash/transform"],e.react)}(self,((e,t,n,r,a,o,u)=>(()=>{var i={228:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},858:e=>{e.exports=function(e){if(Array.isArray(e))return e}},646:(e,t,n)=>{var r=n(228);e.exports=function(e){if(Array.isArray(e))return r(e)}},506:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},913:e=>{function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}},713:e=>{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},154:e=>{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(this,arguments)}e.exports=t},754:e=>{function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(n)}e.exports=t},205:(e,t,n)=>{var r=n(489);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},860:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},884:e=>{e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var u,i=e[Symbol.iterator]();!(r=(u=i.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw o}}return n}}},521:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},585:(e,t,n)=>{var r=n(8),a=n(506);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?a(e):t}},489:e=>{function t(n,r){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(n,r)}e.exports=t},38:(e,t,n)=>{var r=n(858),a=n(884),o=n(379),u=n(521);e.exports=function(e,t){return r(e)||a(e,t)||o(e,t)||u()}},319:(e,t,n)=>{var r=n(646),a=n(860),o=n(379),u=n(206);e.exports=function(e){return r(e)||a(e)||o(e)||u()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t},379:(e,t,n)=>{var r=n(228);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},871:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.registerLogger=function(e){n=e},t.logInfo=function(e){n({message:"[Onyx] "+e,level:"info"})},t.logAlert=function(e){n({message:"[Onyx] "+e,level:"alert"})};var n=function(){}},587:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(38)),o=r(n(319)),u=r(n(154)),i=r(n(713)),l=r(n(952)),s=r(n(97)),c=n(746),f=r(n(718)),d=r(n(315)),y=b(n(871)),p=r(n(996)),h=r(n(381)),v=r(n(345)),m=b(n(513));function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(g=function(e){return e?n:t})(e)}function b(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=g(t);if(n&&n.has(e))return n.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var u=a?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(r,o,u):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}var k={SET:"set",MERGE:"merge",MERGE_COLLECTION:"mergecollection",CLEAR:"clear"},O=0,x={},S={},P=[],w=[],I={},E={},j=(0,h.default)(),M=function(e,t){return l.default.isFunction(t)?t(e):(0,f.default)(e,t)},C=function(e,t){return l.default.reduce(e,(function(e,n,r){return e[r]=M(n,t),e}),{})};function _(e){if(p.default.hasCacheForKey(e))return Promise.resolve(p.default.getValue(e));var t="get:"+e;if(p.default.hasPendingTask(t))return p.default.getTaskPromise(t);var n=d.default.getItem(e).then((function(t){return p.default.set(e,t),t})).catch((function(t){return y.logInfo("Unable to get item from persistent storage. Key: "+e+" Error: "+t)}));return p.default.captureTask(t,n)}function K(){var e=p.default.getAllKeys();if(e.length>0)return Promise.resolve(e);var t="getAllKeys";if(p.default.hasPendingTask(t))return p.default.getTaskPromise(t);var n=d.default.getAllKeys().then((function(e){return l.default.each(e,(function(e){return p.default.addKey(e)})),e}));return p.default.captureTask(t,n)}function T(e){return l.default.contains(l.default.values(S.COLLECTION),e)}function A(e,t){return s.default.startsWith(t,e)&&t.length>e.length}function N(e,t){return T(e)?s.default.startsWith(t,e):e===t}function R(e){return l.default.some(w,(function(t){return N(t,e)}))}function W(e){P=l.default.without(P,e)}function q(e){!T(e)&&R(e)&&(W(e),P.push(e))}function L(e,t){I[e]=l.default.without(I[e]||[],t),0===I[e].length&&delete I[e]}function D(){return K().then((function(e){l.default.each(w,(function(t){l.default.each(e,(function(e){N(t,e)&&q(e)}))}))}))}function F(e){var t=l.default.filter(p.default.getAllKeys(),(function(t){return A(e,t)}));return l.default.reduce(t,(function(e,t){var n=p.default.getValue(t);return n?(e[t]=n,e):e}),{})}function U(e,t){for(var n=l.default.keys(x),r=function(r){var a=x[n[r]];if(!a)return"continue";if(!s.default.startsWith(a.key,e))return"continue";var o=a.key===e,u=A(e,a.key),f=F(e);if(l.default.isFunction(a.callback)){if(o){if(a.waitForCollectionCallback)return a.callback(f),"continue";for(var d=l.default.keys(t),y=0;y<d.length;y++){var p=d[y];a.callback(f[p],p)}return"continue"}return u?(a.callback(f[a.key],a.key),"continue"):"continue"}if(a.withOnyxInstance){if(o)return a.selector?(a.withOnyxInstance.setState((function(e){var t=C(e[a.statePropertyName],a.selector),n=C(f,a.selector);return(0,c.deepEqual)(t,n)?null:(0,i.default)({},a.statePropertyName,n)})),"continue"):(a.withOnyxInstance.setState((function(n){for(var r=l.default.clone(n[a.statePropertyName]||{}),o=l.default.keys(t),u=0;u<o.length;u++){var s=o[u];r[s]=f[s]}return m.logSetStateCall(a,n[a.statePropertyName],r,"keysChanged",e),(0,i.default)({},a.statePropertyName,r)})),"continue");if(u){var h=t[a.key];if(l.default.isUndefined(h))return"continue";if(a.selector)return a.withOnyxInstance.setState((function(t){var n=t[a.statePropertyName],r=M(f[a.key],a.selector);return(0,c.deepEqual)(n,r)?null:(m.logSetStateCall(a,n,r,"keysChanged",e),(0,i.default)({},a.statePropertyName,r))})),"continue";a.withOnyxInstance.setState((function(t){var n=f[a.key],r=t[a.statePropertyName];return n===r?null:(m.logSetStateCall(a,r,n,"keysChanged",e),(0,i.default)({},a.statePropertyName,n))}))}}},a=0;a<n.length;a++)r(a)}function V(e,t,n){l.default.isNull(t)?W(e):q(e);for(var r=l.default.keys(x),a=function(a){var o=x[r[a]];if(!o||!N(o.key,e)||l.default.isFunction(n)&&!n(o))return"continue";if(l.default.isFunction(o.callback)){if(T(o.key)&&o.waitForCollectionCallback){var s=F(o.key);return s[e]=t,o.callback(s),"continue"}return o.callback(t,e),"continue"}if(o.withOnyxInstance)return T(o.key)?o.selector?(o.withOnyxInstance.setState((function(n){var r=n[o.statePropertyName],a=(0,i.default)({},e,M(t,o.selector)),l=(0,u.default)({},r,(0,i.default)({},e,M(t,o.selector)));return(0,c.deepEqual)(r,l)?null:(m.logSetStateCall(o,r,a,"keyChanged",e),(0,i.default)({},o.statePropertyName,l))})),"continue"):(o.withOnyxInstance.setState((function(n){var r=n[o.statePropertyName]||{},a=(0,u.default)({},r,(0,i.default)({},e,t));return m.logSetStateCall(o,r,a,"keyChanged",e),(0,i.default)({},o.statePropertyName,a)})),"continue"):o.selector?(o.withOnyxInstance.setState((function(e){var n=M(e[o.statePropertyName],o.selector),r=M(t,o.selector);return(0,c.deepEqual)(n,r)?null:(0,i.default)({},o.statePropertyName,r)})),"continue"):(o.withOnyxInstance.setState((function(n){var r=n[o.statePropertyName];return r===t?null:(m.logSetStateCall(o,r,t,"keyChanged",e),(0,i.default)({},o.statePropertyName,t))})),"continue");console.error("Warning: Found a matching subscriber to a key that changed, but no callback or withOnyxInstance could be found.")},o=0;o<r.length;o++)a(o)}function B(e,t,n){if(x[e.connectionID]){if(e.withOnyxInstance){var r=t;return e.selector&&(r=T(e.key)?C(t,e.selector):M(t,e.selector)),m.logSetStateCall(e,null,r,"sendDataToConnection"),void e.withOnyxInstance.setWithOnyxState(e.statePropertyName,r)}l.default.isFunction(e.callback)&&e.callback(t,n)}}function G(e,t){Promise.all(l.default.map(e,(function(e){return _(e)}))).then((function(t){return l.default.reduce(t,(function(t,n,r){return t[e[r]]=n,t}),{})})).then((function(e){return B(t,e)}))}function z(e,t,n){Promise.resolve().then((function(){return V(e,t,n)}))}function H(e,t){Promise.resolve().then((function(){return U(e,t)}))}function Q(e){return p.default.set(e,null),z(e,null),d.default.removeItem(e)}function Y(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];if(y.logInfo("Handled error: "+e),e&&s.default.startsWith(e.message,"Failed to execute 'put' on 'IDBObjectStore'"))throw y.logAlert("Attempted to set invalid data set in Onyx. Please ensure all data is serializable."),e;var o=l.default.find(P,(function(e){return!I[e]}));if(!o)throw y.logAlert("Out of storage. But found no acceptable keys to remove."),e;return y.logInfo("Out of storage. Evicting least recently accessed key ("+o+") and retrying."),Q(o).then((function(){return t.apply(void 0,r)}))}function X(e,t){return y.logInfo("set() called for key: "+e+(l.default.isObject(t)?" properties: "+l.default.keys(t).join(","):"")),function(e){return Boolean(Z[e])}(e)&&y.logAlert("Onyx.set() called after Onyx.merge() for key: "+e+". It is recommended to use set() or merge() not both."),p.default.hasValueChanged(e,t)?(p.default.set(e,t),z(e,t),d.default.setItem(e,t).catch((function(n){return Y(n,X,e,t)}))):(p.default.addToAccessedKeys(e),z(e,t,(function(e){return!1===e.initWithStoredValues})),Promise.resolve())}function $(e){return l.default.map(e,(function(e,t){return[t,e]}))}function J(e){var t=$(e);return l.default.each(e,(function(e,t){p.default.set(t,e),z(t,e)})),d.default.multiSet(t).catch((function(t){return Y(t,J,e)}))}var Z={};function ee(e,t){return Z[e]?(Z[e].push(t),Promise.resolve()):(Z[e]=[t],_(e).then((function(t){try{var n=function(e,t){var n=Z[e];return l.default.isArray(t)||l.default.every(n,l.default.isArray)?l.default.reduce(n,(function(e,t){return[].concat((0,o.default)(e),(0,o.default)(t))}),t||[]):l.default.isObject(t)||l.default.every(n,l.default.isObject)?l.default.reduce(n,(function(e,t){var n=(0,u.default)({},(0,v.default)(e,t));return l.default.omit(n,(function(e,n){return l.default.isNull(t[n])}))}),t||{}):l.default.last(n)}(e,t);return delete Z[e],X(e,n)}catch(t){y.logAlert("An error occurred while applying merge for key: "+e+", Error: "+t)}return Promise.resolve()})))}function te(){return d.default.multiGet(l.default.keys(E)).then((function(e){var t=l.default.object(e),n=(0,v.default)(t,E);p.default.merge(n),l.default.each(n,(function(e,t){return V(t,e)}))}))}function ne(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return K().then((function(t){var n=[],r=l.default.keys(E),a=l.default.difference(t,e,r);n.push.apply(n,(0,o.default)(l.default.map(a,(function(e){return[e,null]}))));var u=l.default.pairs(l.default.omit.apply(l.default,[E].concat((0,o.default)(e))));n.push.apply(n,(0,o.default)(u));var i={},s={};return l.default.each(n,(function(e){var t=e[0],n=e[1];p.default.set(t,n);var r=t.substring(0,t.indexOf("_")+1);if(r)return i[r]||(i[r]={}),void(i[r][t]=n);s[t]=n})),l.default.each(s,(function(e,t){z(t,e)})),l.default.each(i,(function(e,t){H(t,e)})),d.default.multiSet(n)}))}function re(e,t){return!l.default.isObject(t)||l.default.isArray(t)||l.default.isEmpty(t)?(y.logInfo("mergeCollection() called with invalid or empty value. Skipping this update."),Promise.resolve()):(l.default.each(t,(function(t,n){if(!N(e,n))throw new Error("Provided collection doesn't have all its data belonging to the same parent. CollectionKey: "+e+", DataKey: "+n)})),K().then((function(n){var r=l.default.chain(t).keys().partition((function(e){return n.includes(e)})).value(),o=(0,a.default)(r,2),u=o[0],i=o[1],s=l.default.pick(t,u),c=l.default.pick(t,i),f=$(s),y=$(c),h=[];return f.length>0&&h.push(d.default.multiMerge(f)),y.length>0&&h.push(d.default.multiSet(y)),Promise.all(l.default.map(u,_)).then((function(){p.default.merge(t),U(e,t)})),Promise.all(h).catch((function(e){return Y(e,re,t)}))})))}function ae(e){l.default.each(e,(function(e){var t=e.onyxMethod,n=e.key;if(!l.default.contains([k.CLEAR,k.SET,k.MERGE,k.MERGE_COLLECTION],t))throw new Error("Invalid onyxMethod "+t+" in Onyx update.");if(t!==k.CLEAR&&!l.default.isString(n))throw new Error("Invalid "+typeof n+" key provided in Onyx update. Onyx key must be of type string.")}));var t=[];return l.default.each(e,(function(e){var n=e.onyxMethod,r=e.key,a=e.value;switch(n){case k.SET:t.push(X(r,a));break;case k.MERGE:t.push(ee(r,a));break;case k.MERGE_COLLECTION:t.push(re(r,a));break;case k.CLEAR:t.push(ne())}})),Promise.all(t)}var oe={connect:function(e){var t=O++;return x[t]=e,x[t].connectionID=t,!1===e.initWithStoredValues||j.promise.then((function(){return function(e){if(R(e.key)&&(p.default.removeLeastRecentlyUsedKeys(),e.withOnyxInstance&&!T(e.key))){if(l.default.isUndefined(e.canEvict))throw new Error("Cannot subscribe to safe eviction key '"+e.key+"' without providing a canEvict value.");q(e.key)}}(e)})).then(K).then((function(t){var n=l.default.filter(t,(function(t){return N(e.key,t)}));if(0!==n.length)if(l.default.isFunction(e.callback)){if(T(e.key)){if(e.waitForCollectionCallback)return void G(n,e);for(var r=function(t){_(n[t]).then((function(r){return B(e,r,n[t])}))},a=0;a<n.length;a++)r(a);return}_(e.key).then((function(t){return B(e,t,e.key)}))}else{if(e.withOnyxInstance)return T(e.key)?void G(n,e):void _(e.key).then((function(t){return B(e,t,e.key)}));console.error("Warning: Onyx.connect() was found without a callback or withOnyxInstance")}else B(e,null)})),t},disconnect:function(e,t){x[e]&&(t&&L(t,e),delete x[e])},set:X,multiSet:J,merge:ee,mergeCollection:re,update:ae,clear:ne,init:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.keys,r=void 0===t?{}:t,a=e.initialKeyStates,o=void 0===a?{}:a,u=e.safeEvictionKeys,i=void 0===u?[]:u,s=e.maxCachedKeysCount,c=void 0===s?1e3:s,f=e.captureMetrics,y=void 0!==f&&f,h=e.shouldSyncMultipleInstances,v=void 0===h?Boolean(n.g.localStorage):h,g=e.debugSetState,b=void 0!==g&&g;y&&ue(),b&&m.setShouldDebugSetState(!0),c>0&&p.default.setRecentKeysLimit(c),S=r,E=o,w=i,Promise.all([D(),te()]).then(j.resolve),v&&l.default.isFunction(d.default.keepInstancesSync)&&d.default.keepInstancesSync((function(e,t){p.default.set(e,t),V(e,t)}))},registerLogger:y.registerLogger,addToEvictionBlockList:function(e,t){L(e,t),I[e]||(I[e]=[]),I[e].push(t)},removeFromEvictionBlockList:L,isSafeEvictionKey:R,METHOD:k};function ue(){var e=n(378);_=e.decorateWithMetrics(_,"Onyx:get"),X=e.decorateWithMetrics(X,"Onyx:set"),J=e.decorateWithMetrics(J,"Onyx:multiSet"),ne=e.decorateWithMetrics(ne,"Onyx:clear"),ee=e.decorateWithMetrics(ee,"Onyx:merge"),re=e.decorateWithMetrics(re,"Onyx:mergeCollection"),K=e.decorateWithMetrics(K,"Onyx:getAllKeys"),te=e.decorateWithMetrics(te,"Onyx:defaults"),ae=e.decorateWithMetrics(ae,"Onyx:update"),oe.set=X,oe.multiSet=J,oe.clear=ne,oe.merge=ee,oe.mergeCollection=re,oe.update=ae,oe.getMetrics=e.getMetrics,oe.resetMetrics=e.resetMetrics,oe.printMetrics=e.printMetrics}var ie=oe;t.default=ie},996:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(319)),o=r(n(154)),u=r(n(575)),i=r(n(913)),l=r(n(952)),s=n(746),c=r(n(345)),f=l.default.negate(l.default.isUndefined),d=new(function(){function e(){(0,u.default)(this,e),this.storageKeys=new Set,this.recentKeys=new Set,this.storageMap={},this.pendingPromises={},l.default.bindAll(this,"getAllKeys","getValue","hasCacheForKey","addKey","set","drop","merge","hasPendingTask","getTaskPromise","captureTask","removeLeastRecentlyUsedKeys","setRecentKeysLimit")}return(0,i.default)(e,[{key:"getAllKeys",value:function(){return Array.from(this.storageKeys)}},{key:"getValue",value:function(e){return this.addToAccessedKeys(e),this.storageMap[e]}},{key:"hasCacheForKey",value:function(e){return f(this.storageMap[e])}},{key:"addKey",value:function(e){this.storageKeys.add(e)}},{key:"set",value:function(e,t){return this.addKey(e),this.addToAccessedKeys(e),this.storageMap[e]=t,t}},{key:"drop",value:function(e){delete this.storageMap[e]}},{key:"merge",value:function(e){var t=this;if(!l.default.isObject(e)||l.default.isArray(e))throw new Error("data passed to cache.merge() must be an Object of onyx key/value pairs");this.storageMap=(0,o.default)({},(0,c.default)(this.storageMap,e));var n=this.getAllKeys(),r=l.default.keys(e);this.storageKeys=new Set([].concat((0,a.default)(n),(0,a.default)(r))),l.default.each(r,(function(e){return t.addToAccessedKeys(e)}))}},{key:"hasPendingTask",value:function(e){return f(this.pendingPromises[e])}},{key:"getTaskPromise",value:function(e){return this.pendingPromises[e]}},{key:"captureTask",value:function(e,t){var n=this;return this.pendingPromises[e]=t.finally((function(){delete n.pendingPromises[e]})),this.pendingPromises[e]}},{key:"addToAccessedKeys",value:function(e){this.recentKeys.delete(e),this.recentKeys.add(e)}},{key:"removeLeastRecentlyUsedKeys",value:function(){if(!(this.recentKeys.size<=this.maxRecentKeysSize)){var e=(0,a.default)(this.recentKeys).slice(-this.maxRecentKeysSize),t=l.default.keys(this.storageMap),n=l.default.difference(t,e);l.default.each(n,this.drop)}}},{key:"setRecentKeysLimit",value:function(e){this.maxRecentKeysSize=e}},{key:"hasValueChanged",value:function(e,t){return!(0,s.deepEqual)(this.storageMap[e],t)}}]),e}());t.default=d},570:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(575)),o=r(n(913)),u=function(){function e(t){(0,a.default)(this,e),this.queue=[],this.isProcessing=!1,this.run=t}return(0,o.default)(e,[{key:"process",value:function(){var e=this;if(!this.isProcessing&&0!==this.queue.length){this.isProcessing=!0;var t=this.queue.shift(),n=t.data,r=t.resolve,a=t.reject;this.run(n).then(r).catch(a).finally((function(){e.isProcessing=!1,e.process()}))}}},{key:"push",value:function(e){var t=this;return new Promise((function(n,r){t.queue.push({resolve:n,reject:r,data:e}),t.process()}))}}]),e}();t.default=u},381:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e={};return e.promise=new Promise((function(t){e.resolve=t})),e}},345:(e,t)=>{function n(e){return null!=e&&"object"==typeof e&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function e(t,r){return Array.isArray(r)?r:function(t,r){var a={};if(n(t))for(var o=Object.keys(t),u=0;u<o.length;++u){var i=o[u];a[i]=t[i]}for(var l=Object.keys(r),s=0;s<l.length;++s){var c=l[s];void 0!==r[c]&&(n(r[c])&&t[c]?a[c]=e(t[c],r[c]):a[c]=r[c])}return a}(t,r)};t.default=r},513:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.logSetStateCall=function(e,t,n,r,i){if(u){var l={};i&&(l.keyThatChanged=i),o.default.isObject(n)&&o.default.isObject(t)?l.difference=function e(t,n){return(0,a.default)(t,(function(t,r,a){o.default.isEqual(r,n[a])||(t[a]=o.default.isObject(r)&&o.default.isObject(n[a])?e(r,n[a]):r)}))}(t,n):(l.previousValue=t,l.newValue=n),console.debug("[Onyx-Debug] "+e.displayName+" setState() called. Subscribed to key '"+e.key+"' ("+r+")",l)}},t.setShouldDebugSetState=function(e){u=e};var a=r(n(407)),o=r(n(952)),u=!1},378:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decorateWithMetrics=function(e){return e},t.getMetrics=function(){},t.resetMetrics=function(){},t.printMetrics=function(){}},999:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(154)),o=r(n(952)),u=r(n(398)),i="SYNC_ONYX";function l(e){n.g.localStorage.setItem(i,e),n.g.localStorage.removeItem(i,e)}var s=(0,a.default)({},u.default,{keepInstancesSync:function(e){var t=this;this.setItem=function(e,t){return u.default.setItem(e,t).then((function(){return l(e)}))},this.removeItem=function(e){return u.default.removeItem(e).then((function(){return l(e)}))},this.clear=function(){return u.default.getAllKeys().then((function(e){return o.default.map(e,(function(e){return t.removeItem(e)}))})).then((function(e){return Promise.all(e)}))},n.g.addEventListener("storage",(function(t){if(t.key===i&&t.newValue){var n=t.newValue;u.default.getItem(n).then((function(t){return e(n,t)}))}}))}});t.default=s},315:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(999)).default;t.default=a},398:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(38)),o=r(n(154)),u=r(n(349)),i=r(n(952)),l=r(n(570)),s=r(n(345));u.default.config({name:"OnyxDB"});var c={setItemQueue:new l.default((function(e){var t=e.key,n=e.value;return e.shouldMerge?u.default.getItem(t).then((function(e){var r=i.default.isObject(e)?(0,o.default)({},(0,s.default)(e,n)):n;return u.default.setItem(t,r)})):u.default.setItem(t,n)})),multiGet:function(e){var t=i.default.map(e,(function(e){return u.default.getItem(e).then((function(t){return[e,t]}))}));return Promise.all(t)},multiMerge:function(e){var t=this,n=i.default.map(e,(function(e){var n=(0,a.default)(e,2),r=n[0],o=n[1];return t.setItemQueue.push({key:r,value:o,shouldMerge:!0})}));return Promise.all(n).then((function(){return Promise.resolve()}))},multiSet:function(e){var t=this,n=i.default.map(e,(function(e){var n=(0,a.default)(e,2),r=n[0],o=n[1];return t.setItem(r,o)}));return Promise.all(n).then((function(){return Promise.resolve()}))},clear:u.default.clear,getAllKeys:u.default.keys,getItem:u.default.getItem,removeItem:u.default.removeItem,setItem:function(e,t){return this.setItemQueue.push({key:e,value:t})}};t.default=c},543:(e,t,n)=>{var r=n(318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=this,n=y.default.chain(e).omit((function(e){return!1===e.initWithStoredValues})).keys().value();return function(r){var g,b=(g=r).displayName||g.name||"Component",k=function(t){(0,s.default)(O,t);var p,g,k=(p=O,g=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,f.default)(p);if(g){var n=(0,f.default)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.default)(this,e)});function O(e){var t;return(0,u.default)(this,O),(t=k.call(this,e)).setWithOnyxState=t.setWithOnyxState.bind((0,l.default)(t)),t.activeConnectionIDs={},t.tempState={},t.state={loading:n.length>0},t}return(0,i.default)(O,[{key:"componentDidMount",value:function(){var t=this;y.default.each(e,(function(e,n){t.connectMappingToOnyx(e,n)})),this.checkEvictableKeys()}},{key:"componentDidUpdate",value:function(t){var n=this;y.default.each(e,(function(e,r){var a=h.default.result(e.key,t);a!==h.default.result(e.key,n.props)&&(v.default.disconnect(n.activeConnectionIDs[a],a),delete n.activeConnectionIDs[a],n.connectMappingToOnyx(e,r))})),this.checkEvictableKeys()}},{key:"componentWillUnmount",value:function(){var t=this;y.default.each(e,(function(e){var n=h.default.result(e.key,t.props),r=t.activeConnectionIDs[n];v.default.disconnect(r,n)}))}},{key:"setWithOnyxState",value:function(e,t){var r=this;this.state.loading?(this.tempState[e]=t,y.default.some(n,(function(e){return y.default.isUndefined(r.tempState[e])}))||(this.setState((0,a.default)({},this.tempState,{loading:!1})),delete this.tempState)):this.setState((0,o.default)({},e,t))}},{key:"checkEvictableKeys",value:function(){var t=this;y.default.each(e,(function(e){if(!y.default.isUndefined(e.canEvict)){var n=h.default.result(e.canEvict,t.props),r=h.default.result(e.key,t.props);if(!v.default.isSafeEvictionKey(r))throw new Error("canEvict can't be used on key '"+r+"'. This key must explicitly be flagged as safe for removal by adding it to Onyx.init({safeEvictionKeys: []}).");n?v.default.removeFromEvictionBlockList(r,e.connectionID):v.default.addToEvictionBlockList(r,e.connectionID)}}))}},{key:"connectMappingToOnyx",value:function(e,t){var n=h.default.result(e.key,this.props);this.activeConnectionIDs[n]=v.default.connect((0,a.default)({},e,{key:n,statePropertyName:t,withOnyxInstance:this,displayName:b}))}},{key:"render",value:function(){if(this.state.loading)return null;var e=y.default.omit(this.state,"loading");e=y.default.omit(e,(function(e){return y.default.isNull(e)}));var t=y.default.omit(this.props,(function(e){return y.default.isNull(e)}));return d.default.createElement(r,(0,a.default)({},t,e,{ref:this.props.forwardedRef,__self:this,__source:{fileName:m,lineNumber:174,columnNumber:21}}))}}]),O}(d.default.Component);return k.propTypes={forwardedRef:p.default.oneOfType([p.default.func,p.default.shape({current:p.default.instanceOf(d.default.Component)})])},k.defaultProps={forwardedRef:void 0},k.displayName="withOnyx("+b+")",d.default.forwardRef((function(e,n){var r=k;return d.default.createElement(r,(0,a.default)({},e,{forwardedRef:n,__self:t,__source:{fileName:m,lineNumber:198,columnNumber:20}}))}))}};var a=r(n(154)),o=r(n(713)),u=r(n(575)),i=r(n(913)),l=r(n(506)),s=r(n(205)),c=r(n(585)),f=r(n(754)),d=r(n(156)),y=r(n(952)),p=r(n(697)),h=r(n(97)),v=r(n(587)),m="/home/runner/work/react-native-onyx/react-native-onyx/lib/withOnyx.js"},703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,u){if(u!==r){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},697:(e,t,n)=>{e.exports=n(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},97:e=>{"use strict";e.exports=t},746:e=>{"use strict";e.exports=n},349:e=>{"use strict";e.exports=a},718:e=>{"use strict";e.exports=r},407:e=>{"use strict";e.exports=o},156:e=>{"use strict";e.exports=u},952:t=>{"use strict";t.exports=e}},l={};function s(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}};return i[e](n,n.exports,s),n.exports}s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var c={};return(()=>{var e=c,t=s(318);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"withOnyx",{enumerable:!0,get:function(){return r.default}}),e.default=void 0;var n=t(s(587)),r=t(s(543)),a=n.default;e.default=a})(),c})()));
2
2
  //# sourceMappingURL=web.min.js.map