@rest-hooks/core
Advanced tools
Comparing version 4.2.5 to 4.2.6
@@ -1470,7 +1470,27 @@ 'use strict'; | ||
var _globalThis$document; | ||
const HASINTL = typeof Intl !== 'undefined'; | ||
const DEFAULT_CONFIG = { | ||
name: `Rest Hooks: ${(_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.title}`, | ||
autoPause: true, | ||
serialize: { | ||
options: undefined, | ||
/* istanbul ignore next */ | ||
replacer: HASINTL ? (key, value) => { | ||
if (typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' || key.endsWith('At'))) { | ||
return Intl.DateTimeFormat('en-US', { | ||
hour: 'numeric', | ||
minute: 'numeric', | ||
second: 'numeric', | ||
fractionalSecondDigits: 3 | ||
}).format(value); | ||
} | ||
return value; | ||
} : undefined | ||
} | ||
}; | ||
/** Integrates with https://github.com/zalmoxisus/redux-devtools-extension | ||
/** Integrates with https://github.com/reduxjs/redux-devtools | ||
* | ||
* Options: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md | ||
* Options: https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md | ||
* | ||
@@ -1480,38 +1500,17 @@ * @see https://resthooks.io/docs/api/DevToolsManager | ||
class DevToolsManager { | ||
constructor(config = { | ||
name: `Rest Hooks: ${(() => { | ||
var _globalThis$document; | ||
return (_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.title; | ||
})()}`, | ||
autoPause: true, | ||
serialize: { | ||
// the default options are only used if serialize isn't specified, so we include the default here | ||
options: { | ||
circular: '[CIRCULAR]', | ||
date: true | ||
}, | ||
/* istanbul ignore next */ | ||
replacer: (key, value) => { | ||
if (HASINTL && typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' || key.endsWith('At'))) { | ||
return Intl.DateTimeFormat('en-US', { | ||
hour: 'numeric', | ||
minute: 'numeric', | ||
second: 'numeric', | ||
fractionalSecondDigits: 3 | ||
}).format(value); | ||
} | ||
return value; | ||
} | ||
} | ||
}, skipLogging) { | ||
constructor(config, skipLogging) { | ||
/* istanbul ignore next */ | ||
this.devTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__.connect(config); | ||
this.devTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__.connect({ | ||
...DEFAULT_CONFIG, | ||
config | ||
}); | ||
/* istanbul ignore if */ | ||
/* istanbul ignore next */ | ||
if (process.env.NODE_ENV === 'development' && this.devTools) { | ||
if (this.devTools) { | ||
this.middleware = controller => { | ||
const reducer = createReducer(controller); | ||
return next => action => { | ||
return next(action).then(() => { | ||
const ret = next(action); | ||
ret.then(() => { | ||
if (skipLogging != null && skipLogging(action)) return; | ||
@@ -1521,2 +1520,3 @@ const state = controller.getState(); | ||
}); | ||
return ret; | ||
}; | ||
@@ -1523,0 +1523,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@rest-hooks/normalizr")):"function"==typeof define&&define.amd?define(["exports","@rest-hooks/normalizr"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).restHookCore={},e.normalizr)}(this,(function(e,t){"use strict";var s="function"==typeof requestIdleCallback?requestIdleCallback:e=>setTimeout(e,0);const r="rest-hooks/fetch",i="rest-hooks/receive",n=i,a="rest-hooks/optimistic",o="rest-hooks/reset",c="rest-hooks/subscribe",l="rest-hook/unsubscribe",h="rest-hooks/invalidate",d="rest-hooks/invalidateall",u="rest-hooks/gc";var p=Object.freeze({__proto__:null,FETCH_TYPE:r,RECEIVE_TYPE:i,SET_TYPE:n,OPTIMISTIC_TYPE:a,RESET_TYPE:o,SUBSCRIBE_TYPE:c,UNSUBSCRIBE_TYPE:l,INVALIDATE_TYPE:h,INVALIDATEALL_TYPE:d,GC_TYPE:u});function m(e,{schema:t,key:s,args:r,updaters:n,fetchedAt:a=0,update:o,dataExpiryLength:c}){const l=Date.now(),h={schema:t,key:s,args:r,date:l,fetchedAt:a,expiresAt:l+c};return h.updaters=n,h.update=o,{type:i,payload:e,meta:h}}function f(e,{schema:t,key:s,options:r,errorExpiryLength:n=6e4,fetchedAt:a=0}){const o=Date.now();return{type:i,payload:e,meta:{schema:t,key:s,date:o,fetchedAt:a,expiresAt:o+n,errorPolicy:null==r?void 0:r.errorPolicy},error:!0}}var y=Object.freeze({__proto__:null,createFetch:function(e,{params:t,body:s,throttle:i,updateParams:n}){const{schema:a,type:o,getFetchKey:c,options:l}=e,h=c(t);let d=0,u=0;const p=new Promise(((e,t)=>{[d,u]=[e,t]})),m={schema:a,type:o,args:[t,s],key:h,throttle:i,options:l,resolve:d,reject:u,promise:p,createdAt:Date.now()};return e.update&&(m.update=e.update),n&&(m.update=e=>{const t={};return n.forEach((([s,r,i])=>{t[s.getFetchKey(r)]=t=>i(e,t)})),t}),null!=l&&l.optimisticUpdate&&(m.optimisticResponse=l.optimisticUpdate(t,s)),{type:r,payload:()=>e.fetch(t,s),meta:m}},createReceive:m,createReceiveError:f});function g(e,t){var s;const r=t.meta.optimisticResponse;let i;if((null==(s=t.endpoint)?void 0:s.getOptimisticResponse)&&t.endpoint)i=function(e,{args:t,fetchedAt:s}){var r;const i=null!=(r=e.dataExpiryLength)?r:6e4,n=Date.now(),o={args:t,fetchedAt:s,date:n,expiresAt:n+i,schema:e.schema,key:e.key(...t)};return e.update&&(o.update=e.update),e.errorPolicy&&(o.errorPolicy=e.errorPolicy),{type:a,endpoint:e,meta:o}}(t.endpoint,{args:t.meta.args,fetchedAt:"number"!=typeof t.meta.createdAt?t.meta.createdAt.getTime():t.meta.createdAt});else{if(!r)return e;i=m(r,Object.assign({},t.meta,{dataExpiryLength:1/0}))}return Object.assign({},e,{optimistic:[...e.optimistic,i]})}function v(e,s,r){if(s.error)return E(e,s,s.payload);try{var i;let o;if(s.type===a){if(!s.endpoint.getOptimisticResponse)return e;try{o=s.endpoint.getOptimisticResponse.call(s.endpoint,r.snapshot(e,s.meta.fetchedAt),...s.meta.args)}catch(t){var n;if("AbortOptimistic"===(null==(n=t.constructor)?void 0:n.name))return e;throw t}}else o=s.payload;const{result:c,entities:l,indexes:h,entityMeta:d}=t.normalize(o,s.meta.schema,e.entities,e.indexes,e.entityMeta,s.meta);let u=Object.assign({},e.results,{[s.meta.key]:c});try{if("updaters"in s.meta&&s.meta.updaters&&(u=function(e,t,s){return Object.assign({},e,Object.fromEntries(Object.entries(s).map((([s,r])=>[s,r(t,e[s])]))))}(u,c,s.meta.updaters)),s.meta.update){const e=s.meta.update(c,...s.meta.args||[]);Object.keys(e).forEach((t=>{u[t]=e[t](u[t])}))}}catch(e){console.error(`The following error occured during Endpoint.update() for ${s.meta.key}`),console.error(e)}return{entities:l,indexes:h,results:u,entityMeta:d,meta:Object.assign({},e.meta,{[s.meta.key]:{date:s.meta.date,expiresAt:s.meta.expiresAt,prevExpiresAt:null==(i=e.meta[s.meta.key])?void 0:i.expiresAt}}),optimistic:b(e,s),lastReset:e.lastReset}}catch(t){return"object"==typeof t&&(t.message=`Error processing ${s.meta.key}\n\nFull Schema: ${JSON.stringify(s.meta.schema,void 0,2)}\n\nError:\n${t.message}`,"payload"in s&&(t.payload=s.payload),t.status=400),E(e,s,t)}}function E(e,t,s){return"AbortError"===s.name?Object.assign({},e,{optimistic:b(e,t)}):Object.assign({},e,{meta:Object.assign({},e.meta,{[t.meta.key]:{date:t.meta.date,error:s,expiresAt:t.meta.expiresAt,errorPolicy:null==t.meta.errorPolicy?void 0:t.meta.errorPolicy(s)}}),optimistic:b(e,t)})}function b(e,t){return e.optimistic.filter((e=>e.meta.key!==t.meta.key||(e.type===a?e.meta.fetchedAt!==t.meta.fetchedAt:e.meta.date>t.meta.date)))}function L(e){return function(t,s){var i;switch(t||(t=k),s.type){case u:return s.entities.forEach((([e,s])=>{var r,i;null==(r=t.entities[e])||delete r[s],null==(i=t.entityMeta[e])||delete i[s]})),s.results.forEach((e=>{delete t.results[e],delete t.meta[e]})),t;case r:return g(t,s);case a:case n:return v(t,s,e);case d:case h:return function(e,t){const s=Object.assign({},e.results),r=Object.assign({},e.meta),i=e=>{delete s[e];const t=Object.assign({},r[e],{expiresAt:0,invalidated:!0});delete t.error,r[e]=t};return t.type===h?i(t.meta.key):Object.keys(s).forEach((e=>{t.testKey(e)&&i(e)})),Object.assign({},e,{results:s,meta:r})}(t,s);case o:return Object.assign({},k,{lastReset:null!=(i=s.date)?i:Date.now()});default:return t}}}const k={entities:{},indexes:{},results:{},meta:{},entityMeta:{},optimistic:[],lastReset:0};var O=Object.freeze({__proto__:null,inferResults:t.inferResults,DELETED:t.DELETED,RIC:s,initialState:k});function A(e,{args:t}){const s=e.key(...t);let i=0,n=0;const a=new Promise(((e,t)=>{[i,n]=[e,t]})),o={schema:e.schema,type:e.sideEffect?"mutate":"read",args:t,key:s,throttle:!e.sideEffect,options:e,resolve:i,reject:n,promise:a,createdAt:Date.now()};return e.update&&(o.update=e.update),e.optimisticUpdate&&(o.optimisticResponse=e.optimisticUpdate(...t)),{type:r,payload:()=>e(...t),meta:o,endpoint:e}}function w(e,{args:t,fetchedAt:s,response:r,error:i=!1}){var a,o;const c=i?null!=(a=e.errorExpiryLength)?a:1e3:null!=(o=e.dataExpiryLength)?o:6e4,l=Date.now(),h={args:t,fetchedAt:null!=s?s:l,date:l,expiresAt:l+c,schema:e.schema,key:e.key(...t)};e.update&&(h.update=e.update),e.errorPolicy&&(h.errorPolicy=e.errorPolicy);const d={type:n,payload:r,endpoint:e,meta:h};return i&&(d.error=!0),d}function I(e,t){return e.meta[t]}const S=e=>{throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},x=()=>k;class R{constructor({dispatch:e=S,getState:s=x,globalCache:r={entities:{},results:{}}}={}){this.fetch=(e,...t)=>{const s=A(e,{args:t});return this.dispatch(s),s.meta.promise},this.invalidate=(e,...t)=>null!==t[0]?this.dispatch(function(e,{args:t}){return{type:h,meta:{key:e.key(...t)}}}(e,{args:t})):Promise.resolve(),this.invalidateAll=e=>this.dispatch({type:d,testKey:t=>e.testKey(t)}),this.resetEntireStore=()=>this.dispatch({type:o,date:Date.now()}),this.setResponse=(e,...t)=>{const s=t[t.length-1],r=w(e,{args:t.slice(0,t.length-1),response:s});return this.dispatch(r)},this.receive=(e,...t)=>this.setResponse(e,...t),this.setError=(e,...t)=>{const s=t[t.length-1],r=w(e,{args:t.slice(0,t.length-1),response:s,error:!0});return this.dispatch(r)},this.receiveError=(e,...t)=>this.setError(e,...t),this.resolve=(e,t)=>this.dispatch(w(e,t)),this.subscribe=(e,...t)=>null!==t[0]?this.dispatch(function(e,{args:t}){return{type:c,endpoint:e,meta:{args:t,key:e.key(...t),fetch:()=>e(...t),schema:e.schema,options:e}}}(e,{args:t})):Promise.resolve(),this.unsubscribe=(e,...t)=>null!==t[0]?this.dispatch(function(e,{args:t}){return{type:l,endpoint:e,meta:{args:t,key:e.key(...t),options:e}}}(e,{args:t})):Promise.resolve(),this.snapshot=(e,t)=>new _(this,e,t),this.getError=(e,...t)=>{if(null===t[0])return;const s=t[t.length-1],r=t.slice(0,t.length-1),i=e.key(...r),n=I(s,i);return void 0===s.results[i]||"soft"!==(null==n?void 0:n.errorPolicy)?null==n?void 0:n.error:void 0},this.getResponse=(e,...s)=>{const r=s[s.length-1],i=s.slice(0,s.length-1),n=1!==i.length||null!==i[0],a=n?e.key(...i):"",o=n&&r.results[a],c=e.schema,l=I(r,a);let h=null==l?void 0:l.expiresAt;const d=this.getResults(e.schema,o,i,r.indexes,r.entities);if(!e.schema||!j(e.schema))return{data:d,expiryStatus:null!=l&&l.invalidated?t.ExpiryStatus.Invalid:o&&!e.invalidIfStale?t.ExpiryStatus.Valid:t.ExpiryStatus.InvalidIfStale,expiresAt:h||0};n&&!this.globalCache.results[a]&&(this.globalCache.results[a]=new t.WeakEntityMap);const[u,p,m,f]=t.denormalize(d,c,r.entities,this.globalCache.entities,n?this.globalCache.results[a]:void 0);if(!h)if(p){const e=r.entityMeta;h=f.reduce(((t,{pk:s,key:r})=>{var i,n,a;return Math.min(t,null!=(i=null==(n=e[r])||null==(a=n[s])?void 0:a.expiresAt)?i:1/0)}),1/0)}else h=0;return{data:u,expiryStatus:null!=l&&l.invalidated||m&&(null==l||!l.error)?t.ExpiryStatus.Invalid:m||e.invalidIfStale||!o&&!p?t.ExpiryStatus.InvalidIfStale:t.ExpiryStatus.Valid,expiresAt:h}},this.getResults=(e,s,r,i,n)=>s||void 0===e?s:t.inferResults(e,r,i,n),this.dispatch=e,this.getState=s,this.globalCache=r}}function j(e){if(t.isEntity(e))return!0;if(Array.isArray(e))return 0!==e.length&&j(e[0]);if(e&&("object"==typeof e||"function"==typeof e)){const t="schema"in e?e.schema:e;return"function"==typeof t?j(t):Object.values(t).some((e=>j(e)))}return!1}class _{constructor(e,t,s=0){this.state=void 0,this.controller=void 0,this.fetchedAt=void 0,this.getResponse=(e,...t)=>this.controller.getResponse(e,...t,this.state),this.getError=(e,...t)=>this.controller.getError(e,...t,this.state),this.state=t,this.controller=e,this.fetchedAt=s}}class T extends Error{constructor(){super("Aborted due to RESET"),this.name="ResetError"}}var P=L(new R);var q=Object.freeze({__proto__:null});class D{isOnline(){return void 0===navigator.onLine||navigator.onLine}addOnlineListener(e){addEventListener("online",e)}removeOnlineListener(e){removeEventListener("online",e)}addOfflineListener(e){addEventListener("offline",e)}removeOfflineListener(e){removeEventListener("offline",e)}}class M{isOnline(){return!0}addOnlineListener(){}removeOnlineListener(){}addOfflineListener(){}removeOfflineListener(){}}let C;C="undefined"!=typeof navigator&&"function"==typeof addEventListener?D:M;var H=C;const F="undefined"!=typeof Intl;Object.hasOwn=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Object.defineProperty(e,"ExpiryStatus",{enumerable:!0,get:function(){return t.ExpiryStatus}}),e.Controller=R,e.DefaultConnectionListener=H,e.DevToolsManager=class{constructor(e={name:`Rest Hooks: ${(()=>{var e;return null==(e=globalThis.document)?void 0:e.title})()}`,autoPause:!0,serialize:{options:{circular:"[CIRCULAR]",date:!0},replacer:(e,t)=>F&&"number"==typeof t&&"string"==typeof e&&isFinite(t)&&("date"===e||e.endsWith("At"))?Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3}).format(t):t}},t){this.devTools="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__.connect(e),this.middleware=()=>e=>t=>e(t)}init(e){this.devTools&&this.devTools.init(e)}cleanup(){}getMiddleware(){return this.middleware}},e.LogoutManager=class{constructor({handleLogout:e,shouldLogout:t}={}){e&&(this.handleLogout=e),t&&(this.shouldLogout=t),this.middleware=e=>t=>async s=>{await t(s),s.type===n&&s.error&&this.shouldLogout(s.payload)&&this.handleLogout(e)}}cleanup(){}getMiddleware(){return this.middleware}shouldLogout(e){return 401===e.status}handleLogout(e){e.resetEntireStore()}},e.NetworkManager=class{constructor(e=6e4,t=1e3){this.fetched=Object.create(null),this.resolvers={},this.rejectors={},this.fetchedAt={},this.getState=()=>k,this.controller=new R,this.dataExpiryLength=e,this.errorExpiryLength=t,this.middleware=({dispatch:e,getState:t,controller:s})=>(this.getState=t,this.controller=s,t=>i=>{var a;switch(i.type){case r:return this.handleFetch(i,e,s),void 0!==i.meta.optimisticResponse||void 0!==(null==(a=i.endpoint)?void 0:a.getOptimisticResponse)?t(i):Promise.resolve();case n:return t(i).then((()=>{if(i.meta.key in this.fetched){var e;const t=null==(e=s.getState().meta[i.meta.key])?void 0:e.error;t?this.handleReceive(f(t,i.meta)):this.handleReceive(i)}}));case o:{const e=Object.assign({},this.rejectors);return this.clearAll(),t(i).then((()=>{for(const t in e)e[t](new T)}))}default:return t(i)}})}skipLogging(e){return e.type===r&&e.meta.key in this.fetched}init(){delete this.cleanupDate}cleanup(){this.cleanupDate=Date.now()}allSettled(){const e=Object.values(this.fetched);if(e.length)return Promise.allSettled(e)}clearAll(){for(const e in this.rejectors)this.clear(e)}clear(e){this.fetched[e].catch((()=>{})),delete this.resolvers[e],delete this.rejectors[e],delete this.fetched[e],delete this.fetchedAt[e]}getLastReset(){if(this.cleanupDate)return this.cleanupDate;const e=this.controller.getState().lastReset;return e instanceof Date?e.valueOf():"number"!=typeof e?-1/0:e}handleFetch(e,t,s){const r=e.payload,{key:i,throttle:n,resolve:a,reject:o}=e.meta,c="number"!=typeof e.meta.createdAt?e.meta.createdAt.getTime():e.meta.createdAt,l=()=>{let t=r();const s=e=>e.then((e=>(a(e),e))).catch((e=>{throw o(e),e}));return!n&&e.endpoint&&(t=s(t)),t=t.then((t=>{let s=this.getLastReset();var r,i;c>=s&&(e.endpoint&&this.controller?this.controller.resolve(e.endpoint,{args:e.meta.args,response:t,fetchedAt:c}):this.controller.dispatch(m(t,Object.assign({},e.meta,{fetchedAt:c,dataExpiryLength:null!=(r=null==(i=e.meta.options)?void 0:i.dataExpiryLength)?r:this.dataExpiryLength}))));return t})).catch((t=>{const s=this.getLastReset();var r,i;c>=s&&(e.endpoint&&this.controller?this.controller.resolve(e.endpoint,{args:e.meta.args,response:t,fetchedAt:c,error:!0}):this.controller.dispatch(f(t,Object.assign({},e.meta,{errorExpiryLength:null!=(r=null==(i=e.meta.options)?void 0:i.errorExpiryLength)?r:this.errorExpiryLength,fetchedAt:c}))));throw t})),n||e.endpoint||(t=s(t)),t};return n?this.throttle(i,l,c).then((e=>a(e))).catch((e=>o(e))):l().catch((()=>{}))}handleReceive(e){if(e.meta.key in this.fetched){let t;t=e.error?this.rejectors[e.meta.key]:this.resolvers[e.meta.key],t(e.payload),this.clear(e.meta.key)}}getMiddleware(){return this.middleware}throttle(e,t,r){const i=this.getLastReset();return e in this.fetched&&this.fetchedAt[e]>i||(this.fetched[e]=new Promise(((t,s)=>{this.resolvers[e]=t,this.rejectors[e]=s})),this.fetchedAt[e]=r,s((()=>{t().catch((()=>null))}),{timeout:500})),this.fetched[e]}},e.PollingSubscription=class{constructor({key:e,schema:t,fetch:s,frequency:r,getState:i},n,a){if(this.frequencyHistogram=new Map,this.offlineListener=()=>{this.cleanup(),this.connectionListener.addOnlineListener(this.onlineListener)},this.onlineListener=()=>{this.connectionListener.removeOnlineListener(this.onlineListener);const e=Date.now();this.startId=setTimeout((()=>{delete this.startId,this.update(),this.run()}),Math.max(0,this.lastFetchTime()-e+this.frequency)),this.connectionListener.addOfflineListener(this.offlineListener)},void 0===r)throw new Error("frequency needed for polling subscription");this.schema=t,this.fetch=s,this.frequency=r,this.key=e,this.frequencyHistogram.set(this.frequency,1),this.dispatch=n,this.getState=i,this.connectionListener=a||new H,this.connectionListener.isOnline()?this.onlineListener():this.offlineListener()}add(e){void 0!==e&&(this.frequencyHistogram.has(e)?this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)+1):(this.frequencyHistogram.set(e,1),e<this.frequency&&(this.frequency=e,this.run())))}remove(e){if(void 0===e)return!1;if(this.frequencyHistogram.has(e)&&(this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)-1),this.frequencyHistogram.get(e)<1)){if(this.frequencyHistogram.delete(e),0===this.frequencyHistogram.size)return this.cleanup(),!0;e<=this.frequency&&(this.frequency=Math.min(...this.frequencyHistogram.keys()),this.run())}return!1}cleanup(){this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId),this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.startId&&(clearTimeout(this.startId),delete this.startId),this.connectionListener.removeOnlineListener(this.onlineListener),this.connectionListener.removeOfflineListener(this.offlineListener)}update(){const e=()=>this.fetch();e.schema=this.schema,e.key=()=>this.key,e.dataExpiryLength=this.frequency/2,e.errorExpiryLength=this.frequency/10,e.errorPolicy=()=>"soft";const t=A(e,{args:[]});t.meta.promise.catch((e=>null)),this.dispatch(t)}run(){this.startId||(this.intervalId&&(this.lastIntervalId=this.intervalId),this.intervalId=setInterval((()=>{this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.update()}),this.frequency))}lastFetchTime(){var e,t;return null!=(e=null==(t=this.getState().meta[this.key])?void 0:t.date)?e:0}},e.ResetError=T,e.SubscriptionManager=class{constructor(e){this.subscriptions={},this.Subscription=e,this.middleware=({dispatch:e,getState:t})=>s=>r=>{switch(r.type){case c:try{this.handleSubscribe(r,e,t)}catch(e){console.error(e)}return Promise.resolve();case l:return this.handleUnsubscribe(r,e),Promise.resolve();default:return s(r)}}}cleanup(){for(const e in this.subscriptions)this.subscriptions[e].cleanup()}handleSubscribe(e,t,s){let r;if(e.endpoint){const{endpoint:t}=e,{args:i}=e.meta;r={schema:t.schema,fetch:()=>t(...i),frequency:t.pollFrequency,key:t.key(...i),getState:s}}else{var i;r={key:e.meta.key,frequency:null==(i=e.meta.options)?void 0:i.pollFrequency,schema:e.meta.schema,fetch:e.meta.fetch,getState:s}}r.key in this.subscriptions?this.subscriptions[r.key].add(r.frequency):this.subscriptions[r.key]=new this.Subscription(r,t)}handleUnsubscribe(e,t){var s;const r=e.meta.key,i=null==(s=e.meta.options)?void 0:s.pollFrequency;if(r in this.subscriptions){this.subscriptions[r].remove(i)&&delete this.subscriptions[r]}}getMiddleware(){return this.middleware}},e.__INTERNAL__=O,e.actionTypes=p,e.applyManager=function(e,t){return e.map((e=>{const s=e.getMiddleware();return({dispatch:e,getState:r})=>{t.dispatch=e,t.getState=r;const i=Object.create(t,{controller:{value:t}});return s(i)}}))},e.createFetch=A,e.createReceive=w,e.createReducer=L,e.initialState=k,e.legacyActions=y,e.newActions=q,e.reducer=P,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@rest-hooks/normalizr")):"function"==typeof define&&define.amd?define(["exports","@rest-hooks/normalizr"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).restHookCore={},e.normalizr)}(this,(function(e,t){"use strict";var s="function"==typeof requestIdleCallback?requestIdleCallback:e=>setTimeout(e,0);const r="rest-hooks/fetch",i="rest-hooks/receive",n=i,a="rest-hooks/optimistic",o="rest-hooks/reset",c="rest-hooks/subscribe",l="rest-hook/unsubscribe",h="rest-hooks/invalidate",d="rest-hooks/invalidateall",u="rest-hooks/gc";var p=Object.freeze({__proto__:null,FETCH_TYPE:r,RECEIVE_TYPE:i,SET_TYPE:n,OPTIMISTIC_TYPE:a,RESET_TYPE:o,SUBSCRIBE_TYPE:c,UNSUBSCRIBE_TYPE:l,INVALIDATE_TYPE:h,INVALIDATEALL_TYPE:d,GC_TYPE:u});function m(e,{schema:t,key:s,args:r,updaters:n,fetchedAt:a=0,update:o,dataExpiryLength:c}){const l=Date.now(),h={schema:t,key:s,args:r,date:l,fetchedAt:a,expiresAt:l+c};return h.updaters=n,h.update=o,{type:i,payload:e,meta:h}}function f(e,{schema:t,key:s,options:r,errorExpiryLength:n=6e4,fetchedAt:a=0}){const o=Date.now();return{type:i,payload:e,meta:{schema:t,key:s,date:o,fetchedAt:a,expiresAt:o+n,errorPolicy:null==r?void 0:r.errorPolicy},error:!0}}var y=Object.freeze({__proto__:null,createFetch:function(e,{params:t,body:s,throttle:i,updateParams:n}){const{schema:a,type:o,getFetchKey:c,options:l}=e,h=c(t);let d=0,u=0;const p=new Promise(((e,t)=>{[d,u]=[e,t]})),m={schema:a,type:o,args:[t,s],key:h,throttle:i,options:l,resolve:d,reject:u,promise:p,createdAt:Date.now()};return e.update&&(m.update=e.update),n&&(m.update=e=>{const t={};return n.forEach((([s,r,i])=>{t[s.getFetchKey(r)]=t=>i(e,t)})),t}),null!=l&&l.optimisticUpdate&&(m.optimisticResponse=l.optimisticUpdate(t,s)),{type:r,payload:()=>e.fetch(t,s),meta:m}},createReceive:m,createReceiveError:f});function g(e,t){var s;const r=t.meta.optimisticResponse;let i;if((null==(s=t.endpoint)?void 0:s.getOptimisticResponse)&&t.endpoint)i=function(e,{args:t,fetchedAt:s}){var r;const i=null!=(r=e.dataExpiryLength)?r:6e4,n=Date.now(),o={args:t,fetchedAt:s,date:n,expiresAt:n+i,schema:e.schema,key:e.key(...t)};return e.update&&(o.update=e.update),e.errorPolicy&&(o.errorPolicy=e.errorPolicy),{type:a,endpoint:e,meta:o}}(t.endpoint,{args:t.meta.args,fetchedAt:"number"!=typeof t.meta.createdAt?t.meta.createdAt.getTime():t.meta.createdAt});else{if(!r)return e;i=m(r,Object.assign({},t.meta,{dataExpiryLength:1/0}))}return Object.assign({},e,{optimistic:[...e.optimistic,i]})}function v(e,s,r){if(s.error)return E(e,s,s.payload);try{var i;let o;if(s.type===a){if(!s.endpoint.getOptimisticResponse)return e;try{o=s.endpoint.getOptimisticResponse.call(s.endpoint,r.snapshot(e,s.meta.fetchedAt),...s.meta.args)}catch(t){var n;if("AbortOptimistic"===(null==(n=t.constructor)?void 0:n.name))return e;throw t}}else o=s.payload;const{result:c,entities:l,indexes:h,entityMeta:d}=t.normalize(o,s.meta.schema,e.entities,e.indexes,e.entityMeta,s.meta);let u=Object.assign({},e.results,{[s.meta.key]:c});try{if("updaters"in s.meta&&s.meta.updaters&&(u=function(e,t,s){return Object.assign({},e,Object.fromEntries(Object.entries(s).map((([s,r])=>[s,r(t,e[s])]))))}(u,c,s.meta.updaters)),s.meta.update){const e=s.meta.update(c,...s.meta.args||[]);Object.keys(e).forEach((t=>{u[t]=e[t](u[t])}))}}catch(e){console.error(`The following error occured during Endpoint.update() for ${s.meta.key}`),console.error(e)}return{entities:l,indexes:h,results:u,entityMeta:d,meta:Object.assign({},e.meta,{[s.meta.key]:{date:s.meta.date,expiresAt:s.meta.expiresAt,prevExpiresAt:null==(i=e.meta[s.meta.key])?void 0:i.expiresAt}}),optimistic:b(e,s),lastReset:e.lastReset}}catch(t){return"object"==typeof t&&(t.message=`Error processing ${s.meta.key}\n\nFull Schema: ${JSON.stringify(s.meta.schema,void 0,2)}\n\nError:\n${t.message}`,"payload"in s&&(t.payload=s.payload),t.status=400),E(e,s,t)}}function E(e,t,s){return"AbortError"===s.name?Object.assign({},e,{optimistic:b(e,t)}):Object.assign({},e,{meta:Object.assign({},e.meta,{[t.meta.key]:{date:t.meta.date,error:s,expiresAt:t.meta.expiresAt,errorPolicy:null==t.meta.errorPolicy?void 0:t.meta.errorPolicy(s)}}),optimistic:b(e,t)})}function b(e,t){return e.optimistic.filter((e=>e.meta.key!==t.meta.key||(e.type===a?e.meta.fetchedAt!==t.meta.fetchedAt:e.meta.date>t.meta.date)))}function L(e){return function(t,s){var i;switch(t||(t=k),s.type){case u:return s.entities.forEach((([e,s])=>{var r,i;null==(r=t.entities[e])||delete r[s],null==(i=t.entityMeta[e])||delete i[s]})),s.results.forEach((e=>{delete t.results[e],delete t.meta[e]})),t;case r:return g(t,s);case a:case n:return v(t,s,e);case d:case h:return function(e,t){const s=Object.assign({},e.results),r=Object.assign({},e.meta),i=e=>{delete s[e];const t=Object.assign({},r[e],{expiresAt:0,invalidated:!0});delete t.error,r[e]=t};return t.type===h?i(t.meta.key):Object.keys(s).forEach((e=>{t.testKey(e)&&i(e)})),Object.assign({},e,{results:s,meta:r})}(t,s);case o:return Object.assign({},k,{lastReset:null!=(i=s.date)?i:Date.now()});default:return t}}}const k={entities:{},indexes:{},results:{},meta:{},entityMeta:{},optimistic:[],lastReset:0};var O=Object.freeze({__proto__:null,inferResults:t.inferResults,DELETED:t.DELETED,RIC:s,initialState:k});function w(e,{args:t}){const s=e.key(...t);let i=0,n=0;const a=new Promise(((e,t)=>{[i,n]=[e,t]})),o={schema:e.schema,type:e.sideEffect?"mutate":"read",args:t,key:s,throttle:!e.sideEffect,options:e,resolve:i,reject:n,promise:a,createdAt:Date.now()};return e.update&&(o.update=e.update),e.optimisticUpdate&&(o.optimisticResponse=e.optimisticUpdate(...t)),{type:r,payload:()=>e(...t),meta:o,endpoint:e}}function A(e,{args:t,fetchedAt:s,response:r,error:i=!1}){var a,o;const c=i?null!=(a=e.errorExpiryLength)?a:1e3:null!=(o=e.dataExpiryLength)?o:6e4,l=Date.now(),h={args:t,fetchedAt:null!=s?s:l,date:l,expiresAt:l+c,schema:e.schema,key:e.key(...t)};e.update&&(h.update=e.update),e.errorPolicy&&(h.errorPolicy=e.errorPolicy);const d={type:n,payload:r,endpoint:e,meta:h};return i&&(d.error=!0),d}function S(e,t){return e.meta[t]}const I=e=>{throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},x=()=>k;class R{constructor({dispatch:e=I,getState:s=x,globalCache:r={entities:{},results:{}}}={}){this.fetch=(e,...t)=>{const s=w(e,{args:t});return this.dispatch(s),s.meta.promise},this.invalidate=(e,...t)=>null!==t[0]?this.dispatch(function(e,{args:t}){return{type:h,meta:{key:e.key(...t)}}}(e,{args:t})):Promise.resolve(),this.invalidateAll=e=>this.dispatch({type:d,testKey:t=>e.testKey(t)}),this.resetEntireStore=()=>this.dispatch({type:o,date:Date.now()}),this.setResponse=(e,...t)=>{const s=t[t.length-1],r=A(e,{args:t.slice(0,t.length-1),response:s});return this.dispatch(r)},this.receive=(e,...t)=>this.setResponse(e,...t),this.setError=(e,...t)=>{const s=t[t.length-1],r=A(e,{args:t.slice(0,t.length-1),response:s,error:!0});return this.dispatch(r)},this.receiveError=(e,...t)=>this.setError(e,...t),this.resolve=(e,t)=>this.dispatch(A(e,t)),this.subscribe=(e,...t)=>null!==t[0]?this.dispatch(function(e,{args:t}){return{type:c,endpoint:e,meta:{args:t,key:e.key(...t),fetch:()=>e(...t),schema:e.schema,options:e}}}(e,{args:t})):Promise.resolve(),this.unsubscribe=(e,...t)=>null!==t[0]?this.dispatch(function(e,{args:t}){return{type:l,endpoint:e,meta:{args:t,key:e.key(...t),options:e}}}(e,{args:t})):Promise.resolve(),this.snapshot=(e,t)=>new T(this,e,t),this.getError=(e,...t)=>{if(null===t[0])return;const s=t[t.length-1],r=t.slice(0,t.length-1),i=e.key(...r),n=S(s,i);return void 0===s.results[i]||"soft"!==(null==n?void 0:n.errorPolicy)?null==n?void 0:n.error:void 0},this.getResponse=(e,...s)=>{const r=s[s.length-1],i=s.slice(0,s.length-1),n=1!==i.length||null!==i[0],a=n?e.key(...i):"",o=n&&r.results[a],c=e.schema,l=S(r,a);let h=null==l?void 0:l.expiresAt;const d=this.getResults(e.schema,o,i,r.indexes,r.entities);if(!e.schema||!j(e.schema))return{data:d,expiryStatus:null!=l&&l.invalidated?t.ExpiryStatus.Invalid:o&&!e.invalidIfStale?t.ExpiryStatus.Valid:t.ExpiryStatus.InvalidIfStale,expiresAt:h||0};n&&!this.globalCache.results[a]&&(this.globalCache.results[a]=new t.WeakEntityMap);const[u,p,m,f]=t.denormalize(d,c,r.entities,this.globalCache.entities,n?this.globalCache.results[a]:void 0);if(!h)if(p){const e=r.entityMeta;h=f.reduce(((t,{pk:s,key:r})=>{var i,n,a;return Math.min(t,null!=(i=null==(n=e[r])||null==(a=n[s])?void 0:a.expiresAt)?i:1/0)}),1/0)}else h=0;return{data:u,expiryStatus:null!=l&&l.invalidated||m&&(null==l||!l.error)?t.ExpiryStatus.Invalid:m||e.invalidIfStale||!o&&!p?t.ExpiryStatus.InvalidIfStale:t.ExpiryStatus.Valid,expiresAt:h}},this.getResults=(e,s,r,i,n)=>s||void 0===e?s:t.inferResults(e,r,i,n),this.dispatch=e,this.getState=s,this.globalCache=r}}function j(e){if(t.isEntity(e))return!0;if(Array.isArray(e))return 0!==e.length&&j(e[0]);if(e&&("object"==typeof e||"function"==typeof e)){const t="schema"in e?e.schema:e;return"function"==typeof t?j(t):Object.values(t).some((e=>j(e)))}return!1}class T{constructor(e,t,s=0){this.state=void 0,this.controller=void 0,this.fetchedAt=void 0,this.getResponse=(e,...t)=>this.controller.getResponse(e,...t,this.state),this.getError=(e,...t)=>this.controller.getError(e,...t,this.state),this.state=t,this.controller=e,this.fetchedAt=s}}class _ extends Error{constructor(){super("Aborted due to RESET"),this.name="ResetError"}}var P=L(new R);var q=Object.freeze({__proto__:null});class D{isOnline(){return void 0===navigator.onLine||navigator.onLine}addOnlineListener(e){addEventListener("online",e)}removeOnlineListener(e){removeEventListener("online",e)}addOfflineListener(e){addEventListener("offline",e)}removeOfflineListener(e){removeEventListener("offline",e)}}class M{isOnline(){return!0}addOnlineListener(){}removeOnlineListener(){}addOfflineListener(){}removeOfflineListener(){}}let C;C="undefined"!=typeof navigator&&"function"==typeof addEventListener?D:M;var H,F=C;const U="undefined"!=typeof Intl,z={name:`Rest Hooks: ${null==(H=globalThis.document)?void 0:H.title}`,autoPause:!0,serialize:{options:void 0,replacer:U?(e,t)=>"number"==typeof t&&"string"==typeof e&&isFinite(t)&&("date"===e||e.endsWith("At"))?Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3}).format(t):t:void 0}};Object.hasOwn=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Object.defineProperty(e,"ExpiryStatus",{enumerable:!0,get:function(){return t.ExpiryStatus}}),e.Controller=R,e.DefaultConnectionListener=F,e.DevToolsManager=class{constructor(e,t){this.devTools="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__.connect(Object.assign({},z,{config:e})),this.devTools?this.middleware=e=>{const s=L(e);return r=>i=>{const n=r(i);return n.then((()=>{if(null!=t&&t(i))return;const r=e.getState();this.devTools.send(i,r.optimistic.reduce(s,r),void 0,"REST_HOOKS")})),n}}:this.middleware=()=>e=>t=>e(t)}init(e){this.devTools&&this.devTools.init(e)}cleanup(){}getMiddleware(){return this.middleware}},e.LogoutManager=class{constructor({handleLogout:e,shouldLogout:t}={}){e&&(this.handleLogout=e),t&&(this.shouldLogout=t),this.middleware=e=>t=>async s=>{await t(s),s.type===n&&s.error&&this.shouldLogout(s.payload)&&this.handleLogout(e)}}cleanup(){}getMiddleware(){return this.middleware}shouldLogout(e){return 401===e.status}handleLogout(e){e.resetEntireStore()}},e.NetworkManager=class{constructor(e=6e4,t=1e3){this.fetched=Object.create(null),this.resolvers={},this.rejectors={},this.fetchedAt={},this.getState=()=>k,this.controller=new R,this.dataExpiryLength=e,this.errorExpiryLength=t,this.middleware=({dispatch:e,getState:t,controller:s})=>(this.getState=t,this.controller=s,t=>i=>{var a;switch(i.type){case r:return this.handleFetch(i,e,s),void 0!==i.meta.optimisticResponse||void 0!==(null==(a=i.endpoint)?void 0:a.getOptimisticResponse)?t(i):Promise.resolve();case n:return t(i).then((()=>{if(i.meta.key in this.fetched){var e;const t=null==(e=s.getState().meta[i.meta.key])?void 0:e.error;t?this.handleReceive(f(t,i.meta)):this.handleReceive(i)}}));case o:{const e=Object.assign({},this.rejectors);return this.clearAll(),t(i).then((()=>{for(const t in e)e[t](new _)}))}default:return t(i)}})}skipLogging(e){return e.type===r&&e.meta.key in this.fetched}init(){delete this.cleanupDate}cleanup(){this.cleanupDate=Date.now()}allSettled(){const e=Object.values(this.fetched);if(e.length)return Promise.allSettled(e)}clearAll(){for(const e in this.rejectors)this.clear(e)}clear(e){this.fetched[e].catch((()=>{})),delete this.resolvers[e],delete this.rejectors[e],delete this.fetched[e],delete this.fetchedAt[e]}getLastReset(){if(this.cleanupDate)return this.cleanupDate;const e=this.controller.getState().lastReset;return e instanceof Date?e.valueOf():"number"!=typeof e?-1/0:e}handleFetch(e,t,s){const r=e.payload,{key:i,throttle:n,resolve:a,reject:o}=e.meta,c="number"!=typeof e.meta.createdAt?e.meta.createdAt.getTime():e.meta.createdAt,l=()=>{let t=r();const s=e=>e.then((e=>(a(e),e))).catch((e=>{throw o(e),e}));return!n&&e.endpoint&&(t=s(t)),t=t.then((t=>{let s=this.getLastReset();var r,i;c>=s&&(e.endpoint&&this.controller?this.controller.resolve(e.endpoint,{args:e.meta.args,response:t,fetchedAt:c}):this.controller.dispatch(m(t,Object.assign({},e.meta,{fetchedAt:c,dataExpiryLength:null!=(r=null==(i=e.meta.options)?void 0:i.dataExpiryLength)?r:this.dataExpiryLength}))));return t})).catch((t=>{const s=this.getLastReset();var r,i;c>=s&&(e.endpoint&&this.controller?this.controller.resolve(e.endpoint,{args:e.meta.args,response:t,fetchedAt:c,error:!0}):this.controller.dispatch(f(t,Object.assign({},e.meta,{errorExpiryLength:null!=(r=null==(i=e.meta.options)?void 0:i.errorExpiryLength)?r:this.errorExpiryLength,fetchedAt:c}))));throw t})),n||e.endpoint||(t=s(t)),t};return n?this.throttle(i,l,c).then((e=>a(e))).catch((e=>o(e))):l().catch((()=>{}))}handleReceive(e){if(e.meta.key in this.fetched){let t;t=e.error?this.rejectors[e.meta.key]:this.resolvers[e.meta.key],t(e.payload),this.clear(e.meta.key)}}getMiddleware(){return this.middleware}throttle(e,t,r){const i=this.getLastReset();return e in this.fetched&&this.fetchedAt[e]>i||(this.fetched[e]=new Promise(((t,s)=>{this.resolvers[e]=t,this.rejectors[e]=s})),this.fetchedAt[e]=r,s((()=>{t().catch((()=>null))}),{timeout:500})),this.fetched[e]}},e.PollingSubscription=class{constructor({key:e,schema:t,fetch:s,frequency:r,getState:i},n,a){if(this.frequencyHistogram=new Map,this.offlineListener=()=>{this.cleanup(),this.connectionListener.addOnlineListener(this.onlineListener)},this.onlineListener=()=>{this.connectionListener.removeOnlineListener(this.onlineListener);const e=Date.now();this.startId=setTimeout((()=>{delete this.startId,this.update(),this.run()}),Math.max(0,this.lastFetchTime()-e+this.frequency)),this.connectionListener.addOfflineListener(this.offlineListener)},void 0===r)throw new Error("frequency needed for polling subscription");this.schema=t,this.fetch=s,this.frequency=r,this.key=e,this.frequencyHistogram.set(this.frequency,1),this.dispatch=n,this.getState=i,this.connectionListener=a||new F,this.connectionListener.isOnline()?this.onlineListener():this.offlineListener()}add(e){void 0!==e&&(this.frequencyHistogram.has(e)?this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)+1):(this.frequencyHistogram.set(e,1),e<this.frequency&&(this.frequency=e,this.run())))}remove(e){if(void 0===e)return!1;if(this.frequencyHistogram.has(e)&&(this.frequencyHistogram.set(e,this.frequencyHistogram.get(e)-1),this.frequencyHistogram.get(e)<1)){if(this.frequencyHistogram.delete(e),0===this.frequencyHistogram.size)return this.cleanup(),!0;e<=this.frequency&&(this.frequency=Math.min(...this.frequencyHistogram.keys()),this.run())}return!1}cleanup(){this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId),this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.startId&&(clearTimeout(this.startId),delete this.startId),this.connectionListener.removeOnlineListener(this.onlineListener),this.connectionListener.removeOfflineListener(this.offlineListener)}update(){const e=()=>this.fetch();e.schema=this.schema,e.key=()=>this.key,e.dataExpiryLength=this.frequency/2,e.errorExpiryLength=this.frequency/10,e.errorPolicy=()=>"soft";const t=w(e,{args:[]});t.meta.promise.catch((e=>null)),this.dispatch(t)}run(){this.startId||(this.intervalId&&(this.lastIntervalId=this.intervalId),this.intervalId=setInterval((()=>{this.lastIntervalId&&(clearInterval(this.lastIntervalId),delete this.lastIntervalId),this.update()}),this.frequency))}lastFetchTime(){var e,t;return null!=(e=null==(t=this.getState().meta[this.key])?void 0:t.date)?e:0}},e.ResetError=_,e.SubscriptionManager=class{constructor(e){this.subscriptions={},this.Subscription=e,this.middleware=({dispatch:e,getState:t})=>s=>r=>{switch(r.type){case c:try{this.handleSubscribe(r,e,t)}catch(e){console.error(e)}return Promise.resolve();case l:return this.handleUnsubscribe(r,e),Promise.resolve();default:return s(r)}}}cleanup(){for(const e in this.subscriptions)this.subscriptions[e].cleanup()}handleSubscribe(e,t,s){let r;if(e.endpoint){const{endpoint:t}=e,{args:i}=e.meta;r={schema:t.schema,fetch:()=>t(...i),frequency:t.pollFrequency,key:t.key(...i),getState:s}}else{var i;r={key:e.meta.key,frequency:null==(i=e.meta.options)?void 0:i.pollFrequency,schema:e.meta.schema,fetch:e.meta.fetch,getState:s}}r.key in this.subscriptions?this.subscriptions[r.key].add(r.frequency):this.subscriptions[r.key]=new this.Subscription(r,t)}handleUnsubscribe(e,t){var s;const r=e.meta.key,i=null==(s=e.meta.options)?void 0:s.pollFrequency;if(r in this.subscriptions){this.subscriptions[r].remove(i)&&delete this.subscriptions[r]}}getMiddleware(){return this.middleware}},e.__INTERNAL__=O,e.actionTypes=p,e.applyManager=function(e,t){return e.map((e=>{const s=e.getMiddleware();return({dispatch:e,getState:r})=>{t.dispatch=e,t.getState=r;const i=Object.create(t,{controller:{value:t}});return s(i)}}))},e.createFetch=w,e.createReceive=A,e.createReducer=L,e.initialState=k,e.legacyActions=y,e.newActions=q,e.reducer=P,Object.defineProperty(e,"__esModule",{value:!0})})); |
@@ -0,7 +1,27 @@ | ||
var _globalThis$document; | ||
import createReducer from '../state/reducer/createReducer.js'; | ||
const HASINTL = typeof Intl !== 'undefined'; | ||
const DEFAULT_CONFIG = { | ||
name: `Rest Hooks: ${(_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.title}`, | ||
autoPause: true, | ||
serialize: { | ||
options: undefined, | ||
/* istanbul ignore next */ | ||
replacer: HASINTL ? (key, value) => { | ||
if (typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' || key.endsWith('At'))) { | ||
return Intl.DateTimeFormat('en-US', { | ||
hour: 'numeric', | ||
minute: 'numeric', | ||
second: 'numeric', | ||
fractionalSecondDigits: 3 | ||
}).format(value); | ||
} | ||
return value; | ||
} : undefined | ||
} | ||
}; | ||
/** Integrates with https://github.com/zalmoxisus/redux-devtools-extension | ||
/** Integrates with https://github.com/reduxjs/redux-devtools | ||
* | ||
* Options: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md | ||
* Options: https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md | ||
* | ||
@@ -11,38 +31,16 @@ * @see https://resthooks.io/docs/api/DevToolsManager | ||
export default class DevToolsManager { | ||
constructor(config = { | ||
name: `Rest Hooks: ${(() => { | ||
var _globalThis$document; | ||
return (_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.title; | ||
})()}`, | ||
autoPause: true, | ||
serialize: { | ||
// the default options are only used if serialize isn't specified, so we include the default here | ||
options: { | ||
circular: '[CIRCULAR]', | ||
date: true | ||
}, | ||
/* istanbul ignore next */ | ||
replacer: (key, value) => { | ||
if (HASINTL && typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' || key.endsWith('At'))) { | ||
return Intl.DateTimeFormat('en-US', { | ||
hour: 'numeric', | ||
minute: 'numeric', | ||
second: 'numeric', | ||
fractionalSecondDigits: 3 | ||
}).format(value); | ||
} | ||
return value; | ||
} | ||
} | ||
}, skipLogging) { | ||
constructor(config, skipLogging) { | ||
/* istanbul ignore next */ | ||
this.devTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__.connect(config); | ||
this.devTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__.connect(Object.assign({}, DEFAULT_CONFIG, { | ||
config | ||
})); | ||
/* istanbul ignore if */ | ||
/* istanbul ignore next */ | ||
if (process.env.NODE_ENV === 'development' && this.devTools) { | ||
if (this.devTools) { | ||
this.middleware = controller => { | ||
const reducer = createReducer(controller); | ||
return next => action => { | ||
return next(action).then(() => { | ||
const ret = next(action); | ||
ret.then(() => { | ||
if (skipLogging != null && skipLogging(action)) return; | ||
@@ -52,2 +50,3 @@ const state = controller.getState(); | ||
}); | ||
return ret; | ||
}; | ||
@@ -76,2 +75,2 @@ }; | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiSEFTSU5UTCIsIkludGwiLCJEZXZUb29sc01hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsIm5hbWUiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImdsb2JhbFRoaXMiLCJkb2N1bWVudCIsInRpdGxlIiwiYXV0b1BhdXNlIiwic2VyaWFsaXplIiwib3B0aW9ucyIsImNpcmN1bGFyIiwiZGF0ZSIsInJlcGxhY2VyIiwia2V5IiwidmFsdWUiLCJpc0Zpbml0ZSIsImVuZHNXaXRoIiwiRGF0ZVRpbWVGb3JtYXQiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwiZnJhY3Rpb25hbFNlY29uZERpZ2l0cyIsImZvcm1hdCIsInNraXBMb2dnaW5nIiwiZGV2VG9vbHMiLCJ3aW5kb3ciLCJfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fIiwiY29ubmVjdCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm1pZGRsZXdhcmUiLCJjb250cm9sbGVyIiwicmVkdWNlciIsIm5leHQiLCJhY3Rpb24iLCJ0aGVuIiwic3RhdGUiLCJnZXRTdGF0ZSIsInNlbmQiLCJvcHRpbWlzdGljIiwicmVkdWNlIiwidW5kZWZpbmVkIiwiaW5pdCIsImNsZWFudXAiLCJnZXRNaWRkbGV3YXJlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvRGV2dG9vbHNNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pZGRsZXdhcmVDb250cm9sbGVyIH0gZnJvbSAnLi4vbWlkZGxld2FyZVR5cGVzLmpzJztcbmltcG9ydCBjcmVhdGVSZWR1Y2VyIGZyb20gJy4uL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIE1hbmFnZXIsXG4gIFN0YXRlLFxuICBBY3Rpb25UeXBlcyxcbiAgTWlkZGxld2FyZUFQSSxcbiAgTWlkZGxld2FyZSxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSBEZXZUb29sc0NvbmZpZyA9IHtcbiAgW2s6IHN0cmluZ106IHVua25vd247XG4gIG5hbWU6IHN0cmluZztcbn07XG5cbmNvbnN0IEhBU0lOVEwgPSB0eXBlb2YgSW50bCAhPT0gJ3VuZGVmaW5lZCc7XG5cbi8qKiBJbnRlZ3JhdGVzIHdpdGggaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVkdXgtZGV2dG9vbHMtZXh0ZW5zaW9uXG4gKlxuICogT3B0aW9uczogaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVkdXgtZGV2dG9vbHMtZXh0ZW5zaW9uL2Jsb2IvbWFzdGVyL2RvY3MvQVBJL0FyZ3VtZW50cy5tZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vZG9jcy9hcGkvRGV2VG9vbHNNYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERldlRvb2xzTWFuYWdlciBpbXBsZW1lbnRzIE1hbmFnZXIge1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBkZXZUb29sczogdW5kZWZpbmVkIHwgYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZzogRGV2VG9vbHNDb25maWcgPSB7XG4gICAgICBuYW1lOiBgUmVzdCBIb29rczogJHtnbG9iYWxUaGlzLmRvY3VtZW50Py50aXRsZX1gLFxuICAgICAgYXV0b1BhdXNlOiB0cnVlLFxuICAgICAgc2VyaWFsaXplOiB7XG4gICAgICAgIC8vIHRoZSBkZWZhdWx0IG9wdGlvbnMgYXJlIG9ubHkgdXNlZCBpZiBzZXJpYWxpemUgaXNuJ3Qgc3BlY2lmaWVkLCBzbyB3ZSBpbmNsdWRlIHRoZSBkZWZhdWx0IGhlcmVcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGNpcmN1bGFyOiAnW0NJUkNVTEFSXScsXG4gICAgICAgICAgZGF0ZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmVwbGFjZXI6IChrZXk6IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCwgdmFsdWU6IHVua25vd24pID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBIQVNJTlRMICYmXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgaXNGaW5pdGUodmFsdWUpICYmXG4gICAgICAgICAgICAoa2V5ID09PSAnZGF0ZScgfHwga2V5LmVuZHNXaXRoKCdBdCcpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLVVTJywge1xuICAgICAgICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICAgICAgICBzZWNvbmQ6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgZnJhY3Rpb25hbFNlY29uZERpZ2l0czogMyxcbiAgICAgICAgICAgIH0pLmZvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBza2lwTG9nZ2luZz86IChhY3Rpb246IEFjdGlvblR5cGVzKSA9PiBib29sZWFuLFxuICApIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoaXMuZGV2VG9vbHMgPVxuICAgICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICh3aW5kb3cgYXMgYW55KS5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fICYmXG4gICAgICAod2luZG93IGFzIGFueSkuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KGNvbmZpZyk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyAmJiB0aGlzLmRldlRvb2xzKSB7XG4gICAgICB0aGlzLm1pZGRsZXdhcmUgPSA8QyBleHRlbmRzIE1pZGRsZXdhcmVDb250cm9sbGVyPihjb250cm9sbGVyOiBDKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKGNvbnRyb2xsZXIgYXMgYW55KTtcbiAgICAgICAgcmV0dXJuIChuZXh0OiBDWydkaXNwYXRjaCddKTogQ1snZGlzcGF0Y2gnXSA9PlxuICAgICAgICAgIGFjdGlvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoc2tpcExvZ2dpbmc/LihhY3Rpb24pKSByZXR1cm47XG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgICAgICAgICAgICB0aGlzLmRldlRvb2xzLnNlbmQoXG4gICAgICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgICAgIHN0YXRlLm9wdGltaXN0aWMucmVkdWNlKHJlZHVjZXIsIHN0YXRlKSxcbiAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgJ1JFU1RfSE9PS1MnLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWlkZGxld2FyZSA9ICgpID0+IG5leHQgPT4gYWN0aW9uID0+IG5leHQoYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gaW5pdGlhbCBzdGF0ZSBpcyByZWFkeSAqL1xuICBpbml0KHN0YXRlOiBTdGF0ZTxhbnk+KSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHRoaXMuZGV2VG9vbHMpIHRoaXMuZGV2VG9vbHMuaW5pdChzdGF0ZSk7XG4gIH1cblxuICAvKiogRW5zdXJlcyBhbGwgc3Vic2NyaXB0aW9ucyBhcmUgY2xlYW5lZCB1cC4gKi9cbiAgY2xlYW51cCgpIHt9XG5cbiAgLyoqIEF0dGFjaGVzIE1hbmFnZXIgdG8gc3RvcmVcbiAgICpcbiAgICovXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFDQSxPQUFPQSxhQUFhLE1BQU0sbUNBQW1DO0FBYzdELE1BQU1DLE9BQU8sR0FBRyxPQUFPQyxJQUFJLEtBQUssV0FBVzs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNQyxlQUFlLENBQW9CO0VBSXREQyxXQUFXQSxDQUNUQyxNQUFzQixHQUFHO0lBQ3ZCQyxJQUFJLEVBQUcsZUFBWTtNQUFBLElBQUFDLG9CQUFBO01BQUEsUUFBQUEsb0JBQUEsR0FBRUMsVUFBVSxDQUFDQyxRQUFRLHFCQUFuQkYsb0JBQUEsQ0FBcUJHLEtBQUs7SUFBQSxJQUFDLEVBQUM7SUFDakRDLFNBQVMsRUFBRSxJQUFJO0lBQ2ZDLFNBQVMsRUFBRTtNQUNUO01BQ0FDLE9BQU8sRUFBRTtRQUNQQyxRQUFRLEVBQUUsWUFBWTtRQUN0QkMsSUFBSSxFQUFFO01BQ1IsQ0FBQztNQUNEO01BQ0FDLFFBQVEsRUFBRUEsQ0FBQ0MsR0FBNkIsRUFBRUMsS0FBYyxLQUFLO1FBQzNELElBQ0VqQixPQUFPLElBQ1AsT0FBT2lCLEtBQUssS0FBSyxRQUFRLElBQ3pCLE9BQU9ELEdBQUcsS0FBSyxRQUFRLElBQ3ZCRSxRQUFRLENBQUNELEtBQUssQ0FBQyxLQUNkRCxHQUFHLEtBQUssTUFBTSxJQUFJQSxHQUFHLENBQUNHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN0QztVQUNBLE9BQU9sQixJQUFJLENBQUNtQixjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ2xDQyxJQUFJLEVBQUUsU0FBUztZQUNmQyxNQUFNLEVBQUUsU0FBUztZQUNqQkMsTUFBTSxFQUFFLFNBQVM7WUFDakJDLHNCQUFzQixFQUFFO1VBQzFCLENBQUMsQ0FBQyxDQUFDQyxNQUFNLENBQUNSLEtBQUssQ0FBQztRQUNsQjtRQUNBLE9BQU9BLEtBQUs7TUFDZDtJQUNGO0VBQ0YsQ0FBQyxFQUNEUyxXQUE4QyxFQUM5QztJQUNBO0lBQ0EsSUFBSSxDQUFDQyxRQUFRLEdBQ1gsT0FBT0MsTUFBTSxLQUFLLFdBQVcsSUFDNUJBLE1BQU0sQ0FBU0MsNEJBQTRCLElBQzNDRCxNQUFNLENBQVNDLDRCQUE0QixDQUFDQyxPQUFPLENBQUMxQixNQUFNLENBQUM7O0lBRTlEO0lBQ0E7SUFDQSxJQUFJMkIsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLElBQUksSUFBSSxDQUFDTixRQUFRLEVBQUU7TUFDM0QsSUFBSSxDQUFDTyxVQUFVLEdBQW9DQyxVQUFhLElBQUs7UUFDbkUsTUFBTUMsT0FBTyxHQUFHckMsYUFBYSxDQUFDb0MsVUFBVSxDQUFRO1FBQ2hELE9BQVFFLElBQW1CLElBQ3pCQyxNQUFNLElBQUk7VUFDUixPQUFPRCxJQUFJLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxJQUFJLENBQUMsTUFBTTtZQUM3QixJQUFJYixXQUFXLFlBQVhBLFdBQVcsQ0FBR1ksTUFBTSxDQUFDLEVBQUU7WUFDM0IsTUFBTUUsS0FBSyxHQUFHTCxVQUFVLENBQUNNLFFBQVEsRUFBRTtZQUNuQyxJQUFJLENBQUNkLFFBQVEsQ0FBQ2UsSUFBSSxDQUNoQkosTUFBTSxFQUNORSxLQUFLLENBQUNHLFVBQVUsQ0FBQ0MsTUFBTSxDQUFDUixPQUFPLEVBQUVJLEtBQUssQ0FBQyxFQUN2Q0ssU0FBUyxFQUNULFlBQVksQ0FDYjtVQUNILENBQUMsQ0FBQztRQUNKLENBQUM7TUFDTCxDQUFDO0lBQ0gsQ0FBQyxNQUFNO01BQ0wsSUFBSSxDQUFDWCxVQUFVLEdBQUcsTUFBTUcsSUFBSSxJQUFJQyxNQUFNLElBQUlELElBQUksQ0FBQ0MsTUFBTSxDQUFDO0lBQ3hEO0VBQ0Y7O0VBRUE7RUFDQVEsSUFBSUEsQ0FBQ04sS0FBaUIsRUFBRTtJQUN0QjtJQUNBLElBQUksSUFBSSxDQUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDQSxRQUFRLENBQUNtQixJQUFJLENBQUNOLEtBQUssQ0FBQztFQUM5Qzs7RUFFQTtFQUNBTyxPQUFPQSxDQUFBLEVBQUcsQ0FBQzs7RUFFWDtBQUNGO0FBQ0E7RUFDRUMsYUFBYUEsQ0FBQSxFQUFHO0lBQ2QsT0FBTyxJQUFJLENBQUNkLFVBQVU7RUFDeEI7QUFDRiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiSEFTSU5UTCIsIkludGwiLCJERUZBVUxUX0NPTkZJRyIsIm5hbWUiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImdsb2JhbFRoaXMiLCJkb2N1bWVudCIsInRpdGxlIiwiYXV0b1BhdXNlIiwic2VyaWFsaXplIiwib3B0aW9ucyIsInVuZGVmaW5lZCIsInJlcGxhY2VyIiwia2V5IiwidmFsdWUiLCJpc0Zpbml0ZSIsImVuZHNXaXRoIiwiRGF0ZVRpbWVGb3JtYXQiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwiZnJhY3Rpb25hbFNlY29uZERpZ2l0cyIsImZvcm1hdCIsIkRldlRvb2xzTWFuYWdlciIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwic2tpcExvZ2dpbmciLCJkZXZUb29scyIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwiT2JqZWN0IiwiYXNzaWduIiwibWlkZGxld2FyZSIsImNvbnRyb2xsZXIiLCJyZWR1Y2VyIiwibmV4dCIsImFjdGlvbiIsInJldCIsInRoZW4iLCJzdGF0ZSIsImdldFN0YXRlIiwic2VuZCIsIm9wdGltaXN0aWMiLCJyZWR1Y2UiLCJpbml0IiwiY2xlYW51cCIsImdldE1pZGRsZXdhcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9EZXZ0b29sc01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9IGZyb20gJy4vZGV2dG9vbHNUeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IE1pZGRsZXdhcmUgfSBmcm9tICcuL0xvZ291dE1hbmFnZXIuanMnO1xuaW1wb3J0IGNyZWF0ZVJlZHVjZXIgZnJvbSAnLi4vc3RhdGUvcmVkdWNlci9jcmVhdGVSZWR1Y2VyLmpzJztcbmltcG9ydCB0eXBlIHsgTWFuYWdlciwgU3RhdGUsIEFjdGlvblR5cGVzIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSB7IERldlRvb2xzQ29uZmlnIH07XG5cbmNvbnN0IEhBU0lOVEwgPSB0eXBlb2YgSW50bCAhPT0gJ3VuZGVmaW5lZCc7XG5jb25zdCBERUZBVUxUX0NPTkZJRyA9IHtcbiAgbmFtZTogYFJlc3QgSG9va3M6ICR7Z2xvYmFsVGhpcy5kb2N1bWVudD8udGl0bGV9YCxcbiAgYXV0b1BhdXNlOiB0cnVlLFxuICBzZXJpYWxpemU6IHtcbiAgICBvcHRpb25zOiB1bmRlZmluZWQsXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXBsYWNlcjogSEFTSU5UTFxuICAgICAgPyAoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsIHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIGlzRmluaXRlKHZhbHVlKSAmJlxuICAgICAgICAgICAgKGtleSA9PT0gJ2RhdGUnIHx8IGtleS5lbmRzV2l0aCgnQXQnKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1VUycsIHtcbiAgICAgICAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgc2Vjb25kOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgIGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6IDMsXG4gICAgICAgICAgICB9KS5mb3JtYXQodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICB9LFxufTtcblxuLyoqIEludGVncmF0ZXMgd2l0aCBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZWR1eC1kZXZ0b29sc1xuICpcbiAqIE9wdGlvbnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3JlZHV4LWRldnRvb2xzL2Jsb2IvbWFpbi9leHRlbnNpb24vZG9jcy9BUEkvQXJndW1lbnRzLm1kXG4gKlxuICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9kb2NzL2FwaS9EZXZUb29sc01hbmFnZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGV2VG9vbHNNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIHByb3RlY3RlZCBkZWNsYXJlIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmU7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGRldlRvb2xzOiB1bmRlZmluZWQgfCBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29uZmlnPzogRGV2VG9vbHNDb25maWcsXG4gICAgc2tpcExvZ2dpbmc/OiAoYWN0aW9uOiBBY3Rpb25UeXBlcykgPT4gYm9vbGVhbixcbiAgKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLmRldlRvb2xzID1cbiAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAod2luZG93IGFzIGFueSkuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7XG4gICAgICAgIC4uLkRFRkFVTFRfQ09ORklHLFxuICAgICAgICBjb25maWcsXG4gICAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuZGV2VG9vbHMpIHtcbiAgICAgIHRoaXMubWlkZGxld2FyZSA9IGNvbnRyb2xsZXIgPT4ge1xuICAgICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihjb250cm9sbGVyIGFzIGFueSk7XG4gICAgICAgIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiB7XG4gICAgICAgICAgY29uc3QgcmV0ID0gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIHJldC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChza2lwTG9nZ2luZz8uKGFjdGlvbikpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5kZXZUb29scy5zZW5kKFxuICAgICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgICAgIHN0YXRlLm9wdGltaXN0aWMucmVkdWNlKHJlZHVjZXIsIHN0YXRlKSxcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAnUkVTVF9IT09LUycsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1pZGRsZXdhcmUgPSAoKSA9PiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIGluaXRpYWwgc3RhdGUgaXMgcmVhZHkgKi9cbiAgaW5pdChzdGF0ZTogU3RhdGU8YW55Pikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICh0aGlzLmRldlRvb2xzKSB0aGlzLmRldlRvb2xzLmluaXQoc3RhdGUpO1xuICB9XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7fVxuXG4gIC8qKiBBdHRhY2hlcyBNYW5hZ2VyIHRvIHN0b3JlXG4gICAqXG4gICAqL1xuICBnZXRNaWRkbGV3YXJlKCkge1xuICAgIHJldHVybiB0aGlzLm1pZGRsZXdhcmU7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU9BLGFBQWEsTUFBTSxtQ0FBbUM7QUFL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 |
export {}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbi8vaW1wb3J0IHR5cGUgeyBBY3Rpb25UeXBlcyBhcyBMZWdhY3lBY3Rpb25UeXBlcyB9IGZyb20gJy4vbGVnYWN5QWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvblR5cGVzIH0gZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcbmltcG9ydCB7XG4gIEFjdGlvblR5cGVzIGFzIExlZ2FjeUFjdGlvblR5cGVzLFxuICBDb21iaW5lZEFjdGlvblR5cGVzLFxuICBTdGF0ZSxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgUkhEaXNwYXRjaDxBY3Rpb25zID0gYW55PiA9ICh2YWx1ZTogQWN0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQVBJPFIgZXh0ZW5kcyBSZXN0SG9va3NSZWR1Y2VyID0gUmVzdEhvb2tzUmVkdWNlcj5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPFJIRGlzcGF0Y2g8Q29tYmluZWRBY3Rpb25UeXBlcz4+IHtcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcjxSSERpc3BhdGNoPENvbWJpbmVkQWN0aW9uVHlwZXM+Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucyA9IExlZ2FjeUFjdGlvblR5cGVzPlxuICBleHRlbmRzIENvbnRyb2xsZXI8UkhEaXNwYXRjaDxBY3Rpb25zPj4ge1xuICBjb250cm9sbGVyOiBDb250cm9sbGVyPFJIRGlzcGF0Y2g8QWN0aW9ucz4+O1xufVxuXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBhbnk+ID0gPFxuICBBIGV4dGVuZHMgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucz4sXG4+KFxuICBjb250cm9sbGVyOiBBLFxuKSA9PiAobmV4dDogQVsnZGlzcGF0Y2gnXSkgPT4gQVsnZGlzcGF0Y2gnXTtcblxuZXhwb3J0IHR5cGUgUmVzdEhvb2tzUmVkdWNlciA9IFJlYWN0LlJlZHVjZXI8U3RhdGU8dW5rbm93bj4sIEFjdGlvblR5cGVzPjtcblxuLyogVGhlIG5leHQgYXJlIHR5cGVzIGZyb20gUmVhY3Q7IGJ1dCB3ZSBkb24ndCB3YW50IGRlcGVuZGVuY2llcyBvbiBpdCAqL1xuZXhwb3J0IHR5cGUgRGlzcGF0Y2g8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9IChcbiAgYWN0aW9uOiBSZWR1Y2VyQWN0aW9uPFI+LFxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgdHlwZSBSZWR1Y2VyPFMsIEE+ID0gKHByZXZTdGF0ZTogUywgYWN0aW9uOiBBKSA9PiBTO1xuZXhwb3J0IHR5cGUgUmVkdWNlclN0YXRlPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPSBSIGV4dGVuZHMgUmVkdWNlcjxcbiAgaW5mZXIgUyxcbiAgYW55XG4+XG4gID8gU1xuICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUmVkdWNlckFjdGlvbjxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gUiBleHRlbmRzIFJlZHVjZXI8XG4gIGFueSxcbiAgaW5mZXIgQVxuPlxuICA/IEFcbiAgOiBuZXZlcjtcbiJdLCJtYXBwaW5ncyI6IiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbi8vaW1wb3J0IHR5cGUgeyBBY3Rpb25UeXBlcyBhcyBMZWdhY3lBY3Rpb25UeXBlcyB9IGZyb20gJy4vbGVnYWN5QWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvblR5cGVzIH0gZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcbmltcG9ydCB7XG4gIEFjdGlvblR5cGVzIGFzIExlZ2FjeUFjdGlvblR5cGVzLFxuICBDb21iaW5lZEFjdGlvblR5cGVzLFxuICBTdGF0ZSxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgUkhEaXNwYXRjaDxBY3Rpb25zID0gYW55PiA9ICh2YWx1ZTogQWN0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQVBJPFIgZXh0ZW5kcyBSZXN0SG9va3NSZWR1Y2VyID0gUmVzdEhvb2tzUmVkdWNlcj5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPFJIRGlzcGF0Y2g8Q29tYmluZWRBY3Rpb25UeXBlcz4+IHtcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcjxSSERpc3BhdGNoPENvbWJpbmVkQWN0aW9uVHlwZXM+Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucyA9IExlZ2FjeUFjdGlvblR5cGVzPlxuICBleHRlbmRzIENvbnRyb2xsZXI8UkhEaXNwYXRjaDxBY3Rpb25zPj4ge1xuICBjb250cm9sbGVyOiBDb250cm9sbGVyPFJIRGlzcGF0Y2g8QWN0aW9ucz4+O1xufVxuXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBhbnk+ID0gPFxuICBDIGV4dGVuZHMgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucz4sXG4+KFxuICBjb250cm9sbGVyOiBDLFxuKSA9PiAobmV4dDogQ1snZGlzcGF0Y2gnXSkgPT4gQ1snZGlzcGF0Y2gnXTtcblxuZXhwb3J0IHR5cGUgUmVzdEhvb2tzUmVkdWNlciA9IFJlYWN0LlJlZHVjZXI8U3RhdGU8dW5rbm93bj4sIEFjdGlvblR5cGVzPjtcblxuLyogVGhlIG5leHQgYXJlIHR5cGVzIGZyb20gUmVhY3Q7IGJ1dCB3ZSBkb24ndCB3YW50IGRlcGVuZGVuY2llcyBvbiBpdCAqL1xuZXhwb3J0IHR5cGUgRGlzcGF0Y2g8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9IChcbiAgYWN0aW9uOiBSZWR1Y2VyQWN0aW9uPFI+LFxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgdHlwZSBSZWR1Y2VyPFMsIEE+ID0gKHByZXZTdGF0ZTogUywgYWN0aW9uOiBBKSA9PiBTO1xuZXhwb3J0IHR5cGUgUmVkdWNlclN0YXRlPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPSBSIGV4dGVuZHMgUmVkdWNlcjxcbiAgaW5mZXIgUyxcbiAgYW55XG4+XG4gID8gU1xuICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUmVkdWNlckFjdGlvbjxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gUiBleHRlbmRzIFJlZHVjZXI8XG4gIGFueSxcbiAgaW5mZXIgQVxuPlxuICA/IEFcbiAgOiBuZXZlcjtcbiJdLCJtYXBwaW5ncyI6IiJ9 |
export {}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL25ld0FjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBFbmRwb2ludEludGVyZmFjZSxcbiAgUmVzb2x2ZVR5cGUsXG4gIFVua25vd25FcnJvcixcbn0gZnJvbSAnQHJlc3QtaG9va3Mvbm9ybWFsaXpyJztcblxuaW1wb3J0IHR5cGUge1xuICBSRUNFSVZFX1RZUEUsXG4gIFJFU0VUX1RZUEUsXG4gIEZFVENIX1RZUEUsXG4gIFNVQlNDUklCRV9UWVBFLFxuICBVTlNVQlNDUklCRV9UWVBFLFxuICBJTlZBTElEQVRFX1RZUEUsXG4gIEdDX1RZUEUsXG4gIE9QVElNSVNUSUNfVFlQRSxcbiAgSU5WQUxJREFURUFMTF9UWVBFLFxufSBmcm9tICcuL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRW5kcG9pbnRVcGRhdGVGdW5jdGlvbiB9IGZyb20gJy4vY29udHJvbGxlci90eXBlcy5qcyc7XG5cbi8qIFJFQ0VJVkUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZU1ldGEge1xuICBhcmdzOiByZWFkb25seSBhbnlbXTtcbiAgZmV0Y2hlZEF0OiBudW1iZXI7XG4gIGRhdGU6IG51bWJlcjtcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVBY3Rpb25TdWNjZXNzPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgUkVDRUlWRV9UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YTogUmVjZWl2ZU1ldGE7XG4gIHBheWxvYWQ6IFJlc29sdmVUeXBlPEU+O1xuICBlcnJvcj86IGZhbHNlO1xufVxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlQWN0aW9uRXJyb3I8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiB7XG4gIHR5cGU6IHR5cGVvZiBSRUNFSVZFX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBSZWNlaXZlTWV0YTtcbiAgcGF5bG9hZDogVW5rbm93bkVycm9yO1xuICBlcnJvcjogdHJ1ZTtcbn1cbmV4cG9ydCB0eXBlIFJlY2VpdmVBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+ID1cbiAgfCBSZWNlaXZlQWN0aW9uU3VjY2VzczxFPlxuICB8IFJlY2VpdmVBY3Rpb25FcnJvcjxFPjtcblxuZXhwb3J0IHR5cGUgU2V0QWN0aW9uPEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlPiA9XG4gIFJlY2VpdmVBY3Rpb248RT47XG5cbi8qIEZFVENIICovXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoTWV0YSB7XG4gIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB0aHJvdHRsZTogYm9vbGVhbjtcbiAgcmVzb2x2ZTogKHZhbHVlPzogYW55IHwgUHJvbWlzZUxpa2U8YW55PikgPT4gdm9pZDtcbiAgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkO1xuICBwcm9taXNlOiBQcm9taXNlTGlrZTxhbnk+O1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgLy8gaW5kaWNhdGVzIHdoZXRoZXIgbmV0d29yayBtYW5hZ2VyIHByb2Nlc3NlZCBpdFxuICBubT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+IHtcbiAgdHlwZTogdHlwZW9mIEZFVENIX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBGZXRjaE1ldGE7XG4gIHBheWxvYWQ6ICgpID0+IFJldHVyblR5cGU8RT47XG59XG5cbi8qIE9QVElNSVNUSUMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0FjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT47XG4gIH0gPSBFbmRwb2ludEludGVyZmFjZSAmIHtcbiAgICB1cGRhdGU/OiBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uPEVuZHBvaW50SW50ZXJmYWNlPjtcbiAgfSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgT1BUSU1JU1RJQ19UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YTogUmVjZWl2ZU1ldGE7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuLyogU1VCU0NSSUJFICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmliZUFjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2UsXG4+IHtcbiAgdHlwZTogdHlwZW9mIFNVQlNDUklCRV9UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YToge1xuICAgIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Vic2NyaWJlQWN0aW9uPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgVU5TVUJTQ1JJQkVfVFlQRTtcbiAgZW5kcG9pbnQ6IEU7XG4gIG1ldGE6IHtcbiAgICBhcmdzOiByZWFkb25seSBhbnlbXTtcbiAgfTtcbn1cblxuLyogSU5WQUxJREFURSAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkYXRlQWxsQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIElOVkFMSURBVEVBTExfVFlQRTtcbiAgdGVzdEtleTogKGtleTogc3RyaW5nKSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRhdGVBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgSU5WQUxJREFURV9UWVBFO1xuICBtZXRhOiB7XG4gICAga2V5OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qIFJFU0VUICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0QWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIFJFU0VUX1RZUEU7XG4gIGRhdGU6IG51bWJlcjtcbn1cblxuLyogR0MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR0NBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgR0NfVFlQRTtcbiAgZW50aXRpZXM6IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgcmVzdWx0czogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID1cbiAgfCBGZXRjaEFjdGlvblxuICB8IE9wdGltaXN0aWNBY3Rpb25cbiAgfCBSZWNlaXZlQWN0aW9uXG4gIHwgU3Vic2NyaWJlQWN0aW9uXG4gIHwgVW5zdWJzY3JpYmVBY3Rpb25cbiAgfCBJbnZhbGlkYXRlQWN0aW9uXG4gIHwgUmVzZXRBY3Rpb25cbiAgfCBHQ0FjdGlvbjtcbiJdLCJtYXBwaW5ncyI6IiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL25ld0FjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBFbmRwb2ludEludGVyZmFjZSxcbiAgUmVzb2x2ZVR5cGUsXG4gIFVua25vd25FcnJvcixcbn0gZnJvbSAnQHJlc3QtaG9va3Mvbm9ybWFsaXpyJztcblxuaW1wb3J0IHR5cGUge1xuICBTRVRfVFlQRSxcbiAgUkVTRVRfVFlQRSxcbiAgRkVUQ0hfVFlQRSxcbiAgU1VCU0NSSUJFX1RZUEUsXG4gIFVOU1VCU0NSSUJFX1RZUEUsXG4gIElOVkFMSURBVEVfVFlQRSxcbiAgR0NfVFlQRSxcbiAgT1BUSU1JU1RJQ19UWVBFLFxuICBJTlZBTElEQVRFQUxMX1RZUEUsXG59IGZyb20gJy4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi9jb250cm9sbGVyL3R5cGVzLmpzJztcblxuLyogUkVDRUlWRSAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlTWV0YSB7XG4gIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBmZXRjaGVkQXQ6IG51bWJlcjtcbiAgZGF0ZTogbnVtYmVyO1xuICBleHBpcmVzQXQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZUFjdGlvblN1Y2Nlc3M8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiB7XG4gIHR5cGU6IHR5cGVvZiBTRVRfVFlQRTtcbiAgZW5kcG9pbnQ6IEU7XG4gIG1ldGE6IFJlY2VpdmVNZXRhO1xuICBwYXlsb2FkOiBSZXNvbHZlVHlwZTxFPjtcbiAgZXJyb3I/OiBmYWxzZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZUFjdGlvbkVycm9yPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgU0VUX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBSZWNlaXZlTWV0YTtcbiAgcGF5bG9hZDogVW5rbm93bkVycm9yO1xuICBlcnJvcjogdHJ1ZTtcbn1cbmV4cG9ydCB0eXBlIFJlY2VpdmVBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+ID1cbiAgfCBSZWNlaXZlQWN0aW9uU3VjY2VzczxFPlxuICB8IFJlY2VpdmVBY3Rpb25FcnJvcjxFPjtcblxuZXhwb3J0IHR5cGUgU2V0QWN0aW9uPEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlPiA9XG4gIFJlY2VpdmVBY3Rpb248RT47XG5cbi8qIEZFVENIICovXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoTWV0YSB7XG4gIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB0aHJvdHRsZTogYm9vbGVhbjtcbiAgcmVzb2x2ZTogKHZhbHVlPzogYW55IHwgUHJvbWlzZUxpa2U8YW55PikgPT4gdm9pZDtcbiAgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkO1xuICBwcm9taXNlOiBQcm9taXNlTGlrZTxhbnk+O1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgLy8gaW5kaWNhdGVzIHdoZXRoZXIgbmV0d29yayBtYW5hZ2VyIHByb2Nlc3NlZCBpdFxuICBubT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+IHtcbiAgdHlwZTogdHlwZW9mIEZFVENIX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBGZXRjaE1ldGE7XG4gIHBheWxvYWQ6ICgpID0+IFJldHVyblR5cGU8RT47XG59XG5cbi8qIE9QVElNSVNUSUMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0FjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT47XG4gIH0gPSBFbmRwb2ludEludGVyZmFjZSAmIHtcbiAgICB1cGRhdGU/OiBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uPEVuZHBvaW50SW50ZXJmYWNlPjtcbiAgfSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgT1BUSU1JU1RJQ19UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YTogUmVjZWl2ZU1ldGE7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuLyogU1VCU0NSSUJFICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmliZUFjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2UsXG4+IHtcbiAgdHlwZTogdHlwZW9mIFNVQlNDUklCRV9UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YToge1xuICAgIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Vic2NyaWJlQWN0aW9uPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgVU5TVUJTQ1JJQkVfVFlQRTtcbiAgZW5kcG9pbnQ6IEU7XG4gIG1ldGE6IHtcbiAgICBhcmdzOiByZWFkb25seSBhbnlbXTtcbiAgfTtcbn1cblxuLyogSU5WQUxJREFURSAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkYXRlQWxsQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIElOVkFMSURBVEVBTExfVFlQRTtcbiAgdGVzdEtleTogKGtleTogc3RyaW5nKSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRhdGVBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgSU5WQUxJREFURV9UWVBFO1xuICBtZXRhOiB7XG4gICAga2V5OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qIFJFU0VUICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0QWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIFJFU0VUX1RZUEU7XG4gIGRhdGU6IG51bWJlcjtcbn1cblxuLyogR0MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR0NBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgR0NfVFlQRTtcbiAgZW50aXRpZXM6IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgcmVzdWx0czogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID1cbiAgfCBGZXRjaEFjdGlvblxuICB8IE9wdGltaXN0aWNBY3Rpb25cbiAgfCBSZWNlaXZlQWN0aW9uXG4gIHwgU3Vic2NyaWJlQWN0aW9uXG4gIHwgVW5zdWJzY3JpYmVBY3Rpb25cbiAgfCBJbnZhbGlkYXRlQWN0aW9uXG4gIHwgUmVzZXRBY3Rpb25cbiAgfCBHQ0FjdGlvbjtcbiJdLCJtYXBwaW5ncyI6IiJ9 |
@@ -1,9 +0,8 @@ | ||
import type { Manager, State, ActionTypes, Middleware } from '../types.js'; | ||
export type DevToolsConfig = { | ||
[k: string]: unknown; | ||
name: string; | ||
}; | ||
/** Integrates with https://github.com/zalmoxisus/redux-devtools-extension | ||
import type { DevToolsConfig } from './devtoolsTypes.js'; | ||
import type { Middleware } from './LogoutManager.js'; | ||
import type { Manager, State, ActionTypes } from '../types.js'; | ||
export type { DevToolsConfig }; | ||
/** Integrates with https://github.com/reduxjs/redux-devtools | ||
* | ||
* Options: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md | ||
* Options: https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md | ||
* | ||
@@ -23,4 +22,4 @@ * @see https://resthooks.io/docs/api/DevToolsManager | ||
*/ | ||
getMiddleware(): Middleware<any>; | ||
getMiddleware(): Middleware; | ||
} | ||
//# sourceMappingURL=DevtoolsManager.d.ts.map |
@@ -0,7 +1,27 @@ | ||
var _globalThis$document; | ||
import createReducer from '../state/reducer/createReducer.js'; | ||
const HASINTL = typeof Intl !== 'undefined'; | ||
const DEFAULT_CONFIG = { | ||
name: `Rest Hooks: ${(_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.title}`, | ||
autoPause: true, | ||
serialize: { | ||
options: undefined, | ||
/* istanbul ignore next */ | ||
replacer: HASINTL ? (key, value) => { | ||
if (typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' || key.endsWith('At'))) { | ||
return Intl.DateTimeFormat('en-US', { | ||
hour: 'numeric', | ||
minute: 'numeric', | ||
second: 'numeric', | ||
fractionalSecondDigits: 3 | ||
}).format(value); | ||
} | ||
return value; | ||
} : undefined | ||
} | ||
}; | ||
/** Integrates with https://github.com/zalmoxisus/redux-devtools-extension | ||
/** Integrates with https://github.com/reduxjs/redux-devtools | ||
* | ||
* Options: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md | ||
* Options: https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md | ||
* | ||
@@ -11,38 +31,17 @@ * @see https://resthooks.io/docs/api/DevToolsManager | ||
export default class DevToolsManager { | ||
constructor(config = { | ||
name: `Rest Hooks: ${(() => { | ||
var _globalThis$document; | ||
return (_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.title; | ||
})()}`, | ||
autoPause: true, | ||
serialize: { | ||
// the default options are only used if serialize isn't specified, so we include the default here | ||
options: { | ||
circular: '[CIRCULAR]', | ||
date: true | ||
}, | ||
/* istanbul ignore next */ | ||
replacer: (key, value) => { | ||
if (HASINTL && typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' || key.endsWith('At'))) { | ||
return Intl.DateTimeFormat('en-US', { | ||
hour: 'numeric', | ||
minute: 'numeric', | ||
second: 'numeric', | ||
fractionalSecondDigits: 3 | ||
}).format(value); | ||
} | ||
return value; | ||
} | ||
} | ||
}, skipLogging) { | ||
constructor(config, skipLogging) { | ||
/* istanbul ignore next */ | ||
this.devTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__.connect(config); | ||
this.devTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__.connect({ | ||
...DEFAULT_CONFIG, | ||
config | ||
}); | ||
/* istanbul ignore if */ | ||
/* istanbul ignore next */ | ||
if (process.env.NODE_ENV === 'development' && this.devTools) { | ||
if (this.devTools) { | ||
this.middleware = controller => { | ||
const reducer = createReducer(controller); | ||
return next => action => { | ||
return next(action).then(() => { | ||
const ret = next(action); | ||
ret.then(() => { | ||
if (skipLogging != null && skipLogging(action)) return; | ||
@@ -52,2 +51,3 @@ const state = controller.getState(); | ||
}); | ||
return ret; | ||
}; | ||
@@ -76,2 +76,2 @@ }; | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiSEFTSU5UTCIsIkludGwiLCJEZXZUb29sc01hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsIm5hbWUiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImdsb2JhbFRoaXMiLCJkb2N1bWVudCIsInRpdGxlIiwiYXV0b1BhdXNlIiwic2VyaWFsaXplIiwib3B0aW9ucyIsImNpcmN1bGFyIiwiZGF0ZSIsInJlcGxhY2VyIiwia2V5IiwidmFsdWUiLCJpc0Zpbml0ZSIsImVuZHNXaXRoIiwiRGF0ZVRpbWVGb3JtYXQiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwiZnJhY3Rpb25hbFNlY29uZERpZ2l0cyIsImZvcm1hdCIsInNraXBMb2dnaW5nIiwiZGV2VG9vbHMiLCJ3aW5kb3ciLCJfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fIiwiY29ubmVjdCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm1pZGRsZXdhcmUiLCJjb250cm9sbGVyIiwicmVkdWNlciIsIm5leHQiLCJhY3Rpb24iLCJ0aGVuIiwic3RhdGUiLCJnZXRTdGF0ZSIsInNlbmQiLCJvcHRpbWlzdGljIiwicmVkdWNlIiwidW5kZWZpbmVkIiwiaW5pdCIsImNsZWFudXAiLCJnZXRNaWRkbGV3YXJlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvRGV2dG9vbHNNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pZGRsZXdhcmVDb250cm9sbGVyIH0gZnJvbSAnLi4vbWlkZGxld2FyZVR5cGVzLmpzJztcbmltcG9ydCBjcmVhdGVSZWR1Y2VyIGZyb20gJy4uL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIE1hbmFnZXIsXG4gIFN0YXRlLFxuICBBY3Rpb25UeXBlcyxcbiAgTWlkZGxld2FyZUFQSSxcbiAgTWlkZGxld2FyZSxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSBEZXZUb29sc0NvbmZpZyA9IHtcbiAgW2s6IHN0cmluZ106IHVua25vd247XG4gIG5hbWU6IHN0cmluZztcbn07XG5cbmNvbnN0IEhBU0lOVEwgPSB0eXBlb2YgSW50bCAhPT0gJ3VuZGVmaW5lZCc7XG5cbi8qKiBJbnRlZ3JhdGVzIHdpdGggaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVkdXgtZGV2dG9vbHMtZXh0ZW5zaW9uXG4gKlxuICogT3B0aW9uczogaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVkdXgtZGV2dG9vbHMtZXh0ZW5zaW9uL2Jsb2IvbWFzdGVyL2RvY3MvQVBJL0FyZ3VtZW50cy5tZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vZG9jcy9hcGkvRGV2VG9vbHNNYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERldlRvb2xzTWFuYWdlciBpbXBsZW1lbnRzIE1hbmFnZXIge1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBkZXZUb29sczogdW5kZWZpbmVkIHwgYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZzogRGV2VG9vbHNDb25maWcgPSB7XG4gICAgICBuYW1lOiBgUmVzdCBIb29rczogJHtnbG9iYWxUaGlzLmRvY3VtZW50Py50aXRsZX1gLFxuICAgICAgYXV0b1BhdXNlOiB0cnVlLFxuICAgICAgc2VyaWFsaXplOiB7XG4gICAgICAgIC8vIHRoZSBkZWZhdWx0IG9wdGlvbnMgYXJlIG9ubHkgdXNlZCBpZiBzZXJpYWxpemUgaXNuJ3Qgc3BlY2lmaWVkLCBzbyB3ZSBpbmNsdWRlIHRoZSBkZWZhdWx0IGhlcmVcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGNpcmN1bGFyOiAnW0NJUkNVTEFSXScsXG4gICAgICAgICAgZGF0ZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmVwbGFjZXI6IChrZXk6IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCwgdmFsdWU6IHVua25vd24pID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBIQVNJTlRMICYmXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgaXNGaW5pdGUodmFsdWUpICYmXG4gICAgICAgICAgICAoa2V5ID09PSAnZGF0ZScgfHwga2V5LmVuZHNXaXRoKCdBdCcpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLVVTJywge1xuICAgICAgICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICAgICAgICBzZWNvbmQ6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgZnJhY3Rpb25hbFNlY29uZERpZ2l0czogMyxcbiAgICAgICAgICAgIH0pLmZvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBza2lwTG9nZ2luZz86IChhY3Rpb246IEFjdGlvblR5cGVzKSA9PiBib29sZWFuLFxuICApIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoaXMuZGV2VG9vbHMgPVxuICAgICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICh3aW5kb3cgYXMgYW55KS5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fICYmXG4gICAgICAod2luZG93IGFzIGFueSkuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KGNvbmZpZyk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyAmJiB0aGlzLmRldlRvb2xzKSB7XG4gICAgICB0aGlzLm1pZGRsZXdhcmUgPSA8QyBleHRlbmRzIE1pZGRsZXdhcmVDb250cm9sbGVyPihjb250cm9sbGVyOiBDKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKGNvbnRyb2xsZXIgYXMgYW55KTtcbiAgICAgICAgcmV0dXJuIChuZXh0OiBDWydkaXNwYXRjaCddKTogQ1snZGlzcGF0Y2gnXSA9PlxuICAgICAgICAgIGFjdGlvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoc2tpcExvZ2dpbmc/LihhY3Rpb24pKSByZXR1cm47XG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgICAgICAgICAgICB0aGlzLmRldlRvb2xzLnNlbmQoXG4gICAgICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgICAgIHN0YXRlLm9wdGltaXN0aWMucmVkdWNlKHJlZHVjZXIsIHN0YXRlKSxcbiAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgJ1JFU1RfSE9PS1MnLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWlkZGxld2FyZSA9ICgpID0+IG5leHQgPT4gYWN0aW9uID0+IG5leHQoYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gaW5pdGlhbCBzdGF0ZSBpcyByZWFkeSAqL1xuICBpbml0KHN0YXRlOiBTdGF0ZTxhbnk+KSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHRoaXMuZGV2VG9vbHMpIHRoaXMuZGV2VG9vbHMuaW5pdChzdGF0ZSk7XG4gIH1cblxuICAvKiogRW5zdXJlcyBhbGwgc3Vic2NyaXB0aW9ucyBhcmUgY2xlYW5lZCB1cC4gKi9cbiAgY2xlYW51cCgpIHt9XG5cbiAgLyoqIEF0dGFjaGVzIE1hbmFnZXIgdG8gc3RvcmVcbiAgICpcbiAgICovXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFDQSxPQUFPQSxhQUFhLE1BQU0sbUNBQW1DO0FBYzdELE1BQU1DLE9BQU8sR0FBRyxPQUFPQyxJQUFJLEtBQUssV0FBVzs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNQyxlQUFlLENBQW9CO0VBSXREQyxXQUFXQSxDQUNUQyxNQUFzQixHQUFHO0lBQ3ZCQyxJQUFJLEVBQUcsZUFBWTtNQUFBLElBQUFDLG9CQUFBO01BQUEsUUFBQUEsb0JBQUEsR0FBRUMsVUFBVSxDQUFDQyxRQUFRLHFCQUFuQkYsb0JBQUEsQ0FBcUJHLEtBQUs7SUFBQSxJQUFDLEVBQUM7SUFDakRDLFNBQVMsRUFBRSxJQUFJO0lBQ2ZDLFNBQVMsRUFBRTtNQUNUO01BQ0FDLE9BQU8sRUFBRTtRQUNQQyxRQUFRLEVBQUUsWUFBWTtRQUN0QkMsSUFBSSxFQUFFO01BQ1IsQ0FBQztNQUNEO01BQ0FDLFFBQVEsRUFBRUEsQ0FBQ0MsR0FBNkIsRUFBRUMsS0FBYyxLQUFLO1FBQzNELElBQ0VqQixPQUFPLElBQ1AsT0FBT2lCLEtBQUssS0FBSyxRQUFRLElBQ3pCLE9BQU9ELEdBQUcsS0FBSyxRQUFRLElBQ3ZCRSxRQUFRLENBQUNELEtBQUssQ0FBQyxLQUNkRCxHQUFHLEtBQUssTUFBTSxJQUFJQSxHQUFHLENBQUNHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN0QztVQUNBLE9BQU9sQixJQUFJLENBQUNtQixjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ2xDQyxJQUFJLEVBQUUsU0FBUztZQUNmQyxNQUFNLEVBQUUsU0FBUztZQUNqQkMsTUFBTSxFQUFFLFNBQVM7WUFDakJDLHNCQUFzQixFQUFFO1VBQzFCLENBQUMsQ0FBQyxDQUFDQyxNQUFNLENBQUNSLEtBQUssQ0FBQztRQUNsQjtRQUNBLE9BQU9BLEtBQUs7TUFDZDtJQUNGO0VBQ0YsQ0FBQyxFQUNEUyxXQUE4QyxFQUM5QztJQUNBO0lBQ0EsSUFBSSxDQUFDQyxRQUFRLEdBQ1gsT0FBT0MsTUFBTSxLQUFLLFdBQVcsSUFDNUJBLE1BQU0sQ0FBU0MsNEJBQTRCLElBQzNDRCxNQUFNLENBQVNDLDRCQUE0QixDQUFDQyxPQUFPLENBQUMxQixNQUFNLENBQUM7O0lBRTlEO0lBQ0E7SUFDQSxJQUFJMkIsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLElBQUksSUFBSSxDQUFDTixRQUFRLEVBQUU7TUFDM0QsSUFBSSxDQUFDTyxVQUFVLEdBQW9DQyxVQUFhLElBQUs7UUFDbkUsTUFBTUMsT0FBTyxHQUFHckMsYUFBYSxDQUFDb0MsVUFBVSxDQUFRO1FBQ2hELE9BQVFFLElBQW1CLElBQ3pCQyxNQUFNLElBQUk7VUFDUixPQUFPRCxJQUFJLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxJQUFJLENBQUMsTUFBTTtZQUM3QixJQUFJYixXQUFXLFlBQVhBLFdBQVcsQ0FBR1ksTUFBTSxDQUFDLEVBQUU7WUFDM0IsTUFBTUUsS0FBSyxHQUFHTCxVQUFVLENBQUNNLFFBQVEsRUFBRTtZQUNuQyxJQUFJLENBQUNkLFFBQVEsQ0FBQ2UsSUFBSSxDQUNoQkosTUFBTSxFQUNORSxLQUFLLENBQUNHLFVBQVUsQ0FBQ0MsTUFBTSxDQUFDUixPQUFPLEVBQUVJLEtBQUssQ0FBQyxFQUN2Q0ssU0FBUyxFQUNULFlBQVksQ0FDYjtVQUNILENBQUMsQ0FBQztRQUNKLENBQUM7TUFDTCxDQUFDO0lBQ0gsQ0FBQyxNQUFNO01BQ0wsSUFBSSxDQUFDWCxVQUFVLEdBQUcsTUFBTUcsSUFBSSxJQUFJQyxNQUFNLElBQUlELElBQUksQ0FBQ0MsTUFBTSxDQUFDO0lBQ3hEO0VBQ0Y7O0VBRUE7RUFDQVEsSUFBSUEsQ0FBQ04sS0FBaUIsRUFBRTtJQUN0QjtJQUNBLElBQUksSUFBSSxDQUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDQSxRQUFRLENBQUNtQixJQUFJLENBQUNOLEtBQUssQ0FBQztFQUM5Qzs7RUFFQTtFQUNBTyxPQUFPQSxDQUFBLEVBQUcsQ0FBQzs7RUFFWDtBQUNGO0FBQ0E7RUFDRUMsYUFBYUEsQ0FBQSxFQUFHO0lBQ2QsT0FBTyxJQUFJLENBQUNkLFVBQVU7RUFDeEI7QUFDRiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiSEFTSU5UTCIsIkludGwiLCJERUZBVUxUX0NPTkZJRyIsIm5hbWUiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImdsb2JhbFRoaXMiLCJkb2N1bWVudCIsInRpdGxlIiwiYXV0b1BhdXNlIiwic2VyaWFsaXplIiwib3B0aW9ucyIsInVuZGVmaW5lZCIsInJlcGxhY2VyIiwia2V5IiwidmFsdWUiLCJpc0Zpbml0ZSIsImVuZHNXaXRoIiwiRGF0ZVRpbWVGb3JtYXQiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwiZnJhY3Rpb25hbFNlY29uZERpZ2l0cyIsImZvcm1hdCIsIkRldlRvb2xzTWFuYWdlciIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwic2tpcExvZ2dpbmciLCJkZXZUb29scyIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwibWlkZGxld2FyZSIsImNvbnRyb2xsZXIiLCJyZWR1Y2VyIiwibmV4dCIsImFjdGlvbiIsInJldCIsInRoZW4iLCJzdGF0ZSIsImdldFN0YXRlIiwic2VuZCIsIm9wdGltaXN0aWMiLCJyZWR1Y2UiLCJpbml0IiwiY2xlYW51cCIsImdldE1pZGRsZXdhcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9EZXZ0b29sc01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9IGZyb20gJy4vZGV2dG9vbHNUeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IE1pZGRsZXdhcmUgfSBmcm9tICcuL0xvZ291dE1hbmFnZXIuanMnO1xuaW1wb3J0IGNyZWF0ZVJlZHVjZXIgZnJvbSAnLi4vc3RhdGUvcmVkdWNlci9jcmVhdGVSZWR1Y2VyLmpzJztcbmltcG9ydCB0eXBlIHsgTWFuYWdlciwgU3RhdGUsIEFjdGlvblR5cGVzIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSB7IERldlRvb2xzQ29uZmlnIH07XG5cbmNvbnN0IEhBU0lOVEwgPSB0eXBlb2YgSW50bCAhPT0gJ3VuZGVmaW5lZCc7XG5jb25zdCBERUZBVUxUX0NPTkZJRyA9IHtcbiAgbmFtZTogYFJlc3QgSG9va3M6ICR7Z2xvYmFsVGhpcy5kb2N1bWVudD8udGl0bGV9YCxcbiAgYXV0b1BhdXNlOiB0cnVlLFxuICBzZXJpYWxpemU6IHtcbiAgICBvcHRpb25zOiB1bmRlZmluZWQsXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXBsYWNlcjogSEFTSU5UTFxuICAgICAgPyAoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsIHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIGlzRmluaXRlKHZhbHVlKSAmJlxuICAgICAgICAgICAgKGtleSA9PT0gJ2RhdGUnIHx8IGtleS5lbmRzV2l0aCgnQXQnKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1VUycsIHtcbiAgICAgICAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgc2Vjb25kOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgIGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6IDMsXG4gICAgICAgICAgICB9KS5mb3JtYXQodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICB9LFxufTtcblxuLyoqIEludGVncmF0ZXMgd2l0aCBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZWR1eC1kZXZ0b29sc1xuICpcbiAqIE9wdGlvbnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3JlZHV4LWRldnRvb2xzL2Jsb2IvbWFpbi9leHRlbnNpb24vZG9jcy9BUEkvQXJndW1lbnRzLm1kXG4gKlxuICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9kb2NzL2FwaS9EZXZUb29sc01hbmFnZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGV2VG9vbHNNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIHByb3RlY3RlZCBkZWNsYXJlIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmU7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGRldlRvb2xzOiB1bmRlZmluZWQgfCBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29uZmlnPzogRGV2VG9vbHNDb25maWcsXG4gICAgc2tpcExvZ2dpbmc/OiAoYWN0aW9uOiBBY3Rpb25UeXBlcykgPT4gYm9vbGVhbixcbiAgKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLmRldlRvb2xzID1cbiAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAod2luZG93IGFzIGFueSkuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7XG4gICAgICAgIC4uLkRFRkFVTFRfQ09ORklHLFxuICAgICAgICBjb25maWcsXG4gICAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuZGV2VG9vbHMpIHtcbiAgICAgIHRoaXMubWlkZGxld2FyZSA9IGNvbnRyb2xsZXIgPT4ge1xuICAgICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihjb250cm9sbGVyIGFzIGFueSk7XG4gICAgICAgIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiB7XG4gICAgICAgICAgY29uc3QgcmV0ID0gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIHJldC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChza2lwTG9nZ2luZz8uKGFjdGlvbikpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5kZXZUb29scy5zZW5kKFxuICAgICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgICAgIHN0YXRlLm9wdGltaXN0aWMucmVkdWNlKHJlZHVjZXIsIHN0YXRlKSxcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAnUkVTVF9IT09LUycsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1pZGRsZXdhcmUgPSAoKSA9PiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIGluaXRpYWwgc3RhdGUgaXMgcmVhZHkgKi9cbiAgaW5pdChzdGF0ZTogU3RhdGU8YW55Pikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICh0aGlzLmRldlRvb2xzKSB0aGlzLmRldlRvb2xzLmluaXQoc3RhdGUpO1xuICB9XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7fVxuXG4gIC8qKiBBdHRhY2hlcyBNYW5hZ2VyIHRvIHN0b3JlXG4gICAqXG4gICAqL1xuICBnZXRNaWRkbGV3YXJlKCkge1xuICAgIHJldHVybiB0aGlzLm1pZGRsZXdhcmU7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU9BLGFBQWEsTUFBTSxtQ0FBbUM7QUFLN0QsTUFBTUMsT0FBTyxHQUFH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 |
@@ -12,3 +12,3 @@ /// <reference types="react" /> | ||
} | ||
export type Middleware<Actions = any> = <A extends MiddlewareController<Actions>>(controller: A) => (next: A['dispatch']) => A['dispatch']; | ||
export type Middleware<Actions = any> = <C extends MiddlewareController<Actions>>(controller: C) => (next: C['dispatch']) => C['dispatch']; | ||
export type RestHooksReducer = React.Reducer<State<unknown>, ActionTypes>; | ||
@@ -15,0 +15,0 @@ export type Dispatch<R extends Reducer<any, any>> = (action: ReducerAction<R>) => Promise<void>; |
export {}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbi8vaW1wb3J0IHR5cGUgeyBBY3Rpb25UeXBlcyBhcyBMZWdhY3lBY3Rpb25UeXBlcyB9IGZyb20gJy4vbGVnYWN5QWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvblR5cGVzIH0gZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcbmltcG9ydCB7XG4gIEFjdGlvblR5cGVzIGFzIExlZ2FjeUFjdGlvblR5cGVzLFxuICBDb21iaW5lZEFjdGlvblR5cGVzLFxuICBTdGF0ZSxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgUkhEaXNwYXRjaDxBY3Rpb25zID0gYW55PiA9ICh2YWx1ZTogQWN0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQVBJPFIgZXh0ZW5kcyBSZXN0SG9va3NSZWR1Y2VyID0gUmVzdEhvb2tzUmVkdWNlcj5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPFJIRGlzcGF0Y2g8Q29tYmluZWRBY3Rpb25UeXBlcz4+IHtcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcjxSSERpc3BhdGNoPENvbWJpbmVkQWN0aW9uVHlwZXM+Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucyA9IExlZ2FjeUFjdGlvblR5cGVzPlxuICBleHRlbmRzIENvbnRyb2xsZXI8UkhEaXNwYXRjaDxBY3Rpb25zPj4ge1xuICBjb250cm9sbGVyOiBDb250cm9sbGVyPFJIRGlzcGF0Y2g8QWN0aW9ucz4+O1xufVxuXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBhbnk+ID0gPFxuICBBIGV4dGVuZHMgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucz4sXG4+KFxuICBjb250cm9sbGVyOiBBLFxuKSA9PiAobmV4dDogQVsnZGlzcGF0Y2gnXSkgPT4gQVsnZGlzcGF0Y2gnXTtcblxuZXhwb3J0IHR5cGUgUmVzdEhvb2tzUmVkdWNlciA9IFJlYWN0LlJlZHVjZXI8U3RhdGU8dW5rbm93bj4sIEFjdGlvblR5cGVzPjtcblxuLyogVGhlIG5leHQgYXJlIHR5cGVzIGZyb20gUmVhY3Q7IGJ1dCB3ZSBkb24ndCB3YW50IGRlcGVuZGVuY2llcyBvbiBpdCAqL1xuZXhwb3J0IHR5cGUgRGlzcGF0Y2g8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9IChcbiAgYWN0aW9uOiBSZWR1Y2VyQWN0aW9uPFI+LFxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgdHlwZSBSZWR1Y2VyPFMsIEE+ID0gKHByZXZTdGF0ZTogUywgYWN0aW9uOiBBKSA9PiBTO1xuZXhwb3J0IHR5cGUgUmVkdWNlclN0YXRlPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPSBSIGV4dGVuZHMgUmVkdWNlcjxcbiAgaW5mZXIgUyxcbiAgYW55XG4+XG4gID8gU1xuICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUmVkdWNlckFjdGlvbjxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gUiBleHRlbmRzIFJlZHVjZXI8XG4gIGFueSxcbiAgaW5mZXIgQVxuPlxuICA/IEFcbiAgOiBuZXZlcjtcbiJdLCJtYXBwaW5ncyI6IiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbi8vaW1wb3J0IHR5cGUgeyBBY3Rpb25UeXBlcyBhcyBMZWdhY3lBY3Rpb25UeXBlcyB9IGZyb20gJy4vbGVnYWN5QWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvblR5cGVzIH0gZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcbmltcG9ydCB7XG4gIEFjdGlvblR5cGVzIGFzIExlZ2FjeUFjdGlvblR5cGVzLFxuICBDb21iaW5lZEFjdGlvblR5cGVzLFxuICBTdGF0ZSxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgUkhEaXNwYXRjaDxBY3Rpb25zID0gYW55PiA9ICh2YWx1ZTogQWN0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQVBJPFIgZXh0ZW5kcyBSZXN0SG9va3NSZWR1Y2VyID0gUmVzdEhvb2tzUmVkdWNlcj5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPFJIRGlzcGF0Y2g8Q29tYmluZWRBY3Rpb25UeXBlcz4+IHtcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcjxSSERpc3BhdGNoPENvbWJpbmVkQWN0aW9uVHlwZXM+Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucyA9IExlZ2FjeUFjdGlvblR5cGVzPlxuICBleHRlbmRzIENvbnRyb2xsZXI8UkhEaXNwYXRjaDxBY3Rpb25zPj4ge1xuICBjb250cm9sbGVyOiBDb250cm9sbGVyPFJIRGlzcGF0Y2g8QWN0aW9ucz4+O1xufVxuXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBhbnk+ID0gPFxuICBDIGV4dGVuZHMgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucz4sXG4+KFxuICBjb250cm9sbGVyOiBDLFxuKSA9PiAobmV4dDogQ1snZGlzcGF0Y2gnXSkgPT4gQ1snZGlzcGF0Y2gnXTtcblxuZXhwb3J0IHR5cGUgUmVzdEhvb2tzUmVkdWNlciA9IFJlYWN0LlJlZHVjZXI8U3RhdGU8dW5rbm93bj4sIEFjdGlvblR5cGVzPjtcblxuLyogVGhlIG5leHQgYXJlIHR5cGVzIGZyb20gUmVhY3Q7IGJ1dCB3ZSBkb24ndCB3YW50IGRlcGVuZGVuY2llcyBvbiBpdCAqL1xuZXhwb3J0IHR5cGUgRGlzcGF0Y2g8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9IChcbiAgYWN0aW9uOiBSZWR1Y2VyQWN0aW9uPFI+LFxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgdHlwZSBSZWR1Y2VyPFMsIEE+ID0gKHByZXZTdGF0ZTogUywgYWN0aW9uOiBBKSA9PiBTO1xuZXhwb3J0IHR5cGUgUmVkdWNlclN0YXRlPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPSBSIGV4dGVuZHMgUmVkdWNlcjxcbiAgaW5mZXIgUyxcbiAgYW55XG4+XG4gID8gU1xuICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUmVkdWNlckFjdGlvbjxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gUiBleHRlbmRzIFJlZHVjZXI8XG4gIGFueSxcbiAgaW5mZXIgQVxuPlxuICA/IEFcbiAgOiBuZXZlcjtcbiJdLCJtYXBwaW5ncyI6IiJ9 |
import type { EndpointInterface, ResolveType, UnknownError } from '@rest-hooks/normalizr'; | ||
import type { RECEIVE_TYPE, RESET_TYPE, FETCH_TYPE, SUBSCRIBE_TYPE, UNSUBSCRIBE_TYPE, INVALIDATE_TYPE, GC_TYPE, OPTIMISTIC_TYPE, INVALIDATEALL_TYPE } from './actionTypes.js'; | ||
import type { SET_TYPE, RESET_TYPE, FETCH_TYPE, SUBSCRIBE_TYPE, UNSUBSCRIBE_TYPE, INVALIDATE_TYPE, GC_TYPE, OPTIMISTIC_TYPE, INVALIDATEALL_TYPE } from './actionTypes.js'; | ||
import type { EndpointUpdateFunction } from './controller/types.js'; | ||
@@ -11,3 +11,3 @@ export interface ReceiveMeta { | ||
export interface ReceiveActionSuccess<E extends EndpointInterface = EndpointInterface> { | ||
type: typeof RECEIVE_TYPE; | ||
type: typeof SET_TYPE; | ||
endpoint: E; | ||
@@ -19,3 +19,3 @@ meta: ReceiveMeta; | ||
export interface ReceiveActionError<E extends EndpointInterface = EndpointInterface> { | ||
type: typeof RECEIVE_TYPE; | ||
type: typeof SET_TYPE; | ||
endpoint: E; | ||
@@ -22,0 +22,0 @@ meta: ReceiveMeta; |
export {}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL25ld0FjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBFbmRwb2ludEludGVyZmFjZSxcbiAgUmVzb2x2ZVR5cGUsXG4gIFVua25vd25FcnJvcixcbn0gZnJvbSAnQHJlc3QtaG9va3Mvbm9ybWFsaXpyJztcblxuaW1wb3J0IHR5cGUge1xuICBSRUNFSVZFX1RZUEUsXG4gIFJFU0VUX1RZUEUsXG4gIEZFVENIX1RZUEUsXG4gIFNVQlNDUklCRV9UWVBFLFxuICBVTlNVQlNDUklCRV9UWVBFLFxuICBJTlZBTElEQVRFX1RZUEUsXG4gIEdDX1RZUEUsXG4gIE9QVElNSVNUSUNfVFlQRSxcbiAgSU5WQUxJREFURUFMTF9UWVBFLFxufSBmcm9tICcuL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRW5kcG9pbnRVcGRhdGVGdW5jdGlvbiB9IGZyb20gJy4vY29udHJvbGxlci90eXBlcy5qcyc7XG5cbi8qIFJFQ0VJVkUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZU1ldGEge1xuICBhcmdzOiByZWFkb25seSBhbnlbXTtcbiAgZmV0Y2hlZEF0OiBudW1iZXI7XG4gIGRhdGU6IG51bWJlcjtcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVBY3Rpb25TdWNjZXNzPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgUkVDRUlWRV9UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YTogUmVjZWl2ZU1ldGE7XG4gIHBheWxvYWQ6IFJlc29sdmVUeXBlPEU+O1xuICBlcnJvcj86IGZhbHNlO1xufVxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlQWN0aW9uRXJyb3I8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiB7XG4gIHR5cGU6IHR5cGVvZiBSRUNFSVZFX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBSZWNlaXZlTWV0YTtcbiAgcGF5bG9hZDogVW5rbm93bkVycm9yO1xuICBlcnJvcjogdHJ1ZTtcbn1cbmV4cG9ydCB0eXBlIFJlY2VpdmVBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+ID1cbiAgfCBSZWNlaXZlQWN0aW9uU3VjY2VzczxFPlxuICB8IFJlY2VpdmVBY3Rpb25FcnJvcjxFPjtcblxuZXhwb3J0IHR5cGUgU2V0QWN0aW9uPEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlPiA9XG4gIFJlY2VpdmVBY3Rpb248RT47XG5cbi8qIEZFVENIICovXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoTWV0YSB7XG4gIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB0aHJvdHRsZTogYm9vbGVhbjtcbiAgcmVzb2x2ZTogKHZhbHVlPzogYW55IHwgUHJvbWlzZUxpa2U8YW55PikgPT4gdm9pZDtcbiAgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkO1xuICBwcm9taXNlOiBQcm9taXNlTGlrZTxhbnk+O1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgLy8gaW5kaWNhdGVzIHdoZXRoZXIgbmV0d29yayBtYW5hZ2VyIHByb2Nlc3NlZCBpdFxuICBubT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+IHtcbiAgdHlwZTogdHlwZW9mIEZFVENIX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBGZXRjaE1ldGE7XG4gIHBheWxvYWQ6ICgpID0+IFJldHVyblR5cGU8RT47XG59XG5cbi8qIE9QVElNSVNUSUMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0FjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT47XG4gIH0gPSBFbmRwb2ludEludGVyZmFjZSAmIHtcbiAgICB1cGRhdGU/OiBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uPEVuZHBvaW50SW50ZXJmYWNlPjtcbiAgfSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgT1BUSU1JU1RJQ19UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YTogUmVjZWl2ZU1ldGE7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuLyogU1VCU0NSSUJFICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmliZUFjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2UsXG4+IHtcbiAgdHlwZTogdHlwZW9mIFNVQlNDUklCRV9UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YToge1xuICAgIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Vic2NyaWJlQWN0aW9uPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgVU5TVUJTQ1JJQkVfVFlQRTtcbiAgZW5kcG9pbnQ6IEU7XG4gIG1ldGE6IHtcbiAgICBhcmdzOiByZWFkb25seSBhbnlbXTtcbiAgfTtcbn1cblxuLyogSU5WQUxJREFURSAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkYXRlQWxsQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIElOVkFMSURBVEVBTExfVFlQRTtcbiAgdGVzdEtleTogKGtleTogc3RyaW5nKSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRhdGVBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgSU5WQUxJREFURV9UWVBFO1xuICBtZXRhOiB7XG4gICAga2V5OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qIFJFU0VUICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0QWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIFJFU0VUX1RZUEU7XG4gIGRhdGU6IG51bWJlcjtcbn1cblxuLyogR0MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR0NBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgR0NfVFlQRTtcbiAgZW50aXRpZXM6IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgcmVzdWx0czogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID1cbiAgfCBGZXRjaEFjdGlvblxuICB8IE9wdGltaXN0aWNBY3Rpb25cbiAgfCBSZWNlaXZlQWN0aW9uXG4gIHwgU3Vic2NyaWJlQWN0aW9uXG4gIHwgVW5zdWJzY3JpYmVBY3Rpb25cbiAgfCBJbnZhbGlkYXRlQWN0aW9uXG4gIHwgUmVzZXRBY3Rpb25cbiAgfCBHQ0FjdGlvbjtcbiJdLCJtYXBwaW5ncyI6IiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL25ld0FjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBFbmRwb2ludEludGVyZmFjZSxcbiAgUmVzb2x2ZVR5cGUsXG4gIFVua25vd25FcnJvcixcbn0gZnJvbSAnQHJlc3QtaG9va3Mvbm9ybWFsaXpyJztcblxuaW1wb3J0IHR5cGUge1xuICBTRVRfVFlQRSxcbiAgUkVTRVRfVFlQRSxcbiAgRkVUQ0hfVFlQRSxcbiAgU1VCU0NSSUJFX1RZUEUsXG4gIFVOU1VCU0NSSUJFX1RZUEUsXG4gIElOVkFMSURBVEVfVFlQRSxcbiAgR0NfVFlQRSxcbiAgT1BUSU1JU1RJQ19UWVBFLFxuICBJTlZBTElEQVRFQUxMX1RZUEUsXG59IGZyb20gJy4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi9jb250cm9sbGVyL3R5cGVzLmpzJztcblxuLyogUkVDRUlWRSAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlTWV0YSB7XG4gIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBmZXRjaGVkQXQ6IG51bWJlcjtcbiAgZGF0ZTogbnVtYmVyO1xuICBleHBpcmVzQXQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZUFjdGlvblN1Y2Nlc3M8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiB7XG4gIHR5cGU6IHR5cGVvZiBTRVRfVFlQRTtcbiAgZW5kcG9pbnQ6IEU7XG4gIG1ldGE6IFJlY2VpdmVNZXRhO1xuICBwYXlsb2FkOiBSZXNvbHZlVHlwZTxFPjtcbiAgZXJyb3I/OiBmYWxzZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZUFjdGlvbkVycm9yPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgU0VUX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBSZWNlaXZlTWV0YTtcbiAgcGF5bG9hZDogVW5rbm93bkVycm9yO1xuICBlcnJvcjogdHJ1ZTtcbn1cbmV4cG9ydCB0eXBlIFJlY2VpdmVBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+ID1cbiAgfCBSZWNlaXZlQWN0aW9uU3VjY2VzczxFPlxuICB8IFJlY2VpdmVBY3Rpb25FcnJvcjxFPjtcblxuZXhwb3J0IHR5cGUgU2V0QWN0aW9uPEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlPiA9XG4gIFJlY2VpdmVBY3Rpb248RT47XG5cbi8qIEZFVENIICovXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoTWV0YSB7XG4gIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB0aHJvdHRsZTogYm9vbGVhbjtcbiAgcmVzb2x2ZTogKHZhbHVlPzogYW55IHwgUHJvbWlzZUxpa2U8YW55PikgPT4gdm9pZDtcbiAgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkO1xuICBwcm9taXNlOiBQcm9taXNlTGlrZTxhbnk+O1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgLy8gaW5kaWNhdGVzIHdoZXRoZXIgbmV0d29yayBtYW5hZ2VyIHByb2Nlc3NlZCBpdFxuICBubT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hBY3Rpb248RSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2U+IHtcbiAgdHlwZTogdHlwZW9mIEZFVENIX1RZUEU7XG4gIGVuZHBvaW50OiBFO1xuICBtZXRhOiBGZXRjaE1ldGE7XG4gIHBheWxvYWQ6ICgpID0+IFJldHVyblR5cGU8RT47XG59XG5cbi8qIE9QVElNSVNUSUMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0FjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT47XG4gIH0gPSBFbmRwb2ludEludGVyZmFjZSAmIHtcbiAgICB1cGRhdGU/OiBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uPEVuZHBvaW50SW50ZXJmYWNlPjtcbiAgfSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgT1BUSU1JU1RJQ19UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YTogUmVjZWl2ZU1ldGE7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuLyogU1VCU0NSSUJFICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmliZUFjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2UsXG4+IHtcbiAgdHlwZTogdHlwZW9mIFNVQlNDUklCRV9UWVBFO1xuICBlbmRwb2ludDogRTtcbiAgbWV0YToge1xuICAgIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Vic2NyaWJlQWN0aW9uPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4ge1xuICB0eXBlOiB0eXBlb2YgVU5TVUJTQ1JJQkVfVFlQRTtcbiAgZW5kcG9pbnQ6IEU7XG4gIG1ldGE6IHtcbiAgICBhcmdzOiByZWFkb25seSBhbnlbXTtcbiAgfTtcbn1cblxuLyogSU5WQUxJREFURSAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkYXRlQWxsQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIElOVkFMSURBVEVBTExfVFlQRTtcbiAgdGVzdEtleTogKGtleTogc3RyaW5nKSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRhdGVBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgSU5WQUxJREFURV9UWVBFO1xuICBtZXRhOiB7XG4gICAga2V5OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qIFJFU0VUICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0QWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIFJFU0VUX1RZUEU7XG4gIGRhdGU6IG51bWJlcjtcbn1cblxuLyogR0MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgR0NBY3Rpb24ge1xuICB0eXBlOiB0eXBlb2YgR0NfVFlQRTtcbiAgZW50aXRpZXM6IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgcmVzdWx0czogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID1cbiAgfCBGZXRjaEFjdGlvblxuICB8IE9wdGltaXN0aWNBY3Rpb25cbiAgfCBSZWNlaXZlQWN0aW9uXG4gIHwgU3Vic2NyaWJlQWN0aW9uXG4gIHwgVW5zdWJzY3JpYmVBY3Rpb25cbiAgfCBJbnZhbGlkYXRlQWN0aW9uXG4gIHwgUmVzZXRBY3Rpb25cbiAgfCBHQ0FjdGlvbjtcbiJdLCJtYXBwaW5ncyI6IiJ9 |
{ | ||
"name": "@rest-hooks/core", | ||
"version": "4.2.5", | ||
"version": "4.2.6", | ||
"description": "Normalized Asynchronous data framework. Protocol and View agnostic.", | ||
@@ -129,3 +129,3 @@ "sideEffects": false, | ||
}, | ||
"gitHead": "80c7f846fbd77c58b61ba92941dc0514e266f9a9" | ||
"gitHead": "922ed06e929151f59b51161629e220824da0b080" | ||
} |
@@ -1,42 +0,18 @@ | ||
import { MiddlewareController } from '../middlewareTypes.js'; | ||
import type { DevToolsConfig } from './devtoolsTypes.js'; | ||
import type { Middleware } from './LogoutManager.js'; | ||
import createReducer from '../state/reducer/createReducer.js'; | ||
import type { | ||
Manager, | ||
State, | ||
ActionTypes, | ||
MiddlewareAPI, | ||
Middleware, | ||
} from '../types.js'; | ||
import type { Manager, State, ActionTypes } from '../types.js'; | ||
export type DevToolsConfig = { | ||
[k: string]: unknown; | ||
name: string; | ||
}; | ||
export type { DevToolsConfig }; | ||
const HASINTL = typeof Intl !== 'undefined'; | ||
/** Integrates with https://github.com/zalmoxisus/redux-devtools-extension | ||
* | ||
* Options: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md | ||
* | ||
* @see https://resthooks.io/docs/api/DevToolsManager | ||
*/ | ||
export default class DevToolsManager implements Manager { | ||
protected declare middleware: Middleware; | ||
protected declare devTools: undefined | any; | ||
constructor( | ||
config: DevToolsConfig = { | ||
name: `Rest Hooks: ${globalThis.document?.title}`, | ||
autoPause: true, | ||
serialize: { | ||
// the default options are only used if serialize isn't specified, so we include the default here | ||
options: { | ||
circular: '[CIRCULAR]', | ||
date: true, | ||
}, | ||
/* istanbul ignore next */ | ||
replacer: (key: string | number | symbol, value: unknown) => { | ||
const DEFAULT_CONFIG = { | ||
name: `Rest Hooks: ${globalThis.document?.title}`, | ||
autoPause: true, | ||
serialize: { | ||
options: undefined, | ||
/* istanbul ignore next */ | ||
replacer: HASINTL | ||
? (key: string | number | symbol, value: unknown) => { | ||
if ( | ||
HASINTL && | ||
typeof value === 'number' && | ||
@@ -55,5 +31,19 @@ typeof key === 'string' && | ||
return value; | ||
}, | ||
}, | ||
}, | ||
} | ||
: undefined, | ||
}, | ||
}; | ||
/** Integrates with https://github.com/reduxjs/redux-devtools | ||
* | ||
* Options: https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md | ||
* | ||
* @see https://resthooks.io/docs/api/DevToolsManager | ||
*/ | ||
export default class DevToolsManager implements Manager { | ||
protected declare middleware: Middleware; | ||
protected declare devTools: undefined | any; | ||
constructor( | ||
config?: DevToolsConfig, | ||
skipLogging?: (action: ActionTypes) => boolean, | ||
@@ -65,22 +55,26 @@ ) { | ||
(window as any).__REDUX_DEVTOOLS_EXTENSION__ && | ||
(window as any).__REDUX_DEVTOOLS_EXTENSION__.connect(config); | ||
(window as any).__REDUX_DEVTOOLS_EXTENSION__.connect({ | ||
...DEFAULT_CONFIG, | ||
config, | ||
}); | ||
/* istanbul ignore if */ | ||
/* istanbul ignore next */ | ||
if (process.env.NODE_ENV === 'development' && this.devTools) { | ||
this.middleware = <C extends MiddlewareController>(controller: C) => { | ||
if (this.devTools) { | ||
this.middleware = controller => { | ||
const reducer = createReducer(controller as any); | ||
return (next: C['dispatch']): C['dispatch'] => | ||
action => { | ||
return next(action).then(() => { | ||
if (skipLogging?.(action)) return; | ||
const state = controller.getState(); | ||
this.devTools.send( | ||
action, | ||
state.optimistic.reduce(reducer, state), | ||
undefined, | ||
'REST_HOOKS', | ||
); | ||
}); | ||
}; | ||
return next => action => { | ||
const ret = next(action); | ||
ret.then(() => { | ||
if (skipLogging?.(action)) return; | ||
const state = controller.getState(); | ||
this.devTools.send( | ||
action, | ||
state.optimistic.reduce(reducer, state), | ||
undefined, | ||
'REST_HOOKS', | ||
); | ||
}); | ||
return ret; | ||
}; | ||
}; | ||
@@ -87,0 +81,0 @@ } else { |
@@ -22,6 +22,6 @@ import type Controller from './controller/Controller.js'; | ||
export type Middleware<Actions = any> = < | ||
A extends MiddlewareController<Actions>, | ||
C extends MiddlewareController<Actions>, | ||
>( | ||
controller: A, | ||
) => (next: A['dispatch']) => A['dispatch']; | ||
controller: C, | ||
) => (next: C['dispatch']) => C['dispatch']; | ||
@@ -28,0 +28,0 @@ export type RestHooksReducer = React.Reducer<State<unknown>, ActionTypes>; |
@@ -8,3 +8,3 @@ import type { | ||
import type { | ||
RECEIVE_TYPE, | ||
SET_TYPE, | ||
RESET_TYPE, | ||
@@ -31,3 +31,3 @@ FETCH_TYPE, | ||
> { | ||
type: typeof RECEIVE_TYPE; | ||
type: typeof SET_TYPE; | ||
endpoint: E; | ||
@@ -41,3 +41,3 @@ meta: ReceiveMeta; | ||
> { | ||
type: typeof RECEIVE_TYPE; | ||
type: typeof SET_TYPE; | ||
endpoint: E; | ||
@@ -44,0 +44,0 @@ meta: ReceiveMeta; |
@@ -1,9 +0,8 @@ | ||
import { Manager, State, ActionTypes, Middleware } from '../types.js'; | ||
export type DevToolsConfig = { | ||
[k: string]: unknown; | ||
name: string; | ||
}; | ||
/** Integrates with https://github.com/zalmoxisus/redux-devtools-extension | ||
import { DevToolsConfig } from './devtoolsTypes.js'; | ||
import { Middleware } from './LogoutManager.js'; | ||
import { Manager, State, ActionTypes } from '../types.js'; | ||
export { DevToolsConfig }; | ||
/** Integrates with https://github.com/reduxjs/redux-devtools | ||
* | ||
* Options: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md | ||
* Options: https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md | ||
* | ||
@@ -23,4 +22,4 @@ * @see https://resthooks.io/docs/api/DevToolsManager | ||
*/ | ||
getMiddleware(): Middleware<any>; | ||
getMiddleware(): Middleware; | ||
} | ||
//# sourceMappingURL=DevtoolsManager.d.ts.map |
@@ -12,3 +12,3 @@ /// <reference types="react" /> | ||
} | ||
export type Middleware<Actions = any> = <A extends MiddlewareController<Actions>>(controller: A) => (next: A['dispatch']) => A['dispatch']; | ||
export type Middleware<Actions = any> = <C extends MiddlewareController<Actions>>(controller: C) => (next: C['dispatch']) => C['dispatch']; | ||
export type RestHooksReducer = React.Reducer<State<unknown>, ActionTypes>; | ||
@@ -15,0 +15,0 @@ export type Dispatch<R extends Reducer<any, any>> = (action: ReducerAction<R>) => Promise<void>; |
import { EndpointInterface, ResolveType, UnknownError } from '@rest-hooks/normalizr'; | ||
import { RECEIVE_TYPE, RESET_TYPE, FETCH_TYPE, SUBSCRIBE_TYPE, UNSUBSCRIBE_TYPE, INVALIDATE_TYPE, GC_TYPE, OPTIMISTIC_TYPE, INVALIDATEALL_TYPE } from './actionTypes.js'; | ||
import { SET_TYPE, RESET_TYPE, FETCH_TYPE, SUBSCRIBE_TYPE, UNSUBSCRIBE_TYPE, INVALIDATE_TYPE, GC_TYPE, OPTIMISTIC_TYPE, INVALIDATEALL_TYPE } from './actionTypes.js'; | ||
import { EndpointUpdateFunction } from './controller/types.js'; | ||
@@ -11,3 +11,3 @@ export interface ReceiveMeta { | ||
export interface ReceiveActionSuccess<E extends EndpointInterface = EndpointInterface> { | ||
type: typeof RECEIVE_TYPE; | ||
type: typeof SET_TYPE; | ||
endpoint: E; | ||
@@ -19,3 +19,3 @@ meta: ReceiveMeta; | ||
export interface ReceiveActionError<E extends EndpointInterface = EndpointInterface> { | ||
type: typeof RECEIVE_TYPE; | ||
type: typeof SET_TYPE; | ||
endpoint: E; | ||
@@ -22,0 +22,0 @@ meta: ReceiveMeta; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Unpopular package
QualityThis package is not very popular.
Found 1 instance in 1 package
1033352
1397
290
13484
0
33