@vizzly/services 0.15.0-dev-dc8abbc27d404a01b1c730481930e726e875c32b → 0.15.0-dev-3cedf551bbb0d18e14a8fe6473fe9b8d5ce6736b

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.
@@ -125,7 +125,7 @@ https://docs.vizzly.co/services/initializing
125
125
  This might be expected behavior if you have set it up correctly. If so, you will need
126
126
  to bump the timeout which was set to ${o}ms.
127
127
 
128
- ${`Instance Id; ${e}`}`),this.name="TimeoutWaitingForVizzlyInstance"}}const Qd={convert:!1,stripUnknown:!1,allowUnknown:!0},BT=(t,e)=>{const o=m.object({definition:e?Gd(e):m.object().required(),parentDashboardId:m.string().required(),metadata:m.object()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)},ST=(t,e)=>{const o=m.object({dashboardId:m.string().required(),definition:e?Gd(e):m.object().required(),metadata:m.object().optional(),deleted:m.boolean().optional(),name:m.string().optional()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)};var ja=(t=>(t.SAVING="saving",t.SAVED="saved",t.DELETED="deleted",t))(ja||{});const Cs=(t,e)=>[[...t,e],t.length],Zd=(t,e,o,n,b,a,O,A,c,R)=>{let v=[],N=[],s=[],d=[];const u=iz(R.filterConfig,t,R.timeRangeOptions,R.variables),z=Ao(o,R.variables),M=tM(u,z);if(a){let q;if(!BA(c.supportedTimeTruncFunctions,a.truncate))throw`Query engine does not support the time trunc function ${a.truncate}.`;[N,q]=Cs(N,{type:"field",value:a.field,function:a.truncate}),v=[...v,{functionId:a.truncate,field:rt(t,a.field)}],s=[...s,{index:q}]}return b.forEach(q=>{let l;[N,l]=Cs(N,{type:"field",value:q?.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}],s=[...s,{index:l}]}),e.forEach(q=>{if(!R6(c.supportedAggregates,q.function))throw`Query engine does not support the query function ${q.function}.`;[N]=Cs(N,{type:"field",value:q.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}]}),n.forEach(q=>{const l=N.findIndex(f=>{if(f.type=="field"){const y=f.function==q.function;return f.value==q.field&&y}return!1});l>=0&&(d=[...d,{index:l,direction:q.direction}])}),n.length===0&&N.forEach((q,l)=>{q.type==="field"&&typeof q.value=="string"&&rt(t,q.value).dataType==="date_time"&&q.function&&c.supportedTimeTruncFunctions[q.function]&&(d=[...d,{index:l,direction:"asc"}])}),N=N.map(q=>{if(q.type=="field"&&typeof q.value=="string"){const l=rt(t,q.value);if($O(l))return UO({function:q.function,field:q.value},l,c,t,wT({group:s}),R)}return q}),{query:{type:"query",dataSetId:t.id,measure:N,group:s,filter:M,order:d,limit:O,offset:A},measureDescription:v}},x2=Zd,wT=t=>t.group.length>0,xT=(t,e)=>({query:t,resultFields:e.fields.map(o=>({id:o.id,publicName:o.publicName,dataType:o.dataType,fieldId:o.id,function:"none",outputDataType:o.dataType}))}),Jd=(t,e,o)=>({query:{type:"preparedQuery",preparedQueryType:"uniqueArrayValues",dataSetId:t,fieldId:e.id,filter:o||{type:"andWhere",value:[]}},resultFields:[{id:e.id,publicName:e.publicName,dataType:e.dataType,fieldId:e.id,function:"none",outputDataType:"string"}]}),XT=(t,e,o,n)=>{let b=[{field:e,function:"count"}],a=n??[],O=o??[],A=[{field:e,function:"none"}];return{dataSetId:t.id,measure:b,order:a,filter:O,dimension:A,timeDimension:null,limit:5e3,offset:0}},CT=(t,e,o)=>!e||e==="none"?o.dataType:t.supportedAggregates[e]?"number":t.supportedTimeTruncFunctions[e]?.dataTypeOutput?t.supportedTimeTruncFunctions[e]?.dataTypeOutput:(t.supportedTransformationFunctions[e],o.dataType),Jo=(t,e)=>t.map(o=>o.map(({field:n,functionId:b})=>({id:Vi({field:n.id,function:b}),fieldId:n.id,function:b,publicName:n.publicName,dataType:n.dataType,outputDataType:CT(e,b,n)}))),ZO=(t,e,o,n)=>{const b=e.map(a=>{const O=B2(t,a.dataSetId);if(!O)throw"Data set not found for query attributes query";return Zd(O,a.measure,a.filter,a.order,a.dimension,a.timeDimension,a.limit,a.offset,o,n)});return{queries:b.map(a=>a.query),resultFields:Jo([...b].map(a=>a.measureDescription),o)}},ET=(t,e,o,n)=>{let b=[...t.appliesToFields].map(a=>{const O=B2(e,a.dataSetId);if(!O)throw"Data set not found for additional filter query";const A=rt(O,a.fieldId);if(A.dataType=="string[]"){const c=oA(t,a),R=iz(n.filterConfig,O,n.timeRangeOptions,n.variables),v=tM(R,c),{query:N,resultFields:s}=Jd(a.dataSetId,A,v);return{queries:[N],resultFields:[s]}}else{const c=oA(t,a),R=XT(O,a.fieldId,[],DT(A)),v=ZO(e,[R],o,n);return{resultFields:v.resultFields,queries:v.queries.map(N=>({...N,filter:c}))}}});return{queries:b.flatMap(a=>a.queries),resultFields:b.flatMap(a=>a.resultFields)}};function oA(t,e){const o=t.optionsFilters?t.optionsFilters[e.dataSetId]:void 0;return o?ef(o,e.fieldId)||{type:"andWhere",value:[]}:{type:"andWhere",value:[]}}function ef(t,e){if(t.type==="where"){const o=$u(t);return o&&o.value===e?null:t}if(t.type==="andWhere"||t.type==="orWhere"){const o=t.value.map(n=>ef(n,e)).filter(n=>n!==null);return o.length===0?null:o.length===1&&o[0].type===t.type?o[0]:{type:t.type,value:o}}return t}function DT(t){return t?.dataType==="string"||t?.dataType==="number"?[{field:t.id,direction:"asc",function:"none"}]:[]}const it=(t,e,o,n)=>{const{query:b,measureDescription:a}=x2(e,t.measure,t.filter,t.order,t.dimension,t.timeDimension||null,t.limit,t.offset,o,n),O=Jo([a],o);return{queries:[b],resultFields:O}},IT=it,PT=it,rA=it,FT=it,kT=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},jT=(t,e,o,n)=>{let b=[...t.measure||[],...t.xMeasure||[],...t.zMeasure||[]];const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},$T=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},UT=(t,e,o,n)=>{const{line:b,bar:a}=$T(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},GT=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},VT=(t,e,o,n)=>{const{line:b,bar:a}=GT(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},HT=it,YT=it,KT=it,QT=it,ZT=it,JT=(t,e,o,n)=>ZO([e],[{measure:t.measure,dataSetId:e.id,dimension:t.dimension,limit:t.limit,filter:[],order:[],timeDimension:null}],o,n),eB=it,tB=it,oB=it,rB=it,nB=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},iB=(t,e,o,n)=>{let{query:b,measureDescription:a}=x2(e,t.measure,t.filter,[],[],null,1,t.offset,o,n);return b.measure=[{type:"number",value:0},...b.measure],a=[{field:{id:"single-stat-bumper-field",canBeDimension:!1,canBeMeasure:!1,publicName:"",dataType:"number",allowedOperators:[]},functionId:"none"},...a],{query:b,measureDescription:a}},bB=(t,e,o,n)=>e.deltaTimeDimension?x2(t,e.measure,e.filter,[{field:e.deltaTimeDimension.field,direction:"asc",function:e.deltaTimeDimension.truncate}],[],e.deltaTimeDimension,e.limit,e.offset,o,n):null,pB=(t,e,o,n)=>{const b=iB(t,e,o,n);let a=null;return"deltaTimeDimension"in t&&(a=bB(e,t,o,n)),{queries:a?[b.query,a.query]:[b.query],measureDescription:a?[b.measureDescription,a.measureDescription]:[b.measureDescription]}},nA=(t,e,o,n)=>{const{queries:b,measureDescription:a}=pB(t,e,o,n),O=Jo(a,o);return{queries:b,resultFields:O}},aB=it,MB=(t,e,o,n)=>{let b={...t},a={...e};return t.comparison&&(a=X_(e,t.comparison),b={...b,dimension:[...t.dimension,{field:t.comparison.id,function:"none",pivot:"x"}]}),it(b,a,o,n)},zB=(t,e,o,n)=>{switch(t.type){case"areaChart":return IT(t,e,o,n);case"barChart":return PT(t,e,o,n);case"barChartV2":return rA(t,e,o,n);case"horizontalBarChart":return YT(t,e,o,n);case"horizontalBarChartV2":return KT(t,e,o,n);case"lineChart":return QT(t,e,o,n);case"lineChartV2":return ZT(t,e,o,n);case"areaChartV2":return rA(t,e,o,n);case"comboChartV2":return VT(t,e,o,n);case"pieChart":return eB(t,e,o,n);case"sunburstChart":return aB(t,e,o,n);case"dataTable":return tB(t,e,o,n);case"basicTable":return FT(t,e,o,n);case"comboChart":return UT(t,e,o,n);case"singleStat":return nA(t,e,o,n);case"progress":return nA(t,e,o,n);case"scatterChart":return nB(t,e,o,n);case"bubbleChart":return kT(t,e,o,n);case"bubbleChartV2":return jT(t,e,o,n);case"mercatorMap":return JT(t,e,o,n);case"funnelChart":return HT(t,e,o,n);case"richText":return rB(t,e,o,n);case"waterfallChart":return MB(t,e,o,n);case"radarChart":return oB(t,e,o,n);default:throw"Unsupported view when building query."}},JO=(t,e,o)=>{let n=[],b=[];if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="preAggregated"){const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for pre aggregated query";const[O]=a.preAggregated,{query:A,resultFields:c}=xT(t[0],a),R=B2(o.dataSets,O),v=iz(o.filterConfig,R,o.timeRangeOptions,o.variables);n=[{...A,filter:{[R.id]:v}}],b=[c]}else if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="uniqueArrayValues"){n=[t[0]];const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for view attributes query";const O=rt(a,t[0].fieldId),{query:A,resultFields:c}=Jd(t[0].dataSetId,O);n=[A],b=[c]}else if(Array.isArray(t)){const{queries:a,resultFields:O}=ZO(o.dataSets,t,e,o);n=a,b=O}else if("type"in t&&("order"in t||"measure"in t)){const a=B2(o.dataSets,t.dataSetId);if(!a)throw"Data set not found for view attributes query";let{queries:O,resultFields:A}=zB(t,a,e,{...o,filterConfig:{...o.filterConfig,viewFilters:t.filter}});n=O,b=A}else if(t.type!="custom"){let{queries:a,resultFields:O}=ET(t,o.dataSets,e,o);n=a,b=O}return o.timeZone&&(n=n.map(a=>({...a,timeZone:o.timeZone}))),n=n.map(a=>a.type==="query"?{...a,filter:Rr(a.filter,B2(o.dataSets,a.dataSetId),e,o)}:a),{queries:n,resultFields:b}};let bO={};const cB=(t,e,o)=>{const n=JSON.stringify(t);let b=new Date;b.setSeconds(b.getSeconds()+o),G1("Browser cache new object set.",n),bO[n]={item:e,expires:b}},sB=t=>{const e=JSON.stringify(t),o=bO[e];if(!o)return G1("Browser cache miss.",t),null;G1("Browser cache hit.",t);const{item:n,expires:b}=o;return new Date<b?n:(delete bO[e],null)},OB=20,$a=t=>Array.isArray(t)?t.length==0:typeof t=="object"?$a(Object.keys(t)):!1,e3=async(t,e,o,n)=>{let b={};t.forEach((c,R)=>{const v=sB(n(c));v&&(G1("Query result received from the cache."),b[R]=v)}),t.forEach((c,R)=>{e(c)||(G1("Query is not runnable."),b[R]=null)});const a=t.filter((c,R)=>e(c)&&b[R]===void 0);let O=[];if(!$a(a)){const c=await o(a);c===null?O=null:c.results?O=c.results:O=c}return O===null||$a(O)&&$a(b)?null:[...t].map((c,R)=>{let v=b[R];if(e(c)&&v==null&&(v=O?.shift()||null,cB(n(c),v,OB)),v===void 0)throw"A result went missing...";return v})},lB=async(t,e,o,n)=>{const b=QO(e),{status:a,body:O}=await b({path:"/api/v2/create-results",method:"post",mode:"cors",body:{queries:t,virtualFields:{},dynamicConfig:typeof e=="object"?e.dynamicConfig:void 0,identityConfigIntegritySignature:o},abortSignal:n}),A=O;return a==200?A:null},AB=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,A=>!0,async A=>await lB(A,t.queryEngineEndpoint,t.dataAccessToken,o.abortSignal),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})};var uB=fo,dB=function(){return uB.Date.now()},fB=dB,qB=/\s/;function WB(t){for(var e=t.length;e--&&qB.test(t.charAt(e)););return e}var hB=WB,mB=hB,gB=/^\s+/;function yB(t){return t&&t.slice(0,mB(t)+1).replace(gB,"")}var RB=yB,LB=GM,vB=AO,_B="[object Symbol]";function NB(t){return typeof t=="symbol"||vB(t)&&LB(t)==_B}var TB=NB,BB=RB,iA=Lb,SB=TB,bA=NaN,wB=/^[-+]0x[0-9a-f]+$/i,xB=/^0b[01]+$/i,XB=/^0o[0-7]+$/i,CB=parseInt;function EB(t){if(typeof t=="number")return t;if(SB(t))return bA;if(iA(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=iA(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=BB(t);var o=xB.test(t);return o||XB.test(t)?CB(t.slice(2),o?2:8):wB.test(t)?bA:+t}var DB=EB,IB=Lb,Es=fB,pA=DB,PB="Expected a function",FB=Math.max,kB=Math.min;function jB(t,e,o){var n,b,a,O,A,c,R=0,v=!1,N=!1,s=!0;if(typeof t!="function")throw new TypeError(PB);e=pA(e)||0,IB(o)&&(v=!!o.leading,N="maxWait"in o,a=N?FB(pA(o.maxWait)||0,e):a,s="trailing"in o?!!o.trailing:s);function d(T){var X=n,C=b;return n=b=void 0,R=T,O=t.apply(C,X),O}function u(T){return R=T,A=setTimeout(q,e),v?d(T):O}function z(T){var X=T-c,C=T-R,g=e-X;return N?kB(g,a-C):g}function M(T){var X=T-c,C=T-R;return c===void 0||X>=e||X<0||N&&C>=a}function q(){var T=Es();if(M(T))return l(T);A=setTimeout(q,z(T))}function l(T){return A=void 0,s&&n?d(T):(n=b=void 0,O)}function f(){A!==void 0&&clearTimeout(A),R=0,n=c=b=A=void 0}function y(){return A===void 0?O:l(Es())}function L(){var T=Es(),X=M(T);if(n=arguments,b=this,c=T,X){if(A===void 0)return u(c);if(N)return clearTimeout(A),A=setTimeout(q,e),d(c)}return A===void 0&&(A=setTimeout(q,e)),O}return L.cancel=f,L.flush=y,L}var $B=jB,UB=$B,GB=Lb,VB="Expected a function";function HB(t,e,o){var n=!0,b=!0;if(typeof t!="function")throw new TypeError(VB);return GB(o)&&(n="leading"in o?!!o.leading:n,b="trailing"in o?!!o.trailing:b),UB(t,e,{leading:n,maxWait:e,trailing:b})}var YB=HB;const KB=pM(YB);let Ua={};const aA=[];let Ds={};const QB=async(t,e,o)=>{Ds[t.id]||(Ds[t.id]=KB(e,5e3,{leading:!0}));let n=Ds[t.id];if(G1("Fetching data for in-browser query engine. DataSet;",t.id,"CacheKey;",o),Ua[o])return G1("Returning data for in-browser query engine from the cache."),Ua[o];{const b=await n(t);return!b&&!aA.includes(t.id)&&(aA.push(t.id),console.error(`Failed to download data for data set ${t.id}`)),b&&n.cancel(),G1(`Fetching data from cacheKey: ${o}`),Ua[o]=b,b}};class ZB extends Error{constructor(e){super(e),this.name="MissingVizzlyInMemoryDb"}}const pO=()=>{const t=window.VizzlyInMemoryDb;if(!t)throw new ZB(`VizzlyInMemoryDb missing! This means that 'window.VizzlyInMemoryDb' was not set. This is required for the in-browser vizzly setup.
128
+ ${`Instance Id; ${e}`}`),this.name="TimeoutWaitingForVizzlyInstance"}}const Qd={convert:!1,stripUnknown:!1,allowUnknown:!0},BT=(t,e)=>{const o=m.object({definition:e?Gd(e):m.object().required(),parentDashboardId:m.string().required(),metadata:m.object()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)},ST=(t,e)=>{const o=m.object({dashboardId:m.string().required(),definition:e?Gd(e):m.object().required(),metadata:m.object().optional(),deleted:m.boolean().optional(),name:m.string().optional()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)};var ja=(t=>(t.SAVING="saving",t.SAVED="saved",t.DELETED="deleted",t))(ja||{});const Cs=(t,e)=>[[...t,e],t.length],Zd=(t,e,o,n,b,a,O,A,c,R)=>{let v=[],N=[],s=[],d=[];const u=iz(R.filterConfig,t,R.timeRangeOptions,R.variables),z=Ao(o,R.variables),M=tM(u,z);if(a){let q;if(!BA(c.supportedTimeTruncFunctions,a.truncate))throw`Query engine does not support the time trunc function ${a.truncate}.`;[N,q]=Cs(N,{type:"field",value:a.field,function:a.truncate}),v=[...v,{functionId:a.truncate,field:rt(t,a.field)}],s=[...s,{index:q}]}return b.forEach(q=>{let l;[N,l]=Cs(N,{type:"field",value:q?.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}],s=[...s,{index:l}]}),e.forEach(q=>{if(!R6(c.supportedAggregates,q.function))throw`Query engine does not support the query function ${q.function}.`;[N]=Cs(N,{type:"field",value:q.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}]}),n.forEach(q=>{const l=N.findIndex(f=>{if(f.type=="field"){const y=f.function==q.function;return f.value==q.field&&y}return!1});l>=0&&(d=[...d,{index:l,direction:q.direction}])}),n.length===0&&N.forEach((q,l)=>{q.type==="field"&&typeof q.value=="string"&&rt(t,q.value).dataType==="date_time"&&q.function&&c.supportedTimeTruncFunctions[q.function]&&(d=[...d,{index:l,direction:"asc"}])}),N=N.map(q=>{if(q.type=="field"&&typeof q.value=="string"){const l=rt(t,q.value);if($O(l))return UO({function:q.function,field:q.value},l,c,t,wT({group:s}),R)}return q}),{query:{type:"query",dataSetId:t.id,measure:N,group:s,filter:M,order:d,limit:O,offset:A},measureDescription:v}},x2=Zd,wT=t=>t.group.length>0,xT=(t,e)=>({query:t,resultFields:e.fields.map(o=>({id:o.id,publicName:o.publicName,dataType:o.dataType,fieldId:o.id,function:"none",outputDataType:o.dataType}))}),Jd=(t,e,o)=>({query:{type:"preparedQuery",preparedQueryType:"uniqueArrayValues",dataSetId:t,fieldId:e.id,filter:o||{type:"andWhere",value:[]}},resultFields:[{id:e.id,publicName:e.publicName,dataType:e.dataType,fieldId:e.id,function:"none",outputDataType:"string"}]}),XT=(t,e,o,n)=>{let b=[{field:e,function:"count"}],a=n??[],O=o??[],A=[{field:e,function:"none"}];return{dataSetId:t.id,measure:b,order:a,filter:O,dimension:A,timeDimension:null,limit:5e3,offset:0}},CT=(t,e,o)=>!e||e==="none"?o.dataType:t.supportedAggregates[e]?"number":t.supportedTimeTruncFunctions[e]?.dataTypeOutput?t.supportedTimeTruncFunctions[e]?.dataTypeOutput:(t.supportedTransformationFunctions[e],o.dataType),Jo=(t,e)=>t.map(o=>o.map(({field:n,functionId:b})=>({id:Vi({field:n.id,function:b}),fieldId:n.id,function:b,publicName:n.publicName,dataType:n.dataType,outputDataType:CT(e,b,n)}))),ZO=(t,e,o,n)=>{const b=e.map(a=>{const O=B2(t,a.dataSetId);if(!O)throw"Data set not found for query attributes query";return Zd(O,a.measure,a.filter,a.order,a.dimension,a.timeDimension,a.limit,a.offset,o,n)});return{queries:b.map(a=>a.query),resultFields:Jo([...b].map(a=>a.measureDescription),o)}},ET=(t,e,o,n)=>{let b=[...t.appliesToFields].map(a=>{const O=B2(e,a.dataSetId);if(!O)throw"Data set not found for additional filter query";const A=rt(O,a.fieldId);if(A.dataType=="string[]"){const c=oA(t,a),R=iz(n.filterConfig,O,n.timeRangeOptions,n.variables),v=tM(R,c),{query:N,resultFields:s}=Jd(a.dataSetId,A,v);return{queries:[N],resultFields:[s]}}else{const c=oA(t,a),R=XT(O,a.fieldId,[],DT(A)),v=ZO(e,[R],o,n);return{resultFields:v.resultFields,queries:v.queries.map(N=>({...N,filter:c}))}}});return{queries:b.flatMap(a=>a.queries),resultFields:b.flatMap(a=>a.resultFields)}};function oA(t,e){const o=t.optionsFilters?t.optionsFilters[e.dataSetId]:void 0;return o?ef(o,e.fieldId)||{type:"andWhere",value:[]}:{type:"andWhere",value:[]}}function ef(t,e){if(t.type==="where"){const o=$u(t);return o&&o.value===e?null:t}if(t.type==="andWhere"||t.type==="orWhere"){const o=t.value.map(n=>ef(n,e)).filter(n=>n!==null);return o.length===0?null:o.length===1&&o[0].type===t.type?o[0]:{type:t.type,value:o}}return t}function DT(t){return t?.dataType==="string"||t?.dataType==="number"?[{field:t.id,direction:"asc",function:"none"}]:[]}const it=(t,e,o,n)=>{const{query:b,measureDescription:a}=x2(e,t.measure,t.filter,t.order,t.dimension,t.timeDimension||null,t.limit,t.offset,o,n),O=Jo([a],o);return{queries:[b],resultFields:O}},IT=it,PT=it,rA=it,FT=it,kT=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},jT=(t,e,o,n)=>{let b=[...t.measure||[],...t.xMeasure||[],...t.zMeasure||[]];const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},$T=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},UT=(t,e,o,n)=>{const{line:b,bar:a}=$T(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},GT=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},VT=(t,e,o,n)=>{const{line:b,bar:a}=GT(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},HT=it,YT=it,KT=it,QT=it,ZT=it,JT=(t,e,o,n)=>ZO([e],[{measure:t.measure,dataSetId:e.id,dimension:t.dimension,limit:t.limit,filter:[],order:[],timeDimension:null}],o,n),eB=it,tB=it,oB=it,rB=it,nB=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},iB=(t,e,o,n)=>{let{query:b,measureDescription:a}=x2(e,t.measure,t.filter,[],[],null,1,t.offset,o,n);return b.measure=[{type:"number",value:0},...b.measure],a=[{field:{id:"single-stat-bumper-field",canBeDimension:!1,canBeMeasure:!1,publicName:"",dataType:"number",allowedOperators:[]},functionId:"none"},...a],{query:b,measureDescription:a}},bB=(t,e,o,n)=>e.deltaTimeDimension?x2(t,e.measure,e.filter,[{field:e.deltaTimeDimension.field,direction:"asc",function:e.deltaTimeDimension.truncate}],[],e.deltaTimeDimension,e.limit,e.offset,o,n):null,pB=(t,e,o,n)=>{const b=iB(t,e,o,n);let a=null;return"deltaTimeDimension"in t&&(a=bB(e,t,o,n)),{queries:a?[b.query,a.query]:[b.query],measureDescription:a?[b.measureDescription,a.measureDescription]:[b.measureDescription]}},nA=(t,e,o,n)=>{const{queries:b,measureDescription:a}=pB(t,e,o,n),O=Jo(a,o);return{queries:b,resultFields:O}},aB=it,MB=(t,e,o,n)=>{let b={...t},a={...e};return t.comparison&&(a=X_(e,t.comparison),b={...b,dimension:[...t.dimension,{field:t.comparison.id,function:"none",pivot:"x"}]}),it(b,a,o,n)},zB=(t,e,o,n)=>{switch(t.type){case"areaChart":return IT(t,e,o,n);case"barChart":return PT(t,e,o,n);case"barChartV2":return rA(t,e,o,n);case"horizontalBarChart":return YT(t,e,o,n);case"horizontalBarChartV2":return KT(t,e,o,n);case"lineChart":return QT(t,e,o,n);case"lineChartV2":return ZT(t,e,o,n);case"areaChartV2":return rA(t,e,o,n);case"comboChartV2":return VT(t,e,o,n);case"pieChart":return eB(t,e,o,n);case"sunburstChart":return aB(t,e,o,n);case"dataTable":return tB(t,e,o,n);case"basicTable":return FT(t,e,o,n);case"comboChart":return UT(t,e,o,n);case"singleStat":return nA(t,e,o,n);case"progress":return nA(t,e,o,n);case"scatterChart":return nB(t,e,o,n);case"bubbleChart":return kT(t,e,o,n);case"bubbleChartV2":return jT(t,e,o,n);case"mercatorMap":return JT(t,e,o,n);case"funnelChart":return HT(t,e,o,n);case"richText":return rB(t,e,o,n);case"waterfallChart":return MB(t,e,o,n);case"radarChart":return oB(t,e,o,n);default:throw"Unsupported view when building query."}},JO=(t,e,o)=>{let n=[],b=[];if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="preAggregated"){const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for pre aggregated query";const[O]=a.preAggregated,{query:A,resultFields:c}=xT(t[0],a),R=B2(o.dataSets,O),v=iz(o.filterConfig,R,o.timeRangeOptions,o.variables);n=[{...A,filter:{[R.id]:v}}],b=[c]}else if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="uniqueArrayValues"){n=[t[0]];const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for view attributes query";const O=rt(a,t[0].fieldId),{query:A,resultFields:c}=Jd(t[0].dataSetId,O);n=[A],b=[c]}else if(Array.isArray(t)){const{queries:a,resultFields:O}=ZO(o.dataSets,t,e,o);n=a,b=O}else if("type"in t&&("order"in t||"measure"in t)){const a=B2(o.dataSets,t.dataSetId);if(!a)throw"Data set not found for view attributes query";let{queries:O,resultFields:A}=zB(t,a,e,{...o,filterConfig:{...o.filterConfig,viewFilters:t.filter}});n=O,b=A}else if(t.type!="custom"){let{queries:a,resultFields:O}=ET(t,o.dataSets,e,o);n=a,b=O}return o.timeZone&&(n=n.map(a=>({...a,timeZone:o.timeZone}))),n=n.map(a=>{if(a.type==="query"){const O=Rr(a.filter,B2(o.dataSets,a.dataSetId),e,o),A=o.dataSets.find(R=>R.id===a.dataSetId),c=o.hiddenDashboardFilters?.(A);return{...a,filter:c?{type:"andWhere",value:[O,c]}:O}}return a}),{queries:n,resultFields:b}};let bO={};const cB=(t,e,o)=>{const n=JSON.stringify(t);let b=new Date;b.setSeconds(b.getSeconds()+o),G1("Browser cache new object set.",n),bO[n]={item:e,expires:b}},sB=t=>{const e=JSON.stringify(t),o=bO[e];if(!o)return G1("Browser cache miss.",t),null;G1("Browser cache hit.",t);const{item:n,expires:b}=o;return new Date<b?n:(delete bO[e],null)},OB=20,$a=t=>Array.isArray(t)?t.length==0:typeof t=="object"?$a(Object.keys(t)):!1,e3=async(t,e,o,n)=>{let b={};t.forEach((c,R)=>{const v=sB(n(c));v&&(G1("Query result received from the cache."),b[R]=v)}),t.forEach((c,R)=>{e(c)||(G1("Query is not runnable."),b[R]=null)});const a=t.filter((c,R)=>e(c)&&b[R]===void 0);let O=[];if(!$a(a)){const c=await o(a);c===null?O=null:c.results?O=c.results:O=c}return O===null||$a(O)&&$a(b)?null:[...t].map((c,R)=>{let v=b[R];if(e(c)&&v==null&&(v=O?.shift()||null,cB(n(c),v,OB)),v===void 0)throw"A result went missing...";return v})},lB=async(t,e,o,n)=>{const b=QO(e),{status:a,body:O}=await b({path:"/api/v2/create-results",method:"post",mode:"cors",body:{queries:t,virtualFields:{},dynamicConfig:typeof e=="object"?e.dynamicConfig:void 0,identityConfigIntegritySignature:o},abortSignal:n}),A=O;return a==200?A:null},AB=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,A=>!0,async A=>await lB(A,t.queryEngineEndpoint,t.dataAccessToken,o.abortSignal),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})};var uB=fo,dB=function(){return uB.Date.now()},fB=dB,qB=/\s/;function WB(t){for(var e=t.length;e--&&qB.test(t.charAt(e)););return e}var hB=WB,mB=hB,gB=/^\s+/;function yB(t){return t&&t.slice(0,mB(t)+1).replace(gB,"")}var RB=yB,LB=GM,vB=AO,_B="[object Symbol]";function NB(t){return typeof t=="symbol"||vB(t)&&LB(t)==_B}var TB=NB,BB=RB,iA=Lb,SB=TB,bA=NaN,wB=/^[-+]0x[0-9a-f]+$/i,xB=/^0b[01]+$/i,XB=/^0o[0-7]+$/i,CB=parseInt;function EB(t){if(typeof t=="number")return t;if(SB(t))return bA;if(iA(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=iA(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=BB(t);var o=xB.test(t);return o||XB.test(t)?CB(t.slice(2),o?2:8):wB.test(t)?bA:+t}var DB=EB,IB=Lb,Es=fB,pA=DB,PB="Expected a function",FB=Math.max,kB=Math.min;function jB(t,e,o){var n,b,a,O,A,c,R=0,v=!1,N=!1,s=!0;if(typeof t!="function")throw new TypeError(PB);e=pA(e)||0,IB(o)&&(v=!!o.leading,N="maxWait"in o,a=N?FB(pA(o.maxWait)||0,e):a,s="trailing"in o?!!o.trailing:s);function d(T){var X=n,C=b;return n=b=void 0,R=T,O=t.apply(C,X),O}function u(T){return R=T,A=setTimeout(q,e),v?d(T):O}function z(T){var X=T-c,C=T-R,g=e-X;return N?kB(g,a-C):g}function M(T){var X=T-c,C=T-R;return c===void 0||X>=e||X<0||N&&C>=a}function q(){var T=Es();if(M(T))return l(T);A=setTimeout(q,z(T))}function l(T){return A=void 0,s&&n?d(T):(n=b=void 0,O)}function f(){A!==void 0&&clearTimeout(A),R=0,n=c=b=A=void 0}function y(){return A===void 0?O:l(Es())}function L(){var T=Es(),X=M(T);if(n=arguments,b=this,c=T,X){if(A===void 0)return u(c);if(N)return clearTimeout(A),A=setTimeout(q,e),d(c)}return A===void 0&&(A=setTimeout(q,e)),O}return L.cancel=f,L.flush=y,L}var $B=jB,UB=$B,GB=Lb,VB="Expected a function";function HB(t,e,o){var n=!0,b=!0;if(typeof t!="function")throw new TypeError(VB);return GB(o)&&(n="leading"in o?!!o.leading:n,b="trailing"in o?!!o.trailing:b),UB(t,e,{leading:n,maxWait:e,trailing:b})}var YB=HB;const KB=pM(YB);let Ua={};const aA=[];let Ds={};const QB=async(t,e,o)=>{Ds[t.id]||(Ds[t.id]=KB(e,5e3,{leading:!0}));let n=Ds[t.id];if(G1("Fetching data for in-browser query engine. DataSet;",t.id,"CacheKey;",o),Ua[o])return G1("Returning data for in-browser query engine from the cache."),Ua[o];{const b=await n(t);return!b&&!aA.includes(t.id)&&(aA.push(t.id),console.error(`Failed to download data for data set ${t.id}`)),b&&n.cancel(),G1(`Fetching data from cacheKey: ${o}`),Ua[o]=b,b}};class ZB extends Error{constructor(e){super(e),this.name="MissingVizzlyInMemoryDb"}}const pO=()=>{const t=window.VizzlyInMemoryDb;if(!t)throw new ZB(`VizzlyInMemoryDb missing! This means that 'window.VizzlyInMemoryDb' was not set. This is required for the in-browser vizzly setup.
129
129
 
