jsonstat-suite 3.2.2 → 3.2.5
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/iife.js +2 -2
- package/import.mjs +2 -2
- package/main.cjs +2 -2
- package/module.mjs +2 -2
- package/package.json +2 -2
- package/rollup.config.js +12 -3
package/iife.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// jsonstat-suite v3.2.
|
|
2
|
-
var JSONstatUtils=function(e,t){"use strict";function n(e,n){return null==e?null:("string"!=typeof e&&void 0!==e.length||(e=t(e)),0===e.length||"dataset"!==e.class&&"collection"!==e.class&&"bundle"!==e.class?null:"dataset"===e.class?e:e.Dataset(n))}function r(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function a(e,t,n){var r,a,l,i,o;return(t.label||n).capitalize()+(a=t,o="",(r=e)&&"metric"===r.role&&a.unit&&(l=a.unit.hasOwnProperty("label")?a.unit.label:"")+(i=a.unit.hasOwnProperty("symbol")?a.unit.symbol:"")!==""&&(o=" ("+(o=""===i?l:""===l?i:"start"===a.unit.position?i+l:l+" "+i)+")"),o)}function l(e,t,n){var r,l='<select name="'+t+'">',i=[];if(null!==n[1]){if(r=e.id,i=e.Dimension(),2===r.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var o=e.Dimension(t);if(r=o.id,i=o.Category(),1===r.length)return}return r.forEach((function(e,t){var r=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(l+="<option "+r+'value="'+e+'">'+a(o,i[t],e)+"</option>")})),l+="</select>"}function i(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function o(e,n){if(void 0===e)return null;void 0===n&&(n={}),"boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1);var r=n.vlabel||"Value",a=n.slabel||"Status",l=n.type||"array",o=n.label||"",s=n.header||null,u=[],c=[],f=[],d=[],h={},v={},p=function(e,t){for(var n=1,r=0,a=0;a<E;a++)r+=(n*=a>0?t[E-a]:1)*e[E-a-1];return r},b=function(){var t=e[S][r];f[p(A,c)]=isNaN(t)?null:t};switch(l){case"array":e=function(e){for(var t=e[0],n=e.slice(1),r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a][i];r.push(s)}return r}(e);break;case"object":e=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a].c[i].v;r.push(s)}return r}(e)}var y,g=e.length;for(var m in n.hasOwnProperty("drop")&&Array.isArray(n.drop)&&n.drop.length&&e.forEach((function(e){n.drop.forEach((function(t){delete e[t]}))})),e[0])if(m!==r)if(m!==a){if(u.push(m),s)y=s.dimension[m],h[m]=y.category.index;else{h[m]=[];for(var w=0;w<g;w++){var O=e[w][m];-1===h[m].indexOf(O)&&h[m].push(O)}}c.push(h[m].length),v[m]={label:s?y.label:m,category:{index:h[m]}},s&&(v[m].category.label=y.category.label,y.category.unit&&(v[m].category.unit=y.category.unit))}else b=function(){var t=e[S][r],n=e[S][a];f[p(A,c)]=isNaN(t)?null:t,d[p(A,c)]=""===n?null:n};for(var E=u.length,S=0;S<g;S++){for(var A=[],x=0;x<E;x++){var j=u[x];A.push(h[j].indexOf(e[S][j]))}b()}var D={version:"2.0",class:"dataset",value:f,dimension:v,id:u,size:c};return o&&(D.label=o),d.length&&(D.status=d),s&&(s.label&&(D.label=s.label),s.source&&(D.source=s.source),s.updated&&(D.updated=s.updated),s.href&&(D.href=s.href),s.role&&(D.role=s.role)),n.ovalue&&(D.value=i(D,"value")),n.ostatus&&D.hasOwnProperty("status")&&(D.status=i(D,"status")),n.instance?t(D):D}function s(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};return e.datalist=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var a="",l="",i="",o=0,s=t.na||"n/a",u=t.dsid||0,c=t.vlabel||null,f=t.slabel||null,d=t.counter||!1,h=t.tblclass||"",v=t.numclass||"",p=t.valclass||"",b=t.status||!1,y=t.locale||"en-US",g=t.source||"Source",m=n(e,u),w=m.role&&m.role.metric?m.id.indexOf(m.role.metric[0]):null,O=m.Dimension({role:"metric"}),E={},S=Number.toLocaleString&&"none"!==y?function(e,t){return null===t?e.toLocaleString(y):e.toLocaleString(y,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},A=function(e,t){var n=null;e.forEach((function(e,r){var i=D===r?' class="'+v+" "+p+'"':"",o=s;t?(w===r&&(n=E[e]),null!==e&&(o=D===r?S(e,n):e),l+="<td"+i+">"+o+"</td>"):a+="<th"+i+">"+e+"</th>"}))},x=d?function(e,t){t?l+='<tr><td class="'+v+'">'+t+"</td>":a+='<th class="'+v+'">#</th>',A(e,t),l+="</tr>"}:function(e,t){l+="<tr>",A(e,t),l+="</tr>"};if(!r(m))return null;O&&O[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;E[e.label]=t}));var j=m.toTable({status:b,vlabel:c,slabel:f}),D=j[0].length-1;return j.forEach((function(e,t){x(e,t)})),m.source&&(o=m.length+1,d&&o++,b&&o++,"."!==(g+=": "+m.source).slice(-1)&&(g+="."),i='<tfoot><td colspan="'+o+'">'+g+"</td></tfoot>"),'<table class="'+h+'"><caption>'+(t.caption||m.label||"")+"</caption><thead><tr>"+a+"</tr></thead><tbody>"+l+"</tbody>"+i+"</table>"},e.fromCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,r,a,l=[],i=null,s=null,u=!1,c={time:[],geo:[],metric:[]},f="jsonstat"===e.substring(0,8),d=f?"value":t.vlabel,h=f?"status":t.slabel,v=f?e.substring(8,9):t.delimiter||",",p=";"===v?t.decimal||",":t.decimal||".",b=function(e,t){t=t||",";for(var n,r,a=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),l=[[]],i=null;i=a.exec(e);)(r=i[1]).length&&r!=t&&l.push([]),n=i[2]?i[2].replace(new RegExp('""',"g"),'"'):i[3],l[l.length-1].push(n);return l}(e.trim(),v);if(f){for(p=b[0][1],a=b[0][2],b.shift();"data"!==b[0][0];)l.push(b.shift());b.shift(),s={dimension:{}},l.forEach((function(e){var t,n,r,l,i,o,f,d;switch(e[0]){case"dimension":if(s.dimension[e[1]]={},(l=s.dimension[e[1]]).label=e[2],l.category={},(i=l.category).index=[],n={},r=2*e[3]+3,e.length>=r){for(t=4;t<r;t++)f=e[t],d=e[++t],Object.defineProperty(n,f,{value:d,writable:!0,configurable:!0,enumerable:!0}),i.label=n,i.index.push(f);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(c[e[t]].push(e[1]),u=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(i.unit={},i.index.forEach((function(n,r){var l=e[t+r].split(a);i.unit[n]={},o=i.unit[n],void 0!==l[0]&&""!==l[0]&&(o.decimals=1*l[0]),void 0!==l[1]&&""!==l[1]&&(o.label=l[1]),void 0!==l[2]&&""!==l[2]&&(o.symbol=l[2]),void 0!==l[1]&&-1!==["start","end"].indexOf(l[3])&&(o.position=l[3])}))))}break;case"label":case"source":case"updated":case"href":s[e[0]]=e[1]||null}})),u&&(c.time.length||delete c.time,c.geo.length||delete c.geo,c.metric.length||delete c.metric,s.role=c)}if(n=b.length,r=b[0].length,void 0!==d){for(;r--;)if(b[0][r]===d){i=r;break}if(null===i)return null}else i=r-1,d=b[0][i];if(","===p)for(r=1;r<n;r++)b[r][i]=Number(b[r][i].replace(",","."));else for(r=1;r<n;r++)b[r][i]=Number(b[r][i]);return o(b,{header:s,vlabel:d,slabel:h,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})},e.fromSDMX=function(e,n){if("object"!=typeof e||!e.hasOwnProperty("dataSets")||!Array.isArray(e.dataSets))return null;if(1!==e.dataSets.length)return null;e.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,r=e.structure,a=r.dimensions,l={};Object.keys(n).forEach(e=>{var t=n[e].observations;Object.keys(t).forEach(r=>{l[e+":"+r]=t[r].concat(n[e].attributes)})}),t.observations=l,delete t.series,a.observation=a.series.concat(a.observation),delete a.series,r.attributes.observation=r.attributes.observation.concat(r.attributes.series),delete r.attributes.series}(e),void 0===n?n={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1));var r=e.structure,a=e.dataSets[0].observations,l=r.attributes.observation,i=r.dimensions;if(!i.hasOwnProperty("observation"))return null;if(i.hasOwnProperty("series")&&(null!==i.series||Object.keys(i.series).length))return null;Array.prototype.reduce||Object.defineProperty(Array.prototype,"reduce",{value:function(e){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof e)throw new TypeError(e+" is not a function");var t,n=Object(this),r=n.length>>>0,a=0;if(arguments.length>=2)t=arguments[1];else{for(;a<r&&!(a in n);)a++;if(a>=r)throw new TypeError("Reduce of empty array with no initial value");t=n[a++]}for(;a<r;)a in n&&(t=e(t,n[a],a,n)),a++;return t}}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(e){if(null==this)throw TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError("predicate must be a function");for(var r=arguments[1],a=0;a<n;){var l=t[a];if(e.call(r,l,a,t))return l;a++}},configurable:!0,writable:!0}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var r=arguments[1],a=0;a<n;){var l=t[a];if(e.call(r,l,a,t))return a;a++}return-1},configurable:!0,writable:!0});var o=1,s=[],u=[],c={},f=[],d={time:[],geo:[]},h=function(){},v=function(e,t){for(var n=e.size,r=n.length-t.length;r--;)t.push(0);for(var a=0,l=n.length,i=0,o=1;a<l;a++)i+=(o*=a>0?n[l-a]:1)*t[l-a-1];return i},p=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":d.geo.push(e.id);break;case"TIME_PERIOD":d.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),s.push(e.id),u.push(e.values.length),o*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},b=e.header.links?e.header.links.find((function(e){return"request"===e.rel})):null,y=l.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==y&&(l[y].values.length?f=l[y].values:y=-1),i.observation.forEach(p),i.hasOwnProperty("dataSet")&&i.dataSet.forEach(p);var g={version:"2.0",class:"dataset",updated:e.header.prepared||null,source:e.header.sender.name||null,label:r.name||null,id:s,size:u,dimension:c,value:n.ovalue?{}:new Array(o).fill(null)};for(var m in b&&(g.link={alternate:[{type:"application/vnd.sdmx.data+json",href:b.href}]}),d.geo.length+d.time.length>0&&(d.time.length||delete d.time,d.geo.length||delete d.geo,g.role=d),-1!==y&&(g.status=n.ostatus?{}:new Array(o).fill(null),g.extension={status:{label:{}}},f.forEach((function(e){g.extension.status.label[e.id]=e.name})),h=n.ostatus?function(){var e=a[m][y];null!==e&&(g.status[v(g,w)]=f[e].id)}:function(){var e=a[m][y];g.status[v(g,w)]=null===e?null:f[e].id}),y++,a){var w=m.split(":");n.ovalue&&null===a[m][0]||(g.value[v(g,w)]=a[m][0]),h()}return n.instance?t(g):g},e.fromTable=o,e.join=function(e,n){if(void 0===e||!Array.isArray(e))return null;var r=JSON.parse(JSON.stringify(e)),a=r[0];if(!a.hasOwnProperty("version")||!a.hasOwnProperty("class")||"dataset"!==a.class)return null;void 0===n&&(n={});var l=void 0===n.label?null:n.label,i=void 0===n.by?null:n.by,s=[];if(null===i){for(var u=1,c=r.length;u<c;u++)s=s.concat(r[u].value);return a.value=s,null!==l&&(a.label=l),a}var f,d,h,v=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=0===t[r]?n:t[r];return e};r.forEach((function(e,n){var r=t(e).toTable({status:!0}),a=e.dimension[i].category;0===n?(s=[r[0]],f=a.index,d=a.label,h=a.unit):(f=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=t[r]+n;return e}(f,a.index,Object.keys(f).length),d=v(d,a.label,n),h=v(h,a.unit,n)),s=s.concat(r.slice(1))}));var p=o(s);return a.value=p.value,a.size=p.size,a.status=p.status||null,a.label=l||"",a.href=null,a.dimension[i].category.index=f||null,a.dimension[i].category.label=d||null,a.dimension[i].category.unit=h||null,a},e.tbrowser=function(e,t,i){function o(e){void 0!==t?t.innerHTML=s[e]:window.alert(s[e])}if(void 0!==e)if(void 0!==t){void 0===i&&(i={});var s=void 0===i.i18n||void 0===i.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:i.i18n.msgs,u=void 0===i.i18n||void 0===i.i18n.locale?"en-US":i.i18n.locale,c=i.dsid||0,f=i.status||!1,d=i.tblclass||"",h=i.nonconst||!1,v=n(e,c);if(r(v)){if(h)var p=function(e){var t=0,n=e.size.slice(0),r=[];return n.forEach((function(n,a){var l=a-t,i=e.Dimension(l);1===n&&(delete e.__tree__.dimension[e.id[l]],e.size.splice(l,1),e.id.splice(l,1),e.length--,t++,r.push(i.label.capitalize()+": "+i.Category(0).label.capitalize()))})),r}(v);1!==v.length?function e(t,n,r,i){var o="",c="",d="",v="",b=r.rows,y=n.Dimension(b),g=y.id,m=r.cols,w=n.Dimension(m),O=w.id,E=n.role&&n.role.metric?n.role.metric[0]:null,S=null!==E?n.Dimension(E):null,A=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},x=r.filter,j=JSON.parse(JSON.stringify(x)),D=[],P="",T="",N=n.source?s.source+": "+n.source:"",z=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var C in h&&p.length&&(z='<span class="label">'+p.join(". ")+"</span>"),""!==N&&"."!==N.slice(-1)&&(N+="."),d+="<caption>"+z+"<form>",x){var R=n.Dimension(C),k=R.label?R.label.capitalize():C.capitalize();R.length>1?P+="<p>"+l(n,C,[x[C],null])+" <strong>"+k+"</strong></p>":D.push({label:k,value:a(R,R.Category(0)),name:C,id:R.id[0]})}""!==P&&(P='<fieldset id="filters"><legend>'+s.filters+"</legend>"+P+"</fieldset>"),D.forEach((function(e){T+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==T&&(T='<fieldset id="constants"><legend>'+s.constants+"</legend>"+T+"</fieldset>"),d+=T+P+'<fieldset id="rowscols"><legend>'+s.rc+"</legend>"+l(n,"rows",[b,m])+" <a>↔</a> "+l(n,"cols",[m,b])+"</fieldset></form></caption>",v+="<tbody>";var _=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(g.forEach((function(e){j[b]=e;var t=n.Data(j),r=function(e,t){var n,r=m!==E?null===S?null:A(S.Category(j[E])):A(w.Category(t));null!==e.value?(n=_(e.value,r),f&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||s.na,v+="<td>"+n+"</td>"};null!==t?(v+='<tr><th scope="row">'+a(y,y.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){r(e,t)})):r(t,0),v+="</tr>"):v="ERROR"})),"ERROR"===v)return s.dataerror;v+="</tbody>",o+="<thead><tr><th></th>",O.forEach((function(e){o+='<th scope="col">'+a(w,w.Category(e))+"</th>"})),o+="</tr></thead>",""!==N&&(c='<tfoot><tr><td colspan="'+(O.length+1)+'">'+N+"</td></tr></tfoot>"),t.innerHTML='<table class="'+i+'">'+d+o+v+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(r){r.addEventListener("change",(function(r){var a,l;e(t,n,function(e,t,n){var r={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?r[e.name]=e.value:r.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==r.rows&&t!==r.cols?void 0===r.filter[t]&&(r.filter[t]=e.Dimension(n).id[0]):delete r.filter[t]})),r}(n,r.target.parentElement.getAttribute("id"),(a=t,l=[],[].slice.call(a.querySelectorAll("select, input")).forEach((function(e){l.push({name:e.name,value:e.value})})),l)),i)}),!1)})),t.querySelector("a").addEventListener("click",(function(){r.cols=b,r.rows=m,e(t,n,r,i)}),!1)}(t,v,function(e,t){var n,r,a={},l=[],i=e.id;if(t){var o="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){l.push({id:i[t],len:e.length})})),l.sort(o),n=l[0].id,r=l[1].id}else n=i[0],r=i[1];return e.Dimension(n).length<e.Dimension(r).length&&(n=r+(r=n,"")),i.forEach((function(t){t!==n&&t!==r&&(a[t]=e.Dimension(t).id[0])})),{rows:n,cols:r,filter:a}}(v,i.preset),d):o("dimerror")}else o("jsonerror")}else o("selerror");else o("urierror")},e.toCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var a=!0===t.rich,l=a?"value":t.vlabel||"Value",i=a?"status":t.slabel||"Status",o=!0===t.status,u=t.na||"n/a",c=t.delimiter||",",f=t.separator||"|",d=";"===c?t.decimal||",":t.decimal||".",h=!0===t.array,v=n(e,t.dsid||0),p=h?[]:"",b=h?[]:"",y=h?function(e){p.push(e)}:function(e){p+=e+"\n"},g=h?function(e){b.push(e)}:function(e){b+=e+"\n"};if(!r(v))return null;a&&(o=null!==v.status);var m=v.toTable({vlabel:l,slabel:i,status:o,field:a?"id":"label",content:a?"id":"label",type:"array"}),w=m[0].indexOf(l),O=o?m[0].indexOf(i):-1;return m.forEach((function(e,t){e.forEach((function(n,r){t&&r===w?null===n?e[r]=s(u,c):"."!==d&&(e[r]=String(e[r]).replace(".",d)):e[r]=t&&r===O&&null===n?"":s(e[r],c)})),y(e.join(c))})),a&&(g("jsonstat"+c+d+c+f),["label","source","updated","href"].forEach((function(e){v[e]&&g(e+c+s(v[e],c))})),v.id.forEach((function(e,t){var n=[],r=v.Dimension(t),a=r.role,l=!1,i="";i+="dimension"+c+s(e,c)+c+s(r.label,c)+c+r.length,"metric"===a&&r.__tree__.category.unit&&(l=!0),r.id.forEach((function(e,t){var a=[],o=r.Category(t);i+=c+s(e,c)+c+s(o.label,c),l&&(a.push(o.unit.hasOwnProperty("decimals")?o.unit.decimals:""),a.push(o.unit.label||""),o.unit.symbol&&(a.push(o.unit.symbol),a.push(o.unit.position)),n.push(s(a.join(f),c)))})),null!==a&&"classification"!==a&&(i+=c+r.role,l&&(i+=c+n.join(c))),g(i)})),p=h?b.concat(["data"],p):b+"data\n"+p),p},e.version="3.2.2",e}({},JSONstat);
|
|
1
|
+
// jsonstat-suite v3.2.5 Copyright 2022 Xavier Badosa https://jsonstat.com
|
|
2
|
+
var JSONstatUtils=function(e,t){"use strict";function n(e,n){return null==e?null:("string"!=typeof e&&void 0!==e.length||(e=t(e)),0===e.length||"dataset"!==e.class&&"collection"!==e.class&&"bundle"!==e.class?null:"dataset"===e.class?e:e.Dataset(n))}function r(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function a(e,t,n){var r,a,l,i,o;return(t.label||n).capitalize()+(a=t,o="",(r=e)&&"metric"===r.role&&a.unit&&(l=a.unit.hasOwnProperty("label")?a.unit.label:"")+(i=a.unit.hasOwnProperty("symbol")?a.unit.symbol:"")!==""&&(o=" ("+(o=""===i?l:""===l?i:"start"===a.unit.position?i+l:l+" "+i)+")"),o)}function l(e,t,n){var r,l='<select name="'+t+'">',i=[];if(null!==n[1]){if(r=e.id,i=e.Dimension(),2===r.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var o=e.Dimension(t);if(r=o.id,i=o.Category(),1===r.length)return}return r.forEach((function(e,t){var r=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(l+="<option "+r+'value="'+e+'">'+a(o,i[t],e)+"</option>")})),l+="</select>"}function i(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function o(e,n){if(void 0===e)return null;void 0===n&&(n={}),"boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1);var r=n.vlabel||"Value",a=n.slabel||"Status",l=n.type||"array",o=n.label||"",s=n.header||null,u=[],c=[],f=[],d=[],h={},v={},p=function(e,t){for(var n=1,r=0,a=0;a<E;a++)r+=(n*=a>0?t[E-a]:1)*e[E-a-1];return r},b=function(){var t=e[S][r];f[p(A,c)]=isNaN(t)?null:t};switch(l){case"array":e=function(e){for(var t=e[0],n=e.slice(1),r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a][i];r.push(s)}return r}(e);break;case"object":e=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a].c[i].v;r.push(s)}return r}(e)}var y,g=e.length;for(var m in n.hasOwnProperty("drop")&&Array.isArray(n.drop)&&n.drop.length&&e.forEach((function(e){n.drop.forEach((function(t){delete e[t]}))})),e[0])if(m!==r)if(m!==a){if(u.push(m),s)y=s.dimension[m],h[m]=y.category.index;else{h[m]=[];for(var w=0;w<g;w++){var O=e[w][m];-1===h[m].indexOf(O)&&h[m].push(O)}}c.push(h[m].length),v[m]={label:s?y.label:m,category:{index:h[m]}},s&&(v[m].category.label=y.category.label,y.category.unit&&(v[m].category.unit=y.category.unit))}else b=function(){var t=e[S][r],n=e[S][a];f[p(A,c)]=isNaN(t)?null:t,d[p(A,c)]=""===n?null:n};for(var E=u.length,S=0;S<g;S++){for(var A=[],x=0;x<E;x++){var P=u[x];A.push(h[P].indexOf(e[S][P]))}b()}var j={version:"2.0",class:"dataset",value:f,dimension:v,id:u,size:c};return o&&(j.label=o),d.length&&(j.status=d),s&&(s.label&&(j.label=s.label),s.source&&(j.source=s.source),s.updated&&(j.updated=s.updated),s.href&&(j.href=s.href),s.role&&(j.role=s.role)),n.ovalue&&(j.value=i(j,"value")),n.ostatus&&j.hasOwnProperty("status")&&(j.status=i(j,"status")),n.instance?t(j):j}function s(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}t=t&&t.hasOwnProperty("default")?t.default:t,String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};return e.datalist=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var a="",l="",i="",o=0,s=t.na||"n/a",u=t.dsid||0,c=t.vlabel||null,f=t.slabel||null,d=t.counter||!1,h=t.tblclass||"",v=t.numclass||"",p=t.valclass||"",b=t.status||!1,y=t.locale||"en-US",g=t.source||"Source",m=n(e,u),w=m.role&&m.role.metric?m.id.indexOf(m.role.metric[0]):null,O=m.Dimension({role:"metric"}),E={},S=Number.toLocaleString&&"none"!==y?function(e,t){return null===t?e.toLocaleString(y):e.toLocaleString(y,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},A=function(e,t){var n=null;e.forEach((function(e,r){var i=j===r?' class="'+v+" "+p+'"':"",o=s;t?(w===r&&(n=E[e]),null!==e&&(o=j===r?S(e,n):e),l+="<td"+i+">"+o+"</td>"):a+="<th"+i+">"+e+"</th>"}))},x=d?function(e,t){t?l+='<tr><td class="'+v+'">'+t+"</td>":a+='<th class="'+v+'">#</th>',A(e,t),l+="</tr>"}:function(e,t){l+="<tr>",A(e,t),l+="</tr>"};if(!r(m))return null;O&&O[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;E[e.label]=t}));var P=m.toTable({status:b,vlabel:c,slabel:f}),j=P[0].length-1;return P.forEach((function(e,t){x(e,t)})),m.source&&(o=m.length+1,d&&o++,b&&o++,"."!==(g+=": "+m.source).slice(-1)&&(g+="."),i='<tfoot><td colspan="'+o+'">'+g+"</td></tfoot>"),'<table class="'+h+'"><caption>'+(t.caption||m.label||"")+"</caption><thead><tr>"+a+"</tr></thead><tbody>"+l+"</tbody>"+i+"</table>"},e.fromCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,r,a,l=[],i=null,s=null,u=!1,c={time:[],geo:[],metric:[]},f="jsonstat"===e.substring(0,8),d=f?"value":t.vlabel,h=f?"status":t.slabel,v=f?e.substring(8,9):t.delimiter||",",p=";"===v?t.decimal||",":t.decimal||".",b=function(e,t){t=t||",";for(var n,r,a=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),l=[[]],i=null;i=a.exec(e);)(r=i[1]).length&&r!=t&&l.push([]),n=i[2]?i[2].replace(new RegExp('""',"g"),'"'):i[3],l[l.length-1].push(n);return l}(e.trim(),v);if(f){for(p=b[0][1],a=b[0][2],b.shift();"data"!==b[0][0];)l.push(b.shift());b.shift(),s={dimension:{}},l.forEach((function(e){var t,n,r,l,i,o,f,d;switch(e[0]){case"dimension":if(s.dimension[e[1]]={},(l=s.dimension[e[1]]).label=e[2],l.category={},(i=l.category).index=[],n={},r=2*e[3]+3,e.length>=r){for(t=4;t<r;t++)f=e[t],d=e[++t],Object.defineProperty(n,f,{value:d,writable:!0,configurable:!0,enumerable:!0}),i.label=n,i.index.push(f);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(c[e[t]].push(e[1]),u=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(i.unit={},i.index.forEach((function(n,r){var l=e[t+r].split(a);i.unit[n]={},o=i.unit[n],void 0!==l[0]&&""!==l[0]&&(o.decimals=1*l[0]),void 0!==l[1]&&""!==l[1]&&(o.label=l[1]),void 0!==l[2]&&""!==l[2]&&(o.symbol=l[2]),void 0!==l[1]&&-1!==["start","end"].indexOf(l[3])&&(o.position=l[3])}))))}break;case"label":case"source":case"updated":case"href":s[e[0]]=e[1]||null}})),u&&(c.time.length||delete c.time,c.geo.length||delete c.geo,c.metric.length||delete c.metric,s.role=c)}if(n=b.length,r=b[0].length,void 0!==d){for(;r--;)if(b[0][r]===d){i=r;break}if(null===i)return null}else i=r-1,d=b[0][i];if(","===p)for(r=1;r<n;r++)b[r][i]=Number(b[r][i].replace(",","."));else for(r=1;r<n;r++)b[r][i]=Number(b[r][i]);return o(b,{header:s,vlabel:d,slabel:h,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})},e.fromSDMX=function(e,n){if("object"!=typeof e)return null;if(e.hasOwnProperty("data")&&e.hasOwnProperty("meta")&&e.data.hasOwnProperty("dataSets")&&e.data.hasOwnProperty("structures")&&Array.isArray(e.data.structures)&&(e.dataSets=e.data.dataSets,e.structure=e.data.structures[0],e.header=e.meta),!e.hasOwnProperty("dataSets")||!Array.isArray(e.dataSets))return null;if(1!==e.dataSets.length)return null;e.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,r=e.structure,a=r.dimensions,l={};Object.keys(n).forEach((function(e){var t=n[e].observations;Object.keys(t).forEach((function(r){l[e+":"+r]=t[r].concat(n[e].attributes)}))})),t.observations=l,delete t.series,a.observation=a.series.concat(a.observation),delete a.series,r.attributes.observation=r.attributes.observation.concat(r.attributes.series),delete r.attributes.series}(e),void 0===n?n={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1));var r=e.structure,a=e.dataSets[0].observations,l=r.attributes.observation,i=r.dimensions;if(!i.hasOwnProperty("observation"))return null;if(i.hasOwnProperty("series")&&Object.keys(i.series).length)return null;Array.prototype.reduce||Object.defineProperty(Array.prototype,"reduce",{value:function(e){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof e)throw new TypeError(e+" is not a function");var t,n=Object(this),r=n.length>>>0,a=0;if(arguments.length>=2)t=arguments[1];else{for(;a<r&&!(a in n);)a++;if(a>=r)throw new TypeError("Reduce of empty array with no initial value");t=n[a++]}for(;a<r;)a in n&&(t=e(t,n[a],a,n)),a++;return t}}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(e){if(null==this)throw TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError("predicate must be a function");for(var r=arguments[1],a=0;a<n;){var l=t[a];if(e.call(r,l,a,t))return l;a++}},configurable:!0,writable:!0}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var r=arguments[1],a=0;a<n;){var l=t[a];if(e.call(r,l,a,t))return a;a++}return-1},configurable:!0,writable:!0});var o=1,s=[],u=[],c={},f=[],d={time:[],geo:[]},h=function(){},v=function(e,t){for(var n=e.size,r=n.length-t.length;r--;)t.push(0);for(var a=0,l=n.length,i=0,o=1;a<l;a++)i+=(o*=a>0?n[l-a]:1)*t[l-a-1];return i},p=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":d.geo.push(e.id);break;case"TIME_PERIOD":d.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),s.push(e.id),u.push(e.values.length),o*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},b=e.header.links?e.header.links.find((function(e){return"request"===e.rel})):null,y=l.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==y&&(l[y].values.length?f=l[y].values:y=-1),i.observation.forEach(p),i.hasOwnProperty("dataSet")&&i.dataSet.forEach(p);var g={version:"2.0",class:"dataset",updated:e.header.prepared||null,source:e.header.sender.name||null,label:r.name||null,id:s,size:u,dimension:c,value:n.ovalue?{}:new Array(o).fill(null)};for(var m in b&&(g.link={alternate:[{type:"application/vnd.sdmx.data+json",href:b.href}]}),d.geo.length+d.time.length>0&&(d.time.length||delete d.time,d.geo.length||delete d.geo,g.role=d),-1!==y&&(g.status=n.ostatus?{}:new Array(o).fill(null),g.extension={status:{label:{}}},f.forEach((function(e){g.extension.status.label[e.id]=e.name})),h=n.ostatus?function(){var e=a[m][y];null!==e&&(g.status[v(g,w)]=f[e].id)}:function(){var e=a[m][y];g.status[v(g,w)]=null===e?null:f[e].id}),y++,a){var w=m.split(":");n.ovalue&&null===a[m][0]||(g.value[v(g,w)]=a[m][0]),h()}return n.instance?t(g):g},e.fromTable=o,e.join=function(e,n){if(void 0===e||!Array.isArray(e))return null;var r=JSON.parse(JSON.stringify(e)),a=r[0];if(!a.hasOwnProperty("version")||!a.hasOwnProperty("class")||"dataset"!==a.class)return null;void 0===n&&(n={});var l=void 0===n.label?null:n.label,i=void 0===n.by?null:n.by,s=[];if(null===i){for(var u=1,c=r.length;u<c;u++)s=s.concat(r[u].value);return a.value=s,null!==l&&(a.label=l),a}var f,d,h,v=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=0===t[r]?n:t[r];return e};r.forEach((function(e,n){var r=t(e).toTable({status:!0}),a=e.dimension[i].category;0===n?(s=[r[0]],f=a.index,d=a.label,h=a.unit):(f=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=t[r]+n;return e}(f,a.index,Object.keys(f).length),d=v(d,a.label,n),h=v(h,a.unit,n)),s=s.concat(r.slice(1))}));var p=o(s);return a.value=p.value,a.size=p.size,a.status=p.status||null,a.label=l||"",a.href=null,a.dimension[i].category.index=f||null,a.dimension[i].category.label=d||null,a.dimension[i].category.unit=h||null,a},e.tbrowser=function(e,t,i){function o(e){void 0!==t?t.innerHTML=s[e]:window.alert(s[e])}if(void 0!==e)if(void 0!==t){void 0===i&&(i={});var s=void 0===i.i18n||void 0===i.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:i.i18n.msgs,u=void 0===i.i18n||void 0===i.i18n.locale?"en-US":i.i18n.locale,c=i.dsid||0,f=i.status||!1,d=i.tblclass||"",h=i.nonconst||!1,v=n(e,c);if(r(v)){if(h)var p=function(e){var t=0,n=e.size.slice(0),r=[];return n.forEach((function(n,a){var l=a-t,i=e.Dimension(l);1===n&&(delete e.__tree__.dimension[e.id[l]],e.size.splice(l,1),e.id.splice(l,1),e.length--,t++,r.push(i.label.capitalize()+": "+i.Category(0).label.capitalize()))})),r}(v);1!==v.length?function e(t,n,r,i){var o="",c="",d="",v="",b=r.rows,y=n.Dimension(b),g=y.id,m=r.cols,w=n.Dimension(m),O=w.id,E=n.role&&n.role.metric?n.role.metric[0]:null,S=null!==E?n.Dimension(E):null,A=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},x=r.filter,P=JSON.parse(JSON.stringify(x)),j=[],D="",T="",N=n.source?s.source+": "+n.source:"",z=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var C in h&&p.length&&(z='<span class="label">'+p.join(". ")+"</span>"),""!==N&&"."!==N.slice(-1)&&(N+="."),d+="<caption>"+z+"<form>",x){var R=n.Dimension(C),k=R.label?R.label.capitalize():C.capitalize();R.length>1?D+="<p>"+l(n,C,[x[C],null])+" <strong>"+k+"</strong></p>":j.push({label:k,value:a(R,R.Category(0)),name:C,id:R.id[0]})}""!==D&&(D='<fieldset id="filters"><legend>'+s.filters+"</legend>"+D+"</fieldset>"),j.forEach((function(e){T+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==T&&(T='<fieldset id="constants"><legend>'+s.constants+"</legend>"+T+"</fieldset>"),d+=T+D+'<fieldset id="rowscols"><legend>'+s.rc+"</legend>"+l(n,"rows",[b,m])+" <a>↔</a> "+l(n,"cols",[m,b])+"</fieldset></form></caption>",v+="<tbody>";var _=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(g.forEach((function(e){P[b]=e;var t=n.Data(P),r=function(e,t){var n,r=m!==E?null===S?null:A(S.Category(P[E])):A(w.Category(t));null!==e.value?(n=_(e.value,r),f&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||s.na,v+="<td>"+n+"</td>"};null!==t?(v+='<tr><th scope="row">'+a(y,y.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){r(e,t)})):r(t,0),v+="</tr>"):v="ERROR"})),"ERROR"===v)return s.dataerror;v+="</tbody>",o+="<thead><tr><th></th>",O.forEach((function(e){o+='<th scope="col">'+a(w,w.Category(e))+"</th>"})),o+="</tr></thead>",""!==N&&(c='<tfoot><tr><td colspan="'+(O.length+1)+'">'+N+"</td></tr></tfoot>"),t.innerHTML='<table class="'+i+'">'+d+o+v+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(r){r.addEventListener("change",(function(r){var a,l;e(t,n,function(e,t,n){var r={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?r[e.name]=e.value:r.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==r.rows&&t!==r.cols?void 0===r.filter[t]&&(r.filter[t]=e.Dimension(n).id[0]):delete r.filter[t]})),r}(n,r.target.parentElement.getAttribute("id"),(a=t,l=[],[].slice.call(a.querySelectorAll("select, input")).forEach((function(e){l.push({name:e.name,value:e.value})})),l)),i)}),!1)})),t.querySelector("a").addEventListener("click",(function(){r.cols=b,r.rows=m,e(t,n,r,i)}),!1)}(t,v,function(e,t){var n,r,a={},l=[],i=e.id;if(t){var o="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){l.push({id:i[t],len:e.length})})),l.sort(o),n=l[0].id,r=l[1].id}else n=i[0],r=i[1];return e.Dimension(n).length<e.Dimension(r).length&&(n=r+(r=n,"")),i.forEach((function(t){t!==n&&t!==r&&(a[t]=e.Dimension(t).id[0])})),{rows:n,cols:r,filter:a}}(v,i.preset),d):o("dimerror")}else o("jsonerror")}else o("selerror");else o("urierror")},e.toCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var a=!0===t.rich,l=a?"value":t.vlabel||"Value",i=a?"status":t.slabel||"Status",o=!0===t.status,u=t.na||"n/a",c=t.delimiter||",",f=t.separator||"|",d=";"===c?t.decimal||",":t.decimal||".",h=!0===t.array,v=n(e,t.dsid||0),p=h?[]:"",b=h?[]:"",y=h?function(e){p.push(e)}:function(e){p+=e+"\n"},g=h?function(e){b.push(e)}:function(e){b+=e+"\n"};if(!r(v))return null;a&&(o=null!==v.status);var m=v.toTable({vlabel:l,slabel:i,status:o,field:a?"id":"label",content:a?"id":"label",type:"array"}),w=m[0].indexOf(l),O=o?m[0].indexOf(i):-1;return m.forEach((function(e,t){e.forEach((function(n,r){t&&r===w?null===n?e[r]=s(u,c):"."!==d&&(e[r]=String(e[r]).replace(".",d)):e[r]=t&&r===O&&null===n?"":s(e[r],c)})),y(e.join(c))})),a&&(g("jsonstat"+c+d+c+f),["label","source","updated","href"].forEach((function(e){v[e]&&g(e+c+s(v[e],c))})),v.id.forEach((function(e,t){var n=[],r=v.Dimension(t),a=r.role,l=!1,i="";i+="dimension"+c+s(e,c)+c+s(r.label,c)+c+r.length,"metric"===a&&r.__tree__.category.unit&&(l=!0),r.id.forEach((function(e,t){var a=[],o=r.Category(t);i+=c+s(e,c)+c+s(o.label,c),l&&(a.push(o.unit.hasOwnProperty("decimals")?o.unit.decimals:""),a.push(o.unit.label||""),o.unit.symbol&&(a.push(o.unit.symbol),a.push(o.unit.position)),n.push(s(a.join(f),c)))})),null!==a&&"classification"!==a&&(i+=c+r.role,l&&(i+=c+n.join(c))),g(i)})),p=h?b.concat(["data"],p):b+"data\n"+p),p},e.version="3.2.5",e}({},JSONstat);
|
package/import.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// jsonstat-suite v3.2.
|
|
2
|
-
function e(t){var n,i,r,l,a=function(e,t){var n,i=[];if("string"==typeof e&&(e=[e]),Array.isArray(e)){if(e.length===t)return e;if(1===e.length){for(n=0;n<t;n++)i.push(e[0]);return i}}for(n=0;n<t;n++){var r=void 0===e[n]?null:e[n];i.push(r)}return i};if(this.length=0,this.id=[],null!=t)switch(this.class=t.class||"bundle",this.class){case"bundle":var s=[],o=0;if(this.error=null,this.length=0,null===t||"object"!=typeof t)return void(this.class=null);if(t.hasOwnProperty("error"))return void(this.error=t.error);if("dataset"===t.class||"collection"===t.class||"dimension"===t.class)return new e(t);for(i in t)o++,s.push(i);this.__tree__=t,this.length=o,this.id=s;break;case"dataset":t.hasOwnProperty("__tree__")?this.__tree__=n=t.__tree__:this.__tree__=n=t,this.label=n.label||null,this.note=n.note||null,this.link=n.link||null,this.href=n.href||null,this.updated=n.updated||null,this.source=n.source||null,this.extension=n.extension||null;var u,c=0,f=n.size||n.dimension&&n.dimension.size;if(this.size=f,this.value=n.hasOwnProperty("value")&&null!==n.value&&0!==n.value.length?n.value:{},Array.isArray(this.value))c=this.value.length;else{var h=1;for(u=f.length;u--;)h*=f[u];c=h}if(this.value=a(this.value,c),this.status=n.hasOwnProperty("status")?a(n.status,c):null,n.hasOwnProperty("dimension")){var d=n.dimension,v=n.role||!n.version&&d.role||null,p=n.id||d.id,y=f.length,b=function(e){v.hasOwnProperty(e)||(v[e]=null)};if(!Array.isArray(p)||!Array.isArray(f)||p.length!=y)return;if(this.length=y,this.id=p,v&&(b("time"),b("geo"),b("metric"),b("classification")),v&&null===v.classification){var g=[],m=["time","geo","metric"],_=function(e,t){for(var n=t.length;n--;)if(e===t[n])return!0;return!1};for(u=0;u<3;u++){var w=v[m[u]];null!==w&&(g=g.concat(w))}for(v.classification=[],u=0;u<y;u++)_(p[u],g)||v.classification.push(p[u]);0===v.classification.length&&(v.classification=null)}this.role=v,this.n=c;for(var O=0,x=this.length;O<x;O++)if(d[p[O]].category.hasOwnProperty("index")){if(Array.isArray(d[p[O]].category.index)){var E={},A=d[p[O]].category.index;for(r=A.length,l=0;l<r;l++)E[A[l]]=l;d[p[O]].category.index=E}}else{var S=0;for(i in d[p[O]].category.index={},d[p[O]].category.label)d[p[O]].category.index[i]=S++}}else this.length=0;break;case"dimension":if(!t.hasOwnProperty("__tree__"))return new e({version:"2.0",class:"dataset",dimension:{d:t},id:["d"],size:[function(e){var t=void 0===e.index?e.label:e.index;return Array.isArray(t)?t.length:Object.keys(t).length}(t.category)],value:[null]}).Dimension(0);var D=[],P=(n=t.__tree__).category;if(!n.hasOwnProperty("category"))return;if(!P.hasOwnProperty("label"))for(i in P.label={},P.index)P.label[i]=i;for(i in P.index)D[P.index[i]]=i;this.__tree__=n,this.label=n.label||null,this.note=n.note||null,this.link=n.link||null,this.href=n.href||null,this.id=D,this.length=D.length,this.role=t.role,this.hierarchy=P.hasOwnProperty("child"),this.extension=n.extension||null;break;case"category":var j=t.child;this.id=j,this.length=null===j?0:j.length,this.index=t.index,this.label=t.label,this.note=t.note||null,this.unit=t.unit,this.coordinates=t.coord;break;case"collection":if(this.length=0,this.label=t.label||null,this.note=t.note||null,this.link=t.link||null,this.href=t.href||null,this.updated=t.updated||null,this.source=t.source||null,this.extension=t.extension||null,null!==this.link&&t.link.item){var k=t.link.item;if(this.length=Array.isArray(k)?k.length:0,this.length)for(l=0;l<this.length;l++)this.id[l]=k[l].href}}}function t(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.json()}function n(n,i){return"object"==typeof n?new e(n):"version"===n?"1.3.1":fetch?fetch(n,i).then(t).then((function(t){return new e(t)})):void 0}function i(e,t){return null==e?null:("string"!=typeof e&&void 0!==e.length||(e=n(e)),0===e.length||"dataset"!==e.class&&"collection"!==e.class&&"bundle"!==e.class?null:"dataset"===e.class?e:e.Dataset(t))}function r(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function l(e,t,n){var i,r,l,a,s;return(t.label||n).capitalize()+(r=t,s="",(i=e)&&"metric"===i.role&&r.unit&&(l=r.unit.hasOwnProperty("label")?r.unit.label:"")+(a=r.unit.hasOwnProperty("symbol")?r.unit.symbol:"")!==""&&(s=" ("+(s=""===a?l:""===l?a:"start"===r.unit.position?a+l:l+" "+a)+")"),s)}function a(e,t,n){var i,r='<select name="'+t+'">',a=[];if(null!==n[1]){if(i=e.id,a=e.Dimension(),2===i.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var s=e.Dimension(t);if(i=s.id,a=s.Category(),1===i.length)return}return i.forEach((function(e,t){var i=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(r+="<option "+i+'value="'+e+'">'+l(s,a[t],e)+"</option>")})),r+="</select>"}function s(e,t,n){function s(e){void 0!==t?t.innerHTML=o[e]:window.alert(o[e])}if(void 0!==e)if(void 0!==t){void 0===n&&(n={});var o=void 0===n.i18n||void 0===n.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:n.i18n.msgs,u=void 0===n.i18n||void 0===n.i18n.locale?"en-US":n.i18n.locale,c=n.dsid||0,f=n.status||!1,h=n.tblclass||"",d=n.nonconst||!1,v=i(e,c);if(r(v)){if(d)var p=function(e){var t=0,n=e.size.slice(0),i=[];return n.forEach((function(n,r){var l=r-t,a=e.Dimension(l);1===n&&(delete e.__tree__.dimension[e.id[l]],e.size.splice(l,1),e.id.splice(l,1),e.length--,t++,i.push(a.label.capitalize()+": "+a.Category(0).label.capitalize()))})),i}(v);1!==v.length?function e(t,n,i,r){var s="",c="",h="",v="",y=i.rows,b=n.Dimension(y),g=b.id,m=i.cols,_=n.Dimension(m),w=_.id,O=n.role&&n.role.metric?n.role.metric[0]:null,x=null!==O?n.Dimension(O):null,E=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},A=i.filter,S=JSON.parse(JSON.stringify(A)),D=[],P="",j="",k=n.source?o.source+": "+n.source:"",z=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var N in d&&p.length&&(z='<span class="label">'+p.join(". ")+"</span>"),""!==k&&"."!==k.slice(-1)&&(k+="."),h+="<caption>"+z+"<form>",A){var C=n.Dimension(N),T=C.label?C.label.capitalize():N.capitalize();C.length>1?P+="<p>"+a(n,N,[A[N],null])+" <strong>"+T+"</strong></p>":D.push({label:T,value:l(C,C.Category(0)),name:N,id:C.id[0]})}""!==P&&(P='<fieldset id="filters"><legend>'+o.filters+"</legend>"+P+"</fieldset>"),D.forEach((function(e){j+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==j&&(j='<fieldset id="constants"><legend>'+o.constants+"</legend>"+j+"</fieldset>"),h+=j+P+'<fieldset id="rowscols"><legend>'+o.rc+"</legend>"+a(n,"rows",[y,m])+" <a>↔</a> "+a(n,"cols",[m,y])+"</fieldset></form></caption>",v+="<tbody>";var R=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(g.forEach((function(e){S[y]=e;var t=n.Data(S),i=function(e,t){var n,i=m!==O?null===x?null:E(x.Category(S[O])):E(_.Category(t));null!==e.value?(n=R(e.value,i),f&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||o.na,v+="<td>"+n+"</td>"};null!==t?(v+='<tr><th scope="row">'+l(b,b.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){i(e,t)})):i(t,0),v+="</tr>"):v="ERROR"})),"ERROR"===v)return o.dataerror;v+="</tbody>",s+="<thead><tr><th></th>",w.forEach((function(e){s+='<th scope="col">'+l(_,_.Category(e))+"</th>"})),s+="</tr></thead>",""!==k&&(c='<tfoot><tr><td colspan="'+(w.length+1)+'">'+k+"</td></tr></tfoot>"),t.innerHTML='<table class="'+r+'">'+h+s+v+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(i){i.addEventListener("change",(function(i){var l,a;e(t,n,function(e,t,n){var i={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?i[e.name]=e.value:i.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==i.rows&&t!==i.cols?void 0===i.filter[t]&&(i.filter[t]=e.Dimension(n).id[0]):delete i.filter[t]})),i}(n,i.target.parentElement.getAttribute("id"),(l=t,a=[],[].slice.call(l.querySelectorAll("select, input")).forEach((function(e){a.push({name:e.name,value:e.value})})),a)),r)}),!1)})),t.querySelector("a").addEventListener("click",(function(){i.cols=y,i.rows=m,e(t,n,i,r)}),!1)}(t,v,function(e,t){var n,i,r={},l=[],a=e.id;if(t){var s="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){l.push({id:a[t],len:e.length})})),l.sort(s),n=l[0].id,i=l[1].id}else n=a[0],i=a[1];return e.Dimension(n).length<e.Dimension(i).length&&(n=i+(i=n,"")),a.forEach((function(t){t!==n&&t!==i&&(r[t]=e.Dimension(t).id[0])})),{rows:n,cols:i,filter:r}}(v,n.preset),h):s("dimerror")}else s("jsonerror")}else s("selerror");else s("urierror")}function o(e,t){if(void 0===e)return null;void 0===t&&(t={});var n="",l="",a="",s=0,o=t.na||"n/a",u=t.dsid||0,c=t.vlabel||null,f=t.slabel||null,h=t.counter||!1,d=t.tblclass||"",v=t.numclass||"",p=t.valclass||"",y=t.status||!1,b=t.locale||"en-US",g=t.source||"Source",m=i(e,u),_=m.role&&m.role.metric?m.id.indexOf(m.role.metric[0]):null,w=m.Dimension({role:"metric"}),O={},x=Number.toLocaleString&&"none"!==b?function(e,t){return null===t?e.toLocaleString(b):e.toLocaleString(b,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},E=function(e,t){var i=null;e.forEach((function(e,r){var a=D===r?' class="'+v+" "+p+'"':"",s=o;t?(_===r&&(i=O[e]),null!==e&&(s=D===r?x(e,i):e),l+="<td"+a+">"+s+"</td>"):n+="<th"+a+">"+e+"</th>"}))},A=h?function(e,t){t?l+='<tr><td class="'+v+'">'+t+"</td>":n+='<th class="'+v+'">#</th>',E(e,t),l+="</tr>"}:function(e,t){l+="<tr>",E(e,t),l+="</tr>"};if(!r(m))return null;w&&w[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;O[e.label]=t}));var S=m.toTable({status:y,vlabel:c,slabel:f}),D=S[0].length-1;return S.forEach((function(e,t){A(e,t)})),m.source&&(s=m.length+1,h&&s++,y&&s++,"."!==(g+=": "+m.source).slice(-1)&&(g+="."),a='<tfoot><td colspan="'+s+'">'+g+"</td></tfoot>"),'<table class="'+d+'"><caption>'+(t.caption||m.label||"")+"</caption><thead><tr>"+n+"</tr></thead><tbody>"+l+"</tbody>"+a+"</table>"}function u(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function c(e,t){if(void 0===e)return null;void 0===t&&(t={}),"boolean"!=typeof t.ovalue&&(t.ovalue=!1),"boolean"!=typeof t.ostatus&&(t.ostatus=!1),"boolean"!=typeof t.instance&&(t.instance=!1);var i=t.vlabel||"Value",r=t.slabel||"Status",l=t.type||"array",a=t.label||"",s=t.header||null,o=[],c=[],f=[],h=[],d={},v={},p=function(e,t){for(var n=1,i=0,r=0;r<O;r++)i+=(n*=r>0?t[O-r]:1)*e[O-r-1];return i},y=function(){var t=e[x][i];f[p(E,c)]=isNaN(t)?null:t};switch(l){case"array":e=function(e){for(var t=e[0],n=e.slice(1),i=[],r=0,l=n.length;r<l;r++){for(var a=0,s=t.length,o={};a<s;a++)o[t[a]]=n[r][a];i.push(o)}return i}(e);break;case"object":e=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,i=[],r=0,l=n.length;r<l;r++){for(var a=0,s=t.length,o={};a<s;a++)o[t[a]]=n[r].c[a].v;i.push(o)}return i}(e)}var b,g=e.length;for(var m in t.hasOwnProperty("drop")&&Array.isArray(t.drop)&&t.drop.length&&e.forEach((function(e){t.drop.forEach((function(t){delete e[t]}))})),e[0])if(m!==i)if(m!==r){if(o.push(m),s)b=s.dimension[m],d[m]=b.category.index;else{d[m]=[];for(var _=0;_<g;_++){var w=e[_][m];-1===d[m].indexOf(w)&&d[m].push(w)}}c.push(d[m].length),v[m]={label:s?b.label:m,category:{index:d[m]}},s&&(v[m].category.label=b.category.label,b.category.unit&&(v[m].category.unit=b.category.unit))}else y=function(){var t=e[x][i],n=e[x][r];f[p(E,c)]=isNaN(t)?null:t,h[p(E,c)]=""===n?null:n};for(var O=o.length,x=0;x<g;x++){for(var E=[],A=0;A<O;A++){var S=o[A];E.push(d[S].indexOf(e[x][S]))}y()}var D={version:"2.0",class:"dataset",value:f,dimension:v,id:o,size:c};return a&&(D.label=a),h.length&&(D.status=h),s&&(s.label&&(D.label=s.label),s.source&&(D.source=s.source),s.updated&&(D.updated=s.updated),s.href&&(D.href=s.href),s.role&&(D.role=s.role)),t.ovalue&&(D.value=u(D,"value")),t.ostatus&&D.hasOwnProperty("status")&&(D.status=u(D,"status")),t.instance?n(D):D}function f(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,i,r,l=[],a=null,s=null,o=!1,u={time:[],geo:[],metric:[]},f="jsonstat"===e.substring(0,8),h=f?"value":t.vlabel,d=f?"status":t.slabel,v=f?e.substring(8,9):t.delimiter||",",p=";"===v?t.decimal||",":t.decimal||".",y=function(e,t){t=t||",";for(var n,i,r=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),l=[[]],a=null;a=r.exec(e);)(i=a[1]).length&&i!=t&&l.push([]),n=a[2]?a[2].replace(new RegExp('""',"g"),'"'):a[3],l[l.length-1].push(n);return l}(e.trim(),v);if(f){for(p=y[0][1],r=y[0][2],y.shift();"data"!==y[0][0];)l.push(y.shift());y.shift(),s={dimension:{}},l.forEach((function(e){var t,n,i,l,a,c,f,h;switch(e[0]){case"dimension":if(s.dimension[e[1]]={},(l=s.dimension[e[1]]).label=e[2],l.category={},(a=l.category).index=[],n={},i=2*e[3]+3,e.length>=i){for(t=4;t<i;t++)f=e[t],h=e[++t],Object.defineProperty(n,f,{value:h,writable:!0,configurable:!0,enumerable:!0}),a.label=n,a.index.push(f);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(u[e[t]].push(e[1]),o=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(a.unit={},a.index.forEach((function(n,i){var l=e[t+i].split(r);a.unit[n]={},c=a.unit[n],void 0!==l[0]&&""!==l[0]&&(c.decimals=1*l[0]),void 0!==l[1]&&""!==l[1]&&(c.label=l[1]),void 0!==l[2]&&""!==l[2]&&(c.symbol=l[2]),void 0!==l[1]&&-1!==["start","end"].indexOf(l[3])&&(c.position=l[3])}))))}break;case"label":case"source":case"updated":case"href":s[e[0]]=e[1]||null}})),o&&(u.time.length||delete u.time,u.geo.length||delete u.geo,u.metric.length||delete u.metric,s.role=u)}if(n=y.length,i=y[0].length,void 0!==h){for(;i--;)if(y[0][i]===h){a=i;break}if(null===a)return null}else a=i-1,h=y[0][a];if(","===p)for(i=1;i<n;i++)y[i][a]=Number(y[i][a].replace(",","."));else for(i=1;i<n;i++)y[i][a]=Number(y[i][a]);return c(y,{header:s,vlabel:h,slabel:d,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})}function h(e,t){if("object"!=typeof e||!e.hasOwnProperty("dataSets")||!Array.isArray(e.dataSets))return null;if(1!==e.dataSets.length)return null;e.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,i=e.structure,r=i.dimensions,l={};Object.keys(n).forEach(e=>{var t=n[e].observations;Object.keys(t).forEach(i=>{l[e+":"+i]=t[i].concat(n[e].attributes)})}),t.observations=l,delete t.series,r.observation=r.series.concat(r.observation),delete r.series,i.attributes.observation=i.attributes.observation.concat(i.attributes.series),delete i.attributes.series}(e),void 0===t?t={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof t.ovalue&&(t.ovalue=!1),"boolean"!=typeof t.ostatus&&(t.ostatus=!1),"boolean"!=typeof t.instance&&(t.instance=!1));var i=e.structure,r=e.dataSets[0].observations,l=i.attributes.observation,a=i.dimensions;if(!a.hasOwnProperty("observation"))return null;if(a.hasOwnProperty("series")&&(null!==a.series||Object.keys(a.series).length))return null;var s=1,o=[],u=[],c={},f=[],h={time:[],geo:[]},d=function(){},v=function(e,t){for(var n=e.size,i=n.length-t.length;i--;)t.push(0);for(var r=0,l=n.length,a=0,s=1;r<l;r++)a+=(s*=r>0?n[l-r]:1)*t[l-r-1];return a},p=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":h.geo.push(e.id);break;case"TIME_PERIOD":h.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),o.push(e.id),u.push(e.values.length),s*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},y=e.header.links?e.header.links.find((function(e){return"request"===e.rel})):null,b=l.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==b&&(l[b].values.length?f=l[b].values:b=-1),a.observation.forEach(p),a.hasOwnProperty("dataSet")&&a.dataSet.forEach(p);var g={version:"2.0",class:"dataset",updated:e.header.prepared||null,source:e.header.sender.name||null,label:i.name||null,id:o,size:u,dimension:c,value:t.ovalue?{}:new Array(s).fill(null)};for(var m in y&&(g.link={alternate:[{type:"application/vnd.sdmx.data+json",href:y.href}]}),h.geo.length+h.time.length>0&&(h.time.length||delete h.time,h.geo.length||delete h.geo,g.role=h),-1!==b&&(g.status=t.ostatus?{}:new Array(s).fill(null),g.extension={status:{label:{}}},f.forEach((function(e){g.extension.status.label[e.id]=e.name})),d=t.ostatus?function(){var e=r[m][b];null!==e&&(g.status[v(g,_)]=f[e].id)}:function(){var e=r[m][b];g.status[v(g,_)]=null===e?null:f[e].id}),b++,r){var _=m.split(":");t.ovalue&&null===r[m][0]||(g.value[v(g,_)]=r[m][0]),d()}return t.instance?n(g):g}function d(e,t){if(void 0===e||!Array.isArray(e))return null;var i=JSON.parse(JSON.stringify(e)),r=i[0];if(!r.hasOwnProperty("version")||!r.hasOwnProperty("class")||"dataset"!==r.class)return null;void 0===t&&(t={});var l=void 0===t.label?null:t.label,a=void 0===t.by?null:t.by,s=[];if(null===a){for(var o=1,u=i.length;o<u;o++)s=s.concat(i[o].value);return r.value=s,null!==l&&(r.label=l),r}var f,h,d,v=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var i in t)e[i]=0===t[i]?n:t[i];return e};i.forEach((function(e,t){var i=n(e).toTable({status:!0}),r=e.dimension[a].category;0===t?(s=[i[0]],f=r.index,h=r.label,d=r.unit):(f=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var i in t)e[i]=t[i]+n;return e}(f,r.index,Object.keys(f).length),h=v(h,r.label,t),d=v(d,r.unit,t)),s=s.concat(i.slice(1))}));var p=c(s);return r.value=p.value,r.size=p.size,r.status=p.status||null,r.label=l||"",r.href=null,r.dimension[a].category.index=f||null,r.dimension[a].category.label=h||null,r.dimension[a].category.unit=d||null,r}function v(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}function p(e,t){if(void 0===e)return null;void 0===t&&(t={});var n=!0===t.rich,l=n?"value":t.vlabel||"Value",a=n?"status":t.slabel||"Status",s=!0===t.status,o=t.na||"n/a",u=t.delimiter||",",c=t.separator||"|",f=";"===u?t.decimal||",":t.decimal||".",h=!0===t.array,d=i(e,t.dsid||0),p=h?[]:"",y=h?[]:"",b=h?function(e){p.push(e)}:function(e){p+=e+"\n"},g=h?function(e){y.push(e)}:function(e){y+=e+"\n"};if(!r(d))return null;n&&(s=null!==d.status);var m=d.toTable({vlabel:l,slabel:a,status:s,field:n?"id":"label",content:n?"id":"label",type:"array"}),_=m[0].indexOf(l),w=s?m[0].indexOf(a):-1;return m.forEach((function(e,t){e.forEach((function(n,i){t&&i===_?null===n?e[i]=v(o,u):"."!==f&&(e[i]=String(e[i]).replace(".",f)):e[i]=t&&i===w&&null===n?"":v(e[i],u)})),b(e.join(u))})),n&&(g("jsonstat"+u+f+u+c),["label","source","updated","href"].forEach((function(e){d[e]&&g(e+u+v(d[e],u))})),d.id.forEach((function(e,t){var n=[],i=d.Dimension(t),r=i.role,l=!1,a="";a+="dimension"+u+v(e,u)+u+v(i.label,u)+u+i.length,"metric"===r&&i.__tree__.category.unit&&(l=!0),i.id.forEach((function(e,t){var r=[],s=i.Category(t);a+=u+v(e,u)+u+v(s.label,u),l&&(r.push(s.unit.hasOwnProperty("decimals")?s.unit.decimals:""),r.push(s.unit.label||""),s.unit.symbol&&(r.push(s.unit.symbol),r.push(s.unit.position)),n.push(v(r.join(c),u)))})),null!==r&&"classification"!==r&&(a+=u+i.role,l&&(a+=u+n.join(u))),g(a)})),p=h?y.concat(["data"],p):y+"data\n"+p),p}e.prototype.Item=function(e){if(null===this||"collection"!==this.class||!this.length)return null;if("number"==typeof e)return e>this.length||e<0?null:this.link.item[e];var t,n=[];if("object"==typeof e){if(!e.class&&!e.follow)return null;e.class&&(t="dataset"===e.class&&"boolean"==typeof e.embedded?!0===e.embedded?function(e,t,i){var r=e.link.item[t];i.class===r.class&&r.id&&r.size&&r.dimension&&n.push(r)}:function(e,t,i){var r=e.link.item[t];i.class!==r.class||r.id&&r.size&&r.dimension||n.push(r)}:function(e,t,i){i.class===e.link.item[t].class&&n.push(e.link.item[t])})}else t=function(e,t){n.push(e.link.item[t])};for(var i=0;i<this.length;i++)t(this,i,e);return n},e.prototype.Dataset=function(t){if(null===this)return null;if("dataset"===this.class)return void 0!==t?this:[this];var n,i=[],r=0;if("collection"===this.class){var l=this.Item({class:"dataset",embedded:!0});if(void 0===t){for(n=l.length;r<n;r++)i.push(new e(l[r]));return i}if("number"==typeof t&&t>=0&&t<l.length)return new e(l[t]);if("string"==typeof t)for(n=l.length;r<n;r++)if(l[r].href===t)return new e(l[r]);return null}if("bundle"!==this.class)return null;if(void 0===t){for(n=this.id.length;r<n;r++)i.push(this.Dataset(this.id[r]));return i}if("number"==typeof t){var a=this.id[t];return void 0!==a?this.Dataset(a):null}var s=this.__tree__[t];return void 0===s?null:new e({class:"dataset",__tree__:s})},e.prototype.Dimension=function(t,n){n="boolean"!=typeof n||n;var i,r=[],l=this.id.length,a=function(e,t){if(null!==e)for(var n in e)for(var i=null!==e[n]?e[n].length:0;i--;)if(e[n][i]===t)return n;return null};if(null===this||"dataset"!==this.class)return null;if(void 0===t){for(i=0;i<l;i++)r.push(this.Dimension(this.id[i]));return r}if("number"==typeof t){var s=this.id[t];return void 0!==s?this.Dimension(s,n):null}var o=this.role;if("object"==typeof t){if(t.hasOwnProperty("role")){for(i=0;i<l;i++){var u=this.id[i];a(o,u)===t.role&&r.push(this.Dimension(u,n))}return void 0===r[0]?null:r}return null}var c=this.__tree__.dimension;if(void 0===c)return null;var f=c[t];return void 0===f?null:n?new e({class:"dimension",__tree__:f,role:a(o,t)}):function(e,t){var n=[];for(var i in e)n[e[i]]=t[i];return n}(f.category.index,f.category.label)},e.prototype.Category=function(t){if(null===this||"dimension"!==this.class)return null;if(void 0===t){for(var n=[],i=0,r=this.id.length;i<r;i++)n.push(this.Category(this.id[i]));return n}if("number"==typeof t){var l=this.id[t];return void 0!==l?this.Category(l):null}var a=this.__tree__.category;if(void 0===a)return null;var s=a.index[t];if(void 0===s)return null;var o=a.unit&&a.unit[t]||null,u=a.coordinates&&a.coordinates[t]||null,c=a.child&&a.child[t]||null,f=a.note&&a.note[t]||null;return new e({class:"category",index:s,label:a.label[t],note:f,child:c,unit:o,coord:u})},e.prototype.Dice=function(t,n,i){var r,l,a,s,o=function(e,t){return e.hasOwnProperty(t)&&!!e[t]};if(null===this||"dataset"!==this.class)return null;if("object"!=typeof t)return this;"object"!=typeof n?("boolean"==typeof n&&!0===n&&(r=!0),"boolean"==typeof i&&!0===i||(i=!1)):(r=o(n,"clone"),i=o(n,"drop"),l=o(n,"stringify"),a=o(n,"ovalue"),s=o(n,"ostatus"));var u,c=r?new e(JSON.parse(JSON.stringify(this))):this,f=c.status,h=[],d=[],v=function(e,t){var n,i,r,l=(n=e,i=t,r={},"[object Array]"===Object.prototype.toString.call(n[i])?(n[i].forEach((function(e,t){null!==e&&(r[String(t)]=e)})),r):n[i]);delete e[t],e[t]=l};Array.isArray(t)&&(t=function(e){var t={};return e.forEach((function(e){t[e[0]]=e[1]})),t}(t)),null===t&&(t={});var p=Object.keys(t);return p.length>0&&(p.forEach((function(e){var n=t[e];Array.isArray(n)||(t[e]=[n]),0===t[e].length&&delete t[e]})),i&&(t=function(e){var t={};return Object.keys(e).forEach(n=>t[n]=c.Dimension(n).id.filter(t=>-1===e[n].indexOf(t))),t}(t)),c.toTable({type:"arrobj",content:"id",status:!0}).forEach((function(e,n){var i=[];p.forEach((function(n){var r=t[n],l=[];r.forEach((function(t){l.push(e[n]===t)})),i.push(-1!==l.indexOf(!0))})),-1===i.indexOf(!1)&&(h.push(e.value),d.push(e.status))})),p.forEach((function(e){var n=c.Dimension(e).id,i=0,r={};c.size[c.id.indexOf(e)]=t[e].length,n.forEach((function(n){-1!==t[e].indexOf(n)&&(r[n]=i,i++)})),c.__tree__.dimension[e].category.index=r})),c.n=h.length,c.value=c.__tree__.value=h,c.status=c.__tree__.status=null!==f?d:null),l?((u=c.__tree__).hasOwnProperty("id")||(u.version="2.0",u.hasOwnProperty("class")||(u.class="dataset"),u.id=u.dimension.id,u.size=u.dimension.size,delete u.dimension.id,delete u.dimension.size,u.dimension.hasOwnProperty("role")&&(u.role=u.dimension.role,delete u.dimension.role)),u.hasOwnProperty("status")&&-1!==["null","{}","[]"].indexOf(JSON.stringify(u.status))&&delete u.status,u.hasOwnProperty("role")&&(delete u.role.classification,["geo","time","metric"].forEach((function(e){null===u.role[e]&&delete u.role[e]}))),a&&v(u,"value"),s&&u.hasOwnProperty("status")&&v(u,"status"),JSON.stringify(u)):c},e.prototype.Slice=function(e){if(null===this||"dataset"!==this.class)return null;if(void 0===e)return this;if(!Array.isArray(e)){var t,n=[];for(t in e)n.push([t,e[t]]);e=n}return this.Dice(e.map((function(e){return[e[0],[e[1]]]})))},e.prototype.Data=function(e,t){var n,i,r=[],l=function(e){for(var t in e)if(e.hasOwnProperty(t))return t};if(null===this||"dataset"!==this.class)return null;if(void 0===e){for(i=this.value.length,n=0;n<i;n++)r.push(this.Data(n));return r}if("boolean"!=typeof t&&(t=!0),"number"==typeof e){var a=this.value[e];return void 0===a?null:t?{value:a,status:this.status?this.status[e]:null}:a}var s="object",o=this.__tree__,u=o.size||o.dimension&&o.dimension.size,c=u.length;if(Array.isArray(e)){if(!Array.isArray(e[0])){if(this.length!==e.length)return null;var f=1,h=0,d=[],v=[];for(n=0;n<c;n++)if(void 0!==e[n]){if("number"!=typeof e[n]||e[n]>=u[n])return null;h+=(f*=n>0?u[c-n]:1)*e[c-n-1]}else d.push(n),v.push(u[n]);if(d.length>1)return null;if(1===d.length){for(var p=0,y=v[0];p<y;p++){var b=[];for(n=0;n<c;n++)n!==d[0]?b.push(e[n]):b.push(p);r.push(this.Data(b,t))}return r}return t?{value:this.value[h],status:this.status?this.status[h]:null}:this.value[h]}s="array"}var g=function(e,t,n){var i,r=[],a={},s=e.dimension,o=e.id||s.id,u=e.size||s&&s.size;if("array"===n){for(i=t.length;i--;)a[t[i][0]]=t[i][1];t=a}for(var c=0,f=o.length;c<f;c++){var h=o[c],d=t[h];r.push("string"==typeof d?d:1===u[c]?l(s[h].category.index):null)}return r}(o,e,s),m=[],_=o.dimension,w=o.id||_.id;for(n=0,i=g.length;n<i;n++)m.push(_[w[n]].category.index[g[n]]);return this.Data(m,t)},e.prototype.toTable=function(e,t){if(null===this||"dataset"!==this.class)return null;1==arguments.length&&"function"==typeof e&&(t=e,e=null),"arrobj"===(e=e||{field:"label",content:"label",vlabel:"Value",slabel:"Status",type:"array",status:!1,unit:!1,by:null,prefix:"",drop:[],meta:!1,comma:!1,bylabel:!1}).type&&void 0===e.field&&(e.field="id");var n,i,r,l,a,s=this.__tree__,o=!0===e.status;if("function"==typeof t){n=this.toTable(e);var u=[],c="array"!==e.type?0:1;for(a=(z="object"!==e.type?n.slice(c):n.rows.slice(0)).length,i=0;i<a;i++){var f=t.call(this,z[i],i);void 0!==f&&u.push(f)}return"object"===e.type?{cols:n.cols,rows:u}:("array"===e.type&&u.unshift(n[0]),u)}if("arrobj"===e.type){var h=[],d=s.role&&s.role.metric,v=function(){},p={},y=this,b=y.id,g=e.by&&-1!==b.indexOf(e.by)?e.by:null,m=!0===e.meta,_=void 0!==e.drop&&Array.isArray(e.drop)?e.drop:[],w=!0===e.comma,O=!0===e.bylabel,x=function(t){if(m){var n={};return b.forEach((function(e){var t=y.Dimension(e);n[e]={label:t.label,role:t.role,categories:{id:t.id,label:y.Dimension(e,!1)}}})),{meta:{label:y.label,source:y.source,updated:y.updated,id:b,status:o,unit:e.unit,by:g,bylabel:O,drop:null!==g&&_.length>0?_:null,prefix:null!==g?C||"":null,comma:w,dimensions:n},data:t}}return t};g&&(e.field="id");var E=(n=this.toTable({field:e.field,vlabel:e.vlabel,slabel:e.slabel,content:e.content,status:o})).shift();if(null===g&&e.unit&&d){if("id"!==e.content)for(var A=d.length;A--;){var S=this.Dimension(d[A]);p[d[A]]={};for(var D=S.length;D--;)p[d[A]][S.Category(D).label]=S.id[D]}v=function(t,n){if(-1!==d.indexOf(t)){var i=s.dimension[t].category;i.unit?P.unit=i.unit["id"!==e.content?p[t][n]:n]:P.unit=null}},e.unit=!0}else e.unit=!1;for(a=n.length,i=0;i<a;i++){var P={};for(r=n[i].length;r--;)P[E[r]]=n[i][r],v(E[r],n[i][r]);h.push(P)}if(w&&h.forEach((function(e){null!==e.value&&(e.value=(""+e.value).replace(".",","))})),null!==g){var j,k={},z=[],N={},C=void 0!==e.prefix?e.prefix:"";_.forEach((function(e,t){(!y.Dimension(e)||y.Dimension(e).length>1)&&(_[t]="")}));var T=b.filter((function(e){return e!==g&&-1===_.indexOf(e)})),R=y.Dimension(g),J=function(e,t){var n=[];return t.forEach((function(t){n.push(e[t])})),n.join("\t")},L=function(e,t){var n={};return t.forEach((function(t){n[t]=e[t]})),n};for(var F in"id"!==e.content?O?j=function(e,t,n){e[t][C+n[g]]=n.value}:(R.Category().forEach((function(e,t){N[e.label]=R.id[t]})),j=function(e,t,n){e[t][C+N[n[g]]]=n.value}):j=function(e,t,n){e[t][C+n[g]]=n.value},h.forEach((function(e){var t=J(e,T);void 0===k[t]&&(k[t]=L(e,T)),j(k,t,e,g)})),k)z.push(k[F]);return o=!1,x(z)}return x(h)}var q,I,V,U,M="id"===e.field;if("object"===e.type){var H="number"==typeof this.value[0]||null===this.value[0]?"number":"string";q=function(e,t){var n=M&&e||t||e;te.push({id:e,label:n,type:"string"})},I=function(e,t,n){var i=(M?"value":e)||"Value",r=(M?"status":t)||"Status";n&&te.push({id:"status",label:r,type:"string"}),te.push({id:"value",label:i,type:H})},V=function(e){ve.push({v:e})},U=function(e){ve.push({v:e}),ne.push({c:ve})}}else q=function(e,t){var n=M&&e||t||e;te.push(n)},I=function(e,t,n){var i=(M?"value":e)||"Value",r=(M?"status":t)||"Status";n&&te.push(r),te.push(i),ee.push(te)},V=function(e){ve.push(e)},U=function(e){ve.push(e),ee.push(ve)};var B=s.dimension,G=s.id||B.id,K=s.size||B.size,Q=G.length;if(Q!=K.length)return!1;var W=[],X=1,Y=(A=1,[]),Z=[],$=[],ee=[],te=[],ne=[];for(i=0;i<Q;i++){var ie=G[i],re=B[ie].label;q(ie,re),X*=K[i],A*=K[i];var le=[];for(r=0;r<K[i];r++)for(var ae in B[G[i]].category.index)if(B[G[i]].category.index[ae]===r){var se="id"!==e.content&&B[G[i]].category.label?B[G[i]].category.label[ae]:ae;le.push(se)}W.push(le),Y.push(A)}for(I(e.vlabel,e.slabel,o),a=W.length,i=0;i<a;i++){for(var oe=[],ue=0,ce=W[i].length;ue<ce;ue++)for(var fe=0;fe<X/Y[i];fe++)oe.push(W[i][ue]);Z.push(oe)}for(a=Z.length,i=0;i<a;i++){var he=[],de=0;for(l=0;l<X;l++)he.push(Z[i][de]),++de===Z[i].length&&(de=0);$.push(he)}for(l=0;l<X;l++){var ve=[];a=Z.length;for(var pe=0;pe<a;pe++)V($[pe][l]);o&&V(this.status?this.status[l]:null),U(this.value[l])}return"object"===e.type?{cols:te,rows:ne}:ee},e.prototype.node=function(){return this.__tree__},e.prototype.toString=function(){return this.class},String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};var y="3.2.2";export{o as datalist,f as fromCSV,h as fromSDMX,c as fromTable,d as join,s as tbrowser,p as toCSV,y as version};
|
|
1
|
+
// jsonstat-suite v3.2.5 Copyright 2022 Xavier Badosa https://jsonstat.com
|
|
2
|
+
function e(r,i){var l,a,s,o,u=function(e,r,i){var l,a=[];if(i&&!n(i.name)&&(i=null),"string"==typeof e&&(e=[e]),Array.isArray(e)||t(e)){if(e.length===r)return i&&-1===e.findIndex((function(e){return null==e}))?i.from(e):e;if(1===e.length){for(l=0;l<r;l++)a.push(e[0]);return a}}for(l=0;l<r;l++){var s=void 0===e[l]?null:e[l];a.push(s)}return a};if(this.length=0,this.id=[],null!=r)switch(this.class=r.class||"bundle",this.class){case"bundle":var c=[],f=0;if(this.error=null,this.length=0,null===r||"object"!=typeof r)return void(this.class=null);if(r.hasOwnProperty("error"))return void(this.error=r.error);if("dataset"===r.class||"collection"===r.class||"dimension"===r.class)return new e(r);for(a in r)f++,c.push(a);this.__tree__=r,this.length=f,this.id=c;break;case"dataset":r.hasOwnProperty("__tree__")?this.__tree__=l=r.__tree__:this.__tree__=l=r,this.label=l.label||null,this.note=l.note||null,this.link=l.link||null,this.href=l.href||null,this.updated=l.updated||null,this.source=l.source||null,this.extension=l.extension||null;var h,d=0,v=l.size||l.dimension&&l.dimension.size;if(this.size=v,this.value=l.hasOwnProperty("value")&&null!==l.value&&0!==l.value.length?l.value:{},Array.isArray(this.value)||t(this.value))d=this.value.length;else{var p=1;for(h=v.length;h--;)p*=v[h];d=p}if(this.value=u(this.value,d,i),this.status=l.hasOwnProperty("status")?u(l.status,d):null,l.hasOwnProperty("dimension")){var y=l.dimension,b=l.role||!l.version&&y.role||null,g=l.id||y.id,m=v.length,_=function(e){b.hasOwnProperty(e)||(b[e]=null)};if(!Array.isArray(g)||!Array.isArray(v)||g.length!=m)return;if(this.length=m,this.id=g,b&&(_("time"),_("geo"),_("metric"),_("classification")),b&&null===b.classification){var w=[],O=["time","geo","metric"],x=function(e,t){for(var n=t.length;n--;)if(e===t[n])return!0;return!1};for(h=0;h<3;h++){var A=b[O[h]];null!==A&&(w=w.concat(A))}for(b.classification=[],h=0;h<m;h++)x(g[h],w)||b.classification.push(g[h]);0===b.classification.length&&(b.classification=null)}this.role=b,this.n=d;for(var E=0,S=this.length;E<S;E++)if(y[g[E]].category.hasOwnProperty("index")){if(Array.isArray(y[g[E]].category.index)){var D={},j=y[g[E]].category.index;for(s=j.length,o=0;o<s;o++)D[j[o]]=o;y[g[E]].category.index=D}}else{var P=0;for(a in y[g[E]].category.index={},y[g[E]].category.label)y[g[E]].category.index[a]=P++}}else this.length=0;break;case"dimension":if(!r.hasOwnProperty("__tree__"))return new e({version:"2.0",class:"dataset",dimension:{d:r},id:["d"],size:[function(e){var t=void 0===e.index?e.label:e.index;return Array.isArray(t)?t.length:Object.keys(t).length}(r.category)],value:[null]}).Dimension(0);var k=[],z=(l=r.__tree__).category;if(!l.hasOwnProperty("category"))return;if(!z.hasOwnProperty("label"))for(a in z.label={},z.index)z.label[a]=a;for(a in z.index)k[z.index[a]]=a;this.__tree__=l,this.label=l.label||null,this.note=l.note||null,this.link=l.link||null,this.href=l.href||null,this.id=k,this.length=k.length,this.role=r.role,this.hierarchy=z.hasOwnProperty("child"),this.extension=l.extension||null;break;case"category":var C=r.child;this.id=C,this.length=null===C?0:C.length,this.index=r.index,this.label=r.label,this.note=r.note||null,this.unit=r.unit,this.coordinates=r.coord;break;case"collection":if(this.length=0,this.label=r.label||null,this.note=r.note||null,this.link=r.link||null,this.href=r.href||null,this.updated=r.updated||null,this.source=r.source||null,this.extension=r.extension||null,null!==this.link&&r.link.item){var N=r.link.item;if(this.length=Array.isArray(N)?N.length:0,this.length)for(o=0;o<this.length;o++)this.id[o]=N[o].href}}}function t(e){return"[object ArrayBuffer]"===Object.prototype.toString.call(e.buffer)}function n(e){return-1!==["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"].indexOf(e)}function r(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.json()}function i(t,n,i){var l="object"==typeof n?n:null;return"function"!=typeof i&&(i=null),i||"function"!=typeof n||(i=n),"object"==typeof t?new e(t,i):"version"===t?"1.4.2":fetch?fetch(t,l).then(r).then((function(t){return new e(t,i)})):void 0}function l(e,t){return null==e?null:("string"!=typeof e&&void 0!==e.length||(e=i(e)),0===e.length||"dataset"!==e.class&&"collection"!==e.class&&"bundle"!==e.class?null:"dataset"===e.class?e:e.Dataset(t))}function a(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function s(e,t,n){var r,i,l,a,s;return(t.label||n).capitalize()+(i=t,s="",(r=e)&&"metric"===r.role&&i.unit&&(l=i.unit.hasOwnProperty("label")?i.unit.label:"")+(a=i.unit.hasOwnProperty("symbol")?i.unit.symbol:"")!==""&&(s=" ("+(s=""===a?l:""===l?a:"start"===i.unit.position?a+l:l+" "+a)+")"),s)}function o(e,t,n){var r,i='<select name="'+t+'">',l=[];if(null!==n[1]){if(r=e.id,l=e.Dimension(),2===r.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var a=e.Dimension(t);if(r=a.id,l=a.Category(),1===r.length)return}return r.forEach((function(e,t){var r=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(i+="<option "+r+'value="'+e+'">'+s(a,l[t],e)+"</option>")})),i+="</select>"}function u(e,t,n){function r(e){void 0!==t?t.innerHTML=i[e]:window.alert(i[e])}if(void 0!==e)if(void 0!==t){void 0===n&&(n={});var i=void 0===n.i18n||void 0===n.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:n.i18n.msgs,u=void 0===n.i18n||void 0===n.i18n.locale?"en-US":n.i18n.locale,c=n.dsid||0,f=n.status||!1,h=n.tblclass||"",d=n.nonconst||!1,v=l(e,c);if(a(v)){if(d)var p=function(e){var t=0,n=e.size.slice(0),r=[];return n.forEach((function(n,i){var l=i-t,a=e.Dimension(l);1===n&&(delete e.__tree__.dimension[e.id[l]],e.size.splice(l,1),e.id.splice(l,1),e.length--,t++,r.push(a.label.capitalize()+": "+a.Category(0).label.capitalize()))})),r}(v);1!==v.length?function e(t,n,r,l){var a="",c="",h="",v="",y=r.rows,b=n.Dimension(y),g=b.id,m=r.cols,_=n.Dimension(m),w=_.id,O=n.role&&n.role.metric?n.role.metric[0]:null,x=null!==O?n.Dimension(O):null,A=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},E=r.filter,S=JSON.parse(JSON.stringify(E)),D=[],j="",P="",k=n.source?i.source+": "+n.source:"",z=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var C in d&&p.length&&(z='<span class="label">'+p.join(". ")+"</span>"),""!==k&&"."!==k.slice(-1)&&(k+="."),h+="<caption>"+z+"<form>",E){var N=n.Dimension(C),T=N.label?N.label.capitalize():C.capitalize();N.length>1?j+="<p>"+o(n,C,[E[C],null])+" <strong>"+T+"</strong></p>":D.push({label:T,value:s(N,N.Category(0)),name:C,id:N.id[0]})}""!==j&&(j='<fieldset id="filters"><legend>'+i.filters+"</legend>"+j+"</fieldset>"),D.forEach((function(e){P+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==P&&(P='<fieldset id="constants"><legend>'+i.constants+"</legend>"+P+"</fieldset>"),h+=P+j+'<fieldset id="rowscols"><legend>'+i.rc+"</legend>"+o(n,"rows",[y,m])+" <a>↔</a> "+o(n,"cols",[m,y])+"</fieldset></form></caption>",v+="<tbody>";var R=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(g.forEach((function(e){S[y]=e;var t=n.Data(S),r=function(e,t){var n,r=m!==O?null===x?null:A(x.Category(S[O])):A(_.Category(t));null!==e.value?(n=R(e.value,r),f&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||i.na,v+="<td>"+n+"</td>"};null!==t?(v+='<tr><th scope="row">'+s(b,b.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){r(e,t)})):r(t,0),v+="</tr>"):v="ERROR"})),"ERROR"===v)return i.dataerror;v+="</tbody>",a+="<thead><tr><th></th>",w.forEach((function(e){a+='<th scope="col">'+s(_,_.Category(e))+"</th>"})),a+="</tr></thead>",""!==k&&(c='<tfoot><tr><td colspan="'+(w.length+1)+'">'+k+"</td></tr></tfoot>"),t.innerHTML='<table class="'+l+'">'+h+a+v+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(r){r.addEventListener("change",(function(r){var i,a;e(t,n,function(e,t,n){var r={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?r[e.name]=e.value:r.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==r.rows&&t!==r.cols?void 0===r.filter[t]&&(r.filter[t]=e.Dimension(n).id[0]):delete r.filter[t]})),r}(n,r.target.parentElement.getAttribute("id"),(i=t,a=[],[].slice.call(i.querySelectorAll("select, input")).forEach((function(e){a.push({name:e.name,value:e.value})})),a)),l)}),!1)})),t.querySelector("a").addEventListener("click",(function(){r.cols=y,r.rows=m,e(t,n,r,l)}),!1)}(t,v,function(e,t){var n,r,i={},l=[],a=e.id;if(t){var s="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){l.push({id:a[t],len:e.length})})),l.sort(s),n=l[0].id,r=l[1].id}else n=a[0],r=a[1];return e.Dimension(n).length<e.Dimension(r).length&&(n=r+(r=n,"")),a.forEach((function(t){t!==n&&t!==r&&(i[t]=e.Dimension(t).id[0])})),{rows:n,cols:r,filter:i}}(v,n.preset),h):r("dimerror")}else r("jsonerror")}else r("selerror");else r("urierror")}function c(e,t){if(void 0===e)return null;void 0===t&&(t={});var n="",r="",i="",s=0,o=t.na||"n/a",u=t.dsid||0,c=t.vlabel||null,f=t.slabel||null,h=t.counter||!1,d=t.tblclass||"",v=t.numclass||"",p=t.valclass||"",y=t.status||!1,b=t.locale||"en-US",g=t.source||"Source",m=l(e,u),_=m.role&&m.role.metric?m.id.indexOf(m.role.metric[0]):null,w=m.Dimension({role:"metric"}),O={},x=Number.toLocaleString&&"none"!==b?function(e,t){return null===t?e.toLocaleString(b):e.toLocaleString(b,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},A=function(e,t){var i=null;e.forEach((function(e,l){var a=D===l?' class="'+v+" "+p+'"':"",s=o;t?(_===l&&(i=O[e]),null!==e&&(s=D===l?x(e,i):e),r+="<td"+a+">"+s+"</td>"):n+="<th"+a+">"+e+"</th>"}))},E=h?function(e,t){t?r+='<tr><td class="'+v+'">'+t+"</td>":n+='<th class="'+v+'">#</th>',A(e,t),r+="</tr>"}:function(e,t){r+="<tr>",A(e,t),r+="</tr>"};if(!a(m))return null;w&&w[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;O[e.label]=t}));var S=m.toTable({status:y,vlabel:c,slabel:f}),D=S[0].length-1;return S.forEach((function(e,t){E(e,t)})),m.source&&(s=m.length+1,h&&s++,y&&s++,"."!==(g+=": "+m.source).slice(-1)&&(g+="."),i='<tfoot><td colspan="'+s+'">'+g+"</td></tfoot>"),'<table class="'+d+'"><caption>'+(t.caption||m.label||"")+"</caption><thead><tr>"+n+"</tr></thead><tbody>"+r+"</tbody>"+i+"</table>"}function f(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function h(e,t){if(void 0===e)return null;void 0===t&&(t={}),"boolean"!=typeof t.ovalue&&(t.ovalue=!1),"boolean"!=typeof t.ostatus&&(t.ostatus=!1),"boolean"!=typeof t.instance&&(t.instance=!1);var n=t.vlabel||"Value",r=t.slabel||"Status",l=t.type||"array",a=t.label||"",s=t.header||null,o=[],u=[],c=[],h=[],d={},v={},p=function(e,t){for(var n=1,r=0,i=0;i<O;i++)r+=(n*=i>0?t[O-i]:1)*e[O-i-1];return r},y=function(){var t=e[x][n];c[p(A,u)]=isNaN(t)?null:t};switch(l){case"array":e=function(e){for(var t=e[0],n=e.slice(1),r=[],i=0,l=n.length;i<l;i++){for(var a=0,s=t.length,o={};a<s;a++)o[t[a]]=n[i][a];r.push(o)}return r}(e);break;case"object":e=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,r=[],i=0,l=n.length;i<l;i++){for(var a=0,s=t.length,o={};a<s;a++)o[t[a]]=n[i].c[a].v;r.push(o)}return r}(e)}var b,g=e.length;for(var m in t.hasOwnProperty("drop")&&Array.isArray(t.drop)&&t.drop.length&&e.forEach((function(e){t.drop.forEach((function(t){delete e[t]}))})),e[0])if(m!==n)if(m!==r){if(o.push(m),s)b=s.dimension[m],d[m]=b.category.index;else{d[m]=[];for(var _=0;_<g;_++){var w=e[_][m];-1===d[m].indexOf(w)&&d[m].push(w)}}u.push(d[m].length),v[m]={label:s?b.label:m,category:{index:d[m]}},s&&(v[m].category.label=b.category.label,b.category.unit&&(v[m].category.unit=b.category.unit))}else y=function(){var t=e[x][n],i=e[x][r];c[p(A,u)]=isNaN(t)?null:t,h[p(A,u)]=""===i?null:i};for(var O=o.length,x=0;x<g;x++){for(var A=[],E=0;E<O;E++){var S=o[E];A.push(d[S].indexOf(e[x][S]))}y()}var D={version:"2.0",class:"dataset",value:c,dimension:v,id:o,size:u};return a&&(D.label=a),h.length&&(D.status=h),s&&(s.label&&(D.label=s.label),s.source&&(D.source=s.source),s.updated&&(D.updated=s.updated),s.href&&(D.href=s.href),s.role&&(D.role=s.role)),t.ovalue&&(D.value=f(D,"value")),t.ostatus&&D.hasOwnProperty("status")&&(D.status=f(D,"status")),t.instance?i(D):D}function d(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,r,i,l=[],a=null,s=null,o=!1,u={time:[],geo:[],metric:[]},c="jsonstat"===e.substring(0,8),f=c?"value":t.vlabel,d=c?"status":t.slabel,v=c?e.substring(8,9):t.delimiter||",",p=";"===v?t.decimal||",":t.decimal||".",y=function(e,t){t=t||",";for(var n,r,i=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),l=[[]],a=null;a=i.exec(e);)(r=a[1]).length&&r!=t&&l.push([]),n=a[2]?a[2].replace(new RegExp('""',"g"),'"'):a[3],l[l.length-1].push(n);return l}(e.trim(),v);if(c){for(p=y[0][1],i=y[0][2],y.shift();"data"!==y[0][0];)l.push(y.shift());y.shift(),s={dimension:{}},l.forEach((function(e){var t,n,r,l,a,c,f,h;switch(e[0]){case"dimension":if(s.dimension[e[1]]={},(l=s.dimension[e[1]]).label=e[2],l.category={},(a=l.category).index=[],n={},r=2*e[3]+3,e.length>=r){for(t=4;t<r;t++)f=e[t],h=e[++t],Object.defineProperty(n,f,{value:h,writable:!0,configurable:!0,enumerable:!0}),a.label=n,a.index.push(f);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(u[e[t]].push(e[1]),o=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(a.unit={},a.index.forEach((function(n,r){var l=e[t+r].split(i);a.unit[n]={},c=a.unit[n],void 0!==l[0]&&""!==l[0]&&(c.decimals=1*l[0]),void 0!==l[1]&&""!==l[1]&&(c.label=l[1]),void 0!==l[2]&&""!==l[2]&&(c.symbol=l[2]),void 0!==l[1]&&-1!==["start","end"].indexOf(l[3])&&(c.position=l[3])}))))}break;case"label":case"source":case"updated":case"href":s[e[0]]=e[1]||null}})),o&&(u.time.length||delete u.time,u.geo.length||delete u.geo,u.metric.length||delete u.metric,s.role=u)}if(n=y.length,r=y[0].length,void 0!==f){for(;r--;)if(y[0][r]===f){a=r;break}if(null===a)return null}else a=r-1,f=y[0][a];if(","===p)for(r=1;r<n;r++)y[r][a]=Number(y[r][a].replace(",","."));else for(r=1;r<n;r++)y[r][a]=Number(y[r][a]);return h(y,{header:s,vlabel:f,slabel:d,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})}function v(e,t){if("object"!=typeof e)return null;if(e.hasOwnProperty("data")&&e.hasOwnProperty("meta")&&e.data.hasOwnProperty("dataSets")&&e.data.hasOwnProperty("structures")&&Array.isArray(e.data.structures)&&(e.dataSets=e.data.dataSets,e.structure=e.data.structures[0],e.header=e.meta),!e.hasOwnProperty("dataSets")||!Array.isArray(e.dataSets))return null;if(1!==e.dataSets.length)return null;e.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,r=e.structure,i=r.dimensions,l={};Object.keys(n).forEach((function(e){var t=n[e].observations;Object.keys(t).forEach((function(r){l[e+":"+r]=t[r].concat(n[e].attributes)}))})),t.observations=l,delete t.series,i.observation=i.series.concat(i.observation),delete i.series,r.attributes.observation=r.attributes.observation.concat(r.attributes.series),delete r.attributes.series}(e),void 0===t?t={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof t.ovalue&&(t.ovalue=!1),"boolean"!=typeof t.ostatus&&(t.ostatus=!1),"boolean"!=typeof t.instance&&(t.instance=!1));var n=e.structure,r=e.dataSets[0].observations,l=n.attributes.observation,a=n.dimensions;if(!a.hasOwnProperty("observation"))return null;if(a.hasOwnProperty("series")&&Object.keys(a.series).length)return null;var s=1,o=[],u=[],c={},f=[],h={time:[],geo:[]},d=function(){},v=function(e,t){for(var n=e.size,r=n.length-t.length;r--;)t.push(0);for(var i=0,l=n.length,a=0,s=1;i<l;i++)a+=(s*=i>0?n[l-i]:1)*t[l-i-1];return a},p=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":h.geo.push(e.id);break;case"TIME_PERIOD":h.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),o.push(e.id),u.push(e.values.length),s*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},y=e.header.links?e.header.links.find((function(e){return"request"===e.rel})):null,b=l.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==b&&(l[b].values.length?f=l[b].values:b=-1),a.observation.forEach(p),a.hasOwnProperty("dataSet")&&a.dataSet.forEach(p);var g={version:"2.0",class:"dataset",updated:e.header.prepared||null,source:e.header.sender.name||null,label:n.name||null,id:o,size:u,dimension:c,value:t.ovalue?{}:new Array(s).fill(null)};for(var m in y&&(g.link={alternate:[{type:"application/vnd.sdmx.data+json",href:y.href}]}),h.geo.length+h.time.length>0&&(h.time.length||delete h.time,h.geo.length||delete h.geo,g.role=h),-1!==b&&(g.status=t.ostatus?{}:new Array(s).fill(null),g.extension={status:{label:{}}},f.forEach((function(e){g.extension.status.label[e.id]=e.name})),d=t.ostatus?function(){var e=r[m][b];null!==e&&(g.status[v(g,_)]=f[e].id)}:function(){var e=r[m][b];g.status[v(g,_)]=null===e?null:f[e].id}),b++,r){var _=m.split(":");t.ovalue&&null===r[m][0]||(g.value[v(g,_)]=r[m][0]),d()}return t.instance?i(g):g}function p(e,t){if(void 0===e||!Array.isArray(e))return null;var n=JSON.parse(JSON.stringify(e)),r=n[0];if(!r.hasOwnProperty("version")||!r.hasOwnProperty("class")||"dataset"!==r.class)return null;void 0===t&&(t={});var l=void 0===t.label?null:t.label,a=void 0===t.by?null:t.by,s=[];if(null===a){for(var o=1,u=n.length;o<u;o++)s=s.concat(n[o].value);return r.value=s,null!==l&&(r.label=l),r}var c,f,d,v=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=0===t[r]?n:t[r];return e};n.forEach((function(e,t){var n=i(e).toTable({status:!0}),r=e.dimension[a].category;0===t?(s=[n[0]],c=r.index,f=r.label,d=r.unit):(c=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=t[r]+n;return e}(c,r.index,Object.keys(c).length),f=v(f,r.label,t),d=v(d,r.unit,t)),s=s.concat(n.slice(1))}));var p=h(s);return r.value=p.value,r.size=p.size,r.status=p.status||null,r.label=l||"",r.href=null,r.dimension[a].category.index=c||null,r.dimension[a].category.label=f||null,r.dimension[a].category.unit=d||null,r}function y(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}function b(e,t){if(void 0===e)return null;void 0===t&&(t={});var n=!0===t.rich,r=n?"value":t.vlabel||"Value",i=n?"status":t.slabel||"Status",s=!0===t.status,o=t.na||"n/a",u=t.delimiter||",",c=t.separator||"|",f=";"===u?t.decimal||",":t.decimal||".",h=!0===t.array,d=l(e,t.dsid||0),v=h?[]:"",p=h?[]:"",b=h?function(e){v.push(e)}:function(e){v+=e+"\n"},g=h?function(e){p.push(e)}:function(e){p+=e+"\n"};if(!a(d))return null;n&&(s=null!==d.status);var m=d.toTable({vlabel:r,slabel:i,status:s,field:n?"id":"label",content:n?"id":"label",type:"array"}),_=m[0].indexOf(r),w=s?m[0].indexOf(i):-1;return m.forEach((function(e,t){e.forEach((function(n,r){t&&r===_?null===n?e[r]=y(o,u):"."!==f&&(e[r]=String(e[r]).replace(".",f)):e[r]=t&&r===w&&null===n?"":y(e[r],u)})),b(e.join(u))})),n&&(g("jsonstat"+u+f+u+c),["label","source","updated","href"].forEach((function(e){d[e]&&g(e+u+y(d[e],u))})),d.id.forEach((function(e,t){var n=[],r=d.Dimension(t),i=r.role,l=!1,a="";a+="dimension"+u+y(e,u)+u+y(r.label,u)+u+r.length,"metric"===i&&r.__tree__.category.unit&&(l=!0),r.id.forEach((function(e,t){var i=[],s=r.Category(t);a+=u+y(e,u)+u+y(s.label,u),l&&(i.push(s.unit.hasOwnProperty("decimals")?s.unit.decimals:""),i.push(s.unit.label||""),s.unit.symbol&&(i.push(s.unit.symbol),i.push(s.unit.position)),n.push(y(i.join(c),u)))})),null!==i&&"classification"!==i&&(a+=u+r.role,l&&(a+=u+n.join(u))),g(a)})),v=h?p.concat(["data"],v):p+"data\n"+v),v}e.prototype.Item=function(e){if(null===this||"collection"!==this.class||!this.length)return null;if("number"==typeof e)return e>this.length||e<0?null:this.link.item[e];var t,n=[];if("object"==typeof e){if(!e.class&&!e.follow)return null;e.class&&(t="dataset"===e.class&&"boolean"==typeof e.embedded?!0===e.embedded?function(e,t,r){var i=e.link.item[t];r.class===i.class&&i.id&&i.size&&i.dimension&&n.push(i)}:function(e,t,r){var i=e.link.item[t];r.class!==i.class||i.id&&i.size&&i.dimension||n.push(i)}:function(e,t,r){r.class===e.link.item[t].class&&n.push(e.link.item[t])})}else t=function(e,t){n.push(e.link.item[t])};for(var r=0;r<this.length;r++)t(this,r,e);return n},e.prototype.Dataset=function(t){if(null===this)return null;if("dataset"===this.class)return void 0!==t?this:[this];var n,r=[],i=0;if("collection"===this.class){var l=this.Item({class:"dataset",embedded:!0});if(void 0===t){for(n=l.length;i<n;i++)r.push(new e(l[i]));return r}if("number"==typeof t&&t>=0&&t<l.length)return new e(l[t]);if("string"==typeof t)for(n=l.length;i<n;i++)if(l[i].href===t)return new e(l[i]);return null}if("bundle"!==this.class)return null;if(void 0===t){for(n=this.id.length;i<n;i++)r.push(this.Dataset(this.id[i]));return r}if("number"==typeof t){var a=this.id[t];return void 0!==a?this.Dataset(a):null}var s=this.__tree__[t];return void 0===s?null:new e({class:"dataset",__tree__:s})},e.prototype.Dimension=function(t,n){n="boolean"!=typeof n||n;var r,i=[],l=this.id.length,a=function(e,t){if(null!==e)for(var n in e)for(var r=null!==e[n]?e[n].length:0;r--;)if(e[n][r]===t)return n;return null};if(null===this||"dataset"!==this.class)return null;if(void 0===t){for(r=0;r<l;r++)i.push(this.Dimension(this.id[r]));return i}if("number"==typeof t){var s=this.id[t];return void 0!==s?this.Dimension(s,n):null}var o=this.role;if("object"==typeof t){if(t.hasOwnProperty("role")){for(r=0;r<l;r++){var u=this.id[r];a(o,u)===t.role&&i.push(this.Dimension(u,n))}return void 0===i[0]?null:i}return null}var c=this.__tree__.dimension;if(void 0===c)return null;var f=c[t];return void 0===f?null:n?new e({class:"dimension",__tree__:f,role:a(o,t)}):function(e,t){var n=[];for(var r in e)n[e[r]]=t[r];return n}(f.category.index,f.category.label)},e.prototype.Category=function(t){if(null===this||"dimension"!==this.class)return null;if(void 0===t){for(var n=[],r=0,i=this.id.length;r<i;r++)n.push(this.Category(this.id[r]));return n}if("number"==typeof t){var l=this.id[t];return void 0!==l?this.Category(l):null}var a=this.__tree__.category;if(void 0===a)return null;var s=a.index[t];if(void 0===s)return null;var o=a.unit&&a.unit[t]||null,u=a.coordinates&&a.coordinates[t]||null,c=a.child&&a.child[t]||null,f=a.note&&a.note[t]||null;return new e({class:"category",index:s,label:a.label[t],note:f,child:c,unit:o,coord:u})},e.prototype.Dice=function(n,r,i){var l,a,s,o,u=function(e,t){return e.hasOwnProperty(t)&&!!e[t]};if(null===this||"dataset"!==this.class)return null;if("object"!=typeof n)return this;"object"!=typeof r?("boolean"==typeof r&&!0===r&&(l=!0),"boolean"==typeof i&&!0===i||(i=!1)):(l=u(r,"clone"),i=u(r,"drop"),a=u(r,"stringify"),s=u(r,"ovalue"),o=u(r,"ostatus"));var c,f=this.value,h=l?new e(JSON.parse(JSON.stringify(this))):this,d=h.status,v=[],p=[],y=function(e,t){var n,r,i,l=(n=e,r=t,i={},Array.isArray(n[r])?(n[r].forEach((function(e,t){null!==e&&(i[String(t)]=e)})),i):n[r]);delete e[t],e[t]=l};Array.isArray(n)&&(n=function(e){var t={};return e.forEach((function(e){t[e[0]]=e[1]})),t}(n)),null===n&&(n={});var b=Object.keys(n);return b.length>0&&(b.forEach((function(e){var t=n[e];Array.isArray(t)||(n[e]=[t]),0===n[e].length&&delete n[e]})),i&&(n=function(e){var t={};return Object.keys(e).forEach((function(n){t[n]=h.Dimension(n).id.filter((function(t){return-1===e[n].indexOf(t)}))})),t}(n)),h.toTable({type:"arrobj",content:"id",status:!0}).forEach((function(e,t){var r=[];b.forEach((function(t){var i=n[t],l=[];i.forEach((function(n){l.push(e[t]===n)})),r.push(-1!==l.indexOf(!0))})),-1===r.indexOf(!1)&&(v.push(e.value),p.push(e.status))})),b.forEach((function(e){var t=h.Dimension(e).id,r=0,i={};h.size[h.id.indexOf(e)]=n[e].length,t.forEach((function(t){-1!==n[e].indexOf(t)&&(i[t]=r,r++)})),h.__tree__.dimension[e].category.index=i})),h.n=v.length,h.value=h.__tree__.value=t(f)?function(e,t){return t.from(e)}(v,f.constructor):v,h.status=h.__tree__.status=null!==d?p:null),a?((c=h.__tree__).hasOwnProperty("id")||(c.version="2.0",c.hasOwnProperty("class")||(c.class="dataset"),c.id=c.dimension.id,c.size=c.dimension.size,delete c.dimension.id,delete c.dimension.size,c.dimension.hasOwnProperty("role")&&(c.role=c.dimension.role,delete c.dimension.role)),c.hasOwnProperty("status")&&-1!==["null","{}","[]"].indexOf(JSON.stringify(c.status))&&delete c.status,c.hasOwnProperty("role")&&(delete c.role.classification,["geo","time","metric"].forEach((function(e){null===c.role[e]&&delete c.role[e]}))),s&&y(c,"value"),o&&c.hasOwnProperty("status")&&y(c,"status"),JSON.stringify(c)):h},e.prototype.Slice=function(e){if(null===this||"dataset"!==this.class)return null;if(void 0===e)return this;if(!Array.isArray(e)){var t,n=[];for(t in e)n.push([t,e[t]]);e=n}return this.Dice(e.map((function(e){return[e[0],[e[1]]]})))},e.prototype.Data=function(e,t){var n,r,i=[],l=function(e){for(var t in e)if(e.hasOwnProperty(t))return t};if(null===this||"dataset"!==this.class)return null;if(void 0===e){for(r=this.value.length,n=0;n<r;n++)i.push(this.Data(n));return i}if("boolean"!=typeof t&&(t=!0),"number"==typeof e){var a=this.value[e];return void 0===a?null:t?{value:a,status:this.status?this.status[e]:null}:a}var s="object",o=this.__tree__,u=o.size||o.dimension&&o.dimension.size,c=u.length;if(Array.isArray(e)){if(!Array.isArray(e[0])){if(this.length!==e.length)return null;var f=1,h=0,d=[],v=[];for(n=0;n<c;n++)if(void 0!==e[n]){if("number"!=typeof e[n]||e[n]>=u[n])return null;h+=(f*=n>0?u[c-n]:1)*e[c-n-1]}else d.push(n),v.push(u[n]);if(d.length>1)return null;if(1===d.length){for(var p=0,y=v[0];p<y;p++){var b=[];for(n=0;n<c;n++)n!==d[0]?b.push(e[n]):b.push(p);i.push(this.Data(b,t))}return i}return t?{value:this.value[h],status:this.status?this.status[h]:null}:this.value[h]}s="array"}var g=function(e,t,n){var r,i=[],a={},s=e.dimension,o=e.id||s.id,u=e.size||s&&s.size;if("array"===n){for(r=t.length;r--;)a[t[r][0]]=t[r][1];t=a}for(var c=0,f=o.length;c<f;c++){var h=o[c],d=t[h];i.push("string"==typeof d?d:1===u[c]?l(s[h].category.index):null)}return i}(o,e,s),m=[],_=o.dimension,w=o.id||_.id;for(n=0,r=g.length;n<r;n++)m.push(_[w[n]].category.index[g[n]]);return this.Data(m,t)},e.prototype.toTable=function(e,t){if(null===this||"dataset"!==this.class)return null;1==arguments.length&&"function"==typeof e&&(t=e,e=null),"arrobj"!==(e=e||{field:"label",content:"label",vlabel:"Value",slabel:"Status",type:"array",status:!1,unit:!1,by:null,prefix:"",drop:[],meta:!1,comma:!1,bylabel:!1}).type&&"objarr"!==e.type||void 0!==e.field||(e.field="id");var r,i,l,a,s,o,u,c,f,h="id"===e.field,d=function(e){return(h?"value":e)||"Value"},v=function(e){return(h?"status":e)||"Status"},p=this.__tree__,y=!0===e.status;if("function"==typeof t){r=this.toTable(e);var b=[],g="array"!==e.type?0:1;for(s=(U="object"!==e.type?r.slice(g):r.rows.slice(0)).length,i=0;i<s;i++){var m=t.call(this,U[i],i);void 0!==m&&b.push(m)}return"object"===e.type?{cols:r.cols,rows:b}:("array"===e.type&&b.unshift(r[0]),b)}if("arrobj"===e.type||"objarr"===e.type){var _=[],w=p.role&&p.role.metric,O=function(){},x={},A=this,E=A.id,S=e.by&&-1!==E.indexOf(e.by)?e.by:null,D=!0===e.meta,j=void 0!==e.drop&&Array.isArray(e.drop)?e.drop:[],P=!0===e.comma,k=!0===e.bylabel,z=A.value.constructor,C=function(t){var r,i={},l=d(e.vlabel);return"objarr"===e.type&&(r=null===S&&n(z.name)?function(e){i[e]=e===l?z.from(t,(function(t){return t[e]})):t.map((function(t){return t[e]}))}:function(e){i[e]=t.map((function(t){return t[e]}))},Object.keys(t[0]).forEach(r),t=i),D?(i={},E.forEach((function(e){var t=A.Dimension(e);i[e]={label:t.label,role:t.role,categories:{id:t.id,label:A.Dimension(e,!1)}}})),{meta:{label:A.label,source:A.source,updated:A.updated,id:E,status:y,unit:e.unit,by:S,bylabel:k,drop:null!==S&&j.length>0?j:null,prefix:null!==S?B||"":null,comma:P,dimensions:i},data:t}):t};S&&(e.field="id");var N=(r=this.toTable({field:e.field,vlabel:e.vlabel,slabel:e.slabel,content:e.content,status:y})).shift();if(null===S&&e.unit&&w){if("id"!==e.content)for(var T=w.length;T--;){var R=this.Dimension(w[T]);x[w[T]]={};for(var F=R.length;F--;)x[w[T]][R.Category(F).label]=R.id[F]}O=function(t,n){if(-1!==w.indexOf(t)){var r=p.dimension[t].category;r.unit?I.unit=r.unit["id"!==e.content?x[t][n]:n]:I.unit=null}},e.unit=!0}else e.unit=!1;for(s=r.length,i=0;i<s;i++){var I={};for(l=r[i].length;l--;)I[N[l]]=r[i][l],O(N[l],r[i][l]);_.push(I)}if(P&&_.forEach((function(e){null!==e.value&&(e.value=(""+e.value).replace(".",","))})),null!==S){var J,L={},U=[],q={},B=void 0!==e.prefix?e.prefix:"";j.forEach((function(e,t){(!A.Dimension(e)||A.Dimension(e).length>1)&&(j[t]="")}));var V=E.filter((function(e){return e!==S&&-1===j.indexOf(e)})),M=A.Dimension(S),H=function(e,t){var n=[];return t.forEach((function(t){n.push(e[t])})),n.join("\t")},G=function(e,t){var n={};return t.forEach((function(t){n[t]=e[t]})),n};for(var K in"id"!==e.content?k?J=function(e,t,n){e[t][B+n[S]]=n.value}:(M.Category().forEach((function(e,t){q[e.label]=M.id[t]})),J=function(e,t,n){e[t][B+q[n[S]]]=n.value}):J=function(e,t,n){e[t][B+n[S]]=n.value},_.forEach((function(e){var t=H(e,V);void 0===L[t]&&(L[t]=G(e,V)),J(L,t,e,S)})),L)U.push(L[K]);return y=!1,C(U)}return C(_)}if("object"===e.type){var Q="number"==typeof this.value[0]||null===this.value[0]?"number":"string";o=function(e,t){var n=h&&e||t||e;le.push({id:e,label:n,type:"string"})},u=function(e,t,n){var r=d(e),i=v(t);n&&le.push({id:"status",label:i,type:"string"}),le.push({id:"value",label:r,type:Q})},c=function(e){ge.push({v:e})},f=function(e){ge.push({v:e}),ae.push({c:ge})}}else o=function(e,t){var n=h&&e||t||e;le.push(n)},u=function(e,t,n){var r=d(e),i=v(t);n&&le.push(i),le.push(r),ie.push(le)},c=function(e){ge.push(e)},f=function(e){ge.push(e),ie.push(ge)};var W=p.dimension,X=p.id||W.id,Y=p.size||W.size,Z=X.length;if(Z!=Y.length)return!1;var $=[],ee=1,te=(T=1,[]),ne=[],re=[],ie=[],le=[],ae=[];for(i=0;i<Z;i++){var se=X[i],oe=W[se].label;o(se,oe),ee*=Y[i],T*=Y[i];var ue=[];for(l=0;l<Y[i];l++)for(var ce in W[X[i]].category.index)if(W[X[i]].category.index[ce]===l){var fe="id"!==e.content&&W[X[i]].category.label?W[X[i]].category.label[ce]:ce;ue.push(fe)}$.push(ue),te.push(T)}for(u(e.vlabel,e.slabel,y),s=$.length,i=0;i<s;i++){for(var he=[],de=0,ve=$[i].length;de<ve;de++)for(var pe=0;pe<ee/te[i];pe++)he.push($[i][de]);ne.push(he)}for(s=ne.length,i=0;i<s;i++){var ye=[],be=0;for(a=0;a<ee;a++)ye.push(ne[i][be]),++be===ne[i].length&&(be=0);re.push(ye)}for(a=0;a<ee;a++){var ge=[];s=ne.length;for(var me=0;me<s;me++)c(re[me][a]);y&&c(this.status?this.status[a]:null),f(this.value[a])}return"object"===e.type?{cols:le,rows:ae}:ie},e.prototype.node=function(){return this.__tree__},e.prototype.toString=function(){return this.class},String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};var g="3.2.5";export{c as datalist,d as fromCSV,v as fromSDMX,h as fromTable,p as join,u as tbrowser,b as toCSV,g as version};
|
package/main.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// jsonstat-suite v3.2.
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=(e=require("jsonstat-toolkit"))&&"object"==typeof e&&"default"in e?e.default:e;function n(e,n){return null==e?null:("string"!=typeof e&&void 0!==e.length||(e=t(e)),0===e.length||"dataset"!==e.class&&"collection"!==e.class&&"bundle"!==e.class?null:"dataset"===e.class?e:e.Dataset(n))}function r(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function l(e,t,n){var r,l,a,i,o;return(t.label||n).capitalize()+(l=t,o="",(r=e)&&"metric"===r.role&&l.unit&&(a=l.unit.hasOwnProperty("label")?l.unit.label:"")+(i=l.unit.hasOwnProperty("symbol")?l.unit.symbol:"")!==""&&(o=" ("+(o=""===i?a:""===a?i:"start"===l.unit.position?i+a:a+" "+i)+")"),o)}function a(e,t,n){var r,a='<select name="'+t+'">',i=[];if(null!==n[1]){if(r=e.id,i=e.Dimension(),2===r.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var o=e.Dimension(t);if(r=o.id,i=o.Category(),1===r.length)return}return r.forEach((function(e,t){var r=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(a+="<option "+r+'value="'+e+'">'+l(o,i[t],e)+"</option>")})),a+="</select>"}function i(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function o(e,n){if(void 0===e)return null;void 0===n&&(n={}),"boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1);var r=n.vlabel||"Value",l=n.slabel||"Status",a=n.type||"array",o=n.label||"",s=n.header||null,u=[],c=[],d=[],f=[],v={},h={},b=function(e,t){for(var n=1,r=0,l=0;l<O;l++)r+=(n*=l>0?t[O-l]:1)*e[O-l-1];return r},p=function(){var t=e[x][r];d[b(S,c)]=isNaN(t)?null:t};switch(a){case"array":e=function(e){for(var t=e[0],n=e.slice(1),r=[],l=0,a=n.length;l<a;l++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[l][i];r.push(s)}return r}(e);break;case"object":e=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,r=[],l=0,a=n.length;l<a;l++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[l].c[i].v;r.push(s)}return r}(e)}var g,m=e.length;for(var y in n.hasOwnProperty("drop")&&Array.isArray(n.drop)&&n.drop.length&&e.forEach((function(e){n.drop.forEach((function(t){delete e[t]}))})),e[0])if(y!==r)if(y!==l){if(u.push(y),s)g=s.dimension[y],v[y]=g.category.index;else{v[y]=[];for(var w=0;w<m;w++){var E=e[w][y];-1===v[y].indexOf(E)&&v[y].push(E)}}c.push(v[y].length),h[y]={label:s?g.label:y,category:{index:v[y]}},s&&(h[y].category.label=g.category.label,g.category.unit&&(h[y].category.unit=g.category.unit))}else p=function(){var t=e[x][r],n=e[x][l];d[b(S,c)]=isNaN(t)?null:t,f[b(S,c)]=""===n?null:n};for(var O=u.length,x=0;x<m;x++){for(var S=[],A=0;A<O;A++){var D=u[A];S.push(v[D].indexOf(e[x][D]))}p()}var j={version:"2.0",class:"dataset",value:d,dimension:h,id:u,size:c};return o&&(j.label=o),f.length&&(j.status=f),s&&(s.label&&(j.label=s.label),s.source&&(j.source=s.source),s.updated&&(j.updated=s.updated),s.href&&(j.href=s.href),s.role&&(j.role=s.role)),n.ovalue&&(j.value=i(j,"value")),n.ostatus&&j.hasOwnProperty("status")&&(j.status=i(j,"status")),n.instance?t(j):j}function s(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};exports.datalist=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var l="",a="",i="",o=0,s=t.na||"n/a",u=t.dsid||0,c=t.vlabel||null,d=t.slabel||null,f=t.counter||!1,v=t.tblclass||"",h=t.numclass||"",b=t.valclass||"",p=t.status||!1,g=t.locale||"en-US",m=t.source||"Source",y=n(e,u),w=y.role&&y.role.metric?y.id.indexOf(y.role.metric[0]):null,E=y.Dimension({role:"metric"}),O={},x=Number.toLocaleString&&"none"!==g?function(e,t){return null===t?e.toLocaleString(g):e.toLocaleString(g,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},S=function(e,t){var n=null;e.forEach((function(e,r){var i=j===r?' class="'+h+" "+b+'"':"",o=s;t?(w===r&&(n=O[e]),null!==e&&(o=j===r?x(e,n):e),a+="<td"+i+">"+o+"</td>"):l+="<th"+i+">"+e+"</th>"}))},A=f?function(e,t){t?a+='<tr><td class="'+h+'">'+t+"</td>":l+='<th class="'+h+'">#</th>',S(e,t),a+="</tr>"}:function(e,t){a+="<tr>",S(e,t),a+="</tr>"};if(!r(y))return null;E&&E[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;O[e.label]=t}));var D=y.toTable({status:p,vlabel:c,slabel:d}),j=D[0].length-1;return D.forEach((function(e,t){A(e,t)})),y.source&&(o=y.length+1,f&&o++,p&&o++,"."!==(m+=": "+y.source).slice(-1)&&(m+="."),i='<tfoot><td colspan="'+o+'">'+m+"</td></tfoot>"),'<table class="'+v+'"><caption>'+(t.caption||y.label||"")+"</caption><thead><tr>"+l+"</tr></thead><tbody>"+a+"</tbody>"+i+"</table>"},exports.fromCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,r,l,a=[],i=null,s=null,u=!1,c={time:[],geo:[],metric:[]},d="jsonstat"===e.substring(0,8),f=d?"value":t.vlabel,v=d?"status":t.slabel,h=d?e.substring(8,9):t.delimiter||",",b=";"===h?t.decimal||",":t.decimal||".",p=function(e,t){t=t||",";for(var n,r,l=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),a=[[]],i=null;i=l.exec(e);)(r=i[1]).length&&r!=t&&a.push([]),n=i[2]?i[2].replace(new RegExp('""',"g"),'"'):i[3],a[a.length-1].push(n);return a}(e.trim(),h);if(d){for(b=p[0][1],l=p[0][2],p.shift();"data"!==p[0][0];)a.push(p.shift());p.shift(),s={dimension:{}},a.forEach((function(e){var t,n,r,a,i,o,d,f;switch(e[0]){case"dimension":if(s.dimension[e[1]]={},(a=s.dimension[e[1]]).label=e[2],a.category={},(i=a.category).index=[],n={},r=2*e[3]+3,e.length>=r){for(t=4;t<r;t++)d=e[t],f=e[++t],Object.defineProperty(n,d,{value:f,writable:!0,configurable:!0,enumerable:!0}),i.label=n,i.index.push(d);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(c[e[t]].push(e[1]),u=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(i.unit={},i.index.forEach((function(n,r){var a=e[t+r].split(l);i.unit[n]={},o=i.unit[n],void 0!==a[0]&&""!==a[0]&&(o.decimals=1*a[0]),void 0!==a[1]&&""!==a[1]&&(o.label=a[1]),void 0!==a[2]&&""!==a[2]&&(o.symbol=a[2]),void 0!==a[1]&&-1!==["start","end"].indexOf(a[3])&&(o.position=a[3])}))))}break;case"label":case"source":case"updated":case"href":s[e[0]]=e[1]||null}})),u&&(c.time.length||delete c.time,c.geo.length||delete c.geo,c.metric.length||delete c.metric,s.role=c)}if(n=p.length,r=p[0].length,void 0!==f){for(;r--;)if(p[0][r]===f){i=r;break}if(null===i)return null}else i=r-1,f=p[0][i];if(","===b)for(r=1;r<n;r++)p[r][i]=Number(p[r][i].replace(",","."));else for(r=1;r<n;r++)p[r][i]=Number(p[r][i]);return o(p,{header:s,vlabel:f,slabel:v,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})},exports.fromSDMX=function(e,n){if("object"!=typeof e||!e.hasOwnProperty("dataSets")||!Array.isArray(e.dataSets))return null;if(1!==e.dataSets.length)return null;e.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,r=e.structure,l=r.dimensions,a={};Object.keys(n).forEach(e=>{var t=n[e].observations;Object.keys(t).forEach(r=>{a[e+":"+r]=t[r].concat(n[e].attributes)})}),t.observations=a,delete t.series,l.observation=l.series.concat(l.observation),delete l.series,r.attributes.observation=r.attributes.observation.concat(r.attributes.series),delete r.attributes.series}(e),void 0===n?n={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1));var r=e.structure,l=e.dataSets[0].observations,a=r.attributes.observation,i=r.dimensions;if(!i.hasOwnProperty("observation"))return null;if(i.hasOwnProperty("series")&&(null!==i.series||Object.keys(i.series).length))return null;var o=1,s=[],u=[],c={},d=[],f={time:[],geo:[]},v=function(){},h=function(e,t){for(var n=e.size,r=n.length-t.length;r--;)t.push(0);for(var l=0,a=n.length,i=0,o=1;l<a;l++)i+=(o*=l>0?n[a-l]:1)*t[a-l-1];return i},b=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":f.geo.push(e.id);break;case"TIME_PERIOD":f.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),s.push(e.id),u.push(e.values.length),o*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},p=e.header.links?e.header.links.find((function(e){return"request"===e.rel})):null,g=a.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==g&&(a[g].values.length?d=a[g].values:g=-1),i.observation.forEach(b),i.hasOwnProperty("dataSet")&&i.dataSet.forEach(b);var m={version:"2.0",class:"dataset",updated:e.header.prepared||null,source:e.header.sender.name||null,label:r.name||null,id:s,size:u,dimension:c,value:n.ovalue?{}:new Array(o).fill(null)};for(var y in p&&(m.link={alternate:[{type:"application/vnd.sdmx.data+json",href:p.href}]}),f.geo.length+f.time.length>0&&(f.time.length||delete f.time,f.geo.length||delete f.geo,m.role=f),-1!==g&&(m.status=n.ostatus?{}:new Array(o).fill(null),m.extension={status:{label:{}}},d.forEach((function(e){m.extension.status.label[e.id]=e.name})),v=n.ostatus?function(){var e=l[y][g];null!==e&&(m.status[h(m,w)]=d[e].id)}:function(){var e=l[y][g];m.status[h(m,w)]=null===e?null:d[e].id}),g++,l){var w=y.split(":");n.ovalue&&null===l[y][0]||(m.value[h(m,w)]=l[y][0]),v()}return n.instance?t(m):m},exports.fromTable=o,exports.join=function(e,n){if(void 0===e||!Array.isArray(e))return null;var r=JSON.parse(JSON.stringify(e)),l=r[0];if(!l.hasOwnProperty("version")||!l.hasOwnProperty("class")||"dataset"!==l.class)return null;void 0===n&&(n={});var a=void 0===n.label?null:n.label,i=void 0===n.by?null:n.by,s=[];if(null===i){for(var u=1,c=r.length;u<c;u++)s=s.concat(r[u].value);return l.value=s,null!==a&&(l.label=a),l}var d,f,v,h=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=0===t[r]?n:t[r];return e};r.forEach((function(e,n){var r=t(e).toTable({status:!0}),l=e.dimension[i].category;0===n?(s=[r[0]],d=l.index,f=l.label,v=l.unit):(d=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=t[r]+n;return e}(d,l.index,Object.keys(d).length),f=h(f,l.label,n),v=h(v,l.unit,n)),s=s.concat(r.slice(1))}));var b=o(s);return l.value=b.value,l.size=b.size,l.status=b.status||null,l.label=a||"",l.href=null,l.dimension[i].category.index=d||null,l.dimension[i].category.label=f||null,l.dimension[i].category.unit=v||null,l},exports.tbrowser=function(e,t,i){function o(e){void 0!==t?t.innerHTML=s[e]:window.alert(s[e])}if(void 0!==e)if(void 0!==t){void 0===i&&(i={});var s=void 0===i.i18n||void 0===i.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:i.i18n.msgs,u=void 0===i.i18n||void 0===i.i18n.locale?"en-US":i.i18n.locale,c=i.dsid||0,d=i.status||!1,f=i.tblclass||"",v=i.nonconst||!1,h=n(e,c);if(r(h)){if(v)var b=function(e){var t=0,n=e.size.slice(0),r=[];return n.forEach((function(n,l){var a=l-t,i=e.Dimension(a);1===n&&(delete e.__tree__.dimension[e.id[a]],e.size.splice(a,1),e.id.splice(a,1),e.length--,t++,r.push(i.label.capitalize()+": "+i.Category(0).label.capitalize()))})),r}(h);1!==h.length?function e(t,n,r,i){var o="",c="",f="",h="",p=r.rows,g=n.Dimension(p),m=g.id,y=r.cols,w=n.Dimension(y),E=w.id,O=n.role&&n.role.metric?n.role.metric[0]:null,x=null!==O?n.Dimension(O):null,S=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},A=r.filter,D=JSON.parse(JSON.stringify(A)),j=[],P="",z="",C=n.source?s.source+": "+n.source:"",N=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var k in v&&b.length&&(N='<span class="label">'+b.join(". ")+"</span>"),""!==C&&"."!==C.slice(-1)&&(C+="."),f+="<caption>"+N+"<form>",A){var _=n.Dimension(k),R=_.label?_.label.capitalize():k.capitalize();_.length>1?P+="<p>"+a(n,k,[A[k],null])+" <strong>"+R+"</strong></p>":j.push({label:R,value:l(_,_.Category(0)),name:k,id:_.id[0]})}""!==P&&(P='<fieldset id="filters"><legend>'+s.filters+"</legend>"+P+"</fieldset>"),j.forEach((function(e){z+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==z&&(z='<fieldset id="constants"><legend>'+s.constants+"</legend>"+z+"</fieldset>"),f+=z+P+'<fieldset id="rowscols"><legend>'+s.rc+"</legend>"+a(n,"rows",[p,y])+" <a>↔</a> "+a(n,"cols",[y,p])+"</fieldset></form></caption>",h+="<tbody>";var L=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(m.forEach((function(e){D[p]=e;var t=n.Data(D),r=function(e,t){var n,r=y!==O?null===x?null:S(x.Category(D[O])):S(w.Category(t));null!==e.value?(n=L(e.value,r),d&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||s.na,h+="<td>"+n+"</td>"};null!==t?(h+='<tr><th scope="row">'+l(g,g.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){r(e,t)})):r(t,0),h+="</tr>"):h="ERROR"})),"ERROR"===h)return s.dataerror;h+="</tbody>",o+="<thead><tr><th></th>",E.forEach((function(e){o+='<th scope="col">'+l(w,w.Category(e))+"</th>"})),o+="</tr></thead>",""!==C&&(c='<tfoot><tr><td colspan="'+(E.length+1)+'">'+C+"</td></tr></tfoot>"),t.innerHTML='<table class="'+i+'">'+f+o+h+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(r){r.addEventListener("change",(function(r){var l,a;e(t,n,function(e,t,n){var r={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?r[e.name]=e.value:r.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==r.rows&&t!==r.cols?void 0===r.filter[t]&&(r.filter[t]=e.Dimension(n).id[0]):delete r.filter[t]})),r}(n,r.target.parentElement.getAttribute("id"),(l=t,a=[],[].slice.call(l.querySelectorAll("select, input")).forEach((function(e){a.push({name:e.name,value:e.value})})),a)),i)}),!1)})),t.querySelector("a").addEventListener("click",(function(){r.cols=p,r.rows=y,e(t,n,r,i)}),!1)}(t,h,function(e,t){var n,r,l={},a=[],i=e.id;if(t){var o="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){a.push({id:i[t],len:e.length})})),a.sort(o),n=a[0].id,r=a[1].id}else n=i[0],r=i[1];return e.Dimension(n).length<e.Dimension(r).length&&(n=r+(r=n,"")),i.forEach((function(t){t!==n&&t!==r&&(l[t]=e.Dimension(t).id[0])})),{rows:n,cols:r,filter:l}}(h,i.preset),f):o("dimerror")}else o("jsonerror")}else o("selerror");else o("urierror")},exports.toCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var l=!0===t.rich,a=l?"value":t.vlabel||"Value",i=l?"status":t.slabel||"Status",o=!0===t.status,u=t.na||"n/a",c=t.delimiter||",",d=t.separator||"|",f=";"===c?t.decimal||",":t.decimal||".",v=!0===t.array,h=n(e,t.dsid||0),b=v?[]:"",p=v?[]:"",g=v?function(e){b.push(e)}:function(e){b+=e+"\n"},m=v?function(e){p.push(e)}:function(e){p+=e+"\n"};if(!r(h))return null;l&&(o=null!==h.status);var y=h.toTable({vlabel:a,slabel:i,status:o,field:l?"id":"label",content:l?"id":"label",type:"array"}),w=y[0].indexOf(a),E=o?y[0].indexOf(i):-1;return y.forEach((function(e,t){e.forEach((function(n,r){t&&r===w?null===n?e[r]=s(u,c):"."!==f&&(e[r]=String(e[r]).replace(".",f)):e[r]=t&&r===E&&null===n?"":s(e[r],c)})),g(e.join(c))})),l&&(m("jsonstat"+c+f+c+d),["label","source","updated","href"].forEach((function(e){h[e]&&m(e+c+s(h[e],c))})),h.id.forEach((function(e,t){var n=[],r=h.Dimension(t),l=r.role,a=!1,i="";i+="dimension"+c+s(e,c)+c+s(r.label,c)+c+r.length,"metric"===l&&r.__tree__.category.unit&&(a=!0),r.id.forEach((function(e,t){var l=[],o=r.Category(t);i+=c+s(e,c)+c+s(o.label,c),a&&(l.push(o.unit.hasOwnProperty("decimals")?o.unit.decimals:""),l.push(o.unit.label||""),o.unit.symbol&&(l.push(o.unit.symbol),l.push(o.unit.position)),n.push(s(l.join(d),c)))})),null!==l&&"classification"!==l&&(i+=c+r.role,a&&(i+=c+n.join(c))),m(i)})),b=v?p.concat(["data"],b):p+"data\n"+b),b},exports.version="3.2.2";
|
|
1
|
+
// jsonstat-suite v3.2.5 Copyright 2022 Xavier Badosa https://jsonstat.com
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=(e=require("jsonstat-toolkit"))&&"object"==typeof e&&"default"in e?e.default:e;function n(e,n){return null==e?null:("string"!=typeof e&&void 0!==e.length||(e=t(e)),0===e.length||"dataset"!==e.class&&"collection"!==e.class&&"bundle"!==e.class?null:"dataset"===e.class?e:e.Dataset(n))}function r(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function a(e,t,n){var r,a,l,i,o;return(t.label||n).capitalize()+(a=t,o="",(r=e)&&"metric"===r.role&&a.unit&&(l=a.unit.hasOwnProperty("label")?a.unit.label:"")+(i=a.unit.hasOwnProperty("symbol")?a.unit.symbol:"")!==""&&(o=" ("+(o=""===i?l:""===l?i:"start"===a.unit.position?i+l:l+" "+i)+")"),o)}function l(e,t,n){var r,l='<select name="'+t+'">',i=[];if(null!==n[1]){if(r=e.id,i=e.Dimension(),2===r.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var o=e.Dimension(t);if(r=o.id,i=o.Category(),1===r.length)return}return r.forEach((function(e,t){var r=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(l+="<option "+r+'value="'+e+'">'+a(o,i[t],e)+"</option>")})),l+="</select>"}function i(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function o(e,n){if(void 0===e)return null;void 0===n&&(n={}),"boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1);var r=n.vlabel||"Value",a=n.slabel||"Status",l=n.type||"array",o=n.label||"",s=n.header||null,u=[],c=[],d=[],f=[],h={},v={},p=function(e,t){for(var n=1,r=0,a=0;a<E;a++)r+=(n*=a>0?t[E-a]:1)*e[E-a-1];return r},b=function(){var t=e[S][r];d[p(x,c)]=isNaN(t)?null:t};switch(l){case"array":e=function(e){for(var t=e[0],n=e.slice(1),r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a][i];r.push(s)}return r}(e);break;case"object":e=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a].c[i].v;r.push(s)}return r}(e)}var g,m=e.length;for(var y in n.hasOwnProperty("drop")&&Array.isArray(n.drop)&&n.drop.length&&e.forEach((function(e){n.drop.forEach((function(t){delete e[t]}))})),e[0])if(y!==r)if(y!==a){if(u.push(y),s)g=s.dimension[y],h[y]=g.category.index;else{h[y]=[];for(var w=0;w<m;w++){var O=e[w][y];-1===h[y].indexOf(O)&&h[y].push(O)}}c.push(h[y].length),v[y]={label:s?g.label:y,category:{index:h[y]}},s&&(v[y].category.label=g.category.label,g.category.unit&&(v[y].category.unit=g.category.unit))}else b=function(){var t=e[S][r],n=e[S][a];d[p(x,c)]=isNaN(t)?null:t,f[p(x,c)]=""===n?null:n};for(var E=u.length,S=0;S<m;S++){for(var x=[],A=0;A<E;A++){var P=u[A];x.push(h[P].indexOf(e[S][P]))}b()}var D={version:"2.0",class:"dataset",value:d,dimension:v,id:u,size:c};return o&&(D.label=o),f.length&&(D.status=f),s&&(s.label&&(D.label=s.label),s.source&&(D.source=s.source),s.updated&&(D.updated=s.updated),s.href&&(D.href=s.href),s.role&&(D.role=s.role)),n.ovalue&&(D.value=i(D,"value")),n.ostatus&&D.hasOwnProperty("status")&&(D.status=i(D,"status")),n.instance?t(D):D}function s(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};exports.datalist=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var a="",l="",i="",o=0,s=t.na||"n/a",u=t.dsid||0,c=t.vlabel||null,d=t.slabel||null,f=t.counter||!1,h=t.tblclass||"",v=t.numclass||"",p=t.valclass||"",b=t.status||!1,g=t.locale||"en-US",m=t.source||"Source",y=n(e,u),w=y.role&&y.role.metric?y.id.indexOf(y.role.metric[0]):null,O=y.Dimension({role:"metric"}),E={},S=Number.toLocaleString&&"none"!==g?function(e,t){return null===t?e.toLocaleString(g):e.toLocaleString(g,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},x=function(e,t){var n=null;e.forEach((function(e,r){var i=D===r?' class="'+v+" "+p+'"':"",o=s;t?(w===r&&(n=E[e]),null!==e&&(o=D===r?S(e,n):e),l+="<td"+i+">"+o+"</td>"):a+="<th"+i+">"+e+"</th>"}))},A=f?function(e,t){t?l+='<tr><td class="'+v+'">'+t+"</td>":a+='<th class="'+v+'">#</th>',x(e,t),l+="</tr>"}:function(e,t){l+="<tr>",x(e,t),l+="</tr>"};if(!r(y))return null;O&&O[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;E[e.label]=t}));var P=y.toTable({status:b,vlabel:c,slabel:d}),D=P[0].length-1;return P.forEach((function(e,t){A(e,t)})),y.source&&(o=y.length+1,f&&o++,b&&o++,"."!==(m+=": "+y.source).slice(-1)&&(m+="."),i='<tfoot><td colspan="'+o+'">'+m+"</td></tfoot>"),'<table class="'+h+'"><caption>'+(t.caption||y.label||"")+"</caption><thead><tr>"+a+"</tr></thead><tbody>"+l+"</tbody>"+i+"</table>"},exports.fromCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,r,a,l=[],i=null,s=null,u=!1,c={time:[],geo:[],metric:[]},d="jsonstat"===e.substring(0,8),f=d?"value":t.vlabel,h=d?"status":t.slabel,v=d?e.substring(8,9):t.delimiter||",",p=";"===v?t.decimal||",":t.decimal||".",b=function(e,t){t=t||",";for(var n,r,a=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),l=[[]],i=null;i=a.exec(e);)(r=i[1]).length&&r!=t&&l.push([]),n=i[2]?i[2].replace(new RegExp('""',"g"),'"'):i[3],l[l.length-1].push(n);return l}(e.trim(),v);if(d){for(p=b[0][1],a=b[0][2],b.shift();"data"!==b[0][0];)l.push(b.shift());b.shift(),s={dimension:{}},l.forEach((function(e){var t,n,r,l,i,o,d,f;switch(e[0]){case"dimension":if(s.dimension[e[1]]={},(l=s.dimension[e[1]]).label=e[2],l.category={},(i=l.category).index=[],n={},r=2*e[3]+3,e.length>=r){for(t=4;t<r;t++)d=e[t],f=e[++t],Object.defineProperty(n,d,{value:f,writable:!0,configurable:!0,enumerable:!0}),i.label=n,i.index.push(d);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(c[e[t]].push(e[1]),u=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(i.unit={},i.index.forEach((function(n,r){var l=e[t+r].split(a);i.unit[n]={},o=i.unit[n],void 0!==l[0]&&""!==l[0]&&(o.decimals=1*l[0]),void 0!==l[1]&&""!==l[1]&&(o.label=l[1]),void 0!==l[2]&&""!==l[2]&&(o.symbol=l[2]),void 0!==l[1]&&-1!==["start","end"].indexOf(l[3])&&(o.position=l[3])}))))}break;case"label":case"source":case"updated":case"href":s[e[0]]=e[1]||null}})),u&&(c.time.length||delete c.time,c.geo.length||delete c.geo,c.metric.length||delete c.metric,s.role=c)}if(n=b.length,r=b[0].length,void 0!==f){for(;r--;)if(b[0][r]===f){i=r;break}if(null===i)return null}else i=r-1,f=b[0][i];if(","===p)for(r=1;r<n;r++)b[r][i]=Number(b[r][i].replace(",","."));else for(r=1;r<n;r++)b[r][i]=Number(b[r][i]);return o(b,{header:s,vlabel:f,slabel:h,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})},exports.fromSDMX=function(e,n){if("object"!=typeof e)return null;if(e.hasOwnProperty("data")&&e.hasOwnProperty("meta")&&e.data.hasOwnProperty("dataSets")&&e.data.hasOwnProperty("structures")&&Array.isArray(e.data.structures)&&(e.dataSets=e.data.dataSets,e.structure=e.data.structures[0],e.header=e.meta),!e.hasOwnProperty("dataSets")||!Array.isArray(e.dataSets))return null;if(1!==e.dataSets.length)return null;e.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,r=e.structure,a=r.dimensions,l={};Object.keys(n).forEach((function(e){var t=n[e].observations;Object.keys(t).forEach((function(r){l[e+":"+r]=t[r].concat(n[e].attributes)}))})),t.observations=l,delete t.series,a.observation=a.series.concat(a.observation),delete a.series,r.attributes.observation=r.attributes.observation.concat(r.attributes.series),delete r.attributes.series}(e),void 0===n?n={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1));var r=e.structure,a=e.dataSets[0].observations,l=r.attributes.observation,i=r.dimensions;if(!i.hasOwnProperty("observation"))return null;if(i.hasOwnProperty("series")&&Object.keys(i.series).length)return null;var o=1,s=[],u=[],c={},d=[],f={time:[],geo:[]},h=function(){},v=function(e,t){for(var n=e.size,r=n.length-t.length;r--;)t.push(0);for(var a=0,l=n.length,i=0,o=1;a<l;a++)i+=(o*=a>0?n[l-a]:1)*t[l-a-1];return i},p=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":f.geo.push(e.id);break;case"TIME_PERIOD":f.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),s.push(e.id),u.push(e.values.length),o*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},b=e.header.links?e.header.links.find((function(e){return"request"===e.rel})):null,g=l.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==g&&(l[g].values.length?d=l[g].values:g=-1),i.observation.forEach(p),i.hasOwnProperty("dataSet")&&i.dataSet.forEach(p);var m={version:"2.0",class:"dataset",updated:e.header.prepared||null,source:e.header.sender.name||null,label:r.name||null,id:s,size:u,dimension:c,value:n.ovalue?{}:new Array(o).fill(null)};for(var y in b&&(m.link={alternate:[{type:"application/vnd.sdmx.data+json",href:b.href}]}),f.geo.length+f.time.length>0&&(f.time.length||delete f.time,f.geo.length||delete f.geo,m.role=f),-1!==g&&(m.status=n.ostatus?{}:new Array(o).fill(null),m.extension={status:{label:{}}},d.forEach((function(e){m.extension.status.label[e.id]=e.name})),h=n.ostatus?function(){var e=a[y][g];null!==e&&(m.status[v(m,w)]=d[e].id)}:function(){var e=a[y][g];m.status[v(m,w)]=null===e?null:d[e].id}),g++,a){var w=y.split(":");n.ovalue&&null===a[y][0]||(m.value[v(m,w)]=a[y][0]),h()}return n.instance?t(m):m},exports.fromTable=o,exports.join=function(e,n){if(void 0===e||!Array.isArray(e))return null;var r=JSON.parse(JSON.stringify(e)),a=r[0];if(!a.hasOwnProperty("version")||!a.hasOwnProperty("class")||"dataset"!==a.class)return null;void 0===n&&(n={});var l=void 0===n.label?null:n.label,i=void 0===n.by?null:n.by,s=[];if(null===i){for(var u=1,c=r.length;u<c;u++)s=s.concat(r[u].value);return a.value=s,null!==l&&(a.label=l),a}var d,f,h,v=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=0===t[r]?n:t[r];return e};r.forEach((function(e,n){var r=t(e).toTable({status:!0}),a=e.dimension[i].category;0===n?(s=[r[0]],d=a.index,f=a.label,h=a.unit):(d=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=t[r]+n;return e}(d,a.index,Object.keys(d).length),f=v(f,a.label,n),h=v(h,a.unit,n)),s=s.concat(r.slice(1))}));var p=o(s);return a.value=p.value,a.size=p.size,a.status=p.status||null,a.label=l||"",a.href=null,a.dimension[i].category.index=d||null,a.dimension[i].category.label=f||null,a.dimension[i].category.unit=h||null,a},exports.tbrowser=function(e,t,i){function o(e){void 0!==t?t.innerHTML=s[e]:window.alert(s[e])}if(void 0!==e)if(void 0!==t){void 0===i&&(i={});var s=void 0===i.i18n||void 0===i.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:i.i18n.msgs,u=void 0===i.i18n||void 0===i.i18n.locale?"en-US":i.i18n.locale,c=i.dsid||0,d=i.status||!1,f=i.tblclass||"",h=i.nonconst||!1,v=n(e,c);if(r(v)){if(h)var p=function(e){var t=0,n=e.size.slice(0),r=[];return n.forEach((function(n,a){var l=a-t,i=e.Dimension(l);1===n&&(delete e.__tree__.dimension[e.id[l]],e.size.splice(l,1),e.id.splice(l,1),e.length--,t++,r.push(i.label.capitalize()+": "+i.Category(0).label.capitalize()))})),r}(v);1!==v.length?function e(t,n,r,i){var o="",c="",f="",v="",b=r.rows,g=n.Dimension(b),m=g.id,y=r.cols,w=n.Dimension(y),O=w.id,E=n.role&&n.role.metric?n.role.metric[0]:null,S=null!==E?n.Dimension(E):null,x=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},A=r.filter,P=JSON.parse(JSON.stringify(A)),D=[],j="",z="",C=n.source?s.source+": "+n.source:"",N=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var k in h&&p.length&&(N='<span class="label">'+p.join(". ")+"</span>"),""!==C&&"."!==C.slice(-1)&&(C+="."),f+="<caption>"+N+"<form>",A){var _=n.Dimension(k),R=_.label?_.label.capitalize():k.capitalize();_.length>1?j+="<p>"+l(n,k,[A[k],null])+" <strong>"+R+"</strong></p>":D.push({label:R,value:a(_,_.Category(0)),name:k,id:_.id[0]})}""!==j&&(j='<fieldset id="filters"><legend>'+s.filters+"</legend>"+j+"</fieldset>"),D.forEach((function(e){z+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==z&&(z='<fieldset id="constants"><legend>'+s.constants+"</legend>"+z+"</fieldset>"),f+=z+j+'<fieldset id="rowscols"><legend>'+s.rc+"</legend>"+l(n,"rows",[b,y])+" <a>↔</a> "+l(n,"cols",[y,b])+"</fieldset></form></caption>",v+="<tbody>";var L=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(m.forEach((function(e){P[b]=e;var t=n.Data(P),r=function(e,t){var n,r=y!==E?null===S?null:x(S.Category(P[E])):x(w.Category(t));null!==e.value?(n=L(e.value,r),d&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||s.na,v+="<td>"+n+"</td>"};null!==t?(v+='<tr><th scope="row">'+a(g,g.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){r(e,t)})):r(t,0),v+="</tr>"):v="ERROR"})),"ERROR"===v)return s.dataerror;v+="</tbody>",o+="<thead><tr><th></th>",O.forEach((function(e){o+='<th scope="col">'+a(w,w.Category(e))+"</th>"})),o+="</tr></thead>",""!==C&&(c='<tfoot><tr><td colspan="'+(O.length+1)+'">'+C+"</td></tr></tfoot>"),t.innerHTML='<table class="'+i+'">'+f+o+v+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(r){r.addEventListener("change",(function(r){var a,l;e(t,n,function(e,t,n){var r={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?r[e.name]=e.value:r.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==r.rows&&t!==r.cols?void 0===r.filter[t]&&(r.filter[t]=e.Dimension(n).id[0]):delete r.filter[t]})),r}(n,r.target.parentElement.getAttribute("id"),(a=t,l=[],[].slice.call(a.querySelectorAll("select, input")).forEach((function(e){l.push({name:e.name,value:e.value})})),l)),i)}),!1)})),t.querySelector("a").addEventListener("click",(function(){r.cols=b,r.rows=y,e(t,n,r,i)}),!1)}(t,v,function(e,t){var n,r,a={},l=[],i=e.id;if(t){var o="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){l.push({id:i[t],len:e.length})})),l.sort(o),n=l[0].id,r=l[1].id}else n=i[0],r=i[1];return e.Dimension(n).length<e.Dimension(r).length&&(n=r+(r=n,"")),i.forEach((function(t){t!==n&&t!==r&&(a[t]=e.Dimension(t).id[0])})),{rows:n,cols:r,filter:a}}(v,i.preset),f):o("dimerror")}else o("jsonerror")}else o("selerror");else o("urierror")},exports.toCSV=function(e,t){if(void 0===e)return null;void 0===t&&(t={});var a=!0===t.rich,l=a?"value":t.vlabel||"Value",i=a?"status":t.slabel||"Status",o=!0===t.status,u=t.na||"n/a",c=t.delimiter||",",d=t.separator||"|",f=";"===c?t.decimal||",":t.decimal||".",h=!0===t.array,v=n(e,t.dsid||0),p=h?[]:"",b=h?[]:"",g=h?function(e){p.push(e)}:function(e){p+=e+"\n"},m=h?function(e){b.push(e)}:function(e){b+=e+"\n"};if(!r(v))return null;a&&(o=null!==v.status);var y=v.toTable({vlabel:l,slabel:i,status:o,field:a?"id":"label",content:a?"id":"label",type:"array"}),w=y[0].indexOf(l),O=o?y[0].indexOf(i):-1;return y.forEach((function(e,t){e.forEach((function(n,r){t&&r===w?null===n?e[r]=s(u,c):"."!==f&&(e[r]=String(e[r]).replace(".",f)):e[r]=t&&r===O&&null===n?"":s(e[r],c)})),g(e.join(c))})),a&&(m("jsonstat"+c+f+c+d),["label","source","updated","href"].forEach((function(e){v[e]&&m(e+c+s(v[e],c))})),v.id.forEach((function(e,t){var n=[],r=v.Dimension(t),a=r.role,l=!1,i="";i+="dimension"+c+s(e,c)+c+s(r.label,c)+c+r.length,"metric"===a&&r.__tree__.category.unit&&(l=!0),r.id.forEach((function(e,t){var a=[],o=r.Category(t);i+=c+s(e,c)+c+s(o.label,c),l&&(a.push(o.unit.hasOwnProperty("decimals")?o.unit.decimals:""),a.push(o.unit.label||""),o.unit.symbol&&(a.push(o.unit.symbol),a.push(o.unit.position)),n.push(s(a.join(d),c)))})),null!==a&&"classification"!==a&&(i+=c+r.role,l&&(i+=c+n.join(c))),m(i)})),p=h?b.concat(["data"],p):b+"data\n"+p),p},exports.version="3.2.5";
|
package/module.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// jsonstat-suite v3.2.
|
|
2
|
-
import e from"jsonstat-toolkit";function t(t,n){return null==t?null:("string"!=typeof t&&void 0!==t.length||(t=e(t)),0===t.length||"dataset"!==t.class&&"collection"!==t.class&&"bundle"!==t.class?null:"dataset"===t.class?t:t.Dataset(n))}function n(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function r(e,t,n){var r,l,a,i,o;return(t.label||n).capitalize()+(l=t,o="",(r=e)&&"metric"===r.role&&l.unit&&(a=l.unit.hasOwnProperty("label")?l.unit.label:"")+(i=l.unit.hasOwnProperty("symbol")?l.unit.symbol:"")!==""&&(o=" ("+(o=""===i?a:""===a?i:"start"===l.unit.position?i+a:a+" "+i)+")"),o)}function l(e,t,n){var l,a='<select name="'+t+'">',i=[];if(null!==n[1]){if(l=e.id,i=e.Dimension(),2===l.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var o=e.Dimension(t);if(l=o.id,i=o.Category(),1===l.length)return}return l.forEach((function(e,t){var l=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(a+="<option "+l+'value="'+e+'">'+r(o,i[t],e)+"</option>")})),a+="</select>"}function a(e,a,i){function o(e){void 0!==a?a.innerHTML=s[e]:window.alert(s[e])}if(void 0!==e)if(void 0!==a){void 0===i&&(i={});var s=void 0===i.i18n||void 0===i.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:i.i18n.msgs,u=void 0===i.i18n||void 0===i.i18n.locale?"en-US":i.i18n.locale,c=i.dsid||0,d=i.status||!1,f=i.tblclass||"",h=i.nonconst||!1,v=t(e,c);if(n(v)){if(h)var b=function(e){var t=0,n=e.size.slice(0),r=[];return n.forEach((function(n,l){var a=l-t,i=e.Dimension(a);1===n&&(delete e.__tree__.dimension[e.id[a]],e.size.splice(a,1),e.id.splice(a,1),e.length--,t++,r.push(i.label.capitalize()+": "+i.Category(0).label.capitalize()))})),r}(v);1!==v.length?function e(t,n,a,i){var o="",c="",f="",v="",p=a.rows,g=n.Dimension(p),m=g.id,y=a.cols,w=n.Dimension(y),E=w.id,O=n.role&&n.role.metric?n.role.metric[0]:null,S=null!==O?n.Dimension(O):null,x=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},A=a.filter,D=JSON.parse(JSON.stringify(A)),P=[],j="",z="",N=n.source?s.source+": "+n.source:"",k=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var C in h&&b.length&&(k='<span class="label">'+b.join(". ")+"</span>"),""!==N&&"."!==N.slice(-1)&&(N+="."),f+="<caption>"+k+"<form>",A){var R=n.Dimension(C),_=R.label?R.label.capitalize():C.capitalize();R.length>1?j+="<p>"+l(n,C,[A[C],null])+" <strong>"+_+"</strong></p>":P.push({label:_,value:r(R,R.Category(0)),name:C,id:R.id[0]})}""!==j&&(j='<fieldset id="filters"><legend>'+s.filters+"</legend>"+j+"</fieldset>"),P.forEach((function(e){z+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==z&&(z='<fieldset id="constants"><legend>'+s.constants+"</legend>"+z+"</fieldset>"),f+=z+j+'<fieldset id="rowscols"><legend>'+s.rc+"</legend>"+l(n,"rows",[p,y])+" <a>↔</a> "+l(n,"cols",[y,p])+"</fieldset></form></caption>",v+="<tbody>";var L=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(m.forEach((function(e){D[p]=e;var t=n.Data(D),l=function(e,t){var n,r=y!==O?null===S?null:x(S.Category(D[O])):x(w.Category(t));null!==e.value?(n=L(e.value,r),d&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||s.na,v+="<td>"+n+"</td>"};null!==t?(v+='<tr><th scope="row">'+r(g,g.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){l(e,t)})):l(t,0),v+="</tr>"):v="ERROR"})),"ERROR"===v)return s.dataerror;v+="</tbody>",o+="<thead><tr><th></th>",E.forEach((function(e){o+='<th scope="col">'+r(w,w.Category(e))+"</th>"})),o+="</tr></thead>",""!==N&&(c='<tfoot><tr><td colspan="'+(E.length+1)+'">'+N+"</td></tr></tfoot>"),t.innerHTML='<table class="'+i+'">'+f+o+v+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(r){r.addEventListener("change",(function(r){var l,a;e(t,n,function(e,t,n){var r={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?r[e.name]=e.value:r.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==r.rows&&t!==r.cols?void 0===r.filter[t]&&(r.filter[t]=e.Dimension(n).id[0]):delete r.filter[t]})),r}(n,r.target.parentElement.getAttribute("id"),(l=t,a=[],[].slice.call(l.querySelectorAll("select, input")).forEach((function(e){a.push({name:e.name,value:e.value})})),a)),i)}),!1)})),t.querySelector("a").addEventListener("click",(function(){a.cols=p,a.rows=y,e(t,n,a,i)}),!1)}(a,v,function(e,t){var n,r,l={},a=[],i=e.id;if(t){var o="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){a.push({id:i[t],len:e.length})})),a.sort(o),n=a[0].id,r=a[1].id}else n=i[0],r=i[1];return e.Dimension(n).length<e.Dimension(r).length&&(n=r+(r=n,"")),i.forEach((function(t){t!==n&&t!==r&&(l[t]=e.Dimension(t).id[0])})),{rows:n,cols:r,filter:l}}(v,i.preset),f):o("dimerror")}else o("jsonerror")}else o("selerror");else o("urierror")}function i(e,r){if(void 0===e)return null;void 0===r&&(r={});var l="",a="",i="",o=0,s=r.na||"n/a",u=r.dsid||0,c=r.vlabel||null,d=r.slabel||null,f=r.counter||!1,h=r.tblclass||"",v=r.numclass||"",b=r.valclass||"",p=r.status||!1,g=r.locale||"en-US",m=r.source||"Source",y=t(e,u),w=y.role&&y.role.metric?y.id.indexOf(y.role.metric[0]):null,E=y.Dimension({role:"metric"}),O={},S=Number.toLocaleString&&"none"!==g?function(e,t){return null===t?e.toLocaleString(g):e.toLocaleString(g,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},x=function(e,t){var n=null;e.forEach((function(e,r){var i=P===r?' class="'+v+" "+b+'"':"",o=s;t?(w===r&&(n=O[e]),null!==e&&(o=P===r?S(e,n):e),a+="<td"+i+">"+o+"</td>"):l+="<th"+i+">"+e+"</th>"}))},A=f?function(e,t){t?a+='<tr><td class="'+v+'">'+t+"</td>":l+='<th class="'+v+'">#</th>',x(e,t),a+="</tr>"}:function(e,t){a+="<tr>",x(e,t),a+="</tr>"};if(!n(y))return null;E&&E[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;O[e.label]=t}));var D=y.toTable({status:p,vlabel:c,slabel:d}),P=D[0].length-1;return D.forEach((function(e,t){A(e,t)})),y.source&&(o=y.length+1,f&&o++,p&&o++,"."!==(m+=": "+y.source).slice(-1)&&(m+="."),i='<tfoot><td colspan="'+o+'">'+m+"</td></tfoot>"),'<table class="'+h+'"><caption>'+(r.caption||y.label||"")+"</caption><thead><tr>"+l+"</tr></thead><tbody>"+a+"</tbody>"+i+"</table>"}function o(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function s(t,n){if(void 0===t)return null;void 0===n&&(n={}),"boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1);var r=n.vlabel||"Value",l=n.slabel||"Status",a=n.type||"array",i=n.label||"",s=n.header||null,u=[],c=[],d=[],f=[],h={},v={},b=function(e,t){for(var n=1,r=0,l=0;l<O;l++)r+=(n*=l>0?t[O-l]:1)*e[O-l-1];return r},p=function(){var e=t[S][r];d[b(x,c)]=isNaN(e)?null:e};switch(a){case"array":t=function(e){for(var t=e[0],n=e.slice(1),r=[],l=0,a=n.length;l<a;l++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[l][i];r.push(s)}return r}(t);break;case"object":t=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,r=[],l=0,a=n.length;l<a;l++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[l].c[i].v;r.push(s)}return r}(t)}var g,m=t.length;for(var y in n.hasOwnProperty("drop")&&Array.isArray(n.drop)&&n.drop.length&&t.forEach((function(e){n.drop.forEach((function(t){delete e[t]}))})),t[0])if(y!==r)if(y!==l){if(u.push(y),s)g=s.dimension[y],h[y]=g.category.index;else{h[y]=[];for(var w=0;w<m;w++){var E=t[w][y];-1===h[y].indexOf(E)&&h[y].push(E)}}c.push(h[y].length),v[y]={label:s?g.label:y,category:{index:h[y]}},s&&(v[y].category.label=g.category.label,g.category.unit&&(v[y].category.unit=g.category.unit))}else p=function(){var e=t[S][r],n=t[S][l];d[b(x,c)]=isNaN(e)?null:e,f[b(x,c)]=""===n?null:n};for(var O=u.length,S=0;S<m;S++){for(var x=[],A=0;A<O;A++){var D=u[A];x.push(h[D].indexOf(t[S][D]))}p()}var P={version:"2.0",class:"dataset",value:d,dimension:v,id:u,size:c};return i&&(P.label=i),f.length&&(P.status=f),s&&(s.label&&(P.label=s.label),s.source&&(P.source=s.source),s.updated&&(P.updated=s.updated),s.href&&(P.href=s.href),s.role&&(P.role=s.role)),n.ovalue&&(P.value=o(P,"value")),n.ostatus&&P.hasOwnProperty("status")&&(P.status=o(P,"status")),n.instance?e(P):P}function u(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,r,l,a=[],i=null,o=null,u=!1,c={time:[],geo:[],metric:[]},d="jsonstat"===e.substring(0,8),f=d?"value":t.vlabel,h=d?"status":t.slabel,v=d?e.substring(8,9):t.delimiter||",",b=";"===v?t.decimal||",":t.decimal||".",p=function(e,t){t=t||",";for(var n,r,l=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),a=[[]],i=null;i=l.exec(e);)(r=i[1]).length&&r!=t&&a.push([]),n=i[2]?i[2].replace(new RegExp('""',"g"),'"'):i[3],a[a.length-1].push(n);return a}(e.trim(),v);if(d){for(b=p[0][1],l=p[0][2],p.shift();"data"!==p[0][0];)a.push(p.shift());p.shift(),o={dimension:{}},a.forEach((function(e){var t,n,r,a,i,s,d,f;switch(e[0]){case"dimension":if(o.dimension[e[1]]={},(a=o.dimension[e[1]]).label=e[2],a.category={},(i=a.category).index=[],n={},r=2*e[3]+3,e.length>=r){for(t=4;t<r;t++)d=e[t],f=e[++t],Object.defineProperty(n,d,{value:f,writable:!0,configurable:!0,enumerable:!0}),i.label=n,i.index.push(d);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(c[e[t]].push(e[1]),u=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(i.unit={},i.index.forEach((function(n,r){var a=e[t+r].split(l);i.unit[n]={},s=i.unit[n],void 0!==a[0]&&""!==a[0]&&(s.decimals=1*a[0]),void 0!==a[1]&&""!==a[1]&&(s.label=a[1]),void 0!==a[2]&&""!==a[2]&&(s.symbol=a[2]),void 0!==a[1]&&-1!==["start","end"].indexOf(a[3])&&(s.position=a[3])}))))}break;case"label":case"source":case"updated":case"href":o[e[0]]=e[1]||null}})),u&&(c.time.length||delete c.time,c.geo.length||delete c.geo,c.metric.length||delete c.metric,o.role=c)}if(n=p.length,r=p[0].length,void 0!==f){for(;r--;)if(p[0][r]===f){i=r;break}if(null===i)return null}else i=r-1,f=p[0][i];if(","===b)for(r=1;r<n;r++)p[r][i]=Number(p[r][i].replace(",","."));else for(r=1;r<n;r++)p[r][i]=Number(p[r][i]);return s(p,{header:o,vlabel:f,slabel:h,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})}function c(t,n){if("object"!=typeof t||!t.hasOwnProperty("dataSets")||!Array.isArray(t.dataSets))return null;if(1!==t.dataSets.length)return null;t.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,r=e.structure,l=r.dimensions,a={};Object.keys(n).forEach(e=>{var t=n[e].observations;Object.keys(t).forEach(r=>{a[e+":"+r]=t[r].concat(n[e].attributes)})}),t.observations=a,delete t.series,l.observation=l.series.concat(l.observation),delete l.series,r.attributes.observation=r.attributes.observation.concat(r.attributes.series),delete r.attributes.series}(t),void 0===n?n={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1));var r=t.structure,l=t.dataSets[0].observations,a=r.attributes.observation,i=r.dimensions;if(!i.hasOwnProperty("observation"))return null;if(i.hasOwnProperty("series")&&(null!==i.series||Object.keys(i.series).length))return null;var o=1,s=[],u=[],c={},d=[],f={time:[],geo:[]},h=function(){},v=function(e,t){for(var n=e.size,r=n.length-t.length;r--;)t.push(0);for(var l=0,a=n.length,i=0,o=1;l<a;l++)i+=(o*=l>0?n[a-l]:1)*t[a-l-1];return i},b=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":f.geo.push(e.id);break;case"TIME_PERIOD":f.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),s.push(e.id),u.push(e.values.length),o*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},p=t.header.links?t.header.links.find((function(e){return"request"===e.rel})):null,g=a.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==g&&(a[g].values.length?d=a[g].values:g=-1),i.observation.forEach(b),i.hasOwnProperty("dataSet")&&i.dataSet.forEach(b);var m={version:"2.0",class:"dataset",updated:t.header.prepared||null,source:t.header.sender.name||null,label:r.name||null,id:s,size:u,dimension:c,value:n.ovalue?{}:new Array(o).fill(null)};for(var y in p&&(m.link={alternate:[{type:"application/vnd.sdmx.data+json",href:p.href}]}),f.geo.length+f.time.length>0&&(f.time.length||delete f.time,f.geo.length||delete f.geo,m.role=f),-1!==g&&(m.status=n.ostatus?{}:new Array(o).fill(null),m.extension={status:{label:{}}},d.forEach((function(e){m.extension.status.label[e.id]=e.name})),h=n.ostatus?function(){var e=l[y][g];null!==e&&(m.status[v(m,w)]=d[e].id)}:function(){var e=l[y][g];m.status[v(m,w)]=null===e?null:d[e].id}),g++,l){var w=y.split(":");n.ovalue&&null===l[y][0]||(m.value[v(m,w)]=l[y][0]),h()}return n.instance?e(m):m}function d(t,n){if(void 0===t||!Array.isArray(t))return null;var r=JSON.parse(JSON.stringify(t)),l=r[0];if(!l.hasOwnProperty("version")||!l.hasOwnProperty("class")||"dataset"!==l.class)return null;void 0===n&&(n={});var a=void 0===n.label?null:n.label,i=void 0===n.by?null:n.by,o=[];if(null===i){for(var u=1,c=r.length;u<c;u++)o=o.concat(r[u].value);return l.value=o,null!==a&&(l.label=a),l}var d,f,h,v=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=0===t[r]?n:t[r];return e};r.forEach((function(t,n){var r=e(t).toTable({status:!0}),l=t.dimension[i].category;0===n?(o=[r[0]],d=l.index,f=l.label,h=l.unit):(d=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=t[r]+n;return e}(d,l.index,Object.keys(d).length),f=v(f,l.label,n),h=v(h,l.unit,n)),o=o.concat(r.slice(1))}));var b=s(o);return l.value=b.value,l.size=b.size,l.status=b.status||null,l.label=a||"",l.href=null,l.dimension[i].category.index=d||null,l.dimension[i].category.label=f||null,l.dimension[i].category.unit=h||null,l}function f(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}function h(e,r){if(void 0===e)return null;void 0===r&&(r={});var l=!0===r.rich,a=l?"value":r.vlabel||"Value",i=l?"status":r.slabel||"Status",o=!0===r.status,s=r.na||"n/a",u=r.delimiter||",",c=r.separator||"|",d=";"===u?r.decimal||",":r.decimal||".",h=!0===r.array,v=t(e,r.dsid||0),b=h?[]:"",p=h?[]:"",g=h?function(e){b.push(e)}:function(e){b+=e+"\n"},m=h?function(e){p.push(e)}:function(e){p+=e+"\n"};if(!n(v))return null;l&&(o=null!==v.status);var y=v.toTable({vlabel:a,slabel:i,status:o,field:l?"id":"label",content:l?"id":"label",type:"array"}),w=y[0].indexOf(a),E=o?y[0].indexOf(i):-1;return y.forEach((function(e,t){e.forEach((function(n,r){t&&r===w?null===n?e[r]=f(s,u):"."!==d&&(e[r]=String(e[r]).replace(".",d)):e[r]=t&&r===E&&null===n?"":f(e[r],u)})),g(e.join(u))})),l&&(m("jsonstat"+u+d+u+c),["label","source","updated","href"].forEach((function(e){v[e]&&m(e+u+f(v[e],u))})),v.id.forEach((function(e,t){var n=[],r=v.Dimension(t),l=r.role,a=!1,i="";i+="dimension"+u+f(e,u)+u+f(r.label,u)+u+r.length,"metric"===l&&r.__tree__.category.unit&&(a=!0),r.id.forEach((function(e,t){var l=[],o=r.Category(t);i+=u+f(e,u)+u+f(o.label,u),a&&(l.push(o.unit.hasOwnProperty("decimals")?o.unit.decimals:""),l.push(o.unit.label||""),o.unit.symbol&&(l.push(o.unit.symbol),l.push(o.unit.position)),n.push(f(l.join(c),u)))})),null!==l&&"classification"!==l&&(i+=u+r.role,a&&(i+=u+n.join(u))),m(i)})),b=h?p.concat(["data"],b):p+"data\n"+b),b}String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};var v="3.2.2";export{i as datalist,u as fromCSV,c as fromSDMX,s as fromTable,d as join,a as tbrowser,h as toCSV,v as version};
|
|
1
|
+
// jsonstat-suite v3.2.5 Copyright 2022 Xavier Badosa https://jsonstat.com
|
|
2
|
+
import e from"jsonstat-toolkit";function t(t,n){return null==t?null:("string"!=typeof t&&void 0!==t.length||(t=e(t)),0===t.length||"dataset"!==t.class&&"collection"!==t.class&&"bundle"!==t.class?null:"dataset"===t.class?t:t.Dataset(n))}function n(e){if(null===e||0===e.length||"dataset"!==e.class)return!1;for(var t=e.length,n=1;t--;)n*=e.Dimension(t).length;return n===e.n}function r(e,t,n){var r,a,l,i,o;return(t.label||n).capitalize()+(a=t,o="",(r=e)&&"metric"===r.role&&a.unit&&(l=a.unit.hasOwnProperty("label")?a.unit.label:"")+(i=a.unit.hasOwnProperty("symbol")?a.unit.symbol:"")!==""&&(o=" ("+(o=""===i?l:""===l?i:"start"===a.unit.position?i+l:l+" "+i)+")"),o)}function a(e,t,n){var a,l='<select name="'+t+'">',i=[];if(null!==n[1]){if(a=e.id,i=e.Dimension(),2===a.length)return(e.Dimension(n[0]).label||n[0]).capitalize()}else{var o=e.Dimension(t);if(a=o.id,i=o.Category(),1===a.length)return}return a.forEach((function(e,t){var a=e!==n[0]?"":'selected="selected" ';null!==n[1]&&e===n[1]||(l+="<option "+a+'value="'+e+'">'+r(o,i[t],e)+"</option>")})),l+="</select>"}function l(e,l,i){function o(e){void 0!==l?l.innerHTML=s[e]:window.alert(s[e])}if(void 0!==e)if(void 0!==l){void 0===i&&(i={});var s=void 0===i.i18n||void 0===i.i18n.msgs?{urierror:"tbrowser: A valid JSON-stat input must be specified.",selerror:"tbrowser: A valid selector must be specified.",jsonerror:"The request did not return a valid JSON-stat dataset.",dimerror:"Only one dimension was found in the dataset. At least two are required.",dataerror:"Selection returned no data!",source:"Source",filters:"Filters",constants:"Constants",rc:"Rows & Columns",na:"n/a"}:i.i18n.msgs,u=void 0===i.i18n||void 0===i.i18n.locale?"en-US":i.i18n.locale,c=i.dsid||0,d=i.status||!1,f=i.tblclass||"",h=i.nonconst||!1,v=t(e,c);if(n(v)){if(h)var b=function(e){var t=0,n=e.size.slice(0),r=[];return n.forEach((function(n,a){var l=a-t,i=e.Dimension(l);1===n&&(delete e.__tree__.dimension[e.id[l]],e.size.splice(l,1),e.id.splice(l,1),e.length--,t++,r.push(i.label.capitalize()+": "+i.Category(0).label.capitalize()))})),r}(v);1!==v.length?function e(t,n,l,i){var o="",c="",f="",v="",p=l.rows,g=n.Dimension(p),m=g.id,y=l.cols,w=n.Dimension(y),O=w.id,E=n.role&&n.role.metric?n.role.metric[0]:null,S=null!==E?n.Dimension(E):null,x=function(e){return e.hasOwnProperty("unit")&&e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null},A=l.filter,P=JSON.parse(JSON.stringify(A)),D=[],j="",z="",N=n.source?s.source+": "+n.source:"",k=null!==n.label?'<span class="label">'+n.label.capitalize()+"</span>":"";for(var C in h&&b.length&&(k='<span class="label">'+b.join(". ")+"</span>"),""!==N&&"."!==N.slice(-1)&&(N+="."),f+="<caption>"+k+"<form>",A){var R=n.Dimension(C),_=R.label?R.label.capitalize():C.capitalize();R.length>1?j+="<p>"+a(n,C,[A[C],null])+" <strong>"+_+"</strong></p>":D.push({label:_,value:r(R,R.Category(0)),name:C,id:R.id[0]})}""!==j&&(j='<fieldset id="filters"><legend>'+s.filters+"</legend>"+j+"</fieldset>"),D.forEach((function(e){z+="<p>"+e.value+" <strong>"+e.label+'</strong></p><input type="hidden" name="'+e.name+'" value="'+e.id+'" />'})),""!==z&&(z='<fieldset id="constants"><legend>'+s.constants+"</legend>"+z+"</fieldset>"),f+=z+j+'<fieldset id="rowscols"><legend>'+s.rc+"</legend>"+a(n,"rows",[p,y])+" <a>↔</a> "+a(n,"cols",[y,p])+"</fieldset></form></caption>",v+="<tbody>";var L=Number.toLocaleString&&"none"!==u?function(e,t){return null===t?e.toLocaleString(u):e.toLocaleString(u,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)};if(m.forEach((function(e){P[p]=e;var t=n.Data(P),a=function(e,t){var n,r=y!==E?null===S?null:x(S.Category(P[E])):x(w.Category(t));null!==e.value?(n=L(e.value,r),d&&null!==e.status&&(n+=" ("+e.status+")")):n=e.status||s.na,v+="<td>"+n+"</td>"};null!==t?(v+='<tr><th scope="row">'+r(g,g.Category(e))+"</th>",Array.isArray(t)?t.forEach((function(e,t){a(e,t)})):a(t,0),v+="</tr>"):v="ERROR"})),"ERROR"===v)return s.dataerror;v+="</tbody>",o+="<thead><tr><th></th>",O.forEach((function(e){o+='<th scope="col">'+r(w,w.Category(e))+"</th>"})),o+="</tr></thead>",""!==N&&(c='<tfoot><tr><td colspan="'+(O.length+1)+'">'+N+"</td></tr></tfoot>"),t.innerHTML='<table class="'+i+'">'+f+o+v+c+"</table>",[].slice.call(t.querySelectorAll("select")).forEach((function(r){r.addEventListener("change",(function(r){var a,l;e(t,n,function(e,t,n){var r={filter:{}};return n.forEach((function(e){"rows"===e.name||"cols"===e.name?r[e.name]=e.value:r.filter[e.name]=e.value})),"rowscols"===t&&e.id.forEach((function(t,n){t!==r.rows&&t!==r.cols?void 0===r.filter[t]&&(r.filter[t]=e.Dimension(n).id[0]):delete r.filter[t]})),r}(n,r.target.parentElement.getAttribute("id"),(a=t,l=[],[].slice.call(a.querySelectorAll("select, input")).forEach((function(e){l.push({name:e.name,value:e.value})})),l)),i)}),!1)})),t.querySelector("a").addEventListener("click",(function(){l.cols=p,l.rows=y,e(t,n,l,i)}),!1)}(l,v,function(e,t){var n,r,a={},l=[],i=e.id;if(t){var o="bigger"===t?function(e,t){return e.len<t.len?1:-1}:function(e,t){return e.len>t.len?1:-1};e.Dimension().forEach((function(e,t){l.push({id:i[t],len:e.length})})),l.sort(o),n=l[0].id,r=l[1].id}else n=i[0],r=i[1];return e.Dimension(n).length<e.Dimension(r).length&&(n=r+(r=n,"")),i.forEach((function(t){t!==n&&t!==r&&(a[t]=e.Dimension(t).id[0])})),{rows:n,cols:r,filter:a}}(v,i.preset),f):o("dimerror")}else o("jsonerror")}else o("selerror");else o("urierror")}function i(e,r){if(void 0===e)return null;void 0===r&&(r={});var a="",l="",i="",o=0,s=r.na||"n/a",u=r.dsid||0,c=r.vlabel||null,d=r.slabel||null,f=r.counter||!1,h=r.tblclass||"",v=r.numclass||"",b=r.valclass||"",p=r.status||!1,g=r.locale||"en-US",m=r.source||"Source",y=t(e,u),w=y.role&&y.role.metric?y.id.indexOf(y.role.metric[0]):null,O=y.Dimension({role:"metric"}),E={},S=Number.toLocaleString&&"none"!==g?function(e,t){return null===t?e.toLocaleString(g):e.toLocaleString(g,{minimumFractionDigits:t,maximumFractionDigits:t})}:function(e,t){return null===t?e:e.toFixed(t)},x=function(e,t){var n=null;e.forEach((function(e,r){var i=D===r?' class="'+v+" "+b+'"':"",o=s;t?(w===r&&(n=E[e]),null!==e&&(o=D===r?S(e,n):e),l+="<td"+i+">"+o+"</td>"):a+="<th"+i+">"+e+"</th>"}))},A=f?function(e,t){t?l+='<tr><td class="'+v+'">'+t+"</td>":a+='<th class="'+v+'">#</th>',x(e,t),l+="</tr>"}:function(e,t){l+="<tr>",x(e,t),l+="</tr>"};if(!n(y))return null;O&&O[0].Category().forEach((function(e){var t=e.unit&&e.unit.hasOwnProperty("decimals")?e.unit.decimals:null;E[e.label]=t}));var P=y.toTable({status:p,vlabel:c,slabel:d}),D=P[0].length-1;return P.forEach((function(e,t){A(e,t)})),y.source&&(o=y.length+1,f&&o++,p&&o++,"."!==(m+=": "+y.source).slice(-1)&&(m+="."),i='<tfoot><td colspan="'+o+'">'+m+"</td></tfoot>"),'<table class="'+h+'"><caption>'+(r.caption||y.label||"")+"</caption><thead><tr>"+a+"</tr></thead><tbody>"+l+"</tbody>"+i+"</table>"}function o(e,t){var n={};return Array.isArray(e[t])?(e[t].forEach((function(e,t){null!==e&&(n[String(t)]=e)})),n):e[t]}function s(t,n){if(void 0===t)return null;void 0===n&&(n={}),"boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1);var r=n.vlabel||"Value",a=n.slabel||"Status",l=n.type||"array",i=n.label||"",s=n.header||null,u=[],c=[],d=[],f=[],h={},v={},b=function(e,t){for(var n=1,r=0,a=0;a<E;a++)r+=(n*=a>0?t[E-a]:1)*e[E-a-1];return r},p=function(){var e=t[S][r];d[b(x,c)]=isNaN(e)?null:e};switch(l){case"array":t=function(e){for(var t=e[0],n=e.slice(1),r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a][i];r.push(s)}return r}(t);break;case"object":t=function(e){for(var t=e.cols.map((function(e){return e.id})),n=e.rows,r=[],a=0,l=n.length;a<l;a++){for(var i=0,o=t.length,s={};i<o;i++)s[t[i]]=n[a].c[i].v;r.push(s)}return r}(t)}var g,m=t.length;for(var y in n.hasOwnProperty("drop")&&Array.isArray(n.drop)&&n.drop.length&&t.forEach((function(e){n.drop.forEach((function(t){delete e[t]}))})),t[0])if(y!==r)if(y!==a){if(u.push(y),s)g=s.dimension[y],h[y]=g.category.index;else{h[y]=[];for(var w=0;w<m;w++){var O=t[w][y];-1===h[y].indexOf(O)&&h[y].push(O)}}c.push(h[y].length),v[y]={label:s?g.label:y,category:{index:h[y]}},s&&(v[y].category.label=g.category.label,g.category.unit&&(v[y].category.unit=g.category.unit))}else p=function(){var e=t[S][r],n=t[S][a];d[b(x,c)]=isNaN(e)?null:e,f[b(x,c)]=""===n?null:n};for(var E=u.length,S=0;S<m;S++){for(var x=[],A=0;A<E;A++){var P=u[A];x.push(h[P].indexOf(t[S][P]))}p()}var D={version:"2.0",class:"dataset",value:d,dimension:v,id:u,size:c};return i&&(D.label=i),f.length&&(D.status=f),s&&(s.label&&(D.label=s.label),s.source&&(D.source=s.source),s.updated&&(D.updated=s.updated),s.href&&(D.href=s.href),s.role&&(D.role=s.role)),n.ovalue&&(D.value=o(D,"value")),n.ostatus&&D.hasOwnProperty("status")&&(D.status=o(D,"status")),n.instance?e(D):D}function u(e,t){if(void 0===e)return null;void 0===t&&(t={});var n,r,a,l=[],i=null,o=null,u=!1,c={time:[],geo:[],metric:[]},d="jsonstat"===e.substring(0,8),f=d?"value":t.vlabel,h=d?"status":t.slabel,v=d?e.substring(8,9):t.delimiter||",",b=";"===v?t.decimal||",":t.decimal||".",p=function(e,t){t=t||",";for(var n,r,a=new RegExp("(\\"+t+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+t+"\\r\\n]*))","gi"),l=[[]],i=null;i=a.exec(e);)(r=i[1]).length&&r!=t&&l.push([]),n=i[2]?i[2].replace(new RegExp('""',"g"),'"'):i[3],l[l.length-1].push(n);return l}(e.trim(),v);if(d){for(b=p[0][1],a=p[0][2],p.shift();"data"!==p[0][0];)l.push(p.shift());p.shift(),o={dimension:{}},l.forEach((function(e){var t,n,r,l,i,s,d,f;switch(e[0]){case"dimension":if(o.dimension[e[1]]={},(l=o.dimension[e[1]]).label=e[2],l.category={},(i=l.category).index=[],n={},r=2*e[3]+3,e.length>=r){for(t=4;t<r;t++)d=e[t],f=e[++t],Object.defineProperty(n,d,{value:f,writable:!0,configurable:!0,enumerable:!0}),i.label=n,i.index.push(d);"string"==typeof e[t]&&-1!==["time","geo","metric"].indexOf(e[t])&&(c[e[t]].push(e[1]),u=!0,"metric"===e[t]&&"string"==typeof e[++t]&&(i.unit={},i.index.forEach((function(n,r){var l=e[t+r].split(a);i.unit[n]={},s=i.unit[n],void 0!==l[0]&&""!==l[0]&&(s.decimals=1*l[0]),void 0!==l[1]&&""!==l[1]&&(s.label=l[1]),void 0!==l[2]&&""!==l[2]&&(s.symbol=l[2]),void 0!==l[1]&&-1!==["start","end"].indexOf(l[3])&&(s.position=l[3])}))))}break;case"label":case"source":case"updated":case"href":o[e[0]]=e[1]||null}})),u&&(c.time.length||delete c.time,c.geo.length||delete c.geo,c.metric.length||delete c.metric,o.role=c)}if(n=p.length,r=p[0].length,void 0!==f){for(;r--;)if(p[0][r]===f){i=r;break}if(null===i)return null}else i=r-1,f=p[0][i];if(","===b)for(r=1;r<n;r++)p[r][i]=Number(p[r][i].replace(",","."));else for(r=1;r<n;r++)p[r][i]=Number(p[r][i]);return s(p,{header:o,vlabel:f,slabel:h,type:"array",label:t.label||"",ovalue:t.ovalue||!1,ostatus:t.ostatus||!1,instance:t.instance||!1})}function c(t,n){if("object"!=typeof t)return null;if(t.hasOwnProperty("data")&&t.hasOwnProperty("meta")&&t.data.hasOwnProperty("dataSets")&&t.data.hasOwnProperty("structures")&&Array.isArray(t.data.structures)&&(t.dataSets=t.data.dataSets,t.structure=t.data.structures[0],t.header=t.meta),!t.hasOwnProperty("dataSets")||!Array.isArray(t.dataSets))return null;if(1!==t.dataSets.length)return null;t.dataSets[0].hasOwnProperty("observations")||function(e){var t=e.dataSets[0],n=t.series,r=e.structure,a=r.dimensions,l={};Object.keys(n).forEach((function(e){var t=n[e].observations;Object.keys(t).forEach((function(r){l[e+":"+r]=t[r].concat(n[e].attributes)}))})),t.observations=l,delete t.series,a.observation=a.series.concat(a.observation),delete a.series,r.attributes.observation=r.attributes.observation.concat(r.attributes.series),delete r.attributes.series}(t),void 0===n?n={ovalue:!1,ostatus:!1,instance:!1}:("boolean"!=typeof n.ovalue&&(n.ovalue=!1),"boolean"!=typeof n.ostatus&&(n.ostatus=!1),"boolean"!=typeof n.instance&&(n.instance=!1));var r=t.structure,a=t.dataSets[0].observations,l=r.attributes.observation,i=r.dimensions;if(!i.hasOwnProperty("observation"))return null;if(i.hasOwnProperty("series")&&Object.keys(i.series).length)return null;var o=1,s=[],u=[],c={},d=[],f={time:[],geo:[]},h=function(){},v=function(e,t){for(var n=e.size,r=n.length-t.length;r--;)t.push(0);for(var a=0,l=n.length,i=0,o=1;a<l;a++)i+=(o*=a>0?n[l-a]:1)*t[l-a-1];return i},b=function(e){if(c[e.id]={label:e.name},e.hasOwnProperty("role"))switch(e.role){case"REF_AREA":f.geo.push(e.id);break;case"TIME_PERIOD":f.time.push(e.id)}Object.defineProperty(c[e.id],"category",{value:{index:[],label:{}},writable:!0,enumerable:!0}),s.push(e.id),u.push(e.values.length),o*=e.values.length;var t=c[e.id].category;e.values.forEach((function(e){t.index.push(e.id),Object.defineProperty(t.label,e.id,{value:e.name,writable:!0,enumerable:!0})}))},p=t.header.links?t.header.links.find((function(e){return"request"===e.rel})):null,g=l.findIndex((function(e){return"OBS_STATUS"===e.id}));-1!==g&&(l[g].values.length?d=l[g].values:g=-1),i.observation.forEach(b),i.hasOwnProperty("dataSet")&&i.dataSet.forEach(b);var m={version:"2.0",class:"dataset",updated:t.header.prepared||null,source:t.header.sender.name||null,label:r.name||null,id:s,size:u,dimension:c,value:n.ovalue?{}:new Array(o).fill(null)};for(var y in p&&(m.link={alternate:[{type:"application/vnd.sdmx.data+json",href:p.href}]}),f.geo.length+f.time.length>0&&(f.time.length||delete f.time,f.geo.length||delete f.geo,m.role=f),-1!==g&&(m.status=n.ostatus?{}:new Array(o).fill(null),m.extension={status:{label:{}}},d.forEach((function(e){m.extension.status.label[e.id]=e.name})),h=n.ostatus?function(){var e=a[y][g];null!==e&&(m.status[v(m,w)]=d[e].id)}:function(){var e=a[y][g];m.status[v(m,w)]=null===e?null:d[e].id}),g++,a){var w=y.split(":");n.ovalue&&null===a[y][0]||(m.value[v(m,w)]=a[y][0]),h()}return n.instance?e(m):m}function d(t,n){if(void 0===t||!Array.isArray(t))return null;var r=JSON.parse(JSON.stringify(t)),a=r[0];if(!a.hasOwnProperty("version")||!a.hasOwnProperty("class")||"dataset"!==a.class)return null;void 0===n&&(n={});var l=void 0===n.label?null:n.label,i=void 0===n.by?null:n.by,o=[];if(null===i){for(var u=1,c=r.length;u<c;u++)o=o.concat(r[u].value);return a.value=o,null!==l&&(a.label=l),a}var d,f,h,v=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=0===t[r]?n:t[r];return e};r.forEach((function(t,n){var r=e(t).toTable({status:!0}),a=t.dimension[i].category;0===n?(o=[r[0]],d=a.index,f=a.label,h=a.unit):(d=function(e,t,n){if(Array.isArray(e))e=e.concat(t);else for(var r in t)e[r]=t[r]+n;return e}(d,a.index,Object.keys(d).length),f=v(f,a.label,n),h=v(h,a.unit,n)),o=o.concat(r.slice(1))}));var b=s(o);return a.value=b.value,a.size=b.size,a.status=b.status||null,a.label=l||"",a.href=null,a.dimension[i].category.index=d||null,a.dimension[i].category.label=f||null,a.dimension[i].category.unit=h||null,a}function f(e,t){return null==e?"":-1!==e.indexOf(t)?'"'+e+'"':e}function h(e,r){if(void 0===e)return null;void 0===r&&(r={});var a=!0===r.rich,l=a?"value":r.vlabel||"Value",i=a?"status":r.slabel||"Status",o=!0===r.status,s=r.na||"n/a",u=r.delimiter||",",c=r.separator||"|",d=";"===u?r.decimal||",":r.decimal||".",h=!0===r.array,v=t(e,r.dsid||0),b=h?[]:"",p=h?[]:"",g=h?function(e){b.push(e)}:function(e){b+=e+"\n"},m=h?function(e){p.push(e)}:function(e){p+=e+"\n"};if(!n(v))return null;a&&(o=null!==v.status);var y=v.toTable({vlabel:l,slabel:i,status:o,field:a?"id":"label",content:a?"id":"label",type:"array"}),w=y[0].indexOf(l),O=o?y[0].indexOf(i):-1;return y.forEach((function(e,t){e.forEach((function(n,r){t&&r===w?null===n?e[r]=f(s,u):"."!==d&&(e[r]=String(e[r]).replace(".",d)):e[r]=t&&r===O&&null===n?"":f(e[r],u)})),g(e.join(u))})),a&&(m("jsonstat"+u+d+u+c),["label","source","updated","href"].forEach((function(e){v[e]&&m(e+u+f(v[e],u))})),v.id.forEach((function(e,t){var n=[],r=v.Dimension(t),a=r.role,l=!1,i="";i+="dimension"+u+f(e,u)+u+f(r.label,u)+u+r.length,"metric"===a&&r.__tree__.category.unit&&(l=!0),r.id.forEach((function(e,t){var a=[],o=r.Category(t);i+=u+f(e,u)+u+f(o.label,u),l&&(a.push(o.unit.hasOwnProperty("decimals")?o.unit.decimals:""),a.push(o.unit.label||""),o.unit.symbol&&(a.push(o.unit.symbol),a.push(o.unit.position)),n.push(f(a.join(c),u)))})),null!==a&&"classification"!==a&&(i+=u+r.role,l&&(i+=u+n.join(u))),m(i)})),b=h?p.concat(["data"],b):p+"data\n"+b),b}String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};var v="3.2.5";export{i as datalist,u as fromCSV,c as fromSDMX,s as fromTable,d as join,l as tbrowser,h as toCSV,v as version};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jsonstat-suite",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.5",
|
|
4
4
|
"description": "A library of high level functions built on top of the JSON-stat Javascript Toolkit (JJT)",
|
|
5
5
|
"homepage": "https://jsonstat.com",
|
|
6
6
|
"keywords": [
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"test": "node test/nodejs.js"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"jsonstat-toolkit": "^1.
|
|
39
|
+
"jsonstat-toolkit": "^1.4.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@rollup/plugin-json": "^4.0.0",
|
package/rollup.config.js
CHANGED
|
@@ -29,7 +29,10 @@ export default [
|
|
|
29
29
|
}
|
|
30
30
|
],
|
|
31
31
|
plugins: [
|
|
32
|
-
replace({
|
|
32
|
+
replace({
|
|
33
|
+
preventAssignment: true,
|
|
34
|
+
__IE__: 'Array.prototype.reduce||Object.defineProperty(Array.prototype,"reduce",{value:function(r){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof r)throw new TypeError(r+" is not a function");var e,t=Object(this),n=t.length>>>0,o=0;if(arguments.length>=2)e=arguments[1];else{for(;o<n&&!(o in t);)o++;if(o>=n)throw new TypeError("Reduce of empty array with no initial value");e=t[o++]}for(;o<n;)o in t&&(e=r(e,t[o],o,t)),o++;return e}}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(r){if(null==this)throw TypeError(\'"this" is null or not defined\');var e=Object(this),t=e.length>>>0;if("function"!=typeof r)throw TypeError("predicate must be a function");for(var n=arguments[1],o=0;o<t;){var i=e[o];if(r.call(n,i,o,e))return i;o++}},configurable:!0,writable:!0}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(r){if(null==this)throw new TypeError(\'"this" is null or not defined\');var e=Object(this),t=e.length>>>0;if("function"!=typeof r)throw new TypeError("predicate must be a function");for(var n=arguments[1],o=0;o<t;){var i=e[o];if(r.call(n,i,o,e))return o;o++}return-1},configurable:!0,writable:!0});'
|
|
35
|
+
}),
|
|
33
36
|
...plugins
|
|
34
37
|
]
|
|
35
38
|
},
|
|
@@ -49,7 +52,10 @@ export default [
|
|
|
49
52
|
},
|
|
50
53
|
],
|
|
51
54
|
plugins: [
|
|
52
|
-
replace({
|
|
55
|
+
replace({
|
|
56
|
+
preventAssignment: true,
|
|
57
|
+
__IE__: ''
|
|
58
|
+
}),
|
|
53
59
|
...plugins
|
|
54
60
|
]
|
|
55
61
|
},
|
|
@@ -60,7 +66,10 @@ export default [
|
|
|
60
66
|
format: "esm",
|
|
61
67
|
},
|
|
62
68
|
plugins: [
|
|
63
|
-
replace({
|
|
69
|
+
replace({
|
|
70
|
+
preventAssignment: true,
|
|
71
|
+
__IE__: ''
|
|
72
|
+
}),
|
|
64
73
|
resolve({mainFields: ["browser"]}),
|
|
65
74
|
...plugins
|
|
66
75
|
]
|