@merkur/plugin-graphql-client 0.29.3 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +3 -3
- package/lib/index.es5.js +1 -1
- package/lib/index.es9.cjs +15 -45
- package/lib/index.es9.mjs +16 -43
- package/lib/index.js +3 -3
- package/lib/index.mjs +4 -4
- package/lib/index.umd.js +1 -1
- package/package.json +6 -6
package/lib/index.cjs
CHANGED
|
@@ -139,12 +139,12 @@ function processResponseData(data, entityClasses) {
|
|
|
139
139
|
processedData[field] = value;
|
|
140
140
|
});
|
|
141
141
|
|
|
142
|
-
const type =
|
|
142
|
+
const type = processedData.__typename;
|
|
143
143
|
if (!type || !entityClasses[type]) {
|
|
144
|
-
return
|
|
144
|
+
return processedData;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
return Reflect.construct(entityClasses[type], [
|
|
147
|
+
return Reflect.construct(entityClasses[type], [processedData]);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
function addTypenameToSelections(document) {
|
package/lib/index.es5.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.object.create.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.regexp.exec.js");var e=["headers","body"];function r(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==t)return;var n,o,i=[],u=!0,s=!1;try{for(t=t.call(e);!(u=(n=t.next()).done)&&(i.push(n.value),!r||i.length!==r);u=!0);}catch(e){s=!0,o=e}finally{try{u||null==t.return||t.return()}finally{if(s)throw o}}return i}(e,r)||o(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,r){if(e){if("string"==typeof e)return i(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,r):void 0}}function i(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?s(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e,r,t,n,o,i,u){try{var s=e[i](u),c=s.value}catch(e){return void t(e)}s.done?r(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var i=e.apply(r,t);function u(e){l(i,n,o,u,s,"next",e)}function s(e){l(i,n,o,u,s,"throw",e)}u(void 0)}))}}function p(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function y(e,r,t){return r&&p(e.prototype,r),t&&p(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function d(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function j(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&m(e,r)}function m(e,r){return m=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e},m(e,r)}function b(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,n=v(e);if(r){var o=v(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return h(this,t)}}function h(e,r){if(r&&("object"===t(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.some.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.entries.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.array.concat.js"),Object.defineProperty(exports,"__esModule",{value:!0});var g=require("@merkur/core"),O=require("graphql"),q=require("@merkur/plugin-error"),w=function(e){j(t,q.GenericError);var r=b(t);function t(){return d(this,t),r.apply(this,arguments)}return y(t)}(),P=function(e){j(t,w);var r=b(t);function t(){return d(this,t),r.apply(this,arguments)}return y(t)}(),x={kind:"Field",name:{kind:"Name",value:"__typename"}},E="development",S="undefined"!=typeof process&&process&&process.env?process.env.NODE_ENV:E;function _(e,r){var o={};if("string"==typeof e)return e;Object.entries(e).forEach((function(e){var i=n(e,2),u=i[0],s=i[1];Array.isArray(s)?s=s.map((function(e){return _(e,r)})):"object"===t(s)&&null!==s&&(s=_(s,r)),o[u]=s}));var i=e.__typename;return i&&r[i]?Reflect.construct(r[i],[e]):e}function k(e){return O.visit(e,{SelectionSet:{enter:function(e,t,n){if(!n||"OperationDefinition"!==n.kind){var o=e.selections;if(o)if(!(o.some((function(e){return"Field"===e.kind&&("__typename"===e.name.value||0===e.name.value.lastIndexOf("__",0))}))||"Field"===n.kind&&n.directives&&n.directives.some((function(e){return"export"===e.name.value}))))return Object.assign({},e,{selections:[].concat(r(o),[x])})}}}})}exports.GraphQLError=w,exports.UnauthorizedError=P,exports.graphqlClientPlugin=function(){return{setup:function(r){return f(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=c(c({},{graphql:{request:function(r,t){var n=arguments;return f(regeneratorRuntime.mark((function o(){var i,s,a,l,f,p,y,d,j,m,b,h,v,g,q,x;return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return i=n.length>2&&void 0!==n[2]?n[2]:{},s=n.length>3&&void 0!==n[3]?n[3]:{},a=r.$in.graphqlClient,l=a.endpointUrl,f=a.entityClasses,p=s.headers,y=void 0===p?{}:p,d=s.body,j=void 0===d?{}:d,m=u(s,e),t=k(t),o.next=7,r.http.request(c({url:l,method:"POST",headers:c({"Content-Type":"application/json"},y),body:c({query:O.stripIgnoredCharacters(O.print(t)),variables:i},j)},m));case 7:if(b=o.sent,h=b.response,v=h.body,g=v.errors,q=v.data,x=void 0===q?{}:q,!g){o.next=14;break}if(!Array.isArray(g)||!g.some((function(e){return"unauthorized"===e.status}))){o.next=13;break}return o.abrupt("return",Promise.reject(new P("Unauthorized Error",{errors:g,data:x})));case 13:return o.abrupt("return",Promise.reject(new w("Api Error",{errors:g,data:x})));case 14:return o.abrupt("return",_(x,f));case 15:case"end":return o.stop()}}),o)})))()}}}),r),r.$in.graphqlClient={endpointUrl:"",entityClasses:{}},t.abrupt("return",r);case 3:case"end":return t.stop()}}),t)})))()},create:function(e){return f(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(S!==E||e.$in.httpClient){r.next=2;break}throw new Error("You must install missing plugin: npm i @merkur/plugin-http-client");case 2:return g.bindWidgetToFunctions(e,e.graphql),r.abrupt("return",e);case 4:case"end":return r.stop()}}),r)})))()}}},exports.setEndpointUrl=function(e,r){e.$in.graphqlClient.endpointUrl=r},exports.setEntityClasses=function(e,r){e.$in.graphqlClient.entityClasses=function(e){var r={};return e.forEach((function(e){var t=e.entityType;Array.isArray(t)||(t=[t]),t.forEach((function(t){return r[t]=e}))})),r}(r)};
|
|
1
|
+
"use strict";require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.object.create.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.symbol.async-iterator.js"),require("core-js/modules/es.symbol.to-string-tag.js"),require("core-js/modules/es.json.to-string-tag.js"),require("core-js/modules/es.math.to-string-tag.js"),require("core-js/modules/es.array.reverse.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.regexp.exec.js");var e=["headers","body"];function r(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==t)return;var n,o,i=[],u=!0,s=!1;try{for(t=t.call(e);!(u=(n=t.next()).done)&&(i.push(n.value),!r||i.length!==r);u=!0);}catch(e){s=!0,o=e}finally{try{u||null==t.return||t.return()}finally{if(s)throw o}}return i}(e,r)||o(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,r){if(e){if("string"==typeof e)return i(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,r):void 0}}function i(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}function s(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */s=function(){return e};var e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,r,t){e[r]=t.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function l(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{l({},"")}catch(e){l=function(e,r,t){return e[r]=t}}function f(e,r,t,n){var i=r&&r.prototype instanceof h?r:h,u=Object.create(i.prototype),s=new _(n||[]);return o(u,"_invoke",{value:q(e,t,s)}),u}function p(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=f;var y={};function h(){}function d(){}function m(){}var v={};l(v,u,(function(){return this}));var j=Object.getPrototypeOf,b=j&&j(j(L([])));b&&b!==r&&n.call(b,u)&&(v=b);var g=m.prototype=h.prototype=Object.create(v);function w(e){["next","throw","return"].forEach((function(r){l(e,r,(function(e){return this._invoke(r,e)}))}))}function O(e,r){function i(o,u,s,a){var c=p(e[o],e,u);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==t(f)&&n.call(f,"__await")?r.resolve(f.__await).then((function(e){i("next",e,s,a)}),(function(e){i("throw",e,s,a)})):r.resolve(f).then((function(e){l.value=e,s(l)}),(function(e){return i("throw",e,s,a)}))}a(c.arg)}var u;o(this,"_invoke",{value:function(e,t){function n(){return new r((function(r,n){i(e,t,r,n)}))}return u=u?u.then(n,n):n()}})}function q(e,r,t){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return S()}for(t.method=o,t.arg=i;;){var u=t.delegate;if(u){var s=x(u,t);if(s){if(s===y)continue;return s}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===n)throw n="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n="executing";var a=p(e,r,t);if("normal"===a.type){if(n=t.done?"completed":"suspendedYield",a.arg===y)continue;return{value:a.arg,done:t.done}}"throw"===a.type&&(n="completed",t.method="throw",t.arg=a.arg)}}}function x(e,r){var t=e.iterator[r.method];if(void 0===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=void 0,x(e,r),"throw"===r.method))return y;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var n=p(t,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,y;var o=n.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,y):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function E(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function P(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function L(e){if(e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,o=function r(){for(;++t<e.length;)if(n.call(e,t))return r.value=e[t],r.done=!1,r;return r.value=void 0,r.done=!0,r};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return d.prototype=m,o(g,"constructor",{value:m,configurable:!0}),o(m,"constructor",{value:d,configurable:!0}),d.displayName=l(m,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===d||"GeneratorFunction"===(r.displayName||r.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,l(e,c,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},w(O.prototype),l(O.prototype,a,(function(){return this})),e.AsyncIterator=O,e.async=function(r,t,n,o,i){void 0===i&&(i=Promise);var u=new O(f(r,t,n,o),i);return e.isGeneratorFunction(t)?u:u.next().then((function(e){return e.done?e.value:u.next()}))},w(g),l(g,c,"Generator"),l(g,u,(function(){return this})),l(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var r=Object(e),t=[];for(var n in r)t.push(n);return t.reverse(),function e(){for(;t.length;){var n=t.pop();if(n in r)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=L,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(P),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function t(t,n){return u.type="throw",u.arg=e,r.next=t,n&&(r.method="next",r.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),a=n.call(i,"finallyLoc");if(s&&a){if(this.prev<i.catchLoc)return t(i.catchLoc,!0);if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,r){for(var t=this.tryEntries.length-1;t>=0;--t){var o=this.tryEntries[t];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var u=i?i.completion:{};return u.type=e,u.arg=r,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(u)},complete:function(e,r){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&r&&(this.next=r),y},finish:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),P(t),y}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var o=n.arg;P(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,t){return this.delegate={iterator:L(e),resultName:r,nextLoc:t},"next"===this.method&&(this.arg=void 0),y}},e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach((function(r){l(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function f(e,r,t,n,o,i,u){try{var s=e[i](u),a=s.value}catch(e){return void t(e)}s.done?r(a):Promise.resolve(a).then(n,o)}function p(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var i=e.apply(r,t);function u(e){f(i,n,o,u,s,"next",e)}function s(e){f(i,n,o,u,s,"throw",e)}u(void 0)}))}}function y(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function h(e,r,t){return r&&y(e.prototype,r),t&&y(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function d(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function m(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&v(e,r)}function v(e,r){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},v(e,r)}function j(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,n=g(e);if(r){var o=g(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return b(this,t)}}function b(e,r){if(r&&("object"===t(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function g(e){return g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},g(e)}require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.some.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.entries.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.array.concat.js"),Object.defineProperty(exports,"__esModule",{value:!0});var w=require("@merkur/core"),O=require("graphql"),q=require("@merkur/plugin-error"),x=function(e){m(t,q.GenericError);var r=j(t);function t(){return d(this,t),r.apply(this,arguments)}return h(t)}(),E=function(e){m(t,x);var r=j(t);function t(){return d(this,t),r.apply(this,arguments)}return h(t)}(),P={kind:"Field",name:{kind:"Name",value:"__typename"}},_="development",L="undefined"!=typeof process&&process&&process.env?process.env.NODE_ENV:_;function S(e,r){var o={};if("string"==typeof e)return e;Object.entries(e).forEach((function(e){var i=n(e,2),u=i[0],s=i[1];Array.isArray(s)?s=s.map((function(e){return S(e,r)})):"object"===t(s)&&null!==s&&(s=S(s,r)),o[u]=s}));var i=o.__typename;return i&&r[i]?Reflect.construct(r[i],[o]):o}function k(e){return O.visit(e,{SelectionSet:{enter:function(e,t,n){if(!n||"OperationDefinition"!==n.kind){var o=e.selections;if(o)if(!(o.some((function(e){return"Field"===e.kind&&("__typename"===e.name.value||0===e.name.value.lastIndexOf("__",0))}))||"Field"===n.kind&&n.directives&&n.directives.some((function(e){return"export"===e.name.value}))))return Object.assign({},e,{selections:[].concat(r(o),[P])})}}}})}exports.GraphQLError=x,exports.UnauthorizedError=E,exports.graphqlClientPlugin=function(){return{setup:function(r){return p(s().mark((function t(){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=c(c({},{graphql:{request:function(r,t){var n=arguments;return p(s().mark((function o(){var i,a,l,f,p,y,h,d,m,v,j,b,g,w,q,P;return s().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return i=n.length>2&&void 0!==n[2]?n[2]:{},a=n.length>3&&void 0!==n[3]?n[3]:{},l=r.$in.graphqlClient,f=l.endpointUrl,p=l.entityClasses,y=a.headers,h=void 0===y?{}:y,d=a.body,m=void 0===d?{}:d,v=u(a,e),t=k(t),o.next=7,r.http.request(c({url:f,method:"POST",headers:c({"Content-Type":"application/json"},h),body:c({query:O.stripIgnoredCharacters(O.print(t)),variables:i},m)},v));case 7:if(j=o.sent,b=j.response,g=b.body,w=g.errors,q=g.data,P=void 0===q?{}:q,!w){o.next=14;break}if(!Array.isArray(w)||!w.some((function(e){return"unauthorized"===e.status}))){o.next=13;break}return o.abrupt("return",Promise.reject(new E("Unauthorized Error",{errors:w,data:P})));case 13:return o.abrupt("return",Promise.reject(new x("Api Error",{errors:w,data:P})));case 14:return o.abrupt("return",S(P,p));case 15:case"end":return o.stop()}}),o)})))()}}}),r),r.$in.graphqlClient={endpointUrl:"",entityClasses:{}},t.abrupt("return",r);case 3:case"end":return t.stop()}}),t)})))()},create:function(e){return p(s().mark((function r(){return s().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(L!==_||e.$in.httpClient){r.next=2;break}throw new Error("You must install missing plugin: npm i @merkur/plugin-http-client");case 2:return w.bindWidgetToFunctions(e,e.graphql),r.abrupt("return",e);case 4:case"end":return r.stop()}}),r)})))()}}},exports.setEndpointUrl=function(e,r){e.$in.graphqlClient.endpointUrl=r},exports.setEntityClasses=function(e,r){e.$in.graphqlClient.entityClasses=function(e){var r={};return e.forEach((function(e){var t=e.entityType;Array.isArray(t)||(t=[t]),t.forEach((function(t){return r[t]=e}))})),r}(r)};
|
package/lib/index.es9.cjs
CHANGED
|
@@ -3,17 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
6
|
var core = require('@merkur/core');
|
|
8
|
-
|
|
9
7
|
var graphql = require('graphql');
|
|
10
|
-
|
|
11
8
|
var pluginError = require('@merkur/plugin-error');
|
|
12
|
-
|
|
13
9
|
class GraphQLError extends pluginError.GenericError {}
|
|
14
|
-
|
|
15
10
|
class UnauthorizedError extends GraphQLError {}
|
|
16
|
-
|
|
17
11
|
const TYPENAME_FIELD = {
|
|
18
12
|
kind: 'Field',
|
|
19
13
|
name: {
|
|
@@ -23,19 +17,17 @@ const TYPENAME_FIELD = {
|
|
|
23
17
|
};
|
|
24
18
|
const DEV = 'development';
|
|
25
19
|
const ENV = typeof process !== 'undefined' && process && process.env ? process.env.NODE_ENV : DEV;
|
|
26
|
-
|
|
27
20
|
function setEndpointUrl(widget, url) {
|
|
28
21
|
widget.$in.graphqlClient.endpointUrl = url;
|
|
29
22
|
}
|
|
30
|
-
|
|
31
23
|
function setEntityClasses(widget, entityClasses) {
|
|
32
24
|
widget.$in.graphqlClient.entityClasses = buildTypeToEntityMap(entityClasses);
|
|
33
25
|
}
|
|
34
|
-
|
|
35
26
|
function graphqlClientPlugin() {
|
|
36
27
|
return {
|
|
37
28
|
async setup(widget) {
|
|
38
|
-
widget = {
|
|
29
|
+
widget = {
|
|
30
|
+
...graphqlClientAPI(),
|
|
39
31
|
...widget
|
|
40
32
|
};
|
|
41
33
|
widget.$in.graphqlClient = {
|
|
@@ -44,19 +36,15 @@ function graphqlClientPlugin() {
|
|
|
44
36
|
};
|
|
45
37
|
return widget;
|
|
46
38
|
},
|
|
47
|
-
|
|
48
39
|
async create(widget) {
|
|
49
40
|
if (ENV === DEV && !widget.$in.httpClient) {
|
|
50
41
|
throw new Error('You must install missing plugin: npm i @merkur/plugin-http-client');
|
|
51
42
|
}
|
|
52
|
-
|
|
53
43
|
core.bindWidgetToFunctions(widget, widget.graphql);
|
|
54
44
|
return widget;
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
};
|
|
58
47
|
}
|
|
59
|
-
|
|
60
48
|
function graphqlClientAPI() {
|
|
61
49
|
return {
|
|
62
50
|
graphql: {
|
|
@@ -91,7 +79,6 @@ function graphqlClientAPI() {
|
|
|
91
79
|
errors,
|
|
92
80
|
data = {}
|
|
93
81
|
} = response.body;
|
|
94
|
-
|
|
95
82
|
if (errors) {
|
|
96
83
|
if (Array.isArray(errors) && errors.some(error => error.status === 'unauthorized')) {
|
|
97
84
|
return Promise.reject(new UnauthorizedError(`Unauthorized Error`, {
|
|
@@ -99,61 +86,48 @@ function graphqlClientAPI() {
|
|
|
99
86
|
data
|
|
100
87
|
}));
|
|
101
88
|
}
|
|
102
|
-
|
|
103
89
|
return Promise.reject(new GraphQLError(`Api Error`, {
|
|
104
90
|
errors,
|
|
105
91
|
data
|
|
106
92
|
}));
|
|
107
93
|
}
|
|
108
|
-
|
|
109
94
|
return processResponseData(data, entityClasses);
|
|
110
95
|
}
|
|
111
|
-
|
|
112
96
|
}
|
|
113
97
|
};
|
|
114
98
|
}
|
|
115
|
-
|
|
116
99
|
function buildTypeToEntityMap(entityClasses) {
|
|
117
100
|
const map = {};
|
|
118
101
|
entityClasses.forEach(entityClass => {
|
|
119
102
|
let {
|
|
120
103
|
entityType
|
|
121
104
|
} = entityClass;
|
|
122
|
-
|
|
123
105
|
if (!Array.isArray(entityType)) {
|
|
124
106
|
entityType = [entityType];
|
|
125
107
|
}
|
|
126
|
-
|
|
127
108
|
entityType.forEach(type => map[type] = entityClass);
|
|
128
109
|
});
|
|
129
110
|
return map;
|
|
130
111
|
}
|
|
131
|
-
|
|
132
112
|
function processResponseData(data, entityClasses) {
|
|
133
113
|
const processedData = {};
|
|
134
|
-
|
|
135
114
|
if (typeof data === 'string') {
|
|
136
115
|
return data;
|
|
137
116
|
}
|
|
138
|
-
|
|
139
117
|
Object.entries(data).forEach(([field, value]) => {
|
|
140
118
|
if (Array.isArray(value)) {
|
|
141
119
|
value = value.map(node => processResponseData(node, entityClasses));
|
|
142
120
|
} else if (typeof value === 'object' && value !== null) {
|
|
143
121
|
value = processResponseData(value, entityClasses);
|
|
144
122
|
}
|
|
145
|
-
|
|
146
123
|
processedData[field] = value;
|
|
147
124
|
});
|
|
148
|
-
const type =
|
|
149
|
-
|
|
125
|
+
const type = processedData.__typename;
|
|
150
126
|
if (!type || !entityClasses[type]) {
|
|
151
|
-
return
|
|
127
|
+
return processedData;
|
|
152
128
|
}
|
|
153
|
-
|
|
154
|
-
return Reflect.construct(entityClasses[type], [data]);
|
|
129
|
+
return Reflect.construct(entityClasses[type], [processedData]);
|
|
155
130
|
}
|
|
156
|
-
|
|
157
131
|
function addTypenameToSelections(document) {
|
|
158
132
|
return graphql.visit(document, {
|
|
159
133
|
SelectionSet: {
|
|
@@ -161,41 +135,37 @@ function addTypenameToSelections(document) {
|
|
|
161
135
|
// Don't add __typename to OperationDefinitions.
|
|
162
136
|
if (parent && parent.kind === 'OperationDefinition') {
|
|
163
137
|
return;
|
|
164
|
-
}
|
|
165
|
-
|
|
138
|
+
}
|
|
166
139
|
|
|
140
|
+
// No changes if no selections.
|
|
167
141
|
const {
|
|
168
142
|
selections
|
|
169
143
|
} = node;
|
|
170
|
-
|
|
171
144
|
if (!selections) {
|
|
172
145
|
return;
|
|
173
|
-
}
|
|
174
|
-
// introspection query, do nothing.
|
|
175
|
-
|
|
146
|
+
}
|
|
176
147
|
|
|
148
|
+
// If selections already have a __typename, or are part of an
|
|
149
|
+
// introspection query, do nothing.
|
|
177
150
|
const skip = selections.some(selection => selection.kind === 'Field' && (selection.name.value === '__typename' || selection.name.value.lastIndexOf('__', 0) === 0));
|
|
178
|
-
|
|
179
151
|
if (skip) {
|
|
180
152
|
return;
|
|
181
|
-
}
|
|
182
|
-
// not have a __typename field (see issue #4691).
|
|
183
|
-
|
|
153
|
+
}
|
|
184
154
|
|
|
155
|
+
// If this SelectionSet is @export-ed as an input variable, it should
|
|
156
|
+
// not have a __typename field (see issue #4691).
|
|
185
157
|
if (parent.kind === 'Field' && parent.directives && parent.directives.some(d => d.name.value === 'export')) {
|
|
186
158
|
return;
|
|
187
|
-
}
|
|
188
|
-
|
|
159
|
+
}
|
|
189
160
|
|
|
161
|
+
// Create and return a new SelectionSet with a __typename Field.
|
|
190
162
|
return Object.assign({}, node, {
|
|
191
163
|
selections: [...selections, TYPENAME_FIELD]
|
|
192
164
|
});
|
|
193
165
|
}
|
|
194
|
-
|
|
195
166
|
}
|
|
196
167
|
});
|
|
197
168
|
}
|
|
198
|
-
|
|
199
169
|
exports.GraphQLError = GraphQLError;
|
|
200
170
|
exports.UnauthorizedError = UnauthorizedError;
|
|
201
171
|
exports.graphqlClientPlugin = graphqlClientPlugin;
|
package/lib/index.es9.mjs
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { bindWidgetToFunctions } from '@merkur/core';
|
|
2
|
-
import {
|
|
2
|
+
import { stripIgnoredCharacters, print, visit } from 'graphql';
|
|
3
3
|
import { GenericError } from '@merkur/plugin-error';
|
|
4
|
-
|
|
5
4
|
class GraphQLError extends GenericError {}
|
|
6
|
-
|
|
7
5
|
class UnauthorizedError extends GraphQLError {}
|
|
8
|
-
|
|
9
6
|
const TYPENAME_FIELD = {
|
|
10
7
|
kind: 'Field',
|
|
11
8
|
name: {
|
|
@@ -15,19 +12,17 @@ const TYPENAME_FIELD = {
|
|
|
15
12
|
};
|
|
16
13
|
const DEV = 'development';
|
|
17
14
|
const ENV = typeof process !== 'undefined' && process && process.env ? process.env.NODE_ENV : DEV;
|
|
18
|
-
|
|
19
15
|
function setEndpointUrl(widget, url) {
|
|
20
16
|
widget.$in.graphqlClient.endpointUrl = url;
|
|
21
17
|
}
|
|
22
|
-
|
|
23
18
|
function setEntityClasses(widget, entityClasses) {
|
|
24
19
|
widget.$in.graphqlClient.entityClasses = buildTypeToEntityMap(entityClasses);
|
|
25
20
|
}
|
|
26
|
-
|
|
27
21
|
function graphqlClientPlugin() {
|
|
28
22
|
return {
|
|
29
23
|
async setup(widget) {
|
|
30
|
-
widget = {
|
|
24
|
+
widget = {
|
|
25
|
+
...graphqlClientAPI(),
|
|
31
26
|
...widget
|
|
32
27
|
};
|
|
33
28
|
widget.$in.graphqlClient = {
|
|
@@ -36,19 +31,15 @@ function graphqlClientPlugin() {
|
|
|
36
31
|
};
|
|
37
32
|
return widget;
|
|
38
33
|
},
|
|
39
|
-
|
|
40
34
|
async create(widget) {
|
|
41
35
|
if (ENV === DEV && !widget.$in.httpClient) {
|
|
42
36
|
throw new Error('You must install missing plugin: npm i @merkur/plugin-http-client');
|
|
43
37
|
}
|
|
44
|
-
|
|
45
38
|
bindWidgetToFunctions(widget, widget.graphql);
|
|
46
39
|
return widget;
|
|
47
40
|
}
|
|
48
|
-
|
|
49
41
|
};
|
|
50
42
|
}
|
|
51
|
-
|
|
52
43
|
function graphqlClientAPI() {
|
|
53
44
|
return {
|
|
54
45
|
graphql: {
|
|
@@ -83,7 +74,6 @@ function graphqlClientAPI() {
|
|
|
83
74
|
errors,
|
|
84
75
|
data = {}
|
|
85
76
|
} = response.body;
|
|
86
|
-
|
|
87
77
|
if (errors) {
|
|
88
78
|
if (Array.isArray(errors) && errors.some(error => error.status === 'unauthorized')) {
|
|
89
79
|
return Promise.reject(new UnauthorizedError(`Unauthorized Error`, {
|
|
@@ -91,61 +81,48 @@ function graphqlClientAPI() {
|
|
|
91
81
|
data
|
|
92
82
|
}));
|
|
93
83
|
}
|
|
94
|
-
|
|
95
84
|
return Promise.reject(new GraphQLError(`Api Error`, {
|
|
96
85
|
errors,
|
|
97
86
|
data
|
|
98
87
|
}));
|
|
99
88
|
}
|
|
100
|
-
|
|
101
89
|
return processResponseData(data, entityClasses);
|
|
102
90
|
}
|
|
103
|
-
|
|
104
91
|
}
|
|
105
92
|
};
|
|
106
93
|
}
|
|
107
|
-
|
|
108
94
|
function buildTypeToEntityMap(entityClasses) {
|
|
109
95
|
const map = {};
|
|
110
96
|
entityClasses.forEach(entityClass => {
|
|
111
97
|
let {
|
|
112
98
|
entityType
|
|
113
99
|
} = entityClass;
|
|
114
|
-
|
|
115
100
|
if (!Array.isArray(entityType)) {
|
|
116
101
|
entityType = [entityType];
|
|
117
102
|
}
|
|
118
|
-
|
|
119
103
|
entityType.forEach(type => map[type] = entityClass);
|
|
120
104
|
});
|
|
121
105
|
return map;
|
|
122
106
|
}
|
|
123
|
-
|
|
124
107
|
function processResponseData(data, entityClasses) {
|
|
125
108
|
const processedData = {};
|
|
126
|
-
|
|
127
109
|
if (typeof data === 'string') {
|
|
128
110
|
return data;
|
|
129
111
|
}
|
|
130
|
-
|
|
131
112
|
Object.entries(data).forEach(([field, value]) => {
|
|
132
113
|
if (Array.isArray(value)) {
|
|
133
114
|
value = value.map(node => processResponseData(node, entityClasses));
|
|
134
115
|
} else if (typeof value === 'object' && value !== null) {
|
|
135
116
|
value = processResponseData(value, entityClasses);
|
|
136
117
|
}
|
|
137
|
-
|
|
138
118
|
processedData[field] = value;
|
|
139
119
|
});
|
|
140
|
-
const type =
|
|
141
|
-
|
|
120
|
+
const type = processedData.__typename;
|
|
142
121
|
if (!type || !entityClasses[type]) {
|
|
143
|
-
return
|
|
122
|
+
return processedData;
|
|
144
123
|
}
|
|
145
|
-
|
|
146
|
-
return Reflect.construct(entityClasses[type], [data]);
|
|
124
|
+
return Reflect.construct(entityClasses[type], [processedData]);
|
|
147
125
|
}
|
|
148
|
-
|
|
149
126
|
function addTypenameToSelections(document) {
|
|
150
127
|
return visit(document, {
|
|
151
128
|
SelectionSet: {
|
|
@@ -153,39 +130,35 @@ function addTypenameToSelections(document) {
|
|
|
153
130
|
// Don't add __typename to OperationDefinitions.
|
|
154
131
|
if (parent && parent.kind === 'OperationDefinition') {
|
|
155
132
|
return;
|
|
156
|
-
}
|
|
157
|
-
|
|
133
|
+
}
|
|
158
134
|
|
|
135
|
+
// No changes if no selections.
|
|
159
136
|
const {
|
|
160
137
|
selections
|
|
161
138
|
} = node;
|
|
162
|
-
|
|
163
139
|
if (!selections) {
|
|
164
140
|
return;
|
|
165
|
-
}
|
|
166
|
-
// introspection query, do nothing.
|
|
167
|
-
|
|
141
|
+
}
|
|
168
142
|
|
|
143
|
+
// If selections already have a __typename, or are part of an
|
|
144
|
+
// introspection query, do nothing.
|
|
169
145
|
const skip = selections.some(selection => selection.kind === 'Field' && (selection.name.value === '__typename' || selection.name.value.lastIndexOf('__', 0) === 0));
|
|
170
|
-
|
|
171
146
|
if (skip) {
|
|
172
147
|
return;
|
|
173
|
-
}
|
|
174
|
-
// not have a __typename field (see issue #4691).
|
|
175
|
-
|
|
148
|
+
}
|
|
176
149
|
|
|
150
|
+
// If this SelectionSet is @export-ed as an input variable, it should
|
|
151
|
+
// not have a __typename field (see issue #4691).
|
|
177
152
|
if (parent.kind === 'Field' && parent.directives && parent.directives.some(d => d.name.value === 'export')) {
|
|
178
153
|
return;
|
|
179
|
-
}
|
|
180
|
-
|
|
154
|
+
}
|
|
181
155
|
|
|
156
|
+
// Create and return a new SelectionSet with a __typename Field.
|
|
182
157
|
return Object.assign({}, node, {
|
|
183
158
|
selections: [...selections, TYPENAME_FIELD]
|
|
184
159
|
});
|
|
185
160
|
}
|
|
186
|
-
|
|
187
161
|
}
|
|
188
162
|
});
|
|
189
163
|
}
|
|
190
|
-
|
|
191
164
|
export { GraphQLError, UnauthorizedError, graphqlClientPlugin, setEndpointUrl, setEntityClasses };
|
package/lib/index.js
CHANGED
|
@@ -139,12 +139,12 @@ function processResponseData(data, entityClasses) {
|
|
|
139
139
|
processedData[field] = value;
|
|
140
140
|
});
|
|
141
141
|
|
|
142
|
-
const type =
|
|
142
|
+
const type = processedData.__typename;
|
|
143
143
|
if (!type || !entityClasses[type]) {
|
|
144
|
-
return
|
|
144
|
+
return processedData;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
return Reflect.construct(entityClasses[type], [
|
|
147
|
+
return Reflect.construct(entityClasses[type], [processedData]);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
function addTypenameToSelections(document) {
|
package/lib/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { bindWidgetToFunctions } from '@merkur/core';
|
|
2
|
-
import {
|
|
2
|
+
import { stripIgnoredCharacters, print, visit } from 'graphql';
|
|
3
3
|
import { GenericError } from '@merkur/plugin-error';
|
|
4
4
|
|
|
5
5
|
class GraphQLError extends GenericError {}
|
|
@@ -135,12 +135,12 @@ function processResponseData(data, entityClasses) {
|
|
|
135
135
|
processedData[field] = value;
|
|
136
136
|
});
|
|
137
137
|
|
|
138
|
-
const type =
|
|
138
|
+
const type = processedData.__typename;
|
|
139
139
|
if (!type || !entityClasses[type]) {
|
|
140
|
-
return
|
|
140
|
+
return processedData;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
return Reflect.construct(entityClasses[type], [
|
|
143
|
+
return Reflect.construct(entityClasses[type], [processedData]);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
function addTypenameToSelections(document) {
|
package/lib/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(r,e){if("function"==typeof define&&define.amd)define("@merkur/plugin-graphql-client",["exports","@merkur/core","graphql","@merkur/plugin-error"],e);else if("undefined"!=typeof exports)e(exports,require("@merkur/core"),require("graphql"),require("@merkur/plugin-error"));else{var t={exports:{}};e(t.exports,r.Merkur.Core,r.graphql,r.Merkur.Plugin.Error),r.merkurPluginGraphqlClient=t.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(r,e,t,n){Object.defineProperty(r,"__esModule",{value:!0}),r.UnauthorizedError=r.GraphQLError=void 0,r.graphqlClientPlugin=function(){return{setup:function(r){return b((function*(){return r=p(p({},{graphql:{request:function(r,e){var n=arguments;return b((function*(){var i=n.length>2&&void 0!==n[2]?n[2]:{},u=n.length>3&&void 0!==n[3]?n[3]:{},a=r.$in.graphqlClient,c=a.endpointUrl,l=a.entityClasses,s=u.headers,y=void 0===s?{}:s,d=u.body,b=void 0===d?{}:d,h=f(u,o);e=C(e);var v=(yield r.http.request(p({url:c,method:"POST",headers:p({"Content-Type":"application/json"},y),body:p({query:(0,t.stripIgnoredCharacters)((0,t.print)(e)),variables:i},b)},h))).response.body,m=v.errors,g=v.data,O=void 0===g?{}:g;return m?Array.isArray(m)&&m.some((function(r){return"unauthorized"===r.status}))?Promise.reject(new S("Unauthorized Error",{errors:m,data:O})):Promise.reject(new E("Api Error",{errors:m,data:O})):A(O,l)}))()}}}),r),r.$in.graphqlClient={endpointUrl:"",entityClasses:{}},r}))()},create:function(r){return b((function*(){if(k===q&&!r.$in.httpClient)throw new Error("You must install missing plugin: npm i @merkur/plugin-http-client");return(0,e.bindWidgetToFunctions)(r,r.graphql),r}))()}}},r.setEndpointUrl=function(r,e){r.$in.graphqlClient.endpointUrl=e},r.setEntityClasses=function(r,e){r.$in.graphqlClient.entityClasses=function(r){var e={};return r.forEach((function(r){var t=r.entityType;Array.isArray(t)||(t=[t]),t.forEach((function(t){return e[t]=r}))})),e}(e)};var o=["headers","body"];function i(r){return function(r){if(Array.isArray(r))return l(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||c(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(r){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},u(r)}function a(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null==t)return;var n,o,i=[],u=!0,a=!1;try{for(t=t.call(r);!(u=(n=t.next()).done)&&(i.push(n.value),!e||i.length!==e);u=!0);}catch(r){a=!0,o=r}finally{try{u||null==t.return||t.return()}finally{if(a)throw o}}return i}(r,e)||c(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(r,e){if(r){if("string"==typeof r)return l(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?l(r,e):void 0}}function l(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function f(r,e){if(null==r)return{};var t,n,o=function(r,e){if(null==r)return{};var t,n,o={},i=Object.keys(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||(o[t]=r[t]);return o}(r,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(o[t]=r[t])}return o}function s(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,n)}return t}function p(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?s(Object(t),!0).forEach((function(e){y(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}function y(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function d(r,e,t,n,o,i,u){try{var a=r[i](u),c=a.value}catch(r){return void t(r)}a.done?e(c):Promise.resolve(c).then(n,o)}function b(r){return function(){var e=this,t=arguments;return new Promise((function(n,o){var i=r.apply(e,t);function u(r){d(i,n,o,u,a,"next",r)}function a(r){d(i,n,o,u,a,"throw",r)}u(void 0)}))}}function h(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,n.key,n)}}function v(r,e,t){return e&&h(r.prototype,e),t&&h(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function m(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function g(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&O(r,e)}function O(r,e){return O=Object.setPrototypeOf
|
|
1
|
+
!function(r,e){if("function"==typeof define&&define.amd)define("@merkur/plugin-graphql-client",["exports","@merkur/core","graphql","@merkur/plugin-error"],e);else if("undefined"!=typeof exports)e(exports,require("@merkur/core"),require("graphql"),require("@merkur/plugin-error"));else{var t={exports:{}};e(t.exports,r.Merkur.Core,r.graphql,r.Merkur.Plugin.Error),r.merkurPluginGraphqlClient=t.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(r,e,t,n){Object.defineProperty(r,"__esModule",{value:!0}),r.UnauthorizedError=r.GraphQLError=void 0,r.graphqlClientPlugin=function(){return{setup:function(r){return b((function*(){return r=p(p({},{graphql:{request:function(r,e){var n=arguments;return b((function*(){var i=n.length>2&&void 0!==n[2]?n[2]:{},u=n.length>3&&void 0!==n[3]?n[3]:{},a=r.$in.graphqlClient,c=a.endpointUrl,l=a.entityClasses,s=u.headers,y=void 0===s?{}:s,d=u.body,b=void 0===d?{}:d,h=f(u,o);e=C(e);var v=(yield r.http.request(p({url:c,method:"POST",headers:p({"Content-Type":"application/json"},y),body:p({query:(0,t.stripIgnoredCharacters)((0,t.print)(e)),variables:i},b)},h))).response.body,m=v.errors,g=v.data,O=void 0===g?{}:g;return m?Array.isArray(m)&&m.some((function(r){return"unauthorized"===r.status}))?Promise.reject(new S("Unauthorized Error",{errors:m,data:O})):Promise.reject(new E("Api Error",{errors:m,data:O})):A(O,l)}))()}}}),r),r.$in.graphqlClient={endpointUrl:"",entityClasses:{}},r}))()},create:function(r){return b((function*(){if(k===q&&!r.$in.httpClient)throw new Error("You must install missing plugin: npm i @merkur/plugin-http-client");return(0,e.bindWidgetToFunctions)(r,r.graphql),r}))()}}},r.setEndpointUrl=function(r,e){r.$in.graphqlClient.endpointUrl=e},r.setEntityClasses=function(r,e){r.$in.graphqlClient.entityClasses=function(r){var e={};return r.forEach((function(r){var t=r.entityType;Array.isArray(t)||(t=[t]),t.forEach((function(t){return e[t]=r}))})),e}(e)};var o=["headers","body"];function i(r){return function(r){if(Array.isArray(r))return l(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||c(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(r){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},u(r)}function a(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null==t)return;var n,o,i=[],u=!0,a=!1;try{for(t=t.call(r);!(u=(n=t.next()).done)&&(i.push(n.value),!e||i.length!==e);u=!0);}catch(r){a=!0,o=r}finally{try{u||null==t.return||t.return()}finally{if(a)throw o}}return i}(r,e)||c(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(r,e){if(r){if("string"==typeof r)return l(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?l(r,e):void 0}}function l(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function f(r,e){if(null==r)return{};var t,n,o=function(r,e){if(null==r)return{};var t,n,o={},i=Object.keys(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||(o[t]=r[t]);return o}(r,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(o[t]=r[t])}return o}function s(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,n)}return t}function p(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?s(Object(t),!0).forEach((function(e){y(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}function y(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function d(r,e,t,n,o,i,u){try{var a=r[i](u),c=a.value}catch(r){return void t(r)}a.done?e(c):Promise.resolve(c).then(n,o)}function b(r){return function(){var e=this,t=arguments;return new Promise((function(n,o){var i=r.apply(e,t);function u(r){d(i,n,o,u,a,"next",r)}function a(r){d(i,n,o,u,a,"throw",r)}u(void 0)}))}}function h(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,n.key,n)}}function v(r,e,t){return e&&h(r.prototype,e),t&&h(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function m(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function g(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&O(r,e)}function O(r,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,e){return r.__proto__=e,r},O(r,e)}function j(r){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(r){return!1}}();return function(){var t,n=P(r);if(e){var o=P(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return w(this,t)}}function w(r,e){if(e&&("object"===u(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r)}function P(r){return P=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},P(r)}var E=function(r){g(t,r);var e=j(t);function t(){return m(this,t),e.apply(this,arguments)}return v(t)}(n.GenericError);r.GraphQLError=E;var S=function(r){g(t,r);var e=j(t);function t(){return m(this,t),e.apply(this,arguments)}return v(t)}(E);r.UnauthorizedError=S;var _={kind:"Field",name:{kind:"Name",value:"__typename"}},q="development",k="undefined"!=typeof process&&process&&process.env?process.env.NODE_ENV:q;function A(r,e){var t={};if("string"==typeof r)return r;Object.entries(r).forEach((function(r){var n=a(r,2),o=n[0],i=n[1];Array.isArray(i)?i=i.map((function(r){return A(r,e)})):"object"===u(i)&&null!==i&&(i=A(i,e)),t[o]=i}));var n=t.__typename;return n&&e[n]?Reflect.construct(e[n],[t]):t}function C(r){return(0,t.visit)(r,{SelectionSet:{enter:function(r,e,t){if(!t||"OperationDefinition"!==t.kind){var n=r.selections;if(n)if(!(n.some((function(r){return"Field"===r.kind&&("__typename"===r.name.value||0===r.name.value.lastIndexOf("__",0))}))||"Field"===t.kind&&t.directives&&t.directives.some((function(r){return"export"===r.name.value}))))return Object.assign({},r,{selections:[].concat(i(n),[_])})}}}})}}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkur/plugin-graphql-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"description": "Merkur event emitter plugin.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"module": "lib/index",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://merkur.js.org/",
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@merkur/core": "^0.
|
|
55
|
-
"@merkur/plugin-component": "^0.
|
|
56
|
-
"@merkur/plugin-error": "^0.
|
|
57
|
-
"@merkur/plugin-http-client": "^0.
|
|
54
|
+
"@merkur/core": "^0.30.0",
|
|
55
|
+
"@merkur/plugin-component": "^0.30.0",
|
|
56
|
+
"@merkur/plugin-error": "^0.30.0",
|
|
57
|
+
"@merkur/plugin-http-client": "^0.30.0",
|
|
58
58
|
"rollup": "^2.70.2"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"graphql": "^15.7.0",
|
|
67
67
|
"graphql-tag": "^2.12.5"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "eacb3cd1a9e750582923e31c902b70c6c5061a7c"
|
|
70
70
|
}
|