130
130
  Please ensure you have added the script tag to load the in-browser query engine.
131
131
 
@@ -133,4 +133,4 @@ For example, this should be added within the <head> tag;
133
133
  <script src="https://static.app.vizzly.co/query-engine/0.8.29/vizzly-in-memory-db.umd.js"><\/script>
134
134
 
135
135
  Note, you can change the version of the in-memory database by changing '0.8.3' to the version you require.
136
- `);return t},JB=async(t,e)=>{if("measure"in t&&t.measure.length===0)return[[]];const o={id:e.id,fields:e.fields.map(b=>({id:b.id,address:["_",e.id,b.id],dataType:b.dataType})),joins:[]};return(await pO().queryV2(t,o))?.[0]?.values||[]},tf=(t,e)=>`${t}::${e}`,eS=async(t,e,o)=>{const n=[...t].map(async a=>{const[O]=Ku(e,a.dataSetId),A=tf(o,a.dataSetId);return Ua[A]&&O?{content:await JB(a,O),hasMoreResults:!1}:(console.warn("Returning an empty result."),{content:[],hasMoreResults:null})});return{results:await Promise.all(n)}},tS=async(t,e,o,n)=>(await pO().init(e.map(b=>({id:b?.id,fields:b?.fields.map(a=>({id:a.id,dataType:a.dataType}))}))),await Promise.all([...t].flatMap(async b=>{const[a]=Ku(e,b.dataSetId);if(a){const O=await QB(a,o,tf(n,b.dataSetId)),A={id:a?.id,fields:a?.fields.map(c=>({id:c.id,dataType:c.dataType}))};await pO().ingest(A,O||[])}return[]})),await eS(t,e,n)),oS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,bM,o);let a=await e3(n,A=>!0,async A=>await tS(A,o.dataSets,t.loadData,t.cacheKeyNamespace),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null&&(a=n.map(()=>null)),[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})},rS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,O=>(O.type=="preparedQuery"&&sO("Custom query engine does not support prepared queries."),O.type=="query"),async O=>{const A=await t.runQueries(O,{...o,dataAccessToken:t.dataAccessToken});return A==null?{results:O.map(()=>null)}:{results:A.map((c,R)=>Array.isArray(c)?{fields:b[R],content:c,hasMoreResults:null}:c)}},O=>({query:O,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null?n.map(()=>null):a};async function Is(t,e,o){return t.type=="vizzlyQueryEngine"?await AB(t,e,o):t.type=="vizzlyJsQueryEngine"?await oS(t,e,o):t.type=="custom"?await rS(t,e,o):[]}const nS=(t,e,o,n,b,a,O,A,c,R)=>{let v=X7(t.dashboardAccess)+`:::${JSON.stringify(R)}`;if(a)return async(N,s)=>await Is({type:"custom",queryEngineConfig:e,runQueries:a,dataAccessToken:t.dataAccess?.signature,cacheKeyNamespace:v},N,{abortSignal:s.abortSignal,dataSets:s.dataSets,filterConfig:s.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b});if(O)return async(N,s)=>await Is({type:"vizzlyJsQueryEngine",loadData:O,cacheKeyNamespace:v},N,{abortSignal:s.abortSignal,dataSets:s.dataSets,filterConfig:s.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b});if(A&&t.dataAccess?.signature)return async(N,s)=>await Is({type:"vizzlyQueryEngine",queryEngineConfig:e,dataAccessToken:t.dataAccess?.signature,queryEngineEndpoint:A,cacheKeyNamespace:v},N,{abortSignal:s.abortSignal,dataSets:s.dataSets,filterConfig:s.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b});throw"Missing required props."},iS=(t,e)=>{const o=new Date(t.getTime()-e*24*60*60*1e3);return new Date(o.getFullYear(),o.getMonth(),o.getDate())},aO=t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),Ps={today:!1,past_1_day:!0,yesterday:!0,past_3_days:!0,past_7_days:!0,past_30_days:!0,past_90_days:!0,past_3_months:!1,past_6_months:!1,past_12_months:!1,past_18_months:!1},bS=(t,e)=>{const o=aO(t),n=new Date(o);return n.setDate(n.getDate()+1),n.setMilliseconds(n.getMilliseconds()-1),{description:e,range:{before:n,after:o}}},pS=(t,e)=>({description:e,range:{before:aO(t),after:aO(iS(t,1))}}),bo=(t,e,o)=>{const n=new Date;let b=new Date(n);return e>0&&b.setMonth(n.getMonth()-e),t>0&&(b=new Date(n.getTime()-t*24*60*60*1e3)),{description:o,range:{before:n,after:b}}},aS=t=>({today:bS(new Date,t("filter.today","Today")),past_1_day:bo(1,0,t("filter.past_1_day","Last 24 hours")),yesterday:pS(new Date,t("filter.yesterday","Yesterday")),past_3_days:bo(3,0,t("filter.past_3_days","Last 3 days")),past_7_days:bo(7,0,t("filter.past_7_days","Last 7 days")),past_30_days:bo(30,0,t("filter.past_30_days","Last 30 days")),past_90_days:bo(90,0,t("filter.past_90_days","Last 90 days")),past_3_months:bo(0,3,t("filter.past_3_months","Last 3 months")),past_6_months:bo(0,6,t("filter.past_6_months","Last 6 months")),past_12_months:bo(0,12,t("filter.past_12_months","Last 12 months")),past_18_months:bo(0,18,t("filter.past_18_months","Last 18 months"))}),MS=(t,e)=>{const o=aS(t),n=Object.keys(Ps).map(A=>A in o?`_vizzly_${A}`:A),b=n.indexOf("_vizzly_today");b>-1&&(n.splice(b,1),n.unshift("_vizzly_today"));let a={},O={};for(const A of n){const c=A.replace("_vizzly_",""),R=o[c],v=e?.[c];typeof v=="boolean"?v&&(O[A]=R):v!=null?O[A]=v:Ps[c]!==!1&&(O[A]=R)}if(e)for(const[A,c]of Object.entries(e))A in Ps||(n.push(A),O[A]=c);for(const A of n)A in O&&(a[A]=O[A]);return a},zS=(t,e)=>{const o=d7(t);if(o&&e.dashboardAccess.scope==="read")return{type:"exact",globalLibrary:o};if(o&&e.dashboardAccess.scope==="read_write"&&e.dashboardAccess.accessType!=="admin")return{type:"exact",globalLibrary:u7(t)[0]};if(o&&e.dashboardAccess.accessType==="admin")return{type:"exact",globalLibrary:o};throw"No strategy found."},$i="default";N2.VizzlyApiClientLogger.UserAgentProduct="Services";const cS={apiHost:"https://api.vizzly.co"};class Ho{static{this._instanceStore={}}static{this.DEFAULT_INSTANCE_ID=$i}static{this.eventBus=[]}constructor(e,o,n,b,a,O){this.programmaticDashboard=a,this.dataSets=n,this.queryEngineConfig=o,this.identityConfig=e,this.vizzlyAPIClient=gm(e,b,O)}getDataSets(){return this.dataSets}static async load(e,o=cS){G1("Starting load process for the services package.");const{queryEngine:n,dataSets:b,identity:a,programmaticDashboard:O,extraCustomFields:A}=e,c=new G7(n,a,b,A,o),{queryEngineConfig:R,dataSets:v,identityConfig:N,dashboardStorageStrategy:s}=await c.load(),d=new Pe(N,R,v,s,O,{host:o.apiHost});return Pe._instanceStore[o.instanceId||$i]=d,Pe.queryEngine=n,G1("Loaded services package and added it to the instance store."),d}static use(e=$i){const o=Pe._instanceStore[e];if(!o)throw new Kd(e);return o}static async waitToUse(e=$i,o=1e4){const n=Ho._instanceStore,b=e;return new Promise((a,O)=>{if(n.hasOwnProperty(b)){a(n[b]);return}const A=setTimeout(()=>{clearTimeout(A),O(new TT(e,o))},o),c=setInterval(()=>{n.hasOwnProperty(b)&&(clearTimeout(A),clearInterval(c),a(n[b]))},10)})}static clearInstances(){Pe._instanceStore={},R1.setQueryEngineConfig(null)}async createDashboard(e){BT(e,this.queryEngineConfig);const n=this.vizzlyAPIClient.getDashboardManager(),{dashboard:b}=await n.create({metadata:e.metadata||e.meta,definition:e.definition,parentDashboardId:e.parentDashboardId,permissions:[{scope:"read_write"}],usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateDashboard(e){ST(e,this.queryEngineConfig);const b=await this.vizzlyAPIClient.getDashboardManager().update({dashboardId:e.dashboardId,metadata:e.metadata||e.meta,definition:e.definition,deleted:e.deleted,abortSignal:e.abortSignal,name:e.name,usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateScheduledReport(e,o,n){const a=await this.vizzlyAPIClient.getAPIs().vizzlyApi.saveScheduledReport({scheduledReportId:o,cronSchedule:n,dashboardAccessToken:e});if(a.status===200)return n===null?!0:a.body}async getScheduledReports(e){if(this.vizzlyAPIClient){const n=await this.vizzlyAPIClient.getAPIs().vizzlyApi.getScheduledReports({dashboardAccessToken:e});if(n.status===200)return n.body}return{reports:[]}}async getDashboards(e){const a=(await this.vizzlyAPIClient.getDashboardManager().getDashboards(e?.abortController?{abortSignal:e?.abortController.signal}:{})).flatMap(O=>Ho.upcastDashboard(O,this.dataSets,this.queryEngineConfig));return this.programmaticDashboard?p7(a,n7(await this.programmaticDashboard(this.dataSets),this.dataSets)):a}async createGlobalLibrary(e){return await this.vizzlyAPIClient.getGlobalLibraryManager().create(e)}async getGlobalLibraries(e){const b=await this.vizzlyAPIClient.getGlobalLibraryManager().getGlobalLibraries(e?.abortController?{abortSignal:e?.abortController.signal}:{});this.globalLibraryPermissions=b.permissions;const a=b.global_libraries.map(A=>M7(A));return[zS(a,this.getIdentityConfig()).globalLibrary]}getViewConfiguration(){return{queryEngineConfig:this.queryEngineConfig}}getIdentityConfig(){return this.identityConfig}async query(e,o){G1("[Services] Querying data with queries:",e);let n=$i;o?.instanceId&&(n=o.instanceId);const b=Ho._instanceStore[n],a=nS(b.identityConfig,b.queryEngineConfig,MS(LN,o?.dateFilterOptions),o?.variables||{},o?.aliasFields||{},o?.runQueries,o?.data,o?.queryEngineEndpoint,void 0,{instanceId:n});return{results:await(async()=>{try{return await a(e,{abortSignal:o?.abortController?.signal,dataSets:this.dataSets,filterConfig:o?.filterConfig})}catch(A){return dt("[Services] Error fetching data on query:",A),null}})()}}static upcastDashboard(e,o,n){try{const b=Bs(e,n);return[Pa(b,o,e.definition?.customFields||{})]}catch(b){return dt(`Failed to upcast dashboard ${e.id}. This dashboard will not be available for use.`,b),[]}}static filterDashboards(e,o){let n=P0.cloneDeep(e);return o.onlyParentDashboards&&(n=n.filter(b=>b.parentDashboardId===null)),o.onlyChildDashboards&&(n=n.filter(b=>b.parentDashboardId!==null)),o.onlyChildDashboardsForParent&&(n=n.filter(b=>b.parentDashboardId===o.onlyChildDashboardsForParent)),o.onlyAllowScope&&(n=n.filter(b=>b.permission?.scope===o.onlyAllowScope)),o.onlyDashboardsIncludingMetadata&&(n=n.filter(b=>{const a=Object.keys(o.onlyDashboardsIncludingMetadata||{});return P0.every(a,O=>b.metadata[O]===o?.onlyDashboardsIncludingMetadata?.[O])})),n}async updateGlobalLibrary(e){try{return await this.vizzlyAPIClient.getGlobalLibraryManager().update(e)}catch(o){dt("Error updating global library:",o)}}static async eventBusController(e,o){try{const n=Ho.use();if((e.action==="addComponentToLibrary"||e.action==="deleteComponentFromLibrary")&&n.globalLibraryPermissions){Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:ja.SAVING}});const[b]=await Promise.all([await n.getGlobalLibraries({abortController:o?.abortController})]);let a=KO(b);e.action==="addComponentToLibrary"&&(a=c7(b,e.component,e.customFields)),e.action==="deleteComponentFromLibrary"&&(a=l7(b,e.component));const O=z7(n.globalLibraryPermissions,[a]);N6("library and tokens for update",{libraryForUpdate:a,tokenForLibrary:O});const A={globalLibraryId:a.id,library:a.library,abortSignal:o?.abortController?.signal,globalLibrarySessionToken:O};if(await n.updateGlobalLibrary(A)){let R=ja.SAVED;e.action==="deleteComponentFromLibrary"&&(R=ja.DELETED),Pe.publish({data:{action:"newViewsInGlobalLibrary"}}),Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:R}})}}}catch(n){dt("Error handling event:",n)}}static publish(e){Pe.eventBus.map(o=>{o(e)}),Pe.eventBusController(e.data).catch(o=>{dt("Failed to handle event:",o)})}static subscription(e){return Pe.eventBus.push(e),()=>{Pe.eventBus=Pe.eventBus.filter(o=>o!==e)}}static{this.Row=Hd}static{this.Cell=iO}static{this.Dashboard=Y7}static{this.Editor=Q7}static{this.Header=Yd}static{this.Library=K7}static{this.View=R1}static{this.AreaChart=bT}static{this.AreaChartV2=pT}static{this.LineChart=aT}static{this.LineChartV2=MT}static{this.BarChart=zT}static{this.BarChartV2=cT}static{this.PieChart=sT}static{this.BubbleChart=OT}static{this.BubbleChartV2=lT}static{this.ScatterChart=uT}static{this.ComboChart=dT}static{this.ComboChartV2=fT}static{this.PivotTable=qT}static{this.BasicTable=WT}static{this.HorizontalBarChart=hT}static{this.HorizontalBarChartV2=mT}static{this.MercatorMap=gT}static{this.SingleStat=yT}static{this.Progress=RT}static{this.RichText=LT}static{this.WaterfallChart=vT}static{this.FunnelChart=NT}static{this.SunburstChart=AT}static{this.RadarChart=_T}}typeof window<"u"&&!window.Vizzly&&(window.Vizzly=Ho);const Pe=typeof window<"u"&&window.Vizzly||Ho;exports.Vizzly=Pe;exports.VizzlyInstanceNotLoaded=Kd;
136
+ `);return t},JB=async(t,e)=>{if("measure"in t&&t.measure.length===0)return[[]];const o={id:e.id,fields:e.fields.map(b=>({id:b.id,address:["_",e.id,b.id],dataType:b.dataType})),joins:[]};return(await pO().queryV2(t,o))?.[0]?.values||[]},tf=(t,e)=>`${t}::${e}`,eS=async(t,e,o)=>{const n=[...t].map(async a=>{const[O]=Ku(e,a.dataSetId),A=tf(o,a.dataSetId);return Ua[A]&&O?{content:await JB(a,O),hasMoreResults:!1}:(console.warn("Returning an empty result."),{content:[],hasMoreResults:null})});return{results:await Promise.all(n)}},tS=async(t,e,o,n)=>(await pO().init(e.map(b=>({id:b?.id,fields:b?.fields.map(a=>({id:a.id,dataType:a.dataType}))}))),await Promise.all([...t].flatMap(async b=>{const[a]=Ku(e,b.dataSetId);if(a){const O=await QB(a,o,tf(n,b.dataSetId)),A={id:a?.id,fields:a?.fields.map(c=>({id:c.id,dataType:c.dataType}))};await pO().ingest(A,O||[])}return[]})),await eS(t,e,n)),oS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,bM,o);let a=await e3(n,A=>!0,async A=>await tS(A,o.dataSets,t.loadData,t.cacheKeyNamespace),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null&&(a=n.map(()=>null)),[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})},rS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,O=>(O.type=="preparedQuery"&&sO("Custom query engine does not support prepared queries."),O.type=="query"),async O=>{const A=await t.runQueries(O,{...o,dataAccessToken:t.dataAccessToken});return A==null?{results:O.map(()=>null)}:{results:A.map((c,R)=>Array.isArray(c)?{fields:b[R],content:c,hasMoreResults:null}:c)}},O=>({query:O,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null?n.map(()=>null):a};async function Is(t,e,o){return t.type=="vizzlyQueryEngine"?await AB(t,e,o):t.type=="vizzlyJsQueryEngine"?await oS(t,e,o):t.type=="custom"?await rS(t,e,o):[]}const nS=(t,e,o,n,b,a,O,A,c,R,v)=>{let N=X7(t.dashboardAccess)+`:::${JSON.stringify(R)}`;if(a)return async(s,d)=>await Is({type:"custom",queryEngineConfig:e,runQueries:a,dataAccessToken:t.dataAccess?.signature,cacheKeyNamespace:N},s,{abortSignal:d.abortSignal,dataSets:d.dataSets,filterConfig:d.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b,hiddenDashboardFilters:v});if(O)return async(s,d)=>await Is({type:"vizzlyJsQueryEngine",loadData:O,cacheKeyNamespace:N},s,{abortSignal:d.abortSignal,dataSets:d.dataSets,filterConfig:d.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b,hiddenDashboardFilters:v});if(A&&t.dataAccess?.signature)return async(s,d)=>await Is({type:"vizzlyQueryEngine",queryEngineConfig:e,dataAccessToken:t.dataAccess?.signature,queryEngineEndpoint:A,cacheKeyNamespace:N},s,{abortSignal:d.abortSignal,dataSets:d.dataSets,filterConfig:d.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b,hiddenDashboardFilters:v});throw"Missing required props."},iS=(t,e)=>{const o=new Date(t.getTime()-e*24*60*60*1e3);return new Date(o.getFullYear(),o.getMonth(),o.getDate())},aO=t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),Ps={today:!1,past_1_day:!0,yesterday:!0,past_3_days:!0,past_7_days:!0,past_30_days:!0,past_90_days:!0,past_3_months:!1,past_6_months:!1,past_12_months:!1,past_18_months:!1},bS=(t,e)=>{const o=aO(t),n=new Date(o);return n.setDate(n.getDate()+1),n.setMilliseconds(n.getMilliseconds()-1),{description:e,range:{before:n,after:o}}},pS=(t,e)=>({description:e,range:{before:aO(t),after:aO(iS(t,1))}}),bo=(t,e,o)=>{const n=new Date;let b=new Date(n);return e>0&&b.setMonth(n.getMonth()-e),t>0&&(b=new Date(n.getTime()-t*24*60*60*1e3)),{description:o,range:{before:n,after:b}}},aS=t=>({today:bS(new Date,t("filter.today","Today")),past_1_day:bo(1,0,t("filter.past_1_day","Last 24 hours")),yesterday:pS(new Date,t("filter.yesterday","Yesterday")),past_3_days:bo(3,0,t("filter.past_3_days","Last 3 days")),past_7_days:bo(7,0,t("filter.past_7_days","Last 7 days")),past_30_days:bo(30,0,t("filter.past_30_days","Last 30 days")),past_90_days:bo(90,0,t("filter.past_90_days","Last 90 days")),past_3_months:bo(0,3,t("filter.past_3_months","Last 3 months")),past_6_months:bo(0,6,t("filter.past_6_months","Last 6 months")),past_12_months:bo(0,12,t("filter.past_12_months","Last 12 months")),past_18_months:bo(0,18,t("filter.past_18_months","Last 18 months"))}),MS=(t,e)=>{const o=aS(t),n=Object.keys(Ps).map(A=>A in o?`_vizzly_${A}`:A),b=n.indexOf("_vizzly_today");b>-1&&(n.splice(b,1),n.unshift("_vizzly_today"));let a={},O={};for(const A of n){const c=A.replace("_vizzly_",""),R=o[c],v=e?.[c];typeof v=="boolean"?v&&(O[A]=R):v!=null?O[A]=v:Ps[c]!==!1&&(O[A]=R)}if(e)for(const[A,c]of Object.entries(e))A in Ps||(n.push(A),O[A]=c);for(const A of n)A in O&&(a[A]=O[A]);return a},zS=(t,e)=>{const o=d7(t);if(o&&e.dashboardAccess.scope==="read")return{type:"exact",globalLibrary:o};if(o&&e.dashboardAccess.scope==="read_write"&&e.dashboardAccess.accessType!=="admin")return{type:"exact",globalLibrary:u7(t)[0]};if(o&&e.dashboardAccess.accessType==="admin")return{type:"exact",globalLibrary:o};throw"No strategy found."},$i="default";N2.VizzlyApiClientLogger.UserAgentProduct="Services";const cS={apiHost:"https://api.vizzly.co"};class Ho{static{this._instanceStore={}}static{this.DEFAULT_INSTANCE_ID=$i}static{this.eventBus=[]}constructor(e,o,n,b,a,O){this.programmaticDashboard=a,this.dataSets=n,this.queryEngineConfig=o,this.identityConfig=e,this.vizzlyAPIClient=gm(e,b,O)}getDataSets(){return this.dataSets}static async load(e,o=cS){G1("Starting load process for the services package.");const{queryEngine:n,dataSets:b,identity:a,programmaticDashboard:O,extraCustomFields:A}=e,c=new G7(n,a,b,A,o),{queryEngineConfig:R,dataSets:v,identityConfig:N,dashboardStorageStrategy:s}=await c.load(),d=new Pe(N,R,v,s,O,{host:o.apiHost});return Pe._instanceStore[o.instanceId||$i]=d,Pe.queryEngine=n,G1("Loaded services package and added it to the instance store."),d}static use(e=$i){const o=Pe._instanceStore[e];if(!o)throw new Kd(e);return o}static async waitToUse(e=$i,o=1e4){const n=Ho._instanceStore,b=e;return new Promise((a,O)=>{if(n.hasOwnProperty(b)){a(n[b]);return}const A=setTimeout(()=>{clearTimeout(A),O(new TT(e,o))},o),c=setInterval(()=>{n.hasOwnProperty(b)&&(clearTimeout(A),clearInterval(c),a(n[b]))},10)})}static clearInstances(){Pe._instanceStore={},R1.setQueryEngineConfig(null)}async createDashboard(e){BT(e,this.queryEngineConfig);const n=this.vizzlyAPIClient.getDashboardManager(),{dashboard:b}=await n.create({metadata:e.metadata||e.meta,definition:e.definition,parentDashboardId:e.parentDashboardId,permissions:[{scope:"read_write"}],usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateDashboard(e){ST(e,this.queryEngineConfig);const b=await this.vizzlyAPIClient.getDashboardManager().update({dashboardId:e.dashboardId,metadata:e.metadata||e.meta,definition:e.definition,deleted:e.deleted,abortSignal:e.abortSignal,name:e.name,usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateScheduledReport(e,o,n){const a=await this.vizzlyAPIClient.getAPIs().vizzlyApi.saveScheduledReport({scheduledReportId:o,cronSchedule:n,dashboardAccessToken:e});if(a.status===200)return n===null?!0:a.body}async getScheduledReports(e){if(this.vizzlyAPIClient){const n=await this.vizzlyAPIClient.getAPIs().vizzlyApi.getScheduledReports({dashboardAccessToken:e});if(n.status===200)return n.body}return{reports:[]}}async getDashboards(e){const a=(await this.vizzlyAPIClient.getDashboardManager().getDashboards(e?.abortController?{abortSignal:e?.abortController.signal}:{})).flatMap(O=>Ho.upcastDashboard(O,this.dataSets,this.queryEngineConfig));return this.programmaticDashboard?p7(a,n7(await this.programmaticDashboard(this.dataSets),this.dataSets)):a}async createGlobalLibrary(e){return await this.vizzlyAPIClient.getGlobalLibraryManager().create(e)}async getGlobalLibraries(e){const b=await this.vizzlyAPIClient.getGlobalLibraryManager().getGlobalLibraries(e?.abortController?{abortSignal:e?.abortController.signal}:{});this.globalLibraryPermissions=b.permissions;const a=b.global_libraries.map(A=>M7(A));return[zS(a,this.getIdentityConfig()).globalLibrary]}getViewConfiguration(){return{queryEngineConfig:this.queryEngineConfig}}getIdentityConfig(){return this.identityConfig}async query(e,o){G1("[Services] Querying data with queries:",e);let n=$i;o?.instanceId&&(n=o.instanceId);const b=Ho._instanceStore[n],a=nS(b.identityConfig,b.queryEngineConfig,MS(LN,o?.dateFilterOptions),o?.variables||{},o?.aliasFields||{},o?.runQueries,o?.data,o?.queryEngineEndpoint,void 0,{instanceId:n});return{results:await(async()=>{try{return await a(e,{abortSignal:o?.abortController?.signal,dataSets:this.dataSets,filterConfig:o?.filterConfig})}catch(A){return dt("[Services] Error fetching data on query:",A),null}})()}}static upcastDashboard(e,o,n){try{const b=Bs(e,n);return[Pa(b,o,e.definition?.customFields||{})]}catch(b){return dt(`Failed to upcast dashboard ${e.id}. This dashboard will not be available for use.`,b),[]}}static filterDashboards(e,o){let n=P0.cloneDeep(e);return o.onlyParentDashboards&&(n=n.filter(b=>b.parentDashboardId===null)),o.onlyChildDashboards&&(n=n.filter(b=>b.parentDashboardId!==null)),o.onlyChildDashboardsForParent&&(n=n.filter(b=>b.parentDashboardId===o.onlyChildDashboardsForParent)),o.onlyAllowScope&&(n=n.filter(b=>b.permission?.scope===o.onlyAllowScope)),o.onlyDashboardsIncludingMetadata&&(n=n.filter(b=>{const a=Object.keys(o.onlyDashboardsIncludingMetadata||{});return P0.every(a,O=>b.metadata[O]===o?.onlyDashboardsIncludingMetadata?.[O])})),n}async updateGlobalLibrary(e){try{return await this.vizzlyAPIClient.getGlobalLibraryManager().update(e)}catch(o){dt("Error updating global library:",o)}}static async eventBusController(e,o){try{const n=Ho.use();if((e.action==="addComponentToLibrary"||e.action==="deleteComponentFromLibrary")&&n.globalLibraryPermissions){Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:ja.SAVING}});const[b]=await Promise.all([await n.getGlobalLibraries({abortController:o?.abortController})]);let a=KO(b);e.action==="addComponentToLibrary"&&(a=c7(b,e.component,e.customFields)),e.action==="deleteComponentFromLibrary"&&(a=l7(b,e.component));const O=z7(n.globalLibraryPermissions,[a]);N6("library and tokens for update",{libraryForUpdate:a,tokenForLibrary:O});const A={globalLibraryId:a.id,library:a.library,abortSignal:o?.abortController?.signal,globalLibrarySessionToken:O};if(await n.updateGlobalLibrary(A)){let R=ja.SAVED;e.action==="deleteComponentFromLibrary"&&(R=ja.DELETED),Pe.publish({data:{action:"newViewsInGlobalLibrary"}}),Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:R}})}}}catch(n){dt("Error handling event:",n)}}static publish(e){Pe.eventBus.map(o=>{o(e)}),Pe.eventBusController(e.data).catch(o=>{dt("Failed to handle event:",o)})}static subscription(e){return Pe.eventBus.push(e),()=>{Pe.eventBus=Pe.eventBus.filter(o=>o!==e)}}static{this.Row=Hd}static{this.Cell=iO}static{this.Dashboard=Y7}static{this.Editor=Q7}static{this.Header=Yd}static{this.Library=K7}static{this.View=R1}static{this.AreaChart=bT}static{this.AreaChartV2=pT}static{this.LineChart=aT}static{this.LineChartV2=MT}static{this.BarChart=zT}static{this.BarChartV2=cT}static{this.PieChart=sT}static{this.BubbleChart=OT}static{this.BubbleChartV2=lT}static{this.ScatterChart=uT}static{this.ComboChart=dT}static{this.ComboChartV2=fT}static{this.PivotTable=qT}static{this.BasicTable=WT}static{this.HorizontalBarChart=hT}static{this.HorizontalBarChartV2=mT}static{this.MercatorMap=gT}static{this.SingleStat=yT}static{this.Progress=RT}static{this.RichText=LT}static{this.WaterfallChart=vT}static{this.FunnelChart=NT}static{this.SunburstChart=AT}static{this.RadarChart=_T}}typeof window<"u"&&!window.Vizzly&&(window.Vizzly=Ho);const Pe=typeof window<"u"&&window.Vizzly||Ho;exports.Vizzly=Pe;exports.VizzlyInstanceNotLoaded=Kd;
@@ -29031,15 +29031,24 @@ const it = (t, e, o, n) => {
29031
29031
  );
