@merkur/plugin-http-client 0.28.1 → 0.29.3

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 CHANGED
@@ -151,21 +151,23 @@ function transformQuery() {
151
151
  function transformBody() {
152
152
  return {
153
153
  async transformResponse(widget, request, response) {
154
- const contentType = response.headers.get('content-type');
155
- let body = null;
154
+ if (response.status !== 204 && typeof response.json === 'function') {
155
+ const contentType = response.headers.get('content-type');
156
+ let body = null;
156
157
 
157
- if (response.status !== 204) {
158
158
  if (contentType && contentType.includes('application/json')) {
159
159
  body = await response.json();
160
160
  } else {
161
161
  body = await response.text();
162
162
  }
163
- }
164
163
 
165
- let newResponse = copyResponse(response);
166
- newResponse.body = body;
164
+ let newResponse = copyResponse(response);
165
+ newResponse.body = body;
166
+
167
+ return [request, newResponse];
168
+ }
167
169
 
168
- return [request, newResponse];
170
+ return [request, response];
169
171
  },
170
172
  async transformRequest(widget, request, response) {
171
173
  const { body, headers, method } = request;
@@ -227,7 +229,7 @@ function copyResponse(response) {
227
229
  } = response;
228
230
 
229
231
  return {
230
- body,
232
+ body: assign({}, body),
231
233
  headers,
232
234
  ok,
233
235
  redirected,
@@ -240,6 +242,30 @@ function copyResponse(response) {
240
242
  };
241
243
  }
242
244
 
245
+ function assign(target, source = {}, parentField = null) {
246
+ for (const field of Object.keys(source)) {
247
+ const value = source[field];
248
+ const fieldPath = parentField ? parentField + '.' + field : field;
249
+
250
+ if (value instanceof Array) {
251
+ target[field] = value.slice();
252
+ } else if (
253
+ value instanceof Object &&
254
+ !(value instanceof Function) &&
255
+ !(value instanceof RegExp)
256
+ ) {
257
+ if (!(target[field] instanceof Object)) {
258
+ target[field] = {};
259
+ }
260
+
261
+ assign(target[field], value, fieldPath);
262
+ } else {
263
+ target[field] = value;
264
+ }
265
+ }
266
+ return target;
267
+ }
268
+
243
269
  exports.copyResponse = copyResponse;
244
270
  exports.getDefaultTransformers = getDefaultTransformers;
245
271
  exports.httpClientPlugin = httpClientPlugin;
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.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.array.slice.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.regexp.exec.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(),v(),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 w(){return"undefined"!=typeof window&&window.fetch?window.fetch.bind(window):y.default}function v(){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(n=t.headers.get("content-type"),o=null,204===t.status){e.next=12;break}if(!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: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){return{body:e.body,headers:e.headers,ok:e.ok,redirected:e.redirected,status:e.status,statusText:e.statusText,trailers:e.trailers,type:e.type,url:e.url,useFinalURL:e.useFinalURL}}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=w(),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=v,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,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;
package/lib/index.es9.cjs CHANGED
@@ -140,20 +140,22 @@ function transformQuery() {
140
140
  function transformBody() {
141
141
  return {
142
142
  async transformResponse(widget, request, response) {
143
- const contentType = response.headers.get('content-type');
144
- let body = null;
143
+ if (response.status !== 204 && typeof response.json === 'function') {
144
+ const contentType = response.headers.get('content-type');
145
+ let body = null;
145
146
 
146
- if (response.status !== 204) {
147
147
  if (contentType && contentType.includes('application/json')) {
148
148
  body = await response.json();
149
149
  } else {
150
150
  body = await response.text();
151
151
  }
152
+
153
+ let newResponse = copyResponse(response);
154
+ newResponse.body = body;
155
+ return [request, newResponse];
152
156
  }
153
157
 
154
- let newResponse = copyResponse(response);
155
- newResponse.body = body;
156
- return [request, newResponse];
158
+ return [request, response];
157
159
  },
158
160
 
159
161
  async transformRequest(widget, request, response) {
@@ -218,7 +220,7 @@ function copyResponse(response) {
218
220
  useFinalURL
219
221
  } = response;
220
222
  return {
221
- body,
223
+ body: assign({}, body),
222
224
  headers,
223
225
  ok,
224
226
  redirected,
@@ -231,6 +233,27 @@ function copyResponse(response) {
231
233
  };
232
234
  }
233
235
 
236
+ function assign(target, source = {}, parentField = null) {
237
+ for (const field of Object.keys(source)) {
238
+ const value = source[field];
239
+ const fieldPath = parentField ? parentField + '.' + field : field;
240
+
241
+ if (value instanceof Array) {
242
+ target[field] = value.slice();
243
+ } else if (value instanceof Object && !(value instanceof Function) && !(value instanceof RegExp)) {
244
+ if (!(target[field] instanceof Object)) {
245
+ target[field] = {};
246
+ }
247
+
248
+ assign(target[field], value, fieldPath);
249
+ } else {
250
+ target[field] = value;
251
+ }
252
+ }
253
+
254
+ return target;
255
+ }
256
+
234
257
  exports.copyResponse = copyResponse;
235
258
  exports.getDefaultTransformers = getDefaultTransformers;
236
259
  exports.httpClientPlugin = httpClientPlugin;
package/lib/index.es9.mjs CHANGED
@@ -122,20 +122,22 @@ function transformQuery() {
122
122
  function transformBody() {
123
123
  return {
124
124
  async transformResponse(widget, request, response) {
125
- const contentType = response.headers.get('content-type');
126
- let body = null;
125
+ if (response.status !== 204 && typeof response.json === 'function') {
126
+ const contentType = response.headers.get('content-type');
127
+ let body = null;
127
128
 
128
- if (response.status !== 204) {
129
129
  if (contentType && contentType.includes('application/json')) {
130
130
  body = await response.json();
131
131
  } else {
132
132
  body = await response.text();
133
133
  }
134
+
135
+ let newResponse = copyResponse(response);
136
+ newResponse.body = body;
137
+ return [request, newResponse];
134
138
  }
135
139
 
136
- let newResponse = copyResponse(response);
137
- newResponse.body = body;
138
- return [request, newResponse];
140
+ return [request, response];
139
141
  },
140
142
 
141
143
  async transformRequest(widget, request, response) {
@@ -200,7 +202,7 @@ function copyResponse(response) {
200
202
  useFinalURL
201
203
  } = response;
202
204
  return {
203
- body,
205
+ body: assign({}, body),
204
206
  headers,
205
207
  ok,
206
208
  redirected,
@@ -213,4 +215,25 @@ function copyResponse(response) {
213
215
  };
214
216
  }
215
217
 
218
+ function assign(target, source = {}, parentField = null) {
219
+ for (const field of Object.keys(source)) {
220
+ const value = source[field];
221
+ const fieldPath = parentField ? parentField + '.' + field : field;
222
+
223
+ if (value instanceof Array) {
224
+ target[field] = value.slice();
225
+ } else if (value instanceof Object && !(value instanceof Function) && !(value instanceof RegExp)) {
226
+ if (!(target[field] instanceof Object)) {
227
+ target[field] = {};
228
+ }
229
+
230
+ assign(target[field], value, fieldPath);
231
+ } else {
232
+ target[field] = value;
233
+ }
234
+ }
235
+
236
+ return target;
237
+ }
238
+
216
239
  export { copyResponse, getDefaultTransformers, httpClientPlugin, setDefaultConfig, transformBody, transformQuery, transformTimeout };
package/lib/index.js CHANGED
@@ -151,21 +151,23 @@ function transformQuery() {
151
151
  function transformBody() {
152
152
  return {
153
153
  async transformResponse(widget, request, response) {
154
- const contentType = response.headers.get('content-type');
155
- let body = null;
154
+ if (response.status !== 204 && typeof response.json === 'function') {
155
+ const contentType = response.headers.get('content-type');
156
+ let body = null;
156
157
 
157
- if (response.status !== 204) {
158
158
  if (contentType && contentType.includes('application/json')) {
159
159
  body = await response.json();
160
160
  } else {
161
161
  body = await response.text();
162
162
  }
163
- }
164
163
 
165
- let newResponse = copyResponse(response);
166
- newResponse.body = body;
164
+ let newResponse = copyResponse(response);
165
+ newResponse.body = body;
166
+
167
+ return [request, newResponse];
168
+ }
167
169
 
168
- return [request, newResponse];
170
+ return [request, response];
169
171
  },
170
172
  async transformRequest(widget, request, response) {
171
173
  const { body, headers, method } = request;
@@ -227,7 +229,7 @@ function copyResponse(response) {
227
229
  } = response;
228
230
 
229
231
  return {
230
- body,
232
+ body: assign({}, body),
231
233
  headers,
232
234
  ok,
233
235
  redirected,
@@ -240,6 +242,30 @@ function copyResponse(response) {
240
242
  };
241
243
  }
242
244
 
245
+ function assign(target, source = {}, parentField = null) {
246
+ for (const field of Object.keys(source)) {
247
+ const value = source[field];
248
+ const fieldPath = parentField ? parentField + '.' + field : field;
249
+
250
+ if (value instanceof Array) {
251
+ target[field] = value.slice();
252
+ } else if (
253
+ value instanceof Object &&
254
+ !(value instanceof Function) &&
255
+ !(value instanceof RegExp)
256
+ ) {
257
+ if (!(target[field] instanceof Object)) {
258
+ target[field] = {};
259
+ }
260
+
261
+ assign(target[field], value, fieldPath);
262
+ } else {
263
+ target[field] = value;
264
+ }
265
+ }
266
+ return target;
267
+ }
268
+
243
269
  exports.copyResponse = copyResponse;
244
270
  exports.getDefaultTransformers = getDefaultTransformers;
245
271
  exports.httpClientPlugin = httpClientPlugin;
package/lib/index.mjs CHANGED
@@ -142,21 +142,23 @@ function transformQuery() {
142
142
  function transformBody() {
143
143
  return {
144
144
  async transformResponse(widget, request, response) {
145
- const contentType = response.headers.get('content-type');
146
- let body = null;
145
+ if (response.status !== 204 && typeof response.json === 'function') {
146
+ const contentType = response.headers.get('content-type');
147
+ let body = null;
147
148
 
148
- if (response.status !== 204) {
149
149
  if (contentType && contentType.includes('application/json')) {
150
150
  body = await response.json();
151
151
  } else {
152
152
  body = await response.text();
153
153
  }
154
- }
155
154
 
156
- let newResponse = copyResponse(response);
157
- newResponse.body = body;
155
+ let newResponse = copyResponse(response);
156
+ newResponse.body = body;
157
+
158
+ return [request, newResponse];
159
+ }
158
160
 
159
- return [request, newResponse];
161
+ return [request, response];
160
162
  },
161
163
  async transformRequest(widget, request, response) {
162
164
  const { body, headers, method } = request;
@@ -218,7 +220,7 @@ function copyResponse(response) {
218
220
  } = response;
219
221
 
220
222
  return {
221
- body,
223
+ body: assign({}, body),
222
224
  headers,
223
225
  ok,
224
226
  redirected,
@@ -231,4 +233,28 @@ function copyResponse(response) {
231
233
  };
232
234
  }
233
235
 
236
+ function assign(target, source = {}, parentField = null) {
237
+ for (const field of Object.keys(source)) {
238
+ const value = source[field];
239
+ const fieldPath = parentField ? parentField + '.' + field : field;
240
+
241
+ if (value instanceof Array) {
242
+ target[field] = value.slice();
243
+ } else if (
244
+ value instanceof Object &&
245
+ !(value instanceof Function) &&
246
+ !(value instanceof RegExp)
247
+ ) {
248
+ if (!(target[field] instanceof Object)) {
249
+ target[field] = {};
250
+ }
251
+
252
+ assign(target[field], value, fieldPath);
253
+ } else {
254
+ target[field] = value;
255
+ }
256
+ }
257
+ return target;
258
+ }
259
+
234
260
  export { copyResponse, getDefaultTransformers, httpClientPlugin, setDefaultConfig, transformBody, transformQuery, transformTimeout };
package/lib/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){if("function"==typeof define&&define.amd)define("@merkur/plugin-http-client",["exports","@merkur/core","node-fetch","abort-controller"],t);else if("undefined"!=typeof exports)t(exports,require("@merkur/core"),require("node-fetch"),require("abort-controller"));else{var r={exports:{}};t(r.exports,e.Merkur.Core,e.fetch,e.abortController),e.Merkur=e.Merkur||{},e.Merkur.Plugin=e.Merkur.Plugin||{},e.Merkur.Plugin.Httpclient=r.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e,t,r,n){function o(e){return e&&e.__esModule?e:{default:e}}function i(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||f(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 u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=f(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}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 i,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],u=!0,a=!1;try{for(r=r.call(e);!(u=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);u=!0);}catch(e){a=!0,o=e}finally{try{u||null==r.return||r.return()}finally{if(a)throw o}}return i}(e,t)||f(e,t)||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 f(e,t){if(e){if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t,r,n,o,i,u){try{var a=e[i](u),f=a.value}catch(e){return void r(e)}a.done?t(f):Promise.resolve(f).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function u(e){c(i,n,o,u,a,"next",e)}function a(e){c(i,n,o,u,a,"throw",e)}u(void 0)}))}}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){return[g(),v(),w()]}function b(e,t,r){return h.apply(this,arguments)}function h(){return h=s((function*(e,t,r){for(var n=arguments.length,o=new Array(n>3?n-3:0),a=3;a<n;a++)o[a-3]=arguments[a];var f,l=u(t);try{for(l.s();!(f=l.n()).done;){var c=f.value;"function"==typeof c[r]&&(o=yield c[r].apply(c,[e].concat(i(o))))}}catch(e){l.e(e)}finally{l.f()}return o})),h.apply(this,arguments)}function v(){return{transformRequest:function(e,t,r){return s((function*(){var e=p({},t),n=t.baseUrl,o=void 0===n?"":n,i=t.path,u=void 0===i?"/":i;t.url?e.url=t.url:e.url="".concat(o.endsWith("/")?o.substring(0,o.length-1):o,"/").concat(u.startsWith("/")?u.substring(1):u);var a=Object.keys(t.query).map((function(e){return[e,t.query[e]].map(encodeURIComponent).join("=")})).join("&"),f=-1!==e.url.indexOf("?");return e.url+=f?a?"&".concat(a):"":a?"?".concat(a):"",[e,r]}))()}}}function g(){return{transformResponse:function(e,t,r){return s((function*(){var e=r.headers.get("content-type"),n=null;204!==r.status&&(n=e&&e.includes("application/json")?yield r.json():yield r.text());var o=j(r);return o.body=n,[t,o]}))()},transformRequest:function(e,t,r){return s((function*(){var e=t.body,n=t.headers,o=t.method;return e&&"application/json"===(n["Content-Type"]||n["content-type"])&&!["GET","HEAD"].includes(o)?[p(p({},t),{},{body:JSON.stringify(e)}),r]:[t,r]}))()}}}function w(){return{transformRequest:function(e,t,r){return s((function*(){var n=p({},t);if("timeout"in t){var o=new e.$dependencies.AbortController;n.signal=o.signal,n.timeoutTimer=setTimeout((function(){o.abort()}),t.timeout)}return[n,r]}))()},transformResponse:function(e,t,r){return s((function*(){return"timeoutTimer"in t&&clearTimeout(t.timeoutTimer),[t,r]}))()}}}function j(e){return{body:e.body,headers:e.headers,ok:e.ok,redirected:e.redirected,status:e.status,statusText:e.statusText,trailers:e.trailers,type:e.type,url:e.url,useFinalURL:e.useFinalURL}}Object.defineProperty(e,"__esModule",{value:!0}),e.copyResponse=j,e.getDefaultTransformers=m,e.httpClientPlugin=function(){return{setup:function(e){return s((function*(){return(e=p(p({},{http:{request:function(e,t){return s((function*(){var r=null,n=p(p({},e.$in.httpClient.defaultConfig),t),o=n.transformers,i=a(yield b(e,o,"transformRequest",n,r),2);n=i[0],r=(r=i[1])||(yield e.$dependencies.fetch(n.url,n));var u=a(yield b(e,o,"transformResponse",n,r),2);return n=u[0],(r=u[1]).ok?{request:n,response:r}:Promise.reject({request:n,response:r})}))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:m(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=function(){if("undefined"==typeof window||!window.fetch)return r.default;return window.fetch.bind(window)}(),e.$dependencies.AbortController=n.default,e}))()},create:function(e){return s((function*(){return(0,t.bindWidgetToFunctions)(e,e.http),e}))()}}},e.setDefaultConfig=function(e,t){e.$in.httpClient.defaultConfig=p(p({},e.$in.httpClient.defaultConfig),t)},e.transformBody=g,e.transformQuery=v,e.transformTimeout=w,r=o(r),n=o(n)}));
1
+ !function(e,t){if("function"==typeof define&&define.amd)define("@merkur/plugin-http-client",["exports","@merkur/core","node-fetch","abort-controller"],t);else if("undefined"!=typeof exports)t(exports,require("@merkur/core"),require("node-fetch"),require("abort-controller"));else{var n={exports:{}};t(n.exports,e.Merkur.Core,e.fetch,e.abortController),e.Merkur=e.Merkur||{},e.Merkur.Plugin=e.Merkur.Plugin||{},e.Merkur.Plugin.Httpclient=n.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e,t,n,r){function o(e){return e&&e.__esModule?e:{default:e}}function i(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||f(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 u(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=f(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}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 i,u=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],u=!0,a=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);u=!0);}catch(e){a=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(a)throw o}}return i}(e,t)||f(e,t)||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 f(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t,n,r,o,i,u){try{var a=e[i](u),f=a.value}catch(e){return void n(e)}a.done?t(f):Promise.resolve(f).then(r,o)}function s(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function u(e){l(i,r,o,u,a,"next",e)}function a(e){l(i,r,o,u,a,"throw",e)}u(void 0)}))}}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e){return[g(),v(),j()]}function m(e,t,n){return h.apply(this,arguments)}function h(){return h=s((function*(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];var f,c=u(t);try{for(c.s();!(f=c.n()).done;){var l=f.value;"function"==typeof l[n]&&(o=yield l[n].apply(l,[e].concat(i(o))))}}catch(e){c.e(e)}finally{c.f()}return o})),h.apply(this,arguments)}function v(){return{transformRequest:function(e,t,n){return s((function*(){var e=p({},t),r=t.baseUrl,o=void 0===r?"":r,i=t.path,u=void 0===i?"/":i;t.url?e.url=t.url:e.url="".concat(o.endsWith("/")?o.substring(0,o.length-1):o,"/").concat(u.startsWith("/")?u.substring(1):u);var a=Object.keys(t.query).map((function(e){return[e,t.query[e]].map(encodeURIComponent).join("=")})).join("&"),f=-1!==e.url.indexOf("?");return e.url+=f?a?"&".concat(a):"":a?"?".concat(a):"",[e,n]}))()}}}function g(){return{transformResponse:function(e,t,n){return s((function*(){if(204!==n.status&&"function"==typeof n.json){var e=n.headers.get("content-type"),r=null;r=e&&e.includes("application/json")?yield n.json():yield n.text();var o=w(n);return o.body=r,[t,o]}return[t,n]}))()},transformRequest:function(e,t,n){return s((function*(){var e=t.body,r=t.headers,o=t.method;return e&&"application/json"===(r["Content-Type"]||r["content-type"])&&!["GET","HEAD"].includes(o)?[p(p({},t),{},{body:JSON.stringify(e)}),n]:[t,n]}))()}}}function j(){return{transformRequest:function(e,t,n){return s((function*(){var r=p({},t);if("timeout"in t){var o=new e.$dependencies.AbortController;r.signal=o.signal,r.timeoutTimer=setTimeout((function(){o.abort()}),t.timeout)}return[r,n]}))()},transformResponse:function(e,t,n){return s((function*(){return"timeoutTimer"in t&&clearTimeout(t.timeoutTimer),[t,n]}))()}}}function w(e){var t=e.body,n=e.headers,r=e.ok,o=e.redirected,i=e.status,u=e.statusText,a=e.trailers,f=e.type,c=e.url,l=e.useFinalURL;return{body:O({},t),headers:n,ok:r,redirected:o,status:i,statusText:u,trailers:a,type:f,url:c,useFinalURL:l}}function O(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=0,o=Object.keys(t);r<o.length;r++){var i=o[r],u=t[i],a=n?n+"."+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]={}),O(e[i],u,a))}return e}Object.defineProperty(e,"__esModule",{value:!0}),e.copyResponse=w,e.getDefaultTransformers=b,e.httpClientPlugin=function(){return{setup:function(e){return s((function*(){return(e=p(p({},{http:{request:function(e,t){return s((function*(){var n=null,r=p(p({},e.$in.httpClient.defaultConfig),t),o=r.transformers,i=a(yield m(e,o,"transformRequest",r,n),2);r=i[0],n=(n=i[1])||(yield e.$dependencies.fetch(r.url,r));var u=a(yield m(e,o,"transformResponse",r,n),2);return r=u[0],(n=u[1]).ok?{request:r,response:n}:Promise.reject({request:r,response:n})}))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:b(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=function(){if("undefined"==typeof window||!window.fetch)return n.default;return window.fetch.bind(window)}(),e.$dependencies.AbortController=r.default,e}))()},create:function(e){return s((function*(){return(0,t.bindWidgetToFunctions)(e,e.http),e}))()}}},e.setDefaultConfig=function(e,t){e.$in.httpClient.defaultConfig=p(p({},e.$in.httpClient.defaultConfig),t)},e.transformBody=g,e.transformQuery=v,e.transformTimeout=j,n=o(n),r=o(r)}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/plugin-http-client",
3
- "version": "0.28.1",
3
+ "version": "0.29.3",
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.28.0",
51
+ "@merkur/core": "^0.29.3",
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": "0f879835d11c53eeb92150f7fcf9428e48ea163d"
62
+ "gitHead": "fedf28cbd8039902181fb996c4b072942c2dabf9"
63
63
  }
package/jest.config.js DELETED
@@ -1,3 +0,0 @@
1
- const defaultConfig = require('../../jest.config.js');
2
-
3
- module.exports = { ...defaultConfig };