@merkur/core 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 CHANGED
@@ -1 +1 @@
1
- "use strict";function e(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||t(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 n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=t(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var o=0,s=function(){};return{s:s,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:s}}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 t(e,r){if(e){if("string"==typeof e)return n(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)?n(e,r):void 0}}function n(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 o(e,r,t,n,o,s,i){try{var u=e[s](i),a=u.value}catch(e){return void t(e)}u.done?r(a):Promise.resolve(a).then(n,o)}function s(e){return function(){var r=this,t=arguments;return new Promise((function(n,s){var i=e.apply(r,t);function u(e){o(i,n,s,u,a,"next",e)}function a(e){o(i,n,s,u,a,"throw",e)}u(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 u(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){a(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 a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return r.apply(void 0,[e].concat(n))}}function l(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=u({},e);return r.forEach((function(e){n[e]=n[e]||t})),n}function f(e,r){r=r||e,Object.keys(r).forEach((function(t){if(d(r[t])){var n=r[t];r[t]=c(e,n)}}))}function d(e){return"function"==typeof e}function p(e,r,t){return m.apply(this,arguments)}function m(){return(m=s(regeneratorRuntime.mark((function t(n,o,s){var i,u,a;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=r(n.$plugins),t.prev=1,i.s();case 3:if((u=i.n()).done){t.next=11;break}if(!d((a=u.value)[o])){t.next=9;break}return t.next=8,a[o].apply(a,[n].concat(e(s)));case 8:n=t.sent;case 9:t.next=3;break;case 11:t.next=16;break;case 13:t.prev=13,t.t0=t.catch(1),i.e(t.t0);case 16:return t.prev=16,i.f(),t.finish(16);case 19:return t.abrupt("return",n);case 20:case"end":return t.stop()}}),t,null,[[1,13,16,19]])})))).apply(this,arguments)}function j(){return j=s(regeneratorRuntime.mark((function e(){var r,t,n,o,i,u=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l(r=u.length>0&&void 0!==u[0]?u[0]:{},["$dependencies","$external"]),r=l(r,["setup","create"],(function(e){return e})),n=(t=r).setup,o=t.create,i={setup:function(e){var r=arguments;return s(regeneratorRuntime.mark((function t(){var o,s,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(o=r.length,s=new Array(o>1?o-1:0),i=1;i<o;i++)s[i-1]=r[i];return t.next=3,p(e,"setup",s);case 3:return e=t.sent,t.abrupt("return",n.apply(void 0,[e].concat(s)));case 5:case"end":return t.stop()}}),t)})))()},create:function(e){var r=arguments;return s(regeneratorRuntime.mark((function t(){var n,s,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(n=r.length,s=new Array(n>1?n-1:0),i=1;i<n;i++)s[i-1]=r[i];return t.next=3,p(e,"create",s);case 3:return e=t.sent,t.abrupt("return",o.apply(void 0,[e].concat(s)));case 5:case"end":return t.stop()}}),t)})))()},$plugins:(r.$plugins||[]).map((function(e){return e()}))},i.name=r.name,i.version=r.version,i.$dependencies=r.$dependencies,i.$external=r.$external,i.$in={},delete r.name,delete r.version,delete r.$dependencies,delete r.$external,delete r.$plugins,delete r.setup,delete r.create,e.next=19,i.setup(i,r);case 19:return i=e.sent,e.next=22,i.create(i,r);case 22:return f(i=e.sent),Object.seal(i),e.abrupt("return",i);case 26:case"end":return e.stop()}}),e)}))),j.apply(this,arguments)}function y(e){var r=e.name,t=e.version,n=e.createWidget;v().$in.widgetFactory[r+t]=n}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=v(),t=e.name,n=e.version,o=r.$in.widgetFactory[t+n];if(!d(o))throw new Error('The widget with defined name and version "'.concat(t+n,'" is not defined.'));return o(e)}function v(){var e=h();return e.__merkur__||(e.__merkur__={$in:{widgets:[],widgetFactory:{}},$external:{},$dependencies:{},isRegistered:b,register:y,create:g}),e.__merkur__}function b(e){var r=v();return Boolean(Object.keys(r.$in.widgetFactory).find((function(r){return new RegExp("^".concat(e)).test(r)})))}function h(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.split.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.find.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/esnext.global-this.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.seal.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.string.iterator.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/web.dom-collections.iterator.js"),require("core-js/modules/es.array.is-array.js"),Object.defineProperty(exports,"__esModule",{value:!0}),exports.bindWidgetToFunctions=f,exports.createMerkur=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.$plugins,t=void 0===r?[]:r,n=v();return t.forEach((function(e){e&&d(e.setup)&&e.setup(n)})),n},exports.createMerkurWidget=function(){return j.apply(this,arguments)},exports.getMerkur=v,exports.hookMethod=function(e,r,t){var n=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=r.split("."),n=t.pop(),o=t.reduce((function(e,r){return e[r]||{}}),e);if(!d(o[n]))throw new Error("Defined path '".concat(r,"' is incorrect. Check your widget structure."));return{target:o,methodName:n}}(e,r),o=n.target,s=n.methodName,i=c(e,o[s]);return o[s]=function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return t.apply(void 0,[e,i].concat(n))},i},exports.isFunction=d,exports.removeMerkur=function(){delete h().__merkur__},exports.setDefaultValueForUndefined=l;
1
+ "use strict";function e(r){return e="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},e(r)}function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */r=function(){return t};var t={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(e,r,t){e[r]=t.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function l(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{l({},"")}catch(e){l=function(e,r,t){return e[r]=t}}function f(e,r,t,n){var o=r&&r.prototype instanceof h?r:h,a=Object.create(o.prototype),u=new k(n||[]);return i(a,"_invoke",{value:O(e,t,u)}),a}function p(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}t.wrap=f;var d={};function h(){}function y(){}function v(){}var m={};l(m,u,(function(){return this}));var g=Object.getPrototypeOf,j=g&&g(g(L([])));j&&j!==n&&o.call(j,u)&&(m=j);var b=v.prototype=h.prototype=Object.create(m);function w(e){["next","throw","return"].forEach((function(r){l(e,r,(function(e){return this._invoke(r,e)}))}))}function x(r,t){function n(i,a,u,c){var s=p(r[i],r,a);if("throw"!==s.type){var l=s.arg,f=l.value;return f&&"object"==e(f)&&o.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,u,c)}),(function(e){n("throw",e,u,c)})):t.resolve(f).then((function(e){l.value=e,u(l)}),(function(e){return n("throw",e,u,c)}))}c(s.arg)}var a;i(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function O(e,r,t){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return S()}for(t.method=o,t.arg=i;;){var a=t.delegate;if(a){var u=q(a,t);if(u){if(u===d)continue;return u}}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 c=p(e,r,t);if("normal"===c.type){if(n=t.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:t.done}}"throw"===c.type&&(n="completed",t.method="throw",t.arg=c.arg)}}}function q(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,q(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 _(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 k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function L(e){if(e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,n=function r(){for(;++t<e.length;)if(o.call(e,t))return r.value=e[t],r.done=!1,r;return r.value=void 0,r.done=!0,r};return n.next=n}}return{next:S}}function S(){return{value:void 0,done:!0}}return y.prototype=v,i(b,"constructor",{value:v,configurable:!0}),i(v,"constructor",{value:y,configurable:!0}),y.displayName=l(v,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===y||"GeneratorFunction"===(r.displayName||r.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,l(e,s,"GeneratorFunction")),e.prototype=Object.create(b),e},t.awrap=function(e){return{__await:e}},w(x.prototype),l(x.prototype,c,(function(){return this})),t.AsyncIterator=x,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new x(f(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},w(b),l(b,s,"Generator"),l(b,u,(function(){return this})),l(b,"toString",(function(){return"[object Generator]"})),t.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}},t.values=L,k.prototype={constructor:k,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)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function t(t,n){return a.type="throw",a.arg=e,r.next=t,n&&(r.method="next",r.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var u=o.call(i,"catchLoc"),c=o.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return t(i.catchLoc,!0);if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,r){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(a)},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:L(e),resultName:r,nextLoc:t},"next"===this.method&&(this.arg=void 0),d}},t}function t(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},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 a,u=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return u=e.done,e},e:function(e){c=!0,a=e},f:function(){try{u||null==t.return||t.return()}finally{if(c)throw a}}}}function o(e,r){if(e){if("string"==typeof e)return i(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,r):void 0}}function i(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function a(e,r,t,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void t(e)}u.done?r(c):Promise.resolve(c).then(n,o)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var i=e.apply(r,t);function u(e){a(i,n,o,u,c,"next",e)}function c(e){a(i,n,o,u,c,"throw",e)}u(void 0)}))}}function c(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 s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){l(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function f(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return r.apply(void 0,[e].concat(n))}}function p(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=s({},e);return r.forEach((function(e){n[e]=n[e]||t})),n}function d(e,r){r=r||e,Object.keys(r).forEach((function(t){if(h(r[t])){var n=r[t];r[t]=f(e,n)}}))}function h(e){return"function"==typeof e}function y(e,r,t){return v.apply(this,arguments)}function v(){return(v=u(r().mark((function e(o,i,a){var u,c,s;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:u=n(o.$plugins),e.prev=1,u.s();case 3:if((c=u.n()).done){e.next=11;break}if(!h((s=c.value)[i])){e.next=9;break}return e.next=8,s[i].apply(s,[o].concat(t(a)));case 8:o=e.sent;case 9:e.next=3;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),u.e(e.t0);case 16:return e.prev=16,u.f(),e.finish(16);case 19:return e.abrupt("return",o);case 20:case"end":return e.stop()}}),e,null,[[1,13,16,19]])})))).apply(this,arguments)}function m(){return m=u(r().mark((function e(){var t,n,o,i,a,c=arguments;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=p(t=c.length>0&&void 0!==c[0]?c[0]:{},["$dependencies","$external"]),t=p(t,["setup","create"],(function(e){return e})),o=(n=t).setup,i=n.create,a={setup:function(e){var t=arguments;return u(r().mark((function n(){var i,a,u;return r().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:for(i=t.length,a=new Array(i>1?i-1:0),u=1;u<i;u++)a[u-1]=t[u];return r.next=3,y(e,"setup",a);case 3:return e=r.sent,r.abrupt("return",o.apply(void 0,[e].concat(a)));case 5:case"end":return r.stop()}}),n)})))()},create:function(e){var t=arguments;return u(r().mark((function n(){var o,a,u;return r().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:for(o=t.length,a=new Array(o>1?o-1:0),u=1;u<o;u++)a[u-1]=t[u];return r.next=3,y(e,"create",a);case 3:return e=r.sent,r.abrupt("return",i.apply(void 0,[e].concat(a)));case 5:case"end":return r.stop()}}),n)})))()},$plugins:(t.$plugins||[]).map((function(e){return e()}))},a.name=t.name,a.version=t.version,a.$dependencies=t.$dependencies,a.$external=t.$external,a.$in={},delete t.name,delete t.version,delete t.$dependencies,delete t.$external,delete t.$plugins,delete t.setup,delete t.create,e.next=19,a.setup(a,t);case 19:return a=e.sent,e.next=22,a.create(a,t);case 22:return d(a=e.sent),Object.seal(a),e.abrupt("return",a);case 26:case"end":return e.stop()}}),e)}))),m.apply(this,arguments)}function g(e){var r=e.name,t=e.version,n=e.createWidget;b().$in.widgetFactory[r+t]=n}function j(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=b(),t=e.name,n=e.version,o=r.$in.widgetFactory[t+n];if(!h(o))throw new Error('The widget with defined name and version "'.concat(t+n,'" is not defined.'));return o(e)}function b(){var e=x();return e.__merkur__||(e.__merkur__={$in:{widgets:[],widgetFactory:{}},$external:{},$dependencies:{},isRegistered:w,register:g,create:j}),e.__merkur__}function w(e){var r=b();return Boolean(Object.keys(r.$in.widgetFactory).find((function(r){return new RegExp("^".concat(e)).test(r)})))}function x(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.find.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/esnext.global-this.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.seal.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.string.iterator.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/web.dom-collections.iterator.js"),require("core-js/modules/es.array.is-array.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.object.set-prototype-of.js"),require("core-js/modules/es.array.reverse.js"),Object.defineProperty(exports,"__esModule",{value:!0}),exports.bindWidgetToFunctions=d,exports.createMerkur=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.$plugins,t=void 0===r?[]:r,n=b();return t.forEach((function(e){e&&h(e.setup)&&e.setup(n)})),n},exports.createMerkurWidget=function(){return m.apply(this,arguments)},exports.getMerkur=b,exports.hookMethod=function(e,r,t){var n=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=r.split("."),n=t.pop(),o=t.reduce((function(e,r){return e[r]||{}}),e);if(!h(o[n]))throw new Error("Defined path '".concat(r,"' is incorrect. Check your widget structure."));return{target:o,methodName:n}}(e,r),o=n.target,i=n.methodName,a=f(e,o[i]);return o[i]=function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return t.apply(void 0,[e,a].concat(n))},a},exports.isFunction=h,exports.removeMerkur=function(){delete x().__merkur__},exports.setDefaultValueForUndefined=p;
package/lib/index.es9.cjs CHANGED
@@ -3,22 +3,20 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
-
7
6
  function createBoundedFunction(widget, originalFunction) {
8
7
  return (...rest) => {
9
8
  return originalFunction(widget, ...rest);
10
9
  };
11
10
  }
