@merkur/plugin-component 0.31.0 → 0.33.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/README.md CHANGED
@@ -11,4 +11,4 @@ The component plugin is one of the base Merkur plugins which adds base lifecycle
11
11
 
12
12
  ## About Merkur
13
13
 
14
- The [Merkur](https://merkur.js.org/) is tiny extensible javascript library for front-end microservices. It allows by default server side rendering for loading performance boost. You can connect it with other frameworks or languages because merkur defines easy API. You can use one of four predefined template's library [React](https://reactjs.org/), [Preact](https://preactjs.com/), [hyperHTML](https://viperhtml.js.org/hyper.html) and [µhtml](https://github.com/WebReflection/uhtml#readme) but you can easily extend for others.
14
+ The [Merkur](https://merkur.js.org/) is tiny extensible javascript library for front-end microservices. It allows by default server side rendering for loading performance boost. You can connect it with other frameworks or languages because merkur defines easy API. You can use one of four predefined template's library [Preact](https://preactjs.com/), [µhtml](https://github.com/WebReflection/uhtml#readme), [Svelte](https://svelte.dev/) and [vanilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) but you can easily extend for others.
package/lib/index.cjs CHANGED
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var core = require('@merkur/core');
6
4
 
7
5
  function componentPlugin() {
@@ -30,13 +28,10 @@ function componentPlugin() {
30
28
  lifeCycle,
31
29
  isMounted: false,
32
30
  isHydrated: false,
31
+ suspendedTasks: [],
33
32
  };
34
33
 
35
- widget = {
36
- ...widgetProperties,
37
- ...componentAPI(),
38
- ...widget,
39
- };
34
+ core.assignMissingKeys(widget, componentAPI(), widgetProperties);
40
35
 
41
36
  widget = core.setDefaultValueForUndefined(widget, ['props', 'state']);
42
37
  widget = core.setDefaultValueForUndefined(widget, ['assets'], []);
@@ -83,6 +78,10 @@ function componentAPI() {
83
78
  const html = await callLifeCycleMethod(widget, 'mount', args);
84
79
  widget.$in.component.isMounted = true;
85
80
 
81
+ for (let task of widget.$in.component.suspendedTasks) {
82
+ await task();
83
+ }
84
+
86
85
  return html;
87
86
  },
88
87
  async unmount(widget, ...args) {
@@ -111,6 +110,7 @@ function componentAPI() {
111
110
  },
112
111
  async update(widget, ...args) {
113
112
  if (!widget.$in.component.isMounted) {
113
+ widget.$in.component.suspendedTasks.push(() => widget.update(...args));
114
114
  return;
115
115
  }
116
116
 
@@ -127,6 +127,13 @@ function componentAPI() {
127
127
  return widget.update();
128
128
  },
129
129
  async setProps(widget, propsSetter) {
130
+ if (!widget.$in.component.isMounted) {
131
+ widget.$in.component.suspendedTasks.push(() =>
132
+ widget.setProps(propsSetter),
133
+ );
134
+ return;
135
+ }
136
+
130
137
  widget.props = {
131
138
  ...widget.props,
132
139
  ...(typeof propsSetter === 'function'
@@ -134,10 +141,6 @@ function componentAPI() {
134
141
  : propsSetter),
135
142
  };
136
143
 
137
- if (!widget.$in.component.isMounted) {
138
- return;
139
- }
140
-
141
144
  await widget.load();
142
145
  return widget.update();
143
146
  },
package/lib/index.es9.cjs CHANGED
@@ -1,8 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
3
  var core = require('@merkur/core');
7
4
  function componentPlugin() {
8
5
  return {
@@ -27,13 +24,10 @@ function componentPlugin() {
27
24
  widget.$in.component = {
28
25
  lifeCycle,
29
26
  isMounted: false,
30
- isHydrated: false
31
- };
32
- widget = {
33
- ...widgetProperties,
34
- ...componentAPI(),
35
- ...widget
27
+ isHydrated: false,
28
+ suspendedTasks: []
36
29
  };
30
+ core.assignMissingKeys(widget, componentAPI(), widgetProperties);
37
31
  widget = core.setDefaultValueForUndefined(widget, ['props', 'state']);
38
32
  widget = core.setDefaultValueForUndefined(widget, ['assets'], []);
39
33
  widget = core.setDefaultValueForUndefined(widget, ['containerSelector'], null);
@@ -81,6 +75,9 @@ function componentAPI() {
81
75
  await widget.load(...args);
82
76
  const html = await callLifeCycleMethod(widget, 'mount', args);
83
77
  widget.$in.component.isMounted = true;
78
+ for (let task of widget.$in.component.suspendedTasks) {
79
+ await task();
80
+ }
84
81
  return html;
85
82
  },
86
83
  async unmount(widget, ...args) {
@@ -104,6 +101,7 @@ function componentAPI() {
104
101
  },
105
102
  async update(widget, ...args) {
106
103
  if (!widget.$in.component.isMounted) {
104
+ widget.$in.component.suspendedTasks.push(() => widget.update(...args));
107
105
  return;
108
106
  }
109
107
  return callLifeCycleMethod(widget, 'update', args);
@@ -116,13 +114,14 @@ function componentAPI() {
116
114
  return widget.update();
117
115
  },
118
116
  async setProps(widget, propsSetter) {
117
+ if (!widget.$in.component.isMounted) {
118
+ widget.$in.component.suspendedTasks.push(() => widget.setProps(propsSetter));
119
+ return;
120
+ }
119
121
  widget.props = {
120
122
  ...widget.props,
121
123
  ...(typeof propsSetter === 'function' ? propsSetter(widget.props) : propsSetter)
122
124
  };
123
- if (!widget.$in.component.isMounted) {
124
- return;
125
- }
126
125
  await widget.load();
127
126
  return widget.update();
128
127
  }
package/lib/index.es9.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { setDefaultValueForUndefined } from '@merkur/core';
1
+ import { assignMissingKeys, setDefaultValueForUndefined } from '@merkur/core';
2
2
  function componentPlugin() {
3
3
  return {
4
4
  async setup(widget, widgetDefinition) {
@@ -22,13 +22,10 @@ function componentPlugin() {
22
22
  widget.$in.component = {
23
23
  lifeCycle,
24
24
  isMounted: false,
25
- isHydrated: false
26
- };
27
- widget = {
28
- ...widgetProperties,
29
- ...componentAPI(),
30
- ...widget
25
+ isHydrated: false,
26
+ suspendedTasks: []
31
27
  };
28
+ assignMissingKeys(widget, componentAPI(), widgetProperties);
32
29
  widget = setDefaultValueForUndefined(widget, ['props', 'state']);
33
30
  widget = setDefaultValueForUndefined(widget, ['assets'], []);
34
31
  widget = setDefaultValueForUndefined(widget, ['containerSelector'], null);
@@ -76,6 +73,9 @@ function componentAPI() {
76
73
  await widget.load(...args);
77
74
  const html = await callLifeCycleMethod(widget, 'mount', args);
78
75
  widget.$in.component.isMounted = true;
76
+ for (let task of widget.$in.component.suspendedTasks) {
77
+ await task();
78
+ }
79
79
  return html;
80
80
  },
81
81
  async unmount(widget, ...args) {
@@ -99,6 +99,7 @@ function componentAPI() {
99
99
  },
100
100
  async update(widget, ...args) {
101
101
  if (!widget.$in.component.isMounted) {
102
+ widget.$in.component.suspendedTasks.push(() => widget.update(...args));
102
103
  return;
103
104
  }
104
105
  return callLifeCycleMethod(widget, 'update', args);
@@ -111,13 +112,14 @@ function componentAPI() {
111
112
  return widget.update();
112
113
  },
113
114
  async setProps(widget, propsSetter) {
115
+ if (!widget.$in.component.isMounted) {
116
+ widget.$in.component.suspendedTasks.push(() => widget.setProps(propsSetter));
117
+ return;
118
+ }
114
119
  widget.props = {
115
120
  ...widget.props,
116
121
  ...(typeof propsSetter === 'function' ? propsSetter(widget.props) : propsSetter)
117
122
  };
118
- if (!widget.$in.component.isMounted) {
119
- return;
120
- }
121
123
  await widget.load();
122
124
  return widget.update();
123
125
  }
package/lib/index.js CHANGED
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var core = require('@merkur/core');
6
4
 
7
5
  function componentPlugin() {
@@ -30,13 +28,10 @@ function componentPlugin() {
30
28
  lifeCycle,
31
29
  isMounted: false,
32
30
  isHydrated: false,
31
+ suspendedTasks: [],
33
32
  };
34
33
 
35
- widget = {
36
- ...widgetProperties,
37
- ...componentAPI(),
38
- ...widget,
39
- };
34
+ core.assignMissingKeys(widget, componentAPI(), widgetProperties);
40
35
 
41
36
  widget = core.setDefaultValueForUndefined(widget, ['props', 'state']);
42
37
  widget = core.setDefaultValueForUndefined(widget, ['assets'], []);
@@ -83,6 +78,10 @@ function componentAPI() {
83
78
  const html = await callLifeCycleMethod(widget, 'mount', args);
84
79
  widget.$in.component.isMounted = true;
85
80
 
81
+ for (let task of widget.$in.component.suspendedTasks) {
82
+ await task();
83
+ }
84
+
86
85
  return html;
87
86
  },
88
87
  async unmount(widget, ...args) {
@@ -111,6 +110,7 @@ function componentAPI() {
111
110
  },
112
111
  async update(widget, ...args) {
113
112
  if (!widget.$in.component.isMounted) {
113
+ widget.$in.component.suspendedTasks.push(() => widget.update(...args));
114
114
  return;
115
115
  }
116
116
 
@@ -127,6 +127,13 @@ function componentAPI() {
127
127
  return widget.update();
128
128
  },
129
129
  async setProps(widget, propsSetter) {
130
+ if (!widget.$in.component.isMounted) {
131
+ widget.$in.component.suspendedTasks.push(() =>
132
+ widget.setProps(propsSetter),
133
+ );
134
+ return;
135
+ }
136
+
130
137
  widget.props = {
131
138
  ...widget.props,
132
139
  ...(typeof propsSetter === 'function'
@@ -134,10 +141,6 @@ function componentAPI() {
134
141
  : propsSetter),
135
142
  };
136
143
 
137
- if (!widget.$in.component.isMounted) {
138
- return;
139
- }
140
-
141
144
  await widget.load();
142
145
  return widget.update();
143
146
  },
package/lib/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { setDefaultValueForUndefined } from '@merkur/core';
1
+ import { assignMissingKeys, setDefaultValueForUndefined } from '@merkur/core';
2
2
 
3
3
  function componentPlugin() {
4
4
  return {
@@ -26,13 +26,10 @@ function componentPlugin() {
26
26
  lifeCycle,
27
27
  isMounted: false,
28
28
  isHydrated: false,
29
+ suspendedTasks: [],
29
30
  };
30
31
 
31
- widget = {
32
- ...widgetProperties,
33
- ...componentAPI(),
34
- ...widget,
35
- };
32
+ assignMissingKeys(widget, componentAPI(), widgetProperties);
36
33
 
37
34
  widget = setDefaultValueForUndefined(widget, ['props', 'state']);
38
35
  widget = setDefaultValueForUndefined(widget, ['assets'], []);
@@ -79,6 +76,10 @@ function componentAPI() {
79
76
  const html = await callLifeCycleMethod(widget, 'mount', args);
80
77
  widget.$in.component.isMounted = true;
81
78
 
79
+ for (let task of widget.$in.component.suspendedTasks) {
80
+ await task();
81
+ }
82
+
82
83
  return html;
83
84
  },
84
85
  async unmount(widget, ...args) {
@@ -107,6 +108,7 @@ function componentAPI() {
107
108
  },
108
109
  async update(widget, ...args) {
109
110
  if (!widget.$in.component.isMounted) {
111
+ widget.$in.component.suspendedTasks.push(() => widget.update(...args));
110
112
  return;
111
113
  }
112
114
 
@@ -123,6 +125,13 @@ function componentAPI() {
123
125
  return widget.update();
124
126
  },
125
127
  async setProps(widget, propsSetter) {
128
+ if (!widget.$in.component.isMounted) {
129
+ widget.$in.component.suspendedTasks.push(() =>
130
+ widget.setProps(propsSetter),
131
+ );
132
+ return;
133
+ }
134
+
126
135
  widget.props = {
127
136
  ...widget.props,
128
137
  ...(typeof propsSetter === 'function'
@@ -130,10 +139,6 @@ function componentAPI() {
130
139
  : propsSetter),
131
140
  };
132
141
 
133
- if (!widget.$in.component.isMounted) {
134
- return;
135
- }
136
-
137
142
  await widget.load();
138
143
  return widget.update();
139
144
  },
package/lib/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,n){if("function"==typeof define&&define.amd)define("@merkur/plugin-component",["exports","@merkur/core"],n);else if("undefined"!=typeof exports)n(exports,require("@merkur/core"));else{var t={exports:{}};n(t.exports,e.Merkur.Core),e.Merkur=e.Merkur||{},e.Merkur.Plugin=e.Merkur.Plugin||{},e.Merkur.Plugin.Component=t.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.componentPlugin=function(){return{setup:function(e,r){return c((function*(){var o=r.info,u=r.bootstrap,a=r.load,f=r.mount,p=r.unmount,s=r.update,d=function(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},u=Object.keys(e);for(r=0;r<u.length;r++)t=u[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)t=u[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(r,t),y={info:o,bootstrap:u,load:a,mount:f,unmount:p,update:s};return e.$in.component={lifeCycle:y,isMounted:!1,isHydrated:!1},e=i(i(i({},d),{info:function(e){var n=arguments;return c((function*(){for(var t=e.name,r=e.version,o=e.props,u=e.state,a=e.assets,f=e.containerSelector,c=n.length,p=new Array(c>1?c-1:0),s=1;s<c;s++)p[s-1]=n[s];return i({name:t,version:r,props:o,state:u,assets:a,containerSelector:f},(yield l(e,"info",p))||{})}))()},mount:function(e){var n=arguments;return c((function*(){for(var t=n.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=n[o];yield e.bootstrap.apply(e,r),yield e.load.apply(e,r);var u=yield l(e,"mount",r);return e.$in.component.isMounted=!0,u}))()},unmount:function(e){var n=arguments;return c((function*(){e.$in.component.isMounted=!1,e.$in.component.isHydrated=!1;for(var t=n.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=n[o];return l(e,"unmount",r)}))()},bootstrap:function(e){var n=arguments;return c((function*(){for(var t=n.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=n[o];return l(e,"bootstrap",r)}))()},load:function(e){var n=arguments;return c((function*(){var t=e.$in,r=e.state;if(!1===t.component.isMounted&&!1===t.component.isHydrated&&r&&0!==Object.keys(r).length)t.component.isHydrated=!0;else{for(var o=n.length,u=new Array(o>1?o-1:0),i=1;i<o;i++)u[i-1]=n[i];e.state=yield l(e,"load",u)}}))()},update:function(e){var n=arguments;return c((function*(){if(e.$in.component.isMounted){for(var t=n.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=n[o];return l(e,"update",r)}}))()},setState:function(e,n){return c((function*(){return e.state=i(i({},e.state),"function"==typeof n?n(e.state):n),e.update()}))()},setProps:function(e,n){return c((function*(){if(e.props=i(i({},e.props),"function"==typeof n?n(e.props):n),e.$in.component.isMounted)return yield e.load(),e.update()}))()}}),e),e=(0,n.setDefaultValueForUndefined)(e,["props","state"]),e=(0,n.setDefaultValueForUndefined)(e,["assets"],[]),e=(0,n.setDefaultValueForUndefined)(e,["containerSelector"],null)}))()},create:function(e){return e}}};var t=["info","bootstrap","load","mount","unmount","update"];function r(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)||function(e,n){if(!e)return;if("string"==typeof e)return o(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return o(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 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 u(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 i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?u(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function f(e,n,t,r,o,u,i){try{var a=e[u](i),f=a.value}catch(e){return void t(e)}a.done?n(f):Promise.resolve(f).then(r,o)}function c(e){return function(){var n=this,t=arguments;return new Promise((function(r,o){var u=e.apply(n,t);function i(e){f(u,r,o,i,a,"next",e)}function a(e){f(u,r,o,i,a,"throw",e)}i(void 0)}))}}function l(e,n,t){return p.apply(this,arguments)}function p(){return(p=c((function*(e,n,t){var o=e.$in.component.lifeCycle;if("function"==typeof o[n])return o[n].apply(o,[e].concat(r(t)))}))).apply(this,arguments)}}));
1
+ function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},n(t)}!function(n,t){if("function"==typeof define&&define.amd)define("@merkur/plugin-component",["exports","@merkur/core"],t);else if("undefined"!=typeof exports)t(exports,require("@merkur/core"));else{var e={exports:{}};t(e.exports,n.Merkur.Core),n.Merkur=n.Merkur||{},n.Merkur.Plugin=n.Merkur.Plugin||{},n.Merkur.Plugin.Component=e.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.componentPlugin=function(){return{setup:function(n,t){return s((function*(){var o=t.info,i=t.bootstrap,a=t.load,c=t.mount,l=t.unmount,y=t.update,d=function(n,t){if(null==n)return{};var e,r,o=function(n,t){if(null==n)return{};var e,r,o={},u=Object.keys(n);for(r=0;r<u.length;r++)e=u[r],t.indexOf(e)>=0||(o[e]=n[e]);return o}(n,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(n);for(r=0;r<u.length;r++)e=u[r],t.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(n,e)&&(o[e]=n[e])}return o}(t,r),m={info:o,bootstrap:i,load:a,mount:c,unmount:l,update:y};return n.$in.component={lifeCycle:m,isMounted:!1,isHydrated:!1,suspendedTasks:[]},(0,e.assignMissingKeys)(n,{info:function(n){var t=arguments;return s((function*(){for(var e=n.name,r=n.version,o=n.props,u=n.state,i=n.assets,a=n.containerSelector,c=t.length,l=new Array(c>1?c-1:0),s=1;s<c;s++)l[s-1]=t[s];return f({name:e,version:r,props:o,state:u,assets:i,containerSelector:a},(yield p(n,"info",l))||{})}))()},mount:function(n){var t=arguments;return s((function*(){for(var e=t.length,r=new Array(e>1?e-1:0),o=1;o<e;o++)r[o-1]=t[o];yield n.bootstrap.apply(n,r),yield n.load.apply(n,r);var i=yield p(n,"mount",r);n.$in.component.isMounted=!0;var a,f=function(n,t){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!e){if(Array.isArray(n)||(e=u(n))||t&&n&&"number"==typeof n.length){e&&(n=e);var r=0,o=function(){};return{s:o,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(n){throw n},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,a=!0,f=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return a=n.done,n},e:function(n){f=!0,i=n},f:function(){try{a||null==e.return||e.return()}finally{if(f)throw i}}}}(n.$in.component.suspendedTasks);try{for(f.s();!(a=f.n()).done;){var c=a.value;yield c()}}catch(n){f.e(n)}finally{f.f()}return i}))()},unmount:function(n){var t=arguments;return s((function*(){n.$in.component.isMounted=!1,n.$in.component.isHydrated=!1;for(var e=t.length,r=new Array(e>1?e-1:0),o=1;o<e;o++)r[o-1]=t[o];return p(n,"unmount",r)}))()},bootstrap:function(n){var t=arguments;return s((function*(){for(var e=t.length,r=new Array(e>1?e-1:0),o=1;o<e;o++)r[o-1]=t[o];return p(n,"bootstrap",r)}))()},load:function(n){var t=arguments;return s((function*(){var e=n.$in,r=n.state;if(!1===e.component.isMounted&&!1===e.component.isHydrated&&r&&0!==Object.keys(r).length)e.component.isHydrated=!0;else{for(var o=t.length,u=new Array(o>1?o-1:0),i=1;i<o;i++)u[i-1]=t[i];n.state=yield p(n,"load",u)}}))()},update:function(n){var t=arguments;return s((function*(){for(var e=t.length,r=new Array(e>1?e-1:0),o=1;o<e;o++)r[o-1]=t[o];if(n.$in.component.isMounted)return p(n,"update",r);n.$in.component.suspendedTasks.push((function(){return n.update.apply(n,r)}))}))()},setState:function(n,t){return s((function*(){return n.state=f(f({},n.state),"function"==typeof t?t(n.state):t),n.update()}))()},setProps:function(n,t){return s((function*(){if(n.$in.component.isMounted)return n.props=f(f({},n.props),"function"==typeof t?t(n.props):t),yield n.load(),n.update();n.$in.component.suspendedTasks.push((function(){return n.setProps(t)}))}))()}},d),n=(0,e.setDefaultValueForUndefined)(n,["props","state"]),n=(0,e.setDefaultValueForUndefined)(n,["assets"],[]),n=(0,e.setDefaultValueForUndefined)(n,["containerSelector"],null)}))()},create:function(n){return n}}};var r=["info","bootstrap","load","mount","unmount","update"];function o(n){return function(n){if(Array.isArray(n))return i(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||u(n)||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(n,t){if(n){if("string"==typeof n)return i(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?i(n,t):void 0}}function i(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}function a(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,r)}return e}function f(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?a(Object(e),!0).forEach((function(t){c(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}function c(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===n(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(n,t,e,r,o,u,i){try{var a=n[u](i),f=a.value}catch(n){return void e(n)}a.done?t(f):Promise.resolve(f).then(r,o)}function s(n){return function(){var t=this,e=arguments;return new Promise((function(r,o){var u=n.apply(t,e);function i(n){l(u,r,o,i,a,"next",n)}function a(n){l(u,r,o,i,a,"throw",n)}i(void 0)}))}}function p(n,t,e){return y.apply(this,arguments)}function y(){return(y=s((function*(n,t,e){var r=n.$in.component.lifeCycle;if("function"==typeof r[t])return r[t].apply(r,[n].concat(o(e)))}))).apply(this,arguments)}}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/plugin-component",
3
- "version": "0.31.0",
3
+ "version": "0.33.0",
4
4
  "description": "Merkur component plugin.",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -15,16 +15,16 @@
15
15
  "./lib/index.es9.cjs": "./lib/index.es9.cjs"
16
16
  },
17
17
  "browser": {
18
- "./lib/index.js": "./lib/index.es5.js",
19
- "./lib/index.cjs": "./lib/index.es5.js",
18
+ "./lib/index.js": "./lib/index.js",
19
+ "./lib/index.cjs": "./lib/index.cjs",
20
20
  "./lib/index.mjs": "./lib/index.mjs",
21
21
  "./lib/index.es9.mjs": "./lib/index.es9.mjs"
22
22
  },
23
23
  "scripts": {
24
24
  "preversion": "npm test",
25
- "test": "../../node_modules/.bin/jest --no-watchman -c ./jest.config.js",
26
- "test:es:version": "../../node_modules/.bin/es-check es5 ./lib/index.es5.js && ../../node_modules/.bin/es-check es11 ./lib/index.mjs --module && ../../node_modules/.bin/es-check es9 ./lib/index.es9.mjs --module && ../../node_modules/.bin/es-check es9 ./lib/index.es9.cjs --module",
27
- "build": "node_modules/.bin/rollup -c",
25
+ "test": "jest --no-watchman -c ./jest.config.js",
26
+ "test:es:version": "es-check es11 ./lib/index.mjs --module && es-check es9 ./lib/index.es9.mjs --module && es-check es9 ./lib/index.es9.cjs --module",
27
+ "build": "rollup -c rollup.config.mjs",
28
28
  "prepare": "npm run build"
29
29
  },
30
30
  "repository": {
@@ -48,11 +48,10 @@
48
48
  },
49
49
  "homepage": "https://merkur.js.org/",
50
50
  "devDependencies": {
51
- "@merkur/core": "^0.31.0",
52
- "rollup": "^2.70.2"
51
+ "@merkur/core": "^0.33.0"
53
52
  },
54
53
  "peerDependencies": {
55
54
  "@merkur/core": "*"
56
55
  },
57
- "gitHead": "ef1b38f23e43e2fd7ef6a2bec680fb40a2de3715"
56
+ "gitHead": "3e88b57abfad267ac3f3b20b2ae6bf50f93f5375"
58
57
  }
@@ -0,0 +1,11 @@
1
+ import {
2
+ createRollupESConfig,
3
+ createRollupES9Config,
4
+ createRollupUMDConfig,
5
+ } from '../../createRollupConfig.mjs';
6
+
7
+ let esConfig = createRollupESConfig();
8
+ let es9Config = createRollupES9Config();
9
+ let umdConfig = createRollupUMDConfig();
10
+
11
+ export default [esConfig, es9Config, umdConfig];
package/lib/index.es5.js DELETED
@@ -1 +0,0 @@
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)}require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.array.index-of.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.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.symbol.async-iterator.js"),require("core-js/modules/es.symbol.to-string-tag.js"),require("core-js/modules/es.json.to-string-tag.js"),require("core-js/modules/es.math.to-string-tag.js"),require("core-js/modules/es.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"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.regexp.exec.js");var r=["info","bootstrap","load","mount","unmount","update"];function t(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)||function(e,r){if(!e)return;if("string"==typeof e)return n(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return n(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 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(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */o=function(){return r};var r={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(e,r,t){e[r]=t.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function f(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{f({},"")}catch(e){f=function(e,r,t){return e[r]=t}}function l(e,r,t,n){var o=r&&r.prototype instanceof h?r:h,a=Object.create(o.prototype),u=new E(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}}}r.wrap=l;var d={};function h(){}function y(){}function m(){}var v={};f(v,u,(function(){return this}));var b=Object.getPrototypeOf,j=b&&b(b(S([])));j&&j!==t&&n.call(j,u)&&(v=j);var g=m.prototype=h.prototype=Object.create(v);function w(e){["next","throw","return"].forEach((function(r){f(e,r,(function(e){return this._invoke(r,e)}))}))}function x(r,t){function o(i,a,u,s){var c=p(r[i],r,a);if("throw"!==c.type){var f=c.arg,l=f.value;return l&&"object"==e(l)&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){o("next",e,u,s)}),(function(e){o("throw",e,u,s)})):t.resolve(l).then((function(e){f.value=e,u(f)}),(function(e){return o("throw",e,u,s)}))}s(c.arg)}var a;i(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}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 P()}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 s=p(e,r,t);if("normal"===s.type){if(n=t.done?"completed":"suspendedYield",s.arg===d)continue;return{value:s.arg,done:t.done}}"throw"===s.type&&(n="completed",t.method="throw",t.arg=s.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 k(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function L(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function S(e){if(e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,o=function r(){for(;++t<e.length;)if(n.call(e,t))return r.value=e[t],r.done=!1,r;return r.value=void 0,r.done=!0,r};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return y.prototype=m,i(g,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:y,configurable:!0}),y.displayName=f(m,c,"GeneratorFunction"),r.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===y||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,f(e,c,"GeneratorFunction")),e.prototype=Object.create(g),e},r.awrap=function(e){return{__await:e}},w(x.prototype),f(x.prototype,s,(function(){return this})),r.AsyncIterator=x,r.async=function(e,t,n,o,i){void 0===i&&(i=Promise);var a=new x(l(e,t,n,o),i);return r.isGeneratorFunction(t)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},w(g),f(g,c,"Generator"),f(g,u,(function(){return this})),f(g,"toString",(function(){return"[object Generator]"})),r.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}},r.values=S,E.prototype={constructor:E,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(L),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function t(t,n){return a.type="throw",a.arg=e,r.next=t,n&&(r.method="next",r.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(u&&s){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(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,r){for(var t=this.tryEntries.length-1;t>=0;--t){var o=this.tryEntries[t];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var 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),L(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;L(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,t){return this.delegate={iterator:S(e),resultName:r,nextLoc:t},"next"===this.method&&(this.arg=void 0),d}},r}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){u(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 u(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}function c(e,r,t,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){return void t(e)}u.done?r(s):Promise.resolve(s).then(n,o)}function f(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var i=e.apply(r,t);function a(e){c(i,n,o,a,u,"next",e)}function u(e){c(i,n,o,a,u,"throw",e)}a(void 0)}))}}require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.concat.js"),Object.defineProperty(exports,"__esModule",{value:!0});var l=require("@merkur/core");function p(e,r,t){return d.apply(this,arguments)}function d(){return(d=f(o().mark((function e(r,n,i){var a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof(a=r.$in.component.lifeCycle)[n]){e.next=3;break}return e.abrupt("return",a[n].apply(a,[r].concat(t(i))));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.componentPlugin=function(){return{setup:function(e,t){return f(o().mark((function n(){var i,u,c,d,h,y,m,v;return o().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=t.info,u=t.bootstrap,c=t.load,d=t.mount,h=t.unmount,y=t.update,m=s(t,r),v={info:i,bootstrap:u,load:c,mount:d,unmount:h,update:y},e.$in.component={lifeCycle:v,isMounted:!1,isHydrated:!1},e=a(a(a({},m),{info:function(e){var r=arguments;return f(o().mark((function t(){var n,i,u,s,c,f,l,d,h,y;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(n=e.name,i=e.version,u=e.props,s=e.state,c=e.assets,f=e.containerSelector,l=r.length,d=new Array(l>1?l-1:0),h=1;h<l;h++)d[h-1]=r[h];return t.next=4,p(e,"info",d);case 4:if(t.t0=t.sent,t.t0){t.next=7;break}t.t0={};case 7:return y=t.t0,t.abrupt("return",a({name:n,version:i,props:u,state:s,assets:c,containerSelector:f},y));case 9:case"end":return t.stop()}}),t)})))()},mount:function(e){var r=arguments;return f(o().mark((function t(){var n,i,a,u;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(n=r.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=r[a];return t.next=3,e.bootstrap.apply(e,i);case 3:return t.next=5,e.load.apply(e,i);case 5:return t.next=7,p(e,"mount",i);case 7:return u=t.sent,e.$in.component.isMounted=!0,t.abrupt("return",u);case 10:case"end":return t.stop()}}),t)})))()},unmount:function(e){var r=arguments;return f(o().mark((function t(){var n,i,a;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(e.$in.component.isMounted=!1,e.$in.component.isHydrated=!1,n=r.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=r[a];return t.abrupt("return",p(e,"unmount",i));case 4:case"end":return t.stop()}}),t)})))()},bootstrap:function(e){var r=arguments;return f(o().mark((function t(){var n,i,a;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(n=r.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=r[a];return t.abrupt("return",p(e,"bootstrap",i));case 2:case"end":return t.stop()}}),t)})))()},load:function(e){var r=arguments;return f(o().mark((function t(){var n,i,a,u,s;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.$in,i=e.state,!1!==n.component.isMounted||!1!==n.component.isHydrated||!i||0===Object.keys(i).length){t.next=4;break}return n.component.isHydrated=!0,t.abrupt("return");case 4:for(a=r.length,u=new Array(a>1?a-1:0),s=1;s<a;s++)u[s-1]=r[s];return t.next=7,p(e,"load",u);case 7:e.state=t.sent;case 8:case"end":return t.stop()}}),t)})))()},update:function(e){var r=arguments;return f(o().mark((function t(){var n,i,a;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.$in.component.isMounted){t.next=2;break}return t.abrupt("return");case 2:for(n=r.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=r[a];return t.abrupt("return",p(e,"update",i));case 4:case"end":return t.stop()}}),t)})))()},setState:function(e,r){return f(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.state=a(a({},e.state),"function"==typeof r?r(e.state):r),t.abrupt("return",e.update());case 2:case"end":return t.stop()}}),t)})))()},setProps:function(e,r){return f(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.props=a(a({},e.props),"function"==typeof r?r(e.props):r),e.$in.component.isMounted){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,e.load();case 5:return t.abrupt("return",e.update());case 6:case"end":return t.stop()}}),t)})))()}}),e),e=l.setDefaultValueForUndefined(e,["props","state"]),e=l.setDefaultValueForUndefined(e,["assets"],[]),e=l.setDefaultValueForUndefined(e,["containerSelector"],null),n.abrupt("return",e);case 8:case"end":return n.stop()}}),n)})))()},create:function(e){return e}}};