@merkur/core 0.29.1 → 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.cjs CHANGED
@@ -173,6 +173,7 @@ function getMerkur() {
173
173
  },
174
174
  $external: {},
175
175
  $dependencies: {},
176
+ isRegistered,
176
177
  register,
177
178
  create,
178
179
  };
@@ -181,6 +182,16 @@ function getMerkur() {
181
182
  return globalContext.__merkur__;
182
183
  }
183
184
 
185
+ function isRegistered(name) {
186
+ const merkur = getMerkur();
187
+
188
+ return Boolean(
189
+ Object.keys(merkur.$in.widgetFactory).find((key) =>
190
+ new RegExp(`^${name}`).test(key)
191
+ )
192
+ );
193
+ }
194
+
184
195
  function getGlobalContext() {
185
196
  if (typeof globalThis !== 'undefined') {
186
197
  return globalThis;
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 u,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,u=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw u}}}}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,u){try{var i=e[s](u),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,s){var u=e.apply(r,t);function i(e){o(u,n,s,i,a,"next",e)}function a(e){o(u,n,s,i,a,"throw",e)}i(void 0)}))}}function u(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 i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?u(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(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=i({},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 u,i,a;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:u=r(n.$plugins),t.prev=1,u.s();case 3:if((i=u.n()).done){t.next=11;break}if(!d((a=i.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),u.e(t.t0);case 16:return t.prev=16,u.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,u,i=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l(r=i.length>0&&void 0!==i[0]?i[0]:{},["$dependencies","$external"]),r=l(r,["setup","create"],(function(e){return e})),n=(t=r).setup,o=t.create,u={setup:function(e){var r=arguments;return s(regeneratorRuntime.mark((function t(){var o,s,u;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),u=1;u<o;u++)s[u-1]=r[u];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,u;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),u=1;u<n;u++)s[u-1]=r[u];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()}))},u.name=r.name,u.version=r.version,u.$dependencies=r.$dependencies,u.$external=r.$external,u.$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,u.setup(u,r);case 19:return u=e.sent,e.next=22,u.create(u,r);case 22:return f(u=e.sent),Object.seal(u),e.abrupt("return",u);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;b().$in.widgetFactory[r+t]=n}function v(){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(!d(o))throw new Error('The widget with defined name and version "'.concat(t+n,'" is not defined.'));return o(e)}function b(){var e=g();return e.__merkur__||(e.__merkur__={$in:{widgets:[],widgetFactory:{}},$external:{},$dependencies:{},register:y,create:v}),e.__merkur__}function g(){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/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=b();return t.forEach((function(e){e&&d(e.setup)&&e.setup(n)})),n},exports.createMerkurWidget=function(){return j.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(!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,u=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,u].concat(n))},u},exports.isFunction=d,exports.removeMerkur=function(){delete g().__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: {
@@ -164,34 +143,32 @@ function getMerkur() {
164
143
  },
165
144
  $external: {},
166
145
  $dependencies: {},
146
+ isRegistered,
167
147
  register,
168
148
  create
169
149
  };
170
150
  }
171
-
172
151
  return globalContext.__merkur__;
173
152
  }
174
-
153
+ function isRegistered(name) {
154
+ const merkur = getMerkur();
155
+ return Boolean(Object.keys(merkur.$in.widgetFactory).find(key => new RegExp(`^${name}`).test(key)));
156
+ }
175
157
  function getGlobalContext() {
176
158
  if (typeof globalThis !== 'undefined') {
177
159
  return globalThis;
178
160
  }
179
-
180
161
  if (typeof self !== 'undefined') {
181
162
  return self;
182
163
  }
183
-
184
164
  if (typeof window !== 'undefined') {
185
165
  return window;
186
166
  }
187
-
188
167
  if (typeof global !== 'undefined') {
189
168
  return global;
190
169
  }
191
-
192
170
  return {};
193
171
  }
194
-
195
172
  exports.bindWidgetToFunctions = bindWidgetToFunctions;
196
173
  exports.createMerkur = createMerkur;