12
-
13
11
  function setDefaultValueForUndefined(object, keys, value = {}) {
14
- let objectClone = { ...object
12
+ let objectClone = {
13
+ ...object
15
14
  };
16
15
  keys.forEach(key => {
17
16
  objectClone[key] = objectClone[key] || value;
18
17
  });
19
18
  return objectClone;
20
19
  }
21
-
22
20
  function bindWidgetToFunctions(widget, target) {
23
21
  target = target || widget;
24
22
  Object.keys(target).forEach(key => {
@@ -28,50 +26,40 @@ function bindWidgetToFunctions(widget, target) {
28
26
  }
29
27
  });
30
28
  }
31
-
32
29
  function hookMethod(widget, path, handler) {
33
30
  const {
34
31
  target,
35
32
  methodName
36
33
  } = parsePath(widget, path);
37
34
  const originalFunction = createBoundedFunction(widget, target[methodName]);
38
-
39
35
  target[methodName] = function (widget, ...rest) {
40
36
  return handler(widget, originalFunction, ...rest);
41
37
  };
42
-
43
38
  return originalFunction;
44
39
  }
45
-
46
40
  function parsePath(widget, path = '') {
47
41
  const paths = path.split('.');
48
42
  const methodName = paths.pop();
49
43
  const target = paths.reduce((target, path) => target[path] || {}, widget);
50
-
51
44
  if (!isFunction(target[methodName])) {
52
45
  throw new Error(`Defined path '${path}' is incorrect. Check your widget structure.`);
53
46
  }
54
-
55
47
  return {
56
48
  target,
57
49
  methodName
58
50
  };
59
51
  }
60
-
61
52
  function isFunction(value) {
62
53
  return typeof value === 'function';
63
54
  }
64
-
65
55
  async function callPluginMethod(widget, method, args) {
66
56
  for (const plugin of widget.$plugins) {
67
57
  if (isFunction(plugin[method])) {
68
58
  widget = await plugin[method](widget, ...args);
69
59
  }
70
60
  }
71
-
72
61
  return widget;
73
62
  }
74
-
75
63
  async function createMerkurWidget(widgetDefinition = {}) {
76
64
  widgetDefinition = setDefaultValueForUndefined(widgetDefinition, ['$dependencies', '$external']);
77
65
  widgetDefinition = setDefaultValueForUndefined(widgetDefinition, ['setup', 'create'], widget => widget);
@@ -84,15 +72,14 @@ async function createMerkurWidget(widgetDefinition = {}) {
84
72
  widget = await callPluginMethod(widget, 'setup', rest);
85
73
  return setup(widget, ...rest);
86
74
  },
87
-
88
75
  async create(widget, ...rest) {
89
76
  widget = await callPluginMethod(widget, 'create', rest);
90
77
  return create(widget, ...rest);
91
78
  },
92
-
93
79
  $plugins: (widgetDefinition.$plugins || []).map(pluginFactory => pluginFactory())
94
- }; // TODO refactoring
80
+ };
95
81
 
