@malloydata/render 0.0.218 → 0.0.219-dev241203051251
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/index.mjs +11877 -11635
- package/dist/module/index.umd.js +249 -249
- package/dist/register/register.mjs +1 -1
- package/dist/register/register.umd.js +1 -1
- package/dist/webcomponent/malloy-render.mjs +1 -1
- package/dist/webcomponent/malloy-render.umd.js +1 -1
- package/package.json +2 -2
|
@@ -53502,7 +53502,7 @@ ch.exploreQueryWalkerBuilder = uRe;
|
|
|
53502
53502
|
var Ne = {}, $5 = {};
|
|
53503
53503
|
Object.defineProperty($5, "__esModule", { value: !0 });
|
|
53504
53504
|
$5.MALLOY_VERSION = void 0;
|
|
53505
|
-
$5.MALLOY_VERSION = "0.0.
|
|
53505
|
+
$5.MALLOY_VERSION = "0.0.219";
|
|
53506
53506
|
Object.defineProperty(Ne, "__esModule", { value: !0 });
|
|
53507
53507
|
Ne.CSVWriter = Ne.JSONWriter = Ne.DataWriter = Ne.DataRecord = Ne.DataArray = Ne.Result = Ne.ExploreMaterializer = Ne.PreparedResultMaterializer = Ne.QueryMaterializer = Ne.ModelMaterializer = Ne.SingleConnectionRuntime = Ne.ConnectionRuntime = Ne.Runtime = Ne.ExploreField = Ne.JoinRelationship = Ne.QueryField = Ne.Query = Ne.StringField = Ne.UnsupportedField = Ne.JSONField = Ne.BooleanField = Ne.NumberField = Ne.TimestampField = Ne.DateField = Ne.TimestampTimeframe = Ne.DateTimeframe = Ne.AtomicField = Ne.AtomicFieldType = Ne.Explore = Ne.SourceRelationship = Ne.FixedConnectionMap = Ne.InMemoryURLReader = Ne.EmptyURLReader = Ne.PreparedResult = Ne.DocumentCompletion = Ne.DocumentSymbol = Ne.DocumentPosition = Ne.DocumentRange = Ne.DocumentTablePath = Ne.Parse = Ne.PreparedQuery = Ne.Model = Ne.MalloyError = Ne.Malloy = void 0;
|
|
53508
53508
|
const aRe = P8, yr = no, Tj = Yi, Sn = Hu, aO = Qh, lRe = $5;
|
|
@@ -1326,7 +1326,7 @@ QUERY: ${(0,Uz.inspect)(n,{breakLength:72,depth:1/0})}`)}return qz.ErrorFactory.
|
|
|
1326
1326
|
| ${l}`,u>0&&(i=i+`
|
|
1327
1327
|
| ${" ".repeat(u)}^`)}else i=`line ${o+1}: char ${u}: ${r.message}`}n!==s&&(i=`FILE: ${s}
|
|
1328
1328
|
`+i,n=s),e!==""?e=`${e}
|
|
1329
|
-
${i}`:e=i}return e}childRequest(e){var n;const r=decodeURI(new URL(e,this.sourceURL).toString()),i=(n=this.childTranslators.get(r))===null||n===void 0?void 0:n.translate();if(i!=null&&i.compileSQL)return{compileSQL:i.compileSQL,partialModel:i.partialModel}}getChildExports(e){const n={},r=decodeURI(new URL(e,this.sourceURL).toString()),i=this.childTranslators.get(r);if(i&&i.translate().translated)for(const o of i.modelDef.exports){const u=i.modelDef.contents[o];((0,$Oe.isSourceDef)(u)||u.type==="query")&&(n[o]=u)}return n}translate(e){if(this.finalAnswer)return this.finalAnswer;const n=this.translateStep.step(this,e);return n.final&&(this.finalAnswer=n),n}importAt(e){for(let n=0;n<this.imports.length;n++){const r=this.imports[n];if((0,HOe.locationContainsPosition)(r.location,e))return r}}metadata(){return this.metadataStep.step(this)}modelAnnotation(e){return this.modelAnnotationStep.step(this,e)}tablePathInfo(){return this.tablePathInfoStep.step(this)}completions(e){return this.completionsStep.step(this,e)}helpContext(e){return this.helpContextStep.step(this,e)}defaultLocation(){return{url:this.sourceURL,range:{start:{line:0,character:0},end:{line:0,character:0}}}}rangeFromContext(e){return this.rangeFromTokens(e.start,e.stop||e.start)}rangeFromTokens(e,n){const r={line:e.line-1,character:e.charPositionInLine};if(this.parseStep.sourceInfo&&n.stopIndex!==-1){const i=this.parseStep.sourceInfo.lines.length-1;for(let s=e.line-1;s<=i;s++){const o=this.parseStep.sourceInfo.at[s];if(n.stopIndex>=o.begin&&n.stopIndex<o.end)return{start:r,end:{line:s,character:n.stopIndex-o.begin+1}}}return{start:r,end:{line:i,character:this.parseStep.sourceInfo.lines[i].length}}}return{start:r,end:r}}rangeFromToken(e){return this.rangeFromTokens(e,e)}firstReferenceToDialect(e){return this.dialectAlreadyChecked[e]?!1:(this.dialectAlreadyChecked[e]=!0,!0)}experimentalDialectEnabled(e){if(this.allDialectsEnabled)return!0;const n=this.compilerFlags.tag("experimental");return n!==void 0&&(n.bare()||n.has("dialect",e))}}Eu.MalloyTranslation=O7;class MG extends O7{constructor(e,n){super(e),this.root=n}}Eu.MalloyChildTranslator=MG;class rRe extends O7{constructor(e,n=null,r=null,i=null){super(e,n),this.eventStream=i,this.schemaZone=new T7.Zone,this.importZone=new T7.Zone,this.sqlQueryZone=new T7.Zone,this.root=this,this.logger=new C7.BaseMessageLogger(i),r&&this.update(r)}update(e){var n,r,i;this.schemaZone.updateFrom(e.tables,(n=e.errors)===null||n===void 0?void 0:n.tables),this.importZone.updateFrom(e.urls,(r=e.errors)===null||r===void 0?void 0:r.urls),this.sqlQueryZone.updateFrom(e.compileSQL,(i=e.errors)===null||i===void 0?void 0:i.compileSQL)}logError(e,n,r){return this.logger.log((0,C7.makeLogMessage)(e,n,{severity:"error",...r})),e}}Eu.MalloyTranslator=rRe;class jG{constructor(e,n){this.translator=e,this.messages=n}logError(e,n,r){return this.messages.log((0,C7.makeLogMessage)(e,n,{severity:"error",...r})),e}syntaxError(e,n,r,i,s,o){const u={line:r-1,character:i},a=n?this.translator.rangeFromToken(n):{start:u,end:u};this.logError("syntax-error",{message:s},{at:{url:this.translator.sourceURL,range:a}})}}Eu.MalloyParserErrorHandler=jG;var mh={};Object.defineProperty(mh,"__esModule",{value:!0}),mh.exploreQueryWalkerBuilder=mh.ExploreQueryWalker=void 0;const iRe=zl;class UG{constructor(e){this.inDocument=!1,this.exploreClauseRefs=[],this.tokens=e}exploreQueryAtOffset(e){return this.exploreClauseRefs.find(n=>n.range[0]===void 0||n.range[1]===void 0?!1:n.range[0]<=e&&n.range[1]>=e)}filterAtOffset(e){const n=this.exploreQueryAtOffset(e);if(n)return n.filterRefs.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e)}hasFilterListAtOffset(e){const n=this.exploreQueryAtOffset(e);return n?!!n.filterLists.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e):!1}enterMalloyDocument(){this.inDocument=!0}}mh.ExploreQueryWalker=UG;function sRe(t,e){const n=new UG(t),r=n;return iRe.ParseTreeWalker.DEFAULT.walk(r,e),n}mh.exploreQueryWalkerBuilder=sRe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.exploreQueryWalkerBuilder=t.MalloyTranslator=void 0;var e=Eu;Object.defineProperty(t,"MalloyTranslator",{enumerable:!0,get:function(){return e.MalloyTranslator}});var n=mh;Object.defineProperty(t,"exploreQueryWalkerBuilder",{enumerable:!0,get:function(){return n.exploreQueryWalkerBuilder}})}(YO);var Ne={},LS={};Object.defineProperty(LS,"__esModule",{value:!0}),LS.MALLOY_VERSION=void 0,LS.MALLOY_VERSION="0.0.
|
|
1329
|
+
${i}`:e=i}return e}childRequest(e){var n;const r=decodeURI(new URL(e,this.sourceURL).toString()),i=(n=this.childTranslators.get(r))===null||n===void 0?void 0:n.translate();if(i!=null&&i.compileSQL)return{compileSQL:i.compileSQL,partialModel:i.partialModel}}getChildExports(e){const n={},r=decodeURI(new URL(e,this.sourceURL).toString()),i=this.childTranslators.get(r);if(i&&i.translate().translated)for(const o of i.modelDef.exports){const u=i.modelDef.contents[o];((0,$Oe.isSourceDef)(u)||u.type==="query")&&(n[o]=u)}return n}translate(e){if(this.finalAnswer)return this.finalAnswer;const n=this.translateStep.step(this,e);return n.final&&(this.finalAnswer=n),n}importAt(e){for(let n=0;n<this.imports.length;n++){const r=this.imports[n];if((0,HOe.locationContainsPosition)(r.location,e))return r}}metadata(){return this.metadataStep.step(this)}modelAnnotation(e){return this.modelAnnotationStep.step(this,e)}tablePathInfo(){return this.tablePathInfoStep.step(this)}completions(e){return this.completionsStep.step(this,e)}helpContext(e){return this.helpContextStep.step(this,e)}defaultLocation(){return{url:this.sourceURL,range:{start:{line:0,character:0},end:{line:0,character:0}}}}rangeFromContext(e){return this.rangeFromTokens(e.start,e.stop||e.start)}rangeFromTokens(e,n){const r={line:e.line-1,character:e.charPositionInLine};if(this.parseStep.sourceInfo&&n.stopIndex!==-1){const i=this.parseStep.sourceInfo.lines.length-1;for(let s=e.line-1;s<=i;s++){const o=this.parseStep.sourceInfo.at[s];if(n.stopIndex>=o.begin&&n.stopIndex<o.end)return{start:r,end:{line:s,character:n.stopIndex-o.begin+1}}}return{start:r,end:{line:i,character:this.parseStep.sourceInfo.lines[i].length}}}return{start:r,end:r}}rangeFromToken(e){return this.rangeFromTokens(e,e)}firstReferenceToDialect(e){return this.dialectAlreadyChecked[e]?!1:(this.dialectAlreadyChecked[e]=!0,!0)}experimentalDialectEnabled(e){if(this.allDialectsEnabled)return!0;const n=this.compilerFlags.tag("experimental");return n!==void 0&&(n.bare()||n.has("dialect",e))}}Eu.MalloyTranslation=O7;class MG extends O7{constructor(e,n){super(e),this.root=n}}Eu.MalloyChildTranslator=MG;class rRe extends O7{constructor(e,n=null,r=null,i=null){super(e,n),this.eventStream=i,this.schemaZone=new T7.Zone,this.importZone=new T7.Zone,this.sqlQueryZone=new T7.Zone,this.root=this,this.logger=new C7.BaseMessageLogger(i),r&&this.update(r)}update(e){var n,r,i;this.schemaZone.updateFrom(e.tables,(n=e.errors)===null||n===void 0?void 0:n.tables),this.importZone.updateFrom(e.urls,(r=e.errors)===null||r===void 0?void 0:r.urls),this.sqlQueryZone.updateFrom(e.compileSQL,(i=e.errors)===null||i===void 0?void 0:i.compileSQL)}logError(e,n,r){return this.logger.log((0,C7.makeLogMessage)(e,n,{severity:"error",...r})),e}}Eu.MalloyTranslator=rRe;class jG{constructor(e,n){this.translator=e,this.messages=n}logError(e,n,r){return this.messages.log((0,C7.makeLogMessage)(e,n,{severity:"error",...r})),e}syntaxError(e,n,r,i,s,o){const u={line:r-1,character:i},a=n?this.translator.rangeFromToken(n):{start:u,end:u};this.logError("syntax-error",{message:s},{at:{url:this.translator.sourceURL,range:a}})}}Eu.MalloyParserErrorHandler=jG;var mh={};Object.defineProperty(mh,"__esModule",{value:!0}),mh.exploreQueryWalkerBuilder=mh.ExploreQueryWalker=void 0;const iRe=zl;class UG{constructor(e){this.inDocument=!1,this.exploreClauseRefs=[],this.tokens=e}exploreQueryAtOffset(e){return this.exploreClauseRefs.find(n=>n.range[0]===void 0||n.range[1]===void 0?!1:n.range[0]<=e&&n.range[1]>=e)}filterAtOffset(e){const n=this.exploreQueryAtOffset(e);if(n)return n.filterRefs.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e)}hasFilterListAtOffset(e){const n=this.exploreQueryAtOffset(e);return n?!!n.filterLists.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e):!1}enterMalloyDocument(){this.inDocument=!0}}mh.ExploreQueryWalker=UG;function sRe(t,e){const n=new UG(t),r=n;return iRe.ParseTreeWalker.DEFAULT.walk(r,e),n}mh.exploreQueryWalkerBuilder=sRe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.exploreQueryWalkerBuilder=t.MalloyTranslator=void 0;var e=Eu;Object.defineProperty(t,"MalloyTranslator",{enumerable:!0,get:function(){return e.MalloyTranslator}});var n=mh;Object.defineProperty(t,"exploreQueryWalkerBuilder",{enumerable:!0,get:function(){return n.exploreQueryWalkerBuilder}})}(YO);var Ne={},LS={};Object.defineProperty(LS,"__esModule",{value:!0}),LS.MALLOY_VERSION=void 0,LS.MALLOY_VERSION="0.0.219",Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.CSVWriter=Ne.JSONWriter=Ne.DataWriter=Ne.DataRecord=Ne.DataArray=Ne.Result=Ne.ExploreMaterializer=Ne.PreparedResultMaterializer=Ne.QueryMaterializer=Ne.ModelMaterializer=Ne.SingleConnectionRuntime=Ne.ConnectionRuntime=Ne.Runtime=Ne.ExploreField=Ne.JoinRelationship=Ne.QueryField=Ne.Query=Ne.StringField=Ne.UnsupportedField=Ne.JSONField=Ne.BooleanField=Ne.NumberField=Ne.TimestampField=Ne.DateField=Ne.TimestampTimeframe=Ne.DateTimeframe=Ne.AtomicField=Ne.AtomicFieldType=Ne.Explore=Ne.SourceRelationship=Ne.FixedConnectionMap=Ne.InMemoryURLReader=Ne.EmptyURLReader=Ne.PreparedResult=Ne.DocumentCompletion=Ne.DocumentSymbol=Ne.DocumentPosition=Ne.DocumentRange=Ne.DocumentTablePath=Ne.Parse=Ne.PreparedQuery=Ne.Model=Ne.MalloyError=Ne.Malloy=void 0;const oRe=YO,Ar=Ds,qG=Fi,bn=iu,R7=Wx,uRe=LS;class Bn{static get version(){return uRe.MALLOY_VERSION}static _parse(e,n,r,i){n===void 0&&(n=new URL("internal://internal.malloy"));let s=n;i!=null&&i.importBaseURL&&(s=i==null?void 0:i.importBaseURL);const o=new oRe.MalloyTranslator(n.toString(),s.toString(),{urls:{[n.toString()]:e}},r);return i!=null&&i.testEnvironment&&(o.allDialectsEnabled=!0),new HG(o)}static parse({url:e,urlReader:n,source:r,eventStream:i,options:s}){if(r!==void 0)return Bn._parse(r,e,i,s);if(n===void 0)throw new Error("Internal Error: urlReader is required.");if(e===void 0)throw new Error("Internal Error: url is required if source not present.");return n.readURL(e).then(o=>Bn._parse(o,e,i,s))}static async compile({urlReader:e,connections:n,parse:r,model:i,refreshSchemaCache:s,noThrowOnError:o,eventStream:u,replaceMaterializedReferences:a,materializedTablePrefix:l}){var c,f,x,d;let p;s&&(p=typeof s=="number"?s:Date.now());const m=r._translator;for(;;){const g=m.translate(i==null?void 0:i._modelDef);if(g.final){if(g.translated)return new Wg(g.translated.modelDef,g.translated.queryList,g.problems||[],[...(c=i==null?void 0:i.fromSources)!==null&&c!==void 0?c:[],...(f=g.fromSources)!==null&&f!==void 0?f:[]],y=>m.referenceAt(y),y=>m.importAt(y));if(o){const y={name:"modelDidNotCompile",exports:[],contents:{}},E=(i==null?void 0:i._modelDef)||y;return new Wg(E,[],g.problems||[],[...(x=i==null?void 0:i.fromSources)!==null&&x!==void 0?x:[],...(d=g.fromSources)!==null&&d!==void 0?d:[]],v=>m.referenceAt(v),v=>m.importAt(v))}else{const y=g.problems||[],E=m.prettyErrors();throw new zG(`Error(s) compiling model:
|
|
1330
1330
|
${E}`,y)}}else{if(g.urls)for(const E of g.urls)try{if(E.startsWith("internal://"))throw new Error("In order to use relative imports, you must compile a file via a URL.");const v=await e.readURL(new URL(E)),A={[E]:v};m.update({urls:A})}catch(v){m.update({errors:{urls:{[E]:v.message}}})}const{modelAnnotation:y}=m.modelAnnotation(i==null?void 0:i._modelDef);if(g.tables){const E=new Map;for(const v in g.tables){const{connectionName:A,tablePath:_}=g.tables[v],S=E.get(A);S===void 0?E.set(A,{[v]:_}):S[v]=_}for(const[v,A]of E)try{const _=await n.lookupConnection(v),{schemas:S,errors:b}=await Bn.safelyFetchTableSchema(_,A,{refreshTimestamp:p,modelAnnotation:y});m.update({tables:S,errors:{tables:b}})}catch(_){const S={},b={};for(const C in A)b[C]=_.toString();m.update({tables:S,errors:{tables:b}})}}if(g.compileSQL){const E=g.compileSQL,v=E.connection;try{const A=await n.lookupConnection(v),_=Bn.compileSQLBlock(A.dialectName,g.partialModel,E,{replaceMaterializedReferences:a,materializedTablePrefix:l,eventStream:u}),S=await A.fetchSchemaForSQLStruct(_,{refreshTimestamp:p,modelAnnotation:y});S.error&&m.update({errors:{compileSQL:{[_.name]:S.error}}}),S.structDef&&m.update({compileSQL:{[_.name]:S.structDef}})}catch(A){const _={};_[E.name]=A.toString(),m.update({errors:{compileSQL:_}})}}}}}static async safelyFetchTableSchema(e,n,r){const i=await e.fetchSchemaForTables(n,r);for(const s of Object.keys(n))if(i.schemas[s]===void 0&&i.errors[s]===void 0)throw new Error(`Schema fetch error for ${e.name}, no response for ${s} from ${e.dialectName}`);return i}static compileSQLBlock(e,n,r,i){let s,o="",u=!1;for(const c of r.select)if((0,Ar.isSegmentSQL)(c))o+=c.sql,u=c.sql.match(/\(\s*$/)!==null;else{if(!s){if(!n)throw new Error("Internal error: Partial model missing when compiling SQL block");s=new Ar.QueryModel(n,i==null?void 0:i.eventStream)}const f=s.compileQuery(c,i,!1).sql;o+=u?f:`(${f})`,u=!1}const{name:a,connection:l}=r;return{type:"sql_select",name:a,connection:l,dialect:e,selectStr:o,fields:[]}}static async run({connections:e,preparedResult:n,sqlStruct:r,connection:i,options:s}){if(!i){if(!e)throw new Error("Internal Error: Connection or LookupConnection<Connection> must be provided.");const o=(r==null?void 0:r.connection)||(n==null?void 0:n.connectionName);i=await e.lookupConnection(o)}if(r){const o=await i.runSQL(r.selectStr);return new Xg({structs:[r],sql:r.selectStr,result:o.rows,totalRows:o.totalRows,runStats:o.runStats,lastStageName:r.name,malloy:"",connectionName:r.connection,sourceExplore:"",sourceFilters:[],profilingUrl:o.profilingUrl},{name:"empty_model",exports:[],contents:{}})}else if(n){const o=await i.runSQL(n.sql,s);return new Xg({...n._rawQuery,result:o.rows,totalRows:o.totalRows,runStats:o.runStats,profilingUrl:o.profilingUrl},n._modelDef)}else throw new Error("Internal error: sqlStruct or preparedResult must be provided.")}static async*runStream({connections:e,preparedResult:n,sqlStruct:r,connection:i,options:s}){if(r===void 0&&n===void 0)throw new Error("Internal error: sqlBlock or preparedResult must be provided.");const o=(r==null?void 0:r.connection)||(n==null?void 0:n.connectionName);if(i===void 0){if(e===void 0)throw new Error("Internal Error: Connection or LookupConnection<Connection> must be provided.");i=await e.lookupConnection(o)}if(!i.canStream())throw new Error(`Connection '${o}' cannot stream results.`);let u,a;if(r)a=new cs(r),u=r.selectStr;else if(n!==void 0)a=n.resultExplore,u=n.sql;else throw new Error("Internal error: sqlStruct or preparedResult must be provided.");let l=0;for await(const c of i.runSQLStream(u,s))yield new Of(c,l,a,void 0,void 0),l+=1}static async estimateQueryCost({connections:e,preparedResult:n,sqlStruct:r}){if(!e)throw new Error("Internal Error: Connection or LookupConnection<Connection> must be provided.");const i=(r==null?void 0:r.connection)||(n==null?void 0:n.connectionName),s=await e.lookupConnection(i);if(r)return await s.estimateQueryCost(r.selectStr);if(n)return await s.estimateQueryCost(n.sql);throw new Error("Internal error: sqlStruct or preparedResult must be provided.")}}Ne.Malloy=Bn;class zG extends Error{constructor(e,n=[]){super(e),this.problems=n}}Ne.MalloyError=zG;let Wg=class{constructor(e,n,r,i,s=()=>{},o=()=>{}){this.modelDef=e,this.queryList=n,this.problems=r,this.fromSources=i,this._referenceAt=s,this._importAt=o}tagParse(e){return bn.Tag.annotationToTag(this.modelDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.modelDef.annotation,e)}getReference(e){return this._referenceAt(e)}getImport(e){return this._importAt(e)}getPreparedQueryByName(e){const n=this.modelDef.contents[e];if((n==null?void 0:n.type)==="query")return new yh(n,this.modelDef,this.problems,e);throw new Error("Given query name does not refer to a named query.")}getPreparedQueryByIndex(e){if(e<0)throw new Error(`Invalid index ${e}.`);if(e>=this.queryList.length)throw new Error(`Query index ${e} is out of bounds.`);return new yh(this.queryList[e],this.modelDef,this.problems)}get preparedQuery(){return this.getPreparedQuery()}getPreparedQuery(){if(this.queryList.length===0)throw new Error("Model has no queries.");return new yh(this.queryList[this.queryList.length-1],this.modelDef,this.problems)}getExploreByName(e){const n=this.modelDef.contents[e];if((0,Ar.isSourceDef)(n))return new cs(n);throw new Error("'name' is not an explore")}get explores(){return Object.values(this.modelDef.contents).filter(Ar.isSourceDef).map(e=>new cs(e))}get namedQueries(){const e=n=>n.type==="query";return Object.values(this.modelDef.contents).filter(e)}get exportedExplores(){return this.explores.filter(e=>this.modelDef.exports.includes(e.name))}get _modelDef(){return this.modelDef}};Ne.Model=Wg;class yh{constructor(e,n,r,i){this.problems=r,this.name=i,this._query=e,this._modelDef=n}tagParse(e){const n=bn.Tag.annotationToTag(this._modelDef.annotation).tag;return e=bn.Tag.addModelScope(e,n),bn.Tag.annotationToTag(this._query.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this._query.annotation,e)}get preparedResult(){return this.getPreparedResult()}getPreparedResult(e){const r=new Ar.QueryModel(this._modelDef,e==null?void 0:e.eventStream).compileQuery(this._query,e);return new Vg({...r,queryName:this.name||r.queryName},this._modelDef)}get dialect(){const e=this._query.structRef,n=typeof e=="string"?this._modelDef.contents[e]:e;if(!(0,Ar.isSourceDef)(n))throw new Error("Invalid source for query");return n.dialect}getFlattenedQuery(e){return this}}Ne.PreparedQuery=yh;class HG{constructor(e){this.translator=e}get symbols(){return(this.translator.metadata().symbols||[]).map(e=>new IS(e))}get tablePathInfo(){var e;return((e=this.translator.tablePathInfo().pathInfo)!==null&&e!==void 0?e:[]).map(r=>new QG(r))}get _translator(){return this.translator}completions(e){return(this.translator.completions(e).completions||[]).map(n=>new GG(n))}helpContext(e){return this.translator.helpContext(e).helpContext}}Ne.Parse=HG;class QG{constructor(e){this._range=Eh.fromJSON(e.range),this._connectionId=e.connectionId,this._tablePath=e.tablePath}get range(){return this._range}get connectionId(){return this._connectionId}get tablePath(){return this._tablePath}}Ne.DocumentTablePath=QG;class Eh{constructor(e,n){this._start=e,this._end=n}get start(){return this._start}get end(){return this._end}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}static fromJSON(e){return new Eh(new D7(e.start.line,e.start.character),new D7(e.end.line,e.end.character))}}Ne.DocumentRange=Eh;class D7{constructor(e,n){this._line=e,this._character=n}get line(){return this._line}get character(){return this._character}toJSON(){return{line:this.line,character:this.character}}}Ne.DocumentPosition=D7;class IS{constructor(e){this._range=Eh.fromJSON(e.range),this._lensRange=e.lensRange?Eh.fromJSON(e.lensRange):void 0,this._type=e.type,this._name=e.name,this._children=e.children.map(n=>new IS(n))}get range(){return this._range}get lensRange(){var e;return(e=this._lensRange)!==null&&e!==void 0?e:this._range}get type(){return this._type}get name(){return this._name}get children(){return this._children}}Ne.DocumentSymbol=IS;class GG{constructor(e){this.type=e.type,this.text=e.text}}Ne.DocumentCompletion=GG;class Vg{constructor(e,n){this.modelDef=n,this.inner=e}static fromJson({query:e,modelDef:n}){if(!e||!n)throw new Error("Missing required properties in JSON data");return new Vg(e,n)}tagParse(e){const n=bn.Tag.annotationToTag(this.modelDef.annotation).tag;return e=bn.Tag.addModelScope(e,n),bn.Tag.annotationToTag(this.inner.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.inner.annotation,e)}get annotation(){return this.inner.annotation}get modelAnnotation(){return this.modelDef.annotation}get modelTag(){return bn.Tag.annotationToTag(this.modelDef.annotation).tag}get connectionName(){return this.inner.connectionName}get _rawQuery(){return this.inner}get _modelDef(){return this.modelDef}get sql(){return this.inner.sql}get dependenciesToMaterialize(){return this.inner.dependenciesToMaterialize}get materialization(){return this.inner.materialization}get resultExplore(){if(this.inner.structs.length===0)throw new Error("Malformed query result.");const e=this.inner.structs[this.inner.structs.length-1],n={...e,annotation:this.inner.annotation,name:this.inner.queryName||e.name};try{return new cs(n,this.sourceExplore)}catch{return new cs(n)}}get sourceExplore(){const e=this.inner.sourceExplore,n=this.modelDef.contents[e];if(n===void 0)throw new Error("Malformed query result.");if((0,Ar.isSourceDef)(n))return new cs(n);throw new Error(`'${e} is not an explore`)}get _sourceExploreName(){return this.inner.sourceExplore}get _sourceFilters(){return this.inner.sourceFilters||[]}}Ne.PreparedResult=Vg;class WG{async readURL(e){throw new Error("No files.")}}Ne.EmptyURLReader=WG;class aRe{constructor(e){this.files=e}async readURL(e){const n=this.files.get(e.toString());if(n!==void 0)return Promise.resolve(n);throw new Error(`File not found '${e}'`)}}Ne.InMemoryURLReader=aRe;class Yg{constructor(e,n){this.connections=e,this.defaultConnectionName=n}async getConnection(e){if(e===void 0)if(this.defaultConnectionName!==void 0)e=this.defaultConnectionName;else throw new Error("No default connection.");const n=this.connections.get(e);if(n!==void 0)return Promise.resolve(n);throw new Error(`No connection found with name ${e}.`)}listConnections(){return Array.from(this.connections.values())}async lookupConnection(e){return this.getConnection(e)}static fromArray(e){return new Yg(new Map(e.map(n=>[n.name,n])))}}Ne.FixedConnectionMap=Yg;var VG;(function(t){t.Nested="nested",t.BaseTable="base_table",t.Cross="cross",t.One="one",t.Many="many",t.Inline="inline"})(VG||(Ne.SourceRelationship=VG={}));class w7{constructor(e,n,r){this._name=e,this._parent=n,this._source=r}get source(){return this.source}get name(){return this._name}get sourceClasses(){const e=[];return this.source&&e.push(this.source.name),e.push(this.name),e}get fieldPath(){const e=[this.name];let n=this._parent;for(;n;)e.unshift(n.name),n=n._parent;return e}hasParentExplore(){return this._parent!==void 0}isExplore(){return this instanceof cs}isQuery(){return this instanceof k7}}class cs extends w7{constructor(e,n,r){super(e.as||e.name,n,r),this._structDef=e,this._parentExplore=n,this.sourceExplore=r}get source(){return this.sourceExplore}isIntrinsic(){return(0,Ar.isAtomicFieldType)(this._structDef.type)?!("e"in this._structDef):!1}isExploreField(){return!1}tagParse(e){return bn.Tag.annotationToTag(this._structDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this._structDef.annotation,e)}get modelTag(){return this.parsedModelTag||(this.parsedModelTag=bn.Tag.annotationToTag(this._structDef.modelAnnotation).tag),this.parsedModelTag}get name(){return this.structDef.as||this.structDef.name}getQueryByName(e){const n=this.sourceStructDef;if(!n)throw new Error(`Cannot get query by name from a struct of type ${this.structDef.type}`);const r={type:"query",structRef:n,pipeline:[{type:"reduce",queryFields:[{type:"fieldref",path:[e]}]}]};return new yh(r,this.modelDef,[],e)}get modelDef(){return{name:"generated_model",exports:[],contents:{[this.structDef.name]:this.structDef}}}getSingleExploreModel(){return new Wg(this.modelDef,[],[],[])}get fieldMap(){var e;if(this._fieldMap===void 0){const n=((e=this.source)===null||e===void 0?void 0:e.fieldMap)||new Map;this._fieldMap=new Map(this.structDef.fields.map(r=>{const i=r.as||r.name,s=n.get(r.name);if((0,Ar.isJoined)(r))return[i,new P7(r,this,s)];if(r.type==="turtle")return[i,new k7(r,this,s)];if(r.type==="string")return[i,new B7(r,this,s)];if(r.type==="number")return[i,new $S(r,this,s)];if(r.type==="date")return r.timeframe&&["day_of_month","day_of_week","day_of_year"].includes(r.timeframe)?[i,new $S({...r,type:"number"},this,s)]:[i,new N7(r,this,s)];if(r.type==="timestamp")return[i,new F7(r,this,s)];if(r.type==="boolean")return[i,new L7(r,this,s)];if(r.type==="json")return[i,new I7(r,this,s)];if(r.type==="sql native")return[i,new $7(r,this,s)]}))}return this._fieldMap}get allFields(){return[...this.fieldMap.values()]}get allFieldsWithOrder(){var e,n,r;if(!this._allFieldsWithOrder){const i=[...((r=(n=(e=this.sourceStructDef)===null||e===void 0?void 0:e.resultMetadata)===null||n===void 0?void 0:n.orderBy)===null||r===void 0?void 0:r.map(o=>{if(typeof o.field=="string")return{field:this.fieldMap.get(o.field),dir:o.dir};throw new Error("Does not support mapping order by from number.")}))||[]],s=new Set(i.map(o=>o.field.name));this._allFieldsWithOrder=[...i,...this.allFields.filter(o=>!s.has(o.name)).map(o=>({field:o,dir:"asc"}))]}return this._allFieldsWithOrder}get intrinsicFields(){return[...this.fieldMap.values()].filter(e=>e.isIntrinsic())}get dimensions(){return[...this.allFieldsWithOrder].filter(e=>e.field.isAtomicField()&&e.field.sourceWasDimension())}getFieldByName(e){const n=this.fieldMap.get(e);if(n===void 0)throw new Error(`No such field ${e}.`);return n}getFieldByNameIfExists(e){return this.fieldMap.get(e)}get primaryKey(){var e;return(e=this.sourceStructDef)===null||e===void 0?void 0:e.primaryKey}get parentExplore(){return this._parentExplore}hasParentExplore(){return this instanceof P7}get filters(){var e;return(0,Ar.isSourceDef)(this.structDef)?((e=this.structDef.resultMetadata)===null||e===void 0?void 0:e.filterList)||[]:[]}get limit(){var e,n;return(n=(e=this.sourceStructDef)===null||e===void 0?void 0:e.resultMetadata)===null||n===void 0?void 0:n.limit}get structDef(){return this._structDef}get queryTimezone(){var e;return(e=this.sourceStructDef)===null||e===void 0?void 0:e.queryTimezone}get sourceStructDef(){if((0,Ar.isSourceDef)(this.structDef))return this.structDef}toJSON(){var e,n;return{_structDef:this._structDef,sourceExplore:(e=this.sourceExplore)===null||e===void 0?void 0:e.toJSON(),_parentExplore:(n=this._parentExplore)===null||n===void 0?void 0:n.toJSON()}}static fromJSON(e){const n=e._parentExplore!==void 0?cs.fromJSON(e._parentExplore):void 0,r=e.sourceExplore!==void 0?cs.fromJSON(e.sourceExplore):void 0;return new cs(e._structDef,n,r)}get location(){return this.structDef.location}}Ne.Explore=cs;var Ru;(function(t){t.String="string",t.Number="number",t.Boolean="boolean",t.Date="date",t.Timestamp="timestamp",t.Json="json",t.NativeUnsupported="sql native",t.Error="error"})(Ru||(Ne.AtomicFieldType=Ru={}));class C0 extends w7{constructor(e,n,r){super(e.as||e.name,n,r),this.fieldTypeDef=e,this.parent=n}get type(){switch(this.fieldTypeDef.type){case"string":return Ru.String;case"boolean":return Ru.Boolean;case"date":return Ru.Date;case"timestamp":return Ru.Timestamp;case"number":return Ru.Number;case"json":return Ru.Json;case"sql native":return Ru.NativeUnsupported;case"error":return Ru.Error;case"record":case"array":throw new Error(`MTOY TODO IMPLEMENT Atomic ${this.fieldTypeDef.type}`);default:{const e=this.fieldTypeDef;throw new Error(`Can't make an atomic field from ${e}`)}}}tagParse(e){return e=bn.Tag.addModelScope(e,this.parent.modelTag),bn.Tag.annotationToTag(this.fieldTypeDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.fieldTypeDef.annotation,e)}isIntrinsic(){return(0,Ar.fieldIsIntrinsic)(this.fieldTypeDef)}isQueryField(){return!1}isExploreField(){return!1}isAtomicField(){return!0}isCalculation(){return(0,Ar.expressionIsCalculation)(this.fieldTypeDef.expressionType)}get sourceField(){throw new Error}get sourceClasses(){const e=this.fieldTypeDef.name||this.fieldTypeDef.as;return e?[e]:[]}get referenceId(){var e;return(e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.referenceId}sourceWasMeasure(){var e;return((e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"}sourceWasMeasureLike(){var e,n;return((e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"||((n=this.fieldTypeDef.resultMetadata)===null||n===void 0?void 0:n.fieldKind)==="struct"}sourceWasDimension(){var e;return((e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="dimension"}hasParentExplore(){return!0}isString(){return this instanceof B7}isNumber(){return this instanceof $S}isDate(){return this instanceof N7}isBoolean(){return this instanceof L7}isJSON(){return this instanceof I7}isTimestamp(){return this instanceof F7}isUnsupported(){return this instanceof $7}get parentExplore(){return this.parent}get expression(){const e=".",n=this.fieldTypeDef.resultMetadata;return(n==null?void 0:n.sourceExpression)||(n!=null&&n.sourceField.includes(e)?n==null?void 0:n.sourceField:this.name)}get location(){return this.fieldTypeDef.location}}Ne.AtomicField=C0;var Tf;(function(t){t.Day="day",t.Week="week",t.Month="month",t.Quarter="quarter",t.Year="year"})(Tf||(Ne.DateTimeframe=Tf={}));var Du;(function(t){t.Day="day",t.Week="week",t.Month="month",t.Quarter="quarter",t.Year="year",t.Second="second",t.Hour="hour",t.Minute="minute"})(Du||(Ne.TimestampTimeframe=Du={}));class N7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldDateDef=e}get timeframe(){if(this.fieldDateDef.timeframe!==void 0)switch(this.fieldDateDef.timeframe){case"day":return Tf.Day;case"week":return Tf.Week;case"month":return Tf.Month;case"quarter":return Tf.Quarter;case"year":return Tf.Year}}}Ne.DateField=N7;class F7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldTimestampDef=e}get timeframe(){if(this.fieldTimestampDef.timeframe!==void 0)switch(this.fieldTimestampDef.timeframe){case"day":return Du.Day;case"week":return Du.Week;case"month":return Du.Month;case"quarter":return Du.Quarter;case"year":return Du.Year;case"second":return Du.Second;case"hour":return Du.Hour;case"minute":return Du.Minute}}}Ne.TimestampField=F7;class $S extends C0{constructor(e,n,r){super(e,n,r),this.fieldNumberDef=e}}Ne.NumberField=$S;class L7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldBooleanDef=e}}Ne.BooleanField=L7;class I7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldJSONDef=e}}Ne.JSONField=I7;class $7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldUnsupportedDef=e}get rawType(){return this.fieldUnsupportedDef.rawType}}Ne.UnsupportedField=$7;class B7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldStringDef=e}}Ne.StringField=B7;class YG extends w7{constructor(e,n,r){super(e.as||e.name,n,r),this.turtleDef=e}get source(){return this.sourceQuery}isIntrinsic(){return!1}get location(){return this.turtleDef.location}}Ne.Query=YG;class k7 extends YG{constructor(e,n,r){super(e,n,r),this.parent=n}tagParse(e){return e=bn.Tag.addModelScope(e,this.parent.modelTag),bn.Tag.annotationToTag(this.turtleDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.turtleDef.annotation,e)}isQueryField(){return!0}isExploreField(){return!1}isAtomicField(){return!1}get sourceClasses(){const e=this.turtleDef.name||this.turtleDef.as;return e?[e]:[]}hasParentExplore(){return!0}get parentExplore(){return this.parent}get expression(){return this.name}}Ne.QueryField=k7;var vh;(function(t){t.OneToOne="one_to_one",t.OneToMany="one_to_many",t.ManyToOne="many_to_one"})(vh||(Ne.JoinRelationship=vh={}));class P7 extends cs{constructor(e,n,r){super(e,n,r),this._parentExplore=n}get joinRelationship(){if((0,Ar.isJoined)(this.structDef))switch(this.structDef.join){case"one":return vh.OneToOne;case"many":case"cross":return vh.ManyToOne}throw new Error("A source field must have a join relationship.")}get isRecord(){return this.joinRelationship===vh.OneToOne}get isArray(){return this.joinRelationship!==vh.OneToOne}tagParse(e){return e=bn.Tag.addModelScope(e,this._parentExplore.modelTag),bn.Tag.annotationToTag(this._structDef.annotation,e)}isQueryField(){return!1}isExploreField(){return!0}isAtomicField(){return!1}get parentExplore(){return this._parentExplore}get sourceClasses(){const e=this.structDef.name||this.structDef.as;return e?[e]:[]}}Ne.ExploreField=P7;class M7{constructor(...e){this.isTestRuntime=!1;let n,r,i;for(const s of e)s!==void 0&&(aW(s)?n=s:dRe(s)?r=s:lW(s)?i=s:r={lookupConnection:()=>Promise.resolve(s)});if(n===void 0&&(n=new WG),r===void 0)throw new Error("A LookupConnection<Connection> or Connection is required.");this._urlReader=n,this._connections=r,this._eventStream=i}get urlReader(){return this._urlReader}get connections(){return this._connections}get eventStream(){return this._eventStream}loadModel(e,n){const{refreshSchemaCache:r,noThrowOnError:i}=n||{};return this.isTestRuntime&&(n===void 0?n={testEnvironment:!0}:n={...n,testEnvironment:!0}),new Kg(this,async()=>{const s=e instanceof URL?await Bn.parse({url:e,urlReader:this.urlReader,eventStream:this.eventStream,options:n}):Bn.parse({source:e,eventStream:this.eventStream,options:n});return Bn.compile({urlReader:this.urlReader,connections:this.connections,parse:s,refreshSchemaCache:r,noThrowOnError:i,eventStream:this.eventStream,replaceMaterializedReferences:n==null?void 0:n.replaceMaterializedReferences,materializedTablePrefix:n==null?void 0:n.materializedTablePrefix})},n)}_loadModelFromModelDef(e,n){return new Kg(this,async()=>new Wg(e,[],[],[]),n)}loadQuery(e,n){return this.loadModel(e,n).loadFinalQuery()}loadQueryByIndex(e,n,r){return this.loadModel(e,r).loadQueryByIndex(n,r)}loadQueryByName(e,n,r){return this.loadModel(e,r).loadQueryByName(n,r)}getModel(e,n){return this.loadModel(e,n).getModel()}getQuery(e,n){return this.loadQuery(e,n).getPreparedQuery()}getQueryByIndex(e,n,r){return this.loadQueryByIndex(e,n,r).getPreparedQuery()}getQueryByName(e,n,r){return this.loadQueryByName(e,n,r).getPreparedQuery()}}Ne.Runtime=M7;class lRe extends M7{constructor(e,n){if(n===void 0){const r=e;super(Yg.fromArray(r)),this.rawConnections=r}else{const r=n;super(e,Yg.fromArray(r)),this.rawConnections=r}}}Ne.ConnectionRuntime=lRe;class cRe extends M7{constructor(...e){let n,r,i;for(const s of e)aW(s)&&(n=s),hRe(s)&&(r=s),lW(s)&&(i=s);if(r===void 0)throw new Error("Expected connection to be passed into SingleConnectionRuntime");super(n,r,i),this.connection=r}get supportsNesting(){return(0,R7.getDialect)(this.connection.dialectName).supportsNesting}quote(e){return(0,R7.getDialect)(this.connection.dialectName).sqlMaybeQuoteIdentifier(e)}get dialect(){return(0,R7.getDialect)(this.connection.dialectName)}getQuoter(){return e=>this.quote(e.toString())}}Ne.SingleConnectionRuntime=cRe;class BS{constructor(e,n){this.runtime=e,this._materialize=n}materialize(){return this.materialized===void 0?this.rematerialize():this.materialized}rematerialize(){return this.materialized=this._materialize(),this.materialized}makeQueryMaterializer(e,n){return new KG(this.runtime,e,n)}makeExploreMaterializer(e,n){return new JG(this.runtime,e,n)}makePreparedResultMaterializer(e){return new XG(this.runtime,e)}}class Kg extends BS{constructor(e,n,r){super(e,n),this.runtime=e,this.compileQueryOptions=r}loadFinalQuery(e){return this.makeQueryMaterializer(async()=>(await this.materialize()).getPreparedQuery(),{...this.compileQueryOptions,...e})}loadQueryByIndex(e,n){return this.makeQueryMaterializer(async()=>(await this.materialize()).getPreparedQueryByIndex(e),{...this.compileQueryOptions,...n})}loadQueryByName(e,n){return this.makeQueryMaterializer(async()=>(await this.materialize()).getPreparedQueryByName(e),{...this.compileQueryOptions,...n})}loadQuery(e,n){const{refreshSchemaCache:r,noThrowOnError:i}=n||{};return this.makeQueryMaterializer(async()=>{const s=this.runtime.urlReader,o=this.runtime.connections;this.runtime.isTestRuntime&&(n===void 0?n={testEnvironment:!0}:n={...n,testEnvironment:!0});const u=e instanceof URL?await Bn.parse({url:e,urlReader:s,options:n}):Bn.parse({source:e,options:n}),a=await this.getModel();return(await Bn.compile({urlReader:s,connections:o,parse:u,model:a,refreshSchemaCache:r,noThrowOnError:i,...this.compileQueryOptions})).preparedQuery})}extendModel(e,n){return this.runtime.isTestRuntime&&(n===void 0?n={testEnvironment:!0}:n={...n,testEnvironment:!0}),new Kg(this.runtime,async()=>{const r=this.runtime.urlReader,i=this.runtime.connections,s=e instanceof URL?await Bn.parse({url:e,urlReader:r,options:n}):Bn.parse({source:e,options:n}),o=await this.getModel();return await Bn.compile({urlReader:r,connections:i,parse:s,model:o,refreshSchemaCache:n==null?void 0:n.refreshSchemaCache,noThrowOnError:n==null?void 0:n.noThrowOnError,...this.compileQueryOptions})},n)}async search(e,n,r=1e3,i=void 0,s){const o=await this.materialize(),u=new Ar.QueryModel(o._modelDef,s),a=o.getExploreByName(e).structDef;if(!(0,Ar.isSourceDef)(a))throw new Error("Source to be searched was unexpectedly, not a source");const l=a.connection,c=await this.runtime.connections.lookupConnection(l);return await u.searchIndex(c,e,n,r,i)}async searchValueMap(e,n=10,r){const s=(await this.materialize()).getExploreByName(e);if(!(0,Ar.isSourceDef)(s.structDef))throw new Error("Source to be searched was unexpectedly, not a source");let o="{index: *}";s.getFieldByNameIfExists("search_index")&&(o="search_index");const u=`
|
|
1331
1331
|
run: ${e}
|
|
1332
1332
|
-> ${o}
|
|
@@ -53502,7 +53502,7 @@ ch.exploreQueryWalkerBuilder = uRe;
|
|
|
53502
53502
|
var Ne = {}, $5 = {};
|
|
53503
53503
|
Object.defineProperty($5, "__esModule", { value: !0 });
|
|
53504
53504
|
$5.MALLOY_VERSION = void 0;
|
|
53505
|
-
$5.MALLOY_VERSION = "0.0.
|
|
53505
|
+
$5.MALLOY_VERSION = "0.0.219";
|
|
53506
53506
|
Object.defineProperty(Ne, "__esModule", { value: !0 });
|
|
53507
53507
|
Ne.CSVWriter = Ne.JSONWriter = Ne.DataWriter = Ne.DataRecord = Ne.DataArray = Ne.Result = Ne.ExploreMaterializer = Ne.PreparedResultMaterializer = Ne.QueryMaterializer = Ne.ModelMaterializer = Ne.SingleConnectionRuntime = Ne.ConnectionRuntime = Ne.Runtime = Ne.ExploreField = Ne.JoinRelationship = Ne.QueryField = Ne.Query = Ne.StringField = Ne.UnsupportedField = Ne.JSONField = Ne.BooleanField = Ne.NumberField = Ne.TimestampField = Ne.DateField = Ne.TimestampTimeframe = Ne.DateTimeframe = Ne.AtomicField = Ne.AtomicFieldType = Ne.Explore = Ne.SourceRelationship = Ne.FixedConnectionMap = Ne.InMemoryURLReader = Ne.EmptyURLReader = Ne.PreparedResult = Ne.DocumentCompletion = Ne.DocumentSymbol = Ne.DocumentPosition = Ne.DocumentRange = Ne.DocumentTablePath = Ne.Parse = Ne.PreparedQuery = Ne.Model = Ne.MalloyError = Ne.Malloy = void 0;
|
|
53508
53508
|
const aRe = P8, yr = no, Tj = Yi, Sn = Hu, aO = Qh, lRe = $5;
|
|
@@ -1326,7 +1326,7 @@ QUERY: ${(0,jz.inspect)(n,{breakLength:72,depth:1/0})}`)}return Uz.ErrorFactory.
|
|
|
1326
1326
|
| ${l}`,u>0&&(i=i+`
|
|
1327
1327
|
| ${" ".repeat(u)}^`)}else i=`line ${o+1}: char ${u}: ${r.message}`}n!==s&&(i=`FILE: ${s}
|
|
1328
1328
|
`+i,n=s),e!==""?e=`${e}
|
|
1329
|
-
${i}`:e=i}return e}childRequest(e){var n;const r=decodeURI(new URL(e,this.sourceURL).toString()),i=(n=this.childTranslators.get(r))===null||n===void 0?void 0:n.translate();if(i!=null&&i.compileSQL)return{compileSQL:i.compileSQL,partialModel:i.partialModel}}getChildExports(e){const n={},r=decodeURI(new URL(e,this.sourceURL).toString()),i=this.childTranslators.get(r);if(i&&i.translate().translated)for(const o of i.modelDef.exports){const u=i.modelDef.contents[o];((0,$Oe.isSourceDef)(u)||u.type==="query")&&(n[o]=u)}return n}translate(e){if(this.finalAnswer)return this.finalAnswer;const n=this.translateStep.step(this,e);return n.final&&(this.finalAnswer=n),n}importAt(e){for(let n=0;n<this.imports.length;n++){const r=this.imports[n];if((0,HOe.locationContainsPosition)(r.location,e))return r}}metadata(){return this.metadataStep.step(this)}modelAnnotation(e){return this.modelAnnotationStep.step(this,e)}tablePathInfo(){return this.tablePathInfoStep.step(this)}completions(e){return this.completionsStep.step(this,e)}helpContext(e){return this.helpContextStep.step(this,e)}defaultLocation(){return{url:this.sourceURL,range:{start:{line:0,character:0},end:{line:0,character:0}}}}rangeFromContext(e){return this.rangeFromTokens(e.start,e.stop||e.start)}rangeFromTokens(e,n){const r={line:e.line-1,character:e.charPositionInLine};if(this.parseStep.sourceInfo&&n.stopIndex!==-1){const i=this.parseStep.sourceInfo.lines.length-1;for(let s=e.line-1;s<=i;s++){const o=this.parseStep.sourceInfo.at[s];if(n.stopIndex>=o.begin&&n.stopIndex<o.end)return{start:r,end:{line:s,character:n.stopIndex-o.begin+1}}}return{start:r,end:{line:i,character:this.parseStep.sourceInfo.lines[i].length}}}return{start:r,end:r}}rangeFromToken(e){return this.rangeFromTokens(e,e)}firstReferenceToDialect(e){return this.dialectAlreadyChecked[e]?!1:(this.dialectAlreadyChecked[e]=!0,!0)}experimentalDialectEnabled(e){if(this.allDialectsEnabled)return!0;const n=this.compilerFlags.tag("experimental");return n!==void 0&&(n.bare()||n.has("dialect",e))}}Eu.MalloyTranslation=T7;class PG extends T7{constructor(e,n){super(e),this.root=n}}Eu.MalloyChildTranslator=PG;class rRe extends T7{constructor(e,n=null,r=null,i=null){super(e,n),this.eventStream=i,this.schemaZone=new C7.Zone,this.importZone=new C7.Zone,this.sqlQueryZone=new C7.Zone,this.root=this,this.logger=new b7.BaseMessageLogger(i),r&&this.update(r)}update(e){var n,r,i;this.schemaZone.updateFrom(e.tables,(n=e.errors)===null||n===void 0?void 0:n.tables),this.importZone.updateFrom(e.urls,(r=e.errors)===null||r===void 0?void 0:r.urls),this.sqlQueryZone.updateFrom(e.compileSQL,(i=e.errors)===null||i===void 0?void 0:i.compileSQL)}logError(e,n,r){return this.logger.log((0,b7.makeLogMessage)(e,n,{severity:"error",...r})),e}}Eu.MalloyTranslator=rRe;class MG{constructor(e,n){this.translator=e,this.messages=n}logError(e,n,r){return this.messages.log((0,b7.makeLogMessage)(e,n,{severity:"error",...r})),e}syntaxError(e,n,r,i,s,o){const u={line:r-1,character:i},a=n?this.translator.rangeFromToken(n):{start:u,end:u};this.logError("syntax-error",{message:s},{at:{url:this.translator.sourceURL,range:a}})}}Eu.MalloyParserErrorHandler=MG;var mh={};Object.defineProperty(mh,"__esModule",{value:!0}),mh.exploreQueryWalkerBuilder=mh.ExploreQueryWalker=void 0;const iRe=zl;class jG{constructor(e){this.inDocument=!1,this.exploreClauseRefs=[],this.tokens=e}exploreQueryAtOffset(e){return this.exploreClauseRefs.find(n=>n.range[0]===void 0||n.range[1]===void 0?!1:n.range[0]<=e&&n.range[1]>=e)}filterAtOffset(e){const n=this.exploreQueryAtOffset(e);if(n)return n.filterRefs.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e)}hasFilterListAtOffset(e){const n=this.exploreQueryAtOffset(e);return n?!!n.filterLists.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e):!1}enterMalloyDocument(){this.inDocument=!0}}mh.ExploreQueryWalker=jG;function sRe(t,e){const n=new jG(t),r=n;return iRe.ParseTreeWalker.DEFAULT.walk(r,e),n}mh.exploreQueryWalkerBuilder=sRe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.exploreQueryWalkerBuilder=t.MalloyTranslator=void 0;var e=Eu;Object.defineProperty(t,"MalloyTranslator",{enumerable:!0,get:function(){return e.MalloyTranslator}});var n=mh;Object.defineProperty(t,"exploreQueryWalkerBuilder",{enumerable:!0,get:function(){return n.exploreQueryWalkerBuilder}})}(VO);var Ne={},FS={};Object.defineProperty(FS,"__esModule",{value:!0}),FS.MALLOY_VERSION=void 0,FS.MALLOY_VERSION="0.0.
|
|
1329
|
+
${i}`:e=i}return e}childRequest(e){var n;const r=decodeURI(new URL(e,this.sourceURL).toString()),i=(n=this.childTranslators.get(r))===null||n===void 0?void 0:n.translate();if(i!=null&&i.compileSQL)return{compileSQL:i.compileSQL,partialModel:i.partialModel}}getChildExports(e){const n={},r=decodeURI(new URL(e,this.sourceURL).toString()),i=this.childTranslators.get(r);if(i&&i.translate().translated)for(const o of i.modelDef.exports){const u=i.modelDef.contents[o];((0,$Oe.isSourceDef)(u)||u.type==="query")&&(n[o]=u)}return n}translate(e){if(this.finalAnswer)return this.finalAnswer;const n=this.translateStep.step(this,e);return n.final&&(this.finalAnswer=n),n}importAt(e){for(let n=0;n<this.imports.length;n++){const r=this.imports[n];if((0,HOe.locationContainsPosition)(r.location,e))return r}}metadata(){return this.metadataStep.step(this)}modelAnnotation(e){return this.modelAnnotationStep.step(this,e)}tablePathInfo(){return this.tablePathInfoStep.step(this)}completions(e){return this.completionsStep.step(this,e)}helpContext(e){return this.helpContextStep.step(this,e)}defaultLocation(){return{url:this.sourceURL,range:{start:{line:0,character:0},end:{line:0,character:0}}}}rangeFromContext(e){return this.rangeFromTokens(e.start,e.stop||e.start)}rangeFromTokens(e,n){const r={line:e.line-1,character:e.charPositionInLine};if(this.parseStep.sourceInfo&&n.stopIndex!==-1){const i=this.parseStep.sourceInfo.lines.length-1;for(let s=e.line-1;s<=i;s++){const o=this.parseStep.sourceInfo.at[s];if(n.stopIndex>=o.begin&&n.stopIndex<o.end)return{start:r,end:{line:s,character:n.stopIndex-o.begin+1}}}return{start:r,end:{line:i,character:this.parseStep.sourceInfo.lines[i].length}}}return{start:r,end:r}}rangeFromToken(e){return this.rangeFromTokens(e,e)}firstReferenceToDialect(e){return this.dialectAlreadyChecked[e]?!1:(this.dialectAlreadyChecked[e]=!0,!0)}experimentalDialectEnabled(e){if(this.allDialectsEnabled)return!0;const n=this.compilerFlags.tag("experimental");return n!==void 0&&(n.bare()||n.has("dialect",e))}}Eu.MalloyTranslation=T7;class PG extends T7{constructor(e,n){super(e),this.root=n}}Eu.MalloyChildTranslator=PG;class rRe extends T7{constructor(e,n=null,r=null,i=null){super(e,n),this.eventStream=i,this.schemaZone=new C7.Zone,this.importZone=new C7.Zone,this.sqlQueryZone=new C7.Zone,this.root=this,this.logger=new b7.BaseMessageLogger(i),r&&this.update(r)}update(e){var n,r,i;this.schemaZone.updateFrom(e.tables,(n=e.errors)===null||n===void 0?void 0:n.tables),this.importZone.updateFrom(e.urls,(r=e.errors)===null||r===void 0?void 0:r.urls),this.sqlQueryZone.updateFrom(e.compileSQL,(i=e.errors)===null||i===void 0?void 0:i.compileSQL)}logError(e,n,r){return this.logger.log((0,b7.makeLogMessage)(e,n,{severity:"error",...r})),e}}Eu.MalloyTranslator=rRe;class MG{constructor(e,n){this.translator=e,this.messages=n}logError(e,n,r){return this.messages.log((0,b7.makeLogMessage)(e,n,{severity:"error",...r})),e}syntaxError(e,n,r,i,s,o){const u={line:r-1,character:i},a=n?this.translator.rangeFromToken(n):{start:u,end:u};this.logError("syntax-error",{message:s},{at:{url:this.translator.sourceURL,range:a}})}}Eu.MalloyParserErrorHandler=MG;var mh={};Object.defineProperty(mh,"__esModule",{value:!0}),mh.exploreQueryWalkerBuilder=mh.ExploreQueryWalker=void 0;const iRe=zl;class jG{constructor(e){this.inDocument=!1,this.exploreClauseRefs=[],this.tokens=e}exploreQueryAtOffset(e){return this.exploreClauseRefs.find(n=>n.range[0]===void 0||n.range[1]===void 0?!1:n.range[0]<=e&&n.range[1]>=e)}filterAtOffset(e){const n=this.exploreQueryAtOffset(e);if(n)return n.filterRefs.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e)}hasFilterListAtOffset(e){const n=this.exploreQueryAtOffset(e);return n?!!n.filterLists.find(r=>r.range[0]===void 0||r.range[1]===void 0?!1:r.range[0]<=e&&r.range[1]>=e):!1}enterMalloyDocument(){this.inDocument=!0}}mh.ExploreQueryWalker=jG;function sRe(t,e){const n=new jG(t),r=n;return iRe.ParseTreeWalker.DEFAULT.walk(r,e),n}mh.exploreQueryWalkerBuilder=sRe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.exploreQueryWalkerBuilder=t.MalloyTranslator=void 0;var e=Eu;Object.defineProperty(t,"MalloyTranslator",{enumerable:!0,get:function(){return e.MalloyTranslator}});var n=mh;Object.defineProperty(t,"exploreQueryWalkerBuilder",{enumerable:!0,get:function(){return n.exploreQueryWalkerBuilder}})}(VO);var Ne={},FS={};Object.defineProperty(FS,"__esModule",{value:!0}),FS.MALLOY_VERSION=void 0,FS.MALLOY_VERSION="0.0.219",Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.CSVWriter=Ne.JSONWriter=Ne.DataWriter=Ne.DataRecord=Ne.DataArray=Ne.Result=Ne.ExploreMaterializer=Ne.PreparedResultMaterializer=Ne.QueryMaterializer=Ne.ModelMaterializer=Ne.SingleConnectionRuntime=Ne.ConnectionRuntime=Ne.Runtime=Ne.ExploreField=Ne.JoinRelationship=Ne.QueryField=Ne.Query=Ne.StringField=Ne.UnsupportedField=Ne.JSONField=Ne.BooleanField=Ne.NumberField=Ne.TimestampField=Ne.DateField=Ne.TimestampTimeframe=Ne.DateTimeframe=Ne.AtomicField=Ne.AtomicFieldType=Ne.Explore=Ne.SourceRelationship=Ne.FixedConnectionMap=Ne.InMemoryURLReader=Ne.EmptyURLReader=Ne.PreparedResult=Ne.DocumentCompletion=Ne.DocumentSymbol=Ne.DocumentPosition=Ne.DocumentRange=Ne.DocumentTablePath=Ne.Parse=Ne.PreparedQuery=Ne.Model=Ne.MalloyError=Ne.Malloy=void 0;const oRe=VO,Ar=Ds,UG=Fi,bn=iu,O7=Wx,uRe=FS;class Bn{static get version(){return uRe.MALLOY_VERSION}static _parse(e,n,r,i){n===void 0&&(n=new URL("internal://internal.malloy"));let s=n;i!=null&&i.importBaseURL&&(s=i==null?void 0:i.importBaseURL);const o=new oRe.MalloyTranslator(n.toString(),s.toString(),{urls:{[n.toString()]:e}},r);return i!=null&&i.testEnvironment&&(o.allDialectsEnabled=!0),new zG(o)}static parse({url:e,urlReader:n,source:r,eventStream:i,options:s}){if(r!==void 0)return Bn._parse(r,e,i,s);if(n===void 0)throw new Error("Internal Error: urlReader is required.");if(e===void 0)throw new Error("Internal Error: url is required if source not present.");return n.readURL(e).then(o=>Bn._parse(o,e,i,s))}static async compile({urlReader:e,connections:n,parse:r,model:i,refreshSchemaCache:s,noThrowOnError:o,eventStream:u,replaceMaterializedReferences:a,materializedTablePrefix:l}){var c,f,x,d;let p;s&&(p=typeof s=="number"?s:Date.now());const m=r._translator;for(;;){const g=m.translate(i==null?void 0:i._modelDef);if(g.final){if(g.translated)return new Qg(g.translated.modelDef,g.translated.queryList,g.problems||[],[...(c=i==null?void 0:i.fromSources)!==null&&c!==void 0?c:[],...(f=g.fromSources)!==null&&f!==void 0?f:[]],y=>m.referenceAt(y),y=>m.importAt(y));if(o){const y={name:"modelDidNotCompile",exports:[],contents:{}},E=(i==null?void 0:i._modelDef)||y;return new Qg(E,[],g.problems||[],[...(x=i==null?void 0:i.fromSources)!==null&&x!==void 0?x:[],...(d=g.fromSources)!==null&&d!==void 0?d:[]],v=>m.referenceAt(v),v=>m.importAt(v))}else{const y=g.problems||[],E=m.prettyErrors();throw new qG(`Error(s) compiling model:
|
|
1330
1330
|
${E}`,y)}}else{if(g.urls)for(const E of g.urls)try{if(E.startsWith("internal://"))throw new Error("In order to use relative imports, you must compile a file via a URL.");const v=await e.readURL(new URL(E)),A={[E]:v};m.update({urls:A})}catch(v){m.update({errors:{urls:{[E]:v.message}}})}const{modelAnnotation:y}=m.modelAnnotation(i==null?void 0:i._modelDef);if(g.tables){const E=new Map;for(const v in g.tables){const{connectionName:A,tablePath:_}=g.tables[v],S=E.get(A);S===void 0?E.set(A,{[v]:_}):S[v]=_}for(const[v,A]of E)try{const _=await n.lookupConnection(v),{schemas:S,errors:b}=await Bn.safelyFetchTableSchema(_,A,{refreshTimestamp:p,modelAnnotation:y});m.update({tables:S,errors:{tables:b}})}catch(_){const S={},b={};for(const C in A)b[C]=_.toString();m.update({tables:S,errors:{tables:b}})}}if(g.compileSQL){const E=g.compileSQL,v=E.connection;try{const A=await n.lookupConnection(v),_=Bn.compileSQLBlock(A.dialectName,g.partialModel,E,{replaceMaterializedReferences:a,materializedTablePrefix:l,eventStream:u}),S=await A.fetchSchemaForSQLStruct(_,{refreshTimestamp:p,modelAnnotation:y});S.error&&m.update({errors:{compileSQL:{[_.name]:S.error}}}),S.structDef&&m.update({compileSQL:{[_.name]:S.structDef}})}catch(A){const _={};_[E.name]=A.toString(),m.update({errors:{compileSQL:_}})}}}}}static async safelyFetchTableSchema(e,n,r){const i=await e.fetchSchemaForTables(n,r);for(const s of Object.keys(n))if(i.schemas[s]===void 0&&i.errors[s]===void 0)throw new Error(`Schema fetch error for ${e.name}, no response for ${s} from ${e.dialectName}`);return i}static compileSQLBlock(e,n,r,i){let s,o="",u=!1;for(const c of r.select)if((0,Ar.isSegmentSQL)(c))o+=c.sql,u=c.sql.match(/\(\s*$/)!==null;else{if(!s){if(!n)throw new Error("Internal error: Partial model missing when compiling SQL block");s=new Ar.QueryModel(n,i==null?void 0:i.eventStream)}const f=s.compileQuery(c,i,!1).sql;o+=u?f:`(${f})`,u=!1}const{name:a,connection:l}=r;return{type:"sql_select",name:a,connection:l,dialect:e,selectStr:o,fields:[]}}static async run({connections:e,preparedResult:n,sqlStruct:r,connection:i,options:s}){if(!i){if(!e)throw new Error("Internal Error: Connection or LookupConnection<Connection> must be provided.");const o=(r==null?void 0:r.connection)||(n==null?void 0:n.connectionName);i=await e.lookupConnection(o)}if(r){const o=await i.runSQL(r.selectStr);return new Yg({structs:[r],sql:r.selectStr,result:o.rows,totalRows:o.totalRows,runStats:o.runStats,lastStageName:r.name,malloy:"",connectionName:r.connection,sourceExplore:"",sourceFilters:[],profilingUrl:o.profilingUrl},{name:"empty_model",exports:[],contents:{}})}else if(n){const o=await i.runSQL(n.sql,s);return new Yg({...n._rawQuery,result:o.rows,totalRows:o.totalRows,runStats:o.runStats,profilingUrl:o.profilingUrl},n._modelDef)}else throw new Error("Internal error: sqlStruct or preparedResult must be provided.")}static async*runStream({connections:e,preparedResult:n,sqlStruct:r,connection:i,options:s}){if(r===void 0&&n===void 0)throw new Error("Internal error: sqlBlock or preparedResult must be provided.");const o=(r==null?void 0:r.connection)||(n==null?void 0:n.connectionName);if(i===void 0){if(e===void 0)throw new Error("Internal Error: Connection or LookupConnection<Connection> must be provided.");i=await e.lookupConnection(o)}if(!i.canStream())throw new Error(`Connection '${o}' cannot stream results.`);let u,a;if(r)a=new cs(r),u=r.selectStr;else if(n!==void 0)a=n.resultExplore,u=n.sql;else throw new Error("Internal error: sqlStruct or preparedResult must be provided.");let l=0;for await(const c of i.runSQLStream(u,s))yield new Of(c,l,a,void 0,void 0),l+=1}static async estimateQueryCost({connections:e,preparedResult:n,sqlStruct:r}){if(!e)throw new Error("Internal Error: Connection or LookupConnection<Connection> must be provided.");const i=(r==null?void 0:r.connection)||(n==null?void 0:n.connectionName),s=await e.lookupConnection(i);if(r)return await s.estimateQueryCost(r.selectStr);if(n)return await s.estimateQueryCost(n.sql);throw new Error("Internal error: sqlStruct or preparedResult must be provided.")}}Ne.Malloy=Bn;class qG extends Error{constructor(e,n=[]){super(e),this.problems=n}}Ne.MalloyError=qG;let Qg=class{constructor(e,n,r,i,s=()=>{},o=()=>{}){this.modelDef=e,this.queryList=n,this.problems=r,this.fromSources=i,this._referenceAt=s,this._importAt=o}tagParse(e){return bn.Tag.annotationToTag(this.modelDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.modelDef.annotation,e)}getReference(e){return this._referenceAt(e)}getImport(e){return this._importAt(e)}getPreparedQueryByName(e){const n=this.modelDef.contents[e];if((n==null?void 0:n.type)==="query")return new yh(n,this.modelDef,this.problems,e);throw new Error("Given query name does not refer to a named query.")}getPreparedQueryByIndex(e){if(e<0)throw new Error(`Invalid index ${e}.`);if(e>=this.queryList.length)throw new Error(`Query index ${e} is out of bounds.`);return new yh(this.queryList[e],this.modelDef,this.problems)}get preparedQuery(){return this.getPreparedQuery()}getPreparedQuery(){if(this.queryList.length===0)throw new Error("Model has no queries.");return new yh(this.queryList[this.queryList.length-1],this.modelDef,this.problems)}getExploreByName(e){const n=this.modelDef.contents[e];if((0,Ar.isSourceDef)(n))return new cs(n);throw new Error("'name' is not an explore")}get explores(){return Object.values(this.modelDef.contents).filter(Ar.isSourceDef).map(e=>new cs(e))}get namedQueries(){const e=n=>n.type==="query";return Object.values(this.modelDef.contents).filter(e)}get exportedExplores(){return this.explores.filter(e=>this.modelDef.exports.includes(e.name))}get _modelDef(){return this.modelDef}};Ne.Model=Qg;class yh{constructor(e,n,r,i){this.problems=r,this.name=i,this._query=e,this._modelDef=n}tagParse(e){const n=bn.Tag.annotationToTag(this._modelDef.annotation).tag;return e=bn.Tag.addModelScope(e,n),bn.Tag.annotationToTag(this._query.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this._query.annotation,e)}get preparedResult(){return this.getPreparedResult()}getPreparedResult(e){const r=new Ar.QueryModel(this._modelDef,e==null?void 0:e.eventStream).compileQuery(this._query,e);return new Gg({...r,queryName:this.name||r.queryName},this._modelDef)}get dialect(){const e=this._query.structRef,n=typeof e=="string"?this._modelDef.contents[e]:e;if(!(0,Ar.isSourceDef)(n))throw new Error("Invalid source for query");return n.dialect}getFlattenedQuery(e){return this}}Ne.PreparedQuery=yh;class zG{constructor(e){this.translator=e}get symbols(){return(this.translator.metadata().symbols||[]).map(e=>new LS(e))}get tablePathInfo(){var e;return((e=this.translator.tablePathInfo().pathInfo)!==null&&e!==void 0?e:[]).map(r=>new HG(r))}get _translator(){return this.translator}completions(e){return(this.translator.completions(e).completions||[]).map(n=>new QG(n))}helpContext(e){return this.translator.helpContext(e).helpContext}}Ne.Parse=zG;class HG{constructor(e){this._range=Eh.fromJSON(e.range),this._connectionId=e.connectionId,this._tablePath=e.tablePath}get range(){return this._range}get connectionId(){return this._connectionId}get tablePath(){return this._tablePath}}Ne.DocumentTablePath=HG;class Eh{constructor(e,n){this._start=e,this._end=n}get start(){return this._start}get end(){return this._end}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}static fromJSON(e){return new Eh(new R7(e.start.line,e.start.character),new R7(e.end.line,e.end.character))}}Ne.DocumentRange=Eh;class R7{constructor(e,n){this._line=e,this._character=n}get line(){return this._line}get character(){return this._character}toJSON(){return{line:this.line,character:this.character}}}Ne.DocumentPosition=R7;class LS{constructor(e){this._range=Eh.fromJSON(e.range),this._lensRange=e.lensRange?Eh.fromJSON(e.lensRange):void 0,this._type=e.type,this._name=e.name,this._children=e.children.map(n=>new LS(n))}get range(){return this._range}get lensRange(){var e;return(e=this._lensRange)!==null&&e!==void 0?e:this._range}get type(){return this._type}get name(){return this._name}get children(){return this._children}}Ne.DocumentSymbol=LS;class QG{constructor(e){this.type=e.type,this.text=e.text}}Ne.DocumentCompletion=QG;class Gg{constructor(e,n){this.modelDef=n,this.inner=e}static fromJson({query:e,modelDef:n}){if(!e||!n)throw new Error("Missing required properties in JSON data");return new Gg(e,n)}tagParse(e){const n=bn.Tag.annotationToTag(this.modelDef.annotation).tag;return e=bn.Tag.addModelScope(e,n),bn.Tag.annotationToTag(this.inner.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.inner.annotation,e)}get annotation(){return this.inner.annotation}get modelAnnotation(){return this.modelDef.annotation}get modelTag(){return bn.Tag.annotationToTag(this.modelDef.annotation).tag}get connectionName(){return this.inner.connectionName}get _rawQuery(){return this.inner}get _modelDef(){return this.modelDef}get sql(){return this.inner.sql}get dependenciesToMaterialize(){return this.inner.dependenciesToMaterialize}get materialization(){return this.inner.materialization}get resultExplore(){if(this.inner.structs.length===0)throw new Error("Malformed query result.");const e=this.inner.structs[this.inner.structs.length-1],n={...e,annotation:this.inner.annotation,name:this.inner.queryName||e.name};try{return new cs(n,this.sourceExplore)}catch{return new cs(n)}}get sourceExplore(){const e=this.inner.sourceExplore,n=this.modelDef.contents[e];if(n===void 0)throw new Error("Malformed query result.");if((0,Ar.isSourceDef)(n))return new cs(n);throw new Error(`'${e} is not an explore`)}get _sourceExploreName(){return this.inner.sourceExplore}get _sourceFilters(){return this.inner.sourceFilters||[]}}Ne.PreparedResult=Gg;class GG{async readURL(e){throw new Error("No files.")}}Ne.EmptyURLReader=GG;class aRe{constructor(e){this.files=e}async readURL(e){const n=this.files.get(e.toString());if(n!==void 0)return Promise.resolve(n);throw new Error(`File not found '${e}'`)}}Ne.InMemoryURLReader=aRe;class Wg{constructor(e,n){this.connections=e,this.defaultConnectionName=n}async getConnection(e){if(e===void 0)if(this.defaultConnectionName!==void 0)e=this.defaultConnectionName;else throw new Error("No default connection.");const n=this.connections.get(e);if(n!==void 0)return Promise.resolve(n);throw new Error(`No connection found with name ${e}.`)}listConnections(){return Array.from(this.connections.values())}async lookupConnection(e){return this.getConnection(e)}static fromArray(e){return new Wg(new Map(e.map(n=>[n.name,n])))}}Ne.FixedConnectionMap=Wg;var WG;(function(t){t.Nested="nested",t.BaseTable="base_table",t.Cross="cross",t.One="one",t.Many="many",t.Inline="inline"})(WG||(Ne.SourceRelationship=WG={}));class D7{constructor(e,n,r){this._name=e,this._parent=n,this._source=r}get source(){return this.source}get name(){return this._name}get sourceClasses(){const e=[];return this.source&&e.push(this.source.name),e.push(this.name),e}get fieldPath(){const e=[this.name];let n=this._parent;for(;n;)e.unshift(n.name),n=n._parent;return e}hasParentExplore(){return this._parent!==void 0}isExplore(){return this instanceof cs}isQuery(){return this instanceof B7}}class cs extends D7{constructor(e,n,r){super(e.as||e.name,n,r),this._structDef=e,this._parentExplore=n,this.sourceExplore=r}get source(){return this.sourceExplore}isIntrinsic(){return(0,Ar.isAtomicFieldType)(this._structDef.type)?!("e"in this._structDef):!1}isExploreField(){return!1}tagParse(e){return bn.Tag.annotationToTag(this._structDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this._structDef.annotation,e)}get modelTag(){return this.parsedModelTag||(this.parsedModelTag=bn.Tag.annotationToTag(this._structDef.modelAnnotation).tag),this.parsedModelTag}get name(){return this.structDef.as||this.structDef.name}getQueryByName(e){const n=this.sourceStructDef;if(!n)throw new Error(`Cannot get query by name from a struct of type ${this.structDef.type}`);const r={type:"query",structRef:n,pipeline:[{type:"reduce",queryFields:[{type:"fieldref",path:[e]}]}]};return new yh(r,this.modelDef,[],e)}get modelDef(){return{name:"generated_model",exports:[],contents:{[this.structDef.name]:this.structDef}}}getSingleExploreModel(){return new Qg(this.modelDef,[],[],[])}get fieldMap(){var e;if(this._fieldMap===void 0){const n=((e=this.source)===null||e===void 0?void 0:e.fieldMap)||new Map;this._fieldMap=new Map(this.structDef.fields.map(r=>{const i=r.as||r.name,s=n.get(r.name);if((0,Ar.isJoined)(r))return[i,new k7(r,this,s)];if(r.type==="turtle")return[i,new B7(r,this,s)];if(r.type==="string")return[i,new $7(r,this,s)];if(r.type==="number")return[i,new IS(r,this,s)];if(r.type==="date")return r.timeframe&&["day_of_month","day_of_week","day_of_year"].includes(r.timeframe)?[i,new IS({...r,type:"number"},this,s)]:[i,new w7(r,this,s)];if(r.type==="timestamp")return[i,new N7(r,this,s)];if(r.type==="boolean")return[i,new F7(r,this,s)];if(r.type==="json")return[i,new L7(r,this,s)];if(r.type==="sql native")return[i,new I7(r,this,s)]}))}return this._fieldMap}get allFields(){return[...this.fieldMap.values()]}get allFieldsWithOrder(){var e,n,r;if(!this._allFieldsWithOrder){const i=[...((r=(n=(e=this.sourceStructDef)===null||e===void 0?void 0:e.resultMetadata)===null||n===void 0?void 0:n.orderBy)===null||r===void 0?void 0:r.map(o=>{if(typeof o.field=="string")return{field:this.fieldMap.get(o.field),dir:o.dir};throw new Error("Does not support mapping order by from number.")}))||[]],s=new Set(i.map(o=>o.field.name));this._allFieldsWithOrder=[...i,...this.allFields.filter(o=>!s.has(o.name)).map(o=>({field:o,dir:"asc"}))]}return this._allFieldsWithOrder}get intrinsicFields(){return[...this.fieldMap.values()].filter(e=>e.isIntrinsic())}get dimensions(){return[...this.allFieldsWithOrder].filter(e=>e.field.isAtomicField()&&e.field.sourceWasDimension())}getFieldByName(e){const n=this.fieldMap.get(e);if(n===void 0)throw new Error(`No such field ${e}.`);return n}getFieldByNameIfExists(e){return this.fieldMap.get(e)}get primaryKey(){var e;return(e=this.sourceStructDef)===null||e===void 0?void 0:e.primaryKey}get parentExplore(){return this._parentExplore}hasParentExplore(){return this instanceof k7}get filters(){var e;return(0,Ar.isSourceDef)(this.structDef)?((e=this.structDef.resultMetadata)===null||e===void 0?void 0:e.filterList)||[]:[]}get limit(){var e,n;return(n=(e=this.sourceStructDef)===null||e===void 0?void 0:e.resultMetadata)===null||n===void 0?void 0:n.limit}get structDef(){return this._structDef}get queryTimezone(){var e;return(e=this.sourceStructDef)===null||e===void 0?void 0:e.queryTimezone}get sourceStructDef(){if((0,Ar.isSourceDef)(this.structDef))return this.structDef}toJSON(){var e,n;return{_structDef:this._structDef,sourceExplore:(e=this.sourceExplore)===null||e===void 0?void 0:e.toJSON(),_parentExplore:(n=this._parentExplore)===null||n===void 0?void 0:n.toJSON()}}static fromJSON(e){const n=e._parentExplore!==void 0?cs.fromJSON(e._parentExplore):void 0,r=e.sourceExplore!==void 0?cs.fromJSON(e.sourceExplore):void 0;return new cs(e._structDef,n,r)}get location(){return this.structDef.location}}Ne.Explore=cs;var Ru;(function(t){t.String="string",t.Number="number",t.Boolean="boolean",t.Date="date",t.Timestamp="timestamp",t.Json="json",t.NativeUnsupported="sql native",t.Error="error"})(Ru||(Ne.AtomicFieldType=Ru={}));class C0 extends D7{constructor(e,n,r){super(e.as||e.name,n,r),this.fieldTypeDef=e,this.parent=n}get type(){switch(this.fieldTypeDef.type){case"string":return Ru.String;case"boolean":return Ru.Boolean;case"date":return Ru.Date;case"timestamp":return Ru.Timestamp;case"number":return Ru.Number;case"json":return Ru.Json;case"sql native":return Ru.NativeUnsupported;case"error":return Ru.Error;case"record":case"array":throw new Error(`MTOY TODO IMPLEMENT Atomic ${this.fieldTypeDef.type}`);default:{const e=this.fieldTypeDef;throw new Error(`Can't make an atomic field from ${e}`)}}}tagParse(e){return e=bn.Tag.addModelScope(e,this.parent.modelTag),bn.Tag.annotationToTag(this.fieldTypeDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.fieldTypeDef.annotation,e)}isIntrinsic(){return(0,Ar.fieldIsIntrinsic)(this.fieldTypeDef)}isQueryField(){return!1}isExploreField(){return!1}isAtomicField(){return!0}isCalculation(){return(0,Ar.expressionIsCalculation)(this.fieldTypeDef.expressionType)}get sourceField(){throw new Error}get sourceClasses(){const e=this.fieldTypeDef.name||this.fieldTypeDef.as;return e?[e]:[]}get referenceId(){var e;return(e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.referenceId}sourceWasMeasure(){var e;return((e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"}sourceWasMeasureLike(){var e,n;return((e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"||((n=this.fieldTypeDef.resultMetadata)===null||n===void 0?void 0:n.fieldKind)==="struct"}sourceWasDimension(){var e;return((e=this.fieldTypeDef.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="dimension"}hasParentExplore(){return!0}isString(){return this instanceof $7}isNumber(){return this instanceof IS}isDate(){return this instanceof w7}isBoolean(){return this instanceof F7}isJSON(){return this instanceof L7}isTimestamp(){return this instanceof N7}isUnsupported(){return this instanceof I7}get parentExplore(){return this.parent}get expression(){const e=".",n=this.fieldTypeDef.resultMetadata;return(n==null?void 0:n.sourceExpression)||(n!=null&&n.sourceField.includes(e)?n==null?void 0:n.sourceField:this.name)}get location(){return this.fieldTypeDef.location}}Ne.AtomicField=C0;var Tf;(function(t){t.Day="day",t.Week="week",t.Month="month",t.Quarter="quarter",t.Year="year"})(Tf||(Ne.DateTimeframe=Tf={}));var Du;(function(t){t.Day="day",t.Week="week",t.Month="month",t.Quarter="quarter",t.Year="year",t.Second="second",t.Hour="hour",t.Minute="minute"})(Du||(Ne.TimestampTimeframe=Du={}));class w7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldDateDef=e}get timeframe(){if(this.fieldDateDef.timeframe!==void 0)switch(this.fieldDateDef.timeframe){case"day":return Tf.Day;case"week":return Tf.Week;case"month":return Tf.Month;case"quarter":return Tf.Quarter;case"year":return Tf.Year}}}Ne.DateField=w7;class N7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldTimestampDef=e}get timeframe(){if(this.fieldTimestampDef.timeframe!==void 0)switch(this.fieldTimestampDef.timeframe){case"day":return Du.Day;case"week":return Du.Week;case"month":return Du.Month;case"quarter":return Du.Quarter;case"year":return Du.Year;case"second":return Du.Second;case"hour":return Du.Hour;case"minute":return Du.Minute}}}Ne.TimestampField=N7;class IS extends C0{constructor(e,n,r){super(e,n,r),this.fieldNumberDef=e}}Ne.NumberField=IS;class F7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldBooleanDef=e}}Ne.BooleanField=F7;class L7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldJSONDef=e}}Ne.JSONField=L7;class I7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldUnsupportedDef=e}get rawType(){return this.fieldUnsupportedDef.rawType}}Ne.UnsupportedField=I7;class $7 extends C0{constructor(e,n,r){super(e,n,r),this.fieldStringDef=e}}Ne.StringField=$7;class VG extends D7{constructor(e,n,r){super(e.as||e.name,n,r),this.turtleDef=e}get source(){return this.sourceQuery}isIntrinsic(){return!1}get location(){return this.turtleDef.location}}Ne.Query=VG;class B7 extends VG{constructor(e,n,r){super(e,n,r),this.parent=n}tagParse(e){return e=bn.Tag.addModelScope(e,this.parent.modelTag),bn.Tag.annotationToTag(this.turtleDef.annotation,e)}getTaglines(e){return bn.Tag.annotationToTaglines(this.turtleDef.annotation,e)}isQueryField(){return!0}isExploreField(){return!1}isAtomicField(){return!1}get sourceClasses(){const e=this.turtleDef.name||this.turtleDef.as;return e?[e]:[]}hasParentExplore(){return!0}get parentExplore(){return this.parent}get expression(){return this.name}}Ne.QueryField=B7;var vh;(function(t){t.OneToOne="one_to_one",t.OneToMany="one_to_many",t.ManyToOne="many_to_one"})(vh||(Ne.JoinRelationship=vh={}));class k7 extends cs{constructor(e,n,r){super(e,n,r),this._parentExplore=n}get joinRelationship(){if((0,Ar.isJoined)(this.structDef))switch(this.structDef.join){case"one":return vh.OneToOne;case"many":case"cross":return vh.ManyToOne}throw new Error("A source field must have a join relationship.")}get isRecord(){return this.joinRelationship===vh.OneToOne}get isArray(){return this.joinRelationship!==vh.OneToOne}tagParse(e){return e=bn.Tag.addModelScope(e,this._parentExplore.modelTag),bn.Tag.annotationToTag(this._structDef.annotation,e)}isQueryField(){return!1}isExploreField(){return!0}isAtomicField(){return!1}get parentExplore(){return this._parentExplore}get sourceClasses(){const e=this.structDef.name||this.structDef.as;return e?[e]:[]}}Ne.ExploreField=k7;class P7{constructor(...e){this.isTestRuntime=!1;let n,r,i;for(const s of e)s!==void 0&&(uW(s)?n=s:dRe(s)?r=s:aW(s)?i=s:r={lookupConnection:()=>Promise.resolve(s)});if(n===void 0&&(n=new GG),r===void 0)throw new Error("A LookupConnection<Connection> or Connection is required.");this._urlReader=n,this._connections=r,this._eventStream=i}get urlReader(){return this._urlReader}get connections(){return this._connections}get eventStream(){return this._eventStream}loadModel(e,n){const{refreshSchemaCache:r,noThrowOnError:i}=n||{};return this.isTestRuntime&&(n===void 0?n={testEnvironment:!0}:n={...n,testEnvironment:!0}),new Vg(this,async()=>{const s=e instanceof URL?await Bn.parse({url:e,urlReader:this.urlReader,eventStream:this.eventStream,options:n}):Bn.parse({source:e,eventStream:this.eventStream,options:n});return Bn.compile({urlReader:this.urlReader,connections:this.connections,parse:s,refreshSchemaCache:r,noThrowOnError:i,eventStream:this.eventStream,replaceMaterializedReferences:n==null?void 0:n.replaceMaterializedReferences,materializedTablePrefix:n==null?void 0:n.materializedTablePrefix})},n)}_loadModelFromModelDef(e,n){return new Vg(this,async()=>new Qg(e,[],[],[]),n)}loadQuery(e,n){return this.loadModel(e,n).loadFinalQuery()}loadQueryByIndex(e,n,r){return this.loadModel(e,r).loadQueryByIndex(n,r)}loadQueryByName(e,n,r){return this.loadModel(e,r).loadQueryByName(n,r)}getModel(e,n){return this.loadModel(e,n).getModel()}getQuery(e,n){return this.loadQuery(e,n).getPreparedQuery()}getQueryByIndex(e,n,r){return this.loadQueryByIndex(e,n,r).getPreparedQuery()}getQueryByName(e,n,r){return this.loadQueryByName(e,n,r).getPreparedQuery()}}Ne.Runtime=P7;class lRe extends P7{constructor(e,n){if(n===void 0){const r=e;super(Wg.fromArray(r)),this.rawConnections=r}else{const r=n;super(e,Wg.fromArray(r)),this.rawConnections=r}}}Ne.ConnectionRuntime=lRe;class cRe extends P7{constructor(...e){let n,r,i;for(const s of e)uW(s)&&(n=s),hRe(s)&&(r=s),aW(s)&&(i=s);if(r===void 0)throw new Error("Expected connection to be passed into SingleConnectionRuntime");super(n,r,i),this.connection=r}get supportsNesting(){return(0,O7.getDialect)(this.connection.dialectName).supportsNesting}quote(e){return(0,O7.getDialect)(this.connection.dialectName).sqlMaybeQuoteIdentifier(e)}get dialect(){return(0,O7.getDialect)(this.connection.dialectName)}getQuoter(){return e=>this.quote(e.toString())}}Ne.SingleConnectionRuntime=cRe;class $S{constructor(e,n){this.runtime=e,this._materialize=n}materialize(){return this.materialized===void 0?this.rematerialize():this.materialized}rematerialize(){return this.materialized=this._materialize(),this.materialized}makeQueryMaterializer(e,n){return new YG(this.runtime,e,n)}makeExploreMaterializer(e,n){return new XG(this.runtime,e,n)}makePreparedResultMaterializer(e){return new KG(this.runtime,e)}}class Vg extends $S{constructor(e,n,r){super(e,n),this.runtime=e,this.compileQueryOptions=r}loadFinalQuery(e){return this.makeQueryMaterializer(async()=>(await this.materialize()).getPreparedQuery(),{...this.compileQueryOptions,...e})}loadQueryByIndex(e,n){return this.makeQueryMaterializer(async()=>(await this.materialize()).getPreparedQueryByIndex(e),{...this.compileQueryOptions,...n})}loadQueryByName(e,n){return this.makeQueryMaterializer(async()=>(await this.materialize()).getPreparedQueryByName(e),{...this.compileQueryOptions,...n})}loadQuery(e,n){const{refreshSchemaCache:r,noThrowOnError:i}=n||{};return this.makeQueryMaterializer(async()=>{const s=this.runtime.urlReader,o=this.runtime.connections;this.runtime.isTestRuntime&&(n===void 0?n={testEnvironment:!0}:n={...n,testEnvironment:!0});const u=e instanceof URL?await Bn.parse({url:e,urlReader:s,options:n}):Bn.parse({source:e,options:n}),a=await this.getModel();return(await Bn.compile({urlReader:s,connections:o,parse:u,model:a,refreshSchemaCache:r,noThrowOnError:i,...this.compileQueryOptions})).preparedQuery})}extendModel(e,n){return this.runtime.isTestRuntime&&(n===void 0?n={testEnvironment:!0}:n={...n,testEnvironment:!0}),new Vg(this.runtime,async()=>{const r=this.runtime.urlReader,i=this.runtime.connections,s=e instanceof URL?await Bn.parse({url:e,urlReader:r,options:n}):Bn.parse({source:e,options:n}),o=await this.getModel();return await Bn.compile({urlReader:r,connections:i,parse:s,model:o,refreshSchemaCache:n==null?void 0:n.refreshSchemaCache,noThrowOnError:n==null?void 0:n.noThrowOnError,...this.compileQueryOptions})},n)}async search(e,n,r=1e3,i=void 0,s){const o=await this.materialize(),u=new Ar.QueryModel(o._modelDef,s),a=o.getExploreByName(e).structDef;if(!(0,Ar.isSourceDef)(a))throw new Error("Source to be searched was unexpectedly, not a source");const l=a.connection,c=await this.runtime.connections.lookupConnection(l);return await u.searchIndex(c,e,n,r,i)}async searchValueMap(e,n=10,r){const s=(await this.materialize()).getExploreByName(e);if(!(0,Ar.isSourceDef)(s.structDef))throw new Error("Source to be searched was unexpectedly, not a source");let o="{index: *}";s.getFieldByNameIfExists("search_index")&&(o="search_index");const u=`
|
|
1331
1331
|
run: ${e}
|
|
1332
1332
|
-> ${o}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@malloydata/render",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.219-dev241203051251",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/module/index.umd.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"build-types": "tsc --build --declaration --emitDeclarationOnly"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@malloydata/malloy": "^0.0.
|
|
33
|
+
"@malloydata/malloy": "^0.0.219-dev241203051251",
|
|
34
34
|
"@tanstack/solid-virtual": "^3.10.4",
|
|
35
35
|
"component-register": "^0.8.6",
|
|
36
36
|
"lodash": "^4.17.20",
|