197
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: {
@@ -158,32 +138,30 @@ function getMerkur() {
158
138
  },
159
139
  $external: {},
160
140
  $dependencies: {},
141
+ isRegistered,
161
142
  register,
162
143
  create
163
144
  };
164
145
  }
165
-
166
146
  return globalContext.__merkur__;
167
147
  }
168
-
148
+ function isRegistered(name) {
149
+ const merkur = getMerkur();
150
+ return Boolean(Object.keys(merkur.$in.widgetFactory).find(key => new RegExp(`^${name}`).test(key)));
151
+ }
169
152
  function getGlobalContext() {
170
153
  if (typeof globalThis !== 'undefined') {
171
154
  return globalThis;
172
155
  }
173
-
174
156
  if (typeof self !== 'undefined') {
175
157
  return self;
176
158
  }
177
-
178
159
  if (typeof window !== 'undefined') {
179
160
  return window;
180
161
  }
181
-
182
162
  if (typeof global !== 'undefined') {
183
163
  return global;
184
164
  }
185
-
186
165
  return {};
187
166
  }
188
-
189
167
  export { bindWidgetToFunctions, createMerkur, createMerkurWidget, getMerkur, hookMethod, isFunction, removeMerkur, setDefaultValueForUndefined };
package/lib/index.js CHANGED
@@ -173,6 +173,7 @@ function getMerkur() {
173
173
  },
174
174
  $external: {},
175
175
  $dependencies: {},
176
+ isRegistered,
176
177
  register,
177
178
  create,
178
179
  };
@@ -181,6 +182,16 @@ function getMerkur() {
181
182
  return globalContext.__merkur__;
182
183
  }
183
184
 