82
+ // TODO refactoring
96
83
  widget.name = widgetDefinition.name;
97
84
  widget.version = widgetDefinition.version;
98
85
  widget.$dependencies = widgetDefinition.$dependencies;
@@ -111,7 +98,6 @@ async function createMerkurWidget(widgetDefinition = {}) {
111
98
  Object.seal(widget);
112
99
  return widget;
113
100
  }
114
-
115
101
  function register({
116
102
  name,
117
103
  version,
@@ -120,7 +106,6 @@ function register({
120
106
  const merkur = getMerkur();
121
107
  merkur.$in.widgetFactory[name + version] = createWidget;
122
108
  }
123
-
124
109
  function create(widgetProperties = {}) {
125
110
  const merkur = getMerkur();
126
111
  const {
@@ -128,14 +113,11 @@ function create(widgetProperties = {}) {
128
113
  version
129
114
  } = widgetProperties;
130
115
  const factory = merkur.$in.widgetFactory[name + version];
131
-
132
116
  if (!isFunction(factory)) {
133
117
  throw new Error(`The widget with defined name and version "${name + version}" is not defined.`);
134
118
  }
135
-
136
119
  return factory(widgetProperties);
137
120
  }
138
-
139
121
  function createMerkur({
140
122
  $plugins = []
141
123
  } = {}) {
@@ -147,15 +129,12 @@ function createMerkur({
147
129
  });
148
130
  return merkur;
149
131
  }
150
-
151
132
  function removeMerkur() {
152
133
  const globalContext = getGlobalContext();
153
134
  delete globalContext.__merkur__;
154
135
  }
155
-
156
136
  function getMerkur() {
157
137
  const globalContext = getGlobalContext();
158
-
159
138
  if (!globalContext.__merkur__) {
160
139
  globalContext.__merkur__ = {
161
140
  $in: {
@@ -169,35 +148,27 @@ function getMerkur() {
169
148
  create
170
149
  };
171
150
  }
172
-
173
151
  return globalContext.__merkur__;
174
152
  }
175
-
176
153
  function isRegistered(name) {
177
154
  const merkur = getMerkur();
178
155
  return Boolean(Object.keys(merkur.$in.widgetFactory).find(key => new RegExp(`^${name}`).test(key)));
179
156
  }
180
-
181
157
  function getGlobalContext() {
182
158
  if (typeof globalThis !== 'undefined') {
183
159
  return globalThis;
184
160
  }
185
-
186
161
  if (typeof self !== 'undefined') {
187
162
  return self;
188
163
  }
189
-
190
164
  if (typeof window !== 'undefined') {
191
165
  return window;
192
166
  }
193
-
194
167
  if (typeof global !== 'undefined') {
195
168
  return global;
196
169
  }
197
-
198
170
  return {};
199
171
  }
200
-
201
172
  exports.bindWidgetToFunctions = bindWidgetToFunctions;
202
173
  exports.createMerkur = createMerkur;
203
174
  exports.createMerkurWidget = createMerkurWidget;
package/lib/index.es9.mjs CHANGED
@@ -3,16 +3,15 @@ function createBoundedFunction(widget, originalFunction) {
3
3
  return originalFunction(widget, ...rest);
4
4
  };
5
5
  }
6
-
7
6
  function setDefaultValueForUndefined(object, keys, value = {}) {
8
- let objectClone = { ...object
7
+ let objectClone = {
8
+ ...object
9
9
  };
10
10
  keys.forEach(key => {
11
11
  objectClone[key] = objectClone[key] || value;
12
12
  });
13
13
  return objectClone;
14
14
  }
15
-
16
15
  function bindWidgetToFunctions(widget, target) {
17
16
  target = target || widget;
18
17
  Object.keys(target).forEach(key => {
@@ -22,50 +21,40 @@ function bindWidgetToFunctions(widget, target) {
22
21
  }
23
22
  });
24
23
  }
25
-
26
24
  function hookMethod(widget, path, handler) {
27
25
  const {
28
26
  target,
29
27
  methodName
30
28
  } = parsePath(widget, path);
31
29
  const originalFunction = createBoundedFunction(widget, target[methodName]);
32
-
33
30
  target[methodName] = function (widget, ...rest) {
34
31
  return handler(widget, originalFunction, ...rest);
35
32
  };
36
-
37
33
  return originalFunction;
38
34
  }
39
-
40
35
  function parsePath(widget, path = '') {
41
36
  const paths = path.split('.');
42
37
  const methodName = paths.pop();
43
38
  const target = paths.reduce((target, path) => target[path] || {}, widget);
44
-
45
39
  if (!isFunction(target[methodName])) {
46
40
  throw new Error(`Defined path '${path}' is incorrect. Check your widget structure.`);
47
41
  }
48
-
49
42
  return {
50
43
  target,
51
44
  methodName
52
45
  };
53
46
  }
54
-
55
47
  function isFunction(value) {
56
48
  return typeof value === 'function';
57
49
  }
58
-
59
50
  async function callPluginMethod(widget, method, args) {
60
51
  for (const plugin of widget.$plugins) {
61
52
  if (isFunction(plugin[method])) {
62
53
  widget = await plugin[method](widget, ...args);
63
54
  }
64
55
  }
65
-
66
56
  return widget;
67
57
  }
68
-
69
58
  async function createMerkurWidget(widgetDefinition = {}) {
70
59
  widgetDefinition = setDefaultValueForUndefined(widgetDefinition, ['$dependencies', '$external']);
71
60
  widgetDefinition = setDefaultValueForUndefined(widgetDefinition, ['setup', 'create'], widget => widget);
@@ -78,15 +67,14 @@ async function createMerkurWidget(widgetDefinition = {}) {
78
67
  widget = await callPluginMethod(widget, 'setup', rest);
79
68
  return setup(widget, ...rest);
80
69
  },
81
-
82
70
  async create(widget, ...rest) {
83
71
  widget = await callPluginMethod(widget, 'create', rest);
84
72
  return create(widget, ...rest);
85
73
  },
86
-
87
74
  $plugins: (widgetDefinition.$plugins || []).map(pluginFactory => pluginFactory())
88
- }; // TODO refactoring
75
+ };
89
76
 
77
+ // TODO refactoring
90
78
  widget.name = widgetDefinition.name;
91
79
  widget.version = widgetDefinition.version;
92
80
  widget.$dependencies = widgetDefinition.$dependencies;
@@ -105,7 +93,6 @@ async function createMerkurWidget(widgetDefinition = {}) {
105
93
  Object.seal(widget);
106
94
  return widget;
107
95
  }
108
-
109
96
  function register({
110
97
  name,
111
98
  version,
@@ -114,7 +101,6 @@ function register({
114
101
  const merkur = getMerkur();
115
102
  merkur.$in.widgetFactory[name + version] = createWidget;
116
103
  }
117
-
118
104
  function create(widgetProperties = {}) {
119
105
  const merkur = getMerkur();
120
106
  const {
@@ -122,14 +108,11 @@ function create(widgetProperties = {}) {
122
108
  version
123
109
  } = widgetProperties;
124
110
  const factory = merkur.$in.widgetFactory[name + version];
125
-
126
111
  if (!isFunction(factory)) {
127
112
  throw new Error(`The widget with defined name and version "${name + version}" is not defined.`);
128
113
  }
129
-
130
114
  return factory(widgetProperties);
131
115
  }
132
-
133
116
  function createMerkur({
134
117
  $plugins = []
135
118
  } = {}) {
@@ -141,15 +124,12 @@ function createMerkur({
141
124
  });
142
125
  return merkur;
143
126
  }
144
-
145
127
  function removeMerkur() {
146
128
  const globalContext = getGlobalContext();
147
129
  delete globalContext.__merkur__;
148
130
  }
149
-
150
131
  function getMerkur() {
151
132
  const globalContext = getGlobalContext();
152
-
153
133
  if (!globalContext.__merkur__) {
154
134
  globalContext.__merkur__ = {
155
135
  $in: {
@@ -163,33 +143,25 @@ function getMerkur() {
163
143
  create
164
144
  };
165
145
  }
166
-
167
146
  return globalContext.__merkur__;
168
147
  }
169
-
170
148
  function isRegistered(name) {
171
149
  const merkur = getMerkur();
172
150
  return Boolean(Object.keys(merkur.$in.widgetFactory).find(key => new RegExp(`^${name}`).test(key)));
173
151
  }
174
-
175
152
  function getGlobalContext() {
176
153
  if (typeof globalThis !== 'undefined') {
177
154
  return globalThis;
178
155
  }
179
-
180
156
  if (typeof self !== 'undefined') {
181
157
  return self;
182
158
  }
183
-
184
159
  if (typeof window !== 'undefined') {
185
160
  return window;
186
161
  }
187
-
188
162
  if (typeof global !== 'undefined') {
189
163
  return global;
190
164
  }
191
-
192
165
  return {};
193
166
  }
194
-
195
167
  export { bindWidgetToFunctions, createMerkur, createMerkurWidget, getMerkur, hookMethod, isFunction, removeMerkur, setDefaultValueForUndefined };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/core",
3
- "version": "0.29.3",
3
+ "version": "0.30.0",
4
4
  "description": "Merkur is tiny and extensible library for creating front-end microservices.",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -54,5 +54,5 @@
54
54
  "devDependencies": {
55
55
  "rollup": "^2.70.2"
56
56
  },
57
- "gitHead": "fedf28cbd8039902181fb996c4b072942c2dabf9"
57
+ "gitHead": "13a0ac12f77f381b1d829cffe9b21d453c26ca7a"
58
58
  }