29032
29032
  n = a, b = O;
29033
29033
  }
29034
- return o.timeZone && (n = n.map((a) => ({ ...a, timeZone: o.timeZone }))), n = n.map((a) => a.type === "query" ? {
29035
- ...a,
29036
- filter: Rr(
29037
- a.filter,
29038
- B2(o.dataSets, a.dataSetId),
29039
- e,
29040
- o
29041
- )
29042
- } : a), { queries: n, resultFields: b };
29034
+ return o.timeZone && (n = n.map((a) => ({ ...a, timeZone: o.timeZone }))), n = n.map((a) => {
29035
+ if (a.type === "query") {
29036
+ const O = Rr(
29037
+ a.filter,
29038
+ B2(o.dataSets, a.dataSetId),
29039
+ e,
29040
+ o
29041
+ ), A = o.dataSets.find((R) => R.id === a.dataSetId), c = o.hiddenDashboardFilters?.(A);
29042
+ return {
29043
+ ...a,
29044
+ filter: c ? {
29045
+ type: "andWhere",
29046
+ value: [O, c]
29047
+ } : O
29048
+ };
29049
+ }
29050
+ return a;
29051
+ }), { queries: n, resultFields: b };
29043
29052
  };
29044
29053
  let bO = {};
29045
29054
  const cB = (t, e, o) => {
@@ -29331,64 +29340,67 @@ Note, you can change the version of the in-memory database by changing '0.8.3' t
29331
29340
  async function Is(t, e, o) {
29332
29341
  return t.type == "vizzlyQueryEngine" ? await AB(t, e, o) : t.type == "vizzlyJsQueryEngine" ? await oS(t, e, o) : t.type == "custom" ? await rS(t, e, o) : [];
29333
29342
  }
29334
- const nS = (t, e, o, n, b, a, O, A, c, R) => {
29335
- let v = x7(t.dashboardAccess) + `:::${JSON.stringify(R)}`;
29343
+ const nS = (t, e, o, n, b, a, O, A, c, R, v) => {
29344
+ let N = x7(t.dashboardAccess) + `:::${JSON.stringify(R)}`;
29336
29345
  if (a)
29337
- return async (N, s) => await Is(
29346
+ return async (s, d) => await Is(
29338
29347
  {
29339
29348
  type: "custom",
29340
29349
  queryEngineConfig: e,
29341
29350
  runQueries: a,
29342
29351
  dataAccessToken: t.dataAccess?.signature,
29343
- cacheKeyNamespace: v
29352
+ cacheKeyNamespace: N
29344
29353
  },
29345
- N,
29354
+ s,
29346
29355
  {
29347
- abortSignal: s.abortSignal,
29348
- dataSets: s.dataSets,
29349
- filterConfig: s.filterConfig || {},
29356
+ abortSignal: d.abortSignal,
29357
+ dataSets: d.dataSets,
29358
+ filterConfig: d.filterConfig || {},
29350
29359
  timeRangeOptions: o,
29351
29360
  timeZone: c,
29352
29361
  variables: n,
29353
- aliasFields: b
29362
+ aliasFields: b,
29363
+ hiddenDashboardFilters: v
29354
29364
  }
29355
29365
  );
29356
29366
  if (O)
29357
- return async (N, s) => await Is(
29367
+ return async (s, d) => await Is(
29358
29368
  {
29359
29369
  type: "vizzlyJsQueryEngine",
29360
29370
  loadData: O,
29361
- cacheKeyNamespace: v
29371
+ cacheKeyNamespace: N
29362
29372
  },
29363
- N,
29373
+ s,
29364
29374
  {
29365
- abortSignal: s.abortSignal,
29366
- dataSets: s.dataSets,
29367
- filterConfig: s.filterConfig || {},
29375
+ abortSignal: d.abortSignal,
29376
+ dataSets: d.dataSets,
29377
+ filterConfig: d.filterConfig || {},
29368
29378
  timeRangeOptions: o,
29369
29379
  timeZone: c,
29370
29380
  variables: n,
29371
- aliasFields: b
29381
+ aliasFields: b,
29382
+ hiddenDashboardFilters: v
29372
29383
  }
29373
29384
  );
29374
29385
  if (A && t.dataAccess?.signature)
29375
- return async (N, s) => await Is(
29386
+ return async (s, d) => await Is(
29376
29387
  {
29377
29388
  type: "vizzlyQueryEngine",
29378
29389
  queryEngineConfig: e,
29379
29390
  dataAccessToken: t.dataAccess?.signature,
29380
29391
  queryEngineEndpoint: A,
29381
- cacheKeyNamespace: v
29392
+ cacheKeyNamespace: N
29382
29393
  },
29383
- N,
29394
+ s,
29384
29395
  {
29385
- abortSignal: s.abortSignal,
29386
- dataSets: s.dataSets,
29387
- filterConfig: s.filterConfig || {},
29396
+ abortSignal: d.abortSignal,
29397
+ dataSets: d.dataSets,
29398
+ filterConfig: d.filterConfig || {},
29388
29399
  timeRangeOptions: o,
29389
29400
  timeZone: c,
29390
29401
  variables: n,
29391
- aliasFields: b
29402
+ aliasFields: b,
29403
+ hiddenDashboardFilters: v
29392
29404
  }
29393
29405
  );
29394
29406
  throw "Missing required props.";
package/package.json CHANGED
@@ -30,7 +30,7 @@
30
30
  "fix-type-alias": "tsc-alias -p tsconfig.types.json",
31
31
  "prepare": "yarn build"
32
32
  },
33
- "version": "0.15.0-dev-dc8abbc27d404a01b1c730481930e726e875c32b",
33
+ "version": "0.15.0-dev-3cedf551bbb0d18e14a8fe6473fe9b8d5ce6736b",
34
34
  "dependencies": {
35
35
  "@vizzly/api-client": "0.0.57",
36
36
  "@vizzly/joi": "^17.11.0",