react-native-onyx 1.0.36 → 1.0.38
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.development.js +919 -2460
- package/dist/web.development.js.map +1 -1
- package/dist/web.min.js +1 -2
- package/dist/web.min.js.map +1 -1
- package/package.json +8 -11
- package/dist/web.min.js.LICENSE.txt +0 -9
package/dist/web.min.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
/*! For license information please see web.min.js.LICENSE.txt */
|
|
2
|
-
!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,r,n,o,a,u)=>(()=>{var i={871:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.logAlert=function(e){r({message:"[Onyx] "+e,level:"alert"})},t.logInfo=function(e){r({message:"[Onyx] "+e,level:"info"})},t.registerLogger=function(e){r=e};var r=function(){}},587:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(r(424)),a=n(r(861)),u=n(r(416)),i=n(r(952)),s=n(r(97)),l=r(746),c=n(r(718)),f=n(r(315)),d=g(r(871)),p=n(r(996)),y=n(r(381)),h=n(r(345)),v=g(r(513));function m(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(m=function(e){return e?r:t})(e)}function g(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=m(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=o?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(n,a,u):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}var x={SET:"set",MERGE:"merge",MERGE_COLLECTION:"mergecollection",CLEAR:"clear"},b=0,k={},O={},_=[],S=[],P={},w={},M=(0,y.default)(),j=function(e,t){return i.default.isFunction(t)?t(e):(0,c.default)(e,t)},I=function(e,t){return i.default.reduce(e,(function(e,r,n){return e[n]=j(r,t),e}),{})};function E(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 r=f.default.getItem(e).then((function(t){return p.default.set(e,t),t})).catch((function(t){return d.logInfo("Unable to get item from persistent storage. Key: "+e+" Error: "+t)}));return p.default.captureTask(t,r)}function C(){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 r=f.default.getAllKeys().then((function(e){return i.default.each(e,(function(e){return p.default.addKey(e)})),e}));return p.default.captureTask(t,r)}function K(e){return i.default.contains(i.default.values(O.COLLECTION),e)}function T(e,t){return s.default.startsWith(t,e)&&t.length>e.length}function A(e,t){return K(e)?s.default.startsWith(t,e):e===t}function R(e){return i.default.some(S,(function(t){return A(t,e)}))}function N(e){_=i.default.without(_,e)}function L(e){!K(e)&&R(e)&&(N(e),_.push(e))}function W(e,t){P[e]=i.default.without(P[e]||[],t),0===P[e].length&&delete P[e]}function q(){return C().then((function(e){i.default.each(S,(function(t){i.default.each(e,(function(e){A(t,e)&&L(e)}))}))}))}function D(e){var t=i.default.filter(p.default.getAllKeys(),(function(t){return T(e,t)}));return i.default.reduce(t,(function(e,t){var r=p.default.getValue(t);return r?(e[t]=r,e):e}),{})}function F(e,t){for(var r=i.default.keys(k),n=function(n){var o=k[r[n]];if(!o)return"continue";if(!s.default.startsWith(o.key,e))return"continue";var a=o.key===e,c=T(e,o.key),f=D(e);if(i.default.isFunction(o.callback)){if(a){if(o.waitForCollectionCallback)return o.callback(f),"continue";for(var d=i.default.keys(t),p=0;p<d.length;p++){var y=d[p];o.callback(f[y],y)}return"continue"}return c?(o.callback(f[o.key],o.key),"continue"):"continue"}if(o.withOnyxInstance){if(a)return o.selector?(o.withOnyxInstance.setState((function(e){var t=I(e[o.statePropertyName],o.selector),r=I(f,o.selector);return(0,l.deepEqual)(t,r)?null:(0,u.default)({},o.statePropertyName,r)})),"continue"):(o.withOnyxInstance.setState((function(r){for(var n=i.default.clone(r[o.statePropertyName]||{}),a=i.default.keys(t),s=0;s<a.length;s++){var l=a[s];n[l]=f[l]}return v.logSetStateCall(o,r[o.statePropertyName],n,"keysChanged",e),(0,u.default)({},o.statePropertyName,n)})),"continue");if(c){var h=t[o.key];if(i.default.isUndefined(h))return"continue";if(o.selector)return o.withOnyxInstance.setState((function(t){var r=t[o.statePropertyName],n=j(f[o.key],o.selector);return(0,l.deepEqual)(r,n)?null:(v.logSetStateCall(o,r,n,"keysChanged",e),(0,u.default)({},o.statePropertyName,n))})),"continue";o.withOnyxInstance.setState((function(t){var r=f[o.key],n=t[o.statePropertyName];return r===n?null:(v.logSetStateCall(o,n,r,"keysChanged",e),(0,u.default)({},o.statePropertyName,r))}))}}},o=0;o<r.length;o++)n(o)}function U(e,t,r){i.default.isNull(t)?N(e):L(e);for(var n=i.default.keys(k),o=function(o){var a=k[n[o]];if(!a||!A(a.key,e)||i.default.isFunction(r)&&!r(a))return"continue";if(i.default.isFunction(a.callback)){if(K(a.key)&&a.waitForCollectionCallback){var s=D(a.key);return s[e]=t,a.callback(s),"continue"}return a.callback(t,e),"continue"}if(a.withOnyxInstance)return K(a.key)?a.selector?(a.withOnyxInstance.setState((function(r){var n=r[a.statePropertyName],o=(0,u.default)({},e,j(t,a.selector)),i=Object.assign({},n,(0,u.default)({},e,j(t,a.selector)));return(0,l.deepEqual)(n,i)?null:(v.logSetStateCall(a,n,o,"keyChanged",e),(0,u.default)({},a.statePropertyName,i))})),"continue"):(a.withOnyxInstance.setState((function(r){var n=r[a.statePropertyName]||{},o=Object.assign({},n,(0,u.default)({},e,t));return v.logSetStateCall(a,n,o,"keyChanged",e),(0,u.default)({},a.statePropertyName,o)})),"continue"):a.selector?(a.withOnyxInstance.setState((function(e){var r=j(e[a.statePropertyName],a.selector),n=j(t,a.selector);return(0,l.deepEqual)(r,n)?null:(0,u.default)({},a.statePropertyName,n)})),"continue"):(a.withOnyxInstance.setState((function(r){var n=r[a.statePropertyName];return n===t?null:(v.logSetStateCall(a,n,t,"keyChanged",e),(0,u.default)({},a.statePropertyName,t))})),"continue");console.error("Warning: Found a matching subscriber to a key that changed, but no callback or withOnyxInstance could be found.")},a=0;a<n.length;a++)o(a)}function V(e,t,r){if(k[e.connectionID]){if(e.withOnyxInstance){var n=t;return e.selector&&(n=K(e.key)?I(t,e.selector):j(t,e.selector)),v.logSetStateCall(e,null,n,"sendDataToConnection"),void e.withOnyxInstance.setWithOnyxState(e.statePropertyName,n)}i.default.isFunction(e.callback)&&e.callback(t,r)}}function B(e,t){Promise.all(i.default.map(e,(function(e){return E(e)}))).then((function(t){return i.default.reduce(t,(function(t,r,n){return t[e[n]]=r,t}),{})})).then((function(e){return V(t,e)}))}function G(e,t,r){Promise.resolve().then((function(){return U(e,t,r)}))}function z(e,t){Promise.resolve().then((function(){return F(e,t)}))}function Q(e){return p.default.drop(e),G(e,null),f.default.removeItem(e)}function Y(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];if(d.logInfo("Handled error: "+e),e&&s.default.startsWith(e.message,"Failed to execute 'put' on 'IDBObjectStore'"))throw d.logAlert("Attempted to set invalid data set in Onyx. Please ensure all data is serializable."),e;var a=i.default.find(_,(function(e){return!P[e]}));if(!a)throw d.logAlert("Out of storage. But found no acceptable keys to remove."),e;return d.logInfo("Out of storage. Evicting least recently accessed key ("+a+") and retrying."),Q(a).then((function(){return t.apply(void 0,n)}))}function H(e,t){return i.default.isNull(t)?Q(e):(function(e){return Boolean(J[e])}(e)&&d.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),f.default.setItem(e,t).catch((function(r){return Y(r,H,e,t)}))):(p.default.addToAccessedKeys(e),G(e,t,(function(e){return!1===e.initWithStoredValues})),Promise.resolve()))}function $(e){return i.default.map(e,(function(e,t){return[t,e]}))}function X(e){var t=$(e);return i.default.each(e,(function(e,t){p.default.set(t,e),G(t,e)})),f.default.multiSet(t).catch((function(t){return Y(t,X,e)}))}var J={};function Z(e,t){return J[e]?(J[e].push(t),Promise.resolve()):(J[e]=[t],E(e).then((function(t){try{var r=function(e,t){var r=J[e];return i.default.isArray(t)||i.default.every(r,i.default.isArray)?i.default.reduce(r,(function(e,t){return[].concat((0,a.default)(e),(0,a.default)(t))}),t||[]):i.default.isObject(t)||i.default.every(r,i.default.isObject)?i.default.reduce(r,(function(e,t){var r=Object.assign({},(0,h.default)(e,t));return i.default.omit(r,(function(e,r){return i.default.isNull(t[r])}))}),t||{}):i.default.last(r)}(e,t);return delete J[e],H(e,r)}catch(t){d.logAlert("An error occurred while applying merge for key: "+e+", Error: "+t)}return Promise.resolve()})))}function ee(){return f.default.multiGet(i.default.keys(w)).then((function(e){var t=i.default.object(e),r=(0,h.default)(t,w);p.default.merge(r),i.default.each(r,(function(e,t){return U(t,e)}))}))}function te(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return C().then((function(t){var r=[],n=i.default.keys(w),o=i.default.map(e,(function(e){return[e,p.default.getValue(e)]})),u=i.default.difference(t,e,n);r.push.apply(r,(0,a.default)(i.default.map(u,(function(e){return[e,null]}))));var s=i.default.pairs(i.default.omit.apply(i.default,[w].concat((0,a.default)(e))));r.push.apply(r,(0,a.default)(s));var l={},c={};return i.default.each(r,(function(e){var t=e[0],r=e[1];p.default.set(t,r);var n=t.substring(0,t.indexOf("_")+1);if(n)return l[n]||(l[n]={}),void(l[n][t]=r);c[t]=r})),i.default.each(c,(function(e,t){G(t,e)})),i.default.each(l,(function(e,t){z(t,e)})),f.default.clear().then((function(){return f.default.multiSet([].concat((0,a.default)(s),(0,a.default)(o)))}))}))}function re(e,t){return!i.default.isObject(t)||i.default.isArray(t)||i.default.isEmpty(t)?(d.logInfo("mergeCollection() called with invalid or empty value. Skipping this update."),Promise.resolve()):(i.default.each(t,(function(t,r){if(!A(e,r))throw new Error("Provided collection doesn't have all its data belonging to the same parent. CollectionKey: "+e+", DataKey: "+r)})),C().then((function(r){var n=i.default.chain(t).keys().partition((function(e){return r.includes(e)})).value(),a=(0,o.default)(n,2),u=a[0],s=a[1],l=i.default.pick(t,u),c=i.default.pick(t,s),d=$(l),y=$(c),h=[];return d.length>0&&h.push(f.default.multiMerge(d)),y.length>0&&h.push(f.default.multiSet(y)),Promise.all(i.default.map(u,E)).then((function(){p.default.merge(t),F(e,t)})),Promise.all(h).catch((function(e){return Y(e,re,t)}))})))}function ne(e){i.default.each(e,(function(e){var t=e.onyxMethod,r=e.key;if(!i.default.contains([x.CLEAR,x.SET,x.MERGE,x.MERGE_COLLECTION],t))throw new Error("Invalid onyxMethod "+t+" in Onyx update.");if(t!==x.CLEAR&&!i.default.isString(r))throw new Error("Invalid "+typeof r+" key provided in Onyx update. Onyx key must be of type string.")}));var t=[];return i.default.each(e,(function(e){var r=e.onyxMethod,n=e.key,o=e.value;switch(r){case x.SET:t.push(H(n,o));break;case x.MERGE:t.push(Z(n,o));break;case x.MERGE_COLLECTION:t.push(re(n,o));break;case x.CLEAR:t.push(te())}})),Promise.all(t)}var oe={connect:function(e){var t=b++;return k[t]=e,k[t].connectionID=t,!1===e.initWithStoredValues||M.promise.then((function(){return function(e){if(R(e.key)&&(p.default.removeLeastRecentlyUsedKeys(),e.withOnyxInstance&&!K(e.key))){if(i.default.isUndefined(e.canEvict))throw new Error("Cannot subscribe to safe eviction key '"+e.key+"' without providing a canEvict value.");L(e.key)}}(e)})).then(C).then((function(t){var r=i.default.filter(t,(function(t){return A(e.key,t)}));if(0!==r.length)if(i.default.isFunction(e.callback)){if(K(e.key)){if(e.waitForCollectionCallback)return void B(r,e);for(var n=function(t){E(r[t]).then((function(n){return V(e,n,r[t])}))},o=0;o<r.length;o++)n(o);return}E(e.key).then((function(t){return V(e,t,e.key)}))}else{if(e.withOnyxInstance)return K(e.key)?void B(r,e):void E(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){k[e]&&(t&&W(t,e),delete k[e])},set:H,multiSet:X,merge:Z,mergeCollection:re,update:ne,clear:te,getAllKeys:C,init:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.keys,n=void 0===t?{}:t,o=e.initialKeyStates,a=void 0===o?{}:o,u=e.safeEvictionKeys,s=void 0===u?[]:u,l=e.maxCachedKeysCount,c=void 0===l?1e3:l,d=e.captureMetrics,y=void 0!==d&&d,h=e.shouldSyncMultipleInstances,m=void 0===h?Boolean(r.g.localStorage):h,g=e.debugSetState,x=void 0!==g&&g;y&&ae(),x&&v.setShouldDebugSetState(!0),c>0&&p.default.setRecentKeysLimit(c),O=n,w=a,S=s,Promise.all([q(),ee()]).then(M.resolve),m&&i.default.isFunction(f.default.keepInstancesSync)&&f.default.keepInstancesSync((function(e,t){p.default.set(e,t),U(e,t)}))},registerLogger:d.registerLogger,addToEvictionBlockList:function(e,t){W(e,t),P[e]||(P[e]=[]),P[e].push(t)},removeFromEvictionBlockList:W,isSafeEvictionKey:R,METHOD:x};function ae(){var e=r(378);E=e.decorateWithMetrics(E,"Onyx:get"),H=e.decorateWithMetrics(H,"Onyx:set"),X=e.decorateWithMetrics(X,"Onyx:multiSet"),te=e.decorateWithMetrics(te,"Onyx:clear"),Z=e.decorateWithMetrics(Z,"Onyx:merge"),re=e.decorateWithMetrics(re,"Onyx:mergeCollection"),C=e.decorateWithMetrics(C,"Onyx:getAllKeys"),ee=e.decorateWithMetrics(ee,"Onyx:defaults"),ne=e.decorateWithMetrics(ne,"Onyx:update"),oe.set=H,oe.multiSet=X,oe.clear=te,oe.merge=Z,oe.mergeCollection=re,oe.update=ne,oe.getMetrics=e.getMetrics,oe.resetMetrics=e.resetMetrics,oe.printMetrics=e.printMetrics}var ue=oe;t.default=ue},996:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(r(861)),a=n(r(690)),u=n(r(728)),i=n(r(952)),s=r(746),l=n(r(345)),c=i.default.negate(i.default.isUndefined),f=new(function(){function e(){(0,a.default)(this,e),this.storageKeys=new Set,this.recentKeys=new Set,this.storageMap={},this.pendingPromises={},i.default.bindAll(this,"getAllKeys","getValue","hasCacheForKey","addKey","set","drop","merge","hasPendingTask","getTaskPromise","captureTask","removeLeastRecentlyUsedKeys","setRecentKeysLimit")}return(0,u.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 c(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],this.storageKeys.delete(e),this.recentKeys.delete(e)}},{key:"merge",value:function(e){var t=this;if(!i.default.isObject(e)||i.default.isArray(e))throw new Error("data passed to cache.merge() must be an Object of onyx key/value pairs");this.storageMap=Object.assign({},(0,l.default)(this.storageMap,e));var r=this.getAllKeys(),n=i.default.keys(e);this.storageKeys=new Set([].concat((0,o.default)(r),(0,o.default)(n))),i.default.each(n,(function(e){return t.addToAccessedKeys(e)}))}},{key:"hasPendingTask",value:function(e){return c(this.pendingPromises[e])}},{key:"getTaskPromise",value:function(e){return this.pendingPromises[e]}},{key:"captureTask",value:function(e,t){var r=this;return this.pendingPromises[e]=t.finally((function(){delete r.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,o.default)(this.recentKeys).slice(-this.maxRecentKeysSize),t=i.default.keys(this.storageMap),r=i.default.difference(t,e);i.default.each(r,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=f},570:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(r(690)),a=n(r(728)),u=function(){function e(t){(0,o.default)(this,e),this.queue=[],this.isProcessing=!1,this.run=t}return(0,a.default)(e,[{key:"abort",value:function(){this.queue=[],this.isProcessing=!1}},{key:"process",value:function(){var e=this;if(!this.isProcessing&&0!==this.queue.length){this.isProcessing=!0;var t=this.queue.shift(),r=t.data,n=t.resolve,o=t.reject;this.run(r).then(n).catch(o).finally((function(){e.isProcessing=!1,e.process()}))}}},{key:"push",value:function(e){var t=this;return new Promise((function(r,n){t.queue.push({resolve:r,reject:n,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 r(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 n=function e(t,n){return Array.isArray(n)?n:function(t,n){var o={};if(r(t))for(var a=Object.keys(t),u=0;u<a.length;++u){var i=a[u];o[i]=t[i]}for(var s=Object.keys(n),l=0;l<s.length;++l){var c=s[l];void 0!==n[c]&&(r(n[c])&&t[c]?o[c]=e(t[c],n[c]):o[c]=n[c])}return o}(t,n)};t.default=n},513:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.logSetStateCall=function(e,t,r,n,i){if(u){var s={};i&&(s.keyThatChanged=i),a.default.isObject(r)&&a.default.isObject(t)?s.difference=function e(t,r){return(0,o.default)(t,(function(t,n,o){a.default.isEqual(n,r[o])||(t[o]=a.default.isObject(n)&&a.default.isObject(r[o])?e(n,r[o]):n)}))}(t,r):(s.previousValue=t,s.newValue=r),console.debug("[Onyx-Debug] "+e.displayName+" setState() called. Subscribed to key '"+e.key+"' ("+n+")",s)}},t.setShouldDebugSetState=function(e){u=e};var o=n(r(407)),a=n(r(952)),u=!1},378:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decorateWithMetrics=function(e){return e},t.getMetrics=function(){},t.printMetrics=function(){},t.resetMetrics=function(){}},999:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(r(952)),a=n(r(38)),u="SYNC_ONYX";function i(e){r.g.localStorage.setItem(u,e),r.g.localStorage.removeItem(u,e)}var s=Object.assign({},a.default,{keepInstancesSync:function(e){this.setItem=function(e,t){return a.default.setItem(e,t).then((function(){return i(e)}))},this.removeItem=function(e){return a.default.removeItem(e).then((function(){return i(e)}))},this.clear=function(){var e;return a.default.getAllKeys().then((function(t){e=t})).then((function(){return a.default.clear()})).then((function(){o.default.each(e,i)}))},r.g.addEventListener("storage",(function(t){if(t.key===u&&t.newValue){var r=t.newValue;a.default.getItem(r).then((function(t){return e(r,t)}))}}))}});t.default=s},315:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(r(999)).default;t.default=o},38:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(r(424)),a=n(r(349)),u=n(r(952)),i=n(r(570)),s=n(r(345));a.default.config({name:"OnyxDB"});var l={setItemQueue:new i.default((function(e){var t=e.key,r=e.value;return e.shouldMerge?a.default.getItem(t).then((function(e){var n=u.default.isObject(e)?Object.assign({},(0,s.default)(e,r)):r;return a.default.setItem(t,n)})):a.default.setItem(t,r)})),multiGet:function(e){var t=u.default.map(e,(function(e){return a.default.getItem(e).then((function(t){return[e,t]}))}));return Promise.all(t)},multiMerge:function(e){var t=this,r=u.default.map(e,(function(e){var r=(0,o.default)(e,2),n=r[0],a=r[1];return t.setItemQueue.push({key:n,value:a,shouldMerge:!0})}));return Promise.all(r).then((function(){return Promise.resolve()}))},multiSet:function(e){var t=this,r=u.default.map(e,(function(e){var r=(0,o.default)(e,2),n=r[0],a=r[1];return t.setItem(n,a)}));return Promise.all(r).then((function(){return Promise.resolve()}))},clear:function(){return this.setItemQueue.abort(),a.default.clear()},getAllKeys:a.default.keys,getItem:a.default.getItem,removeItem:a.default.removeItem,setItem:function(e,t){return this.setItemQueue.push({key:e,value:t})}};t.default=l},543:(e,t,r)=>{var n=r(836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=p.default.chain(e).omit((function(e){return!1===e.initWithStoredValues})).keys().value();return function(r){var n,m=(n=r).displayName||n.name||"Component",g=function(n){(0,s.default)(x,n);var d,y,g=(d=x,y=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,c.default)(d);if(y){var r=(0,c.default)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,l.default)(this,e)});function x(e){var r;return(0,a.default)(this,x),(r=g.call(this,e)).setWithOnyxState=r.setWithOnyxState.bind((0,i.default)(r)),r.activeConnectionIDs={},r.tempState={},r.state={loading:t.length>0},r}return(0,u.default)(x,[{key:"componentDidMount",value:function(){var t=this;p.default.each(e,(function(e,r){t.connectMappingToOnyx(e,r)})),this.checkEvictableKeys()}},{key:"componentDidUpdate",value:function(t){var r=this;p.default.each(e,(function(e,n){var o=h.default.result(e.key,t);o!==h.default.result(e.key,r.props)&&(v.default.disconnect(r.activeConnectionIDs[o],o),delete r.activeConnectionIDs[o],r.connectMappingToOnyx(e,n))})),this.checkEvictableKeys()}},{key:"componentWillUnmount",value:function(){var t=this;p.default.each(e,(function(e){var r=h.default.result(e.key,t.props),n=t.activeConnectionIDs[r];v.default.disconnect(n,r)}))}},{key:"setWithOnyxState",value:function(e,r){var n=this;this.state.loading?(this.tempState[e]=r,p.default.some(t,(function(e){return p.default.isUndefined(n.tempState[e])}))||(this.setState(Object.assign({},this.tempState,{loading:!1})),delete this.tempState)):this.setState((0,o.default)({},e,r))}},{key:"checkEvictableKeys",value:function(){var t=this;p.default.each(e,(function(e){if(!p.default.isUndefined(e.canEvict)){var r=h.default.result(e.canEvict,t.props),n=h.default.result(e.key,t.props);if(!v.default.isSafeEvictionKey(n))throw new Error("canEvict can't be used on key '"+n+"'. This key must explicitly be flagged as safe for removal by adding it to Onyx.init({safeEvictionKeys: []}).");r?v.default.removeFromEvictionBlockList(n,e.connectionID):v.default.addToEvictionBlockList(n,e.connectionID)}}))}},{key:"connectMappingToOnyx",value:function(e,t){var r=h.default.result(e.key,this.props);this.activeConnectionIDs[r]=v.default.connect(Object.assign({},e,{key:r,statePropertyName:t,withOnyxInstance:this,displayName:m}))}},{key:"render",value:function(){if(this.state.loading)return null;var e=p.default.omit(this.state,"loading");e=p.default.omit(e,(function(e){return p.default.isNull(e)}));var t=p.default.omit(this.props,(function(e){return p.default.isNull(e)}));return(0,f.jsx)(r,Object.assign({},t,e,{ref:this.props.forwardedRef}))}}]),x}(d.default.Component);return g.propTypes={forwardedRef:y.default.oneOfType([y.default.func,y.default.shape({current:y.default.instanceOf(d.default.Component)})])},g.defaultProps={forwardedRef:void 0},g.displayName="withOnyx("+m+")",d.default.forwardRef((function(e,t){var r=g;return(0,f.jsx)(r,Object.assign({},e,{forwardedRef:t}))}))}};var o=n(r(416)),a=n(r(690)),u=n(r(728)),i=n(r(115)),s=n(r(655)),l=n(r(993)),c=n(r(808)),f=r(893),d=n(r(156)),p=n(r(952)),y=n(r(697)),h=n(r(97)),v=n(r(587))},703:(e,t,r)=>{"use strict";var n=r(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,a,u){if(u!==n){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 r={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:a,resetWarningCache:o};return r.PropTypes=r,r}},697:(e,t,r)=>{e.exports=r(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},251:(e,t,r)=>{"use strict";var n=r(156),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),u=Object.prototype.hasOwnProperty,i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,r){var n,a={},l=null,c=null;for(n in void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(c=t.ref),t)u.call(t,n)&&!s.hasOwnProperty(n)&&(a[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===a[n]&&(a[n]=t[n]);return{$$typeof:o,type:e,key:l,ref:c,props:a,_owner:i.current}}t.Fragment=a,t.jsx=l,t.jsxs=l},893:(e,t,r)=>{"use strict";e.exports=r(251)},97:e=>{"use strict";e.exports=t},746:e=>{"use strict";e.exports=r},349:e=>{"use strict";e.exports=o},718:e=>{"use strict";e.exports=n},407:e=>{"use strict";e.exports=a},156:e=>{"use strict";e.exports=u},952:t=>{"use strict";t.exports=e},897:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},372:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},405:(e,t,r)=>{var n=r(897);e.exports=function(e){if(Array.isArray(e))return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports},115:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},690:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},728:e=>{function t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},416:e=>{e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},808:e=>{function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},655:(e,t,r)=>{var n=r(15);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}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&n(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},836:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},498:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},872:e=>{e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a=[],u=!0,i=!1;try{for(r=r.call(e);!(u=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);u=!0);}catch(e){i=!0,o=e}finally{try{u||null==r.return||r.return()}finally{if(i)throw o}}return a}},e.exports.__esModule=!0,e.exports.default=e.exports},218: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.")},e.exports.__esModule=!0,e.exports.default=e.exports},281: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.")},e.exports.__esModule=!0,e.exports.default=e.exports},993:(e,t,r)=>{var n=r(698).default,o=r(115);e.exports=function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return o(e)},e.exports.__esModule=!0,e.exports.default=e.exports},15:e=>{function t(r,n){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},424:(e,t,r)=>{var n=r(372),o=r(872),a=r(116),u=r(218);e.exports=function(e,t){return n(e)||o(e,t)||a(e,t)||u()},e.exports.__esModule=!0,e.exports.default=e.exports},861:(e,t,r)=>{var n=r(405),o=r(498),a=r(116),u=r(281);e.exports=function(e){return n(e)||o(e)||a(e)||u()},e.exports.__esModule=!0,e.exports.default=e.exports},698:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},116:(e,t,r)=>{var n=r(897);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports}},s={};function l(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return i[e](r,r.exports,l),r.exports}l.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=l(836);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,Object.defineProperty(e,"withOnyx",{enumerable:!0,get:function(){return n.default}});var r=t(l(587)),n=t(l(543)),o=r.default;e.default=o})(),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,s,r,o,i)=>(()=>{var c={378:(e,t,n)=>{"use strict";function s(e){return e}function r(){}function o(){}function i(){}n.r(t),n.d(t,{decorateWithMetrics:()=>s,getMetrics:()=>r,printMetrics:()=>o,resetMetrics:()=>i})},703:(e,t,n)=>{"use strict";var s=n(414);function r(){}function o(){}o.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,o,i){if(i!==s){var c=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 c.name="Invariant Violation",c}}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:r};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=r},718:e=>{"use strict";e.exports=s},407:e=>{"use strict";e.exports=o},156:e=>{"use strict";e.exports=i},952:t=>{"use strict";t.exports=e}},a={};function l(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return c[e](n,n.exports,l),n.exports}l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return(()=>{"use strict";l.r(u),l.d(u,{default:()=>ke,withOnyx:()=>ge});var e=l(952),t=l.n(e),n=l(97),s=l.n(n),r=l(746),o=l(718),i=l.n(o),c=l(349),a=l.n(c);function h(e){return null!=e&&"object"==typeof e&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}const y=function e(t,n){return Array.isArray(n)?n:function(t,n){const s={};if(h(t)){const e=Object.keys(t);for(let n=0;n<e.length;++n){const r=e[n];s[r]=t[r]}}const r=Object.keys(n);for(let o=0;o<r.length;++o){const i=r[o];void 0!==n[i]&&(h(n[i])&&t[i]?s[i]=e(t[i],n[i]):s[i]=n[i])}return s}(t,n)};a().config({name:"OnyxDB"});const d={setItemQueue:new class{constructor(e){this.queue=[],this.isProcessing=!1,this.run=e}abort(){this.queue=[],this.isProcessing=!1}process(){if(this.isProcessing||0===this.queue.length)return;this.isProcessing=!0;const{data:e,resolve:t,reject:n}=this.queue.shift();this.run(e).then(t).catch(n).finally((()=>{this.isProcessing=!1,this.process()}))}push(e){return new Promise(((t,n)=>{this.queue.push({resolve:t,reject:n,data:e}),this.process()}))}}((e=>{let{key:n,value:s,shouldMerge:r}=e;return r?a().getItem(n).then((e=>{const r=t().isObject(e)?Object.assign({},y(e,s)):s;return a().setItem(n,r)})):a().setItem(n,s)})),multiGet(e){const n=t().map(e,(e=>a().getItem(e).then((t=>[e,t]))));return Promise.all(n)},multiMerge(e){const n=t().map(e,(e=>{let[t,n]=e;return this.setItemQueue.push({key:t,value:n,shouldMerge:!0})}));return Promise.all(n).then((()=>Promise.resolve()))},multiSet(e){const n=t().map(e,(e=>{let[t,n]=e;return this.setItem(t,n)}));return Promise.all(n).then((()=>Promise.resolve()))},clear(){return this.setItemQueue.abort(),a().clear()},getAllKeys:a().keys,getItem:a().getItem,removeItem:a().removeItem,setItem(e,t){return this.setItemQueue.push({key:e,value:t})}},p="SYNC_ONYX";function f(e){l.g.localStorage.setItem(p,e),l.g.localStorage.removeItem(p,e)}const m={...d,keepInstancesSync(e){this.setItem=(e,t)=>d.setItem(e,t).then((()=>f(e))),this.removeItem=e=>d.removeItem(e).then((()=>f(e))),this.clear=()=>{let e;return d.getAllKeys().then((t=>{e=t})).then((()=>d.clear())).then((()=>{t().each(e,f)}))},l.g.addEventListener("storage",(t=>{if(t.key!==p||!t.newValue)return;const n=t.newValue;d.getItem(n).then((t=>e(n,t)))}))}};let g=()=>{};function k(e){g({message:`[Onyx] ${e}`,level:"alert"})}function v(e){g({message:`[Onyx] ${e}`,level:"info"})}const b=t().negate(t().isUndefined),O=new class{constructor(){this.storageKeys=new Set,this.recentKeys=new Set,this.storageMap={},this.pendingPromises={},t().bindAll(this,"getAllKeys","getValue","hasCacheForKey","addKey","set","drop","merge","hasPendingTask","getTaskPromise","captureTask","removeLeastRecentlyUsedKeys","setRecentKeysLimit")}getAllKeys(){return Array.from(this.storageKeys)}getValue(e){return this.addToAccessedKeys(e),this.storageMap[e]}hasCacheForKey(e){return b(this.storageMap[e])}addKey(e){this.storageKeys.add(e)}set(e,t){return this.addKey(e),this.addToAccessedKeys(e),this.storageMap[e]=t,t}drop(e){delete this.storageMap[e],this.storageKeys.delete(e),this.recentKeys.delete(e)}merge(e){if(!t().isObject(e)||t().isArray(e))throw new Error("data passed to cache.merge() must be an Object of onyx key/value pairs");this.storageMap=Object.assign({},y(this.storageMap,e));const n=this.getAllKeys(),s=t().keys(e);this.storageKeys=new Set([...n,...s]),t().each(s,(e=>this.addToAccessedKeys(e)))}hasPendingTask(e){return b(this.pendingPromises[e])}getTaskPromise(e){return this.pendingPromises[e]}captureTask(e,t){return this.pendingPromises[e]=t.finally((()=>{delete this.pendingPromises[e]})),this.pendingPromises[e]}addToAccessedKeys(e){this.recentKeys.delete(e),this.recentKeys.add(e)}removeLeastRecentlyUsedKeys(){if(this.recentKeys.size<=this.maxRecentKeysSize)return;const e=[...this.recentKeys].slice(-this.maxRecentKeysSize),n=t().keys(this.storageMap),s=t().difference(n,e);t().each(s,this.drop)}setRecentKeysLimit(e){this.maxRecentKeysSize=e}hasValueChanged(e,t){return!(0,r.deepEqual)(this.storageMap[e],t)}};var x=l(407),P=l.n(x);let w=!1;function S(e){w=e}function I(e,n,s,r,o){if(!w)return;const i={};o&&(i.keyThatChanged=o),t().isObject(s)&&t().isObject(n)?i.difference=function e(n,s){return P()(n,((n,r,o)=>{t().isEqual(r,s[o])||(n[o]=t().isObject(r)&&t().isObject(s[o])?e(r,s[o]):r)}))}(n,s):(i.previousValue=n,i.newValue=s),console.debug(`[Onyx-Debug] ${e.displayName} setState() called. Subscribed to key '${e.key}' (${r})`,i)}const E={SET:"set",MERGE:"merge",MERGE_COLLECTION:"mergecollection",CLEAR:"clear"};let K=0;const C={};let M={},T=[],j=[];const N={};let A={};const q=function(){const e={};return e.promise=new Promise((t=>{e.resolve=t})),e}(),R=(e,n)=>t().isFunction(n)?n(e):i()(e,n),W=(e,n)=>t().reduce(e,((e,t,s)=>(e[s]=R(t,n),e)),{});function L(e){if(O.hasCacheForKey(e))return Promise.resolve(O.getValue(e));const t=`get:${e}`;if(O.hasPendingTask(t))return O.getTaskPromise(t);const n=m.getItem(e).then((t=>(O.set(e,t),t))).catch((t=>v(`Unable to get item from persistent storage. Key: ${e} Error: ${t}`)));return O.captureTask(t,n)}function D(){const e=O.getAllKeys();if(e.length>0)return Promise.resolve(e);const n="getAllKeys";if(O.hasPendingTask(n))return O.getTaskPromise(n);const s=m.getAllKeys().then((e=>(t().each(e,(e=>O.addKey(e))),e)));return O.captureTask(n,s)}function $(e){return t().contains(t().values(M.COLLECTION),e)}function F(e,t){return s().startsWith(t,e)&&t.length>e.length}function _(e,t){return $(e)?s().startsWith(t,e):e===t}function V(e){return t().some(j,(t=>_(t,e)))}function U(e){T=t().without(T,e)}function B(e){!$(e)&&V(e)&&(U(e),T.push(e))}function G(e,n){N[e]=t().without(N[e]||[],n),0===N[e].length&&delete N[e]}function z(e){const n=t().filter(O.getAllKeys(),(t=>F(e,t)));return t().reduce(n,((e,t)=>{const n=O.getValue(t);return n?(e[t]=n,e):e}),{})}function Q(e,n){const o=t().keys(C);for(let i=0;i<o.length;i++){const c=C[o[i]];if(!c)continue;if(!s().startsWith(c.key,e))continue;const a=c.key===e,l=F(e,c.key),u=z(e);if(t().isFunction(c.callback)){if(a){if(c.waitForCollectionCallback){c.callback(u);continue}const e=t().keys(n);for(let t=0;t<e.length;t++){const n=e[t];c.callback(u[n],n)}continue}if(l){c.callback(u[c.key],c.key);continue}}else if(c.withOnyxInstance){if(a){if(c.selector){c.withOnyxInstance.setState((e=>{const t=W(e[c.statePropertyName],c.selector),n=W(u,c.selector);return(0,r.deepEqual)(t,n)?null:{[c.statePropertyName]:n}}));continue}c.withOnyxInstance.setState((s=>{const r=t().clone(s[c.statePropertyName]||{}),o=t().keys(n);for(let e=0;e<o.length;e++){const t=o[e];r[t]=u[t]}return I(c,s[c.statePropertyName],r,"keysChanged",e),{[c.statePropertyName]:r}}));continue}if(l){const s=n[c.key];if(t().isUndefined(s))continue;if(c.selector){c.withOnyxInstance.setState((t=>{const n=t[c.statePropertyName],s=R(u[c.key],c.selector);return(0,r.deepEqual)(n,s)?null:(I(c,n,s,"keysChanged",e),{[c.statePropertyName]:s})}));continue}c.withOnyxInstance.setState((t=>{const n=u[c.key],s=t[c.statePropertyName];return n===s?null:(I(c,s,n,"keysChanged",e),{[c.statePropertyName]:n})}))}}}}function H(e,n,s){t().isNull(n)?U(e):B(e);const o=t().keys(C);for(let i=0;i<o.length;i++){const c=C[o[i]];if(c&&_(c.key,e)&&(!t().isFunction(s)||s(c)))if(t().isFunction(c.callback)){if($(c.key)&&c.waitForCollectionCallback){const t=z(c.key);t[e]=n,c.callback(t);continue}c.callback(n,e)}else if(c.withOnyxInstance){if($(c.key)){if(c.selector){c.withOnyxInstance.setState((t=>{const s=t[c.statePropertyName],o={[e]:R(n,c.selector)},i={...s,[e]:R(n,c.selector)};return(0,r.deepEqual)(s,i)?null:(I(c,s,o,"keyChanged",e),{[c.statePropertyName]:i})}));continue}c.withOnyxInstance.setState((t=>{const s=t[c.statePropertyName]||{},r={...s,[e]:n};return I(c,s,r,"keyChanged",e),{[c.statePropertyName]:r}}));continue}if(c.selector){c.withOnyxInstance.setState((e=>{const t=R(e[c.statePropertyName],c.selector),s=R(n,c.selector);return(0,r.deepEqual)(t,s)?null:{[c.statePropertyName]:s}}));continue}c.withOnyxInstance.setState((t=>{const s=t[c.statePropertyName];return s===n?null:(I(c,s,n,"keyChanged",e),{[c.statePropertyName]:n})}))}else console.error("Warning: Found a matching subscriber to a key that changed, but no callback or withOnyxInstance could be found.")}}function Y(e,n,s){if(C[e.connectionID]){if(e.withOnyxInstance){let t=n;return e.selector&&(t=$(e.key)?W(n,e.selector):R(n,e.selector)),I(e,null,t,"sendDataToConnection"),void e.withOnyxInstance.setWithOnyxState(e.statePropertyName,t)}t().isFunction(e.callback)&&e.callback(n,s)}}function X(e,n){Promise.all(t().map(e,(e=>L(e)))).then((n=>t().reduce(n,((t,n,s)=>(t[e[s]]=n,t)),{}))).then((e=>Y(n,e)))}function J(e,t,n){Promise.resolve().then((()=>H(e,t,n)))}function Z(e){return O.drop(e),J(e,null),m.removeItem(e)}function ee(e,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];if(v(`Handled error: ${e}`),e&&s().startsWith(e.message,"Failed to execute 'put' on 'IDBObjectStore'"))throw k("Attempted to set invalid data set in Onyx. Please ensure all data is serializable."),e;const c=t().find(T,(e=>!N[e]));if(!c)throw k("Out of storage. But found no acceptable keys to remove."),e;return v(`Out of storage. Evicting least recently accessed key (${c}) and retrying.`),Z(c).then((()=>n(...o)))}function te(e,n){return t().isNull(n)?Z(e):(function(e){return Boolean(re[e])}(e)&&k(`Onyx.set() called after Onyx.merge() for key: ${e}. It is recommended to use set() or merge() not both.`),O.hasValueChanged(e,n)?(O.set(e,n),J(e,n),m.setItem(e,n).catch((t=>ee(t,te,e,n)))):(O.addToAccessedKeys(e),J(e,n,(e=>!1===e.initWithStoredValues)),Promise.resolve()))}function ne(e){return t().map(e,((e,t)=>[t,e]))}function se(e){const n=ne(e);return t().each(e,((e,t)=>{O.set(t,e),J(t,e)})),m.multiSet(n).catch((t=>ee(t,se,e)))}const re={};function oe(e,n){return re[e]?(re[e].push(n),Promise.resolve()):(re[e]=[n],L(e).then((n=>{try{const s=function(e,n){const s=re[e];return t().isArray(n)||t().every(s,t().isArray)?t().reduce(s,((e,t)=>[...e,...t]),n||[]):t().isObject(n)||t().every(s,t().isObject)?t().reduce(s,((e,n)=>{const s=Object.assign({},y(e,n));return t().omit(s,((e,s)=>t().isNull(n[s])))}),n||{}):t().last(s)}(e,n);return delete re[e],te(e,s)}catch(t){k(`An error occurred while applying merge for key: ${e}, Error: ${t}`)}return Promise.resolve()})))}function ie(){return m.multiGet(t().keys(A)).then((e=>{const n=t().object(e),s=y(n,A);O.merge(s),t().each(s,((e,t)=>H(t,e)))}))}function ce(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return D().then((n=>{const s=[],r=t().keys(A),o=t().map(e,(e=>[e,O.getValue(e)])),i=t().difference(n,e,r);s.push(...t().map(i,(e=>[e,null])));const c=t().pairs(t().omit(A,...e));s.push(...c);const a={},l={};return t().each(s,(e=>{const t=e[0],n=e[1];O.set(t,n);const s=t.substring(0,t.indexOf("_")+1);if(s)return a[s]||(a[s]={}),void(a[s][t]=n);l[t]=n})),t().each(l,((e,t)=>{J(t,e)})),t().each(a,((e,t)=>{!function(e,t){Promise.resolve().then((()=>Q(e,t)))}(t,e)})),m.clear().then((()=>m.multiSet([...c,...o])))}))}function ae(e,n){return!t().isObject(n)||t().isArray(n)||t().isEmpty(n)?(v("mergeCollection() called with invalid or empty value. Skipping this update."),Promise.resolve()):(t().each(n,((t,n)=>{if(!_(e,n))throw new Error(`Provided collection doesn't have all its data belonging to the same parent. CollectionKey: ${e}, DataKey: ${n}`)})),D().then((s=>{const[r,o]=t().chain(n).keys().partition((e=>s.includes(e))).value(),i=t().pick(n,r),c=t().pick(n,o),a=ne(i),l=ne(c),u=[];return a.length>0&&u.push(m.multiMerge(a)),l.length>0&&u.push(m.multiSet(l)),Promise.all(t().map(r,L)).then((()=>{O.merge(n),Q(e,n)})),Promise.all(u).catch((e=>ee(e,ae,n)))})))}function le(e){t().each(e,(e=>{let{onyxMethod:n,key:s}=e;if(!t().contains([E.CLEAR,E.SET,E.MERGE,E.MERGE_COLLECTION],n))throw new Error(`Invalid onyxMethod ${n} in Onyx update.`);if(n!==E.CLEAR&&!t().isString(s))throw new Error(`Invalid ${typeof s} key provided in Onyx update. Onyx key must be of type string.`)}));const n=[];return t().each(e,(e=>{let{onyxMethod:t,key:s,value:r}=e;switch(t){case E.SET:n.push(te(s,r));break;case E.MERGE:n.push(oe(s,r));break;case E.MERGE_COLLECTION:n.push(ae(s,r));break;case E.CLEAR:n.push(ce())}})),Promise.all(n)}const ue={connect:function(e){const n=K++;return C[n]=e,C[n].connectionID=n,!1===e.initWithStoredValues||q.promise.then((()=>function(e){if(V(e.key)&&(O.removeLeastRecentlyUsedKeys(),e.withOnyxInstance&&!$(e.key))){if(t().isUndefined(e.canEvict))throw new Error(`Cannot subscribe to safe eviction key '${e.key}' without providing a canEvict value.`);B(e.key)}}(e))).then(D).then((n=>{const s=t().filter(n,(t=>_(e.key,t)));if(0!==s.length)if(t().isFunction(e.callback)){if($(e.key)){if(e.waitForCollectionCallback)return void X(s,e);for(let t=0;t<s.length;t++)L(s[t]).then((n=>Y(e,n,s[t])));return}L(e.key).then((t=>Y(e,t,e.key)))}else{if(e.withOnyxInstance)return $(e.key)?void X(s,e):void L(e.key).then((t=>Y(e,t,e.key)));console.error("Warning: Onyx.connect() was found without a callback or withOnyxInstance")}else Y(e,null)})),n},disconnect:function(e,t){C[e]&&(t&&G(t,e),delete C[e])},set:te,multiSet:se,merge:oe,mergeCollection:ae,update:le,clear:ce,getAllKeys:D,init:function(){let{keys:e={},initialKeyStates:n={},safeEvictionKeys:s=[],maxCachedKeysCount:r=1e3,captureMetrics:o=!1,shouldSyncMultipleInstances:i=Boolean(l.g.localStorage),debugSetState:c=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o&&function(){const e=l(378);L=e.decorateWithMetrics(L,"Onyx:get"),te=e.decorateWithMetrics(te,"Onyx:set"),se=e.decorateWithMetrics(se,"Onyx:multiSet"),ce=e.decorateWithMetrics(ce,"Onyx:clear"),oe=e.decorateWithMetrics(oe,"Onyx:merge"),ae=e.decorateWithMetrics(ae,"Onyx:mergeCollection"),D=e.decorateWithMetrics(D,"Onyx:getAllKeys"),ie=e.decorateWithMetrics(ie,"Onyx:defaults"),le=e.decorateWithMetrics(le,"Onyx:update"),ue.set=te,ue.multiSet=se,ue.clear=ce,ue.merge=oe,ue.mergeCollection=ae,ue.update=le,ue.getMetrics=e.getMetrics,ue.resetMetrics=e.resetMetrics,ue.printMetrics=e.printMetrics}(),c&&S(!0),r>0&&O.setRecentKeysLimit(r),M=e,A=n,j=s,Promise.all([D().then((e=>{t().each(j,(n=>{t().each(e,(e=>{_(n,e)&&B(e)}))}))})),ie()]).then(q.resolve),i&&t().isFunction(m.keepInstancesSync)&&m.keepInstancesSync(((e,t)=>{O.set(e,t),H(e,t)}))},registerLogger:function(e){g=e},addToEvictionBlockList:function(e,t){G(e,t),N[e]||(N[e]=[]),N[e].push(t)},removeFromEvictionBlockList:G,isSafeEvictionKey:V,METHOD:E},he=ue;var ye=l(156),de=l.n(ye),pe=l(697),fe=l.n(pe);function me(){return me=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},me.apply(this,arguments)}function ge(e){const n=t().chain(e).omit((e=>!1===e.initWithStoredValues)).keys().value();return r=>{const o=(i=r).displayName||i.name||"Component";var i;class c extends de().Component{constructor(e){super(e),this.setWithOnyxState=this.setWithOnyxState.bind(this),this.activeConnectionIDs={},this.tempState={},this.state={loading:n.length>0}}componentDidMount(){t().each(e,((e,t)=>{this.connectMappingToOnyx(e,t)})),this.checkEvictableKeys()}componentDidUpdate(n){t().each(e,((e,t)=>{const r=s().result(e.key,n);r!==s().result(e.key,this.props)&&(he.disconnect(this.activeConnectionIDs[r],r),delete this.activeConnectionIDs[r],this.connectMappingToOnyx(e,t))})),this.checkEvictableKeys()}componentWillUnmount(){t().each(e,(e=>{const t=s().result(e.key,this.props),n=this.activeConnectionIDs[t];he.disconnect(n,t)}))}setWithOnyxState(e,s){this.state.loading?(this.tempState[e]=s,t().some(n,(e=>t().isUndefined(this.tempState[e])))||(this.setState({...this.tempState,loading:!1}),delete this.tempState)):this.setState({[e]:s})}checkEvictableKeys(){t().each(e,(e=>{if(t().isUndefined(e.canEvict))return;const n=s().result(e.canEvict,this.props),r=s().result(e.key,this.props);if(!he.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?he.removeFromEvictionBlockList(r,e.connectionID):he.addToEvictionBlockList(r,e.connectionID)}))}connectMappingToOnyx(e,t){const n=s().result(e.key,this.props);this.activeConnectionIDs[n]=he.connect({...e,key:n,statePropertyName:t,withOnyxInstance:this,displayName:o})}render(){if(this.state.loading)return null;let e=t().omit(this.state,"loading");e=t().omit(e,(e=>t().isNull(e)));const n=t().omit(this.props,(e=>t().isNull(e)));return de().createElement(r,me({},n,e,{ref:this.props.forwardedRef}))}}return c.propTypes={forwardedRef:fe().oneOfType([fe().func,fe().shape({current:fe().instanceOf(de().Component)})])},c.defaultProps={forwardedRef:void 0},c.displayName=`withOnyx(${o})`,de().forwardRef(((e,t)=>{const n=c;return de().createElement(n,me({},e,{forwardedRef:t}))}))}}const ke=he})(),u})()));
|
|
3
2
|
//# sourceMappingURL=web.min.js.map
|