seqda 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ var e={187:e=>{var t,n="object"==typeof Reflect?Reflect:null,r=n&&"function"==typeof n.apply?n.apply:function ReflectApply(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function ReflectOwnKeys(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function NumberIsNaN(e){return e!=e};function EventEmitter(){EventEmitter.init.call(this)}e.exports=EventEmitter,e.exports.once=function once(e,t){return new Promise((function(n,r){function errorListener(n){e.removeListener(t,resolver),r(n)}function resolver(){"function"==typeof e.removeListener&&e.removeListener("error",errorListener),n([].slice.call(arguments))}eventTargetAgnosticAddListener(e,t,resolver,{once:!0}),"error"!==t&&function addErrorHandlerIfEventEmitter(e,t,n){"function"==typeof e.on&&eventTargetAgnosticAddListener(e,"error",t,n)}(e,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var o=10;function checkListener(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function _getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function _addListener(e,t,n,r){var i,o,s;if(checkListener(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=_getMaxListeners(e))>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=s.length,function ProcessEmitWarning(e){console&&console.warn&&console.warn(e)}(a)}return e}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=onceWrapper.bind(r);return i.listener=n,r.wrapFn=i,i}function _listeners(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function unwrapListeners(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):arrayClone(i,i.length)}function listenerCount(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function arrayClone(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function eventTargetAgnosticAddListener(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function wrapListener(i){r.once&&e.removeEventListener(t,wrapListener),n(i)}))}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function setMaxListeners(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function emit(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[e];if(void 0===u)return!1;if("function"==typeof u)r(u,this,t);else{var f=u.length,c=arrayClone(u,f);for(n=0;n<f;++n)r(c[n],this,t)}return!0},EventEmitter.prototype.addListener=function addListener(e,t){return _addListener(this,e,t,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function prependListener(e,t){return _addListener(this,e,t,!0)},EventEmitter.prototype.once=function once(e,t){return checkListener(t),this.on(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.prependOnceListener=function prependOnceListener(e,t){return checkListener(t),this.prependListener(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.removeListener=function removeListener(e,t){var n,r,i,o,s;if(checkListener(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function spliceOne(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function removeAllListeners(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},EventEmitter.prototype.listeners=function listeners(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function rawListeners(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?t(this._events):[]}},320:(e,t,n)=>{const r=n(447);function extend(){function _extend(o,s,a,u){var f,c=4;if(t)for(var l=c,p=arguments.length;l<p;l++){if((d=arguments[l])&&d instanceof Object){var v=Object.keys(d);n||(v=v.concat(Object.getOwnPropertySymbols(d)));for(var h=0,b=v.length;h<b;h++){if("__proto__"!==(g=v[h])&&"constructor"!==g&&"prototype"!==g&&(!0===i||!u.hasOwnProperty(g))){f=d[g];var y=u[g];if(!e||!1!==e(g,f,d,y,u,a,o,s)){if(f&&"object"==typeof f&&!(f instanceof String)&&!(f instanceof Number)&&(f.constructor===Object.prototype.constructor||f.constructor===Array.prototype.constructor)){var m=f instanceof Array;y||(y=m?[]:{}),f=_extend(g,d,a+1,m?[]:{},y,f)}u[g]=f}}}}}else for(l=c,p=arguments.length;l<p;l++){var d;if((d=arguments[l])&&d instanceof Object){v=Object.keys(d);n||(v=v.concat(Object.getOwnPropertySymbols(d)));for(h=0,b=v.length;h<b;h++){var g;if("__proto__"!==(g=v[h])&&"constructor"!==g&&"prototype"!==g&&(!0===i||!u.hasOwnProperty(g))){if(f=d[g],e){y=u[g];if(!1===e(g,f,d,y,u,a,o,s))continue}u[g]=f}}}}if(u._audit){var O=u._audit.base;O.modified=r.now(),O.updateCount++}return u}if(0!==arguments.length){if(1===arguments.length)return arguments[0];var e,t=!1,n=!1,i=!0,o=0,s=arguments[0];"boolean"==typeof s?(t=s,o++):"number"==typeof s&&(t=s&extend.DEEP,n=s&extend.NO_SYMBOLS,i=!(s&extend.NO_OVERWRITE),o++,e=s&extend.FILTER?arguments[o++]:void 0),(s=arguments[o++])||(s={});for(var a=[null,null,0,s],u=o,f=arguments.length;u<f;u++)a.push(arguments[u]);return _extend.apply(this,a)}}function toArray(e){return e instanceof Array?e:[e]}function arrayUnion(...e){for(var t=new Map,n=0,r=e.length;n<r;n++){var i=e[n];if(i instanceof Array)for(var o=0,s=i.length;o<s;o++){var a=i[o];t.set(a,a)}else t.set(i,i)}return Array.from(t.values())}!function extend_const(e){e.DEEP=1,e.NO_OVERWRITE=2,e.FILTER=4,e.NO_SYMBOLS=8}(extend),e.exports={arrayFlatten:function arrayFlatten(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];Array.isArray(r)?t=t.concat(arrayFlatten(r)):t.push(r)}return t},arraySubtract:function arraySubtract(...e){for(var t=new Map,n=0,r=e.length;n<r;n++){var i=e[n];if(i instanceof Array)for(var o=0,s=i.length;o<s;o++){var a=i[o];0===n?t.set(a,a):t.delete(a)}else 0===n?t.set(i,i):t.delete(i)}return Array.from(t.values())},arrayUnion,coerceValue:function coerceValue(e,t,n){var r=e,i=t?t.toLowerCase():t,o=arguments.length>2;const parseBoolean=(e,t)=>{if(null==e)return!!t&&void 0;var n=typeof e;if("boolean"===n||e instanceof Boolean)return"function"==typeof e.valueOf?e.valueOf():e;if(!t&&("number"===n||"bigint"===n||e instanceof Number)){if("bigint"===n)return!!e;if(!isFinite(e)){if(t)return;return!isNaN(e)}return!!e}if(!("string"===n||e instanceof String))return t?void 0:!!e;if(!t){var r=parseNumber(e,!0);if("number"==typeof r)return!!r}return!!(""+e).match(/^['"]*true['"]*$/i)||!(""+e).match(/^['"]*false['"]*$/i)&&void 0},parseNumber=(e,t)=>{if(null!=e){var n=typeof e;if("bigint"===n)return parseFloat(e);if("number"===n||e instanceof Number){var r=e instanceof Number?e.valueOf():e;return isFinite(r)?r:t?void 0:0}if(!t&&("boolean"===n||e instanceof Boolean))return e?1:0;if(("string"===n||e instanceof String)&&(!t||!e.match(/[^\d.e-]/))){var i=e.split(/[^\d.e-]+/g).map((e=>e.replace(/[^\d.e-]+/g,""))).filter(Boolean)[0];if(i){r=parseFloat(i);if(isFinite(r))return r}}}},parseString=(e,t)=>{if(null!=e){var n=typeof e;return"number"===n||e instanceof Number?isFinite(e)?""+e:void 0:"boolean"===n||e instanceof Boolean||"bigint"===n?""+e:"string"===n||e instanceof String?(""+e).replace(/^(['"])(.*)\1$/,"$2"):t?e:void 0}};var s,a;return i?"integer"===i||"int"===i||"number"===i||"bigint"===i?("integer"===i||"int"===i?s=Math.round:"bigint"===i&&(s=e=>BigInt(Math.round(e))),null==(a=parseNumber(r))?o?n:0:s?s(a):a):"bool"===i||"boolean"===i?null==(a=parseBoolean(r))&&o?n:a:null==(a=parseString(r))?o?n:"":a:null==r?o?n:r:"boolean"==typeof(a=parseBoolean(r,!0))||"number"==typeof(a=parseNumber(r,!0))?a:"string"==typeof r||r instanceof String?null==(a=parseString(r,!0))?o?n:"":a:r},extend,pluck:function pluck(e){for(var t=[],n=e instanceof Array,i=1,o=arguments.length;i<o;i++){var s=arguments[i];if(s)for(var a=Object.keys(s),u=0,f=a.length;u<f;u++){var c,l=s[u];if(n){c=new Array(e.length);for(var p=0,v=e.length;p<v;p++){var h=e[p];c[p]=r.get(l,h)}}else c=r.get(l,e);t.push(c)}}return t},propsDiffer:function propsDiffer(e,t,n,r=!1){if(e===t)return!1;if(typeof e!=typeof t)return!0;if(null==e||null==t)return e!==t;if("string"==typeof e||e instanceof String||"number"==typeof e||e instanceof Number||"boolean"==typeof e||e instanceof Boolean||"bigint"==typeof e||e instanceof BigInt)return e.valueOf()!==t.valueOf();var i;if(n instanceof Array)i=n;else{var o=Object.keys(e),s=Object.keys(t);if(r&&(o=o.concat(Object.getOwnPropertySymbols(e)),s=s.concat(Object.getOwnPropertySymbols(t))),o.length!==s.length)return!0;i=arrayUnion(o,s)}for(var a=0,u=i.length;a<u;a++){var f=i[a];if(e[f]!==t[f])return!0}return!1},subtractFromArray:function subtractFromArray(e,t){if(arguments.length<2)return e.slice();var n=toArray(t);return e.filter((e=>!(n.indexOf(e)>=0)))},toArray,toLookup:function toLookup(e,t){if(!t)return{};for(var n={},i=Object.keys(t),o=0,s=i.length;o<s;o++){var a=t[i[o]],u=r.get(a,e);null!=u&&(n[""+u]=a)}return n},uniq:function uniq(e){for(var t=new Map,n=0,r=e.length;n<r;n++){var i=e[n];t.set(i,!0)}return Array.from(t.keys())}}},309:(e,t,n)=>{const r=n(447),i=n(590),o=n(320),s=n(827);e.exports=Object.assign(e.exports,r,i,o,s)},590:e=>{e.exports={safeJSONStringify:function safeJSONStringify(e,t,n){var r=function safeCloneObj(e,t,n){var r=t;if(null==r)return r;var i=typeof r;if("string"===i||r instanceof String||"number"===i||r instanceof Number||"boolean"===i||r instanceof Boolean)return r.valueOf();if("bigint"===i)return r;var o=n||[],s=o.findIndex((e=>e.oldValue===r));if(s>=0)return`::@${s}@::`;"function"==typeof r.toJSON&&(r=r.toJSON.call(r,""));var a=Object.keys(r),u=r instanceof Array,f=u?new Array(r.length):{};s=o.length,o.push({referenced:!1,newValue:f,oldValue:r});for(var c=0,l=a.length;c<l;c++){e=a[c];var p=r[e];if(void 0===p){if(!u)continue;p=null}p&&"function"==typeof p.toJSON&&(p=p.toJSON(e)),null!==p&&(p=safeCloneObj(e,p,o)),f[e]=p}return{"::@id@::":s,value:f}}(null,e,[]);return JSON.stringify(r,t,n)},safeJSONParse:function safeJSONParse(e){if(void 0!==e&&""!==e){if("null"===e||null===e)return null;try{var t=JSON.parse(e);if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||t instanceof Array)return t;if(e.indexOf("::@id@::")<0)return t;var n={};return function buildRefs(e,t,n){if(!t)return t;if(!t.hasOwnProperty("::@id@::"))return t;var r=n||{},i=t["::@id@::"],o=t.value,s=Object.keys(o),a=o instanceof Array?new Array(o.length):{};r[i]=a;for(var u=0,f=s.length;u<f;u++)if(!(e=s[u]).match(/::@(id|\d+)@::/)){var c=buildRefs(e,o[e],r);a[e]=c}return a}(null,t,n),function unwindData(e,t,n){if(!t)return t;if("string"==typeof t){var r=t.match(/::@(\d)+@::/);return r?unwindData(e,n[r[1]],n):t}if(!t.hasOwnProperty("::@id@::"))return t;for(var i=t["::@id@::"],o=t.value,s=Object.keys(o),a=n[i],u=0,f=s.length;u<f;u++)if(!(e=s[u]).match(/::@(id|\d+)@::/)){var c=unwindData(e,o[e],n);a[e]=c}return a}(null,t,n)}catch(e){return}}}}},827:e=>{e.exports={lerp:function lerp(e,t,n){return(t-e)*n+e},clamp:function clamp(e,t,n){var r=t<n?t:n,i=n<t?t:n;return e<r?r:e>i?i:e},snapToGrid:function snapToGrid(e,t,n,r,i){var o=n,s=r||0,a=i||1e3;return o||(o=Math.round),"string"==typeof o&&"function"==typeof Math[o]&&(o=Math[o]),(o(t*a*o((s+e)*a/(t*a)))-s*a)/a}}},447:function(e){const t="undefined"!=typeof performance&&performance.now?performance.now.bind(performance):"undefined"!=typeof process&&process.hrtime?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof preciseTime?preciseTime:"function"==typeof Date.now?Date.now.bind(Date):function(){return(new Date).getTime()/1e3};function initAudit(e){if(!e||Object.isExtensible(e)&&!Object.isFrozen(e)){var n=t();Object.defineProperty(e,"_audit",{writable:!0,enumerable:!1,configurable:!0,value:{base:{created:n,modified:n,updateCount:0},_meta:{created:n,modified:n,updateCount:0}}})}}function prop(e,n,r){var i,o,s,a,u,f=n,c=1,l=2,p=4,v=!1,h="g"===(i=e.charAt(0))?c:"s"===i?l:p,b=[];switch(e){case"getMetaNS":case"setMetaNS":case"removeMetaNS":o=3,s=4,a=f.hasOwnProperty("_meta")&&f._meta.hasOwnProperty(r)?f._meta[r]:initMeta(f,r),b=["_meta",r];break;case"getMeta":case"setMeta":case"removeMeta":v=!0,o=2,s=3,a=f.hasOwnProperty("_meta")?f._meta:initMeta(f),b=["_meta"];break;default:o=2,s=3,a=f}if(!a||!(a instanceof Object)||"string"==typeof a||"number"==typeof a||"boolean"==typeof a||a instanceof String||a instanceof Number||a instanceof Boolean){if(h&(c|p))return arguments[s];throw new Error("Attempt to set on and empty context")}var y,m=""+arguments[o],d=[];if(!m){if(h&l)return"";if(h&p)return;return arguments[s]}if(m.indexOf(".")>-1||m.indexOf("[")>-1)for(var g=0,O=1,E=(d=m.indexOf("\\")>-1?m.replace(/([^\\])\[/g,"$1.[").replace(/([^\\])\./g,"$1..").replace(/\\([.\[])/g,"$1").split(".."):m.replace(/\[/g,".[").split(".")).length;g<E;g++,O++){var _=d[g],w=O>=E,S="["===_.charAt(0);if(S&&(_=_.substring(1,_.length-1)),a&&!a.hasOwnProperty(_)&&a.hasOwnProperty(Symbol.for(_))&&(_=Symbol.for(_)),u=a[_],h&p&&w)return!a||Object.isExtensible(a)&&!Object.isFrozen(a)?(!0===arguments[s]?delete a[_]:a[_]=void 0,u):u;if(h&l){if(w||null==u||!w&&(!(u instanceof Object)||u instanceof Number||u instanceof String||u instanceof Boolean)?(y=!w&&"["===d[O].charAt(0),u=w?arguments[s]:y?[]:{},a instanceof Array&&!_?(S=!0,a&&Object.isExtensible(a)&&!Object.isFrozen(a)&&(_=""+(a.push(u)-1),a=u)):_&&(a&&Object.isExtensible(a)&&!Object.isFrozen(a)&&(a[_]=u),a=u)):a=u,_){if("symbol"==typeof _){var j=_.toString();_=j.substring(7,j.length-1)}b.push(S?"["+_+"]":_)}}else{if(null==u||("number"==typeof u||u instanceof Number)&&(isNaN(u)||!isFinite(u)))return s>=arguments.length?u:arguments[s];a=u}}else{if(a&&!a.hasOwnProperty(m)&&a.hasOwnProperty(Symbol.for(m))&&(m=Symbol.for(m)),h&p)return!a||Object.isExtensible(a)&&!Object.isFrozen(a)?(u=a[m],!0===arguments[s]?delete a[m]:a[m]=void 0,u):u;if(h&l)return a&&Object.isExtensible(a)&&!Object.isFrozen(a)&&(a[m]=arguments[s]),m;u=a[m]}if(h&c)return null==u||("number"==typeof u||u instanceof Number)&&(isNaN(u)||!isFinite(u))?s>=arguments.length?u:arguments[s]:u;f.hasOwnProperty("_audit")||initAudit(f);var L=t();if(v&&f._audit){var x=f._audit.meta;x.modified=L,x.updateCount++}else if(f._audit){var A=f._audit.base;A.modified=L,A.updateCount++}return h&l?b.join(".").replace(/\.\[/g,"["):u}function instanceOf(e){function testType(e,t){var n=t,r=typeof e;return n===String?n="string":n===Number?n="number":n===Boolean?n="boolean":n===Function?n="function":n===Array?n="array":n===Object?n="object":n===Promise?n="promise":n===BigInt&&(n="bigint"),"object"===n&&(e.constructor===Object.prototype.constructor||"Object"===e.constructor.name)||(!("promise"!==n&&"deferred"!==n||!function isDeferredType(e){return e instanceof Promise||"function"==typeof e.then}(e))||("object"!==n&&n===r||!("number"===n&&("number"==typeof e||e instanceof Number)&&!isFinite(e))&&("number"===n&&e instanceof Number||("string"===n&&e instanceof String||("boolean"===n&&e instanceof Boolean||("function"===n&&"function"===r||("array"===n&&e instanceof Array||"function"==typeof n&&e instanceof n)))))))}if(null==e)return!1;for(var t=1,n=arguments.length;t<n;t++)if(!0===testType(e,arguments[t]))return!0;return!1}function sizeOf(e){return null==e?0:("number"==typeof e.length||e.length instanceof Number)&&isFinite(e.length)?e.length:e.constructor===Object.prototype.constructor||"Object"===e.constructor.name?Object.keys(e).length+Object.getOwnPropertySymbols(e).length:0}function isEmpty(){for(var e=0,t=arguments.length;e<t;e++){var n=arguments[e];if(null==n)return!0;if(n!==1/0){if(instanceOf(n,"string"))return!n.match(/\S/);if(!(instanceOf(n,"number")&&isFinite(n)||instanceOf(n,"boolean","bigint","function")||0!=sizeOf(n)))return!0}}return!1}function lastValue(e,t){if(!e||!e.length)return t;var n=e[e.length-1];return null==n&&arguments.length>1?t:n}function capitalize(e,t){var n=e;return isEmpty(n)?n:(""+n).replace(t?/(^|\s)(\S)/gi:/^(\s*)(\S)/i,(function(e,t,n){return t+n.toLocaleUpperCase()}))}function uncapitalize(e){var t=e;return isEmpty(t)?t:t.replace(/^./,(e=>e.toLocaleLowerCase()))}const n=prop.bind(this,"get"),r=prop.bind(this,"set"),i=prop.bind(this,"remove"),o=prop.bind(this,"getMeta"),s=prop.bind(this,"setMeta"),a=prop.bind(this,"removeMeta"),u=prop.bind(this,"getMetaNS"),f=prop.bind(this,"setMetaNS"),c=prop.bind(this,"removeMetaNS");e.exports={camelCaseToSnakeCase:function camelCaseToSnakeCase(e){if(!e)return e;for(var t=e.replace(/([A-Z])/g,"@@@$1@@@").split("@@@").filter(Boolean),n=[],r=0,i=t.length;r<i;){var o=t[r],s=t[r+1],a=lastValue(n,"");if(o.match(/^[A-Z]/)){if(s&&s.match(/^[^A-Z]/)){n.push(o+s),r+=2;continue}a.match(/^[^A-Z]/)?n.push(o):(n.length||n.push(""),n[n.length-1]=a+o)}else n.push(o);r++}return n.join("_").toLowerCase()},capitalize,createResolvable:function createResolvable(){var e,t,n="pending",r=new Promise(((n,r)=>{e=n,t=r}));return r.resolve=t=>(n="resolved",e(t)),r.reject=e=>(n="rejected",t(e)),r.status=()=>n,r},firstValue:function firstValue(e,t){if(!e||!e.length)return t;var n=e[0];return null==n&&arguments.length>1?t:n},instanceOf,isEmpty,isNotEmpty:function isNotEmpty(){return!isEmpty.apply(this,arguments)},lastValue,now:t,regexpEscape:function regexpEscape(e){return e?e.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g,"\\$&"):e},sizeOf,sleep:function sleep(e){return new Promise((t=>{setTimeout(t,e||0)}))},snakeCaseToCamelCase:function snakeCaseToCamelCase(e,t){var n=e;return n?(n=n.replace(/_(.)/g,((e,t)=>t.toLocaleUpperCase())).replace(/_+$/g,""),null!=t&&(n=t?capitalize(n):uncapitalize(n)),n):n},splitBy:function splitBy(e,t,n){var r=t;if(!r)return[e];r instanceof Array||(r=[r]);var i=!1;const cloneRegExp=e=>{var t;return e=e.toString().substring(1).replace(/\/(\w*)$/,((e,n)=>(t=(t||"").replace(/g/gi,""),""))),new RegExp(e,t+"g")},matchPattern=(e,t,n)=>{var r;if(t instanceof RegExp){if(t.lastIndex=n,!(r=t.exec(e)))return;return{match:r[0],offset:t.lastIndex-r[0].length}}var i=e.indexOf(t,n);if(!(i<0))return{match:e.substring(i,i+t.length),offset:i}},findNextMatch=(e,t)=>{for(var n=0,i=r.length;n<i;n++){var o=r[n],s=o.pattern,a=o.condition,u=matchPattern(e,s,t);if(("function"!=typeof a||a({parts:c,pattern:o,chunk:u}))&&u)return{match:u,pattern:o}}};r=(e=>{for(var t=[],n=0,r=e.length;n<r;n++){var o=e[n];if(o){var s=null,a=null,u=null;o.constructor===Object.prototype.constructor&&o.pattern&&(o.name?(i=!0,s=""+o.name):s=""+n,u=o.condition,a=o.process,o=o.pattern),s||(s=""+n),o instanceof RegExp?o=cloneRegExp(o):("string"==typeof o||o instanceof String)&&(o=""+o),o&&t.push({name:s,pattern:o,index:n,process:a,condition:u})}}return t})(r);for(var o,s,a,u,f,c=[],l=0;o=findNextMatch(e,l);)if(u=(s=o.match).offset,a=s.match,f=o.pattern,a.length){l<u&&(v=e.substring(l,u),c.push({source:e,part:v,processed:v,start:l,end:u,name:"_chunk"}));var p={source:e,part:a,start:l,end:u,name:f.name};c.push(p),p.processed="function"==typeof f.process?f.process(a,p):a,l=u+a.length}else l++;if(l<e.length){var v=e.substring(l);c.push({source:e,part:v,processed:v,start:l,end:e.length,name:"_tail"})}return!0!==n&&t instanceof Array?(i&&(c=c.reduce(((e,t)=>{var n=t.name;return e.hasOwnProperty(n)?e[n]instanceof Array?e[n].push(t.processed):e[n]=[e[n],t.processed]:e[n]=t.processed,e}),{})),c):c.map((e=>e.part))},uncapitalize,get:n,set:r,remove:i,getMeta:o,setMeta:s,removeMeta:a,getMetaNS:u,setMetaNS:f,removeMetaNS:c}},941:(e,t,n)=>{const r=n(309),i=n(187),o=Symbol.for("__seqdaQueueChangeEvent"),s=Symbol.for("__seqdaQueueChangeInfo"),a=Symbol.for("__seqdaInternalState"),u=Symbol.for("__seqdaUnboundMethod"),f=Symbol.for("__seqdaDisallowWrite");function cloneStore(e,t){const cloneScope=(e,t)=>{let n=Object.keys(e),r=t?{}:new i,o=t||r;t||o.setMaxListeners(1/0);for(let t=0,i=n.length;t<i;t++){let i=n[t];if("_events"===i||"_eventsCount"===i||"_maxListeners"===i)continue;let s=e[i];r[i]="function"==typeof s?storeUnboundMethod(s[u].bind(o),s[u]):cloneScope(s,o)}return r};let n=cloneScope(e),r=Object.assign({},e[a]);return Object.defineProperties(n,{[a]:{writable:!0!==t,enumberable:!1,configurable:!1,value:!0!==t?r:Object.freeze(r)}}),initializeStore(n,t)}function queueChangeEvent(e){let t=this[s];t.promise||(t.promise=Promise.resolve(),t.promise.then((()=>{let e=Array.from(Object.keys(t.eventQueue)),n=t.previousStore;t.eventQueue={},t.promise=null,t.previousStore=cloneStore(this,!0),this.emit("update",{store:this,previousStore:n,modified:e})}))),t.eventQueue||(t.eventQueue={}),t.eventQueue[e]=!0}function copyKeysToArray(e,t){let n=e;if(Array.isArray(n)&&t){let e=Object.keys(t);for(let r=0,i=e.length;r<i;r++){let i=e[r];/^\d+$/.test(i)||(n[i]=t[i])}}return n}function clone(e){return e&&e&&"object"==typeof e?Array.isArray(e)?copyKeysToArray(e.slice(),e):Object.assign({},e):e}function getPath(...e){return e.filter(Boolean).join(".")}function storeUnboundMethod(e,t){return Object.defineProperty(e,u,{writable:!1,enumerable:!1,configurable:!1,value:t}),e}function createStoreSubsection(e,t,n){function isCacheInvalid(e,t){if(this[f])return!0;let n=c[e];if(!n)return!0;let r=n.args;if(r.length!==t.length)return!0;for(let e=0,n=t.length;e<n;e++)if(r[e]!==t[e])return!0;return!1}function setCache(e,t,n){this[f]||(c[e]={args:t,result:n})}const createScopeMethod=(e,t)=>{let method=function(...n){if(isCacheInvalid.call(this,e,n)){let r=t({get:getState.bind(this),set:setState.bind(this),store:this},...n);return setCache.call(this,e,n,r),r}return c[e].result};return storeUnboundMethod(method.bind(this),method)};function getState(){return!0===e.emitOnFetch&&this.emit("fetchScope",{store:this,scopeName:n}),r.get(this[a],n)}function setState(e){if(this[f])return;let t=r.get(this[a],n);if(e&&"object"==typeof e&&e===t)throw new Error(`Error: "${getPath(n)}" the state value is the same, but it is required to be different.`);if(!r.propsDiffer(e,t))return;let i=t;return this[a]=function setPath(e,t,n){let r=clone(e),i=t.split("."),o=r;for(let e=0,t=i.length;e<t;e++){let r=i[e];if(e+1>=t){let e;e=Array.isArray(n)?copyKeysToArray(n,o[r]):n,e&&"object"==typeof e&&Object.freeze(e),o[r]=e}else o[r]=clone(o[r]);o&&"object"==typeof o&&Object.freeze(o),o=o[r]}return r}(this[a],n,e),c={},this[o]&&this[o](n,e,i),e}if(n&&!Object.prototype.hasOwnProperty.call(t,"_"))throw new Error(`Error: "${getPath}._" default value must be defined.`);const i=n?{}:this;let s=Object.keys(t||{}),u=[],c={};n&&setState.call(this,clone(t._));for(let o=0,a=s.length;o<a;o++){let a=s[o];if("_"===a)continue;let f=t[a];if(r.instanceOf(f,"object"))i[a]=createStoreSubsection.call(this,e,f,getPath(n,a)),u.push(a);else{if("function"!=typeof f)throw new TypeError(`Error: Value of "${getPath(n,a)}" is invalid. All properties must be functions, or sub scopes.`);i[a]=createScopeMethod(a,f)}}return n?Object.freeze(i):this}function initializeStore(e,t){return Object.defineProperties(e,{getState:{writable:!1,enumberable:!1,configurable:!1,value:()=>e[a]}}),!0!==t?Object.defineProperties(e,{hydrate:{writable:!1,enumberable:!1,configurable:!1,value:t=>{e[a]=Object.freeze(clone(t)),queueChangeEvent.call(e,"*")}},[o]:{writable:!1,enumberable:!1,configurable:!1,value:queueChangeEvent.bind(e)},[s]:{writable:!0,enumberable:!1,configurable:!1,value:{previousStore:cloneStore(e,!0)}}}):Object.defineProperties(e,{[f]:{writable:!1,enumberable:!1,configurable:!1,value:!0}}),e}e.exports={cloneStore,createStore:function createStore(e,t){if(!r.instanceOf(e,"object"))throw new TypeError('createStore: provided "template" must be an object.');const n=t||{},o=new i;return o.setMaxListeners(1/0),Object.defineProperty(o,a,{writable:!0,enumerable:!1,configurable:!1,value:{}}),initializeStore(createStoreSubsection.call(o,n,e))}}}},t={};(function __webpack_require__(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,__webpack_require__),i.exports})(941);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack://seqda/./node_modules/events/events.js","webpack://seqda/./node_modules/nife/src/data-utils.js","webpack://seqda/./node_modules/nife/src/index.js","webpack://seqda/./node_modules/nife/src/json-utils.js","webpack://seqda/./node_modules/nife/src/math-utils.js","webpack://seqda/./node_modules/nife/src/utils.js","webpack://seqda/./src/index.js","webpack://seqda/webpack/bootstrap","webpack://seqda/webpack/startup"],"sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","const Utils = require('./utils');\n\nfunction extend() {\n function _extend(parentKey, parentObj, depth, dst) {\n var startIndex = 4;\n var val;\n\n if (isDeep) {\n for (var i = startIndex, len = arguments.length; i < len; i++) {\n var thisArg = arguments[i];\n if (!thisArg)\n continue;\n\n if (!(thisArg instanceof Object))\n continue;\n\n var keys = Object.keys(thisArg);\n if (!noSymbols)\n keys = keys.concat(Object.getOwnPropertySymbols(thisArg));\n\n for (var j = 0, jLen = keys.length; j < jLen; j++) {\n var key = keys[j];\n if (key === '__proto__' || key === 'constructor' || key === 'prototype')\n continue;\n\n if (allowOverwrite !== true && dst.hasOwnProperty(key))\n continue;\n\n val = thisArg[key];\n var dstVal = dst[key];\n\n if (filterFunc && filterFunc(key, val, thisArg, dstVal, dst, depth, parentKey, parentObj) === false)\n continue;\n\n if (val && typeof val === 'object' && !(val instanceof String) && !(val instanceof Number) &&\n (val.constructor === Object.prototype.constructor || val.constructor === Array.prototype.constructor)) {\n var isArray = (val instanceof Array);\n\n if (!dstVal)\n dstVal = (isArray) ? [] : {};\n\n val = _extend(key, thisArg, depth + 1, (isArray) ? [] : {}, dstVal, val);\n }\n\n dst[key] = val;\n }\n }\n } else {\n for (var i = startIndex, len = arguments.length; i < len; i++) {\n var thisArg = arguments[i];\n if (!thisArg)\n continue;\n\n if (!(thisArg instanceof Object))\n continue;\n\n var keys = Object.keys(thisArg);\n if (!noSymbols)\n keys = keys.concat(Object.getOwnPropertySymbols(thisArg));\n\n for (var j = 0, jLen = keys.length; j < jLen; j++) {\n var key = keys[j];\n if (key === '__proto__' || key === 'constructor' || key === 'prototype')\n continue;\n\n if (allowOverwrite !== true && dst.hasOwnProperty(key))\n continue;\n\n val = thisArg[key];\n if (filterFunc) {\n var dstVal = dst[key];\n if (filterFunc(key, val, thisArg, dstVal, dst, depth, parentKey, parentObj) === false)\n continue;\n }\n\n dst[key] = val;\n }\n }\n }\n\n if (dst._audit) {\n var b = dst._audit.base;\n b.modified = Utils.now();\n b.updateCount++;\n }\n\n return dst;\n };\n\n if (arguments.length === 0)\n return;\n\n if (arguments.length === 1)\n return arguments[0];\n\n var isDeep = false;\n var noSymbols = false;\n var allowOverwrite = true;\n var startIndex = 0;\n var dst = arguments[0];\n var filterFunc;\n\n if (typeof dst === 'boolean') {\n isDeep = dst;\n startIndex++;\n } else if (typeof dst === 'number') {\n isDeep = (dst & extend.DEEP);\n noSymbols = (dst & extend.NO_SYMBOLS);\n allowOverwrite = !(dst & extend.NO_OVERWRITE);\n startIndex++;\n filterFunc = (dst & extend.FILTER) ? arguments[startIndex++] : undefined;\n }\n\n //Destination object\n dst = arguments[startIndex++];\n if (!dst)\n dst = {};\n\n var args = [ null, null, 0, dst ];\n for (var i = startIndex, il = arguments.length; i < il; i++)\n args.push(arguments[i]);\n\n return _extend.apply(this, args);\n}\n\n(function extend_const(base) {\n base.DEEP = 0x01;\n base.NO_OVERWRITE = 0x02;\n base.FILTER = 0x04;\n base.NO_SYMBOLS = 0x08;\n})(extend);\n\nfunction pluck(keys) {\n var thisArray = [];\n var isMultiple = (keys instanceof Array);\n\n for (var i = 1, len = arguments.length; i < len; i++) {\n var bucket = arguments[i];\n if (!bucket)\n continue;\n\n var indexNames = Object.keys(bucket);\n for (var k = 0, kl = indexNames.length; k < kl; k++) {\n var item = bucket[k];\n var value;\n\n if (isMultiple) {\n value = new Array(keys.length);\n\n for (var j = 0, jl = keys.length; j < jl; j++) {\n var key = keys[j];\n value[j] = Utils.get(item, key);\n }\n } else {\n value = Utils.get(item, keys);\n }\n\n thisArray.push(value);\n }\n }\n\n return thisArray;\n}\n\nfunction toLookup(pluckKey, data) {\n if (!data)\n return {};\n\n var obj = {};\n var keys = Object.keys(data);\n\n for (var i = 0, il = keys.length; i < il; i++) {\n var key = keys[i];\n var value = data[key];\n var id = Utils.get(value, pluckKey);\n\n if (id == null)\n continue;\n\n obj[('' + id)] = value;\n }\n\n return obj;\n}\n\nfunction propsDiffer(props1, props2, _keys, symbols = false) {\n if (props1 === props2)\n return false;\n\n if (typeof props1 !== typeof props2)\n return true;\n\n if (props1 == null || props2 == null)\n return (props1 !== props2);\n\n if (\n typeof props1 === 'string' || props1 instanceof String ||\n typeof props1 === 'number' || props1 instanceof Number ||\n typeof props1 === 'boolean' || props1 instanceof Boolean ||\n typeof props1 === 'bigint' || props1 instanceof BigInt\n ) {\n return (props1.valueOf() !== props2.valueOf());\n }\n\n var allKeys;\n\n if (_keys instanceof Array) {\n allKeys = _keys;\n } else {\n var keys1 = Object.keys(props1);\n var keys2 = Object.keys(props2);\n\n if (symbols) {\n keys1 = keys1.concat(Object.getOwnPropertySymbols(props1));\n keys2 = keys2.concat(Object.getOwnPropertySymbols(props2));\n }\n\n if (keys1.length !== keys2.length)\n return true;\n\n allKeys = arrayUnion(keys1, keys2);\n }\n\n for (var i = 0, il = allKeys.length; i < il; i++) {\n var key = allKeys[i];\n var value1 = props1[key];\n var value2 = props2[key];\n\n if (value1 !== value2)\n return true;\n }\n\n return false;\n}\n\nfunction uniq(items) {\n var finalItems = new Map();\n\n for (var i = 0, il = items.length; i < il; i++) {\n var item = items[i];\n finalItems.set(item, true);\n }\n\n return Array.from(finalItems.keys());\n}\n\nfunction coerceValue(_value, _type, defaultValue) {\n var value = _value;\n var type = (_type) ? _type.toLowerCase() : _type;\n var hasDefaultValue = (arguments.length > 2);\n\n const parseBoolean = (value, strict) => {\n if (value == null)\n return (strict) ? undefined : false;\n\n var typeOf = typeof value;\n\n if (typeOf === 'boolean' || value instanceof Boolean)\n return (typeof value.valueOf === 'function') ? value.valueOf() : value;\n\n if (!strict && (typeOf === 'number' || typeOf === 'bigint' || value instanceof Number)) {\n if (typeOf === 'bigint')\n return !!value;\n\n if (!isFinite(value)) {\n if (strict)\n return;\n\n if (isNaN(value))\n return false;\n\n return true;\n }\n\n return !!value;\n }\n\n if (!(typeOf === 'string' || value instanceof String))\n return (strict) ? undefined : !!value;\n\n if (!strict) {\n var number = parseNumber(value, true);\n if (typeof number === 'number')\n return !!number;\n }\n\n if (('' + value).match(/^['\"]*true['\"]*$/i))\n return true;\n\n if (('' + value).match(/^['\"]*false['\"]*$/i))\n return false;\n };\n\n const parseNumber = (value, strict) => {\n if (value == null)\n return;\n\n var typeOf = typeof value;\n\n if (typeOf === 'bigint')\n return parseFloat(value);\n\n if (typeOf === 'number' || value instanceof Number) {\n var val = (value instanceof Number) ? value.valueOf() : value;\n if (!isFinite(val))\n return (strict) ? undefined : 0;\n\n return val;\n }\n\n if (!strict && (typeOf === 'boolean' || value instanceof Boolean))\n return (value) ? 1 : 0;\n\n if (!(typeOf === 'string' || value instanceof String))\n return;\n\n if (strict && value.match(/[^\\d.e-]/))\n return;\n\n var parts = value.split(/[^\\d.e-]+/g).map((part) => part.replace(/[^\\d.e-]+/g, '')).filter(Boolean);\n var firstPart = parts[0];\n if (!firstPart)\n return;\n\n var val = parseFloat(firstPart);\n if (!isFinite(val))\n return;\n\n return val;\n };\n\n const parseString = (value, strict) => {\n if (value == null)\n return;\n\n var typeOf = typeof value;\n\n if (typeOf === 'number' || value instanceof Number)\n return (isFinite(value)) ? ('' + value) : undefined;\n\n if ((typeOf === 'boolean' || value instanceof Boolean) || typeOf === 'bigint')\n return ('' + value);\n\n if (!(typeOf === 'string' || value instanceof String))\n return (strict) ? value : undefined;\n\n return ('' + value).replace(/^(['\"])(.*)\\1$/, '$2');\n };\n\n if (!type) {\n if (value == null)\n return (hasDefaultValue) ? defaultValue : value;\n\n var val = parseBoolean(value, true);\n if (typeof val === 'boolean')\n return val;\n\n val = parseNumber(value, true);\n if (typeof val === 'number')\n return val;\n\n if (!(typeof value === 'string' || value instanceof String))\n return value;\n\n val = parseString(value, true);\n if (val == null)\n return (hasDefaultValue) ? defaultValue : '';\n\n return val;\n } else {\n if (type === 'integer' || type === 'int' || type === 'number' || type === 'bigint') {\n var coercer;\n if (type === 'integer' || type === 'int')\n coercer = Math.round;\n else if (type === 'bigint')\n coercer = (val) => BigInt(Math.round(val));\n\n var val = parseNumber(value);\n if (val == null)\n return (hasDefaultValue) ? defaultValue : 0;\n\n return (coercer) ? coercer(val) : val;\n } else if (type === 'bool' || type === 'boolean') {\n val = parseBoolean(value);\n if (val == null)\n return (hasDefaultValue) ? defaultValue : val;\n\n return val;\n } else {\n val = parseString(value);\n if (val == null)\n return (hasDefaultValue) ? defaultValue : '';\n\n return val;\n }\n }\n}\n\nfunction toArray(item) {\n if (item instanceof Array)\n return item;\n\n return [ item ];\n}\n\nfunction subtractFromArray(sourceArray, _itemsToSubtract) {\n if (arguments.length < 2)\n return sourceArray.slice();\n\n var itemsToSubtract = toArray(_itemsToSubtract);\n return sourceArray.filter((item) => {\n if (itemsToSubtract.indexOf(item) >= 0)\n return false;\n\n return true;\n });\n}\n\nfunction arrayUnion(...args) {\n var map = new Map();\n for (var i = 0, il = args.length; i < il; i++) {\n var arg = args[i];\n\n if (arg instanceof Array) {\n for (var j = 0, jl = arg.length; j < jl; j++) {\n var item = arg[j];\n map.set(item, item);\n }\n } else {\n map.set(arg, arg);\n }\n }\n\n return Array.from(map.values());\n}\n\nfunction arraySubtract(...args) {\n var map = new Map();\n for (var i = 0, il = args.length; i < il; i++) {\n var arg = args[i];\n\n if (arg instanceof Array) {\n for (var j = 0, jl = arg.length; j < jl; j++) {\n var item = arg[j];\n\n if (i === 0)\n map.set(item, item);\n else\n map.delete(item);\n }\n } else {\n if (i === 0)\n map.set(arg, arg);\n else\n map.delete(arg);\n }\n }\n\n return Array.from(map.values());\n}\n\nfunction arrayFlatten(array) {\n let finalArray = [];\n\n for (let i = 0, il = array.length; i < il; i++) {\n let item = array[i];\n\n if (Array.isArray(item))\n finalArray = finalArray.concat(arrayFlatten(item));\n else\n finalArray.push(item);\n }\n\n return finalArray;\n}\n\nmodule.exports = {\n arrayFlatten,\n arraySubtract,\n arrayUnion,\n coerceValue,\n extend,\n pluck,\n propsDiffer,\n subtractFromArray,\n toArray,\n toLookup,\n uniq,\n};\n","const Utils = require('./utils');\nconst JSONUtils = require('./json-utils');\nconst DataUtils = require('./data-utils');\nconst MathUtils = require('./math-utils');\n\nmodule.exports = Object.assign(\n module.exports,\n Utils,\n JSONUtils,\n DataUtils,\n MathUtils,\n);\n","// Safely serialize possibly cyclic JSON\nfunction safeJSONStringify(obj, formatter, space) {\n function safeCloneObj(key, _value, _alreadyVisited) {\n var value = _value;\n if (value == null)\n return value;\n\n var typeOf = typeof value;\n\n if (\n typeOf === 'string' || value instanceof String ||\n typeOf === 'number' || value instanceof Number ||\n typeOf === 'boolean' || value instanceof Boolean\n ) {\n return value.valueOf();\n }\n\n if (typeOf === 'bigint')\n return value;\n\n var alreadyVisited = _alreadyVisited || [];\n var index = alreadyVisited.findIndex((obj) => (obj.oldValue === value));\n\n // Has this value already been stored (cyclic)?\n if (index >= 0)\n return `::@${index}@::`;\n\n if (typeof value.toJSON === 'function')\n value = value.toJSON.call(value, '');\n\n var keys = Object.keys(value);\n var isArray = (value instanceof Array);\n var valueCopy = (isArray) ? new Array(value.length) : {};\n\n index = alreadyVisited.length;\n alreadyVisited.push({\n referenced: false,\n newValue: valueCopy,\n oldValue: value\n });\n\n for (var i = 0, il = keys.length; i < il; i++) {\n var key = keys[i];\n var thisValue = value[key];\n\n if (thisValue === undefined) {\n if (isArray)\n thisValue = null;\n else\n continue;\n }\n\n if (thisValue && typeof thisValue.toJSON === 'function')\n thisValue = thisValue.toJSON(key);\n\n if (thisValue !== null)\n thisValue = safeCloneObj(key, thisValue, alreadyVisited);\n\n valueCopy[key] = thisValue;\n }\n\n return {\n '::@id@::': index,\n value: valueCopy,\n };\n }\n\n var alreadyVisited = [],\n newObj = safeCloneObj(null, obj, alreadyVisited);\n\n return JSON.stringify(newObj, formatter, space);\n}\n\n// Safely parse possibly cyclic JSON\nfunction safeJSONParse(data) {\n // Build references to all objects... later to be used to rebuild cyclic object\n function buildRefs(key, obj, _refs) {\n if (!obj)\n return obj;\n\n if (!obj.hasOwnProperty('::@id@::'))\n return obj;\n\n var refs = _refs || {};\n var id = obj['::@id@::'];\n var value = obj.value;\n var keys = Object.keys(value);\n var newObj = (value instanceof Array) ? new Array(value.length) : {};\n\n refs[id] = newObj;\n for (var i = 0, il = keys.length; i < il; i++) {\n var key = keys[i];\n if (key.match(/::@(id|\\d+)@::/))\n continue;\n\n var thisValue = buildRefs(key, value[key], refs);\n newObj[key] = thisValue;\n }\n\n return newObj;\n }\n\n // Reconstruct cyclic object\n function unwindData(key, obj, refs) {\n if (!obj)\n return obj;\n\n if (typeof obj === 'string') {\n var p = obj.match(/::@(\\d)+@::/);\n if (!p)\n return obj;\n\n var index = p[1];\n return unwindData(key, refs[index], refs);\n }\n\n if (!obj.hasOwnProperty('::@id@::'))\n return obj;\n\n var id = obj['::@id@::'];\n var value = obj.value;\n var keys = Object.keys(value);\n var newObj = refs[id];\n\n for (var i = 0, il = keys.length; i < il; i++) {\n var key = keys[i];\n if (key.match(/::@(id|\\d+)@::/))\n continue;\n\n var thisValue = unwindData(key, value[key], refs);\n newObj[key] = thisValue;\n }\n\n return newObj;\n }\n\n // Safety checks\n if (data === undefined || data === '')\n return;\n\n if (data === \"null\" || data === null)\n return null;\n\n try {\n // Parse JSON\n var obj = JSON.parse(data);\n\n // If it is simple, just return the value\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || obj instanceof Array)\n return obj;\n\n if (data.indexOf('::@id@::') < 0)\n return obj;\n\n // Build object reference table\n var refs = {};\n buildRefs(null, obj, refs);\n\n // Reconstruct data\n return unwindData(null, obj, refs);\n } catch (e) {\n return;\n }\n}\n\nmodule.exports = {\n safeJSONStringify,\n safeJSONParse,\n};\n","function lerp(start, end, ratio) {\n var range = end - start;\n return (range * ratio) + start;\n}\n\nfunction clamp(value, _min, _max) {\n var min = (_min < _max) ? _min : _max;\n var max = (_max < _min) ? _min : _max;\n\n if (value < min)\n return min;\n\n if (value > max)\n return max;\n\n return value;\n}\n\nfunction snapToGrid(num, segmentSize, _func, _offset, _scalar) {\n var func = _func;\n var offset = _offset || 0;\n var scalar = _scalar || 1000;\n\n if (!func)\n func = Math.round;\n\n if (typeof func === 'string' && typeof Math[func] === 'function')\n func = Math[func];\n\n return (func((segmentSize * scalar) * func(((offset + num) * scalar) / (segmentSize * scalar))) - (offset * scalar)) / scalar;\n}\n\nmodule.exports = {\n lerp,\n clamp,\n snapToGrid,\n};\n","const now = (function() {\n\tif (typeof performance !== 'undefined' && performance.now)\n\t\treturn performance.now.bind(performance);\n\n if (typeof process !== 'undefined' && process.hrtime) {\n return function() {\n var hrTime = process.hrtime();\n return (hrTime[0] * 1000) + (hrTime[1] / 1000000);\n };\n } else if (typeof preciseTime !== 'undefined') {\n return preciseTime;\n } else if (typeof Date.now === 'function')\n return Date.now.bind(Date);\n\n return function() {\n return (new Date()).getTime() / 1000.0;\n };\n})();\n\nfunction initAudit(node) {\n if (node && (!Object.isExtensible(node) || Object.isFrozen(node)))\n return;\n\n var timeCreated = now();\n\n Object.defineProperty(node, '_audit', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: {\n 'base': { created: timeCreated, modified: timeCreated, updateCount: 0 },\n '_meta': { created: timeCreated, modified: timeCreated, updateCount: 0 },\n },\n });\n}\n\n//This function is deliberately large and confusing in order to squeeze\n//every ounce of speed out of it\nfunction prop(cmd, _node, namespace) {\n var node = _node,\n GET = 0x01,\n SET = 0x02,\n REMOVE = 0x04,\n c,\n isMeta = false,\n argStartIndex,\n argStartIndexOne,\n context,\n op = ((c = cmd.charAt(0)) === 'g') ? GET : (c === 's') ? SET : REMOVE,\n finalPath = [];\n\n switch(cmd) {\n case 'getMetaNS':\n case 'setMetaNS':\n case 'removeMetaNS':\n argStartIndex = 3;\n argStartIndexOne = 4;\n\n if (!node.hasOwnProperty('_meta') || !node._meta.hasOwnProperty(namespace))\n context = initMeta(node, namespace);\n else\n context = node._meta[namespace];\n\n finalPath = ['_meta', namespace];\n\n break;\n case 'getMeta':\n case 'setMeta':\n case 'removeMeta':\n isMeta = true;\n argStartIndex = 2;\n argStartIndexOne = 3;\n\n if (!node.hasOwnProperty('_meta'))\n context = initMeta(node);\n else\n context = node._meta;\n\n finalPath = ['_meta'];\n\n break;\n default:\n argStartIndex = 2;\n argStartIndexOne = 3;\n context = node;\n break;\n }\n\n //Do we need to return the default value?\n if (!context || !(context instanceof Object) || (\n typeof context === 'string' || typeof context === 'number' || typeof context === 'boolean' ||\n context instanceof String || context instanceof Number || context instanceof Boolean))\n {\n if (op & (GET | REMOVE))\n return arguments[argStartIndexOne];\n\n throw new Error('Attempt to set on and empty context');\n }\n\n var prop;\n var fullPath = '' + arguments[argStartIndex];\n var nextIsArray;\n var parts = [];\n\n //No path\n if (!fullPath) {\n if (op & SET)\n return '';\n\n if (op & REMOVE)\n return;\n\n return arguments[argStartIndexOne];\n }\n\n //Are there any parts to handle?\n if (fullPath.indexOf('.') > -1 || fullPath.indexOf('[') > -1) {\n if (fullPath.indexOf('\\\\') > -1)\n //If we have character escapes, take the long and slow route\n parts = fullPath.replace(/([^\\\\])\\[/g,'$1.[').replace(/([^\\\\])\\./g,'$1..').replace(/\\\\([.\\[])/g,'$1').split('..');\n else\n //Fast route\n parts = fullPath.replace(/\\[/g,'.[').split('.');\n\n for (var i = 0, i2 = 1, il = parts.length; i < il; i++, i2++) {\n var part = parts[i];\n var isLast = (i2 >= il);\n var isArrayIndex = (part.charAt(0) === '[');\n\n //Is this an array index\n if (isArrayIndex)\n part = part.substring(1, part.length - 1);\n\n if (context && !context.hasOwnProperty(part) && context.hasOwnProperty(Symbol.for(part)))\n part = Symbol.for(part);\n\n //Get prop\n prop = context[part];\n\n if (op & REMOVE && isLast) {\n //If this is the final part, and we are to remove the item...\n if (context && (!Object.isExtensible(context) || Object.isFrozen(context)))\n return prop;\n\n if (arguments[argStartIndexOne] === true)\n //ACTUALLY delete it if the user forces a delete\n delete context[part];\n else\n //Otherwise do it the performant way by setting the value to undefined\n context[part] = undefined;\n\n //Return whatever the value was\n return prop;\n } else if (op & SET) {\n //Are we setting the value?\n\n //If this is the last part, or the value isn't set,\n //or it is set but the path continues and it\n //needs to be overwritten\n if (isLast || (prop === undefined || prop === null || (!isLast && (!(prop instanceof Object) || prop instanceof Number || prop instanceof String || prop instanceof Boolean)))) {\n //If the next part is an array, make sure to create an array\n nextIsArray = (!isLast && parts[i2].charAt(0) === '[');\n\n //What is our new value?\n prop = (isLast) ? arguments[argStartIndexOne] : (nextIsArray) ? [] : {};\n\n //Update context accordingly\n if (context instanceof Array && !part) {\n isArrayIndex = true;\n if (context && Object.isExtensible(context) && !Object.isFrozen(context)) {\n part = '' + (context.push(prop) - 1);\n context = prop;\n }\n } else if (part) {\n if (context && Object.isExtensible(context) && !Object.isFrozen(context))\n context[part] = prop;\n context = prop;\n }\n } else {\n context = prop;\n }\n\n if (part) {\n if (typeof part === 'symbol') {\n var partStr = part.toString();\n part = partStr.substring(7, partStr.length - 1);\n }\n\n finalPath.push((isArrayIndex) ? ('[' + part + ']') : part);\n }\n } else {\n if (prop === undefined || prop === null || ((typeof prop === 'number' || prop instanceof Number) && (isNaN(prop) || !isFinite(prop))))\n return (argStartIndexOne >= arguments.length) ? prop : arguments[argStartIndexOne];\n context = prop;\n }\n }\n } else {\n if (context && !context.hasOwnProperty(fullPath) && context.hasOwnProperty(Symbol.for(fullPath)))\n fullPath = Symbol.for(fullPath);\n\n if (op & REMOVE) {\n if (context && (!Object.isExtensible(context) || Object.isFrozen(context)))\n return prop;\n\n prop = context[fullPath];\n\n if (arguments[argStartIndexOne] === true) {\n //ACTUALLY delete it if the user forces a delete\n delete context[fullPath];\n } else {\n //Otherwise do it the performant way by setting the value to undefined\n context[fullPath] = undefined;\n }\n\n //Return whatever the value was\n return prop;\n } else if (op & SET) {\n if (context && Object.isExtensible(context) && !Object.isFrozen(context))\n context[fullPath] = arguments[argStartIndexOne];\n\n return fullPath;\n }\n\n prop = context[fullPath];\n }\n\n if (op & GET) {\n //Do we need to return the default value?\n if (prop === undefined || prop === null || ((typeof prop === 'number' || prop instanceof Number) && (isNaN(prop) || !isFinite(prop))))\n return (argStartIndexOne >= arguments.length) ? prop : arguments[argStartIndexOne];\n return prop;\n }\n\n if (!node.hasOwnProperty('_audit'))\n initAudit(node);\n\n var lastUpdated = now();\n if (isMeta && node._audit) {\n var m = node._audit.meta;\n m.modified = lastUpdated;\n m.updateCount++;\n } else if (node._audit) {\n var b = node._audit.base;\n b.modified = lastUpdated;\n b.updateCount++;\n }\n\n return (op & SET) ? finalPath.join('.').replace(/\\.\\[/g, '[') : prop;\n}\n\nfunction instanceOf(obj) {\n function testType(obj, _val) {\n function isDeferredType(obj) {\n if (obj instanceof Promise)\n return true;\n\n if (typeof obj.then === 'function')\n return true;\n\n return false;\n }\n\n var val = _val,\n typeOf = (typeof obj);\n\n if (val === String)\n val = 'string';\n else if (val === Number)\n val = 'number';\n else if (val === Boolean)\n val = 'boolean';\n else if (val === Function)\n val = 'function';\n else if (val === Array)\n val = 'array';\n else if (val === Object)\n val = 'object';\n else if (val === Promise)\n val = 'promise';\n else if (val === BigInt)\n val = 'bigint';\n\n if (val === 'object' && (obj.constructor === Object.prototype.constructor || obj.constructor.name === 'Object'))\n return true;\n\n if ((val === 'promise' || val === 'deferred') && isDeferredType(obj))\n return true;\n\n if (val !== 'object' && val === typeOf)\n return true;\n\n if (val === 'number' && (typeof obj === 'number' || (obj instanceof Number)) && !isFinite(obj))\n return false;\n\n if (val === 'number' && obj instanceof Number)\n return true;\n\n if (val === 'string' && obj instanceof String)\n return true;\n\n if (val === 'boolean' && obj instanceof Boolean)\n return true;\n\n if (val === 'function' && typeOf === 'function')\n return true;\n\n if (val === 'array' && obj instanceof Array)\n return true;\n\n if (typeof val === 'function' && obj instanceof val)\n return true;\n\n return false;\n }\n\n if (obj == null)\n return false;\n\n for (var i = 1, len = arguments.length; i < len; i++) {\n if (testType(obj, arguments[i]) === true)\n return true;\n }\n\n return false;\n}\n\nfunction sizeOf(obj) {\n if (obj == null)\n return 0;\n\n if ((typeof obj.length === 'number' || obj.length instanceof Number) && isFinite(obj.length))\n return obj.length;\n\n if (obj.constructor === Object.prototype.constructor || obj.constructor.name === 'Object')\n return Object.keys(obj).length + Object.getOwnPropertySymbols(obj).length;\n\n return 0;\n}\n\nfunction isEmpty() {\n for (var i = 0, len = arguments.length; i < len; i++) {\n var value = arguments[i];\n if (value == null)\n return true;\n\n if (value === Infinity)\n continue;\n\n if (instanceOf(value, 'string'))\n return !value.match(/\\S/);\n else if (instanceOf(value, 'number') && isFinite(value))\n continue;\n else if (!instanceOf(value, 'boolean', 'bigint', 'function') && sizeOf(value) == 0)\n return true;\n }\n\n return false;\n}\n\nfunction isNotEmpty() {\n return !isEmpty.apply(this, arguments);\n}\n\nfunction firstValue(value, defaultValue) {\n if (!value || !value.length)\n return defaultValue;\n\n var fetchValue = value[0];\n return (fetchValue == null && arguments.length > 1) ? defaultValue : fetchValue;\n}\n\nfunction lastValue(value, defaultValue) {\n if (!value || !value.length)\n return defaultValue;\n\n var fetchValue = value[value.length - 1];\n return (fetchValue == null && arguments.length > 1) ? defaultValue : fetchValue;\n}\n\nfunction capitalize(_tempStr, allWords) {\n var tempStr = _tempStr;\n if (isEmpty(tempStr))\n return tempStr;\n\n return ('' + tempStr).replace((allWords) ? /(^|\\s)(\\S)/gi : /^(\\s*)(\\S)/i, function(m, s, x) {\n return s + (x.toLocaleUpperCase());\n });\n}\n\nfunction uncapitalize(_tempStr) {\n var tempStr = _tempStr;\n if (isEmpty(tempStr))\n return tempStr;\n\n return tempStr.replace(/^./, (m) => m.toLocaleLowerCase());\n}\n\nfunction camelCaseToSnakeCase(str) {\n if (!str)\n return str;\n\n var parts = str.replace(/([A-Z])/g, '@@@$1@@@').split('@@@').filter(Boolean);\n var finalParts = [];\n\n for (var i = 0, il = parts.length; i < il;) {\n var part = parts[i];\n var partPlusOne = parts[i + 1];\n var lastPart = lastValue(finalParts, '');\n\n if (part.match(/^[A-Z]/)) {\n if (partPlusOne && partPlusOne.match(/^[^A-Z]/)) {\n finalParts.push((part + partPlusOne));\n i += 2;\n continue;\n } else if (lastPart.match(/^[^A-Z]/)) {\n finalParts.push(part);\n } else {\n if (!finalParts.length)\n finalParts.push('');\n\n finalParts[finalParts.length - 1] = (lastPart + part);\n }\n } else {\n finalParts.push(part);\n }\n\n i++;\n }\n\n return finalParts.join('_').toLowerCase();\n}\n\nfunction snakeCaseToCamelCase(_str, capitalizeFirst) {\n var str = _str;\n if (!str)\n return str;\n\n str = str.replace(/_(.)/g, (m, p) => p.toLocaleUpperCase()).replace(/_+$/g, '');\n if (capitalizeFirst != null) {\n if (!capitalizeFirst)\n str = uncapitalize(str);\n else\n str = capitalize(str);\n }\n\n return str;\n}\n\nfunction createResolvable() {\n var status = 'pending';\n var resolve;\n var reject;\n\n var promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n\n promise.resolve = (result) => {\n status = 'resolved';\n return resolve(result);\n };\n\n promise.reject = (result) => {\n status = 'rejected';\n return reject(result);\n };\n\n promise.status = () => {\n return status;\n };\n\n return promise;\n}\n\nfunction splitBy(str, _patterns, simple) {\n var patterns = _patterns;\n if (!patterns)\n return [ str ];\n\n if (!(patterns instanceof Array))\n patterns = [ patterns ];\n\n var hasNamedPattern = false;\n\n const cloneRegExp = (regexp) => {\n // Clone regexp and ensure it has the global flag set\n var flags;\n regexp = regexp.toString().substring(1).replace(/\\/(\\w*)$/, (m, f) => {\n flags = (flags || '').replace(/g/gi, '');\n return '';\n });\n\n return new RegExp(regexp, flags + 'g');\n };\n\n const collectPatterns = (patterns) => {\n var finalPatterns = [];\n\n for (var i = 0, il = patterns.length; i < il; i++) {\n var pattern = patterns[i];\n if (!pattern)\n continue;\n\n var name = null;\n var process = null;\n var condition = null;\n\n if (pattern.constructor === Object.prototype.constructor && pattern.pattern) {\n if (pattern.name) {\n hasNamedPattern = true;\n name = ('' + pattern.name);\n } else {\n name = ('' + i);\n }\n\n condition = pattern.condition;\n process = pattern.process;\n pattern = pattern.pattern;\n }\n\n if (!name)\n name = ('' + i);\n\n if (pattern instanceof RegExp) {\n pattern = cloneRegExp(pattern);\n } else if (typeof pattern === 'string' || pattern instanceof String) {\n pattern = ('' + pattern);\n }\n\n if (!pattern)\n continue;\n\n finalPatterns.push({ name, pattern, index: i, process, condition });\n }\n\n return finalPatterns;\n };\n\n const matchPattern = (str, pattern, index) => {\n var match;\n if (pattern instanceof RegExp) {\n pattern.lastIndex = index;\n match = pattern.exec(str);\n if (!match)\n return;\n\n return { match: match[0], offset: pattern.lastIndex - match[0].length };\n } else {\n var offset = str.indexOf(pattern, index);\n if (offset < 0)\n return;\n\n return { match: str.substring(offset, offset + pattern.length), offset };\n }\n };\n\n const findNextMatch = (str, index) => {\n for (var i = 0, il = patterns.length; i < il; i++) {\n var thisPattern = patterns[i];\n var pattern = thisPattern.pattern;\n var condition = thisPattern.condition;\n var match = matchPattern(str, pattern, index);\n\n if (typeof condition === 'function' && !condition({ parts: finalParts, pattern: thisPattern, chunk: match }))\n continue;\n\n if (match)\n return { match, pattern: thisPattern };\n }\n }\n\n patterns = collectPatterns(patterns);\n\n var finalParts = [];\n var lastOffset = 0;\n var result;\n var found;\n var match;\n var offset;\n var pattern;\n var part;\n\n while (result = findNextMatch(str, lastOffset)) {\n found = result.match;\n offset = found.offset;\n match = found.match;\n pattern = result.pattern;\n\n if (match.length) {\n if (lastOffset < offset) {\n part = str.substring(lastOffset, offset);\n finalParts.push({ source: str, part, processed: part, start: lastOffset, end: offset, name: '_chunk' });\n }\n\n var context = {\n source: str,\n part: match,\n start: lastOffset,\n end: offset,\n name: pattern.name,\n };\n\n finalParts.push(context);\n\n context.processed = (typeof pattern.process === 'function') ? pattern.process(match, context) : match;\n\n lastOffset = offset + match.length;\n } else {\n lastOffset++;\n }\n }\n\n if (lastOffset < str.length) {\n var part = str.substring(lastOffset);\n finalParts.push({ source: str, part, processed: part, start: lastOffset, end: str.length, name: '_tail' });\n }\n\n if (simple === true || !(_patterns instanceof Array))\n return finalParts.map((finalPart) => finalPart.part);\n\n if (hasNamedPattern) {\n finalParts = finalParts.reduce((obj, part) => {\n var name = part.name;\n\n if (obj.hasOwnProperty(name)) {\n if (!(obj[name] instanceof Array))\n obj[name] = [ obj[name], part.processed ];\n else\n obj[name].push(part.processed);\n } else {\n obj[name] = part.processed;\n }\n\n return obj;\n }, {});\n }\n\n return finalParts;\n}\n\nfunction regexpEscape(str) {\n if (!str)\n return str;\n return str.replace(/[-[\\]{}()*+!<=:?./\\\\^$|#\\s,]/g, '\\\\$&');\n}\n\nfunction sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms || 0);\n });\n}\n\nconst get = prop.bind(this, 'get');\nconst set = prop.bind(this, 'set');\nconst remove = prop.bind(this, 'remove');\nconst getMeta = prop.bind(this, 'getMeta');\nconst setMeta = prop.bind(this, 'setMeta');\nconst removeMeta = prop.bind(this, 'removeMeta');\nconst getMetaNS = prop.bind(this, 'getMetaNS');\nconst setMetaNS = prop.bind(this, 'setMetaNS');\nconst removeMetaNS = prop.bind(this, 'removeMetaNS');\n\nmodule.exports = {\n camelCaseToSnakeCase,\n capitalize,\n createResolvable,\n firstValue,\n instanceOf,\n isEmpty,\n isNotEmpty,\n lastValue,\n now,\n regexpEscape,\n sizeOf,\n sleep,\n snakeCaseToCamelCase,\n splitBy,\n uncapitalize,\n get,\n set,\n remove,\n getMeta,\n setMeta,\n removeMeta,\n getMetaNS,\n setMetaNS,\n removeMetaNS,\n};\n","'use strict';\n\nconst Nife = require('nife');\nconst EventEmitter = require('events');\n\nconst QUEUE_CHANGE_EVENT = Symbol.for('__seqdaQueueChangeEvent');\nconst QUEUE_CHANGE_INFO = Symbol.for('__seqdaQueueChangeInfo');\nconst INTERNAL_STATE = Symbol.for('__seqdaInternalState');\nconst UNBOUND_METHOD = Symbol.for('__seqdaUnboundMethod');\nconst DISALLOW_WRITE = Symbol.for('__seqdaDisallowWrite');\n\nfunction cloneStore(store, readyOnly) {\n const cloneScope = (scope, _newStore) => {\n let keys = Object.keys(scope);\n let newScope = (!_newStore) ? new EventEmitter() : {};\n let newStore = _newStore || newScope;\n\n if (!_newStore)\n newStore.setMaxListeners(Infinity);\n\n for (let i = 0, il = keys.length; i < il; i++) {\n let key = keys[i];\n if (key === '_events' || key === '_eventsCount' || key === '_maxListeners')\n continue;\n\n let value = scope[key];\n if (typeof value === 'function')\n newScope[key] = storeUnboundMethod(value[UNBOUND_METHOD].bind(newStore), value[UNBOUND_METHOD]);\n else\n newScope[key] = cloneScope(value, newStore);\n }\n\n return newScope;\n };\n\n let clonedStore = cloneScope(store);\n let clonedInternalState = Object.assign({}, store[INTERNAL_STATE]);\n\n Object.defineProperties(clonedStore, {\n [INTERNAL_STATE]: {\n writable: (readyOnly !== true) ? true : false,\n enumberable: false,\n configurable: false,\n value: (readyOnly !== true) ? clonedInternalState : Object.freeze(clonedInternalState),\n },\n });\n\n return initializeStore(clonedStore, readyOnly);\n}\n\nfunction queueChangeEvent(path) {\n let info = this[QUEUE_CHANGE_INFO];\n if (!info.promise) {\n info.promise = Promise.resolve();\n info.promise.then(() => {\n let modified = Array.from(Object.keys(info.eventQueue));\n let previousStore = info.previousStore;\n\n info.eventQueue = {};\n info.promise = null;\n info.previousStore = cloneStore(this, true);\n\n this.emit('update', {\n store: this,\n previousStore,\n modified,\n });\n });\n }\n\n if (!info.eventQueue)\n info.eventQueue = {};\n\n info.eventQueue[path] = true;\n}\n\nfunction copyKeysToArray(_value, source) {\n let value = _value;\n\n if (Array.isArray(value) && source) {\n let keys = Object.keys(source);\n for (let i = 0, il = keys.length; i < il; i++) {\n let key = keys[i];\n if ((/^\\d+$/).test(key))\n continue;\n\n value[key] = source[key];\n }\n }\n\n return value;\n}\n\nfunction clone(value) {\n if (!value)\n return value;\n\n if (value && typeof value === 'object') {\n if (Array.isArray(value))\n return copyKeysToArray(value.slice(), value);\n\n return Object.assign({}, value);\n }\n\n return value;\n}\n\nfunction setPath(_context, path, value) {\n let context = clone(_context);\n let pathParts = path.split('.');\n let current = context;\n\n for (let i = 0, il = pathParts.length; i < il; i++) {\n let pathPart = pathParts[i];\n\n if ((i + 1) >= il) {\n let finalValue;\n\n if (Array.isArray(value))\n finalValue = copyKeysToArray(value, current[pathPart]);\n else\n finalValue = value;\n\n if (finalValue && typeof finalValue === 'object')\n Object.freeze(finalValue);\n\n current[pathPart] = finalValue;\n } else {\n current[pathPart] = clone(current[pathPart]);\n }\n\n if (current && typeof current === 'object')\n Object.freeze(current);\n\n current = current[pathPart];\n }\n\n return context;\n}\n\nfunction getPath(...parts) {\n return parts.filter(Boolean).join('.');\n}\n\nfunction storeUnboundMethod(boundMethod, method) {\n Object.defineProperty(boundMethod, UNBOUND_METHOD, {\n writable: false,\n enumerable: false,\n configurable: false,\n value: method,\n });\n\n return boundMethod;\n}\n\nfunction createStoreSubsection(options, sectionTemplate, path) {\n function isCacheInvalid(scopeName, args) {\n if (this[DISALLOW_WRITE])\n return true;\n\n let thisCache = cache[scopeName];\n if (!thisCache)\n return true;\n\n let cacheArgs = thisCache.args;\n if (cacheArgs.length !== args.length)\n return true;\n\n for (let i = 0, il = args.length; i < il; i++) {\n if (cacheArgs[i] !== args[i])\n return true;\n }\n\n return false;\n }\n\n function setCache(scopeName, args, result) {\n if (this[DISALLOW_WRITE])\n return;\n\n cache[scopeName] = {\n args,\n result,\n };\n }\n\n const createScopeMethod = (scopeName, func) => {\n let method = function(...args) {\n if (isCacheInvalid.call(this, scopeName, args)) {\n let result = func({\n get: getState.bind(this),\n set: setState.bind(this),\n store: this,\n }, ...args);\n\n setCache.call(this, scopeName, args, result);\n\n return result;\n } else {\n return cache[scopeName].result;\n }\n };\n\n return storeUnboundMethod(method.bind(this), method);\n };\n\n function getState() {\n if (options.emitOnFetch === true)\n this.emit('fetchScope', { store: this, scopeName: path });\n\n let currentState = Nife.get(this[INTERNAL_STATE], path);\n return currentState;\n }\n\n function setState(value) {\n if (this[DISALLOW_WRITE])\n return;\n\n let currentState = Nife.get(this[INTERNAL_STATE], path);\n if (value && typeof value === 'object' && value === currentState)\n throw new Error(`Error: \"${getPath(path)}\" the state value is the same, but it is required to be different.`);\n\n if (!Nife.propsDiffer(value, currentState))\n return;\n\n let previousState = currentState;\n this[INTERNAL_STATE] = setPath(this[INTERNAL_STATE], path, value);\n\n cache = {};\n\n if (this[QUEUE_CHANGE_EVENT])\n this[QUEUE_CHANGE_EVENT](path, value, previousState);\n\n return value;\n }\n\n if (path && !Object.prototype.hasOwnProperty.call(sectionTemplate, '_'))\n throw new Error(`Error: \"${getPath}._\" default value must be defined.`);\n\n const scope = (!path) ? this : {};\n let keys = Object.keys(sectionTemplate || {});\n let subScopes = [];\n let cache = {};\n\n if (path)\n setState.call(this, clone(sectionTemplate._));\n\n for (let i = 0, il = keys.length; i < il; i++) {\n let key = keys[i];\n if (key === '_')\n continue;\n\n let value = sectionTemplate[key];\n if (Nife.instanceOf(value, 'object')) {\n scope[key] = createStoreSubsection.call(this, options, value, getPath(path, key));\n subScopes.push(key);\n continue;\n }\n\n if (typeof value !== 'function')\n throw new TypeError(`Error: Value of \"${getPath(path, key)}\" is invalid. All properties must be functions, or sub scopes.`);\n\n scope[key] = createScopeMethod(key, value);\n }\n\n if (!path)\n return this; // We can't freeze the store\n else\n return Object.freeze(scope);\n}\n\nfunction initializeStore(store, readyOnly) {\n Object.defineProperties(store, {\n 'getState': {\n writable: false,\n enumberable: false,\n configurable: false,\n value: () => store[INTERNAL_STATE],\n },\n });\n\n if (readyOnly !== true) {\n Object.defineProperties(store, {\n 'hydrate': {\n writable: false,\n enumberable: false,\n configurable: false,\n value: (value) => {\n store[INTERNAL_STATE] = Object.freeze(clone(value));\n queueChangeEvent.call(store, '*');\n },\n },\n [QUEUE_CHANGE_EVENT]: {\n writable: false,\n enumberable: false,\n configurable: false,\n value: queueChangeEvent.bind(store),\n },\n [QUEUE_CHANGE_INFO]: {\n writable: true,\n enumberable: false,\n configurable: false,\n value: {\n previousStore: cloneStore(store, true),\n },\n },\n });\n } else {\n Object.defineProperties(store, {\n [DISALLOW_WRITE]: {\n writable: false,\n enumberable: false,\n configurable: false,\n value: true,\n },\n });\n }\n\n return store;\n}\n\nfunction createStore(template, _options) {\n if (!Nife.instanceOf(template, 'object'))\n throw new TypeError('createStore: provided \"template\" must be an object.');\n\n const options = _options || {};\n const store = new EventEmitter();\n\n store.setMaxListeners(Infinity);\n\n Object.defineProperty(store, INTERNAL_STATE, {\n writable: true,\n enumerable: false,\n configurable: false,\n value: {},\n });\n\n let constructedStore = createStoreSubsection.call(store, options, template);\n return initializeStore(constructedStore);\n}\n\nmodule.exports = {\n cloneStore,\n createStore,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(941);\n"],"names":["ReflectOwnKeys","R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","value","EventEmitter","init","this","module","exports","once","emitter","name","Promise","resolve","reject","errorListener","err","removeListener","resolver","slice","arguments","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","handler","flags","on","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","type","prepend","m","events","existing","create","newListener","emit","unshift","push","length","warned","w","Error","String","count","ProcessEmitWarning","warning","console","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","unwrapListeners","arr","ret","Array","i","arrayClone","listenerCount","n","copy","addEventListener","wrapListener","arg","removeEventListener","defineProperty","enumerable","get","set","RangeError","getPrototypeOf","setMaxListeners","getMaxListeners","doError","error","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","shift","spliceOne","index","pop","off","removeAllListeners","key","keys","rawListeners","eventNames","Utils","extend","_extend","parentKey","parentObj","depth","dst","val","startIndex","isDeep","thisArg","noSymbols","j","jLen","allowOverwrite","hasOwnProperty","dstVal","filterFunc","constructor","isArray","_audit","b","base","modified","now","updateCount","DEEP","NO_SYMBOLS","NO_OVERWRITE","FILTER","il","toArray","item","arrayUnion","map","Map","jl","from","values","extend_const","arrayFlatten","array","finalArray","arraySubtract","delete","coerceValue","_value","_type","defaultValue","toLowerCase","hasDefaultValue","parseBoolean","strict","typeOf","Boolean","valueOf","isFinite","number","parseNumber","match","parseFloat","firstPart","split","part","replace","filter","parseString","coercer","Math","round","BigInt","pluck","thisArray","isMultiple","bucket","indexNames","k","kl","propsDiffer","props1","props2","_keys","symbols","allKeys","keys1","keys2","subtractFromArray","sourceArray","_itemsToSubtract","itemsToSubtract","indexOf","toLookup","pluckKey","data","obj","id","uniq","items","finalItems","JSONUtils","DataUtils","MathUtils","assign","safeJSONStringify","formatter","space","newObj","safeCloneObj","_alreadyVisited","alreadyVisited","findIndex","oldValue","toJSON","valueCopy","referenced","newValue","thisValue","JSON","stringify","safeJSONParse","parse","refs","buildRefs","_refs","unwindData","p","e","lerp","start","end","ratio","clamp","_min","_max","min","max","snapToGrid","num","segmentSize","_func","_offset","_scalar","func","offset","scalar","performance","process","hrtime","hrTime","preciseTime","Date","getTime","initAudit","node","isExtensible","isFrozen","timeCreated","writable","configurable","created","prop","cmd","_node","namespace","c","argStartIndex","argStartIndexOne","GET","SET","REMOVE","isMeta","op","charAt","finalPath","_meta","initMeta","nextIsArray","fullPath","parts","i2","isLast","isArrayIndex","substring","Symbol","for","partStr","toString","lastUpdated","meta","join","instanceOf","testType","_val","isDeferredType","then","sizeOf","isEmpty","Infinity","lastValue","fetchValue","capitalize","_tempStr","allWords","tempStr","s","x","toLocaleUpperCase","uncapitalize","toLocaleLowerCase","remove","getMeta","setMeta","removeMeta","getMetaNS","setMetaNS","removeMetaNS","camelCaseToSnakeCase","str","finalParts","partPlusOne","lastPart","createResolvable","status","promise","_resolve","_reject","result","firstValue","isNotEmpty","regexpEscape","sleep","ms","setTimeout","snakeCaseToCamelCase","_str","capitalizeFirst","splitBy","_patterns","simple","patterns","hasNamedPattern","cloneRegExp","regexp","f","RegExp","matchPattern","pattern","lastIndex","exec","findNextMatch","thisPattern","condition","chunk","finalPatterns","collectPatterns","found","lastOffset","source","processed","reduce","finalPart","Nife","QUEUE_CHANGE_EVENT","QUEUE_CHANGE_INFO","INTERNAL_STATE","UNBOUND_METHOD","DISALLOW_WRITE","cloneStore","store","readyOnly","cloneScope","scope","_newStore","newScope","newStore","storeUnboundMethod","clonedStore","clonedInternalState","defineProperties","enumberable","freeze","initializeStore","queueChangeEvent","path","info","eventQueue","previousStore","copyKeysToArray","test","clone","getPath","boundMethod","method","createStoreSubsection","options","sectionTemplate","isCacheInvalid","scopeName","thisCache","cache","cacheArgs","setCache","createScopeMethod","getState","setState","emitOnFetch","currentState","previousState","setPath","_context","pathParts","current","pathPart","finalValue","subScopes","_","createStore","template","_options","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "seqda",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "Sequential Data Store",
5
5
  "main": "src/index.js",
6
+ "browser": "dist/index.js",
6
7
  "type": "commonjs",
7
8
  "scripts": {
8
9
  "test": "node ./node_modules/.bin/jasmine",
9
10
  "test-debug": "node --inspect-brk ./node_modules/.bin/jasmine",
10
- "test-watch": "watch 'clear ; node ./node_modules/.bin/jasmine' . --wait=2 --interval=1"
11
+ "test-watch": "watch 'clear ; node ./node_modules/.bin/jasmine' . --wait=2 --interval=1",
12
+ "build": "./node_modules/.bin/webpack"
11
13
  },
12
14
  "repository": {
13
15
  "type": "git",
@@ -30,7 +32,11 @@
30
32
  "devDependencies": {
31
33
  "@spothero/eslint-plugin-spothero": "github:spothero/eslint-plugin-spothero",
32
34
  "eslint": "^8.18.0",
33
- "jasmine": "^4.2.1"
35
+ "jasmine": "^4.2.1",
36
+ "@webpack-cli/generators": "^2.5.0",
37
+ "terser-webpack-plugin": "^5.3.6",
38
+ "webpack": "^5.74.0",
39
+ "webpack-cli": "^4.10.0"
34
40
  },
35
41
  "dependencies": {
36
42
  "events": "^3.3.0",
package/src/index.js CHANGED
@@ -220,6 +220,9 @@ function createStoreSubsection(options, sectionTemplate, path) {
220
220
  if (value && typeof value === 'object' && value === currentState)
221
221
  throw new Error(`Error: "${getPath(path)}" the state value is the same, but it is required to be different.`);
222
222
 
223
+ if (!Nife.propsDiffer(value, currentState))
224
+ return;
225
+
223
226
  let previousState = currentState;
224
227
  this[INTERNAL_STATE] = setPath(this[INTERNAL_STATE], path, value);
225
228
 
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ const Path = require('node:path');
4
+ const TerserPlugin = require('terser-webpack-plugin');
5
+
6
+ const isProduction = true;//(process.env.NODE_ENV === 'production');
7
+
8
+ const config = {
9
+ entry: './src/index.js',
10
+ devtool: 'source-map',
11
+ mode: 'production',
12
+ output: {
13
+ path: Path.resolve('./dist'),
14
+ scriptType: 'module',
15
+ filename: 'index.js',
16
+ sourceMapFilename: 'index.js.map',
17
+ libraryTarget: 'module',
18
+ },
19
+ plugins: [
20
+ // Add your plugins here
21
+ // Learn more about plugins from https://webpack.js.org/configuration/plugins/
22
+ ],
23
+ module: {
24
+ },
25
+ experiments: {
26
+ outputModule: true,
27
+ },
28
+ optimization: {
29
+ minimizer: [
30
+ new TerserPlugin({
31
+ parallel: true,
32
+ terserOptions: {
33
+ keep_classnames: true,
34
+ keep_fnames: true,
35
+ ecma: 2015,
36
+ module: true,
37
+ },
38
+ }),
39
+ ],
40
+ },
41
+ };
42
+
43
+ module.exports = () => {
44
+ if (isProduction)
45
+ config.mode = 'production';
46
+ else
47
+ config.mode = 'development';
48
+
49
+ return config;
50
+ };