@merkur/plugin-http-client 0.29.3 → 0.30.0
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.es5.js +1 -1
- package/lib/index.es9.cjs +12 -51
- package/lib/index.es9.mjs +12 -45
- package/package.json +3 -3
package/lib/index.es5.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||n(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 r(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=n(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0,u=function(){};return{s:u,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:u}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,i=!0,a=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){a=!0,s=e},f:function(){try{i||null==t.return||t.return()}finally{if(a)throw s}}}}function t(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,u=[],s=!0,i=!1;try{for(t=t.call(e);!(s=(n=t.next()).done)&&(u.push(n.value),!r||u.length!==r);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(i)throw o}}return u}(e,r)||n(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 n(e,r){if(e){if("string"==typeof e)return o(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)?o(e,r):void 0}}function o(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,t,n,o,u,s){try{var i=e[u](s),a=i.value}catch(e){return void t(e)}i.done?r(a):Promise.resolve(a).then(n,o)}function s(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var s=e.apply(r,t);function i(e){u(s,n,o,i,a,"next",e)}function a(e){u(s,n,o,i,a,"throw",e)}i(void 0)}))}}function i(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 a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){c(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(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){return f="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},f(e)}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.string.ends-with.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/web.timers.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.symbol.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.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.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.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.from.js"),Object.defineProperty(exports,"__esModule",{value:!0});var l=require("@merkur/core"),p=require("node-fetch"),m=require("abort-controller");function d(e){return e&&"object"===f(e)&&"default"in e?e:{default:e}}var y=d(p),b=d(m);function j(e){return[q(),w(),x()]}function h(e,r,t){return g.apply(this,arguments)}function g(){return g=s(regeneratorRuntime.mark((function t(n,o,u){var s,i,a,c,f,l,p=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(s=p.length,i=new Array(s>3?s-3:0),a=3;a<s;a++)i[a-3]=p[a];c=r(o),t.prev=2,c.s();case 4:if((f=c.n()).done){t.next=12;break}if("function"!=typeof(l=f.value)[u]){t.next=10;break}return t.next=9,l[u].apply(l,[n].concat(e(i)));case 9:i=t.sent;case 10:t.next=4;break;case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(2),c.e(t.t0);case 17:return t.prev=17,c.f(),t.finish(17);case 20:return t.abrupt("return",i);case 21:case"end":return t.stop()}}),t,null,[[2,14,17,20]])}))),g.apply(this,arguments)}function v(){return"undefined"!=typeof window&&window.fetch?window.fetch.bind(window):y.default}function w(){return{transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u,s,i,c,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a({},r),o=r.baseUrl,u=void 0===o?"":o,s=r.path,i=void 0===s?"/":s,r.url?n.url=r.url:n.url="".concat(u.endsWith("/")?u.substring(0,u.length-1):u,"/").concat(i.startsWith("/")?i.substring(1):i),c=Object.keys(r.query).map((function(e){return[e,r.query[e]].map(encodeURIComponent).join("=")})).join("&"),f=-1!==n.url.indexOf("?"),n.url+=f?c?"&".concat(c):"":c?"?".concat(c):"",e.abrupt("return",[n,t]);case 7:case"end":return e.stop()}}),e)})))()}}}function q(){return{transformResponse:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(204===t.status||"function"!=typeof t.json){e.next=15;break}if(n=t.headers.get("content-type"),o=null,!n||!n.includes("application/json")){e.next=9;break}return e.next=6,t.json();case 6:o=e.sent,e.next=12;break;case 9:return e.next=11,t.text();case 11:o=e.sent;case 12:return(u=R(t)).body=o,e.abrupt("return",[r,u]);case 15:return e.abrupt("return",[r,t]);case 16:case"end":return e.stop()}}),e)})))()},transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.body,o=r.headers,u=r.method,!n||"application/json"!==(o["Content-Type"]||o["content-type"])||["GET","HEAD"].includes(u)){e.next=4;break}return s=a(a({},r),{},{body:JSON.stringify(n)}),e.abrupt("return",[s,t]);case 4:return e.abrupt("return",[r,t]);case 5:case"end":return e.stop()}}),e)})))()}}}function x(){return{transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function n(){var o,u;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=a({},r),"timeout"in r&&(u=new e.$dependencies.AbortController,o.signal=u.signal,o.timeoutTimer=setTimeout((function(){u.abort()}),r.timeout)),n.abrupt("return",[o,t]);case 3:case"end":return n.stop()}}),n)})))()},transformResponse:function(e,r,t){return s(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"timeoutTimer"in r&&clearTimeout(r.timeoutTimer),e.abrupt("return",[r,t]);case 2:case"end":return e.stop()}}),e)})))()}}}function R(e){var r=e.body,t=e.headers,n=e.ok,o=e.redirected,u=e.status,s=e.statusText,i=e.trailers,a=e.type,c=e.url,f=e.useFinalURL;return{body:k({},r),headers:t,ok:n,redirected:o,status:u,statusText:s,trailers:i,type:a,url:c,useFinalURL:f}}function k(e){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=0,o=Object.keys(r);n<o.length;n++){var u=o[n],s=r[u],i=t?t+"."+u:u;s instanceof Array?e[u]=s.slice():!(s instanceof Object)||s instanceof Function||s instanceof RegExp?e[u]=s:(e[u]instanceof Object||(e[u]={}),k(e[u],s,i))}return e}exports.copyResponse=R,exports.getDefaultTransformers=j,exports.httpClientPlugin=function(){return{setup:function(e){return s(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return(e=a(a({},{http:{request:function(e,r){return s(regeneratorRuntime.mark((function n(){var o,u,s,i,c,f,l;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=null,u=a(a({},e.$in.httpClient.defaultConfig),r),s=u.transformers,n.next=5,h(e,s,"transformRequest",u,o);case 5:if(i=n.sent,c=t(i,2),u=c[0],o=c[1]){n.next=15;break}return n.next=12,e.$dependencies.fetch(u.url,u);case 12:n.t0=n.sent,n.next=16;break;case 15:n.t0=o;case 16:return o=n.t0,n.next=19,h(e,s,"transformResponse",u,o);case 19:if(f=n.sent,l=t(f,2),u=l[0],(o=l[1]).ok){n.next=25;break}return n.abrupt("return",Promise.reject({request:u,response:o}));case 25:return n.abrupt("return",{request:u,response:o});case 26:case"end":return n.stop()}}),n)})))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:j(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=v(),e.$dependencies.AbortController=b.default,r.abrupt("return",e);case 5:case"end":return r.stop()}}),r)})))()},create:function(e){return s(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return l.bindWidgetToFunctions(e,e.http),r.abrupt("return",e);case 2:case"end":return r.stop()}}),r)})))()}}},exports.setDefaultConfig=function(e,r){e.$in.httpClient.defaultConfig=a(a({},e.$in.httpClient.defaultConfig),r)},exports.transformBody=q,exports.transformQuery=w,exports.transformTimeout=x;
|
|
1
|
+
"use strict";function e(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||n(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 r(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=n(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,s=!0,a=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){a=!0,u=e},f:function(){try{s||null==t.return||t.return()}finally{if(a)throw u}}}}function t(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)||n(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 n(e,r){if(e){if("string"==typeof e)return o(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)?o(e,r):void 0}}function o(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 i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var e={},r=Object.prototype,t=r.hasOwnProperty,n=Object.defineProperty||function(e,r,t){e[r]=t.value},o="function"==typeof Symbol?Symbol:{},u=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",a=o.toStringTag||"@@toStringTag";function c(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{c({},"")}catch(e){c=function(e,r,t){return e[r]=t}}function f(e,r,t,o){var i=r&&r.prototype instanceof h?r:h,u=Object.create(i.prototype),s=new L(o||[]);return n(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 d={};function h(){}function y(){}function m(){}var v={};c(v,u,(function(){return this}));var j=Object.getPrototypeOf,b=j&&j(j(S([])));b&&b!==r&&t.call(b,u)&&(v=b);var g=m.prototype=h.prototype=Object.create(v);function w(e){["next","throw","return"].forEach((function(r){c(e,r,(function(e){return this._invoke(r,e)}))}))}function x(e,r){function o(n,i,u,s){var a=p(e[n],e,i);if("throw"!==a.type){var c=a.arg,f=c.value;return f&&"object"==l(f)&&t.call(f,"__await")?r.resolve(f.__await).then((function(e){o("next",e,u,s)}),(function(e){o("throw",e,u,s)})):r.resolve(f).then((function(e){c.value=e,u(c)}),(function(e){return o("throw",e,u,s)}))}s(a.arg)}var i;n(this,"_invoke",{value:function(e,t){function n(){return new r((function(r,n){o(e,t,r,n)}))}return i=i?i.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 P()}for(t.method=o,t.arg=i;;){var u=t.delegate;if(u){var s=O(u,t);if(s){if(s===d)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===d)continue;return{value:a.arg,done:t.done}}"throw"===a.type&&(n="completed",t.method="throw",t.arg=a.arg)}}}function O(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,O(e,r),"throw"===r.method))return d;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var n=p(t,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,d;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,d):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,d)}function k(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 E(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function S(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 n=-1,o=function r(){for(;++n<e.length;)if(t.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=void 0,r.done=!0,r};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return y.prototype=m,n(g,"constructor",{value:m,configurable:!0}),n(m,"constructor",{value:y,configurable:!0}),y.displayName=c(m,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===y||"GeneratorFunction"===(r.displayName||r.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,c(e,a,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},w(x.prototype),c(x.prototype,s,(function(){return this})),e.AsyncIterator=x,e.async=function(r,t,n,o,i){void 0===i&&(i=Promise);var u=new x(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),c(g,a,"Generator"),c(g,u,(function(){return this})),c(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=S,L.prototype={constructor:L,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(E),!e)for(var r in this)"t"===r.charAt(0)&&t.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 n(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 n("end");if(i.tryLoc<=this.prev){var s=t.call(i,"catchLoc"),a=t.call(i,"finallyLoc");if(s&&a){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&t.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,d):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),d},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),E(t),d}},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;E(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,t){return this.delegate={iterator:S(e),resultName:r,nextLoc:t},"next"===this.method&&(this.arg=void 0),d}},e}function u(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 s(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var i=e.apply(r,t);function s(e){u(i,n,o,s,a,"next",e)}function a(e){u(i,n,o,s,a,"throw",e)}s(void 0)}))}}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){f(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 f(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){return l="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},l(e)}require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.string.ends-with.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/web.timers.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.symbol.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.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.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.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.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.object.create.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.array.reverse.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.from.js"),Object.defineProperty(exports,"__esModule",{value:!0});var p=require("@merkur/core"),d=require("node-fetch"),h=require("abort-controller");function y(e){return e&&"object"===l(e)&&"default"in e?e:{default:e}}var m=y(d),v=y(h);function j(e){return[q(),x(),O()]}function b(e,r,t){return g.apply(this,arguments)}function g(){return g=s(i().mark((function t(n,o,u){var s,a,c,f,l,p,d=arguments;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(s=d.length,a=new Array(s>3?s-3:0),c=3;c<s;c++)a[c-3]=d[c];f=r(o),t.prev=2,f.s();case 4:if((l=f.n()).done){t.next=12;break}if("function"!=typeof(p=l.value)[u]){t.next=10;break}return t.next=9,p[u].apply(p,[n].concat(e(a)));case 9:a=t.sent;case 10:t.next=4;break;case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(2),f.e(t.t0);case 17:return t.prev=17,f.f(),t.finish(17);case 20:return t.abrupt("return",a);case 21:case"end":return t.stop()}}),t,null,[[2,14,17,20]])}))),g.apply(this,arguments)}function w(){return"undefined"!=typeof window&&window.fetch?window.fetch.bind(window):m.default}function x(){return{transformRequest:function(e,r,t){return s(i().mark((function e(){var n,o,u,s,a,f,l;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c({},r),o=r.baseUrl,u=void 0===o?"":o,s=r.path,a=void 0===s?"/":s,r.url?n.url=r.url:n.url="".concat(u.endsWith("/")?u.substring(0,u.length-1):u,"/").concat(a.startsWith("/")?a.substring(1):a),f=Object.keys(r.query).map((function(e){return[e,r.query[e]].map(encodeURIComponent).join("=")})).join("&"),l=-1!==n.url.indexOf("?"),n.url+=l?f?"&".concat(f):"":f?"?".concat(f):"",e.abrupt("return",[n,t]);case 7:case"end":return e.stop()}}),e)})))()}}}function q(){return{transformResponse:function(e,r,t){return s(i().mark((function e(){var n,o,u;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(204===t.status||"function"!=typeof t.json){e.next=15;break}if(n=t.headers.get("content-type"),o=null,!n||!n.includes("application/json")){e.next=9;break}return e.next=6,t.json();case 6:o=e.sent,e.next=12;break;case 9:return e.next=11,t.text();case 11:o=e.sent;case 12:return(u=k(t)).body=o,e.abrupt("return",[r,u]);case 15:return e.abrupt("return",[r,t]);case 16:case"end":return e.stop()}}),e)})))()},transformRequest:function(e,r,t){return s(i().mark((function e(){var n,o,u,s;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.body,o=r.headers,u=r.method,!n||"application/json"!==(o["Content-Type"]||o["content-type"])||["GET","HEAD"].includes(u)){e.next=4;break}return s=c(c({},r),{},{body:JSON.stringify(n)}),e.abrupt("return",[s,t]);case 4:return e.abrupt("return",[r,t]);case 5:case"end":return e.stop()}}),e)})))()}}}function O(){return{transformRequest:function(e,r,t){return s(i().mark((function n(){var o,u;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=c({},r),"timeout"in r&&(u=new e.$dependencies.AbortController,o.signal=u.signal,o.timeoutTimer=setTimeout((function(){u.abort()}),r.timeout)),n.abrupt("return",[o,t]);case 3:case"end":return n.stop()}}),n)})))()},transformResponse:function(e,r,t){return s(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"timeoutTimer"in r&&clearTimeout(r.timeoutTimer),e.abrupt("return",[r,t]);case 2:case"end":return e.stop()}}),e)})))()}}}function k(e){var r=e.body,t=e.headers,n=e.ok,o=e.redirected,i=e.status,u=e.statusText,s=e.trailers,a=e.type,c=e.url,f=e.useFinalURL;return{body:E({},r),headers:t,ok:n,redirected:o,status:i,statusText:u,trailers:s,type:a,url:c,useFinalURL:f}}function E(e){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=0,o=Object.keys(r);n<o.length;n++){var i=o[n],u=r[i],s=t?t+"."+i:i;u instanceof Array?e[i]=u.slice():!(u instanceof Object)||u instanceof Function||u instanceof RegExp?e[i]=u:(e[i]instanceof Object||(e[i]={}),E(e[i],u,s))}return e}exports.copyResponse=k,exports.getDefaultTransformers=j,exports.httpClientPlugin=function(){return{setup:function(e){return s(i().mark((function r(){return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return(e=c(c({},{http:{request:function(e,r){return s(i().mark((function n(){var o,u,s,a,f,l,p;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=null,u=c(c({},e.$in.httpClient.defaultConfig),r),s=u.transformers,n.next=5,b(e,s,"transformRequest",u,o);case 5:if(a=n.sent,f=t(a,2),u=f[0],o=f[1]){n.next=15;break}return n.next=12,e.$dependencies.fetch(u.url,u);case 12:n.t0=n.sent,n.next=16;break;case 15:n.t0=o;case 16:return o=n.t0,n.next=19,b(e,s,"transformResponse",u,o);case 19:if(l=n.sent,p=t(l,2),u=p[0],(o=p[1]).ok){n.next=25;break}return n.abrupt("return",Promise.reject({request:u,response:o}));case 25:return n.abrupt("return",{request:u,response:o});case 26:case"end":return n.stop()}}),n)})))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:j(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=w(),e.$dependencies.AbortController=v.default,r.abrupt("return",e);case 5:case"end":return r.stop()}}),r)})))()},create:function(e){return s(i().mark((function r(){return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return p.bindWidgetToFunctions(e,e.http),r.abrupt("return",e);case 2:case"end":return r.stop()}}),r)})))()}}},exports.setDefaultConfig=function(e,r){e.$in.httpClient.defaultConfig=c(c({},e.$in.httpClient.defaultConfig),r)},exports.transformBody=q,exports.transformQuery=x,exports.transformTimeout=O;
|
package/lib/index.es9.cjs
CHANGED
|
@@ -3,37 +3,30 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
6
|
var core = require('@merkur/core');
|
|
8
|
-
|
|
9
7
|
var fetch = require('node-fetch');
|
|
10
|
-
|
|
11
8
|
var AbortController = require('abort-controller');
|
|
12
|
-
|
|
13
9
|
function _interopDefaultLegacy(e) {
|
|
14
10
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
15
11
|
'default': e
|
|
16
12
|
};
|
|
17
13
|
}
|
|
18
|
-
|
|
19
14
|
var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch);
|
|
20
|
-
|
|
21
15
|
var AbortController__default = /*#__PURE__*/_interopDefaultLegacy(AbortController);
|
|
22
|
-
|
|
23
16
|
function setDefaultConfig(widget, newDefaultConfig) {
|
|
24
|
-
widget.$in.httpClient.defaultConfig = {
|
|
17
|
+
widget.$in.httpClient.defaultConfig = {
|
|
18
|
+
...widget.$in.httpClient.defaultConfig,
|
|
25
19
|
...newDefaultConfig
|
|
26
20
|
};
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
function getDefaultTransformers(widget) {
|
|
30
23
|
return [transformBody(), transformQuery(), transformTimeout()];
|
|
31
24
|
}
|
|
32
|
-
|
|
33
25
|
function httpClientPlugin() {
|
|
34
26
|
return {
|
|
35
27
|
async setup(widget) {
|
|
36
|
-
widget = {
|
|
28
|
+
widget = {
|
|
29
|
+
...httpClientAPI(),
|
|
37
30
|
...widget
|
|
38
31
|
};
|
|
39
32
|
widget.$in.httpClient = {
|
|
@@ -49,141 +42,119 @@ function httpClientPlugin() {
|
|
|
49
42
|
widget.$dependencies.AbortController = AbortController__default["default"];
|
|
50
43
|
return widget;
|
|
51
44
|
},
|
|
52
|
-
|
|
53
45
|
async create(widget) {
|
|
54
46
|
core.bindWidgetToFunctions(widget, widget.http);
|
|
55
47
|
return widget;
|
|
56
48
|
}
|
|
57
|
-
|
|
58
49
|
};
|
|
59
50
|
}
|
|
60
|
-
|
|
61
51
|
function httpClientAPI() {
|
|
62
52
|
return {
|
|
63
53
|
http: {
|
|
64
54
|
async request(widget, requestConfig) {
|
|
65
55
|
let response = null;
|
|
66
|
-
let request = {
|
|
56
|
+
let request = {
|
|
57
|
+
...widget.$in.httpClient.defaultConfig,
|
|
67
58
|
...requestConfig
|
|
68
59
|
};
|
|
69
60
|
const transformers = request.transformers;
|
|
70
61
|
[request, response] = await runTransformers(widget, transformers, 'transformRequest', request, response);
|
|
71
62
|
response = !response ? await widget.$dependencies.fetch(request.url, request) : response;
|
|
72
63
|
[request, response] = await runTransformers(widget, transformers, 'transformResponse', request, response);
|
|
73
|
-
|
|
74
64
|
if (!response.ok) {
|
|
75
65
|
return Promise.reject({
|
|
76
66
|
request,
|
|
77
67
|
response
|
|
78
68
|
});
|
|
79
69
|
}
|
|
80
|
-
|
|
81
70
|
return {
|
|
82
71
|
request,
|
|
83
72
|
response
|
|
84
73
|
};
|
|
85
74
|
}
|
|
86
|
-
|
|
87
75
|
}
|
|
88
76
|
};
|
|
89
77
|
}
|
|
90
|
-
|
|
91
78
|
async function runTransformers(widget, transformers, method, ...rest) {
|
|
92
79
|
for (const transformer of transformers) {
|
|
93
80
|
if (typeof transformer[method] === 'function') {
|
|
94
81
|
rest = await transformer[method](widget, ...rest);
|
|
95
82
|
}
|
|
96
83
|
}
|
|
97
|
-
|
|
98
84
|
return rest;
|
|
99
85
|
}
|
|
100
|
-
|
|
101
86
|
function getFetchAPI() {
|
|
102
87
|
if (typeof window === 'undefined' || !window.fetch) {
|
|
103
88
|
return fetch__default["default"];
|
|
104
89
|
}
|
|
105
|
-
|
|
106
90
|
return window.fetch.bind(window);
|
|
107
91
|
}
|
|
108
|
-
|
|
109
92
|
function transformQuery() {
|
|
110
93
|
return {
|
|
111
94
|
async transformRequest(widget, request, response) {
|
|
112
|
-
let newRequest = {
|
|
95
|
+
let newRequest = {
|
|
96
|
+
...request
|
|
113
97
|
};
|
|
114
98
|
let {
|
|
115
99
|
baseUrl = '',
|
|
116
100
|
path = '/'
|
|
117
101
|
} = request;
|
|
118
|
-
|
|
119
102
|
if (!request.url) {
|
|
120
103
|
newRequest.url = `${baseUrl.endsWith('/') ? baseUrl.substring(0, baseUrl.length - 1) : baseUrl}/${path.startsWith('/') ? path.substring(1) : path}`;
|
|
121
104
|
} else {
|
|
122
105
|
newRequest.url = request.url;
|
|
123
106
|
}
|
|
124
|
-
|
|
125
107
|
const queryString = Object.keys(request.query).map(key => [key, request.query[key]].map(encodeURIComponent).join('=')).join('&');
|
|
126
108
|
const hasQuestionMark = newRequest.url.indexOf('?') !== -1;
|
|
127
|
-
|
|
128
109
|
if (hasQuestionMark) {
|
|
129
110
|
newRequest.url += queryString ? `&${queryString}` : '';
|
|
130
111
|
} else {
|
|
131
112
|
newRequest.url += queryString ? `?${queryString}` : '';
|
|
132
113
|
}
|
|
133
|
-
|
|
134
114
|
return [newRequest, response];
|
|
135
115
|
}
|
|
136
|
-
|
|
137
116
|
};
|
|
138
117
|
}
|
|
139
|
-
|
|
140
118
|
function transformBody() {
|
|
141
119
|
return {
|
|
142
120
|
async transformResponse(widget, request, response) {
|
|
143
121
|
if (response.status !== 204 && typeof response.json === 'function') {
|
|
144
122
|
const contentType = response.headers.get('content-type');
|
|
145
123
|
let body = null;
|
|
146
|
-
|
|
147
124
|
if (contentType && contentType.includes('application/json')) {
|
|
148
125
|
body = await response.json();
|
|
149
126
|
} else {
|
|
150
127
|
body = await response.text();
|
|
151
128
|
}
|
|
152
|
-
|
|
153
129
|
let newResponse = copyResponse(response);
|
|
154
130
|
newResponse.body = body;
|
|
155
131
|
return [request, newResponse];
|
|
156
132
|
}
|
|
157
|
-
|
|
158
133
|
return [request, response];
|
|
159
134
|
},
|
|
160
|
-
|
|
161
135
|
async transformRequest(widget, request, response) {
|
|
162
136
|
const {
|
|
163
137
|
body,
|
|
164
138
|
headers,
|
|
165
139
|
method
|
|
166
140
|
} = request;
|
|
167
|
-
|
|
168
141
|
if (body && (headers['Content-Type'] || headers['content-type']) === 'application/json' && !['GET', 'HEAD'].includes(method)) {
|
|
169
|
-
let newRequest = {
|
|
142
|
+
let newRequest = {
|
|
143
|
+
...request,
|
|
170
144
|
body: JSON.stringify(body)
|
|
171
145
|
};
|
|
172
146
|
return [newRequest, response];
|
|
173
147
|
}
|
|
174
|
-
|
|
175
148
|
return [request, response];
|
|
176
149
|
}
|
|
177
|
-
|
|
178
150
|
};
|
|
179
151
|
}
|
|
180
|
-
|
|
181
152
|
function transformTimeout() {
|
|
182
153
|
return {
|
|
183
154
|
async transformRequest(widget, request, response) {
|
|
184
|
-
let newRequest = {
|
|
155
|
+
let newRequest = {
|
|
156
|
+
...request
|
|
185
157
|
};
|
|
186
|
-
|
|
187
158
|
if ('timeout' in request) {
|
|
188
159
|
const controller = new widget.$dependencies.AbortController();
|
|
189
160
|
newRequest.signal = controller.signal;
|
|
@@ -191,21 +162,16 @@ function transformTimeout() {
|
|
|
191
162
|
controller.abort();
|
|
192
163
|
}, request.timeout);
|
|
193
164
|
}
|
|
194
|
-
|
|
195
165
|
return [newRequest, response];
|
|
196
166
|
},
|
|
197
|
-
|
|
198
167
|
async transformResponse(widget, request, response) {
|
|
199
168
|
if ('timeoutTimer' in request) {
|
|
200
169
|
clearTimeout(request.timeoutTimer);
|
|
201
170
|
}
|
|
202
|
-
|
|
203
171
|
return [request, response];
|
|
204
172
|
}
|
|
205
|
-
|
|
206
173
|
};
|
|
207
174
|
}
|
|
208
|
-
|
|
209
175
|
function copyResponse(response) {
|
|
210
176
|
const {
|
|
211
177
|
body,
|
|
@@ -232,28 +198,23 @@ function copyResponse(response) {
|
|
|
232
198
|
useFinalURL
|
|
233
199
|
};
|
|
234
200
|
}
|
|
235
|
-
|
|
236
201
|
function assign(target, source = {}, parentField = null) {
|
|
237
202
|
for (const field of Object.keys(source)) {
|
|
238
203
|
const value = source[field];
|
|
239
204
|
const fieldPath = parentField ? parentField + '.' + field : field;
|
|
240
|
-
|
|
241
205
|
if (value instanceof Array) {
|
|
242
206
|
target[field] = value.slice();
|
|
243
207
|
} else if (value instanceof Object && !(value instanceof Function) && !(value instanceof RegExp)) {
|
|
244
208
|
if (!(target[field] instanceof Object)) {
|
|
245
209
|
target[field] = {};
|
|
246
210
|
}
|
|
247
|
-
|
|
248
211
|
assign(target[field], value, fieldPath);
|
|
249
212
|
} else {
|
|
250
213
|
target[field] = value;
|
|
251
214
|
}
|
|
252
215
|
}
|
|
253
|
-
|
|
254
216
|
return target;
|
|
255
217
|
}
|
|
256
|
-
|
|
257
218
|
exports.copyResponse = copyResponse;
|
|
258
219
|
exports.getDefaultTransformers = getDefaultTransformers;
|
|
259
220
|
exports.httpClientPlugin = httpClientPlugin;
|
package/lib/index.es9.mjs
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { bindWidgetToFunctions } from '@merkur/core';
|
|
2
2
|
import fetch from 'node-fetch';
|
|
3
3
|
import AbortController from 'abort-controller';
|
|
4
|
-
|
|
5
4
|
function setDefaultConfig(widget, newDefaultConfig) {
|
|
6
|
-
widget.$in.httpClient.defaultConfig = {
|
|
5
|
+
widget.$in.httpClient.defaultConfig = {
|
|
6
|
+
...widget.$in.httpClient.defaultConfig,
|
|
7
7
|
...newDefaultConfig
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
-
|
|
11
10
|
function getDefaultTransformers(widget) {
|
|
12
11
|
return [transformBody(), transformQuery(), transformTimeout()];
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
function httpClientPlugin() {
|
|
16
14
|
return {
|
|
17
15
|
async setup(widget) {
|
|
18
|
-
widget = {
|
|
16
|
+
widget = {
|
|
17
|
+
...httpClientAPI(),
|
|
19
18
|
...widget
|
|
20
19
|
};
|
|
21
20
|
widget.$in.httpClient = {
|
|
@@ -31,141 +30,119 @@ function httpClientPlugin() {
|
|
|
31
30
|
widget.$dependencies.AbortController = AbortController;
|
|
32
31
|
return widget;
|
|
33
32
|
},
|
|
34
|
-
|
|
35
33
|
async create(widget) {
|
|
36
34
|
bindWidgetToFunctions(widget, widget.http);
|
|
37
35
|
return widget;
|
|
38
36
|
}
|
|
39
|
-
|
|
40
37
|
};
|
|
41
38
|
}
|
|
42
|
-
|
|
43
39
|
function httpClientAPI() {
|
|
44
40
|
return {
|
|
45
41
|
http: {
|
|
46
42
|
async request(widget, requestConfig) {
|
|
47
43
|
let response = null;
|
|
48
|
-
let request = {
|
|
44
|
+
let request = {
|
|
45
|
+
...widget.$in.httpClient.defaultConfig,
|
|
49
46
|
...requestConfig
|
|
50
47
|
};
|
|
51
48
|
const transformers = request.transformers;
|
|
52
49
|
[request, response] = await runTransformers(widget, transformers, 'transformRequest', request, response);
|
|
53
50
|
response = !response ? await widget.$dependencies.fetch(request.url, request) : response;
|
|
54
51
|
[request, response] = await runTransformers(widget, transformers, 'transformResponse', request, response);
|
|
55
|
-
|
|
56
52
|
if (!response.ok) {
|
|
57
53
|
return Promise.reject({
|
|
58
54
|
request,
|
|
59
55
|
response
|
|
60
56
|
});
|
|
61
57
|
}
|
|
62
|
-
|
|
63
58
|
return {
|
|
64
59
|
request,
|
|
65
60
|
response
|
|
66
61
|
};
|
|
67
62
|
}
|
|
68
|
-
|
|
69
63
|
}
|
|
70
64
|
};
|
|
71
65
|
}
|
|
72
|
-
|
|
73
66
|
async function runTransformers(widget, transformers, method, ...rest) {
|
|
74
67
|
for (const transformer of transformers) {
|
|
75
68
|
if (typeof transformer[method] === 'function') {
|
|
76
69
|
rest = await transformer[method](widget, ...rest);
|
|
77
70
|
}
|
|
78
71
|
}
|
|
79
|
-
|
|
80
72
|
return rest;
|
|
81
73
|
}
|
|
82
|
-
|
|
83
74
|
function getFetchAPI() {
|
|
84
75
|
if (typeof window === 'undefined' || !window.fetch) {
|
|
85
76
|
return fetch;
|
|
86
77
|
}
|
|
87
|
-
|
|
88
78
|
return window.fetch.bind(window);
|
|
89
79
|
}
|
|
90
|
-
|
|
91
80
|
function transformQuery() {
|
|
92
81
|
return {
|
|
93
82
|
async transformRequest(widget, request, response) {
|
|
94
|
-
let newRequest = {
|
|
83
|
+
let newRequest = {
|
|
84
|
+
...request
|
|
95
85
|
};
|
|
96
86
|
let {
|
|
97
87
|
baseUrl = '',
|
|
98
88
|
path = '/'
|
|
99
89
|
} = request;
|
|
100
|
-
|
|
101
90
|
if (!request.url) {
|
|
102
91
|
newRequest.url = `${baseUrl.endsWith('/') ? baseUrl.substring(0, baseUrl.length - 1) : baseUrl}/${path.startsWith('/') ? path.substring(1) : path}`;
|
|
103
92
|
} else {
|
|
104
93
|
newRequest.url = request.url;
|
|
105
94
|
}
|
|
106
|
-
|
|
107
95
|
const queryString = Object.keys(request.query).map(key => [key, request.query[key]].map(encodeURIComponent).join('=')).join('&');
|
|
108
96
|
const hasQuestionMark = newRequest.url.indexOf('?') !== -1;
|
|
109
|
-
|
|
110
97
|
if (hasQuestionMark) {
|
|
111
98
|
newRequest.url += queryString ? `&${queryString}` : '';
|
|
112
99
|
} else {
|
|
113
100
|
newRequest.url += queryString ? `?${queryString}` : '';
|
|
114
101
|
}
|
|
115
|
-
|
|
116
102
|
return [newRequest, response];
|
|
117
103
|
}
|
|
118
|
-
|
|
119
104
|
};
|
|
120
105
|
}
|
|
121
|
-
|
|
122
106
|
function transformBody() {
|
|
123
107
|
return {
|
|
124
108
|
async transformResponse(widget, request, response) {
|
|
125
109
|
if (response.status !== 204 && typeof response.json === 'function') {
|
|
126
110
|
const contentType = response.headers.get('content-type');
|
|
127
111
|
let body = null;
|
|
128
|
-
|
|
129
112
|
if (contentType && contentType.includes('application/json')) {
|
|
130
113
|
body = await response.json();
|
|
131
114
|
} else {
|
|
132
115
|
body = await response.text();
|
|
133
116
|
}
|
|
134
|
-
|
|
135
117
|
let newResponse = copyResponse(response);
|
|
136
118
|
newResponse.body = body;
|
|
137
119
|
return [request, newResponse];
|
|
138
120
|
}
|
|
139
|
-
|
|
140
121
|
return [request, response];
|
|
141
122
|
},
|
|
142
|
-
|
|
143
123
|
async transformRequest(widget, request, response) {
|
|
144
124
|
const {
|
|
145
125
|
body,
|
|
146
126
|
headers,
|
|
147
127
|
method
|
|
148
128
|
} = request;
|
|
149
|
-
|
|
150
129
|
if (body && (headers['Content-Type'] || headers['content-type']) === 'application/json' && !['GET', 'HEAD'].includes(method)) {
|
|
151
|
-
let newRequest = {
|
|
130
|
+
let newRequest = {
|
|
131
|
+
...request,
|
|
152
132
|
body: JSON.stringify(body)
|
|
153
133
|
};
|
|
154
134
|
return [newRequest, response];
|
|
155
135
|
}
|
|
156
|
-
|
|
157
136
|
return [request, response];
|
|
158
137
|
}
|
|
159
|
-
|
|
160
138
|
};
|
|
161
139
|
}
|
|
162
|
-
|
|
163
140
|
function transformTimeout() {
|
|
164
141
|
return {
|
|
165
142
|
async transformRequest(widget, request, response) {
|
|
166
|
-
let newRequest = {
|
|
143
|
+
let newRequest = {
|
|
144
|
+
...request
|
|
167
145
|
};
|
|
168
|
-
|
|
169
146
|
if ('timeout' in request) {
|
|
170
147
|
const controller = new widget.$dependencies.AbortController();
|
|
171
148
|
newRequest.signal = controller.signal;
|
|
@@ -173,21 +150,16 @@ function transformTimeout() {
|
|
|
173
150
|
controller.abort();
|
|
174
151
|
}, request.timeout);
|
|
175
152
|
}
|
|
176
|
-
|
|
177
153
|
return [newRequest, response];
|
|
178
154
|
},
|
|
179
|
-
|
|
180
155
|
async transformResponse(widget, request, response) {
|
|
181
156
|
if ('timeoutTimer' in request) {
|
|
182
157
|
clearTimeout(request.timeoutTimer);
|
|
183
158
|
}
|
|
184
|
-
|
|
185
159
|
return [request, response];
|
|
186
160
|
}
|
|
187
|
-
|
|
188
161
|
};
|
|
189
162
|
}
|
|
190
|
-
|
|
191
163
|
function copyResponse(response) {
|
|
192
164
|
const {
|
|
193
165
|
body,
|
|
@@ -214,26 +186,21 @@ function copyResponse(response) {
|
|
|
214
186
|
useFinalURL
|
|
215
187
|
};
|
|
216
188
|
}
|
|
217
|
-
|
|
218
189
|
function assign(target, source = {}, parentField = null) {
|
|
219
190
|
for (const field of Object.keys(source)) {
|
|
220
191
|
const value = source[field];
|
|
221
192
|
const fieldPath = parentField ? parentField + '.' + field : field;
|
|
222
|
-
|
|
223
193
|
if (value instanceof Array) {
|
|
224
194
|
target[field] = value.slice();
|
|
225
195
|
} else if (value instanceof Object && !(value instanceof Function) && !(value instanceof RegExp)) {
|
|
226
196
|
if (!(target[field] instanceof Object)) {
|
|
227
197
|
target[field] = {};
|
|
228
198
|
}
|
|
229
|
-
|
|
230
199
|
assign(target[field], value, fieldPath);
|
|
231
200
|
} else {
|
|
232
201
|
target[field] = value;
|
|
233
202
|
}
|
|
234
203
|
}
|
|
235
|
-
|
|
236
204
|
return target;
|
|
237
205
|
}
|
|
238
|
-
|
|
239
206
|
export { copyResponse, getDefaultTransformers, httpClientPlugin, setDefaultConfig, transformBody, transformQuery, transformTimeout };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkur/plugin-http-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Merkur event emitter plugin.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"module": "lib/index",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"homepage": "https://merkur.js.org/",
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@merkur/core": "^0.
|
|
51
|
+
"@merkur/core": "^0.30.0",
|
|
52
52
|
"rollup": "^2.70.2"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"node-fetch": "^2.6.7",
|
|
60
60
|
"whatwg-fetch": "^3.6.2"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "13a0ac12f77f381b1d829cffe9b21d453c26ca7a"
|
|
63
63
|
}
|