Socket
Socket
Sign inDemoInstall

evolui

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

evolui - npm Package Compare versions

Comparing version 2.0.0-alpha.1 to 2.0.0-alpha.2

8

lib/evolui.js

@@ -604,3 +604,9 @@ import createTag from 'vdom-tag';

unsubscribe: function unsubscribe() {
if (previousTree) _removeElement(previousTree, rootNode);
if (previousTree) {
if (Array.isArray(previousTree)) {
updateChildren(rootNode, previousTree, [], isSvg, context);
} else {
_removeElement(previousTree, rootNode);
}
}
sub.unsubscribe();

@@ -607,0 +613,0 @@ }

2

lib/evolui.min.js

@@ -1,1 +0,1 @@

import createTag from"vdom-tag";import{BehaviorSubject,Observable,combineLatest,from,of}from"rxjs";import{filter,map,share,shareReplay,startWith}from"rxjs/operators";var _typeof="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},classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),defineProperty=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},slicedToArray=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{!n&&u.return&&u.return()}finally{if(o)throw i}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),toArray=function(e){return Array.isArray(e)?e:Array.from(e)},toConsumableArray=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},compose=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}},curry=function e(t){return function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];return n.length>=t.length?t.apply(void 0,n):function(){for(var r=arguments.length,o=Array(r),i=0;i<r;i++)o[i]=arguments[i];return e(t).apply(void 0,n.concat(o))}}};function _objectEntries(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}function _objectEntries(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}var fromEntries=function(e){return e.reduce(function(e,t){var r=slicedToArray(t,2),n=r[0],o=r[1];return _extends({},e,defineProperty({},n,o))},{})},pickBy=curry(function(e,t){return fromEntries(_objectEntries(t).filter(function(t){var r=slicedToArray(t,2),n=r[0],o=r[1];return e(o,n)}))}),mapValues=curry(function(e,t){return Object.keys(t).reduce(function(r,n){return _extends({},r,defineProperty({},n,e(t[n],n)))},{})}),isObject=function(e){return"object"===(void 0===e?"undefined":_typeof(e))&&null!==e};function _objectValues(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push(e[r[n]]);return t}function _objectValues(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push(e[r[n]]);return t}var isPromise=function(e){return e&&"function"==typeof e.then},isObservable=function(e){return e&&"function"==typeof e.subscribe},toObservable=function(e){return isObservable(e)?e:of(e)},switchMap=curry(function(e,t){var r=void 0;return new Observable(function(n){var o=!1,i=!1,a=t.subscribe({next:function(t){r&&r.unsubscribe(),r=e(t).subscribe({error:function(e){return n.error(e)},next:function(e){return n.next(e)},complete:function(){i=!0,o&&n.complete()}})},error:function(e){return n.error(e)},complete:function(){o=!0,i&&n.complete()}});return{unsubscribe:function(){r&&r.unsubscribe(),a.unsubscribe()}}})}),all=function(e){return e.length?combineLatest.apply(void 0,toConsumableArray(e.map(toObservable)).concat([function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t}])):of([])},combineLatestObject=function(e){var t=Object.keys(e);return t.length?combineLatest.apply(void 0,toConsumableArray(t.map(function(t){return toObservable(e[t]).pipe(map(function(e){return[t,e]}))})).concat([function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t){var r=slicedToArray(t,2),n=r[0],o=r[1];return _extends({},e,defineProperty({},n,o))},{})}])):of(e)},blockComplete=function(){return function(e){return new Observable(function(t){return e.subscribe({complete:function(){},next:function(e){return t.next(e)},error:function(e){return t.error(e)}})})}},sample=curry(function(e,t){var r=Symbol("None");return new Observable(function(n){var o=r,i=t.subscribe({next:function(e){o=e},complete:function(){},error:function(e){return n.error(e)}}),a=e.subscribe({next:function(){o!==r&&(n.next(o),o=r)},complete:function(){return n.complete()},error:function(e){return n.error(e)}});return{unsubscribe:function(){i.unsubscribe(),a.unsubscribe()}}})}),raf=new Observable(function(e){var t=!0;return window.requestAnimationFrame(function r(){t&&(e.next(),window.requestAnimationFrame(r))}),{unsubscribe:function(){t=!1}}}),applyIf=curry(function(e,t,r){return e(r)?t(r):r}),ifObservable=applyIf(isObservable),allIfObservable=applyIf(function(e){return e.some(isObservable)},all),combineLatestObjectIfObservable=applyIf(function(e){return _objectValues(e).some(isObservable)},combineLatestObject),defaultWith=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32;return function(r){return new Observable(function(n){var o=setTimeout(function(){return n.next(e)},t);return r.subscribe({next:function(e){clearTimeout(o),n.next(e)},complete:function(){clearTimeout(o),n.complete()},error:function(e){clearTimeout(o),n.error(e)}})})}},_flip=function e(t){return isObservable(t)?switchMap(compose(toObservable,e))(t):isPromise(t)?switchMap(compose(toObservable,e))(from(t)):Array.isArray(t)?allIfObservable(t.map(compose(ifObservable(defaultWith(void 0)),e))):isObject(t)?"Component"===t.type?t:combineLatestObjectIfObservable(mapValues(compose(ifObservable(defaultWith(void 0)),e),t)):t},flip=function(e){return toObservable(_flip(e))},noOp=function(){},createDefaultLifecycle=function(){return{mount:noOp,update:noOp,unmount:noOp}},isEmpty=function(e){return 0!==e&&(!e||"string"==typeof e&&!e.trim())||Array.isArray(e)&&!e.length},hasContent=function(e){return!e.length||!e.every(isEmpty)},flatten=function e(t){return Array.isArray(t)?all(t.map(compose(startWith(""),e))).pipe(filter(hasContent)):isObservable(t)?switchMap(e,t):isPromise(t)?switchMap(e,from(t)):toObservable(t)},sharedRaf=share()(raf),createReactiveTag=function(e){return function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return flatten(n).pipe(blockComplete(),startWith([]),sample(sharedRaf),map(function(r){return e.apply(void 0,[t].concat(toConsumableArray(r)))}))}},flatMap=curry(function(e,t){return t.reduce(function(t,r){return t.concat(e(r))},[])}),flatten$1=flatMap(function(e){return e});function _objectEntries$1(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}function _objectEntries$1(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}var sharedRaf$1=share()(raf),toStream=function(e){return flip(e).pipe(sample(sharedRaf$1))},render=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n.isSvg,i=void 0!==o&&o,a=n.morphNode,u=void 0!==a&&a?t:t.firstChild,c=void 0,s="function"==typeof e?e(r):e,l=toStream(s).subscribe({next:function(e){"VPatch"===e.type?c=e.vTree:Array.isArray(e)?(updateChildren(u||(u=t),c||[],e,i,r),c=e):(u?u=patch(u,c,e,i,r):(u=_createElement(e,i,r),t.innerHTML="",t.appendChild(u)),c=e)}});return{unsubscribe:function(){c&&_removeElement(c,u),l.unsubscribe()}}},VText=function(){function e(t){var r=t.text;classCallCheck(this,e),this.type="VText",this.text=r}return createClass(e,[{key:"createElement",value:function(){return document.createTextNode(this.text)}},{key:"updateElement",value:function(e,t){t.text!==this.text&&(e.textContent=this.text)}},{key:"removeElement",value:function(){}},{key:"mount",value:function(){}}]),e}();function isShallowEqual(e,t){for(var r in e)if(!(r in t)||e[r]!==t[r])return!1;for(var n in t)if(!(n in e)||e[n]!==t[n])return!1;return!0}var updateStyle=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var n in _extends({},t,r)){var o=r&&r[n]?r[n]:"";r[n]===t[n]||("-"===n[0]?e.style.setProperty(n,o):e.style[n]=o)}},updateEvents=function(e,t,r){var n=!0,o=!1,i=void 0;try{for(var a,u=_objectEntries$1(e.events)[Symbol.iterator]();!(n=(a=u.next()).done);n=!0){var c=a.value,s=slicedToArray(c,2),l=s[0],f=s[1];r[l]?f!==r[l]&&(t.removeEventListener(l,r[l]),t.addEventListener(l,f)):t.addEventListener(l,f)}}catch(e){o=!0,i=e}finally{try{!n&&u.return&&u.return()}finally{if(o)throw i}}var p=_objectEntries$1(r).filter(function(t){var r=slicedToArray(t,1)[0];return!e.events[r]}),v=!0,m=!1,y=void 0;try{for(var h,b=p[Symbol.iterator]();!(v=(h=b.next()).done);v=!0){var d=h.value,E=slicedToArray(d,2),g=E[0],A=E[1];t.removeEventListener(g,A)}}catch(e){m=!0,y=e}finally{try{!v&&b.return&&b.return()}finally{if(m)throw y}}},updateAttrs=function(e,t,r){for(var n in _extends({},r,e.attrs)){var o=e.attrs[n];o===r[n]||(isEmpty(o)?"value"===n&&"INPUT"===t.tagName?t.value="":t.removeAttribute(n):"style"===n?updateStyle(t,r.style,e.attrs.style):"value"===n&&"INPUT"===t.tagName?t.value=o:t.setAttribute(n,o))}},updateChildren=function(e,t,r,n,o){var i=flatten$1(r),a=flatten$1(t);for(var u in i){var c=i[u],s=a[u],l=e.childNodes[u];if(l)patch(l,s,c,n,o);else{var f=_createElement(c,n,o);e.appendChild(f),_mount(c,f)}}for(var p in[].slice.call(e.childNodes,i.length)){var v=parseInt(p)+i.length,m=a[v],y=e.childNodes[v];y&&(_removeElement(m,y),y.remove())}},VNode=function(){function e(t){var r=t.name,n=t.attrs,o=void 0===n?{}:n,i=t.lifecycle,a=void 0===i?{}:i,u=t.events,c=void 0===u?{}:u,s=t.children,l=void 0===s?{}:s,f=t.key,p=void 0===f?"":f;classCallCheck(this,e),this.type="VNode",this.name=r,this.attrs=o,this.lifecycle=a,this.events=c,this.children=l,this.key=p}return createClass(e,[{key:"createElement",value:function(e,t){var r=(e=e||"svg"===this.name)?document.createElementNS("http://www.w3.org/2000/svg",this.name):document.createElement(this.name);return updateEvents(this,r,{}),updateAttrs(this,r,{}),updateChildren(r,[],this.children,e,t),r}},{key:"updateElement",value:function(e,t,r,n){if(t.name!==this.name)return _removeElement(t,e),_createElement(this,r,n);updateEvents(this,e,t.events),updateAttrs(this,e,t.attrs),updateChildren(e,t.children,this.children,r,n),this.lifecycle.update(e)}},{key:"removeElement",value:function(e){flatten$1(this.children).map(function(t,r){return _removeElement(t,e.childNodes[r])}),this.lifecycle.unmount(e)}},{key:"mount",value:function(e){flatten$1(this.children).map(function(e){return _mount(e)}),this.lifecycle.mount(e)}}]),e}(),VPatch=function(){function e(t){var r=t.vTree;classCallCheck(this,e),this.type="VPatch",this.vTree=r}return createClass(e,[{key:"createElement",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _createElement.apply(void 0,[this.vTree].concat(t))}},{key:"updateElement",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _updateElement.apply(void 0,[this.vTree].concat(t))}},{key:"removeElement",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _removeElement.apply(void 0,[this.vTree].concat(t))}},{key:"mount",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _mount.apply(void 0,[this.vTree].concat(t))}}]),e}(),pickNonObservables=function(e){return pickBy(function(e,t){return!/\$$/.test(t)},e)};function createPropsStream(e){var t=new BehaviorSubject(e);return{next:function(e){return t.next(e)},stream:t.pipe(switchMap(function(e){return combineLatestObject(pickNonObservables(e)).pipe(map(function(t){return _extends({},e,t)}))}),shareReplay(1))}}var Component=function(){function e(t){var r=t.name,n=t.untouchedAttributes,o=t.key,i=void 0===o?"":o;classCallCheck(this,e),this.type="Component",this.name=r,this.untouchedAttributes=n,this.key=i}return createClass(e,[{key:"createElement",value:function(e,t){var r=e?document.createElementNS("http://www.w3.org/2000/svg","g"):document.createElement("div");this.state={},this.state.props=createPropsStream(this.untouchedAttributes);var n=this.name(this.state.props.stream);if(!n)throw new Error("Component "+this.name.name+" must return a stream!");return this.state.subscription=render(n,r,t,{isSvg:e,morphNode:!0}),r}},{key:"updateElement",value:function(e,t,r,n){if(this.state=t.state,t.name!==this.name)return _removeElement(t,e),_createElement(this,r,n);isShallowEqual(t.untouchedAttributes,this.untouchedAttributes)||this.state.props.next(this.untouchedAttributes)}},{key:"removeElement",value:function(){this.state.subscription.unsubscribe()}},{key:"mount",value:function(){}}]),e}(),classes={VNode:VNode,VText:VText,Component:Component},_createElement=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.createElement.apply(e,r)},_mount=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.mount.apply(e,r)},_updateElement=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.updateElement.apply(e,r)},_removeElement=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.removeElement.apply(e,r)};function createVTree(e){return{key:"INIT",type:"VNode",name:e.nodeName.toLowerCase(),lifecycle:createDefaultLifecycle(),events:{},attrs:{},untouchedAttributes:{},children:Array.prototype.map.call(e.childNodes,function(e){return 3===e.nodeType?{type:"VText",text:e.nodeValue}:createVTree(e)})}}function patch(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:createVTree(e),r=arguments[2],n=arguments[3],o=arguments[4];if(r.type!==t.type||r.key!==t.key){_removeElement(t,e);var i=_createElement(r,n,o);return e.parentNode.replaceChild(i,e),_mount(r,i,n),i}var a=_updateElement(r,e,t,n,o);return a?(e.parentNode.replaceChild(a,e),_mount(r,a,n),a):e}function _objectEntries$2(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}function _objectEntries$2(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}var isLifecycle=function(e){return["mount","update","unmount"].includes(e)},isEvent=function(e){return!!e.match(/^on/)},toEventName=function(e){return e.replace(/^on/,"").toLowerCase()},styleToObject=function(e){return e.split(";").reduce(function(e,t){var r=t.split(/:/),n=toArray(r),o=n[0],i=n.slice(1);return o.trim()&&(e[o.trim()]=i.join(":")),e},{})},formatChildren=flatMap(function(e){return Array.isArray(e)?formatChildren(e):isEmpty(e)?[]:["VNode","VText","VPatch","Component"].some(function(t){return e.type===t})?[e]:isObservable(e)||isPromise(e)?[{type:"Component",name:function(){return flip(e).pipe(map(function(e){return formatChildren([e])}),map(function(e){return 1===e.length?e[0]:e}),filter(function(e){return!isEmpty(e)}))},untouchedAttributes:{children:[]}}]:[{type:"VText",text:e}]});function h(e,t){for(var r=t||{},n=arguments.length,o=Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];var a=o.reduce(function(e,t){return e.concat(t)},[]);if("function"==typeof e)return{type:"Component",name:e,untouchedAttributes:_extends({},r,{children:a})};var u=_objectEntries$2(r).reduce(function(e,t){var r=slicedToArray(t,2),n=r[0],o=r[1];return"key"===n?e.key=o:isLifecycle(n)&&"function"==typeof o?e.lifecycle[n]=o:isEvent(n)&&"function"==typeof o?e.events[toEventName(n)]=o:e.attrs[n]="style"===n?"object"===(void 0===o?"undefined":_typeof(o))?o:styleToObject(o):o,e},{lifecycle:createDefaultLifecycle(),events:{},attrs:{}}),c=u.key,s=u.lifecycle,l=u.events;return{type:"VNode",name:e,attrs:u.attrs,lifecycle:s,events:l,children:formatChildren(a),key:c}}var createRenderProcess=function(e){return new Observable(function(t){var r=void 0,n=void 0,o=void 0;return e.subscribe({complete:function(){return t.complete()},error:function(e){return t.error(e)},next:function(e){if(!(e instanceof VNode))return t.next(e);var i=e.lifecycle.mount;e.lifecycle.mount=function(e,t){r=e,o=t,i(e)},r?(r=patch(r,n,e,o),t.next(new VPatch({vTree:e}))):t.next(e),n=e}})})},toRenderProcess=function(e){return function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return createRenderProcess(e.apply(void 0,[t].concat(n)))}},html$1=toRenderProcess(createReactiveTag(createTag(h))),textTag=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e.reduce(function(e,t,n){return e+t+(void 0!==r[n]?r[n]:"")},"")},text=createReactiveTag(textTag);export{text,render,h};export default html$1;
import createTag from"vdom-tag";import{BehaviorSubject,Observable,combineLatest,from,of}from"rxjs";import{filter,map,share,shareReplay,startWith}from"rxjs/operators";var _typeof="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},classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),defineProperty=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},slicedToArray=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{!n&&u.return&&u.return()}finally{if(o)throw i}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),toArray=function(e){return Array.isArray(e)?e:Array.from(e)},toConsumableArray=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},compose=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}},curry=function e(t){return function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];return n.length>=t.length?t.apply(void 0,n):function(){for(var r=arguments.length,o=Array(r),i=0;i<r;i++)o[i]=arguments[i];return e(t).apply(void 0,n.concat(o))}}};function _objectEntries(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}function _objectEntries(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}var fromEntries=function(e){return e.reduce(function(e,t){var r=slicedToArray(t,2),n=r[0],o=r[1];return _extends({},e,defineProperty({},n,o))},{})},pickBy=curry(function(e,t){return fromEntries(_objectEntries(t).filter(function(t){var r=slicedToArray(t,2),n=r[0],o=r[1];return e(o,n)}))}),mapValues=curry(function(e,t){return Object.keys(t).reduce(function(r,n){return _extends({},r,defineProperty({},n,e(t[n],n)))},{})}),isObject=function(e){return"object"===(void 0===e?"undefined":_typeof(e))&&null!==e};function _objectValues(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push(e[r[n]]);return t}function _objectValues(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push(e[r[n]]);return t}var isPromise=function(e){return e&&"function"==typeof e.then},isObservable=function(e){return e&&"function"==typeof e.subscribe},toObservable=function(e){return isObservable(e)?e:of(e)},switchMap=curry(function(e,t){var r=void 0;return new Observable(function(n){var o=!1,i=!1,a=t.subscribe({next:function(t){r&&r.unsubscribe(),r=e(t).subscribe({error:function(e){return n.error(e)},next:function(e){return n.next(e)},complete:function(){i=!0,o&&n.complete()}})},error:function(e){return n.error(e)},complete:function(){o=!0,i&&n.complete()}});return{unsubscribe:function(){r&&r.unsubscribe(),a.unsubscribe()}}})}),all=function(e){return e.length?combineLatest.apply(void 0,toConsumableArray(e.map(toObservable)).concat([function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t}])):of([])},combineLatestObject=function(e){var t=Object.keys(e);return t.length?combineLatest.apply(void 0,toConsumableArray(t.map(function(t){return toObservable(e[t]).pipe(map(function(e){return[t,e]}))})).concat([function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t){var r=slicedToArray(t,2),n=r[0],o=r[1];return _extends({},e,defineProperty({},n,o))},{})}])):of(e)},blockComplete=function(){return function(e){return new Observable(function(t){return e.subscribe({complete:function(){},next:function(e){return t.next(e)},error:function(e){return t.error(e)}})})}},sample=curry(function(e,t){var r=Symbol("None");return new Observable(function(n){var o=r,i=t.subscribe({next:function(e){o=e},complete:function(){},error:function(e){return n.error(e)}}),a=e.subscribe({next:function(){o!==r&&(n.next(o),o=r)},complete:function(){return n.complete()},error:function(e){return n.error(e)}});return{unsubscribe:function(){i.unsubscribe(),a.unsubscribe()}}})}),raf=new Observable(function(e){var t=!0;return window.requestAnimationFrame(function r(){t&&(e.next(),window.requestAnimationFrame(r))}),{unsubscribe:function(){t=!1}}}),applyIf=curry(function(e,t,r){return e(r)?t(r):r}),ifObservable=applyIf(isObservable),allIfObservable=applyIf(function(e){return e.some(isObservable)},all),combineLatestObjectIfObservable=applyIf(function(e){return _objectValues(e).some(isObservable)},combineLatestObject),defaultWith=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32;return function(r){return new Observable(function(n){var o=setTimeout(function(){return n.next(e)},t);return r.subscribe({next:function(e){clearTimeout(o),n.next(e)},complete:function(){clearTimeout(o),n.complete()},error:function(e){clearTimeout(o),n.error(e)}})})}},_flip=function e(t){return isObservable(t)?switchMap(compose(toObservable,e))(t):isPromise(t)?switchMap(compose(toObservable,e))(from(t)):Array.isArray(t)?allIfObservable(t.map(compose(ifObservable(defaultWith(void 0)),e))):isObject(t)?"Component"===t.type?t:combineLatestObjectIfObservable(mapValues(compose(ifObservable(defaultWith(void 0)),e),t)):t},flip=function(e){return toObservable(_flip(e))},noOp=function(){},createDefaultLifecycle=function(){return{mount:noOp,update:noOp,unmount:noOp}},isEmpty=function(e){return 0!==e&&(!e||"string"==typeof e&&!e.trim())||Array.isArray(e)&&!e.length},hasContent=function(e){return!e.length||!e.every(isEmpty)},flatten=function e(t){return Array.isArray(t)?all(t.map(compose(startWith(""),e))).pipe(filter(hasContent)):isObservable(t)?switchMap(e,t):isPromise(t)?switchMap(e,from(t)):toObservable(t)},sharedRaf=share()(raf),createReactiveTag=function(e){return function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return flatten(n).pipe(blockComplete(),startWith([]),sample(sharedRaf),map(function(r){return e.apply(void 0,[t].concat(toConsumableArray(r)))}))}},flatMap=curry(function(e,t){return t.reduce(function(t,r){return t.concat(e(r))},[])}),flatten$1=flatMap(function(e){return e});function _objectEntries$1(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}function _objectEntries$1(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}var sharedRaf$1=share()(raf),toStream=function(e){return flip(e).pipe(sample(sharedRaf$1))},render=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n.isSvg,i=void 0!==o&&o,a=n.morphNode,u=void 0!==a&&a?t:t.firstChild,c=void 0,s="function"==typeof e?e(r):e,l=toStream(s).subscribe({next:function(e){"VPatch"===e.type?c=e.vTree:Array.isArray(e)?(updateChildren(u||(u=t),c||[],e,i,r),c=e):(u?u=patch(u,c,e,i,r):(u=_createElement(e,i,r),t.innerHTML="",t.appendChild(u)),c=e)}});return{unsubscribe:function(){c&&(Array.isArray(c)?updateChildren(u,c,[],i,r):_removeElement(c,u)),l.unsubscribe()}}},VText=function(){function e(t){var r=t.text;classCallCheck(this,e),this.type="VText",this.text=r}return createClass(e,[{key:"createElement",value:function(){return document.createTextNode(this.text)}},{key:"updateElement",value:function(e,t){t.text!==this.text&&(e.textContent=this.text)}},{key:"removeElement",value:function(){}},{key:"mount",value:function(){}}]),e}();function isShallowEqual(e,t){for(var r in e)if(!(r in t)||e[r]!==t[r])return!1;for(var n in t)if(!(n in e)||e[n]!==t[n])return!1;return!0}var updateStyle=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var n in _extends({},t,r)){var o=r&&r[n]?r[n]:"";r[n]===t[n]||("-"===n[0]?e.style.setProperty(n,o):e.style[n]=o)}},updateEvents=function(e,t,r){var n=!0,o=!1,i=void 0;try{for(var a,u=_objectEntries$1(e.events)[Symbol.iterator]();!(n=(a=u.next()).done);n=!0){var c=a.value,s=slicedToArray(c,2),l=s[0],f=s[1];r[l]?f!==r[l]&&(t.removeEventListener(l,r[l]),t.addEventListener(l,f)):t.addEventListener(l,f)}}catch(e){o=!0,i=e}finally{try{!n&&u.return&&u.return()}finally{if(o)throw i}}var p=_objectEntries$1(r).filter(function(t){var r=slicedToArray(t,1)[0];return!e.events[r]}),v=!0,m=!1,y=void 0;try{for(var h,d=p[Symbol.iterator]();!(v=(h=d.next()).done);v=!0){var b=h.value,E=slicedToArray(b,2),A=E[0],g=E[1];t.removeEventListener(A,g)}}catch(e){m=!0,y=e}finally{try{!v&&d.return&&d.return()}finally{if(m)throw y}}},updateAttrs=function(e,t,r){for(var n in _extends({},r,e.attrs)){var o=e.attrs[n];o===r[n]||(isEmpty(o)?"value"===n&&"INPUT"===t.tagName?t.value="":t.removeAttribute(n):"style"===n?updateStyle(t,r.style,e.attrs.style):"value"===n&&"INPUT"===t.tagName?t.value=o:t.setAttribute(n,o))}},updateChildren=function(e,t,r,n,o){var i=flatten$1(r),a=flatten$1(t);for(var u in i){var c=i[u],s=a[u],l=e.childNodes[u];if(l)patch(l,s,c,n,o);else{var f=_createElement(c,n,o);e.appendChild(f),_mount(c,f)}}for(var p in[].slice.call(e.childNodes,i.length)){var v=parseInt(p)+i.length,m=a[v],y=e.childNodes[v];y&&(_removeElement(m,y),y.remove())}},VNode=function(){function e(t){var r=t.name,n=t.attrs,o=void 0===n?{}:n,i=t.lifecycle,a=void 0===i?{}:i,u=t.events,c=void 0===u?{}:u,s=t.children,l=void 0===s?{}:s,f=t.key,p=void 0===f?"":f;classCallCheck(this,e),this.type="VNode",this.name=r,this.attrs=o,this.lifecycle=a,this.events=c,this.children=l,this.key=p}return createClass(e,[{key:"createElement",value:function(e,t){var r=(e=e||"svg"===this.name)?document.createElementNS("http://www.w3.org/2000/svg",this.name):document.createElement(this.name);return updateEvents(this,r,{}),updateAttrs(this,r,{}),updateChildren(r,[],this.children,e,t),r}},{key:"updateElement",value:function(e,t,r,n){if(t.name!==this.name)return _removeElement(t,e),_createElement(this,r,n);updateEvents(this,e,t.events),updateAttrs(this,e,t.attrs),updateChildren(e,t.children,this.children,r,n),this.lifecycle.update(e)}},{key:"removeElement",value:function(e){flatten$1(this.children).map(function(t,r){return _removeElement(t,e.childNodes[r])}),this.lifecycle.unmount(e)}},{key:"mount",value:function(e){flatten$1(this.children).map(function(e){return _mount(e)}),this.lifecycle.mount(e)}}]),e}(),VPatch=function(){function e(t){var r=t.vTree;classCallCheck(this,e),this.type="VPatch",this.vTree=r}return createClass(e,[{key:"createElement",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _createElement.apply(void 0,[this.vTree].concat(t))}},{key:"updateElement",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _updateElement.apply(void 0,[this.vTree].concat(t))}},{key:"removeElement",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _removeElement.apply(void 0,[this.vTree].concat(t))}},{key:"mount",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return _mount.apply(void 0,[this.vTree].concat(t))}}]),e}(),pickNonObservables=function(e){return pickBy(function(e,t){return!/\$$/.test(t)},e)};function createPropsStream(e){var t=new BehaviorSubject(e);return{next:function(e){return t.next(e)},stream:t.pipe(switchMap(function(e){return combineLatestObject(pickNonObservables(e)).pipe(map(function(t){return _extends({},e,t)}))}),shareReplay(1))}}var Component=function(){function e(t){var r=t.name,n=t.untouchedAttributes,o=t.key,i=void 0===o?"":o;classCallCheck(this,e),this.type="Component",this.name=r,this.untouchedAttributes=n,this.key=i}return createClass(e,[{key:"createElement",value:function(e,t){var r=e?document.createElementNS("http://www.w3.org/2000/svg","g"):document.createElement("div");this.state={},this.state.props=createPropsStream(this.untouchedAttributes);var n=this.name(this.state.props.stream);if(!n)throw new Error("Component "+this.name.name+" must return a stream!");return this.state.subscription=render(n,r,t,{isSvg:e,morphNode:!0}),r}},{key:"updateElement",value:function(e,t,r,n){if(this.state=t.state,t.name!==this.name)return _removeElement(t,e),_createElement(this,r,n);isShallowEqual(t.untouchedAttributes,this.untouchedAttributes)||this.state.props.next(this.untouchedAttributes)}},{key:"removeElement",value:function(){this.state.subscription.unsubscribe()}},{key:"mount",value:function(){}}]),e}(),classes={VNode:VNode,VText:VText,Component:Component},_createElement=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.createElement.apply(e,r)},_mount=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.mount.apply(e,r)},_updateElement=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.updateElement.apply(e,r)},_removeElement=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return classes[e.type].prototype.removeElement.apply(e,r)};function createVTree(e){return{key:"INIT",type:"VNode",name:e.nodeName.toLowerCase(),lifecycle:createDefaultLifecycle(),events:{},attrs:{},untouchedAttributes:{},children:Array.prototype.map.call(e.childNodes,function(e){return 3===e.nodeType?{type:"VText",text:e.nodeValue}:createVTree(e)})}}function patch(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:createVTree(e),r=arguments[2],n=arguments[3],o=arguments[4];if(r.type!==t.type||r.key!==t.key){_removeElement(t,e);var i=_createElement(r,n,o);return e.parentNode.replaceChild(i,e),_mount(r,i,n),i}var a=_updateElement(r,e,t,n,o);return a?(e.parentNode.replaceChild(a,e),_mount(r,a,n),a):e}function _objectEntries$2(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}function _objectEntries$2(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;++n)t.push([r[n],e[r[n]]]);return t}var isLifecycle=function(e){return["mount","update","unmount"].includes(e)},isEvent=function(e){return!!e.match(/^on/)},toEventName=function(e){return e.replace(/^on/,"").toLowerCase()},styleToObject=function(e){return e.split(";").reduce(function(e,t){var r=t.split(/:/),n=toArray(r),o=n[0],i=n.slice(1);return o.trim()&&(e[o.trim()]=i.join(":")),e},{})},formatChildren=flatMap(function(e){return Array.isArray(e)?formatChildren(e):isEmpty(e)?[]:["VNode","VText","VPatch","Component"].some(function(t){return e.type===t})?[e]:isObservable(e)||isPromise(e)?[{type:"Component",name:function(){return flip(e).pipe(map(function(e){return formatChildren([e])}),map(function(e){return 1===e.length?e[0]:e}),filter(function(e){return!isEmpty(e)}))},untouchedAttributes:{children:[]}}]:[{type:"VText",text:e}]});function h(e,t){for(var r=t||{},n=arguments.length,o=Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];var a=o.reduce(function(e,t){return e.concat(t)},[]);if("function"==typeof e)return{type:"Component",name:e,untouchedAttributes:_extends({},r,{children:a})};var u=_objectEntries$2(r).reduce(function(e,t){var r=slicedToArray(t,2),n=r[0],o=r[1];return"key"===n?e.key=o:isLifecycle(n)&&"function"==typeof o?e.lifecycle[n]=o:isEvent(n)&&"function"==typeof o?e.events[toEventName(n)]=o:e.attrs[n]="style"===n?"object"===(void 0===o?"undefined":_typeof(o))?o:styleToObject(o):o,e},{lifecycle:createDefaultLifecycle(),events:{},attrs:{}}),c=u.key,s=u.lifecycle,l=u.events;return{type:"VNode",name:e,attrs:u.attrs,lifecycle:s,events:l,children:formatChildren(a),key:c}}var createRenderProcess=function(e){return new Observable(function(t){var r=void 0,n=void 0,o=void 0;return e.subscribe({complete:function(){return t.complete()},error:function(e){return t.error(e)},next:function(e){if(!(e instanceof VNode))return t.next(e);var i=e.lifecycle.mount;e.lifecycle.mount=function(e,t){r=e,o=t,i(e)},r?(r=patch(r,n,e,o),t.next(new VPatch({vTree:e}))):t.next(e),n=e}})})},toRenderProcess=function(e){return function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return createRenderProcess(e.apply(void 0,[t].concat(n)))}},html$1=toRenderProcess(createReactiveTag(createTag(h))),textTag=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e.reduce(function(e,t,n){return e+t+(void 0!==r[n]?r[n]:"")},"")},text=createReactiveTag(textTag);export{text,render,h};export default html$1;
{
"name": "evolui",
"version": "2.0.0-alpha.01",
"version": "2.0.0-alpha.02",
"description": "Observable powered templates for asynchronous UIs",

@@ -5,0 +5,0 @@ "main": "lib/evolui.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc