react-diode
Advanced tools
Comparing version 0.5.0 to 0.5.1
@@ -1,2 +0,2 @@ | ||
function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var r=e(require("lodash.find")),t=e(require("react")),n=require("react-is"),o=e(require("object-assign")),i=e(require("hoist-non-react-statics")),a=e(require("deep-extend"));function u(e,r,t){if(t)return r?r(e()):e();try{var n=Promise.resolve(e());return r?n.then(r):n}catch(e){return Promise.reject(e)}}function c(){}var p=function(){this._queryMockEnabled=!1};p.prototype.injectNetworkLayer=function(e){this._injectedNetworkLayer=e},p.prototype.injectQueryMockResolver=function(e){this._queryMockEnabled=!0,this._queryMockResolver=e},p.prototype.sendQueries=function(e,r){var t=this,n=e,i={},a=this._getCurrentNetworkLayer();return this._queryMockEnabled&&(n=e.filter(function(e){var r=t._queryMockResolver[e.type];if(r&&"function"==typeof r){var n=r(e);return!n||(i[e.type]=n,!1)}return!0})),a.sendQueries(n,r).then(function(e){return o(i,e)})},p.prototype._getCurrentNetworkLayer=function(){return this._injectedNetworkLayer};var s=function(e){this._variables={},this._containerQuery=e};function y(e,r){return Object.assign({},{type:e.type,fragment:e.fragment,resolve:e.resolve},r)}function f(e,r){return e.map(function(e){return function e(r,t){var n=r.callback,o=r.dependencies,i=o.map(function(e){return t[e.type]}).filter(function(e){return Boolean(e)});if(i.length===o.length){var a=y(r,n.apply(void 0,i));return a.dependencies?e(a,t):a}return r}(e,r)})}s.prototype.getContainerQuery=function(){return this._containerQuery},s.prototype.setVariables=function(e){a(this._variables,e)},s.prototype.getVariables=function(){return this._variables},s.prototype.compile=function(){var e=this,r=this._containerQuery.getQueryTypeMap();return Object.keys(r).map(function(t){var n=r[t];return n.fragment=e._compileFragmentKeys(n.fragmentStructure),n.params=e._compileFragmentKeys(n.paramsStructure),n})},s.prototype._compileFragmentKeys=function(e){var r=this;return Object.keys(e).reduce(function(t,n){var o=r._compileFragmentValue(n);return t[o]="object"==typeof e[n]&&null!==e[n]?r._compileFragmentKeys(e[n]):r._compileFragmentValue(e[n]),t},{})},s.prototype._compileFragmentValue=function(e){if("string"==typeof e&&"$"===e.charAt(0)){var r=e.slice(1),t=this._variables[r];return null==t?e:t}return e};var l={BATCH:"batch-query"};function h(e,t,n,i){return Object.keys(n).reduce(function(a,u){try{var c=n[u],p=r(e,{type:u});if(u===l.BATCH){var s=function(e,t,n){var i={};for(var a in e)if(e.hasOwnProperty(a)){var u=e[a],c=r(t,{type:a});"__additional"===a?o(i,{__additional:u}):u&&c&&(i[a]=(0,c.resolve)(u,c.fragment,n))}return i}(p.resolve(c,i),t,i);Object.assign(a,s)}else a[u]=p.resolve(c,p.fragment,i);return a}catch(e){throw new Error("Query type "+u+" from network layer does not match any query types specified in Diode queries.")}},{})}function d(e,t,n){var o=[],i=t.queryTypes,a=t.forceMerge,u=i.map(function(t){return r(e,{type:t})}).filter(function(e){return Boolean(e)});if(u.length===i.length||a&&u.length>0){var c=function(e,r,t){return Object.assign({},{type:e.type,resolve:e.resolve},e.request(r,t))}(t,u,n);o.push(c)}else o=o.concat(u);var p=e.filter(function(e){return-1===u.indexOf(e)});return o=o.concat(p)}function m(e,r){return r.forEach(function(r){try{Object.keys(r.fragment).forEach(function(t){var n=e[r.type][t];0===Object.keys(r.fragment[t]).length&&n&&(n[b]=!0)})}catch(e){throw new Error("Query fragments must be an Object type")}}),e}var v=function(){this._batchQueriesEnabled=!1,this._networkLayer=new p};v.prototype.injectNetworkLayer=function(e){this._networkLayer.injectNetworkLayer(e)},v.prototype.useMockQueries=function(e){this._networkLayer.injectQueryMockResolver(e)},v.prototype.useBatchQuery=function(e){e&&(this._batchQueryEnabled=!0,this._batchQuery=e)},v.prototype.forceFetch=function(e,r){var t=function(e,r){return e.query.compile().map(function(e){var t=e.request(e.fragment,e.params,r);return y(e,t)})}(e,r);return this._fetchQueries(t,r).then(function(r){return m(function(e,r){var t=r.query.getContainerQuery(),n=Object.keys(t.map).reduce(function(r,t){if(r[t]=e[t],!r[t])throw new Error("Queries key "+t+" does not match any type specified in Diode query.");return r},{}),i=e.__additional;return i?o(n,{__additional:i}):n}(r,e),t)})},v.prototype.filterCachedFragments=function(e){var r=this.cache[e.type];if(!r)return e;var t={};return Object.keys(e.fragment).forEach(function(n){var o=r[n],i=e.fragment[n],a=Object.keys(i);if(0!==a.length)t[n]={},a.forEach(function(e){o&&o[e]||(t[n][e]=i[e])});else{if(o&&o[b])return;t[n]={}}}),Object.assign({},e,{fragment:t})},v.prototype.fetch=function(e,r){var t=this;return u(function(){var n=new s(e).compile().map(function(e){var n=t.filterCachedFragments(e),o=n.fragment,i=n.params;if(0===Object.keys(o).length)return null;var a=e.request(o,i,r);return y(e,a)}).filter(Boolean);return Promise.resolve(t._fetchQueries(n,r)).then(function(e){a(t.cache,m(e,n))})})},v.prototype._fetchQueries=function(e,r){var t=this;void 0===r&&(r={});var n=e.filter(function(e){return e.dependencies}),o=e.filter(function(e){return!e.dependencies}),i=o;return this._batchQueryEnabled&&(i=d(i,this._batchQuery,r)),this._networkLayer.sendQueries(i,r).then(function(e){var a=h(i,o,e,r);if(n.length>0){var u=f(n,a);return t._fetchQueries(u,r).then(function(e){return Object.assign(a,e)})}return a})};var g=new v,_=t.createContext(null),b="__fac__",q=function(e,r){g.cache=e,g.options=r};q.prototype.getContents=function(){return g.cache},q.prototype.getUnresolvedQueries=function(e){return Object.keys(e.map).filter(function(r){var t=g.cache[r];if(!t)return!0;var n=e.map[r];return Object.keys(n.fragmentStructure).some(function(e){var r=t[e],o=Object.keys(n.fragmentStructure[e]);return!Array.isArray(r)&&(0===o.length?r&&"object"==typeof r?!r[b]:void 0===r:o.some(function(e){return r?void 0===r[e]:void 0===r}))})})},q.prototype.hasResolved=function(e){return 0===this.getUnresolvedQueries(e).length},q.prototype.resolve=function(e){return u(function(){return Promise.resolve(g.fetch(e,g.options)).then(function(){})})};var w=function(e,r,t){this.map={},this._queryTypeMap={},this._componentName=e,this._queries=r,this._children=t||[],this._parseQueryTypeMap(r),this._mergeChildQueryTypeMap(t),this._buildFinalQueryMap(r,t)};w.prototype.getQueryTypeMap=function(){return this._queryTypeMap},w.prototype.injectChildren=function(e){this._children=this._children.concat(e),this._mergeChildQueryTypeMap(e),this._buildFinalQueryMap(this._queries,this._children)},w.prototype._parseQueryTypeMap=function(e){var r=this;null!=e&&Object.keys(e).forEach(function(t){var n=e[t],o=r._queryTypeMap[n.type];if(o){a(o.fragmentStructure,n.fragmentStructure),a(o.params,n.params)}else{if(!n.type)throw new Error("Invalid query type in query key "+t+" at component "+r._componentName);r._queryTypeMap[n.type]=n}})},w.prototype._mergeChildQueryTypeMap=function(e){var r=this;e&&e.length&&e.forEach(function(e){var t=e.query.map;null!=t&&Object.keys(t).forEach(function(e){var n=t[e],o=r._queryTypeMap[n.type];o?a(o.fragmentStructure,n.fragmentStructure):r._queryTypeMap[n.type]=n})})},w.prototype._buildFinalQueryMap=function(e,r){var t=this;e&&(this.map=Object.keys(e).reduce(function(r,n){return r[n]=t._queryTypeMap[e[n].type],r},{})),r&&r.length&&r.forEach(function(e){var r=e.query.map;Object.keys(r).forEach(function(n){var o=r[n],i=t.map[n];if(i&&i.type!==o.type)return console.warn("Different query type for same query key %s: %s (%s) and %s (%s)",n,t._componentName,i.type,e.componentName,o.type);t.map[n]=t._queryTypeMap[o.type]})})};var k=function(e){function r(){for(var r=[],t=arguments.length;t--;)r[t]=arguments[t];e.apply(this,r),this.state={error:null,loading:!0}}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.componentDidMount=function(){var e=this;return u(function(){var r=e.props,t=r.cache,n=r.query;if(t&&!t.hasResolved(n))return function(e){if(e&&e.then)return e.then(c)}(function(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}(function(){return Promise.resolve(t.resolve(n)).then(function(){e.setState({loading:!1})})},function(r){console.error("error",r),e.setState({error:r,loading:!1})}));e.setState({loading:!1})})},r.prototype.render=function(){var e,r=this.props,o=r.Component,i=r.wrapper,a=r.cache,u=r.query,c=r.loading,p=r.error,s=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&-1===r.indexOf(n)&&(t[n]=e[n]);return t}(r,["Component","wrapper","cache","query","loading","error"]);return null!==this.state.error?p&&n.isValidElementType(p)?t.createElement(p,s):t.createElement("span",null,this.state.error.message):a&&a instanceof q?(e=!a.hasResolved(u)&&this.state.loading?c&&n.isValidElementType(c)?t.createElement(c,s):null:t.createElement(o,Object.assign({},s,a.getContents())),i?t.createElement("div",i,e):e):t.createElement(o,s)},r}(t.Component);function j(e,r){void 0===r&&(r={});var n,u=e.displayName||e.name,c="Diode("+u+")",p=new w(u,r.queries,r.children);function s(o){return n||(n=function(e,r,n){var o="Diode("+(e.displayName||e.name)+")",a=function(o){function i(e){o.call(this,e),this.wrapperInfo=r.wrapperInfo}return o&&(i.__proto__=o),(i.prototype=Object.create(o&&o.prototype)).constructor=i,i.prototype.render=function(){var o=this,i=this.props,a=i.wrapperInfo?i.wrapperInfo:this.wrapperInfo;return t.createElement(_.Consumer,null,function(i){return t.createElement(k,Object.assign({},o.props,{Component:e,wrapper:a,query:n,cache:i,loading:r.loading,error:r.error}))})},i}(t.Component);return a.displayName=o,i(a,e)}(e,r,p)),new n(o)}return s.setWrapperInfo=function(e){o(r.wrapperInfo,e)},s.getWrapperInfo=function(e){return r.wrapperInfo[e]},s.getComponent=function(){return e},s.getChildren=function(){return r.children&&r.children.length?r.children:[]},s.query=a(p,e.query),s.displayName=c,s.componentName=u,i(s,e,{query:!0})}var Q={Store:g,CacheProvider:_.Provider,QueryTypes:l,createCache:function(e,r){return new q(e,r)},createContainer:j,createRootContainer:function(e,r){var t=j(e,r);return t.query=new s(t.query),t},createQuery:function(e,r,t){if(void 0===t&&(t={}),"string"!=typeof e.type)throw new TypeError("Expected query definition to have query type");if("function"!=typeof e.request)throw new TypeError("Expected query definition to have .request() method");if("function"!=typeof e.resolve)throw new TypeError("Expected query definition to have .resolve() method");var n=Object.create(e);return n.fragmentStructure=r,n.paramsStructure=t,n},queryRequest:function(e,r,t,n){return void 0===n&&(n={}),{pending:!1,url:e,method:r,payload:t,headers:n}},waitForQuery:function(e,r){return e instanceof Array||(e=[e]),{pending:!0,dependencies:e,callback:r}},useBatchQuery:g.useBatchQuery.bind(g),useMockQueries:g.useMockQueries.bind(g),injectNetworkLayer:g.injectNetworkLayer.bind(g)};module.exports=Q; | ||
function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var r=e(require("lodash.find")),t=e(require("react")),n=require("react-is"),o=e(require("object-assign")),i=e(require("hoist-non-react-statics")),a=e(require("deep-extend"));function u(e,r,t){if(t)return r?r(e()):e();try{var n=Promise.resolve(e());return r?n.then(r):n}catch(e){return Promise.reject(e)}}function c(){}var s=function(){this._queryMockEnabled=!1};s.prototype.injectNetworkLayer=function(e){this._injectedNetworkLayer=e},s.prototype.injectQueryMockResolver=function(e){this._queryMockEnabled=!0,this._queryMockResolver=e},s.prototype.sendQueries=function(e,r){var t=this,n=e,i={},a=this._getCurrentNetworkLayer();return this._queryMockEnabled&&(n=e.filter(function(e){var r=t._queryMockResolver[e.type];if(r&&"function"==typeof r){var n=r(e);return!n||(i[e.type]=n,!1)}return!0})),a.sendQueries(n,r).then(function(e){return o(i,e)})},s.prototype._getCurrentNetworkLayer=function(){return this._injectedNetworkLayer};var p=function(e){this._variables={},this._containerQuery=e};function f(e,r){return Object.assign({},{type:e.type,fragment:e.fragment,resolve:e.resolve},r)}function y(e,r){return e.map(function(e){return function e(r,t){var n=r.callback,o=r.dependencies,i=o.map(function(e){return t[e.type]}).filter(function(e){return Boolean(e)});if(i.length===o.length){var a=f(r,n.apply(void 0,i));return a.dependencies?e(a,t):a}return r}(e,r)})}p.prototype.getContainerQuery=function(){return this._containerQuery},p.prototype.setVariables=function(e){a(this._variables,e)},p.prototype.getVariables=function(){return this._variables},p.prototype.compile=function(){var e=this,r=this._containerQuery.getQueryTypeMap();return Object.keys(r).map(function(t){var n=r[t];return n.fragment=e._compileFragmentKeys(n.fragmentStructure),n.params=e._compileFragmentKeys(n.paramsStructure),n})},p.prototype._compileFragmentKeys=function(e){var r=this;return Object.keys(e).reduce(function(t,n){var o=r._compileFragmentValue(n);return t[o]="object"==typeof e[n]&&null!==e[n]?r._compileFragmentKeys(e[n]):r._compileFragmentValue(e[n]),t},{})},p.prototype._compileFragmentValue=function(e){if("string"==typeof e&&"$"===e.charAt(0)){var r=e.slice(1),t=this._variables[r];return null==t?e:t}return e};var h={BATCH:"batch-query"};function l(e,t,n,i){return Object.keys(n).reduce(function(a,u){try{var c=n[u],s=r(e,{type:u});if(u===h.BATCH){var p=function(e,t,n){var i={};for(var a in e)if(e.hasOwnProperty(a)){var u=e[a],c=r(t,{type:a});"__additional"===a?o(i,{__additional:u}):u&&c&&(i[a]=(0,c.resolve)(u,c.fragment,n))}return i}(s.resolve(c,i),t,i);Object.assign(a,p)}else a[u]=s.resolve(c,s.fragment,i);return a}catch(e){throw new Error("Query type "+u+" from network layer does not match any query types specified in Diode queries.")}},{})}function d(e,t,n){var o=[],i=t.queryTypes,a=t.forceMerge,u=i.map(function(t){return r(e,{type:t})}).filter(function(e){return Boolean(e)});if(u.length===i.length||a&&u.length>0){var c=function(e,r,t){return Object.assign({},{type:e.type,resolve:e.resolve},e.request(r,t))}(t,u,n);o.push(c)}else o=o.concat(u);var s=e.filter(function(e){return-1===u.indexOf(e)});return o=o.concat(s)}function m(e,r){return r.forEach(function(r){try{Object.keys(r.fragment).forEach(function(t){var n=e[r.type][t];0===Object.keys(r.fragment[t]).length&&n&&(n[b]=!0)})}catch(e){throw new Error("Query fragments must be an Object type")}}),e}var v=function(){this._batchQueriesEnabled=!1,this._networkLayer=new s};v.prototype.injectNetworkLayer=function(e){this._networkLayer.injectNetworkLayer(e)},v.prototype.useMockQueries=function(e){this._networkLayer.injectQueryMockResolver(e)},v.prototype.useBatchQuery=function(e){e&&(this._batchQueryEnabled=!0,this._batchQuery=e)},v.prototype.forceFetch=function(e,r){var t=function(e,r){return e.query.compile().map(function(e){var t=e.request(e.fragment,e.params,r);return f(e,t)})}(e,r);return this._fetchQueries(t,r).then(function(r){return m(function(e,r){var t=r.query.getContainerQuery(),n=Object.keys(t.map).reduce(function(r,t){if(r[t]=e[t],!r[t])throw new Error("Queries key "+t+" does not match any type specified in Diode query.");return r},{}),i=e.__additional;return i?o(n,{__additional:i}):n}(r,e),t)})},v.prototype.filterCachedFragments=function(e){var r=this.cache[e.type];if(!r)return e;var t={};return Object.keys(e.fragment).forEach(function(n){var o=r[n],i=e.fragment[n],a=Object.keys(i);if(0!==a.length)t[n]={},a.forEach(function(e){o&&o[e]||(t[n][e]=i[e])});else{if(o&&o[b])return;t[n]={}}}),Object.assign({},e,{fragment:t})},v.prototype.fetch=function(e,r){var t=this;return u(function(){var n=new p(e).compile().map(function(e){var n=t.filterCachedFragments(e),o=n.fragment,i=n.params;if(0===Object.keys(o).length)return null;var a=e.request(o,i,r);return f(e,a)}).filter(Boolean);return Promise.resolve(t._fetchQueries(n,r)).then(function(e){a(t.cache,m(e,n))})})},v.prototype._fetchQueries=function(e,r){var t=this;void 0===r&&(r={});var n=e.filter(function(e){return e.dependencies}),o=e.filter(function(e){return!e.dependencies}),i=o;return this._batchQueryEnabled&&(i=d(i,this._batchQuery,r)),this._networkLayer.sendQueries(i,r).then(function(e){var a=l(i,o,e,r);if(n.length>0){var u=y(n,a);return t._fetchQueries(u,r).then(function(e){return Object.assign(a,e)})}return a})};var g=new v,_=t.createContext(null),b="__fac__",q=function(e,r){g.cache=e,g.options=r};q.prototype.getContents=function(){return g.cache},q.prototype.getUnresolvedQueries=function(e){return Object.keys(e.map).filter(function(r){var t=g.cache[r];if(!t)return!0;var n=e.map[r];return Object.keys(n.fragmentStructure).some(function(e){var r=t[e],o=Object.keys(n.fragmentStructure[e]);return!Array.isArray(r)&&(0===o.length?r&&"object"==typeof r?!r[b]:void 0===r:o.some(function(e){return r?void 0===r[e]:void 0===r}))})})},q.prototype.hasResolved=function(e){return 0===this.getUnresolvedQueries(e).length},q.prototype.resolve=function(e){return u(function(){return Promise.resolve(g.fetch(e,g.options)).then(function(){})})};var w=function(e,r,t){this.map={},this._queryTypeMap={},this._componentName=e,this._queries=r,this._children=t||[],this._parseQueryTypeMap(r),this._mergeChildQueryTypeMap(t),this._buildFinalQueryMap(r,t)};w.prototype.getQueryTypeMap=function(){return this._queryTypeMap},w.prototype.injectChildren=function(e){this._children=this._children.concat(e),this._mergeChildQueryTypeMap(e),this._buildFinalQueryMap(this._queries,this._children)},w.prototype._parseQueryTypeMap=function(e){var r=this;null!=e&&Object.keys(e).forEach(function(t){var n=e[t],o=r._queryTypeMap[n.type];if(o){a(o.fragmentStructure,n.fragmentStructure),a(o.params,n.params)}else{if(!n.type)throw new Error("Invalid query type in query key "+t+" at component "+r._componentName);r._queryTypeMap[n.type]=n}})},w.prototype._mergeChildQueryTypeMap=function(e){var r=this;e&&e.length&&e.forEach(function(e){var t=e.query.map;null!=t&&Object.keys(t).forEach(function(e){var n=t[e],o=r._queryTypeMap[n.type];o?a(o.fragmentStructure,n.fragmentStructure):r._queryTypeMap[n.type]=n})})},w.prototype._buildFinalQueryMap=function(e,r){var t=this;e&&(this.map=Object.keys(e).reduce(function(r,n){return r[n]=t._queryTypeMap[e[n].type],r},{})),r&&r.length&&r.forEach(function(e){var r=e.query.map;Object.keys(r).forEach(function(n){var o=r[n],i=t.map[n];if(i&&i.type!==o.type)return console.warn("Different query type for same query key %s: %s (%s) and %s (%s)",n,t._componentName,i.type,e.componentName,o.type);t.map[n]=t._queryTypeMap[o.type]})})};var k=function(e){function r(){for(var r=[],t=arguments.length;t--;)r[t]=arguments[t];e.apply(this,r),this.state={error:null,isLoading:this.props.cache instanceof q&&!this.props.cache.hasResolved(this.props.query)}}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.componentDidMount=function(){var e=this;return u(function(){var r=e.props,t=r.cache,n=r.query;if(!1!==e.state.isLoading)return function(e){if(e&&e.then)return e.then(c)}(function(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}(function(){return Promise.resolve(t.resolve(n)).then(function(){return r=function(){e.setState({isLoading:!1})},(n=function(){if("function"==typeof e.props.afterFetchCallback)return Promise.resolve(new Promise(function(r){return e.props.afterFetchCallback(r,t.getContents())})).then(function(){})}())&&n.then?n.then(r):r(n);var r,n})},function(r){console.error("error",r),e.setState({error:r,isLoading:!1})}))})},r.prototype.render=function(){var e,r=this.props,o=r.Component,i=r.wrapper,a=r.cache,u=r.loading,c=r.error,s=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&-1===r.indexOf(n)&&(t[n]=e[n]);return t}(r,["Component","wrapper","cache","query","loading","error"]),p=this.state.isLoading;return null!==this.state.error?c&&n.isValidElementType(c)?t.createElement(c,s):t.createElement("span",null,this.state.error.message):(e=p?u&&n.isValidElementType(u)?t.createElement(u,s):null:t.createElement(o,Object.assign({},s,a instanceof q&&a.getContents())),i?t.createElement("div",i,e):e)},r}(t.Component);function j(e,r){void 0===r&&(r={});var n,u=e.displayName||e.name,c="Diode("+u+")",s=new w(u,r.queries,r.children);function p(o){return n||(n=function(e,r,n){var o="Diode("+(e.displayName||e.name)+")",a=function(o){function i(e){o.call(this,e),this.wrapperInfo=r.wrapperInfo}return o&&(i.__proto__=o),(i.prototype=Object.create(o&&o.prototype)).constructor=i,i.prototype.render=function(){var o=this,i=this.props,a=i.wrapperInfo?i.wrapperInfo:this.wrapperInfo;return t.createElement(_.Consumer,null,function(i){return t.createElement(k,Object.assign({},o.props,{Component:e,wrapper:a,query:n,cache:i,loading:r.loading,error:r.error}))})},i}(t.Component);return a.displayName=o,i(a,e)}(e,r,s)),new n(o)}return p.setWrapperInfo=function(e){o(r.wrapperInfo,e)},p.getWrapperInfo=function(e){return r.wrapperInfo[e]},p.getComponent=function(){return e},p.getChildren=function(){return r.children&&r.children.length?r.children:[]},p.query=a(s,e.query),p.displayName=c,p.componentName=u,i(p,e,{query:!0})}var Q={Store:g,CacheProvider:_.Provider,QueryTypes:h,createCache:function(e,r){return new q(e,r)},createContainer:j,createRootContainer:function(e,r){var t=j(e,r);return t.query=new p(t.query),t},createQuery:function(e,r,t){if(void 0===t&&(t={}),"string"!=typeof e.type)throw new TypeError("Expected query definition to have query type");if("function"!=typeof e.request)throw new TypeError("Expected query definition to have .request() method");if("function"!=typeof e.resolve)throw new TypeError("Expected query definition to have .resolve() method");var n=Object.create(e);return n.fragmentStructure=r,n.paramsStructure=t,n},queryRequest:function(e,r,t,n){return void 0===n&&(n={}),{pending:!1,url:e,method:r,payload:t,headers:n}},waitForQuery:function(e,r){return e instanceof Array||(e=[e]),{pending:!0,dependencies:e,callback:r}},useBatchQuery:g.useBatchQuery.bind(g),useMockQueries:g.useMockQueries.bind(g),injectNetworkLayer:g.injectNetworkLayer.bind(g)};module.exports=Q; | ||
//# sourceMappingURL=DiodePublic.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("lodash.find"),require("react"),require("react-is"),require("object-assign"),require("hoist-non-react-statics"),require("deep-extend")):"function"==typeof define&&define.amd?define(["lodash.find","react","react-is","object-assign","hoist-non-react-statics","deep-extend"],t):e.reactDiode=t(e.find,e.react,e.reactIs,e.objectAssign,e.hoistStatics,e.deepExtend)}(this,function(e,t,r,n,o,i){function a(e,t,r){if(r)return t?t(e()):e();try{var n=Promise.resolve(e());return t?n.then(t):n}catch(e){return Promise.reject(e)}}function u(){}e=e&&e.hasOwnProperty("default")?e.default:e,t=t&&t.hasOwnProperty("default")?t.default:t,n=n&&n.hasOwnProperty("default")?n.default:n,o=o&&o.hasOwnProperty("default")?o.default:o,i=i&&i.hasOwnProperty("default")?i.default:i;var c=function(){this._queryMockEnabled=!1};c.prototype.injectNetworkLayer=function(e){this._injectedNetworkLayer=e},c.prototype.injectQueryMockResolver=function(e){this._queryMockEnabled=!0,this._queryMockResolver=e},c.prototype.sendQueries=function(e,t){var r=this,o=e,i={},a=this._getCurrentNetworkLayer();return this._queryMockEnabled&&(o=e.filter(function(e){var t=r._queryMockResolver[e.type];if(t&&"function"==typeof t){var n=t(e);return!n||(i[e.type]=n,!1)}return!0})),a.sendQueries(o,t).then(function(e){return n(i,e)})},c.prototype._getCurrentNetworkLayer=function(){return this._injectedNetworkLayer};var s=function(e){this._variables={},this._containerQuery=e};function p(e,t){return Object.assign({},{type:e.type,fragment:e.fragment,resolve:e.resolve},t)}function f(e,t){return e.map(function(e){return function e(t,r){var n=t.callback,o=t.dependencies,i=o.map(function(e){return r[e.type]}).filter(function(e){return Boolean(e)});if(i.length===o.length){var a=p(t,n.apply(void 0,i));return a.dependencies?e(a,r):a}return t}(e,t)})}s.prototype.getContainerQuery=function(){return this._containerQuery},s.prototype.setVariables=function(e){i(this._variables,e)},s.prototype.getVariables=function(){return this._variables},s.prototype.compile=function(){var e=this,t=this._containerQuery.getQueryTypeMap();return Object.keys(t).map(function(r){var n=t[r];return n.fragment=e._compileFragmentKeys(n.fragmentStructure),n.params=e._compileFragmentKeys(n.paramsStructure),n})},s.prototype._compileFragmentKeys=function(e){var t=this;return Object.keys(e).reduce(function(r,n){var o=t._compileFragmentValue(n);return r[o]="object"==typeof e[n]&&null!==e[n]?t._compileFragmentKeys(e[n]):t._compileFragmentValue(e[n]),r},{})},s.prototype._compileFragmentValue=function(e){if("string"==typeof e&&"$"===e.charAt(0)){var t=e.slice(1),r=this._variables[t];return null==r?e:r}return e};var y={BATCH:"batch-query"};function l(t,r,o,i){return Object.keys(o).reduce(function(a,u){try{var c=o[u],s=e(t,{type:u});if(u===y.BATCH){var p=function(t,r,o){var i={};for(var a in t)if(t.hasOwnProperty(a)){var u=t[a],c=e(r,{type:a});"__additional"===a?n(i,{__additional:u}):u&&c&&(i[a]=(0,c.resolve)(u,c.fragment,o))}return i}(s.resolve(c,i),r,i);Object.assign(a,p)}else a[u]=s.resolve(c,s.fragment,i);return a}catch(e){throw new Error("Query type "+u+" from network layer does not match any query types specified in Diode queries.")}},{})}function h(t,r,n){var o=[],i=r.queryTypes,a=r.forceMerge,u=i.map(function(r){return e(t,{type:r})}).filter(function(e){return Boolean(e)});if(u.length===i.length||a&&u.length>0){var c=function(e,t,r){return Object.assign({},{type:e.type,resolve:e.resolve},e.request(t,r))}(r,u,n);o.push(c)}else o=o.concat(u);var s=t.filter(function(e){return-1===u.indexOf(e)});return o=o.concat(s)}function d(e,t){return t.forEach(function(t){try{Object.keys(t.fragment).forEach(function(r){var n=e[t.type][r];0===Object.keys(t.fragment[r]).length&&n&&(n[_]=!0)})}catch(e){throw new Error("Query fragments must be an Object type")}}),e}var m=function(){this._batchQueriesEnabled=!1,this._networkLayer=new c};m.prototype.injectNetworkLayer=function(e){this._networkLayer.injectNetworkLayer(e)},m.prototype.useMockQueries=function(e){this._networkLayer.injectQueryMockResolver(e)},m.prototype.useBatchQuery=function(e){e&&(this._batchQueryEnabled=!0,this._batchQuery=e)},m.prototype.forceFetch=function(e,t){var r=function(e,t){return e.query.compile().map(function(e){var r=e.request(e.fragment,e.params,t);return p(e,r)})}(e,t);return this._fetchQueries(r,t).then(function(t){return d(function(e,t){var r=t.query.getContainerQuery(),o=Object.keys(r.map).reduce(function(t,r){if(t[r]=e[r],!t[r])throw new Error("Queries key "+r+" does not match any type specified in Diode query.");return t},{}),i=e.__additional;return i?n(o,{__additional:i}):o}(t,e),r)})},m.prototype.filterCachedFragments=function(e){var t=this.cache[e.type];if(!t)return e;var r={};return Object.keys(e.fragment).forEach(function(n){var o=t[n],i=e.fragment[n],a=Object.keys(i);if(0!==a.length)r[n]={},a.forEach(function(e){o&&o[e]||(r[n][e]=i[e])});else{if(o&&o[_])return;r[n]={}}}),Object.assign({},e,{fragment:r})},m.prototype.fetch=function(e,t){var r=this;return a(function(){var n=new s(e).compile().map(function(e){var n=r.filterCachedFragments(e),o=n.fragment,i=n.params;if(0===Object.keys(o).length)return null;var a=e.request(o,i,t);return p(e,a)}).filter(Boolean);return Promise.resolve(r._fetchQueries(n,t)).then(function(e){i(r.cache,d(e,n))})})},m.prototype._fetchQueries=function(e,t){var r=this;void 0===t&&(t={});var n=e.filter(function(e){return e.dependencies}),o=e.filter(function(e){return!e.dependencies}),i=o;return this._batchQueryEnabled&&(i=h(i,this._batchQuery,t)),this._networkLayer.sendQueries(i,t).then(function(e){var a=l(i,o,e,t);if(n.length>0){var u=f(n,a);return r._fetchQueries(u,t).then(function(e){return Object.assign(a,e)})}return a})};var v=new m,g=t.createContext(null),_="__fac__",b=function(e,t){v.cache=e,v.options=t};b.prototype.getContents=function(){return v.cache},b.prototype.getUnresolvedQueries=function(e){return Object.keys(e.map).filter(function(t){var r=v.cache[t];if(!r)return!0;var n=e.map[t];return Object.keys(n.fragmentStructure).some(function(e){var t=r[e],o=Object.keys(n.fragmentStructure[e]);return!Array.isArray(t)&&(0===o.length?t&&"object"==typeof t?!t[_]:void 0===t:o.some(function(e){return t?void 0===t[e]:void 0===t}))})})},b.prototype.hasResolved=function(e){return 0===this.getUnresolvedQueries(e).length},b.prototype.resolve=function(e){return a(function(){return Promise.resolve(v.fetch(e,v.options)).then(function(){})})};var q=function(e,t,r){this.map={},this._queryTypeMap={},this._componentName=e,this._queries=t,this._children=r||[],this._parseQueryTypeMap(t),this._mergeChildQueryTypeMap(r),this._buildFinalQueryMap(t,r)};q.prototype.getQueryTypeMap=function(){return this._queryTypeMap},q.prototype.injectChildren=function(e){this._children=this._children.concat(e),this._mergeChildQueryTypeMap(e),this._buildFinalQueryMap(this._queries,this._children)},q.prototype._parseQueryTypeMap=function(e){var t=this;null!=e&&Object.keys(e).forEach(function(r){var n=e[r],o=t._queryTypeMap[n.type];if(o){i(o.fragmentStructure,n.fragmentStructure),i(o.params,n.params)}else{if(!n.type)throw new Error("Invalid query type in query key "+r+" at component "+t._componentName);t._queryTypeMap[n.type]=n}})},q.prototype._mergeChildQueryTypeMap=function(e){var t=this;e&&e.length&&e.forEach(function(e){var r=e.query.map;null!=r&&Object.keys(r).forEach(function(e){var n=r[e],o=t._queryTypeMap[n.type];o?i(o.fragmentStructure,n.fragmentStructure):t._queryTypeMap[n.type]=n})})},q.prototype._buildFinalQueryMap=function(e,t){var r=this;e&&(this.map=Object.keys(e).reduce(function(t,n){return t[n]=r._queryTypeMap[e[n].type],t},{})),t&&t.length&&t.forEach(function(e){var t=e.query.map;Object.keys(t).forEach(function(n){var o=t[n],i=r.map[n];if(i&&i.type!==o.type)return console.warn("Different query type for same query key %s: %s (%s) and %s (%s)",n,r._componentName,i.type,e.componentName,o.type);r.map[n]=r._queryTypeMap[o.type]})})};var w=function(e){function n(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];e.apply(this,t),this.state={error:null,loading:!0}}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.componentDidMount=function(){var e=this;return a(function(){var t=e.props,r=t.cache,n=t.query;if(r&&!r.hasResolved(n))return function(e){if(e&&e.then)return e.then(u)}(function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return Promise.resolve(r.resolve(n)).then(function(){e.setState({loading:!1})})},function(t){console.error("error",t),e.setState({error:t,loading:!1})}));e.setState({loading:!1})})},n.prototype.render=function(){var e,n=this.props,o=n.Component,i=n.wrapper,a=n.cache,u=n.query,c=n.loading,s=n.error,p=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&-1===t.indexOf(n)&&(r[n]=e[n]);return r}(n,["Component","wrapper","cache","query","loading","error"]);return null!==this.state.error?s&&r.isValidElementType(s)?t.createElement(s,p):t.createElement("span",null,this.state.error.message):a&&a instanceof b?(e=!a.hasResolved(u)&&this.state.loading?c&&r.isValidElementType(c)?t.createElement(c,p):null:t.createElement(o,Object.assign({},p,a.getContents())),i?t.createElement("div",i,e):e):t.createElement(o,p)},n}(t.Component);function j(e,r){void 0===r&&(r={});var a,u=e.displayName||e.name,c="Diode("+u+")",s=new q(u,r.queries,r.children);function p(n){return a||(a=function(e,r,n){var i="Diode("+(e.displayName||e.name)+")",a=function(o){function i(e){o.call(this,e),this.wrapperInfo=r.wrapperInfo}return o&&(i.__proto__=o),(i.prototype=Object.create(o&&o.prototype)).constructor=i,i.prototype.render=function(){var o=this,i=this.props,a=i.wrapperInfo?i.wrapperInfo:this.wrapperInfo;return t.createElement(g.Consumer,null,function(i){return t.createElement(w,Object.assign({},o.props,{Component:e,wrapper:a,query:n,cache:i,loading:r.loading,error:r.error}))})},i}(t.Component);return a.displayName=i,o(a,e)}(e,r,s)),new a(n)}return p.setWrapperInfo=function(e){n(r.wrapperInfo,e)},p.getWrapperInfo=function(e){return r.wrapperInfo[e]},p.getComponent=function(){return e},p.getChildren=function(){return r.children&&r.children.length?r.children:[]},p.query=i(s,e.query),p.displayName=c,p.componentName=u,o(p,e,{query:!0})}return{Store:v,CacheProvider:g.Provider,QueryTypes:y,createCache:function(e,t){return new b(e,t)},createContainer:j,createRootContainer:function(e,t){var r=j(e,t);return r.query=new s(r.query),r},createQuery:function(e,t,r){if(void 0===r&&(r={}),"string"!=typeof e.type)throw new TypeError("Expected query definition to have query type");if("function"!=typeof e.request)throw new TypeError("Expected query definition to have .request() method");if("function"!=typeof e.resolve)throw new TypeError("Expected query definition to have .resolve() method");var n=Object.create(e);return n.fragmentStructure=t,n.paramsStructure=r,n},queryRequest:function(e,t,r,n){return void 0===n&&(n={}),{pending:!1,url:e,method:t,payload:r,headers:n}},waitForQuery:function(e,t){return e instanceof Array||(e=[e]),{pending:!0,dependencies:e,callback:t}},useBatchQuery:v.useBatchQuery.bind(v),useMockQueries:v.useMockQueries.bind(v),injectNetworkLayer:v.injectNetworkLayer.bind(v)}}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("lodash.find"),require("react"),require("react-is"),require("object-assign"),require("hoist-non-react-statics"),require("deep-extend")):"function"==typeof define&&define.amd?define(["lodash.find","react","react-is","object-assign","hoist-non-react-statics","deep-extend"],t):e.reactDiode=t(e.find,e.react,e.reactIs,e.objectAssign,e.hoistStatics,e.deepExtend)}(this,function(e,t,r,n,o,i){function a(e,t,r){if(r)return t?t(e()):e();try{var n=Promise.resolve(e());return t?n.then(t):n}catch(e){return Promise.reject(e)}}function u(){}e=e&&e.hasOwnProperty("default")?e.default:e,t=t&&t.hasOwnProperty("default")?t.default:t,n=n&&n.hasOwnProperty("default")?n.default:n,o=o&&o.hasOwnProperty("default")?o.default:o,i=i&&i.hasOwnProperty("default")?i.default:i;var c=function(){this._queryMockEnabled=!1};c.prototype.injectNetworkLayer=function(e){this._injectedNetworkLayer=e},c.prototype.injectQueryMockResolver=function(e){this._queryMockEnabled=!0,this._queryMockResolver=e},c.prototype.sendQueries=function(e,t){var r=this,o=e,i={},a=this._getCurrentNetworkLayer();return this._queryMockEnabled&&(o=e.filter(function(e){var t=r._queryMockResolver[e.type];if(t&&"function"==typeof t){var n=t(e);return!n||(i[e.type]=n,!1)}return!0})),a.sendQueries(o,t).then(function(e){return n(i,e)})},c.prototype._getCurrentNetworkLayer=function(){return this._injectedNetworkLayer};var s=function(e){this._variables={},this._containerQuery=e};function p(e,t){return Object.assign({},{type:e.type,fragment:e.fragment,resolve:e.resolve},t)}function f(e,t){return e.map(function(e){return function e(t,r){var n=t.callback,o=t.dependencies,i=o.map(function(e){return r[e.type]}).filter(function(e){return Boolean(e)});if(i.length===o.length){var a=p(t,n.apply(void 0,i));return a.dependencies?e(a,r):a}return t}(e,t)})}s.prototype.getContainerQuery=function(){return this._containerQuery},s.prototype.setVariables=function(e){i(this._variables,e)},s.prototype.getVariables=function(){return this._variables},s.prototype.compile=function(){var e=this,t=this._containerQuery.getQueryTypeMap();return Object.keys(t).map(function(r){var n=t[r];return n.fragment=e._compileFragmentKeys(n.fragmentStructure),n.params=e._compileFragmentKeys(n.paramsStructure),n})},s.prototype._compileFragmentKeys=function(e){var t=this;return Object.keys(e).reduce(function(r,n){var o=t._compileFragmentValue(n);return r[o]="object"==typeof e[n]&&null!==e[n]?t._compileFragmentKeys(e[n]):t._compileFragmentValue(e[n]),r},{})},s.prototype._compileFragmentValue=function(e){if("string"==typeof e&&"$"===e.charAt(0)){var t=e.slice(1),r=this._variables[t];return null==r?e:r}return e};var y={BATCH:"batch-query"};function h(t,r,o,i){return Object.keys(o).reduce(function(a,u){try{var c=o[u],s=e(t,{type:u});if(u===y.BATCH){var p=function(t,r,o){var i={};for(var a in t)if(t.hasOwnProperty(a)){var u=t[a],c=e(r,{type:a});"__additional"===a?n(i,{__additional:u}):u&&c&&(i[a]=(0,c.resolve)(u,c.fragment,o))}return i}(s.resolve(c,i),r,i);Object.assign(a,p)}else a[u]=s.resolve(c,s.fragment,i);return a}catch(e){throw new Error("Query type "+u+" from network layer does not match any query types specified in Diode queries.")}},{})}function l(t,r,n){var o=[],i=r.queryTypes,a=r.forceMerge,u=i.map(function(r){return e(t,{type:r})}).filter(function(e){return Boolean(e)});if(u.length===i.length||a&&u.length>0){var c=function(e,t,r){return Object.assign({},{type:e.type,resolve:e.resolve},e.request(t,r))}(r,u,n);o.push(c)}else o=o.concat(u);var s=t.filter(function(e){return-1===u.indexOf(e)});return o=o.concat(s)}function d(e,t){return t.forEach(function(t){try{Object.keys(t.fragment).forEach(function(r){var n=e[t.type][r];0===Object.keys(t.fragment[r]).length&&n&&(n[_]=!0)})}catch(e){throw new Error("Query fragments must be an Object type")}}),e}var m=function(){this._batchQueriesEnabled=!1,this._networkLayer=new c};m.prototype.injectNetworkLayer=function(e){this._networkLayer.injectNetworkLayer(e)},m.prototype.useMockQueries=function(e){this._networkLayer.injectQueryMockResolver(e)},m.prototype.useBatchQuery=function(e){e&&(this._batchQueryEnabled=!0,this._batchQuery=e)},m.prototype.forceFetch=function(e,t){var r=function(e,t){return e.query.compile().map(function(e){var r=e.request(e.fragment,e.params,t);return p(e,r)})}(e,t);return this._fetchQueries(r,t).then(function(t){return d(function(e,t){var r=t.query.getContainerQuery(),o=Object.keys(r.map).reduce(function(t,r){if(t[r]=e[r],!t[r])throw new Error("Queries key "+r+" does not match any type specified in Diode query.");return t},{}),i=e.__additional;return i?n(o,{__additional:i}):o}(t,e),r)})},m.prototype.filterCachedFragments=function(e){var t=this.cache[e.type];if(!t)return e;var r={};return Object.keys(e.fragment).forEach(function(n){var o=t[n],i=e.fragment[n],a=Object.keys(i);if(0!==a.length)r[n]={},a.forEach(function(e){o&&o[e]||(r[n][e]=i[e])});else{if(o&&o[_])return;r[n]={}}}),Object.assign({},e,{fragment:r})},m.prototype.fetch=function(e,t){var r=this;return a(function(){var n=new s(e).compile().map(function(e){var n=r.filterCachedFragments(e),o=n.fragment,i=n.params;if(0===Object.keys(o).length)return null;var a=e.request(o,i,t);return p(e,a)}).filter(Boolean);return Promise.resolve(r._fetchQueries(n,t)).then(function(e){i(r.cache,d(e,n))})})},m.prototype._fetchQueries=function(e,t){var r=this;void 0===t&&(t={});var n=e.filter(function(e){return e.dependencies}),o=e.filter(function(e){return!e.dependencies}),i=o;return this._batchQueryEnabled&&(i=l(i,this._batchQuery,t)),this._networkLayer.sendQueries(i,t).then(function(e){var a=h(i,o,e,t);if(n.length>0){var u=f(n,a);return r._fetchQueries(u,t).then(function(e){return Object.assign(a,e)})}return a})};var v=new m,g=t.createContext(null),_="__fac__",b=function(e,t){v.cache=e,v.options=t};b.prototype.getContents=function(){return v.cache},b.prototype.getUnresolvedQueries=function(e){return Object.keys(e.map).filter(function(t){var r=v.cache[t];if(!r)return!0;var n=e.map[t];return Object.keys(n.fragmentStructure).some(function(e){var t=r[e],o=Object.keys(n.fragmentStructure[e]);return!Array.isArray(t)&&(0===o.length?t&&"object"==typeof t?!t[_]:void 0===t:o.some(function(e){return t?void 0===t[e]:void 0===t}))})})},b.prototype.hasResolved=function(e){return 0===this.getUnresolvedQueries(e).length},b.prototype.resolve=function(e){return a(function(){return Promise.resolve(v.fetch(e,v.options)).then(function(){})})};var q=function(e,t,r){this.map={},this._queryTypeMap={},this._componentName=e,this._queries=t,this._children=r||[],this._parseQueryTypeMap(t),this._mergeChildQueryTypeMap(r),this._buildFinalQueryMap(t,r)};q.prototype.getQueryTypeMap=function(){return this._queryTypeMap},q.prototype.injectChildren=function(e){this._children=this._children.concat(e),this._mergeChildQueryTypeMap(e),this._buildFinalQueryMap(this._queries,this._children)},q.prototype._parseQueryTypeMap=function(e){var t=this;null!=e&&Object.keys(e).forEach(function(r){var n=e[r],o=t._queryTypeMap[n.type];if(o){i(o.fragmentStructure,n.fragmentStructure),i(o.params,n.params)}else{if(!n.type)throw new Error("Invalid query type in query key "+r+" at component "+t._componentName);t._queryTypeMap[n.type]=n}})},q.prototype._mergeChildQueryTypeMap=function(e){var t=this;e&&e.length&&e.forEach(function(e){var r=e.query.map;null!=r&&Object.keys(r).forEach(function(e){var n=r[e],o=t._queryTypeMap[n.type];o?i(o.fragmentStructure,n.fragmentStructure):t._queryTypeMap[n.type]=n})})},q.prototype._buildFinalQueryMap=function(e,t){var r=this;e&&(this.map=Object.keys(e).reduce(function(t,n){return t[n]=r._queryTypeMap[e[n].type],t},{})),t&&t.length&&t.forEach(function(e){var t=e.query.map;Object.keys(t).forEach(function(n){var o=t[n],i=r.map[n];if(i&&i.type!==o.type)return console.warn("Different query type for same query key %s: %s (%s) and %s (%s)",n,r._componentName,i.type,e.componentName,o.type);r.map[n]=r._queryTypeMap[o.type]})})};var w=function(e){function n(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];e.apply(this,t),this.state={error:null,isLoading:this.props.cache instanceof b&&!this.props.cache.hasResolved(this.props.query)}}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.componentDidMount=function(){var e=this;return a(function(){var t=e.props,r=t.cache,n=t.query;if(!1!==e.state.isLoading)return function(e){if(e&&e.then)return e.then(u)}(function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return Promise.resolve(r.resolve(n)).then(function(){return t=function(){e.setState({isLoading:!1})},(n=function(){if("function"==typeof e.props.afterFetchCallback)return Promise.resolve(new Promise(function(t){return e.props.afterFetchCallback(t,r.getContents())})).then(function(){})}())&&n.then?n.then(t):t(n);var t,n})},function(t){console.error("error",t),e.setState({error:t,isLoading:!1})}))})},n.prototype.render=function(){var e,n=this.props,o=n.Component,i=n.wrapper,a=n.cache,u=n.loading,c=n.error,s=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&-1===t.indexOf(n)&&(r[n]=e[n]);return r}(n,["Component","wrapper","cache","query","loading","error"]),p=this.state.isLoading;return null!==this.state.error?c&&r.isValidElementType(c)?t.createElement(c,s):t.createElement("span",null,this.state.error.message):(e=p?u&&r.isValidElementType(u)?t.createElement(u,s):null:t.createElement(o,Object.assign({},s,a instanceof b&&a.getContents())),i?t.createElement("div",i,e):e)},n}(t.Component);function k(e,r){void 0===r&&(r={});var a,u=e.displayName||e.name,c="Diode("+u+")",s=new q(u,r.queries,r.children);function p(n){return a||(a=function(e,r,n){var i="Diode("+(e.displayName||e.name)+")",a=function(o){function i(e){o.call(this,e),this.wrapperInfo=r.wrapperInfo}return o&&(i.__proto__=o),(i.prototype=Object.create(o&&o.prototype)).constructor=i,i.prototype.render=function(){var o=this,i=this.props,a=i.wrapperInfo?i.wrapperInfo:this.wrapperInfo;return t.createElement(g.Consumer,null,function(i){return t.createElement(w,Object.assign({},o.props,{Component:e,wrapper:a,query:n,cache:i,loading:r.loading,error:r.error}))})},i}(t.Component);return a.displayName=i,o(a,e)}(e,r,s)),new a(n)}return p.setWrapperInfo=function(e){n(r.wrapperInfo,e)},p.getWrapperInfo=function(e){return r.wrapperInfo[e]},p.getComponent=function(){return e},p.getChildren=function(){return r.children&&r.children.length?r.children:[]},p.query=i(s,e.query),p.displayName=c,p.componentName=u,o(p,e,{query:!0})}return{Store:v,CacheProvider:g.Provider,QueryTypes:y,createCache:function(e,t){return new b(e,t)},createContainer:k,createRootContainer:function(e,t){var r=k(e,t);return r.query=new s(r.query),r},createQuery:function(e,t,r){if(void 0===r&&(r={}),"string"!=typeof e.type)throw new TypeError("Expected query definition to have query type");if("function"!=typeof e.request)throw new TypeError("Expected query definition to have .request() method");if("function"!=typeof e.resolve)throw new TypeError("Expected query definition to have .resolve() method");var n=Object.create(e);return n.fragmentStructure=t,n.paramsStructure=r,n},queryRequest:function(e,t,r,n){return void 0===n&&(n={}),{pending:!1,url:e,method:t,payload:r,headers:n}},waitForQuery:function(e,t){return e instanceof Array||(e=[e]),{pending:!0,dependencies:e,callback:t}},useBatchQuery:v.useBatchQuery.bind(v),useMockQueries:v.useMockQueries.bind(v),injectNetworkLayer:v.injectNetworkLayer.bind(v)}}); | ||
//# sourceMappingURL=DiodePublic.umd.js.map |
{ | ||
"name": "react-diode", | ||
"version": "0.5.0", | ||
"version": "0.5.1", | ||
"description": "Endpoint agnostic, unidirectional data fetching for React applications", | ||
@@ -5,0 +5,0 @@ "source": "src/DiodePublic.js", |
# Diode | ||
[![Build Status](https://travis-ci.org/traveloka/react-diode.svg?branch=master)](https://travis-ci.org/traveloka/react-diode) [![codecov.io](https://codecov.io/github/traveloka/react-diode/coverage.svg?branch=master)](https://codecov.io/github/traveloka/react-diode?branch=master) | ||
[![CircleCI](https://circleci.com/gh/traveloka/react-diode/tree/master.svg?style=svg)](https://circleci.com/gh/traveloka/react-diode/tree/master) [![codecov.io](https://codecov.io/github/traveloka/react-diode/coverage.svg?branch=master)](https://codecov.io/github/traveloka/react-diode?branch=master) | ||
> Endpoint agnostic, unidirectional data fetching for React application | ||
## Motivation | ||
We love [Relay](https://facebook.github.io/relay), but converting all of our APIs into | ||
[GraphQL](https://facebook.github.io/graphql) takes time. and some APIs are still | ||
awkward to be expressed into GraphQL schema (for example our translation API). So we built Diode | ||
by taking what's best from Relay and removing what doesn't work for us. | ||
**Diode is an early project, expect breaking changes every (minor) version update.** | ||
@@ -15,0 +8,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
165908
134
0
40