185
+ function isRegistered(name) {
186
+ const merkur = getMerkur();
187
+
188
+ return Boolean(
189
+ Object.keys(merkur.$in.widgetFactory).find((key) =>
190
+ new RegExp(`^${name}`).test(key)
191
+ )
192
+ );
193
+ }
194
+
184
195
  function getGlobalContext() {
185
196
  if (typeof globalThis !== 'undefined') {
186
197
  return globalThis;
package/lib/index.mjs CHANGED
@@ -169,6 +169,7 @@ function getMerkur() {
169
169
  },
170
170
  $external: {},
171
171
  $dependencies: {},
172
+ isRegistered,
172
173
  register,
173
174
  create,
174
175
  };
@@ -177,6 +178,16 @@ function getMerkur() {
177
178
  return globalContext.__merkur__;
178
179
  }
179
180
 
181
+ function isRegistered(name) {
182
+ const merkur = getMerkur();
183
+
184
+ return Boolean(
185
+ Object.keys(merkur.$in.widgetFactory).find((key) =>
186
+ new RegExp(`^${name}`).test(key)
187
+ )
188
+ );
189
+ }
190
+
180
191
  function getGlobalContext() {
181
192
  if (typeof globalThis !== 'undefined') {
182
193
  return globalThis;
package/lib/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,n){if("function"==typeof define&&define.amd)define("@merkur/core",["exports"],n);else if("undefined"!=typeof exports)n(exports);else{var r={exports:{}};n(r.exports),e.Merkur=e.Merkur||{},e.Merkur.Core=r.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){function n(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)||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,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=t(e))||n&&e&&"number"==typeof e.length){r&&(e=r);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,a=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){c=!0,u=e},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw u}}}}function t(e,n){if(e){if("string"==typeof e)return o(e,n);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)?o(e,n):void 0}}function o(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,t=new Array(n);r<n;r++)t[r]=e[r];return t}function i(e,n,r,t,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void r(e)}a.done?n(c):Promise.resolve(c).then(t,o)}function u(e){return function(){var n=this,r=arguments;return new Promise((function(t,o){var u=e.apply(n,r);function a(e){i(u,t,o,a,c,"next",e)}function c(e){i(u,t,o,a,c,"throw",e)}a(void 0)}))}}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function c(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a(Object(r),!0).forEach((function(n){f(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function f(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function l(e,n){return function(){for(var r=arguments.length,t=new Array(r),o=0;o<r;o++)t[o]=arguments[o];return n.apply(void 0,[e].concat(t))}}function d(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},t=c({},e);return n.forEach((function(e){t[e]=t[e]||r})),t}function s(e,n){n=n||e,Object.keys(n).forEach((function(r){if(p(n[r])){var t=n[r];n[r]=l(e,t)}}))}function p(e){return"function"==typeof e}function y(e,n,r){return v.apply(this,arguments)}function v(){return(v=u((function*(e,t,o){var i,u=r(e.$plugins);try{for(u.s();!(i=u.n()).done;){var a=i.value;p(a[t])&&(e=yield a[t].apply(a,[e].concat(n(o))))}}catch(e){u.e(e)}finally{u.f()}return e}))).apply(this,arguments)}function h(){return h=u((function*(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e=d(e,["$dependencies","$external"]),e=d(e,["setup","create"],(function(e){return e}));var n=e,r=n.setup,t=n.create,o={setup:function(e){var n=arguments;return u((function*(){for(var t=n.length,o=new Array(t>1?t-1:0),i=1;i<t;i++)o[i-1]=n[i];return e=yield y(e,"setup",o),r.apply(void 0,[e].concat(o))}))()},create:function(e){var n=arguments;return u((function*(){for(var r=n.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=n[i];return e=yield y(e,"create",o),t.apply(void 0,[e].concat(o))}))()},$plugins:(e.$plugins||[]).map((function(e){return e()}))};return o.name=e.name,o.version=e.version,o.$dependencies=e.$dependencies,o.$external=e.$external,o.$in={},delete e.name,delete e.version,delete e.$dependencies,delete e.$external,delete e.$plugins,delete e.setup,delete e.create,o=yield o.setup(o,e),s(o=yield o.create(o,e)),Object.seal(o),o})),h.apply(this,arguments)}function g(e){var n=e.name,r=e.version,t=e.createWidget;m().$in.widgetFactory[n+r]=t}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=m(),r=e.name,t=e.version,o=n.$in.widgetFactory[r+t];if(!p(o))throw new Error('The widget with defined name and version "'.concat(r+t,'" is not defined.'));return o(e)}function m(){var e=w();return e.__merkur__||(e.__merkur__={$in:{widgets:[],widgetFactory:{}},$external:{},$dependencies:{},register:g,create:b}),e.__merkur__}function w(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}Object.defineProperty(e,"__esModule",{value:!0}),e.bindWidgetToFunctions=s,e.createMerkur=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.$plugins,r=void 0===n?[]:n,t=m();return r.forEach((function(e){e&&p(e.setup)&&e.setup(t)})),t},e.createMerkurWidget=function(){return h.apply(this,arguments)},e.getMerkur=m,e.hookMethod=function(e,n,r){var t=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=n.split("."),t=r.pop(),o=r.reduce((function(e,n){return e[n]||{}}),e);if(!p(o[t]))throw new Error("Defined path '".concat(n,"' is incorrect. Check your widget structure."));return{target:o,methodName:t}}(e,n),o=t.target,i=t.methodName,u=l(e,o[i]);return o[i]=function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),o=1;o<n;o++)t[o-1]=arguments[o];return r.apply(void 0,[e,u].concat(t))},u},e.isFunction=p,e.removeMerkur=function(){delete w().__merkur__},e.setDefaultValueForUndefined=d}));
1
+ !function(e,n){if("function"==typeof define&&define.amd)define("@merkur/core",["exports"],n);else if("undefined"!=typeof exports)n(exports);else{var t={exports:{}};n(t.exports),e.Merkur=e.Merkur||{},e.Merkur.Core=t.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){function n(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)||r(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=r(e))||n&&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,a=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){c=!0,u=e},f:function(){try{a||null==t.return||t.return()}finally{if(c)throw u}}}}function r(e,n){if(e){if("string"==typeof e)return o(e,n);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,n):void 0}}function o(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function i(e,n,t,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void t(e)}a.done?n(c):Promise.resolve(c).then(r,o)}function u(e){return function(){var n=this,t=arguments;return new Promise((function(r,o){var u=e.apply(n,t);function a(e){i(u,r,o,a,c,"next",e)}function c(e){i(u,r,o,a,c,"throw",e)}a(void 0)}))}}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){f(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function f(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){return function(){for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return n.apply(void 0,[e].concat(r))}}function d(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=c({},e);return n.forEach((function(e){r[e]=r[e]||t})),r}function s(e,n){n=n||e,Object.keys(n).forEach((function(t){if(p(n[t])){var r=n[t];n[t]=l(e,r)}}))}function p(e){return"function"==typeof e}function y(e,n,t){return v.apply(this,arguments)}function v(){return(v=u((function*(e,r,o){var i,u=t(e.$plugins);try{for(u.s();!(i=u.n()).done;){var a=i.value;p(a[r])&&(e=yield a[r].apply(a,[e].concat(n(o))))}}catch(e){u.e(e)}finally{u.f()}return e}))).apply(this,arguments)}function h(){return h=u((function*(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e=d(e,["$dependencies","$external"]),e=d(e,["setup","create"],(function(e){return e}));var n=e,t=n.setup,r=n.create,o={setup:function(e){var n=arguments;return u((function*(){for(var r=n.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=n[i];return e=yield y(e,"setup",o),t.apply(void 0,[e].concat(o))}))()},create:function(e){var n=arguments;return u((function*(){for(var t=n.length,o=new Array(t>1?t-1:0),i=1;i<t;i++)o[i-1]=n[i];return e=yield y(e,"create",o),r.apply(void 0,[e].concat(o))}))()},$plugins:(e.$plugins||[]).map((function(e){return e()}))};return o.name=e.name,o.version=e.version,o.$dependencies=e.$dependencies,o.$external=e.$external,o.$in={},delete e.name,delete e.version,delete e.$dependencies,delete e.$external,delete e.$plugins,delete e.setup,delete e.create,o=yield o.setup(o,e),s(o=yield o.create(o,e)),Object.seal(o),o})),h.apply(this,arguments)}function g(e){var n=e.name,t=e.version,r=e.createWidget;m().$in.widgetFactory[n+t]=r}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=m(),t=e.name,r=e.version,o=n.$in.widgetFactory[t+r];if(!p(o))throw new Error('The widget with defined name and version "'.concat(t+r,'" is not defined.'));return o(e)}function m(){var e=O();return e.__merkur__||(e.__merkur__={$in:{widgets:[],widgetFactory:{}},$external:{},$dependencies:{},isRegistered:w,register:g,create:b}),e.__merkur__}function w(e){var n=m();return Boolean(Object.keys(n.$in.widgetFactory).find((function(n){return new RegExp("^".concat(e)).test(n)})))}function O(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}Object.defineProperty(e,"__esModule",{value:!0}),e.bindWidgetToFunctions=s,e.createMerkur=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.$plugins,t=void 0===n?[]:n,r=m();return t.forEach((function(e){e&&p(e.setup)&&e.setup(r)})),r},e.createMerkurWidget=function(){return h.apply(this,arguments)},e.getMerkur=m,e.hookMethod=function(e,n,t){var r=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=n.split("."),r=t.pop(),o=t.reduce((function(e,n){return e[n]||{}}),e);if(!p(o[r]))throw new Error("Defined path '".concat(n,"' is incorrect. Check your widget structure."));return{target:o,methodName:r}}(e,n),o=r.target,i=r.methodName,u=l(e,o[i]);return o[i]=function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.apply(void 0,[e,u].concat(r))},u},e.isFunction=p,e.removeMerkur=function(){delete O().__merkur__},e.setDefaultValueForUndefined=d}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/core",
3
- "version": "0.29.1",
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": "45be5654dac0058728ab0a38c60baeb22d3ead15"
57
+ "gitHead": "13a0ac12f77f381b1d829cffe9b21d453c26ca7a"
58
58
  }