datamodel
Version:
Relational algebra compliant in-memory tabular data store
1 lines • 71.2 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DataModel",[],t):"object"==typeof exports?exports.DataModel=t():e.DataModel=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e){e.exports=JSON.parse('{"name":"datamodel","description":"Relational algebra compliant in-memory tabular data store","homepage":"https://github.com/chartshq/datamodel","version":"2.2.2","license":"MIT","main":"dist/datamodel.js","keywords":["datamodel","data","relational","algebra","model","muze","fusioncharts","table","tabular","operation"],"author":"Muzejs.org (https://muzejs.org/)","repository":{"type":"git","url":"https://github.com/chartshq/datamodel.git"},"contributors":[{"name":"Akash Goswami","email":"akashgoswami90s@gmail.com"},{"name":"Subhash Haldar"},{"name":"Rousan Ali","email":"rousanali786@gmail.com","url":"https://rousan.io"},{"name":"Ujjal Kumar Dutta","email":"duttaujjalkumar@live.com"},{"name":"Ranajit Banerjee","email":"ranajit.113124@gmail.com"},{"name":"Adarsh Lilha","email":"adarshlilha@gmail.com"}],"dependencies":{"d3-dsv":"^1.0.8"},"devDependencies":{"babel-cli":"6.26.0","babel-core":"^6.26.3","babel-eslint":"6.1.2","babel-loader":"^7.1.4","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","babel-preset-es2015":"^6.24.1","babel-preset-flow":"^6.23.0","chai":"3.5.0","cross-env":"^5.0.5","eslint":"3.19.0","eslint-config-airbnb":"15.1.0","eslint-plugin-import":"2.7.0","eslint-plugin-jsx-a11y":"5.1.1","eslint-plugin-react":"7.3.0","istanbul-instrumenter-loader":"^3.0.0","jsdoc":"3.5.5","json2yaml":"^1.1.0","karma":"1.7.1","karma-chai":"0.1.0","karma-chrome-launcher":"2.1.1","karma-coverage-istanbul-reporter":"^1.3.0","karma-mocha":"1.3.0","karma-spec-reporter":"0.0.31","karma-webpack":"2.0.3","marked":"^0.5.0","mocha":"3.4.2","mocha-webpack":"0.7.0","transform-runtime":"0.0.0","webpack":"^4.12.0","webpack-cli":"^3.0.7","webpack-dev-server":"^3.1.4"},"scripts":{"test":"npm run lint && npm run ut","ut":"karma start karma.conf.js","utd":"karma start --single-run false --browsers Chrome karma.conf.js ","build":"npm run build:prod","build:dev":"webpack --mode development","build:prod":"webpack --mode production","start":"webpack-dev-server --config webpack.config.dev.js --mode development --open","lint":"eslint ./src","lint-errors":"eslint --quiet ./src","docs":"rm -rf yaml && mkdir yaml && jsdoc -c jsdoc.conf.json"}}')},function(e,t,n){var r=n(2);e.exports=r.default?r.default:r},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"DataFormat",(function(){return o})),n.d(r,"DimensionSubtype",(function(){return u})),n.d(r,"MeasureSubtype",(function(){return c})),n.d(r,"FieldType",(function(){return f})),n.d(r,"FilteringMode",(function(){return l})),n.d(r,"GROUP_BY_FUNCTIONS",(function(){return s}));var a={};n.r(a),n.d(a,"DSVArr",(function(){return rt})),n.d(a,"DSVStr",(function(){return mt})),n.d(a,"FlatJSON",(function(){return yt})),n.d(a,"Auto",(function(){return bt}));var i={};n.r(i),n.d(i,"sum",(function(){return un})),n.d(i,"avg",(function(){return cn})),n.d(i,"min",(function(){return fn})),n.d(i,"max",(function(){return ln})),n.d(i,"first",(function(){return sn})),n.d(i,"last",(function(){return dn})),n.d(i,"count",(function(){return pn})),n.d(i,"sd",(function(){return hn}));var o={FLAT_JSON:"FlatJSON",DSV_STR:"DSVStr",DSV_ARR:"DSVArr",AUTO:"Auto"},u={CATEGORICAL:"categorical",TEMPORAL:"temporal",GEO:"geo",BINNED:"binned"},c={CONTINUOUS:"continuous"},f={MEASURE:"measure",DIMENSION:"dimension"},l={NORMAL:"normal",INVERSE:"inverse",ALL:"all"},s={SUM:"sum",AVG:"avg",MIN:"min",MAX:"max",FIRST:"first",LAST:"last",COUNT:"count",STD:"std"};function d(e){return e instanceof Date?e:new Date(e)}function p(e){return e<10?"0"+e:e}function h(e){this.format=e,this.dtParams=void 0,this.nativeDate=void 0}RegExp.escape=function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},h.TOKEN_PREFIX="%",h.DATETIME_PARAM_SEQUENCE={YEAR:0,MONTH:1,DAY:2,HOUR:3,MINUTE:4,SECOND:5,MILLISECOND:6},h.defaultNumberParser=function(e){return function(t){var n;return isFinite(n=parseInt(t,10))?n:e}},h.defaultRangeParser=function(e,t){return function(n){var r,a=void 0;if(!n)return t;var i=n.toLowerCase();for(a=0,r=e.length;a<r;a++)if(e[a].toLowerCase()===i)return a;return void 0===a?t:null}},h.getTokenDefinitions=function(){var e={short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],long:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},t={short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],long:["January","February","March","April","May","June","July","August","September","October","November","December"]};return{H:{name:"H",index:3,extract:function(){return"(\\d+)"},parser:h.defaultNumberParser(),formatter:function(e){return d(e).getHours().toString()}},l:{name:"l",index:3,extract:function(){return"(\\d+)"},parser:h.defaultNumberParser(),formatter:function(e){var t=d(e).getHours()%12;return(0===t?12:t).toString()}},p:{name:"p",index:3,extract:function(){return"(AM|PM)"},parser:function(e){return e?e.toLowerCase():null},formatter:function(e){return d(e).getHours()<12?"AM":"PM"}},P:{name:"P",index:3,extract:function(){return"(am|pm)"},parser:function(e){return e?e.toLowerCase():null},formatter:function(e){return d(e).getHours()<12?"am":"pm"}},M:{name:"M",index:4,extract:function(){return"(\\d+)"},parser:h.defaultNumberParser(),formatter:function(e){return p(d(e).getMinutes())}},S:{name:"S",index:5,extract:function(){return"(\\d+)"},parser:h.defaultNumberParser(),formatter:function(e){return p(d(e).getSeconds())}},K:{name:"K",index:6,extract:function(){return"(\\d+)"},parser:h.defaultNumberParser(),formatter:function(e){return d(e).getMilliseconds().toString()}},a:{name:"a",index:2,extract:function(){return"("+e.short.join("|")+")"},parser:h.defaultRangeParser(e.short),formatter:function(t){var n=d(t).getDay();return e.short[n].toString()}},A:{name:"A",index:2,extract:function(){return"("+e.long.join("|")+")"},parser:h.defaultRangeParser(e.long),formatter:function(t){var n=d(t).getDay();return e.long[n].toString()}},e:{name:"e",index:2,extract:function(){return"(\\d+)"},parser:h.defaultNumberParser(),formatter:function(e){return d(e).getDate().toString()}},d:{name:"d",index:2,extract:function(){return"(\\d+)"},parser:h.defaultNumberParser(),formatter:function(e){return p(d(e).getDate())}},b:{name:"b",index:1,extract:function(){return"("+t.short.join("|")+")"},parser:h.defaultRangeParser(t.short),formatter:function(e){var n=d(e).getMonth();return t.short[n].toString()}},B:{name:"B",index:1,extract:function(){return"("+t.long.join("|")+")"},parser:h.defaultRangeParser(t.long),formatter:function(e){var n=d(e).getMonth();return t.long[n].toString()}},m:{name:"m",index:1,extract:function(){return"(\\d+)"},parser:function(e){return h.defaultNumberParser()(e)-1},formatter:function(e){return p(d(e).getMonth()+1)}},y:{name:"y",index:0,extract:function(){return"(\\d{2})"},parser:function(e){var t=void 0;if(e){var n=e.length;e=e.substring(n-2,n)}var r=h.defaultNumberParser()(e),a=new Date,i=Math.trunc(a.getFullYear()/100);return d(t=""+i+r).getFullYear()>a.getFullYear()&&(t=""+(i-1)+r),d(t).getFullYear()},formatter:function(e){var t=d(e).getFullYear().toString(),n=void 0;return t&&(n=t.length,t=t.substring(n-2,n)),t}},Y:{name:"Y",index:0,extract:function(){return"(\\d{4})"},parser:h.defaultNumberParser(),formatter:function(e){return d(e).getFullYear().toString()}}}},h.getTokenFormalNames=function(){var e=h.getTokenDefinitions();return{HOUR:e.H,HOUR_12:e.l,AMPM_UPPERCASE:e.p,AMPM_LOWERCASE:e.P,MINUTE:e.M,SECOND:e.S,SHORT_DAY:e.a,LONG_DAY:e.A,DAY_OF_MONTH:e.e,DAY_OF_MONTH_CONSTANT_WIDTH:e.d,SHORT_MONTH:e.b,LONG_MONTH:e.B,MONTH_OF_YEAR:e.m,SHORT_YEAR:e.y,LONG_YEAR:e.Y}},h.tokenResolver=function(){var e=h.getTokenDefinitions(),t=function(){for(var e=0,t=void 0,n=void 0,r=arguments.length;e<r;e++)t=arguments.length<=e?void 0:arguments[e],(arguments.length<=e?void 0:arguments[e])&&(n=t);return n?n[0].parser(n[1]):null};return{YEAR:[e.y,e.Y,t],MONTH:[e.b,e.B,e.m,t],DAY:[e.a,e.A,e.e,e.d,t],HOUR:[e.H,e.l,e.p,e.P,function(e,t,n,r){var a=void 0,i=void 0,o=void 0,u=void 0;return t&&(i=n||r)?("pm"===i[0].parser(i[1])&&(o=!0),a=t):a=t||e,a?(u=a[0].parser(a[1]),o&&(u+=12),u):null}],MINUTE:[e.M,t],SECOND:[e.S,t]}},h.findTokens=function(e){for(var t=h.TOKEN_PREFIX,n=h.getTokenDefinitions(),r=Object.keys(n),a=[],i=void 0,o=void 0;(i=e.indexOf(t,i+1))>=0;)o=e[i+1],-1!==r.indexOf(o)&&a.push({index:i,token:o});return a},h.formatAs=function(e,t){var n,r=d(e),a=h.findTokens(t),i=h.getTokenDefinitions(),o=String(t),u=h.TOKEN_PREFIX,c=void 0,f=void 0,l=void 0;for(l=0,n=a.length;l<n;l++)f=i[c=a[l].token].formatter(r),o=o.replace(new RegExp(u+c,"g"),f);return o},h.prototype.parse=function(e,t){var n=h.tokenResolver(),r=this.extractTokenValue(e),a=h.DATETIME_PARAM_SEQUENCE,i=t&&t.noBreak,o=[],u=[],c=void 0,f=void 0,l=void 0,s=void 0,d=void 0,p=void 0,v=void 0,m=void 0,y=[];for(c in n)if({}.hasOwnProperty.call(n,c)){for(u.length=0,l=(f=n[c]).splice(f.length-1,1)[0],d=0,m=f.length;d<m;d++)void 0===(s=r[(p=f[d]).name])?u.push(null):u.push([p,s]);if(null==(v=l.apply(this,u))&&!i)break;o[a[c]]=v}return o.length&&this.checkIfOnlyYear(o.length)?y.unshift(o[0],0,1):y.unshift.apply(y,o),y},h.prototype.extractTokenValue=function(e){var t,n=this.format,r=h.getTokenDefinitions(),a=h.TOKEN_PREFIX,i=h.findTokens(n),o={},u=void 0,c=void 0,f=void 0,l=void 0,s=void 0,d=void 0;s=String(n);var p=i.map((function(e){return e.token})),v=i.length;for(d=v-1;d>=0;d--)(f=i[d].index)+1!==s.length-1?(void 0===u&&(u=s.length),l=s.substring(f+2,u),s=s.substring(0,f+2)+RegExp.escape(l)+s.substring(u,s.length),u=f):u=f;for(d=0;d<v;d++)c=i[d],s=s.replace(a+c.token,r[c.token].extract());var m=e.match(new RegExp(s))||[];for(m.shift(),d=0,t=p.length;d<t;d++)o[p[d]]=m[d];return o},h.prototype.getNativeDate=function(e){var t=null;if(Number.isFinite(e))t=new Date(e);else if(!this.format&&Date.parse(e))t=new Date(e);else{var n=this.dtParams=this.parse(e);n.length&&(this.nativeDate=new(Function.prototype.bind.apply(Date,[null].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n)))),t=this.nativeDate)}return t},h.prototype.checkIfOnlyYear=function(e){return 1===e&&this.format.match(/y|Y/g).length},h.prototype.formatAs=function(e,t){var n=void 0;return t?n=this.nativeDate=this.getNativeDate(t):(n=this.nativeDate)||(n=this.getNativeDate(t)),h.formatAs(n,e)};var v=function(e){var t=0;return function(){for(var n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];r.forEach((function(n,r){e[r]instanceof Array||(e[r]=Array.from({length:t})),e[r].push(n)})),t++}},m="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},y="object",g=Object.prototype.toString,b="[object Object]",w="[object Array]";function O(e,t){for(var n=t.length,r=-1;n;){if(e===t[n])return r=n;n-=1}return r}function _(e,t,n){return(void 0===e?"undefined":m(e))!==y&&(void 0===t?"undefined":m(t))!==y?null:(void 0===t?"undefined":m(t))!==y||null===t?e:((void 0===e?"undefined":m(e))!==y&&(e=t instanceof Array?[]:{}),function e(t,n,r,a,i){var o,u,c,f,l;if(i?(a.push(t),i.push(n)):(a=[t],i=[n]),n instanceof Array)for(o=0;o<n.length;o+=1){try{u=t[o],c=n[o]}catch(e){continue}(void 0===c?"undefined":m(c))!==y?r&&void 0===c||(t[o]=c):(null!==u&&(void 0===u?"undefined":m(u))===y||(u=t[o]=c instanceof Array?[]:{}),-1!==(l=O(c,i))?u=t[o]=a[l]:e(u,c,r,a,i))}else for(o in n){try{u=t[o],c=n[o]}catch(e){continue}if(null!==c&&(void 0===c?"undefined":m(c))===y)(f=g.call(c))===b?(null!==u&&(void 0===u?"undefined":m(u))===y||(u=t[o]={}),-1!==(l=O(c,i))?u=t[o]=a[l]:e(u,c,r,a,i)):f===w?(null!==u&&u instanceof Array||(u=t[o]=[]),-1!==(l=O(c,i))?u=t[o]=a[l]:e(u,c,r,a,i)):t[o]=c;else{if(r&&void 0===c)continue;t[o]=c}}return t}(e,t,n),e)}function E(e){return Array.isArray(e)}var A=function(){return"id-"+(new Date).getTime()+Math.round(1e4*Math.random())};function j(e,t){if(!E(e)||!E(t))return e===t;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function S(e){return e}var D=function(e){return"string"==typeof e?o.DSV_STR:E(e)&&E(e[0])?o.DSV_ARR:E(e)&&(0===e.length||function(e){return e===Object(e)}(e[0]))?o.FLAT_JSON:null},F={data:{},createNamespace:function(e,t){var n=t||A();return this.data[n]={name:n,fields:e,fieldsObj:function(){var e=this._cachedFieldsObj;return e||(e=this._cachedFieldsObj={},this.fields.forEach((function(t){e[t.name()]=t}))),e},getMeasure:function(){var e=this._cachedMeasure;return e||(e=this._cachedMeasure={},this.fields.forEach((function(t){t.schema().type===f.MEASURE&&(e[t.name()]=t)}))),e},getDimension:function(){var e=this._cachedDimension;return this._cachedDimension||(e=this._cachedDimension={},this.fields.forEach((function(t){t.schema().type===f.DIMENSION&&(e[t.name()]=t)}))),e}},this.data[n]}},N=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var k=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var a=Qt(r,t);Object.defineProperties(this,{_value:{enumerable:!1,configurable:!1,writable:!1,value:t},_formattedValue:{enumerable:!1,configurable:!1,writable:!1,value:a},_internalValue:{enumerable:!1,configurable:!1,writable:!1,value:n}}),this.field=r}return N(e,[{key:"toString",value:function(){return String(this.value)}},{key:"valueOf",value:function(){return this.value}},{key:"value",get:function(){return this._value}},{key:"formattedValue",get:function(){return this._formattedValue}},{key:"internalValue",get:function(){return this._internalValue}}]),e}();function T(e,t){e.length>0&&e.split(",").forEach((function(e){var n=e.split("-"),r=+n[0],a=+(n[1]||n[0]);if(a>=r)for(var i=r;i<=a;i+=1)t(i)}))}var R=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var C=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._value=t}return R(e,null,[{key:"invalidAwareVals",value:function(t){return t?Object.assign(e._invalidAwareValsMap,t):e._invalidAwareValsMap}}]),R(e,[{key:"value",value:function(){return this._value}},{key:"toString",value:function(){return String(this._value)}}],[{key:"isInvalid",value:function(t){return t instanceof e||!!e.invalidAwareVals()[t]}},{key:"getInvalidType",value:function(t){return t instanceof e?t:e.invalidAwareVals()[t]}}]),e}();C.NULL=new C("null"),C.NA=new C("na"),C.NIL=new C("nil"),C._invalidAwareValsMap={invalid:C.NA,nil:C.NIL,null:C.NULL,undefined:C.NA};var M=C,I=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,i=void 0;try{for(var o,u=e[Symbol.iterator]();!(r=(o=u.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(a)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},P=function(e,t,n){for(var r=[],a=t;a<n;)r.push(a),a+=e;return r.push(a),r},x=function(e,t){for(var n=0,r=e.length-1,a=void 0,i=void 0;n<=r;){if(t>=(i=e[a=n+Math.floor((r-n)/2)]).start&&t<i.end)return i;t>=i.end?n=a+1:t<i.start&&(r=a-1)}return null};var L={SELECT:"select",PROJECT:"project",GROUPBY:"group",COMPOSE:"compose",CAL_VAR:"calculatedVariable",BIN:"bin",SORT:"sort"},U={CROSS:"cross",LEFTOUTER:"leftOuter",RIGHTOUTER:"rightOuter",NATURAL:"natural",FULLOUTER:"fullOuter"},V="and";function B(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function Y(e,t){var n=[],r=[];return e.fields.forEach((function(e){r.push(e.schema().name)})),t.fields.forEach((function(e){-1!==r.indexOf(e.schema().name)&&n.push(e.schema().name)})),n}function H(){return!0}function G(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:U.CROSS,i=[],o=[],u=n||H,c=e.getFieldspace(),f=t.getFieldspace(),l=c.name,s=f.name,d=c.name+"."+f.name,p=Y(c,f);if(l===s)throw new Error("DataModels must have different alias names");return c.fields.forEach((function(e){var t=_({},e.schema());-1===p.indexOf(t.name)||r||(t.name=c.name+"."+t.name),i.push(t)})),f.fields.forEach((function(e){var t=_({},e.schema());-1!==p.indexOf(t.name)?r||(t.name=f.name+"."+t.name,i.push(t)):i.push(t)})),T(e._rowDiffset,(function(n){var d=!1,h=void 0;T(t._rowDiffset,(function(v){var m=[],y={};y[l]={},y[s]={},c.fields.forEach((function(e){m.push(e.partialField.data[n]),y[l][e.name()]={rawValue:e.partialField.data[n],formattedValue:e.formattedData()[n]}})),f.fields.forEach((function(e){-1!==p.indexOf(e.schema().name)&&r||m.push(e.partialField.data[v]),y[s][e.name()]={rawValue:e.partialField.data[v],formattedValue:e.formattedData()[v]}}));var g=At(y[l]),b=At(y[s]);if(u(g,b,(function(){return e.detachedRoot()}),(function(){return t.detachedRoot()}),{})){var w={};m.forEach((function(e,t){w[i[t].name]=e})),d&&U.CROSS!==a?o[h]=w:(o.push(w),d=!0,h=n)}else if((a===U.LEFTOUTER||a===U.RIGHTOUTER)&&!d){var O={},_=c.fields.length-1;m.forEach((function(e,t){O[i[t].name]=t<=_?e:null})),d=!0,h=n,o.push(O)}}))})),new on(o,i,{name:d})}function J(e,t){var n=""+e,r=""+t;return n<r?-1:n>r?1:0}function z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:J;return e.length>1&&function e(t,n,r,a){if(r===n)return t;var i=n+Math.floor((r-n)/2);return e(t,n,i,a),e(t,i+1,r,a),function(e,t,n,r,a){for(var i=e,o=[],u=t;u<=r;u+=1)o[u]=i[u];for(var c=t,f=n+1,l=t;l<=r;l+=1)c>n?(i[l]=o[f],f+=1):f>r?(i[l]=o[c],c+=1):a(o[c],o[f])<=0?(i[l]=o[c],c+=1):(i[l]=o[f],f+=1)}(t,n,i,r,a),t}(e,0,e.length-1,t),e}var K=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,i=void 0;try{for(var o,u=e[Symbol.iterator]();!(r=(o=u.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(a)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function W(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function X(e,t){var n="desc"===String(t).toLowerCase()?"desc":"asc";return function(e,t){var n=void 0;switch(e){case c.CONTINUOUS:case u.TEMPORAL:n="asc"===t?function(e,t){return e-t}:function(e,t){return t-e};break;default:n="asc"===t?function(e,t){return(e=""+e)===(t=""+t)?0:e>t?1:-1}:function(e,t){return(e=""+e)===(t=""+t)?0:e>t?-1:1}}return n}(e.type,n)}function q(e,t){var n=new Map,r=[];return e.forEach((function(e){var a=e[t];n.has(a)?r[n.get(a)][1].push(e):(r.push([a,[e]]),n.set(a,r.length-1))})),r}function Z(e,t,n){var r={label:e[0]};return t.reduce((function(t,r,a){return t[r]=e[1].map((function(e){return e[n[a].index]})),t}),r),r}function $(e,t,n){for(var r=void 0,a=void 0,i=void 0,o=n.length-1;o>=0;o--)r=n[o][0],a=n[o][1],(i=Ht(t,r))&&("function"==typeof a?z(e,(function(e,t){return a(e[i.index],t[i.index])})):E(a)?function(){var n=q(e,i.index),r=a[a.length-1],o=a.slice(0,a.length-1),u=o.map((function(e){return Ht(t,e)}));n.forEach((function(e){e.push(Z(e,o,u))})),z(n,(function(e,t){var n=e[2],a=t[2];return r(n,a)})),e.length=0,n.forEach((function(t){e.push.apply(e,W(t[1]))}))}():function(){var t=X(i,a);z(e,(function(e,n){return t(e[i.index],n[i.index])}))}())}var Q,ee=function e(t,n,r,a){if(0===t.length)return n;var i=t[0],o=new Map;n.reduce((function(e,t){var n=t[i.index];return e.has(n)?e.get(n).push(t):e.set(n,[t]),e}),o);var u=!0,c=!1,f=void 0;try{for(var l,s=o[Symbol.iterator]();!(u=(l=s.next()).done);u=!0){var d=l.value,p=K(d,2),h=p[0],v=p[1],m=e(t.slice(1),v,r,a);o.set(h,m),Array.isArray(m)&&$(m,r,a)}}catch(e){c=!0,f=e}finally{try{!u&&s.return&&s.return()}finally{if(c)throw f}}return o};function te(e,t){var n=e.schema,r=e.data;if(0!==(t=t.filter((function(e){return!!Ht(n,e[0])}))).length){var a=t.findIndex((function(e){return null===e[1]}));a=-1!==a?a:t.length;var i=t.slice(0,a),o=t.slice(a);$(r,n,i),r=function(e,t,n,r){if(0===(n=n.filter((function(e){return null!==e[1]||(r.push(e[0]),!1)}))).length)return e;r=r.map((function(e){return Ht(t,e)}));var a=ee(r,e,t,n);return e.map((function(e){for(var t=0,n=a;!Array.isArray(n);)n=n.get(e[r[t++].index]);return n.shift()}))}(r,n,o,i.map((function(e){return e[0]}))),e.uids=r.map((function(e){return e.pop()})),e.data=r}}function ne(e,t,n,r,a){a=Object.assign({},{addUid:!1,columnWise:!1},a);var i={schema:[],data:[],uids:[]},o=a.addUid,u=r&&r.length>0,c=[];if(n.split(",").forEach((function(t){for(var n=0;n<e.length;n+=1)if(e[n].name()===t){c.push(e[n]);break}})),c.forEach((function(e){i.schema.push(e.schema())})),o&&i.schema.push({name:"uid",type:"identifier"}),T(t,(function(e){i.data.push([]);var t=i.data.length-1;c.forEach((function(n,r){i.data[t][r+0]=n.partialField.data[e]})),o&&(i.data[t][c.length]=e),i.uids.push(e),u&&i.data[t].push(e)})),u&&te(i,r),a.columnWise){var f=Array.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(Array(i.schema.length))).map((function(){return[]}));i.data.forEach((function(e){e.forEach((function(e,t){f[t].push(e)}))})),i.data=f}return i}function re(e,t){var n={},r=[],a=[],i=[],o=e.getFieldspace(),u=t.getFieldspace(),c=o.fieldsObj(),f=u.fieldsObj(),l=o.name+" union "+u.name;if(!j(e._colIdentifier.split(",").sort(),t._colIdentifier.split(",").sort()))return null;function s(e,t,r){T(e._rowDiffset,(function(e){var o={},u="";a.forEach((function(n){var r=t[n].partialField.data[e];u+="-"+r,o[n]=r})),n[u]||(r&&i.push(o),n[u]=!0)}))}return e._colIdentifier.split(",").forEach((function(e){var t=c[e];r.push(_({},t.schema())),a.push(t.schema().name)})),s(t,f,!1),s(e,c,!0),new on(i,r,{name:l})}function ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ie(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var oe=s.SUM,ue=s.AVG,ce=s.FIRST,fe=s.LAST,le=s.COUNT,se=s.STD,de=s.MIN,pe=s.MAX;function he(e){return e.filter((function(e){return!(e instanceof M)}))}function ve(e){if(E(e)&&!(e[0]instanceof Array)){var t=he(e);return t.length?t.reduce((function(e,t){return e+t}),0):M.NULL}return M.NULL}function me(e){if(E(e)&&!(e[0]instanceof Array)){var t=ve(e),n=e.length||1;return Number.isNaN(t)||t instanceof M?M.NULL:t/n}return M.NULL}var ye=(ae(Q={},oe,ve),ae(Q,ue,me),ae(Q,de,(function(e){if(E(e)&&!(e[0]instanceof Array)){var t=he(e);return t.length?Math.min.apply(Math,ie(t)):M.NULL}return M.NULL})),ae(Q,pe,(function(e){if(E(e)&&!(e[0]instanceof Array)){var t=he(e);return t.length?Math.max.apply(Math,ie(t)):M.NULL}return M.NULL})),ae(Q,ce,(function(e){return e[0]})),ae(Q,fe,(function(e){return e[e.length-1]})),ae(Q,le,(function(e){return E(e)?e.length:M.NULL})),ae(Q,se,(function(e){return Math.sqrt(function(e){var t=me(e);return me(e.map((function(e){return Math.pow(e-t,2)})))}(e))})),Q),ge=oe,be=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var we,Oe=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.store=new Map,this.store.set("defReducer",ve),Object.entries(ye).forEach((function(e){t.store.set(e[0],e[1])}))}return be(e,[{key:"defaultReducer",value:function(){if(!arguments.length)return this.store.get("defReducer");var e=arguments.length<=0?void 0:arguments[0];if("function"==typeof e)this.store.set("defReducer",e);else{if(e=String(e),-1===Object.keys(ye).indexOf(e))throw new Error("Reducer "+e+" not found in registry");this.store.set("defReducer",ye[e])}return this}},{key:"register",value:function(e,t){var n=this;if("function"!=typeof t)throw new Error("Reducer should be a function");return e=String(e),this.store.set(e,t),function(){n.__unregister(e)}}},{key:"__unregister",value:function(e){this.store.has(e)&&this.store.delete(e)}},{key:"resolve",value:function(e){return e instanceof Function?e:this.store.get(e)}}]),e}(),_e=(null===(we=null)&&(we=new Oe),we),Ee=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,i=void 0;try{for(var o,u=e[Symbol.iterator]();!(r=(o=u.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(a)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Ae(e,t,n,r){var a=function(e,t){var n=[],r=e.getFieldspace().getDimension();return Object.entries(r).forEach((function(e){var r=Ee(e,1)[0];t&&t.length?-1!==t.indexOf(r)&&n.push(r):n.push(r)})),n}(e,t),i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=e.getFieldspace().getMeasure(),a=_e.defaultReducer();return Object.keys(r).forEach((function(e){"string"!=typeof t[e]&&(t[e]=r[e].defAggFn());var i=_e.resolve(t[e]);i?n[e]=i:(n[e]=a,t[e]=ge)})),n}(e,n),o=e.getFieldspace(),u=o.fieldsObj(),c=o.name,l=[],s=[],d=[],p={},h=[],v=void 0;Object.entries(u).forEach((function(e){var t=Ee(e,2),n=t[0],r=t[1];if(-1!==a.indexOf(n)||i[n])switch(d.push(_({},r.schema())),r.schema().type){case f.MEASURE:s.push(n);break;default:case f.DIMENSION:l.push(n)}}));var m=0;T(e._rowDiffset,(function(e){var t="";l.forEach((function(n){t=t+"-"+u[n].partialField.data[e]})),void 0===p[t]?(p[t]=m,h.push({}),l.forEach((function(t){h[m][t]=u[t].partialField.data[e]})),s.forEach((function(t){h[m][t]=[u[t].partialField.data[e]]})),m+=1):s.forEach((function(n){h[p[t]][n].push(u[n].partialField.data[e])}))}));var y={},g=function(){return e.detachedRoot()};return h.forEach((function(e){var t=e;s.forEach((function(n){t[n]=i[n](e[n],g,y)}))})),r?(r.__calculateFieldspace(),v=r):v=new yn(h,d,{name:c}),v}function je(e,t){var n=Y(e.getFieldspace(),t.getFieldspace());return function(e,t){var r=!0;return n.forEach((function(n){r=!(e[n].internalValue!==t[n].internalValue||!r)})),r}}function Se(e,t){var n={},r=[],a=[],i=[],o=e.getFieldspace(),u=t.getFieldspace(),c=o.fieldsObj(),f=u.fieldsObj(),l=o.name+" union "+u.name;if(!j(e._colIdentifier.split(",").sort(),t._colIdentifier.split(",").sort()))return null;function s(e,t){T(e._rowDiffset,(function(e){var r={},o="";a.forEach((function(n){var a=t[n].partialField.data[e];o+="-"+a,r[n]=a})),n[o]||(i.push(r),n[o]=!0)}))}return e._colIdentifier.split(",").forEach((function(e){var t=c[e];r.push(_({},t.schema())),a.push(t.schema().name)})),s(e,c),s(t,f),new yn(i,r,{name:l})}function De(e,t,n){return G(e,t,n,!1,U.LEFTOUTER)}function Fe(e,t,n){return G(t,e,n,!1,U.RIGHTOUTER)}var Ne=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var ke=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.partialField=t,this.rowDiffset=n}return Ne(e,[{key:"domain",value:function(){throw new Error("Not yet implemented")}},{key:"schema",value:function(){return this.partialField.schema}},{key:"name",value:function(){return this.partialField.name}},{key:"type",value:function(){return this.partialField.schema.type}},{key:"subtype",value:function(){return this.partialField.schema.subtype}},{key:"description",value:function(){return this.partialField.schema.description}},{key:"displayName",value:function(){return this.partialField.schema.displayName||this.partialField.schema.name}},{key:"data",value:function(){var e=this,t=[];return T(this.rowDiffset,(function(n){t.push(e.partialField.data[n])})),t}},{key:"formattedData",value:function(){throw new Error("Not yet implemented")}}]),e}(),Te=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Re=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Te(t,[{key:"domain",value:function(){return this._cachedDomain||(this._cachedDomain=this.calculateDataDomain()),this._cachedDomain}},{key:"calculateDataDomain",value:function(){throw new Error("Not yet implemented")}},{key:"formattedData",value:function(){return this.data()}}]),t}(ke),Ce=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Me=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ce(t,[{key:"subtype",value:function(){return u.CATEGORICAL}},{key:"calculateDataDomain",value:function(){var e=this,t=new Set,n=[];return T(this.rowDiffset,(function(r){var a=e.partialField.data[r];t.has(a)||(t.add(a),n.push(a))})),n}}]),t}(Re),Ie=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Pe=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r._cachedMinDiff=null,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ie(t,[{key:"calculateDataDomain",value:function(){var e=this,t=new Set,n=[];return T(this.rowDiffset,(function(r){var a=e.partialField.data[r];t.has(a)||(t.add(a),n.push(a))})),n}},{key:"minimumConsecutiveDifference",value:function(){if(this._cachedMinDiff)return this._cachedMinDiff;for(var e=this.data().filter((function(e){return!(e instanceof M)})).sort((function(e,t){return e-t})),t=e.length,n=Number.POSITIVE_INFINITY,r=void 0,a=void 0,i=0,o=1;o<t;o++)r=e[o-1],(a=e[o])!==r&&(n=Math.min(n,a-e[o-1]),i++);return i||(n=null),this._cachedMinDiff=n,this._cachedMinDiff}},{key:"format",value:function(){return this.partialField.schema.format}},{key:"formattedData",value:function(){var e=this,t=[],n=this.format();return T(this.rowDiffset,(function(r){var a=e.partialField.data[r];if(M.isInvalid(a)||!n&&Number.isFinite(a)){var i=M.getInvalidType(a)||a;t.push(i)}else t.push(h.formatAs(a,n))})),t}}]),t}(Re),xe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Le=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),xe(t,[{key:"calculateDataDomain",value:function(){var e=this.partialField.schema.bins;return[e[0],e[e.length-1]]}},{key:"bins",value:function(){return this.partialField.schema.bins}}]),t}(Re),Ue=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Ve=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ue(t,[{key:"domain",value:function(){return this._cachedDomain||(this._cachedDomain=this.calculateDataDomain()),this._cachedDomain}},{key:"unit",value:function(){return this.partialField.schema.unit}},{key:"defAggFn",value:function(){return this.partialField.schema.defAggFn||ge}},{key:"numberFormat",value:function(){var e=this.partialField.schema.numberFormat;return e instanceof Function?e:S}},{key:"calculateDataDomain",value:function(){throw new Error("Not yet implemented")}},{key:"formattedData",value:function(){return this.data()}}]),t}(ke),Be=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Ye=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Be(t,[{key:"subtype",value:function(){return c.CONTINUOUS}},{key:"calculateDataDomain",value:function(){var e=this,t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return T(this.rowDiffset,(function(r){var a=e.partialField.data[r];a instanceof M||(a<t&&(t=a),a>n&&(n=a))})),[t,n]}}]),t}(Ve),He=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Ge=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return He(e,[{key:"parse",value:function(){throw new Error("Not yet implemented")}}]),e}(),Je=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var ze=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Je(t,[{key:"parse",value:function(e){return M.isInvalid(e)?M.getInvalidType(e):String(e).trim()}}]),t}(Ge),Ke=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var We=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.schema=e,n._dtf=new h(n.schema.format),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ke(t,[{key:"parse",value:function(e){var t=void 0;if(M.isInvalid(e))t=M.getInvalidType(e);else{var n=this._dtf.getNativeDate(e);t=n?n.getTime():M.NA}return t}}]),t}(Ge),Xe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var qe=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Xe(t,[{key:"parse",value:function(e){e=String(e);var t=void 0;if(M.isInvalid(e))t=M.getInvalidType(e);else{var n=e.match(/^\s*([+-]?\d+(?:\.\d+)?)\s*-\s*([+-]?\d+(?:\.\d+)?)\s*$/);t=n?Number.parseFloat(n[1])+"-"+Number.parseFloat(n[2]):M.NA}return t}}]),t}(Ge),Ze=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var $e=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Ze(t,[{key:"parse",value:function(e){var t=void 0;if(M.isInvalid(e))t=M.getInvalidType(e);else{var n=parseFloat(e,10);t=Number.isNaN(n)?M.NA:n}return t}}]),t}(Ge),Qe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var et=function(){function e(t,n,r,a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.schema=r,this.parser=a,this.data=this._sanitize(n)}return Qe(e,[{key:"_sanitize",value:function(e){var t=this;return e.map((function(e){return t.parser.parse(e)}))}}]),e}();function tt(e,t,n){var r={};return n&&n.length||(n=t.map((function(e){return e.name}))),n.forEach((function(e,t){r[e]=t})),t.map((function(t){return function(e,t){e=e||[];var n=void 0;switch(t.type){case f.MEASURE:switch(t.subtype){case c.CONTINUOUS:default:return n=new et(t.name,e,t,new $e),new Ye(n,"0-"+(e.length-1))}case f.DIMENSION:switch(t.subtype){case u.CATEGORICAL:return n=new et(t.name,e,t,new ze),new Me(n,"0-"+(e.length-1));case u.TEMPORAL:return n=new et(t.name,e,t,new We(t)),new Pe(n,"0-"+(e.length-1));case u.BINNED:return n=new et(t.name,e,t,new qe),new Le(n,"0-"+(e.length-1));default:return n=new et(t.name,e,t,new ze),new Me(n,"0-"+(e.length-1))}default:return n=new et(t.name,e,t,new ze),new Me(n,"0-"+(e.length-1))}}(e[r[t.name]],t)}))}var nt={dataFormat:o.AUTO};var rt=function(e,t,n){if(!Array.isArray(t))throw new Error("Schema missing or is in an unsupported format");var r=t.map((function(e){return e.name}));n=Object.assign({},{firstRowHeader:!0},n);var a=[],i=v(a);return n.firstRowHeader&&e.splice(0,1)[0],e.forEach((function(e){return i.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(e))})),[r,a]},at={},it={},ot=34,ut=10,ct=13;function ft(e){return new Function("d","return {"+e.map((function(e,t){return JSON.stringify(e)+": d["+t+"]"})).join(",")+"}")}function lt(e){var t=Object.create(null),n=[];return e.forEach((function(e){for(var r in e)r in t||n.push(t[r]=r)})),n}function st(e,t){var n=e+"",r=n.length;return r<t?new Array(t-r+1).join(0)+n:n}function dt(e){var t,n=e.getUTCHours(),r=e.getUTCMinutes(),a=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":((t=e.getUTCFullYear())<0?"-"+st(-t,6):t>9999?"+"+st(t,6):st(t,4))+"-"+st(e.getUTCMonth()+1,2)+"-"+st(e.getUTCDate(),2)+(i?"T"+st(n,2)+":"+st(r,2)+":"+st(a,2)+"."+st(i,3)+"Z":a?"T"+st(n,2)+":"+st(r,2)+":"+st(a,2)+"Z":r||n?"T"+st(n,2)+":"+st(r,2)+"Z":"")}var pt=function(e){var t=new RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function r(e,t){var r,a=[],i=e.length,o=0,u=0,c=i<=0,f=!1;function l(){if(c)return it;if(f)return f=!1,at;var t,r,a=o;if(e.charCodeAt(a)===ot){for(;o++<i&&e.charCodeAt(o)!==ot||e.charCodeAt(++o)===ot;);return(t=o)>=i?c=!0:(r=e.charCodeAt(o++))===ut?f=!0:r===ct&&(f=!0,e.charCodeAt(o)===ut&&++o),e.slice(a+1,t-1).replace(/""/g,'"')}for(;o<i;){if((r=e.charCodeAt(t=o++))===ut)f=!0;else if(r===ct)f=!0,e.charCodeAt(o)===ut&&++o;else if(r!==n)continue;return e.slice(a,t)}return c=!0,e.slice(a,i)}for(e.charCodeAt(i-1)===ut&&--i,e.charCodeAt(i-1)===ct&&--i;(r=l())!==it;){for(var s=[];r!==at&&r!==it;)s.push(r),r=l();t&&null==(s=t(s,u++))||a.push(s)}return a}function a(t,n){return t.map((function(t){return n.map((function(e){return o(t[e])})).join(e)}))}function i(t){return t.map(o).join(e)}function o(e){return null==e?"":e instanceof Date?dt(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,a,i=r(e,(function(e,r){if(n)return n(e,r-1);a=e,n=t?function(e,t){var n=ft(e);return function(r,a){return t(n(r),a,e)}}(e,t):ft(e)}));return i.columns=a||[],i},parseRows:r,format:function(t,n){return null==n&&(n=lt(t)),[n.map(o).join(e)].concat(a(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=lt(e)),a(e,t).join("\n")},formatRows:function(e){return e.map(i).join("\n")}}},ht=pt(","),vt=(ht.parse,ht.parseRows,ht.format,ht.formatBody,ht.formatRows,pt("\t"));vt.parse,vt.parseRows,vt.format,vt.formatBody,vt.formatRows;var mt=function(e,t,n){n=Object.assign({},{firstRowHeader:!0,fieldSeparator:","},n);var r=pt(n.fieldSeparator);return rt(r.parseRows(e),t,n)};var yt=function(e,t){if(!Array.isArray(t))throw new Error("Schema missing or is in an unsupported format");var n={},r=0,a=void 0,i=[],o=v(i),u=t.map((function(e){return e.name}));return e.forEach((function(e){var t=[];u.forEach((function(i){i in n?a=n[i]:(n[i]=r++,a=r-1),t[a]=e[i]})),o.apply(void 0,t)})),[Object.keys(n),i]};var gt,bt=function(e,t,n){var r={FlatJSON:yt,DSVStr:mt,DSVArr:rt},a=D(e);if(!a)throw new Error("Couldn't detect the data format");return r[a](e,t,n)},wt=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,i=void 0;try{for(var o,u=e[Symbol.iterator]();!(r=(o=u.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(a)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Ot(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function Et(e,t,n,r){var a={},i=!0,o=!1,u=void 0;try{for(var c,f=e.entries()[Symbol.iterator]();!(i=(c=f.next()).done);i=!0){var l=c.value,s=wt(l,2),d=s[0],p=s[1];a[p.name()]=new k(t[d][r],n[d][r],p)}}catch(e){o=!0,u=e}finally{try{!i&&f.return&&f.return()}finally{if(o)throw u}}return a}function At(e){var t={};for(var n in e)t[n]=new k(e[n].formattedValue,e[n].rawValue,n);return t}var jt=function(e,t,n){var r=wt(e,2),a=r[0],i=r[1],o=i.length?i.split(","):[],l=t.fieldsObj(),s=o.map((function(e){return function(e,t){var n=e.schema;switch(n.type){case f.MEASURE:switch(n.subtype){case c.CONTINUOUS:default:return new Ye(e,t)}case f.DIMENSION:switch(n.subtype){case u.CATEGORICAL:return new Me(e,t);case u.TEMPORAL:return new Pe(e,t);case u.BINNED:return new Le(e,t);default:return new Me(e,t)}default:return new Me(e,t)}}(l[e].partialField,a)}));return F.createNamespace(s,n)},St=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments[3];t===L.COMPOSE?(e._derivation.length=0,(n=e._derivation).push.apply(n,_t(a))):e._derivation.push({op:t,meta:r,criteria:a})},Dt=function(e,t){var n;(n=t._ancestorDerivation).push.apply(n,_t(e._ancestorDerivation).concat(_t(e._derivation)))},Ft=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments[4];St(t,n,r,a),Dt(e,t)},Nt=(Ot(gt={},l.NORMAL,{diffIndex:["rowDiffset"],calcDiff:[!0,!1]}),Ot(gt,l.INVERSE,{diffIndex:["rejectRowDiffset"],calcDiff:[!1,!0]}),Ot(gt,l.ALL,{diffIndex:["rowDiffset","rejectRowDiffset"],calcDiff:[!0,!0]}),gt),kt=function(e,t,n){if(-1!==n&&t===n+1){var r=e.length-1;e[r]=e[r].split("-")[0]+"-"+t}else e.push(""+t)},Tt=function(e,t,n){var r=[],a=[],i=wt(Nt[n].calcDiff,2),o=i[0],u=i[1];return T(e,(function(e){var n=t(e);n&&o&&kt(r,e,-1),!n&&u&&kt(a,e,-1)})),{rowDiffset:r.join(","),rejectRowDiffset:a.join(",")}},Rt=function(e,t,n,r,a){var i={},o={},u={};return T(e,(function(e){if(t(e)){var n="",c={keys:{}};r.forEach((function(t){var r=a[t].partialFi