diff --git a/404.html b/404.html index 5c9df75..913f0a5 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Page Not Found | SOQL Parser JS - + diff --git a/assets/js/0ce74438.339dfbce.js b/assets/js/0ce74438.4de5024c.js similarity index 59% rename from assets/js/0ce74438.339dfbce.js rename to assets/js/0ce74438.4de5024c.js index 39a8233..e0528ab 100644 --- a/assets/js/0ce74438.339dfbce.js +++ b/assets/js/0ce74438.4de5024c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[342],{977:(e,t,a)=>{a.d(t,{y:()=>o});var n=a(2573),i=a(2949),l=a(5893);function o(e){let{code:t,language:a,classNames:o={}}=e;const{colorMode:E}=(0,i.I)(),s="light"===E?n.np.github:n.np.shadesOfPurple;return(0,l.jsx)(n.y$,{theme:s,code:t,language:a,children:e=>{let{style:t,tokens:a,getLineProps:n,getTokenProps:i}=e;return(0,l.jsx)("pre",{className:o?.pre,style:{...t,margin:0},children:a.map(((e,t)=>(0,l.jsx)("div",{...n({line:e}),children:e.map(((e,t)=>(0,l.jsx)("span",{...i({token:e})},t)))},t)))})}})}},791:(e,t,a)=>{a.r(t),a.d(t,{default:()=>B});var n=a(512),i=a(7294),l=a(1867),o=a(977),E=a(5893);function s(e){let{query:t}=e;return(0,E.jsx)("div",{className:"",children:t&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"label",children:"Output"}),(0,E.jsx)(o.y,{code:t,language:"sql"})]})})}const c={textarea:"textarea_hv9b"};function r(e){let{queryObj:t,onChange:a}=e;return(0,E.jsx)("div",{children:(0,E.jsxs)("label",{className:"label",children:["Query Object",(0,E.jsx)("textarea",{className:c.textarea,value:t,onChange:e=>a(e.target.value)})]})})}function u(e){let{selectedQuery:t}=e;const[a,o]=(0,i.useState)(!0),[c,u]=(0,i.useState)(1),[d,O]=(0,i.useState)(60),[N,C]=(0,i.useState)(!0),[R,T]=(0,i.useState)(!1),[S,L]=(0,i.useState)(""),[I,m]=(0,i.useState)("");return(0,i.useEffect)((()=>{try{L(JSON.stringify((0,l.mB)(t,{allowApexBindVariables:!0}),null,2))}catch(e){L("{\n}")}}),[t]),(0,i.useEffect)((()=>{try{S&&m((0,l.IC)(JSON.parse(S),{format:a,formatOptions:{fieldMaxLineLength:d,fieldSubqueryParensOnOwnLine:N,newLineAfterKeywords:R,numIndent:c}}))}catch(e){}}),[S,a,c,d,N,R]),(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(r,{queryObj:S,onChange:function(e){L(e)}}),(0,E.jsxs)("fieldset",{children:[(0,E.jsx)("legend",{className:"label",children:"Parse Options"}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{title:"Set this to true to apply formatting to the parsed query",children:[(0,E.jsx)("input",{type:"checkbox",checked:a,onChange:e=>o(e.target.checked)}),"formatQuery"]})}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"The number of tab characters to indent.",children:["numIndent",(0,E.jsx)("input",{disabled:!a,type:"number",min:0,value:c,onChange:e=>u(Number(e.target.value??0))})]})}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"The number of characters that the fields should take up before making a new line. Set this to 1 or 0 to have every field on its own line.",children:["fieldMaxLineLength",(0,E.jsx)("input",{disabled:!a,type:"number",min:0,value:d,onChange:e=>O(Number(e.target.value??0))})]})}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"If true, the opening and closing parentheses will be on their own line for subqueries.",children:[(0,E.jsx)("input",{disabled:!a,type:"checkbox",checked:N,onChange:e=>C(e.target.checked)}),"fieldSubqueryParensOnOwnLine"]})}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"Adds a new line and indent after all keywords (such as SELECT, FROM, WHERE, ORDER BY, etc..) Setting this to true will add new lines in other places as well, such as complex WHERE clauses.",children:[(0,E.jsx)("input",{disabled:!a,type:"checkbox",checked:R,onChange:e=>T(e.target.checked)}),"newLineAfterKeywords"]})})]}),(0,E.jsx)(s,{query:I})]})}function d(e){let{query:t}=e;const[a,n]=(0,i.useState)(!0),[s,c]=(0,i.useState)(!1),[r,u]=(0,i.useState)(!0),[d,O]=(0,i.useState)(null),[N,C]=(0,i.useState)(null);(0,i.useEffect)((()=>{try{t&&O((0,l.mB)(t,{allowPartialQuery:a,ignoreParseErrors:s,allowApexBindVariables:r}))}catch(e){O(null),C(e.message)}}),[t,a,s,r]);const R=d?JSON.stringify(d,null,2):N;return(0,E.jsxs)("div",{className:"",children:[(0,E.jsxs)("fieldset",{children:[(0,E.jsx)("legend",{className:"label",children:"Parse Options"}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{title:"Determines if apex variables are allowed in parsed query. Example: `WHERE Id IN :accountIds`. Only simple Apex is supported. Function calls are not supported. (e.x. `accountMap.keyset()` is not supported)",children:[(0,E.jsx)("input",{type:"checkbox",checked:r,onChange:e=>u(e.target.checked)}),"allowApexBindVariables"]})}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{title:"If provided, you can provide an incomplete soql query. This is useful if you need to parse WHERE clauses, for example. Subqueries are required to be valid.",children:[(0,E.jsx)("input",{type:"checkbox",checked:a,onChange:e=>n(e.target.checked)}),"allowPartialQuery"]})}),(0,E.jsx)("div",{children:(0,E.jsxs)("label",{title:"If set to true, then queries with partially invalid syntax will still be parsed, but any clauses with invalid parts will be omitted. The SELECT clause and FROM clause must always be valid, but all other clauses can contain invalid parts.",children:[(0,E.jsx)("input",{type:"checkbox",checked:s,onChange:e=>c(e.target.checked)}),"ignoreParseErrors"]})})]}),(d||N)&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{className:"label",children:"Output"}),(0,E.jsx)(o.y,{code:R,language:"json"})]})]})}const O={textarea:"textarea_MD8h"};function N(e){let{soql:t,onChange:a}=e;return(0,E.jsx)("div",{children:(0,E.jsxs)("label",{className:"label",children:["SOQL Query",(0,E.jsx)("textarea",{className:O.textarea,value:t,onChange:e=>a(e.target.value)})]})})}function C(e){let{selectedQuery:t}=e;const[a,n]=(0,i.useState)(t);return(0,i.useEffect)((()=>{n(t)}),[t]),(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(N,{soql:a,onChange:function(e){n(e)}}),(0,E.jsx)(d,{query:a})]})}const R={container:"container_f1_9",collapsed:"collapsed_m3ao",collapseIcon:"collapseIcon_fTmE",list:"list_VMDG",listItem:"listItem_WVMh",selected:"selected_LEl_"},T=JSON.parse('["SELECT Id, Name, BillingCity FROM Account","SELECT Id FROM Contact WHERE Name LIKE \'A%\' AND MailingCity = \'California\'","SELECT Name FROM Account ORDER BY Name DESC NULLS LAST","SELECT Name FROM Account WHERE Industry = \'media\' LIMIT 125","SELECT Name FROM Account WHERE Industry = \'media\' ORDER BY BillingPostalCode ASC NULLS LAST LIMIT 125","SELECT COUNT() FROM Contact","SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 1","SELECT Name, Id FROM Merchandise__c ORDER BY Name OFFSET 100","SELECT Name, Id FROM Merchandise__c ORDER BY Name LIMIT 20 OFFSET 100","SELECT Contact.FirstName, Contact.Account.Name FROM Contact","SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = \'media\'","SELECT Name, (SELECT LastName FROM Contacts) FROM Account","SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account","SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias=\'x\') FROM Account WHERE Industry=\'media\'","SELECT Id, FirstName__c, Mother_of_Child__r.FirstName__c FROM Daughter__c WHERE Mother_of_Child__r.LastName__c LIKE \'C%\'","SELECT Name, (SELECT Name FROM Line_Items__r) FROM Merchandise__c WHERE Name LIKE \'Acme%\'","SELECT Id, Owner.Name FROM Task WHERE Owner.FirstName LIKE \'B%\'","SELECT Id, Who.FirstName, Who.LastName FROM Task WHERE Owner.FirstName LIKE \'B%\'","SELECT Id, What.Name FROM Event","SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate ELSE Name, Email END FROM Event","SELECT Name, (SELECT CreatedBy.Name FROM Notes) FROM Account","SELECT Amount, Id, Name, (SELECT Quantity, ListPrice, PricebookEntry.UnitPrice, PricebookEntry.Name FROM OpportunityLineItems) FROM Opportunity","SELECT UserId, LoginTime FROM LoginHistory","SELECT UserId, COUNT(Id) FROM LoginHistory WHERE LoginTime > 2010-09-20T22:16:30.000Z AND LoginTime < 2010-09-21 GROUP BY UserId","SELECT Id, Name, IsActive, SobjectType, DeveloperName, Description FROM RecordType","SELECT CampaignId, AVG(Amount) avg FROM Opportunity GROUP BY CampaignId HAVING COUNT(Id, Name) > 1","SELECT LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource)","SELECT Status, LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(Status, LeadSource)","SELECT Type, BillingCountry, GROUPING(Type)grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type,BillingCountry) ORDER BY GROUPING(Type), GROUPING(Id,BillingCountry), Name DESC NULLS FIRST, Id ASC NULLS LAST","SELECT c.Name, c.Account.Name FROM Contact c","SELECT Id FROM Account WHERE (Id IN (\'1\', \'2\', \'3\') OR (NOT Id = \'2\') OR (Name LIKE \'%FOO%\' OR (Name LIKE \'%ARM%\' AND FOO = \'bar\')))","SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > \'Phone\'","SELECT a.Id, a.Name, (SELECT a2.Id FROM ChildAccounts a2), (SELECT a1.Id FROM ChildAccounts1 a1) FROM Account a","SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = \'online\' WITH DATA CATEGORY Geography__c ABOVE usa__c","SELECT Title FROM Question WHERE LastReplyDate > 2005-10-08T01:02:03Z WITH DATA CATEGORY Geography__c AT (usa__c, uk__c)","SELECT UrlName FROM KnowledgeArticleVersion WHERE PublishStatus = \'draft\' WITH DATA CATEGORY Geography__c AT usa__c AND Product__c ABOVE_OR_BELOW mobile_phones__c","SELECT Id FROM Contact FOR VIEW","SELECT Id FROM Contact FOR REFERENCE","SELECT Id FROM Contact FOR UPDATE","SELECT Id FROM FAQ__kav FOR UPDATE","SELECT Id FROM FAQ__kav FOR VIEW UPDATE TRACKING","SELECT Id FROM FAQ__kav UPDATE VIEWSTAT","SELECT amount, FORMAT(amount) Amt, convertCurrency(amount) editDate, FORMAT(convertCurrency(amount)) convertedCurrency FROM Opportunity WHERE id = \'12345\'","SELECT FORMAT(MIN(closedate)) Amt FROM Opportunity","SELECT Company, toLabel(Status) FROM Lead WHERE toLabel(Status) = \'le Draft\'","SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Opportunity WHERE StageName = \'Closed Lost\')","SELECT Id FROM Account WHERE Id NOT IN (SELECT AccountId FROM Opportunity WHERE IsClosed = TRUE)","SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE LastName LIKE \'apple%\') AND Id IN (SELECT AccountId FROM Opportunity WHERE isClosed = FALSE)","SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contact.Foo.Bars) FROM Account","SELECT LeadSource, COUNT(Name)cnt FROM Lead","SELECT Id, Name FROM Account WHERE Name != \'foo\'","SELECT Id FROM Account WHERE Foo IN (\'1\', \'2\', \'3\') OR Bar IN (1, 2, 3) OR Baz IN (101.00, 102.50) OR Bam IN (\'FOO\', null)","SELECT Id, Name FROM Account WHERE CreatedDate > LAST_N_YEARS:1 AND LastModifiedDate > LAST_MONTH","SELECT Id, CreatedById, CreatedDate, DefType, IsDeleted, Format, LastModifiedById, LastModifiedDate, AuraDefinitionBundleId, ManageableState, Source, SystemModstamp FROM AuraDefinition","SELECT Id, Name, BillingCity FROM Account WITH SECURITY_ENFORCED","SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = \'online\' WITH DATA CATEGORY Geography__c ABOVE usa__c WITH SECURITY_ENFORCED","SELECT Id FROM Account WHERE (((Name = \'1\' OR Name = \'2\') AND Name = \'3\')) AND (((Description = \'123\') OR (Id = \'1\' AND Id = \'2\'))) AND Id = \'1\'","SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate END FROM Event","SELECT Name FROM Account WHERE CreatedById IN (SELECT TYPEOF Owner WHEN User THEN Id WHEN Group THEN CreatedById END FROM CASE)","SELECT Name FROM Account OFFSET 1","SELECT Name FROM Account WHERE Id = :foo","SELECT Name FROM Account WHERE Industry IN (\'media\', null, 1, \'media\', 2) LIMIT 125","SELECT Name FROM Account WHERE Foo = NULL","SELECT Name FROM Account WHERE Foo = TODAY","SELECT Name FROM Account WHERE Foo = LAST_N_YEARS:1","SELECT Name FROM Account WHERE Foo = 2010-09-20T22:16:30.000Z","SELECT Name FROM Account WHERE Foo = 1","SELECT Name FROM Account WHERE Foo = TRUE AND bar = FALSE","SELECT CALENDAR_YEAR(CreatedDate) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(CreatedDate)","SELECT CALENDAR_YEAR(convertTimezone(CreatedDate)) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(convertTimezone(CreatedDate))","SELECT COUNT_DISTINCT(Company) distinct FROM Lead","SELECT Name, toLabel(Recordtype.Name) FROM Account","SELECT Id, MSP1__c FROM CustObj__c WHERE MSP1__c INCLUDES (\'AAA;BBB\', \'CCC\')","SELECT Id FROM Account WHERE CreatedDate > LAST_N_FISCAL_QUARTERS:6","SELECT Id FROM Opportunity WHERE CloseDate < NEXT_N_FISCAL_YEARS:3","SELECT Id FROM Opportunity WHERE CloseDate > LAST_N_FISCAL_YEARS:3","SELECT Id, Title FROM Dashboard USING SCOPE allPrivate WHERE Type != \'SpecifiedUser\'","SELECT LeadSource, Rating, GROUPING(LeadSource) grpLS, GROUPING(Rating) grpRating, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource, Rating)","SELECT Type, BillingCountry, GROUPING(Type) grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type, BillingCountry) ORDER BY GROUPING(Type), GROUPING(BillingCountry)","SELECT HOUR_IN_DAY(convertTimezone(CreatedDate)), SUM(Amount) FROM Opportunity GROUP BY HOUR_IN_DAY(convertTimezone(CreatedDate))","SELECT Id FROM Opportunity WHERE Amount > USD5000","SELECT Id FROM Opportunity WHERE Amount > USD5000.01","SELECT Id, Amount FROM Opportunity WHERE Amount IN (usd500.01, usd600)","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name LIKE \'%testing%\' OR Name LIKE \'%123%\')","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name IN (\'4/30 testing account\', \'amendment quote doc testing\', null))","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (NOT Name IN (\'4/30 testing account\', \'amendment quote doc testing\'))","SELECT Name, Location__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), \'mi\') < 20","SELECT Name, StreetAddress__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), \'mi\') < 20 ORDER BY DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), \'mi\') DESC LIMIT 10","SELECT Id, Name, Location, DISTANCE(Location, GEOLOCATION(10, 10), \'mi\') FROM CONTACT","SELECT BillingState, BillingStreet, COUNT(Id) FROM Account GROUP BY BillingState, BillingStreet","SELECT Id, Name, Location__c, DISTANCE(Location__c, GEOLOCATION(-10.775, -10.775), \'MI\') FROM CONTACT","SELECT Id FROM Account WHERE CreatedDate IN (TODAY)","SELECT Id FROM Account WHERE CreatedDate IN (TODAY)","SELECT Id FROM Account WHERE CreatedDate IN (TODAY, LAST_N_DAYS:4)","SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:2)","SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:4, LAST_N_DAYS:7)","SELECT SBQQ__Product__r.Name foo, SBQQ__Quote__c foo1 FROM SBQQ__Quoteline__c GROUP BY SBQQ__Quote__c, SBQQ__Product__r.Name","SELECT Id, convertCurrency(Amount) FROM Opportunity WHERE Amount > 0 AND CALENDAR_YEAR(CloseDate) = 2020","SELECT Id FROM LoginHistory WHERE LoginTime > 2020-04-23T09:00:00.00000000000000000000000000000000+00:00 AND LoginTime < 2020-04-15T02:40:03.000+0000","SELECT ProductCode FROM Product2 GROUP BY ProductCode HAVING COUNT(Id) > 1 ORDER BY COUNT(Id) DESC","SELECT AnnualRevenue FROM Account WHERE NOT (AnnualRevenue > 0 AND AnnualRevenue < 200000)","SELECT AnnualRevenue FROM Account WHERE ((NOT AnnualRevenue > 0) AND AnnualRevenue < 200000)","SELECT Id FROM Account WHERE NOT Id = \'2\'","SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate)","SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS FIRST","SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS LAST, SUM(amount) ASC NULLS LAST","SELECT FIELDS(ALL) FROM Account","SELECT FIELDS(CUSTOM), FIELDS(STANDARD) FROM Account","SELECT Id, (SELECT FIELDS(ALL) FROM Contacts) FROM Account","SELECT UserId, CALENDAR_MONTH(LoginTime) month FROM LoginHistory WHERE NetworkId != NULL GROUP BY UserId, CALENDAR_MONTH(LoginTime)","SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contactMap.keySet()) FROM Account WHERE Id IN :accountMap.keySet()","SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contact_900Map.keySet()) FROM Account WHERE Id IN :acco INVALID untMap.keySet()","SELECT Id FROM Account WHERE Id IN :new Map(someVar).keySet()","SELECT Id FROM Account WHERE Id IN :new Map(someVar).getSomeClass().records","SELECT Id FROM SBQQ__QuoteTerm__c WHERE SBQQ__StandardTerm__c = :CPQ_Hard_Coded_Ids__c.getInstance().Standard_Quote_Term_Id__c","SELECT Id FROM Opportunity WHERE SBQQ__StandardTerm__c = :quotes[3].SBQQ__QuoteLine__r[0].Term__c","SELECT Name FROM Account WHERE Name IN (\'GenePoint\\\\\'s \\\\n Ok!?!@#$^%$&*()_+\')","SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = \'MI\' OR State_Abbr_c = \'km\'","SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = \'KM\'","SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c IN (\'mi\', \'KM\')","SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > \'km\'","SELECT Id FROM Account WITH USER_MODE","SELECT Id FROM Account WITH SYSTEM_MODE","SELECT Id, BillingCity FROM Account WHERE NOT (NOT BillingCity LIKE \'%123%\')","SELECT Id FROM Account WHERE NOT (NOT Invoice_Type__c LIKE \'%Usage%\')","SELECT Id FROM Account WHERE (NOT Invoice_Type__c LIKE \'%Usage%\')","SELECT Id, City FROM Lead WHERE NOT ((NOT (City LIKE \'%LHR%\')) AND City LIKE \'%KHR%\')"]');function S(e){let{isOpen:t=!0,selected:a,onSelected:i,onToggleOpen:l}=e;return(0,E.jsxs)("div",{className:(0,n.Z)(R.container,{[R.collapsed]:!t}),children:[(0,E.jsx)("button",{className:R.collapseIcon,onClick:l,title:"Toggle sidebar",children:t?"<":">"}),t&&(0,E.jsx)("ul",{className:R.list,children:T.map(((e,t)=>(0,E.jsx)("li",{className:(0,n.Z)(R.listItem,{[R.selected]:a===e}),onClick:()=>i(e),children:(0,E.jsx)(o.y,{code:e,language:"sql",classNames:{pre:"wrap-text"}})},e+t)))})]})}function L(e){let{initialTab:t,className:a,tabs:l=[]}=e;const[o,s]=(0,i.useState)(t||l[0]?.id);return(0,E.jsxs)("div",{children:[(0,E.jsx)("ul",{className:"tabs tabs--block",children:l.map((e=>{let{id:t,label:a}=e;return(0,E.jsx)("li",{className:(0,n.Z)("tabs__item",{"tabs__item--active":t===o}),onClick:()=>s(t),children:a},t)}))}),(0,E.jsx)("div",{className:a,children:l.find((e=>{let{id:t}=e;return t===o}))?.content})]})}var I=a(6040);const m={fields:[{type:"Field",field:"Id"},{type:"Field",field:"Name"},{type:"FieldRelationship",field:"Name",relationships:["Account"],rawValue:"Account.Name"}],sObject:"Contact"},A={type:"FieldFunctionExpression",functionName:"FORMAT",parameters:[{type:"FieldFunctionExpression",functionName:"MIN",parameters:["closedate"],isAggregateFn:!0,rawValue:"MIN(closedate)"}],rawValue:"FORMAT(MIN(closedate))",alias:"Amt"},p={fields:[{type:"Field",field:"Name"}],relationshipName:"Line_Items__r"},F={type:"FieldSubquery",subquery:p},_={left:{field:"LoginTime",operator:">",value:"2010-09-20T22:16:30.000Z",literalType:"DATETIME"},operator:"AND",right:{left:{field:"LoginTime",operator:"<",value:"2010-09-21",literalType:"DATE"}}},y={left:{fn:{functionName:"COUNT",parameters:["Id"],rawValue:"COUNT(Id)"},operator:">",value:"1",literalType:"INTEGER"}},M={field:"Amount",operator:"IN",value:["usd500.01","usd600"],literalType:["DECIMAL_WITH_CURRENCY_PREFIX","INTEGER_WITH_CURRENCY_PREFIX"]},g={field:"CreatedDate",operator:"IN",value:["TODAY"],literalType:"DATE_LITERAL"},h={field:"CreatedDate",operator:"IN",value:["LAST_N_DAYS:2"],literalType:"DATE_N_LITERAL",dateLiteralVariable:[2]},f={fn:{functionName:"DISTANCE",parameters:["Location__c",{functionName:"GEOLOCATION",parameters:["37.775","-122.418"],rawValue:"GEOLOCATION(37.775, -122.418)"},"'mi'"],rawValue:"DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi')"},operator:"<",value:"20",literalType:"INTEGER"},D={field:"CreatedById",operator:"IN",valueQuery:{fields:[{type:"FieldTypeof",field:"Owner",conditions:[{type:"WHEN",objectType:"User",fieldList:["Id"]},{type:"WHEN",objectType:"Group",fieldList:["CreatedById"]}]}],sObject:"CASE"}},b={field:"Name",order:"DESC",nulls:"LAST"},W={fn:{functionName:"COUNT",parameters:["Id"],rawValue:"COUNT(Id)"},order:"DESC"},H={field:"LeadSource"},v={fn:{functionName:"CUBE",parameters:["Type","BillingCountry"],rawValue:"CUBE(Type, BillingCountry)"}},U=[{label:"hasAlias(value)",input:`hasAlias(${JSON.stringify(A,null,2)});`,output:JSON.stringify((0,l.nu)(A),null,2)||"false"},{label:"getField(value)",input:"getField(Name);",output:JSON.stringify((0,l.rz)("Name"),null,2)||"false"},{label:"getFlattenedFields(value)",input:`getFlattenedFields(${JSON.stringify(m,null,2)});`,output:JSON.stringify((0,l.dV)(m),null,2)||"false"},{label:"isSubquery(value)",input:`isSubquery(${JSON.stringify(p,null,2)});`,output:JSON.stringify((0,l.tJ)(p),null,2)||"false"},{label:"isFieldSubquery(value)",input:`isFieldSubquery(${JSON.stringify(F,null,2)});`,output:JSON.stringify((0,l.OV)(F),null,2)||"false"},{label:"isWhereClauseWithRightCondition(value)",input:`isWhereClauseWithRightCondition(${JSON.stringify(_,null,2)});`,output:JSON.stringify((0,l.g3)(_),null,2)||"false"},{label:"isHavingClauseWithRightCondition(value)",input:`isHavingClauseWithRightCondition(${JSON.stringify(y,null,2)});`,output:JSON.stringify((0,l.xL)(y),null,2)||"false"},{label:"isWhereOrHavingClauseWithRightCondition(value)",input:`isWhereOrHavingClauseWithRightCondition(${JSON.stringify(_,null,2)});`,output:JSON.stringify((0,l.Y3)(_),null,2)||"false"},{label:"isValueCondition(value)",input:`isValueCondition(${JSON.stringify(M,null,2)});`,output:JSON.stringify((0,l.v$)(M),null,2)||"false"},{label:"isValueWithDateLiteralCondition(value)",input:`isValueWithDateLiteralCondition(${JSON.stringify(g,null,2)});`,output:JSON.stringify((0,l.Ti)(g),null,2)||"false"},{label:"isValueWithDateNLiteralCondition(value)",input:`isValueWithDateNLiteralCondition(${JSON.stringify(h,null,2)});`,output:JSON.stringify((0,l.fS)(h),null,2)||"false"},{label:"isValueFunctionCondition(value)",input:`isValueFunctionCondition(${JSON.stringify(f,null,2)});`,output:JSON.stringify((0,l.pH)(f),null,2)||"false"},{label:"isNegationCondition(value)",input:"TODO",output:"TODO"},{label:"isValueQueryCondition(value)",input:`isValueQueryCondition(${JSON.stringify(D,null,2)});`,output:JSON.stringify((0,l.CL)(D),null,2)||"false"},{label:"isOrderByField(value)",input:`isOrderByField(${JSON.stringify(b,null,2)});`,output:JSON.stringify((0,l.Jp)(b),null,2)||"false"},{label:"isOrderByFn(value)",input:`isOrderByFn(${JSON.stringify(W,null,2)});`,output:JSON.stringify((0,l.tk)(W),null,2)||"false"},{label:"isGroupByField(value)",input:`isGroupByField(${JSON.stringify(H,null,2)});`,output:JSON.stringify((0,l.sC)(H),null,2)||"false"},{label:"isGroupByFn(value)",input:`isGroupByFn(${JSON.stringify(v,null,2)});`,output:JSON.stringify((0,l.vf)(v),null,2)||"false"}];function x(e){let{}=e;return(0,E.jsx)(E.Fragment,{children:U.map((e=>(0,E.jsxs)("div",{children:[(0,E.jsx)("div",{className:"label label--large",children:e.label}),(0,E.jsxs)("div",{className:"row",children:[(0,E.jsxs)("div",{className:"col col--6",children:[(0,E.jsx)("div",{children:"Input"}),(0,E.jsx)(o.y,{code:e.input,language:"javascript"})]}),(0,E.jsxs)("div",{className:"col col--6",children:[(0,E.jsx)("div",{children:"Output"}),(0,E.jsx)(o.y,{code:e.output,language:"javascript"})]})]})]},e.label)))})}function B(){const[e,t]=(0,i.useState)("SELECT Id, Name, BillingCity FROM Account"),[a,l]=(0,i.useState)("SELECT Id, Name, BillingCity FROM Account"),[o,s]=(0,i.useState)(!0);function c(e){l(e),t(e)}function r(){s(!o)}return(0,E.jsx)(I.Z,{title:"Hello",description:"Hello React Page",noFooter:!0,children:(0,E.jsx)("div",{className:"container",children:(0,E.jsx)(L,{tabs:[{id:"parse",label:"Parse Queries",content:(0,E.jsxs)("div",{className:"row row--no-gutters",children:[(0,E.jsx)("div",{className:(0,n.Z)({col:o}),children:(0,E.jsx)(S,{isOpen:o,selected:a,onSelected:c,onToggleOpen:r})}),(0,E.jsx)("div",{className:"col",style:{overflow:"hidden"},children:(0,E.jsx)(C,{selectedQuery:a})})]})},{id:"compose",label:"Compose Queries",content:(0,E.jsxs)("div",{className:"row row--no-gutters",children:[(0,E.jsx)("div",{className:(0,n.Z)({col:o}),children:(0,E.jsx)(S,{isOpen:o,selected:a,onSelected:c,onToggleOpen:r})}),(0,E.jsx)("div",{className:"col",style:{overflow:"hidden"},children:(0,E.jsx)(u,{selectedQuery:a})})]})},{id:"utilities",label:"Utility Functions",content:(0,E.jsx)("div",{className:"row row--no-gutters",children:(0,E.jsx)("div",{className:"col",style:{overflow:"hidden"},children:(0,E.jsx)(x,{})})})}]})})})}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[342],{977:(e,t,a)=>{a.d(t,{y:()=>E});var n=a(2573),i=a(2949),l=a(5893);function E(e){let{code:t,language:a,classNames:E={}}=e;const{colorMode:o}=(0,i.I)(),s="light"===o?n.np.github:n.np.shadesOfPurple;return(0,l.jsx)(n.y$,{theme:s,code:t,language:a,children:e=>{let{style:t,tokens:a,getLineProps:n,getTokenProps:i}=e;return(0,l.jsx)("pre",{className:E?.pre,style:{...t,margin:0},children:a.map(((e,t)=>(0,l.jsx)("div",{...n({line:e}),children:e.map(((e,t)=>(0,l.jsx)("span",{...i({token:e})},t)))},t)))})}})}},791:(e,t,a)=>{a.r(t),a.d(t,{default:()=>B});var n=a(512),i=a(7294),l=a(1867),E=a(977),o=a(5893);function s(e){let{query:t}=e;return(0,o.jsx)("div",{className:"",children:t&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"label",children:"Output"}),(0,o.jsx)(E.y,{code:t,language:"sql"})]})})}const c={textarea:"textarea_hv9b"};function r(e){let{queryObj:t,onChange:a}=e;return(0,o.jsx)("div",{children:(0,o.jsxs)("label",{className:"label",children:["Query Object",(0,o.jsx)("textarea",{className:c.textarea,value:t,onChange:e=>a(e.target.value)})]})})}function u(e){let{selectedQuery:t}=e;const[a,E]=(0,i.useState)(!0),[c,u]=(0,i.useState)(1),[d,O]=(0,i.useState)(60),[N,C]=(0,i.useState)(!0),[R,T]=(0,i.useState)(!1),[S,L]=(0,i.useState)(""),[I,m]=(0,i.useState)("");return(0,i.useEffect)((()=>{try{L(JSON.stringify((0,l.mB)(t,{allowApexBindVariables:!0}),null,2))}catch(e){L("{\n}")}}),[t]),(0,i.useEffect)((()=>{try{S&&m((0,l.IC)(JSON.parse(S),{format:a,formatOptions:{fieldMaxLineLength:d,fieldSubqueryParensOnOwnLine:N,newLineAfterKeywords:R,numIndent:c}}))}catch(e){}}),[S,a,c,d,N,R]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r,{queryObj:S,onChange:function(e){L(e)}}),(0,o.jsxs)("fieldset",{children:[(0,o.jsx)("legend",{className:"label",children:"Parse Options"}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{title:"Set this to true to apply formatting to the parsed query",children:[(0,o.jsx)("input",{type:"checkbox",checked:a,onChange:e=>E(e.target.checked)}),"formatQuery"]})}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"The number of tab characters to indent.",children:["numIndent",(0,o.jsx)("input",{disabled:!a,type:"number",min:0,value:c,onChange:e=>u(Number(e.target.value??0))})]})}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"The number of characters that the fields should take up before making a new line. Set this to 1 or 0 to have every field on its own line.",children:["fieldMaxLineLength",(0,o.jsx)("input",{disabled:!a,type:"number",min:0,value:d,onChange:e=>O(Number(e.target.value??0))})]})}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"If true, the opening and closing parentheses will be on their own line for subqueries.",children:[(0,o.jsx)("input",{disabled:!a,type:"checkbox",checked:N,onChange:e=>C(e.target.checked)}),"fieldSubqueryParensOnOwnLine"]})}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{className:(0,n.Z)({disabled:!a}),title:"Adds a new line and indent after all keywords (such as SELECT, FROM, WHERE, ORDER BY, etc..) Setting this to true will add new lines in other places as well, such as complex WHERE clauses.",children:[(0,o.jsx)("input",{disabled:!a,type:"checkbox",checked:R,onChange:e=>T(e.target.checked)}),"newLineAfterKeywords"]})})]}),(0,o.jsx)(s,{query:I})]})}function d(e){let{query:t}=e;const[a,n]=(0,i.useState)(!0),[s,c]=(0,i.useState)(!1),[r,u]=(0,i.useState)(!0),[d,O]=(0,i.useState)(null),[N,C]=(0,i.useState)(null);(0,i.useEffect)((()=>{try{t&&O((0,l.mB)(t,{allowPartialQuery:a,ignoreParseErrors:s,allowApexBindVariables:r}))}catch(e){O(null),C(e.message)}}),[t,a,s,r]);const R=d?JSON.stringify(d,null,2):N;return(0,o.jsxs)("div",{className:"",children:[(0,o.jsxs)("fieldset",{children:[(0,o.jsx)("legend",{className:"label",children:"Parse Options"}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{title:"Determines if apex variables are allowed in parsed query. Example: `WHERE Id IN :accountIds`. Only simple Apex is supported. Function calls are not supported. (e.x. `accountMap.keyset()` is not supported)",children:[(0,o.jsx)("input",{type:"checkbox",checked:r,onChange:e=>u(e.target.checked)}),"allowApexBindVariables"]})}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{title:"If provided, you can provide an incomplete soql query. This is useful if you need to parse WHERE clauses, for example. Subqueries are required to be valid.",children:[(0,o.jsx)("input",{type:"checkbox",checked:a,onChange:e=>n(e.target.checked)}),"allowPartialQuery"]})}),(0,o.jsx)("div",{children:(0,o.jsxs)("label",{title:"If set to true, then queries with partially invalid syntax will still be parsed, but any clauses with invalid parts will be omitted. The SELECT clause and FROM clause must always be valid, but all other clauses can contain invalid parts.",children:[(0,o.jsx)("input",{type:"checkbox",checked:s,onChange:e=>c(e.target.checked)}),"ignoreParseErrors"]})})]}),(d||N)&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"label",children:"Output"}),(0,o.jsx)(E.y,{code:R,language:"json"})]})]})}const O={textarea:"textarea_MD8h"};function N(e){let{soql:t,onChange:a}=e;return(0,o.jsx)("div",{children:(0,o.jsxs)("label",{className:"label",children:["SOQL Query",(0,o.jsx)("textarea",{className:O.textarea,value:t,onChange:e=>a(e.target.value)})]})})}function C(e){let{selectedQuery:t}=e;const[a,n]=(0,i.useState)(t);return(0,i.useEffect)((()=>{n(t)}),[t]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(N,{soql:a,onChange:function(e){n(e)}}),(0,o.jsx)(d,{query:a})]})}const R={container:"container_f1_9",collapsed:"collapsed_m3ao",collapseIcon:"collapseIcon_fTmE",list:"list_VMDG",listItem:"listItem_WVMh",selected:"selected_LEl_"},T=JSON.parse('["SELECT Id, Name, BillingCity FROM Account","SELECT Id FROM Contact WHERE Name LIKE \'A%\' AND MailingCity = \'California\'","SELECT Name FROM Account ORDER BY Name DESC NULLS LAST","SELECT Name FROM Account WHERE Industry = \'media\' LIMIT 125","SELECT Name FROM Account WHERE Industry = \'media\' ORDER BY BillingPostalCode ASC NULLS LAST LIMIT 125","SELECT COUNT() FROM Contact","SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 1","SELECT Name, Id FROM Merchandise__c ORDER BY Name OFFSET 100","SELECT Name, Id FROM Merchandise__c ORDER BY Name LIMIT 20 OFFSET 100","SELECT Contact.FirstName, Contact.Account.Name FROM Contact","SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = \'media\'","SELECT Name, (SELECT LastName FROM Contacts) FROM Account","SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account","SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias=\'x\') FROM Account WHERE Industry=\'media\'","SELECT Id, FirstName__c, Mother_of_Child__r.FirstName__c FROM Daughter__c WHERE Mother_of_Child__r.LastName__c LIKE \'C%\'","SELECT Name, (SELECT Name FROM Line_Items__r) FROM Merchandise__c WHERE Name LIKE \'Acme%\'","SELECT Id, Owner.Name FROM Task WHERE Owner.FirstName LIKE \'B%\'","SELECT Id, Who.FirstName, Who.LastName FROM Task WHERE Owner.FirstName LIKE \'B%\'","SELECT Id, What.Name FROM Event","SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate ELSE Name, Email END FROM Event","SELECT Name, (SELECT CreatedBy.Name FROM Notes) FROM Account","SELECT Amount, Id, Name, (SELECT Quantity, ListPrice, PricebookEntry.UnitPrice, PricebookEntry.Name FROM OpportunityLineItems) FROM Opportunity","SELECT UserId, LoginTime FROM LoginHistory","SELECT UserId, COUNT(Id) FROM LoginHistory WHERE LoginTime > 2010-09-20T22:16:30.000Z AND LoginTime < 2010-09-21 GROUP BY UserId","SELECT Id, Name, IsActive, SobjectType, DeveloperName, Description FROM RecordType","SELECT CampaignId, AVG(Amount) avg FROM Opportunity GROUP BY CampaignId HAVING COUNT(Id, Name) > 1","SELECT LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource)","SELECT Status, LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(Status, LeadSource)","SELECT Type, BillingCountry, GROUPING(Type)grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type,BillingCountry) ORDER BY GROUPING(Type), GROUPING(Id,BillingCountry), Name DESC NULLS FIRST, Id ASC NULLS LAST","SELECT c.Name, c.Account.Name FROM Contact c","SELECT Id FROM Account WHERE (Id IN (\'1\', \'2\', \'3\') OR (NOT Id = \'2\') OR (Name LIKE \'%FOO%\' OR (Name LIKE \'%ARM%\' AND FOO = \'bar\')))","SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > \'Phone\'","SELECT a.Id, a.Name, (SELECT a2.Id FROM ChildAccounts a2), (SELECT a1.Id FROM ChildAccounts1 a1) FROM Account a","SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = \'online\' WITH DATA CATEGORY Geography__c ABOVE usa__c","SELECT Title FROM Question WHERE LastReplyDate > 2005-10-08T01:02:03Z WITH DATA CATEGORY Geography__c AT (usa__c, uk__c)","SELECT UrlName FROM KnowledgeArticleVersion WHERE PublishStatus = \'draft\' WITH DATA CATEGORY Geography__c AT usa__c AND Product__c ABOVE_OR_BELOW mobile_phones__c","SELECT Id FROM Contact FOR VIEW","SELECT Id FROM Contact FOR REFERENCE","SELECT Id FROM Contact FOR UPDATE","SELECT Id FROM FAQ__kav FOR UPDATE","SELECT Id FROM FAQ__kav FOR VIEW UPDATE TRACKING","SELECT Id FROM FAQ__kav UPDATE VIEWSTAT","SELECT amount, FORMAT(amount) Amt, convertCurrency(amount) editDate, FORMAT(convertCurrency(amount)) convertedCurrency FROM Opportunity WHERE id = \'12345\'","SELECT FORMAT(MIN(closedate)) Amt FROM Opportunity","SELECT Company, toLabel(Status) FROM Lead WHERE toLabel(Status) = \'le Draft\'","SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Opportunity WHERE StageName = \'Closed Lost\')","SELECT Id FROM Account WHERE Id NOT IN (SELECT AccountId FROM Opportunity WHERE IsClosed = TRUE)","SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE LastName LIKE \'apple%\') AND Id IN (SELECT AccountId FROM Opportunity WHERE isClosed = FALSE)","SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contact.Foo.Bars) FROM Account","SELECT LeadSource, COUNT(Name)cnt FROM Lead","SELECT Id, Name FROM Account WHERE Name != \'foo\'","SELECT Id FROM Account WHERE Foo IN (\'1\', \'2\', \'3\') OR Bar IN (1, 2, 3) OR Baz IN (101.00, 102.50) OR Bam IN (\'FOO\', null)","SELECT Id, Name FROM Account WHERE CreatedDate > LAST_N_YEARS:1 AND LastModifiedDate > LAST_MONTH","SELECT Id, CreatedById, CreatedDate, DefType, IsDeleted, Format, LastModifiedById, LastModifiedDate, AuraDefinitionBundleId, ManageableState, Source, SystemModstamp FROM AuraDefinition","SELECT Id, Name, BillingCity FROM Account WITH SECURITY_ENFORCED","SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = \'online\' WITH DATA CATEGORY Geography__c ABOVE usa__c WITH SECURITY_ENFORCED","SELECT Id FROM Account WHERE (((Name = \'1\' OR Name = \'2\') AND Name = \'3\')) AND (((Description = \'123\') OR (Id = \'1\' AND Id = \'2\'))) AND Id = \'1\'","SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate END FROM Event","SELECT Name FROM Account WHERE CreatedById IN (SELECT TYPEOF Owner WHEN User THEN Id WHEN Group THEN CreatedById END FROM CASE)","SELECT Name FROM Account OFFSET 1","SELECT Name FROM Account WHERE Id = :foo","SELECT Name FROM Account WHERE Industry IN (\'media\', null, 1, \'media\', 2) LIMIT 125","SELECT Name FROM Account WHERE Foo = NULL","SELECT Name FROM Account WHERE Foo = TODAY","SELECT Name FROM Account WHERE Foo = LAST_N_YEARS:1","SELECT Name FROM Account WHERE Foo = 2010-09-20T22:16:30.000Z","SELECT Name FROM Account WHERE Foo = 1","SELECT Name FROM Account WHERE Foo = TRUE AND bar = FALSE","SELECT CALENDAR_YEAR(CreatedDate) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(CreatedDate)","SELECT CALENDAR_YEAR(convertTimezone(CreatedDate)) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(convertTimezone(CreatedDate))","SELECT COUNT_DISTINCT(Company) distinct FROM Lead","SELECT Name, toLabel(Recordtype.Name) FROM Account","SELECT Id, MSP1__c FROM CustObj__c WHERE MSP1__c INCLUDES (\'AAA;BBB\', \'CCC\')","SELECT Id FROM Account WHERE CreatedDate > LAST_N_FISCAL_QUARTERS:6","SELECT Id FROM Opportunity WHERE CloseDate < NEXT_N_FISCAL_YEARS:3","SELECT Id FROM Opportunity WHERE CloseDate > LAST_N_FISCAL_YEARS:3","SELECT Id, Title FROM Dashboard USING SCOPE allPrivate WHERE Type != \'SpecifiedUser\'","SELECT LeadSource, Rating, GROUPING(LeadSource) grpLS, GROUPING(Rating) grpRating, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource, Rating)","SELECT Type, BillingCountry, GROUPING(Type) grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type, BillingCountry) ORDER BY GROUPING(Type), GROUPING(BillingCountry)","SELECT HOUR_IN_DAY(convertTimezone(CreatedDate)), SUM(Amount) FROM Opportunity GROUP BY HOUR_IN_DAY(convertTimezone(CreatedDate))","SELECT Id FROM Opportunity WHERE Amount > USD5000","SELECT Id FROM Opportunity WHERE Amount > USD5000.01","SELECT Id, Amount FROM Opportunity WHERE Amount IN (usd500.01, usd600)","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name LIKE \'%testing%\' OR Name LIKE \'%123%\')","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name IN (\'4/30 testing account\', \'amendment quote doc testing\', null))","SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (NOT Name IN (\'4/30 testing account\', \'amendment quote doc testing\'))","SELECT Name, Location__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), \'mi\') < 20","SELECT Name, StreetAddress__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), \'mi\') < 20 ORDER BY DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), \'mi\') DESC LIMIT 10","SELECT Id, Name, Location, DISTANCE(Location, GEOLOCATION(10, 10), \'mi\') FROM CONTACT","SELECT BillingState, BillingStreet, COUNT(Id) FROM Account GROUP BY BillingState, BillingStreet","SELECT Id, Name, Location__c, DISTANCE(Location__c, GEOLOCATION(-10.775, -10.775), \'MI\') FROM CONTACT","SELECT Id FROM Account WHERE CreatedDate IN (TODAY)","SELECT Id FROM Account WHERE CreatedDate IN (TODAY)","SELECT Id FROM Account WHERE CreatedDate IN (TODAY, LAST_N_DAYS:4)","SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:2)","SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:4, LAST_N_DAYS:7)","SELECT SBQQ__Product__r.Name foo, SBQQ__Quote__c foo1 FROM SBQQ__Quoteline__c GROUP BY SBQQ__Quote__c, SBQQ__Product__r.Name","SELECT Id, convertCurrency(Amount) FROM Opportunity WHERE Amount > 0 AND CALENDAR_YEAR(CloseDate) = 2020","SELECT Id FROM LoginHistory WHERE LoginTime > 2020-04-23T09:00:00.00000000000000000000000000000000+00:00 AND LoginTime < 2020-04-15T02:40:03.000+0000","SELECT ProductCode FROM Product2 GROUP BY ProductCode HAVING COUNT(Id) > 1 ORDER BY COUNT(Id) DESC","SELECT AnnualRevenue FROM Account WHERE NOT (AnnualRevenue > 0 AND AnnualRevenue < 200000)","SELECT AnnualRevenue FROM Account WHERE ((NOT AnnualRevenue > 0) AND AnnualRevenue < 200000)","SELECT Id FROM Account WHERE NOT Id = \'2\'","SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate)","SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS FIRST","SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS LAST, SUM(amount) ASC NULLS LAST","SELECT FIELDS(ALL) FROM Account","SELECT FIELDS(CUSTOM), FIELDS(STANDARD) FROM Account","SELECT Id, (SELECT FIELDS(ALL) FROM Contacts) FROM Account","SELECT UserId, CALENDAR_MONTH(LoginTime) month FROM LoginHistory WHERE NetworkId != NULL GROUP BY UserId, CALENDAR_MONTH(LoginTime)","SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contactMap.keySet()) FROM Account WHERE Id IN :accountMap.keySet()","SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contact_900Map.keySet()) FROM Account WHERE Id IN :acco INVALID untMap.keySet()","SELECT Id FROM Account WHERE Id IN :new Map(someVar).keySet()","SELECT Id FROM Account WHERE Id IN :new Map(someVar).getSomeClass().records","SELECT Id FROM SBQQ__QuoteTerm__c WHERE SBQQ__StandardTerm__c = :CPQ_Hard_Coded_Ids__c.getInstance().Standard_Quote_Term_Id__c","SELECT Id FROM Opportunity WHERE SBQQ__StandardTerm__c = :quotes[3].SBQQ__QuoteLine__r[0].Term__c","SELECT Name FROM Account WHERE Name IN (\'GenePoint\\\\\'s \\\\n Ok!?!@#$^%$&*()_+\')","SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = \'MI\' OR State_Abbr_c = \'km\'","SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = \'KM\'","SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c IN (\'mi\', \'KM\')","SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > \'km\'","SELECT Id FROM Account WITH USER_MODE","SELECT Id FROM Account WITH SYSTEM_MODE","SELECT Id, BillingCity FROM Account WHERE NOT (NOT BillingCity LIKE \'%123%\')","SELECT Id FROM Account WHERE NOT (NOT Invoice_Type__c LIKE \'%Usage%\')","SELECT Id FROM Account WHERE (NOT Invoice_Type__c LIKE \'%Usage%\')","SELECT Id, City FROM Lead WHERE NOT ((NOT (City LIKE \'%LHR%\')) AND City LIKE \'%KHR%\')","SELECT Name FROM Invoice__c WHERE Balance__c < USD-500"]');function S(e){let{isOpen:t=!0,selected:a,onSelected:i,onToggleOpen:l}=e;return(0,o.jsxs)("div",{className:(0,n.Z)(R.container,{[R.collapsed]:!t}),children:[(0,o.jsx)("button",{className:R.collapseIcon,onClick:l,title:"Toggle sidebar",children:t?"<":">"}),t&&(0,o.jsx)("ul",{className:R.list,children:T.map(((e,t)=>(0,o.jsx)("li",{className:(0,n.Z)(R.listItem,{[R.selected]:a===e}),onClick:()=>i(e),children:(0,o.jsx)(E.y,{code:e,language:"sql",classNames:{pre:"wrap-text"}})},e+t)))})]})}function L(e){let{initialTab:t,className:a,tabs:l=[]}=e;const[E,s]=(0,i.useState)(t||l[0]?.id);return(0,o.jsxs)("div",{children:[(0,o.jsx)("ul",{className:"tabs tabs--block",children:l.map((e=>{let{id:t,label:a}=e;return(0,o.jsx)("li",{className:(0,n.Z)("tabs__item",{"tabs__item--active":t===E}),onClick:()=>s(t),children:a},t)}))}),(0,o.jsx)("div",{className:a,children:l.find((e=>{let{id:t}=e;return t===E}))?.content})]})}var I=a(6040);const m={fields:[{type:"Field",field:"Id"},{type:"Field",field:"Name"},{type:"FieldRelationship",field:"Name",relationships:["Account"],rawValue:"Account.Name"}],sObject:"Contact"},A={type:"FieldFunctionExpression",functionName:"FORMAT",parameters:[{type:"FieldFunctionExpression",functionName:"MIN",parameters:["closedate"],isAggregateFn:!0,rawValue:"MIN(closedate)"}],rawValue:"FORMAT(MIN(closedate))",alias:"Amt"},p={fields:[{type:"Field",field:"Name"}],relationshipName:"Line_Items__r"},F={type:"FieldSubquery",subquery:p},_={left:{field:"LoginTime",operator:">",value:"2010-09-20T22:16:30.000Z",literalType:"DATETIME"},operator:"AND",right:{left:{field:"LoginTime",operator:"<",value:"2010-09-21",literalType:"DATE"}}},y={left:{fn:{functionName:"COUNT",parameters:["Id"],rawValue:"COUNT(Id)"},operator:">",value:"1",literalType:"INTEGER"}},M={field:"Amount",operator:"IN",value:["usd500.01","usd600"],literalType:["DECIMAL_WITH_CURRENCY_PREFIX","INTEGER_WITH_CURRENCY_PREFIX"]},g={field:"CreatedDate",operator:"IN",value:["TODAY"],literalType:"DATE_LITERAL"},h={field:"CreatedDate",operator:"IN",value:["LAST_N_DAYS:2"],literalType:"DATE_N_LITERAL",dateLiteralVariable:[2]},f={fn:{functionName:"DISTANCE",parameters:["Location__c",{functionName:"GEOLOCATION",parameters:["37.775","-122.418"],rawValue:"GEOLOCATION(37.775, -122.418)"},"'mi'"],rawValue:"DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi')"},operator:"<",value:"20",literalType:"INTEGER"},D={field:"CreatedById",operator:"IN",valueQuery:{fields:[{type:"FieldTypeof",field:"Owner",conditions:[{type:"WHEN",objectType:"User",fieldList:["Id"]},{type:"WHEN",objectType:"Group",fieldList:["CreatedById"]}]}],sObject:"CASE"}},b={field:"Name",order:"DESC",nulls:"LAST"},W={fn:{functionName:"COUNT",parameters:["Id"],rawValue:"COUNT(Id)"},order:"DESC"},H={field:"LeadSource"},v={fn:{functionName:"CUBE",parameters:["Type","BillingCountry"],rawValue:"CUBE(Type, BillingCountry)"}},U=[{label:"hasAlias(value)",input:`hasAlias(${JSON.stringify(A,null,2)});`,output:JSON.stringify((0,l.nu)(A),null,2)||"false"},{label:"getField(value)",input:"getField(Name);",output:JSON.stringify((0,l.rz)("Name"),null,2)||"false"},{label:"getFlattenedFields(value)",input:`getFlattenedFields(${JSON.stringify(m,null,2)});`,output:JSON.stringify((0,l.dV)(m),null,2)||"false"},{label:"isSubquery(value)",input:`isSubquery(${JSON.stringify(p,null,2)});`,output:JSON.stringify((0,l.tJ)(p),null,2)||"false"},{label:"isFieldSubquery(value)",input:`isFieldSubquery(${JSON.stringify(F,null,2)});`,output:JSON.stringify((0,l.OV)(F),null,2)||"false"},{label:"isWhereClauseWithRightCondition(value)",input:`isWhereClauseWithRightCondition(${JSON.stringify(_,null,2)});`,output:JSON.stringify((0,l.g3)(_),null,2)||"false"},{label:"isHavingClauseWithRightCondition(value)",input:`isHavingClauseWithRightCondition(${JSON.stringify(y,null,2)});`,output:JSON.stringify((0,l.xL)(y),null,2)||"false"},{label:"isWhereOrHavingClauseWithRightCondition(value)",input:`isWhereOrHavingClauseWithRightCondition(${JSON.stringify(_,null,2)});`,output:JSON.stringify((0,l.Y3)(_),null,2)||"false"},{label:"isValueCondition(value)",input:`isValueCondition(${JSON.stringify(M,null,2)});`,output:JSON.stringify((0,l.v$)(M),null,2)||"false"},{label:"isValueWithDateLiteralCondition(value)",input:`isValueWithDateLiteralCondition(${JSON.stringify(g,null,2)});`,output:JSON.stringify((0,l.Ti)(g),null,2)||"false"},{label:"isValueWithDateNLiteralCondition(value)",input:`isValueWithDateNLiteralCondition(${JSON.stringify(h,null,2)});`,output:JSON.stringify((0,l.fS)(h),null,2)||"false"},{label:"isValueFunctionCondition(value)",input:`isValueFunctionCondition(${JSON.stringify(f,null,2)});`,output:JSON.stringify((0,l.pH)(f),null,2)||"false"},{label:"isNegationCondition(value)",input:"TODO",output:"TODO"},{label:"isValueQueryCondition(value)",input:`isValueQueryCondition(${JSON.stringify(D,null,2)});`,output:JSON.stringify((0,l.CL)(D),null,2)||"false"},{label:"isOrderByField(value)",input:`isOrderByField(${JSON.stringify(b,null,2)});`,output:JSON.stringify((0,l.Jp)(b),null,2)||"false"},{label:"isOrderByFn(value)",input:`isOrderByFn(${JSON.stringify(W,null,2)});`,output:JSON.stringify((0,l.tk)(W),null,2)||"false"},{label:"isGroupByField(value)",input:`isGroupByField(${JSON.stringify(H,null,2)});`,output:JSON.stringify((0,l.sC)(H),null,2)||"false"},{label:"isGroupByFn(value)",input:`isGroupByFn(${JSON.stringify(v,null,2)});`,output:JSON.stringify((0,l.vf)(v),null,2)||"false"}];function x(e){let{}=e;return(0,o.jsx)(o.Fragment,{children:U.map((e=>(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"label label--large",children:e.label}),(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:"col col--6",children:[(0,o.jsx)("div",{children:"Input"}),(0,o.jsx)(E.y,{code:e.input,language:"javascript"})]}),(0,o.jsxs)("div",{className:"col col--6",children:[(0,o.jsx)("div",{children:"Output"}),(0,o.jsx)(E.y,{code:e.output,language:"javascript"})]})]})]},e.label)))})}function B(){const[e,t]=(0,i.useState)("SELECT Id, Name, BillingCity FROM Account"),[a,l]=(0,i.useState)("SELECT Id, Name, BillingCity FROM Account"),[E,s]=(0,i.useState)(!0);function c(e){l(e),t(e)}function r(){s(!E)}return(0,o.jsx)(I.Z,{title:"Hello",description:"Hello React Page",noFooter:!0,children:(0,o.jsx)("div",{className:"container",children:(0,o.jsx)(L,{tabs:[{id:"parse",label:"Parse Queries",content:(0,o.jsxs)("div",{className:"row row--no-gutters",children:[(0,o.jsx)("div",{className:(0,n.Z)({col:E}),children:(0,o.jsx)(S,{isOpen:E,selected:a,onSelected:c,onToggleOpen:r})}),(0,o.jsx)("div",{className:"col",style:{overflow:"hidden"},children:(0,o.jsx)(C,{selectedQuery:a})})]})},{id:"compose",label:"Compose Queries",content:(0,o.jsxs)("div",{className:"row row--no-gutters",children:[(0,o.jsx)("div",{className:(0,n.Z)({col:E}),children:(0,o.jsx)(S,{isOpen:E,selected:a,onSelected:c,onToggleOpen:r})}),(0,o.jsx)("div",{className:"col",style:{overflow:"hidden"},children:(0,o.jsx)(u,{selectedQuery:a})})]})},{id:"utilities",label:"Utility Functions",content:(0,o.jsx)("div",{className:"row row--no-gutters",children:(0,o.jsx)("div",{className:"col",style:{overflow:"hidden"},children:(0,o.jsx)(x,{})})})}]})})})}}}]); \ No newline at end of file diff --git a/assets/js/867.6053acb4.js b/assets/js/867.6053acb4.js new file mode 100644 index 0000000..4036802 --- /dev/null +++ b/assets/js/867.6053acb4.js @@ -0,0 +1 @@ +(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[867],{2688:function(t,e,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r extends ICstVisitor {\n ").concat((0,a.default)(n,(function(t){return function(t){var e=p(t.name);return"".concat(t.name,"(children: ").concat(e,", param?: IN): OUT;")}(t)})).join("\n "),"\n}")))),c.join("\n\n")+"\n"}},2222:function(t,e,r){"use strict";var n,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.buildModel=void 0;var a=r(3062),s=o(r(5161)),u=o(r(5564)),c=o(r(2628)),l=o(r(9704)),f=o(r(7739)),p=o(r(8583));e.buildModel=function(t){var e=new h,r=(0,c.default)(t);return(0,s.default)(r,(function(t){return e.visitRule(t)}))};var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.visitRule=function(t){var e=this.visitEach(t.definition),r=(0,f.default)(e,(function(t){return t.propertyName})),n=(0,s.default)(r,(function(t,e){var r=!(0,l.default)(t,(function(t){return!t.canBeNull})),n=t[0].type;return t.length>1&&(n=(0,s.default)(t,(function(t){return t.type}))),{name:e,type:n,optional:r}}));return{name:t.name,properties:n}},e.prototype.visitAlternative=function(t){return this.visitEachAndOverrideWith(t.definition,{canBeNull:!0})},e.prototype.visitOption=function(t){return this.visitEachAndOverrideWith(t.definition,{canBeNull:!0})},e.prototype.visitRepetition=function(t){return this.visitEachAndOverrideWith(t.definition,{canBeNull:!0})},e.prototype.visitRepetitionMandatory=function(t){return this.visitEach(t.definition)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){return this.visitEach(t.definition).concat({propertyName:t.separator.name,canBeNull:!0,type:d(t.separator)})},e.prototype.visitRepetitionWithSeparator=function(t){return this.visitEachAndOverrideWith(t.definition,{canBeNull:!0}).concat({propertyName:t.separator.name,canBeNull:!0,type:d(t.separator)})},e.prototype.visitAlternation=function(t){return this.visitEachAndOverrideWith(t.definition,{canBeNull:!0})},e.prototype.visitTerminal=function(t){return[{propertyName:t.label||t.terminalType.name,canBeNull:!1,type:d(t)}]},e.prototype.visitNonTerminal=function(t){return[{propertyName:t.label||t.nonTerminalName,canBeNull:!1,type:d(t)}]},e.prototype.visitEachAndOverrideWith=function(t,e){return(0,s.default)(this.visitEach(t),(function(t){return(0,p.default)({},t,e)}))},e.prototype.visitEach=function(t){var e=this;return(0,u.default)((0,s.default)(t,(function(t){return e.visit(t)})))},e}(a.GAstVisitor);function d(t){return t instanceof a.NonTerminal?{kind:"rule",name:t.referencedRule.name}:{kind:"token"}}},3062:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isSequenceProd=e.isBranchingProd=e.isOptionalProd=e.getProductionDslName=e.GAstVisitor=e.serializeProduction=e.serializeGrammar=e.Alternative=e.Alternation=e.RepetitionWithSeparator=e.RepetitionMandatoryWithSeparator=e.RepetitionMandatory=e.Repetition=e.Option=e.NonTerminal=e.Terminal=e.Rule=void 0;var n=r(4490);Object.defineProperty(e,"Rule",{enumerable:!0,get:function(){return n.Rule}}),Object.defineProperty(e,"Terminal",{enumerable:!0,get:function(){return n.Terminal}}),Object.defineProperty(e,"NonTerminal",{enumerable:!0,get:function(){return n.NonTerminal}}),Object.defineProperty(e,"Option",{enumerable:!0,get:function(){return n.Option}}),Object.defineProperty(e,"Repetition",{enumerable:!0,get:function(){return n.Repetition}}),Object.defineProperty(e,"RepetitionMandatory",{enumerable:!0,get:function(){return n.RepetitionMandatory}}),Object.defineProperty(e,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return n.RepetitionMandatoryWithSeparator}}),Object.defineProperty(e,"RepetitionWithSeparator",{enumerable:!0,get:function(){return n.RepetitionWithSeparator}}),Object.defineProperty(e,"Alternation",{enumerable:!0,get:function(){return n.Alternation}}),Object.defineProperty(e,"Alternative",{enumerable:!0,get:function(){return n.Alternative}}),Object.defineProperty(e,"serializeGrammar",{enumerable:!0,get:function(){return n.serializeGrammar}}),Object.defineProperty(e,"serializeProduction",{enumerable:!0,get:function(){return n.serializeProduction}});var i=r(2156);Object.defineProperty(e,"GAstVisitor",{enumerable:!0,get:function(){return i.GAstVisitor}});var o=r(3559);Object.defineProperty(e,"getProductionDslName",{enumerable:!0,get:function(){return o.getProductionDslName}}),Object.defineProperty(e,"isOptionalProd",{enumerable:!0,get:function(){return o.isOptionalProd}}),Object.defineProperty(e,"isBranchingProd",{enumerable:!0,get:function(){return o.isBranchingProd}}),Object.defineProperty(e,"isSequenceProd",{enumerable:!0,get:function(){return o.isSequenceProd}})},3559:function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.getProductionDslName=e.isBranchingProd=e.isOptionalProd=e.isSequenceProd=void 0;var i=n(r(9704)),o=n(r(711)),a=n(r(4721)),s=r(4490);e.isSequenceProd=function(t){return t instanceof s.Alternative||t instanceof s.Option||t instanceof s.Repetition||t instanceof s.RepetitionMandatory||t instanceof s.RepetitionMandatoryWithSeparator||t instanceof s.RepetitionWithSeparator||t instanceof s.Terminal||t instanceof s.Rule},e.isOptionalProd=function t(e,r){return void 0===r&&(r=[]),!!(e instanceof s.Option||e instanceof s.Repetition||e instanceof s.RepetitionWithSeparator)||(e instanceof s.Alternation?(0,i.default)(e.definition,(function(e){return t(e,r)})):!(e instanceof s.NonTerminal&&(0,a.default)(r,e))&&(e instanceof s.AbstractProduction&&(e instanceof s.NonTerminal&&r.push(e),(0,o.default)(e.definition,(function(e){return t(e,r)})))))},e.isBranchingProd=function(t){return t instanceof s.Alternation},e.getProductionDslName=function(t){if(t instanceof s.NonTerminal)return"SUBRULE";if(t instanceof s.Option)return"OPTION";if(t instanceof s.Alternation)return"OR";if(t instanceof s.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof s.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof s.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof s.Repetition)return"MANY";if(t instanceof s.Terminal)return"CONSUME";throw Error("non exhaustive match")}},4490:function(t,e,r){"use strict";var n,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.serializeProduction=e.serializeGrammar=e.Terminal=e.Alternation=e.RepetitionWithSeparator=e.Repetition=e.RepetitionMandatoryWithSeparator=e.RepetitionMandatory=e.Option=e.Alternative=e.Rule=e.NonTerminal=e.AbstractProduction=void 0;var a=o(r(5161)),s=o(r(4486)),u=o(r(7037)),c=o(r(6347)),l=o(r(5937)),f=o(r(8583));function p(t){return e=t,(0,u.default)(e.LABEL)&&""!==e.LABEL?t.LABEL:t.name;var e}var h=function(){function t(t){this._definition=t}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),t.prototype.accept=function(t){t.visit(this),(0,s.default)(this.definition,(function(e){e.accept(t)}))},t}();e.AbstractProduction=h;var d=function(t){function e(e){var r=t.call(this,[])||this;return r.idx=1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),Object.defineProperty(e.prototype,"definition",{get:function(){return void 0!==this.referencedRule?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(h);e.NonTerminal=d;var E=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.orgText="",(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),e}(h);e.Rule=E;var T=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.ignoreAmbiguities=!1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),e}(h);e.Alternative=T;var v=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.idx=1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),e}(h);e.Option=v;var m=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.idx=1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),e}(h);e.RepetitionMandatory=m;var y=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.idx=1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),e}(h);e.RepetitionMandatoryWithSeparator=y;var A=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.idx=1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),e}(h);e.Repetition=A;var _=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.idx=1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),e}(h);e.RepetitionWithSeparator=_;var g=function(t){function e(e){var r=t.call(this,e.definition)||this;return r.idx=1,r.ignoreAmbiguities=!1,r.hasPredicates=!1,(0,f.default)(r,(0,l.default)(e,(function(t){return void 0!==t}))),r}return i(e,t),Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(h);e.Alternation=g;var O=function(){function t(t){this.idx=1,(0,f.default)(this,(0,l.default)(t,(function(t){return void 0!==t})))}return t.prototype.accept=function(t){t.visit(this)},t}();function L(t){function e(t){return(0,a.default)(t,L)}if(t instanceof d){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,u.default)(t.label)&&(r.label=t.label),r}if(t instanceof T)return{type:"Alternative",definition:e(t.definition)};if(t instanceof v)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof m)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof y)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:L(new O({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof _)return{type:"RepetitionWithSeparator",idx:t.idx,separator:L(new O({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof A)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof g)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof O){var n={type:"Terminal",name:t.terminalType.name,label:p(t.terminalType),idx:t.idx};(0,u.default)(t.label)&&(n.terminalLabel=t.label);var i=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=(0,c.default)(i)?i.source:i),n}if(t instanceof E)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}e.Terminal=O,e.serializeGrammar=function(t){return(0,a.default)(t,L)},e.serializeProduction=L},2156:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GAstVisitor=void 0;var n=r(4490),i=function(){function t(){}return t.prototype.visit=function(t){var e=t;switch(e.constructor){case n.NonTerminal:return this.visitNonTerminal(e);case n.Alternative:return this.visitAlternative(e);case n.Option:return this.visitOption(e);case n.RepetitionMandatory:return this.visitRepetitionMandatory(e);case n.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(e);case n.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(e);case n.Repetition:return this.visitRepetition(e);case n.Alternation:return this.visitAlternation(e);case n.Terminal:return this.visitTerminal(e);case n.Rule:return this.visitRule(e);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(t){},t.prototype.visitAlternative=function(t){},t.prototype.visitOption=function(t){},t.prototype.visitRepetition=function(t){},t.prototype.visitRepetitionMandatory=function(t){},t.prototype.visitRepetitionMandatoryWithSeparator=function(t){},t.prototype.visitRepetitionWithSeparator=function(t){},t.prototype.visitAlternation=function(t){},t.prototype.visitTerminal=function(t){},t.prototype.visitRule=function(t){},t}();e.GAstVisitor=i},8877:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toFastProperties=e.timer=e.PRINT_ERROR=e.PRINT_WARNING=void 0;var n=r(3017);Object.defineProperty(e,"PRINT_WARNING",{enumerable:!0,get:function(){return n.PRINT_WARNING}}),Object.defineProperty(e,"PRINT_ERROR",{enumerable:!0,get:function(){return n.PRINT_ERROR}});var i=r(9870);Object.defineProperty(e,"timer",{enumerable:!0,get:function(){return i.timer}});var o=r(5591);Object.defineProperty(e,"toFastProperties",{enumerable:!0,get:function(){return o.toFastProperties}})},3017:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PRINT_WARNING=e.PRINT_ERROR=void 0,e.PRINT_ERROR=function(t){console&&console.error&&console.error("Error: ".concat(t))},e.PRINT_WARNING=function(t){console&&console.warn&&console.warn("Warning: ".concat(t))}},9870:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.timer=void 0,e.timer=function(t){var e=(new Date).getTime(),r=t();return{time:(new Date).getTime()-e,value:r}}},5591:(t,e)=>{"use strict";function r(t){function e(){}e.prototype=t;var r=new e;function n(){return typeof r.bar}return n(),n(),t}Object.defineProperty(e,"__esModule",{value:!0}),e.toFastProperties=void 0,e.toFastProperties=r},1867:(t,e,r)=>{"use strict";function n(t){return(t=Array.isArray(t)?t[0]:t).image&&!0}function i(t){return"string"==typeof t}function o(t){return Number.isFinite(t)}function a(t){return null==t}function s(t,e,r){return a(t)?"":`${r||""}${t}${e||""}`}function u(t){return t.parameters&&0!==t.parameters.length?(e=t.parameters)&&e.every((t=>i(t)))?t.parameters:i(t.parameters[0])?[t.parameters[0]]:u(t.parameters[0]):[];var e}function c(t){return t&&!a(t.alias)}function l(t){return i(t.relationshipName)}function f(t){return!!t&&!!t.type&&"FieldSubquery"===t.type}function p(t){return!!t&&!!t.operator&&!!t.right}function h(t){return!!t&&!!t.operator&&!!t.right}function d(t){return!!t&&!!t.operator&&!!t.right}function E(t){return t&&i(t.field)&&i(t.operator)&&!a(t.value)}function T(t){return t&&i(t.field)&&i(t.operator)&&!a(t.value)&&("DATE_LITERAL"===t.literalType||Array.isArray(t.literalType)&&"DATE_LITERAL"===t.literalType[0])}function v(t){return t&&i(t.field)&&i(t.operator)&&!a(t.value)&&!a(t.dateLiteralVariable)}function m(t){return t&&!a(t.fn)&&i(t.operator)&&!a(t.value)}function y(t){return t&&o(t.openParen)&&a(t.operator)&&a(t.field)&&a(t.fn)&&a(t.closeParen)}function A(t){return t&&i(t.field)&&i(t.operator)&&!a(t.valueQuery)&&a(t.value)}function _(t){return t&&!a(t.field)}function g(t){return t&&!a(t.fn)}function O(t){return t&&!a(t.field)}function L(t){return t&&!a(t.fn)}function N(t,e,r){if(a(e))return t;if(r&&"APEX_BIND_VARIABLE"!==e&&function(t){return["IN","NOT IN","INCLUDES","EXCLUDES"].includes(t)}(r)&&!Array.isArray(t)&&(t=[t],e=Array.isArray(e)?e:[e]),Array.isArray(e)&&Array.isArray(t))return t.map(((t,r)=>function(t,e){if("STRING"===e)return i(t)&&t.startsWith("'")?t:`'${t??""}'`;return t}(t,e?.[r])));switch(Array.isArray(e)&&(e=e[0]),e){case"STRING":return Array.isArray(t)?t.filter(Boolean).map((t=>i(t)&&t.startsWith("'")?t:`'${t??""}'`)):i(t=String(t??""))&&t.startsWith("'")?t:`'${t??""}'`;case"APEX_BIND_VARIABLE":return`:${t}`;default:return t}}r.d(e,{IC:()=>pn,rz:()=>cn,dV:()=>ln,nu:()=>c,OV:()=>f,sC:()=>O,vf:()=>L,xL:()=>h,Jp:()=>_,tk:()=>g,tJ:()=>l,v$:()=>E,pH:()=>m,CL:()=>A,Ti:()=>T,fS:()=>v,g3:()=>p,Y3:()=>d,mB:()=>un});var R=r(417);R.ue,R.r3;const S=R.wd,I=(R._o,R.sd,R.N7,R.nu,R.Mf,R.dV,R.hW),C=(R.Bw,R.P7,R.z5,R.Sj,R.Oq,R.Wx,R._b,R.b4,R.hI,R.ej,R.fK,R.pT,R.$9,R.oI,R.q4,R.LK,R.H7,R.V3),x=(R.dK,R.ZW,R.Hs,R.Kv,R.oC,R.bS,R.N$,R.SE,R.l$,R.ol,R.vA,C({name:"KeywordReserved",pattern:I.NA})),P=C({name:"Keyword",pattern:I.NA}),b=C({name:"DateFunction",pattern:I.NA}),M=C({name:"AggregateFunction",pattern:I.NA}),k=C({name:"LocationFunction",pattern:I.NA}),U=C({name:"FieldsFunction",pattern:I.NA}),F=C({name:"FieldsFunctionParamIdentifier",pattern:I.NA}),D=C({name:"OtherFunction",pattern:I.NA}),w=C({name:"DateLiteral",pattern:I.NA}),B=C({name:"DateLiteralNotIdentifier",pattern:I.NA}),j=C({name:"DateNLiteral",pattern:I.NA}),G=C({name:"RelationalOperator",pattern:I.NA}),W=C({name:"SymbolIdentifier",pattern:I.NA}),V=C({name:"DateIdentifier",pattern:I.NA}),Y=C({name:"NumberIdentifier",pattern:I.NA}),K=C({name:"DecimalNumberIdentifier",pattern:I.NA}),$=C({name:"IntegerNumberIdentifier",pattern:I.NA}),H=C({name:"IdentifierNotKeyword",pattern:I.NA}),z=C({name:"UsingScopeEnumeration",pattern:I.NA}),X=C({name:"RParenMismatch",pattern:I.NA}),q=/[a-zA-Z][a-zA-Z0-9_.]*/y;const Q=C({name:"Identifier",pattern:function(t,e){q.lastIndex=e;const r=q.exec(t);return r&&r[0].includes("..")?null:r},line_breaks:!1,categories:[H],start_chars_hint:["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]}),Z=C({name:"StringIdentifier",line_breaks:!0,pattern:/(')(?:(?=(\\?))\2.)*?\1/}),J=C({name:"WhiteSpace",pattern:/\s+/,group:I.SKIPPED}),tt=C({name:"AND",pattern:/AND/i,longer_alt:Q,categories:[P,x]}),et=C({name:"AS",pattern:/AS/i,longer_alt:Q,categories:[P,x]}),rt=C({name:"DESC",pattern:/DESC/i,longer_alt:Q,categories:[P,x]}),nt=C({name:"ASC",pattern:/ASC/i,longer_alt:Q,categories:[P,x]}),it=C({name:"ORDER_BY",pattern:/ORDER BY/i,longer_alt:Q}),ot=C({name:"CUBE",pattern:/CUBE/i,longer_alt:Q,categories:[P,x]}),at=C({name:"ELSE",pattern:/ELSE/i,longer_alt:Q,categories:[P,x]}),st=C({name:"EXCLUDES",pattern:/EXCLUDES/i,longer_alt:Q,categories:[P,x]}),ut=C({name:"FALSE",pattern:/FALSE/i,longer_alt:Q,categories:[P,x]}),ct=C({name:"FIRST",pattern:/FIRST/i,longer_alt:Q,categories:[P,x]}),lt=C({name:"FROM",pattern:/FROM/i,longer_alt:Q,categories:[P,x]}),ft=C({name:"GROUP_BY",pattern:/GROUP BY/i,longer_alt:Q}),pt=C({name:"HAVING",pattern:/HAVING/i,longer_alt:Q,categories:[P,x]}),ht=C({name:"IN",pattern:/IN/i,longer_alt:Q,categories:[P,x]}),dt=C({name:"INCLUDES",pattern:/INCLUDES/i,longer_alt:Q,categories:[P,x]}),Et=C({name:"LAST",pattern:/LAST/i,longer_alt:Q,categories:[P,x]}),Tt=C({name:"LIKE",pattern:/LIKE/i,longer_alt:Q,categories:[P,x]}),vt=C({name:"LIMIT",pattern:/LIMIT/i,longer_alt:Q,categories:[P,x]}),mt=C({name:"NOT",pattern:/NOT/i,longer_alt:Q,categories:[P,x]}),yt=C({name:"NULL",pattern:/NULL/i,longer_alt:Q,categories:[P,x]}),At=C({name:"NULLS",pattern:/NULLS/i,longer_alt:Q,categories:[P,x]}),_t=C({name:"OR",pattern:/OR/i,longer_alt:Q,categories:[P,x]}),gt=C({name:"ROLLUP",pattern:/ROLLUP/i,longer_alt:Q,categories:[P,x]}),Ot=C({name:"SELECT",pattern:/SELECT/i,longer_alt:Q,categories:[P,x]}),Lt=C({name:"TRUE",pattern:/TRUE/i,longer_alt:Q,categories:[P,x]}),Nt=C({name:"USING",pattern:/USING/i,longer_alt:Q,categories:[P,x]}),Rt=C({name:"WHERE",pattern:/WHERE/i,longer_alt:Q,categories:[P,x]}),St=C({name:"WITH",pattern:/WITH/i,longer_alt:Q,categories:[P,x]}),It=C({name:"FOR",pattern:/FOR/i,longer_alt:Q,categories:[P,x]}),Ct=C({name:"UPDATE",pattern:/UPDATE/i,longer_alt:Q,categories:[P,x]}),xt=C({name:"ABOVE",pattern:/ABOVE/i,longer_alt:Q,categories:[P,Q]}),Pt=C({name:"ABOVE_OR_BELOW",pattern:/ABOVE_OR_BELOW/i,longer_alt:Q,categories:[P,Q]}),bt=C({name:"new",pattern:/new/i,longer_alt:Q,categories:[P,Q]}),Mt=C({name:"AT",pattern:/AT/i,longer_alt:Q,categories:[P,Q]}),kt=C({name:"BELOW",pattern:/BELOW/i,longer_alt:Q,categories:[P,Q]}),Ut=C({name:"DATA_CATEGORY",pattern:/DATA CATEGORY/i,longer_alt:Q,categories:[P]}),Ft=C({name:"END",pattern:/END/i,longer_alt:Q,categories:[P,Q]}),Dt=C({name:"OFFSET",pattern:/OFFSET/i,longer_alt:Q,categories:[P,Q]}),wt=C({name:"REFERENCE",pattern:/REFERENCE/i,longer_alt:Q,categories:[P,Q]}),Bt=C({name:"SCOPE",pattern:/SCOPE/i,longer_alt:Q,categories:[P,Q]}),jt=C({name:"TRACKING",pattern:/TRACKING/i,longer_alt:Q,categories:[P,Q]}),Gt=C({name:"THEN",pattern:/THEN/i,longer_alt:Q,categories:[P,Q]}),Wt=C({name:"TYPEOF",pattern:/TYPEOF/i,longer_alt:Q,categories:[P,Q]}),Vt=C({name:"VIEW",pattern:/VIEW/i,longer_alt:Q,categories:[P,Q]}),Yt=C({name:"VIEWSTAT",pattern:/VIEWSTAT/i,longer_alt:Q,categories:[P,Q]}),Kt=C({name:"WHEN",pattern:/WHEN/i,longer_alt:Q,categories:[P,Q]}),$t=C({name:"SECURITY_ENFORCED",pattern:/SECURITY_ENFORCED/i,longer_alt:Q,categories:[P,Q]}),Ht=C({name:"SYSTEM_MODE",pattern:/SYSTEM_MODE/i,longer_alt:Q,categories:[P,Q]}),zt=C({name:"USER_MODE",pattern:/USER_MODE/i,longer_alt:Q,categories:[P,Q]}),Xt=C({name:"CALENDAR_MONTH",pattern:/CALENDAR_MONTH/i,longer_alt:Q,categories:[b,Q]}),qt=C({name:"CALENDAR_QUARTER",pattern:/CALENDAR_QUARTER/i,longer_alt:Q,categories:[b,Q]}),Qt=C({name:"CALENDAR_YEAR",pattern:/CALENDAR_YEAR/i,longer_alt:Q,categories:[b,Q]}),Zt=C({name:"DAY_IN_MONTH",pattern:/DAY_IN_MONTH/i,longer_alt:Q,categories:[b,Q]}),Jt=C({name:"DAY_IN_WEEK",pattern:/DAY_IN_WEEK/i,longer_alt:Q,categories:[b,Q]}),te=C({name:"DAY_IN_YEAR",pattern:/DAY_IN_YEAR/i,longer_alt:Q,categories:[b,Q]}),ee=C({name:"DAY_ONLY",pattern:/DAY_ONLY/i,longer_alt:Q,categories:[b,Q]}),re=C({name:"FISCAL_MONTH",pattern:/FISCAL_MONTH/i,longer_alt:Q,categories:[b,Q]}),ne=C({name:"FISCAL_QUARTER",pattern:/FISCAL_QUARTER/i,longer_alt:Q,categories:[b,Q]}),ie=C({name:"FISCAL_YEAR",pattern:/FISCAL_YEAR/i,longer_alt:Q,categories:[b,Q]}),oe=C({name:"HOUR_IN_DAY",pattern:/HOUR_IN_DAY/i,longer_alt:Q,categories:[b,Q]}),ae=C({name:"WEEK_IN_MONTH",pattern:/WEEK_IN_MONTH/i,longer_alt:Q,categories:[b,Q]}),se=C({name:"WEEK_IN_YEAR",pattern:/WEEK_IN_YEAR/i,longer_alt:Q,categories:[b,Q]}),ue=C({name:"AVG",pattern:/AVG/i,longer_alt:Q,categories:[M,Q]}),ce=C({name:"COUNT",pattern:/COUNT/i,longer_alt:Q,categories:[M,Q]}),le=C({name:"COUNT_DISTINCT",pattern:/COUNT_DISTINCT/i,longer_alt:Q,categories:[M,Q]}),fe=C({name:"MIN",pattern:/MIN/i,longer_alt:Q,categories:[M,Q]}),pe=C({name:"MAX",pattern:/MAX/i,longer_alt:Q,categories:[M,Q]}),he=C({name:"SUM",pattern:/SUM/i,longer_alt:Q,categories:[M,Q]}),de=C({name:"DISTANCE",pattern:/DISTANCE/i,longer_alt:Q,categories:[k,Q]}),Ee=C({name:"GEOLOCATION",pattern:/GEOLOCATION/i,longer_alt:Q,categories:[k,Q]}),Te=C({name:"FIELDS",pattern:/FIELDS/i,longer_alt:Q,categories:[U,Q]}),ve=C({name:"FORMAT",pattern:/FORMAT/i,longer_alt:Q,categories:[D,Q]}),me=C({name:"toLabel",pattern:/TOLABEL/i,longer_alt:Q,categories:[D,Q]}),ye=C({name:"convertTimezone",pattern:/CONVERTTIMEZONE/i,longer_alt:Q,categories:[D,Q]}),Ae=C({name:"convertCurrency",pattern:/CONVERTCURRENCY/i,longer_alt:Q,categories:[D,Q]}),_e=C({name:"GROUPING",pattern:/GROUPING/i,longer_alt:Q,categories:[D,Q]}),ge=C({name:"ALL",pattern:/ALL/i,longer_alt:Q,categories:[F,Q]}),Oe=C({name:"CUSTOM",pattern:/CUSTOM/i,longer_alt:Q,categories:[F,Q]}),Le=C({name:"STANDARD",pattern:/STANDARD/i,longer_alt:Q,categories:[F,Q]}),Ne=C({name:"YESTERDAY",pattern:/YESTERDAY/i,longer_alt:Q,categories:[w,Q,B]}),Re=C({name:"TODAY",pattern:/TODAY/i,longer_alt:Q,categories:[w,Q,B]}),Se=C({name:"TOMORROW",pattern:/TOMORROW/i,longer_alt:Q,categories:[w,Q,B]}),Ie=C({name:"LAST_WEEK",pattern:/LAST_WEEK/i,longer_alt:Q,categories:[w,Q,B]}),Ce=C({name:"THIS_WEEK",pattern:/THIS_WEEK/i,longer_alt:Q,categories:[w,Q,B]}),xe=C({name:"NEXT_WEEK",pattern:/NEXT_WEEK/i,longer_alt:Q,categories:[w,Q,B]}),Pe=C({name:"LAST_MONTH",pattern:/LAST_MONTH/i,longer_alt:Q,categories:[w,Q,B]}),be=C({name:"THIS_MONTH",pattern:/THIS_MONTH/i,longer_alt:Q,categories:[w,Q,B]}),Me=C({name:"NEXT_MONTH",pattern:/NEXT_MONTH/i,longer_alt:Q,categories:[w,Q,B]}),ke=C({name:"LAST_90_DAYS",pattern:/LAST_90_DAYS/i,longer_alt:Q,categories:[w,Q,B]}),Ue=C({name:"NEXT_90_DAYS",pattern:/NEXT_90_DAYS/i,longer_alt:Q,categories:[w,Q,B]}),Fe=C({name:"THIS_QUARTER",pattern:/THIS_QUARTER/i,longer_alt:Q,categories:[w,Q,B]}),De=C({name:"LAST_QUARTER",pattern:/LAST_QUARTER/i,longer_alt:Q,categories:[w,Q,B]}),we=C({name:"NEXT_QUARTER",pattern:/NEXT_QUARTER/i,longer_alt:Q,categories:[w,Q,B]}),Be=C({name:"THIS_YEAR",pattern:/THIS_YEAR/i,longer_alt:Q,categories:[w,Q,B]}),je=C({name:"LAST_YEAR",pattern:/LAST_YEAR/i,longer_alt:Q,categories:[w,Q,B]}),Ge=C({name:"NEXT_YEAR",pattern:/NEXT_YEAR/i,longer_alt:Q,categories:[w,Q,B]}),We=C({name:"THIS_FISCAL_QUARTER",pattern:/THIS_FISCAL_QUARTER/i,longer_alt:Q,categories:[w,Q,B]}),Ve=C({name:"LAST_FISCAL_QUARTER",pattern:/LAST_FISCAL_QUARTER/i,longer_alt:Q,categories:[w,Q,B]}),Ye=C({name:"NEXT_FISCAL_QUARTER",pattern:/NEXT_FISCAL_QUARTER/i,longer_alt:Q,categories:[w,Q,B]}),Ke=C({name:"THIS_FISCAL_YEAR",pattern:/THIS_FISCAL_YEAR/i,longer_alt:Q,categories:[w,Q,B]}),$e=C({name:"LAST_FISCAL_YEAR",pattern:/LAST_FISCAL_YEAR/i,longer_alt:Q,categories:[w,Q,B]}),He=C({name:"NEXT_FISCAL_YEAR",pattern:/NEXT_FISCAL_YEAR/i,longer_alt:Q,categories:[w,Q,B]}),ze=C({name:"NEXT_N_DAYS",pattern:/NEXT_N_DAYS/i,longer_alt:Q,categories:[j,Q]}),Xe=C({name:"LAST_N_DAYS",pattern:/LAST_N_DAYS/i,longer_alt:Q,categories:[j,Q]}),qe=C({name:"N_DAYS_AGO",pattern:/N_DAYS_AGO/i,longer_alt:Q,categories:[j,Q]}),Qe=C({name:"NEXT_N_WEEKS",pattern:/NEXT_N_WEEKS/i,longer_alt:Q,categories:[j,Q]}),Ze=C({name:"LAST_N_WEEKS",pattern:/LAST_N_WEEKS/i,longer_alt:Q,categories:[j,Q]}),Je=C({name:"N_WEEKS_AGO",pattern:/N_WEEKS_AGO/i,longer_alt:Q,categories:[j,Q]}),tr=C({name:"NEXT_N_MONTHS",pattern:/NEXT_N_MONTHS/i,longer_alt:Q,categories:[j,Q]}),er=C({name:"LAST_N_MONTHS",pattern:/LAST_N_MONTHS/i,longer_alt:Q,categories:[j,Q]}),rr=C({name:"N_MONTHS_AGO",pattern:/N_MONTHS_AGO/i,longer_alt:Q,categories:[j,Q]}),nr=C({name:"NEXT_N_QUARTERS",pattern:/NEXT_N_QUARTERS/i,longer_alt:Q,categories:[j,Q]}),ir=C({name:"LAST_N_QUARTERS",pattern:/LAST_N_QUARTERS/i,longer_alt:Q,categories:[j,Q]}),or=C({name:"N_QUARTERS_AGO",pattern:/N_QUARTERS_AGO/i,longer_alt:Q,categories:[j,Q]}),ar=C({name:"NEXT_N_YEARS",pattern:/NEXT_N_YEARS/i,longer_alt:Q,categories:[j,Q]}),sr=C({name:"LAST_N_YEARS",pattern:/LAST_N_YEARS/i,longer_alt:Q,categories:[j,Q]}),ur=C({name:"N_YEARS_AGO",pattern:/N_YEARS_AGO/i,longer_alt:Q,categories:[j,Q]}),cr=C({name:"NEXT_N_FISCAL_QUARTERS",pattern:/NEXT_N_FISCAL_QUARTERS/i,longer_alt:Q,categories:[j,Q]}),lr=C({name:"LAST_N_FISCAL_QUARTERS",pattern:/LAST_N_FISCAL_QUARTERS/i,longer_alt:Q,categories:[j,Q]}),fr=C({name:"N_FISCAL_QUARTERS_AGO",pattern:/N_FISCAL_QUARTERS_AGO/i,longer_alt:Q,categories:[j,Q]}),pr=C({name:"NEXT_N_FISCAL_YEARS",pattern:/NEXT_N_FISCAL_YEARS/i,longer_alt:Q,categories:[j,Q]}),hr=C({name:"LAST_N_FISCAL_YEARS",pattern:/LAST_N_FISCAL_YEARS/i,longer_alt:Q,categories:[j,Q]}),dr=C({name:"N_FISCAL_YEARS_AGO",pattern:/N_FISCAL_YEARS_AGO/i,longer_alt:Q,categories:[j,Q]}),Er=C({name:"EQUAL",pattern:"=",categories:[G]}),Tr=C({name:"NOT_EQUAL",pattern:/!=|<>/,categories:[G]}),vr=C({name:"LESS_THAN",pattern:"<",categories:[G]}),mr=C({name:"LESS_THAN_OR_EQUAL",pattern:"<=",categories:[G]}),yr=C({name:"GREATER_THAN",pattern:">",categories:[G]}),Ar=C({name:"GREATER_THAN_OR_EQUAL",pattern:">=",categories:[G]}),_r=C({name:"DECIMAL",pattern:".",categories:[W]}),gr=C({name:"COLON",pattern:":",categories:[W]}),Or=C({name:"SEMICOLON",pattern:";",categories:[W]}),Lr=C({name:"COMMA",pattern:",",categories:[W]}),Nr=C({name:"ASTERISK",pattern:"*",categories:[W]}),Rr=C({name:"L_PAREN",pattern:"(",categories:[W]}),Sr=C({name:"R_PAREN",pattern:")",categories:[W]}),Ir=C({name:"L_SQUARE_BRACKET",pattern:"[",categories:[W]}),Cr=C({name:"R_SQUARE_BRACKET",pattern:"]",categories:[W]}),xr=C({name:"PLUS",pattern:"+",categories:[W]}),Pr=C({name:"MINUS",pattern:"-",categories:[W]}),br=C({name:"DATETIME",pattern:/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(\Z|\.[0-9]+Z|\+[0-9]{2}:[0-9]{2}|\-[0-9]{2}:[0-9]{2}|\+[0-9]{4}|\-[0-9]{4})/i,categories:[V]}),Mr=C({name:"DATE",pattern:/[0-9]{4}-[0-9]{2}-[0-9]{2}/,categories:[V]}),kr=C({name:"CURRENCY_PREFIXED_DECIMAL",pattern:/[a-zA-Z]{3}[0-9]+\.\d+/,longer_alt:Q,categories:[K]}),Ur=C({name:"SIGNED_DECIMAL",pattern:/(\-|\+)[0-9]*\.\d+/,categories:[Y,K]}),Fr=C({name:"UNSIGNED_DECIMAL",pattern:/[0-9]*\.\d+/,categories:[Y,K]}),Dr=C({name:"CURRENCY_PREFIXED_INTEGER",pattern:/[a-zA-Z]{3}-?[0-9]+/,longer_alt:Q,categories:[K,Q]}),wr=C({name:"SIGNED_INTEGER",pattern:/(\-|\+)[0-9]+/,categories:[Y,$]}),Br=C({name:"GEOLOCATION_UNIT",pattern:/'(mi|km)'/i,longer_alt:Q,categories:[Q]}),jr=C({name:"UNSIGNED_INTEGER",pattern:/0|[1-9]\d*/,categories:[Y,$]}),Gr=C({name:"Delegated",pattern:/DELEGATED/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["D","d"]}),Wr=C({name:"Everything",pattern:/EVERYTHING/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["E","e"]}),Vr=C({name:"MineAndMyGroups",pattern:/MINEANDMYGROUPS/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["M","m"]}),Yr=C({name:"Mine",pattern:/MINE/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["M","m"]}),Kr=C({name:"MyTerritory",pattern:/MY_TERRITORY/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["M","m"]}),$r=C({name:"MyTeamTerritory",pattern:/MY_TEAM_TERRITORY/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["M","m"]}),Hr=C({name:"Team",pattern:/TEAM/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["T","t"]}),zr=C({name:"AllPrivate",pattern:/ALLPRIVATE/i,longer_alt:Q,categories:[z,Q],start_chars_hint:["A","a"]}),Xr=[J,tt,nt,et,it,ot,rt,at,st,ut,ct,lt,_e,ft,pt,dt,Tt,vt,At,yt,gt,Ot,Lt,Nt,Rt,St,Ct,Gr,Wr,Vr,Yr,Kr,$r,Hr,zr,Pt,xt,bt,Mt,kt,Ut,Ft,Dt,wt,Bt,jt,Gt,Wt,Yt,Vt,Kt,$t,Ht,zt,Xt,qt,Qt,Zt,Jt,te,ee,re,ne,ie,oe,ae,se,ue,le,ce,fe,pe,he,de,Ee,Te,ve,me,ye,Ae,Ne,Re,Se,Ie,Ce,xe,Pe,be,Me,ke,Ue,Fe,De,we,Be,je,Ge,We,Ve,Ye,Ke,$e,He,ze,Xe,qe,Qe,Ze,Je,tr,er,rr,nr,ir,or,ar,sr,ur,cr,lr,fr,pr,hr,dr,Br,ge,Oe,Le,ht,It,_t,Et,mt,kr,Dr,Z,Q,br,Mr,Ur,Fr,jr,wr,Er,Tr,mr,vr,Ar,yr,_r,gr,Or,Lr,Nr,Rr,Sr,Ir,Cr,xr,Pr],qr=new I(Xr,{ensureOptimizations:!0,skipValidations:!1});class Qr extends Error{constructor(t){super(`${t.message} (${t.line}:${t.column})`),this.name="LexingError"}}class Zr extends Error{constructor(t){super(t.message),this.name=t.name}}class Jr extends S{$_dateFunctionOr=void 0;$_aggregateFunction=void 0;$_otherFunction=void 0;$_atomicExpression=void 0;$_apexBindVariableExpression=void 0;$_arrayExpression=void 0;$_relationalOperator=void 0;$_selectClause=void 0;$_selectClauseFunctionIdentifier=void 0;$_withDataCategoryArr=void 0;allowApexBindVariables=!1;ignoreParseErrors=!1;constructor({ignoreParseErrors:t}={ignoreParseErrors:!1}){super(Xr,{skipValidations:!1,recoveryEnabled:!!t}),this.ignoreParseErrors=!!t,this.performSelfAnalysis()}selectStatement=this.RULE("selectStatement",(()=>{this.SUBRULE(this.selectClause),this.SUBRULE(this.fromClause),this.SUBRULE(this.clauseStatements)}));selectStatementPartial=this.RULE("selectStatementPartial",(()=>{this.OPTION((()=>{this.SUBRULE(this.selectClause)})),this.OPTION1((()=>{this.SUBRULE(this.fromClause)})),this.SUBRULE(this.clauseStatements)}));clauseStatements=this.RULE("clauseStatements",(()=>{this.OPTION((()=>{this.SUBRULE(this.usingScopeClause)})),this.OPTION1((()=>{this.SUBRULE(this.whereClause)})),this.OPTION2((()=>{this.MANY({DEF:()=>{this.SUBRULE(this.withClause)}})})),this.OPTION3((()=>{this.SUBRULE(this.groupByClause),this.OPTION4((()=>{this.SUBRULE(this.havingClause)}))})),this.OPTION5((()=>{this.SUBRULE(this.orderByClause)})),this.OPTION6((()=>{this.SUBRULE(this.limitClause)})),this.OPTION7((()=>{this.SUBRULE(this.offsetClause)})),this.OPTION8((()=>{this.SUBRULE(this.forViewOrReference)})),this.OPTION9((()=>{this.SUBRULE(this.updateTrackingViewstat)}))}));$_checkBalancedParens(t){if(!this.RECORDING_PHASE&&t){0!==t.left-t.right&&this.CONSUME(X,{ERR_MSG:"Expecting a token type of --\x3e RParen <-- but found --\x3e '' <--"})}}selectClause=this.RULE("selectClause",(()=>{this.CONSUME(Ot),this.AT_LEAST_ONE_SEP({SEP:Lr,DEF:()=>{this.OR(this.$_selectClause||(this.$_selectClause=[{ALT:()=>this.SUBRULE(this.selectClauseFunctionIdentifier,{LABEL:"field"})},{ALT:()=>this.SUBRULE(this.selectClauseSubqueryIdentifier,{LABEL:"field"})},{ALT:()=>this.SUBRULE(this.selectClauseTypeOf,{LABEL:"field"})},{ALT:()=>this.SUBRULE(this.selectClauseIdentifier,{LABEL:"field"})}]))}})}),{resyncEnabled:!1});selectClauseFunctionIdentifier=this.RULE("selectClauseFunctionIdentifier",(()=>{this.OR(this.$_selectClauseFunctionIdentifier||(this.$_selectClauseFunctionIdentifier=[{ALT:()=>this.SUBRULE(this.dateFunction,{LABEL:"fn"})},{ALT:()=>this.SUBRULE(this.aggregateFunction,{LABEL:"fn"})},{ALT:()=>this.SUBRULE(this.locationFunction,{LABEL:"fn"})},{ALT:()=>this.SUBRULE(this.fieldsFunction,{LABEL:"fn"})},{ALT:()=>this.SUBRULE(this.otherFunction,{LABEL:"fn"})}])),this.OPTION((()=>this.CONSUME(Q,{LABEL:"alias"})))}),{resyncEnabled:!1});selectClauseSubqueryIdentifier=this.RULE("selectClauseSubqueryIdentifier",(()=>{this.CONSUME(Rr),this.SUBRULE(this.selectStatement),this.CONSUME(Sr)}),{resyncEnabled:!1});selectClauseTypeOf=this.RULE("selectClauseTypeOf",(()=>{this.CONSUME(Wt),this.CONSUME(Q,{LABEL:"typeOfField"}),this.AT_LEAST_ONE({DEF:()=>{this.SUBRULE(this.selectClauseTypeOfThen)}}),this.OPTION((()=>{this.SUBRULE(this.selectClauseTypeOfElse)})),this.CONSUME(Ft)}),{resyncEnabled:!1});selectClauseIdentifier=this.RULE("selectClauseIdentifier",(()=>{this.CONSUME(Q,{LABEL:"field"}),this.OPTION((()=>this.CONSUME1(Q,{LABEL:"alias"})))}),{resyncEnabled:!1});selectClauseTypeOfThen=this.RULE("selectClauseTypeOfThen",(()=>{this.CONSUME(Kt),this.CONSUME(Q,{LABEL:"typeOfField"}),this.CONSUME(Gt),this.AT_LEAST_ONE_SEP({SEP:Lr,DEF:()=>{this.CONSUME1(Q,{LABEL:"field"})}})}),{resyncEnabled:!1});selectClauseTypeOfElse=this.RULE("selectClauseTypeOfElse",(()=>{this.CONSUME(at),this.AT_LEAST_ONE_SEP({SEP:Lr,DEF:()=>{this.CONSUME(Q,{LABEL:"field"})}})}),{resyncEnabled:!1});fromClause=this.RULE("fromClause",(()=>{this.CONSUME(lt),this.CONSUME(Q),this.OPTION({GATE:()=>!(this.LA(1).tokenType===Dt&&this.LA(2).tokenType===jr),DEF:()=>this.CONSUME1(Q,{LABEL:"alias"})})}),{resyncEnabled:!1});usingScopeClause=this.RULE("usingScopeClause",(()=>{this.CONSUME(Nt),this.CONSUME(Bt),this.CONSUME(z)}));whereClause=this.RULE("whereClause",(()=>{this.CONSUME(Rt);const t=this.getParenCount();this.AT_LEAST_ONE({DEF:()=>{this.SUBRULE(this.conditionExpression,{ARGS:[t,!0,!0]})}}),this.$_checkBalancedParens(t)}));whereClauseSubqueryIdentifier=this.RULE("whereClauseSubqueryIdentifier",(()=>{this.CONSUME(Rr),this.SUBRULE(this.selectStatement),this.CONSUME(Sr)}));conditionExpression=this.RULE("conditionExpression",((t,e,r)=>{t=this.getParenCount(t),this.OPTION((()=>{this.OR([{ALT:()=>this.CONSUME(tt,{LABEL:"logicalOperator"})},{ALT:()=>this.CONSUME(_t,{LABEL:"logicalOperator"})}])})),this.MANY({MAX_LOOKAHEAD:10,DEF:()=>this.SUBRULE(this.expressionPartWithNegation,{ARGS:[t],LABEL:"expressionNegation"})}),this.OR1({MAX_LOOKAHEAD:10,DEF:[{ALT:()=>this.SUBRULE(this.expression,{ARGS:[t,!1,e,r]})}]})}));withClause=this.RULE("withClause",(()=>{this.CONSUME(St),this.OR([{ALT:()=>this.CONSUME($t,{LABEL:"withSecurityEnforced"})},{ALT:()=>this.CONSUME(zt,{LABEL:"withAccessLevel"})},{ALT:()=>this.CONSUME(Ht,{LABEL:"withAccessLevel"})},{ALT:()=>this.SUBRULE(this.withDataCategory)}])}));withDataCategory=this.RULE("withDataCategory",(()=>{this.CONSUME(Ut),this.AT_LEAST_ONE_SEP({SEP:tt,DEF:()=>{this.SUBRULE(this.withDataCategoryArr)}})}));withDataCategoryArr=this.RULE("withDataCategoryArr",(()=>{this.CONSUME(Q,{LABEL:"dataCategoryGroupName"}),this.OR(this.$_withDataCategoryArr||(this.$_withDataCategoryArr=[{ALT:()=>this.CONSUME(Mt,{LABEL:"filteringSelector"})},{ALT:()=>this.CONSUME(xt,{LABEL:"filteringSelector"})},{ALT:()=>this.CONSUME(kt,{LABEL:"filteringSelector"})},{ALT:()=>this.CONSUME(Pt,{LABEL:"filteringSelector"})}])),this.OPTION((()=>{this.CONSUME1(Rr)})),this.AT_LEAST_ONE_SEP1({SEP:Lr,DEF:()=>{this.CONSUME1(Q,{LABEL:"dataCategoryName"})}}),this.OPTION1((()=>{this.CONSUME2(Sr)}))}));groupByClause=this.RULE("groupByClause",(()=>{this.CONSUME(ft),this.AT_LEAST_ONE_SEP({SEP:Lr,DEF:()=>{this.OR([{ALT:()=>this.SUBRULE(this.cubeFunction,{LABEL:"groupBy"})},{ALT:()=>this.SUBRULE(this.rollupFunction,{LABEL:"groupBy"})},{ALT:()=>this.SUBRULE(this.dateFunction,{LABEL:"groupBy"})},{ALT:()=>this.CONSUME(Q,{LABEL:"groupBy"})}])}})}));havingClause=this.RULE("havingClause",(()=>{this.CONSUME(pt);const t=this.getParenCount();this.AT_LEAST_ONE({DEF:()=>{this.SUBRULE(this.conditionExpression,{ARGS:[t,!0,!1]})}}),this.$_checkBalancedParens(t)}));orderByClause=this.RULE("orderByClause",(()=>{this.CONSUME(it),this.AT_LEAST_ONE_SEP({SEP:Lr,DEF:()=>{this.OR([{ALT:()=>this.SUBRULE(this.orderByGroupingFunctionExpression,{LABEL:"orderByExpressionOrFn"})},{ALT:()=>this.SUBRULE(this.orderBySpecialFunctionExpression,{LABEL:"orderByExpressionOrFn"})},{ALT:()=>this.SUBRULE(this.orderByExpression,{LABEL:"orderByExpressionOrFn"})}])}})}));orderByExpression=this.RULE("orderByExpression",(()=>{this.CONSUME(Q),this.OPTION((()=>{this.OR([{ALT:()=>this.CONSUME(nt,{LABEL:"order"})},{ALT:()=>this.CONSUME(rt,{LABEL:"order"})}])})),this.OPTION1((()=>{this.CONSUME(At),this.OR1([{ALT:()=>this.CONSUME(ct,{LABEL:"nulls"})},{ALT:()=>this.CONSUME(Et,{LABEL:"nulls"})}])}))}));orderByGroupingFunctionExpression=this.RULE("orderByGroupingFunctionExpression",(()=>{this.CONSUME(_e,{LABEL:"fn"}),this.SUBRULE(this.functionExpression)}));orderBySpecialFunctionExpression=this.RULE("orderBySpecialFunctionExpression",(()=>{this.OR([{ALT:()=>this.SUBRULE(this.aggregateFunction)},{ALT:()=>this.SUBRULE(this.dateFunction)},{ALT:()=>this.SUBRULE(this.locationFunction)}]),this.OPTION((()=>{this.OR1([{ALT:()=>this.CONSUME(nt,{LABEL:"order"})},{ALT:()=>this.CONSUME(rt,{LABEL:"order"})}])})),this.OPTION1((()=>{this.CONSUME(At),this.OR2([{ALT:()=>this.CONSUME(ct,{LABEL:"nulls"})},{ALT:()=>this.CONSUME(Et,{LABEL:"nulls"})}])}))}));limitClause=this.RULE("limitClause",(()=>{this.CONSUME(vt),this.CONSUME(jr,{LABEL:"value"})}));offsetClause=this.RULE("offsetClause",(()=>{this.CONSUME(Dt),this.CONSUME(jr,{LABEL:"value"})}));dateFunction=this.RULE("dateFunction",(()=>{this.OR(this.$_dateFunctionOr||(this.$_dateFunctionOr=[{ALT:()=>this.CONSUME(Xt,{LABEL:"fn"})},{ALT:()=>this.CONSUME(qt,{LABEL:"fn"})},{ALT:()=>this.CONSUME(Qt,{LABEL:"fn"})},{ALT:()=>this.CONSUME(Zt,{LABEL:"fn"})},{ALT:()=>this.CONSUME(Jt,{LABEL:"fn"})},{ALT:()=>this.CONSUME(te,{LABEL:"fn"})},{ALT:()=>this.CONSUME(ee,{LABEL:"fn"})},{ALT:()=>this.CONSUME(re,{LABEL:"fn"})},{ALT:()=>this.CONSUME(ne,{LABEL:"fn"})},{ALT:()=>this.CONSUME(ie,{LABEL:"fn"})},{ALT:()=>this.CONSUME(oe,{LABEL:"fn"})},{ALT:()=>this.CONSUME(ae,{LABEL:"fn"})},{ALT:()=>this.CONSUME(se,{LABEL:"fn"})}])),this.SUBRULE(this.functionExpression)}));aggregateFunction=this.RULE("aggregateFunction",(()=>{this.OR(this.$_aggregateFunction||(this.$_aggregateFunction=[{ALT:()=>this.CONSUME(ue,{LABEL:"fn"})},{ALT:()=>this.CONSUME(ce,{LABEL:"fn"})},{ALT:()=>this.CONSUME(le,{LABEL:"fn"})},{ALT:()=>this.CONSUME(fe,{LABEL:"fn"})},{ALT:()=>this.CONSUME(pe,{LABEL:"fn"})},{ALT:()=>this.CONSUME(he,{LABEL:"fn"})}])),this.SUBRULE(this.functionExpression,{ARGS:[!0]})}));fieldsFunction=this.RULE("fieldsFunction",(()=>{this.CONSUME(Te,{LABEL:"fn"}),this.CONSUME(Rr),this.CONSUME(F,{LABEL:"params"}),this.CONSUME(Sr)}));otherFunction=this.RULE("otherFunction",(()=>{this.OR(this.$_otherFunction||(this.$_otherFunction=[{ALT:()=>this.CONSUME(ve,{LABEL:"fn"})},{ALT:()=>this.CONSUME(me,{LABEL:"fn"})},{ALT:()=>this.CONSUME(ye,{LABEL:"fn"})},{ALT:()=>this.CONSUME(Ae,{LABEL:"fn"})},{ALT:()=>this.CONSUME(_e,{LABEL:"fn"})}])),this.SUBRULE(this.functionExpression)}));cubeFunction=this.RULE("cubeFunction",(()=>{this.CONSUME(ot,{LABEL:"fn"}),this.SUBRULE(this.functionExpression)}));rollupFunction=this.RULE("rollupFunction",(()=>{this.CONSUME(gt,{LABEL:"fn"}),this.SUBRULE(this.functionExpression)}));functionExpression=this.RULE("functionExpression",(t=>{this.CONSUME(Rr),this.MANY_SEP({SEP:Lr,DEF:()=>{this.OR([{GATE:()=>!t,ALT:()=>this.SUBRULE(this.aggregateFunction,{LABEL:"params"})},{ALT:()=>this.SUBRULE(this.otherFunction,{LABEL:"params"})},{ALT:()=>this.CONSUME(Z,{LABEL:"params"})},{ALT:()=>this.CONSUME(Y,{LABEL:"params"})},{ALT:()=>this.CONSUME(Q,{LABEL:"params"})}])}}),this.CONSUME(Sr)}));locationFunction=this.RULE("locationFunction",(()=>{this.CONSUME(de),this.CONSUME(Rr),this.CONSUME(Q,{LABEL:"location1"}),this.CONSUME(Lr),this.OR([{ALT:()=>this.SUBRULE(this.geolocationFunction,{LABEL:"location2"})},{ALT:()=>this.CONSUME1(Q,{LABEL:"location2"})}]),this.CONSUME1(Lr),this.CONSUME(Br,{LABEL:"unit"}),this.CONSUME(Sr)}));geolocationFunction=this.RULE("geolocationFunction",(()=>{this.CONSUME(Ee),this.CONSUME(Rr),this.CONSUME(Y,{LABEL:"latitude"}),this.CONSUME(Lr),this.CONSUME1(Y,{LABEL:"longitude"}),this.CONSUME(Sr)}));expressionPartWithNegation=this.RULE("expressionPartWithNegation",(t=>{let e=0;this.MANY((()=>{this.CONSUME(Rr),e++})),this.CONSUME(mt,{LABEL:"expressionNegation"}),t&&e&&(t.left+=e)}));expression=this.RULE("expression",((t,e,r,n)=>{this.OPTION1((()=>{this.MANY1((()=>{this.CONSUME(Rr),t&&t.left++}))})),this.OR1([{GATE:()=>!!r,ALT:()=>this.SUBRULE(this.aggregateFunction,{LABEL:"lhs"})},{GATE:()=>!!n,ALT:()=>this.SUBRULE(this.locationFunction,{LABEL:"lhs"})},{ALT:()=>this.SUBRULE(this.dateFunction,{LABEL:"lhs"})},{ALT:()=>this.SUBRULE(this.otherFunction,{LABEL:"lhs"})},{ALT:()=>this.CONSUME(Q,{LABEL:"lhs"})}]),this.OR2([{ALT:()=>this.SUBRULE(this.expressionWithRelationalOperator,{LABEL:"operator"})},{ALT:()=>this.SUBRULE(this.expressionWithSetOperator,{LABEL:"operator",ARGS:[e]})}]),this.OPTION3((()=>{this.MANY2({GATE:()=>!t||t.left>t.right,DEF:()=>{this.CONSUME(Sr),t&&t.right++}})}))}));expressionWithRelationalOperator=this.RULE("expressionWithRelationalOperator",(()=>{this.SUBRULE(this.relationalOperator),this.SUBRULE(this.atomicExpression,{LABEL:"rhs"})}));expressionWithSetOperator=this.RULE("expressionWithSetOperator",(t=>{this.SUBRULE(this.setOperator),this.SUBRULE2(this.atomicExpression,{LABEL:"rhs",ARGS:[!0,t]})}));atomicExpression=this.RULE("atomicExpression",((t,e)=>{this.OR(this.$_atomicExpression||(this.$_atomicExpression=[{GATE:()=>this.allowApexBindVariables,ALT:()=>this.SUBRULE(this.apexBindVariableExpression)},{GATE:()=>t,ALT:()=>this.SUBRULE(this.arrayExpression)},{GATE:()=>t&&e,ALT:()=>this.SUBRULE(this.whereClauseSubqueryIdentifier)},{GATE:()=>!t,ALT:()=>this.CONSUME(V)},{GATE:()=>!t,ALT:()=>this.CONSUME(kr,{LABEL:"CurrencyPrefixedDecimal"})},{GATE:()=>!t,ALT:()=>this.CONSUME(Dr,{LABEL:"CurrencyPrefixedInteger"})},{GATE:()=>!t,ALT:()=>this.CONSUME(Y)},{GATE:()=>!t,ALT:()=>this.CONSUME(yt)},{GATE:()=>!t,ALT:()=>this.SUBRULE(this.booleanValue)},{GATE:()=>!t,ALT:()=>this.CONSUME(w)},{GATE:()=>!t,ALT:()=>this.SUBRULE(this.dateNLiteral)},{GATE:()=>!t,ALT:()=>this.CONSUME(Br,{LABEL:"StringIdentifier"})},{GATE:()=>!t,ALT:()=>this.CONSUME(Z)}]))}));apexBindVariableExpression=this.RULE("apexBindVariableExpression",(()=>{this.CONSUME(gr),this.OPTION((()=>{this.SUBRULE(this.apexBindVariableNewInstantiation,{LABEL:"apex"}),this.OPTION1((()=>{this.CONSUME(_r)}))})),this.MANY_SEP({SEP:_r,DEF:()=>{this.OR(this.$_apexBindVariableExpression||(this.$_apexBindVariableExpression=[{ALT:()=>this.SUBRULE(this.apexBindVariableFunctionCall,{LABEL:"apex"})},{ALT:()=>this.SUBRULE(this.apexBindVariableIdentifier,{LABEL:"apex"})}]))}})}));apexBindVariableIdentifier=this.RULE("apexBindVariableIdentifier",(()=>{this.CONSUME(Q),this.OPTION((()=>this.SUBRULE(this.apexBindVariableFunctionArrayAccessor)))}));apexBindVariableNewInstantiation=this.RULE("apexBindVariableNewInstantiation",(()=>{this.CONSUME(bt,{LABEL:"new"}),this.CONSUME(Q,{LABEL:"function"}),this.OPTION((()=>{this.SUBRULE(this.apexBindVariableGeneric)})),this.SUBRULE(this.apexBindVariableFunctionParams),this.OPTION1((()=>this.SUBRULE(this.apexBindVariableFunctionArrayAccessor)))}));apexBindVariableFunctionCall=this.RULE("apexBindVariableFunctionCall",(()=>{this.CONSUME(Q,{LABEL:"function"}),this.SUBRULE(this.apexBindVariableFunctionParams),this.OPTION((()=>this.SUBRULE(this.apexBindVariableFunctionArrayAccessor)))}));apexBindVariableGeneric=this.RULE("apexBindVariableGeneric",(()=>{this.CONSUME(vr),this.AT_LEAST_ONE_SEP({SEP:Lr,DEF:()=>{this.CONSUME(Q,{LABEL:"parameter"})}}),this.CONSUME(yr)}));apexBindVariableFunctionParams=this.RULE("apexBindVariableFunctionParams",(()=>{this.CONSUME(Rr),this.MANY_SEP({SEP:Lr,DEF:()=>{this.CONSUME(Q,{LABEL:"parameter"})}}),this.CONSUME(Sr)}));apexBindVariableFunctionArrayAccessor=this.RULE("apexBindVariableFunctionArrayAccessor",(()=>{this.CONSUME(Ir),this.OR([{ALT:()=>this.CONSUME(jr,{LABEL:"value"})},{ALT:()=>this.CONSUME(Q,{LABEL:"value"})}]),this.CONSUME(Cr)}));arrayExpression=this.RULE("arrayExpression",(()=>{this.CONSUME(Rr),this.AT_LEAST_ONE_SEP({SEP:Lr,DEF:()=>{this.OR(this.$_arrayExpression||(this.$_arrayExpression=[{ALT:()=>this.CONSUME(kr,{LABEL:"value"})},{ALT:()=>this.CONSUME(Dr,{LABEL:"value"})},{ALT:()=>this.CONSUME(Y,{LABEL:"value"})},{ALT:()=>this.CONSUME(V,{LABEL:"value"})},{ALT:()=>this.CONSUME(yt,{LABEL:"value"})},{ALT:()=>this.CONSUME(Lt,{LABEL:"value"})},{ALT:()=>this.CONSUME(ut,{LABEL:"value"})},{ALT:()=>this.CONSUME(w,{LABEL:"value"})},{ALT:()=>this.SUBRULE(this.dateNLiteral,{LABEL:"value"})},{ALT:()=>this.CONSUME(Br,{LABEL:"value"})},{ALT:()=>this.CONSUME(Z,{LABEL:"value"})}]))}}),this.CONSUME(Sr)}));relationalOperator=this.RULE("relationalOperator",(()=>{this.OR(this.$_relationalOperator||(this.$_relationalOperator=[{ALT:()=>this.CONSUME(Er,{LABEL:"operator"})},{ALT:()=>this.CONSUME(Tr,{LABEL:"operator"})},{ALT:()=>this.CONSUME(yr,{LABEL:"operator"})},{ALT:()=>this.CONSUME(Ar,{LABEL:"operator"})},{ALT:()=>this.CONSUME(vr,{LABEL:"operator"})},{ALT:()=>this.CONSUME(mr,{LABEL:"operator"})},{ALT:()=>this.CONSUME(Tt,{LABEL:"operator"})}]))}));setOperator=this.RULE("setOperator",(()=>{this.OR([{ALT:()=>this.CONSUME(ht,{LABEL:"operator"})},{ALT:()=>this.SUBRULE(this.notInOperator,{LABEL:"notIn"})},{ALT:()=>this.CONSUME(dt,{LABEL:"operator"})},{ALT:()=>this.CONSUME(st,{LABEL:"operator"})}])}));notInOperator=this.RULE("notInOperator",(()=>{this.CONSUME(mt,{LABEL:"operator"}),this.CONSUME(ht,{LABEL:"operator"})}));booleanValue=this.RULE("booleanValue",(()=>{this.OR([{ALT:()=>this.CONSUME(Lt,{LABEL:"boolean"})},{ALT:()=>this.CONSUME(ut,{LABEL:"boolean"})}])}));dateNLiteral=this.RULE("dateNLiteral",(()=>{this.CONSUME(j,{LABEL:"dateNLiteral"}),this.CONSUME(gr),this.OR1([{ALT:()=>this.CONSUME(jr,{LABEL:"variable"})},{ALT:()=>this.CONSUME(wr,{LABEL:"variable"})}])}));forViewOrReference=this.RULE("forViewOrReference",(()=>{this.CONSUME(It),this.OR([{ALT:()=>this.CONSUME(Vt,{LABEL:"value"})},{ALT:()=>this.CONSUME(wt,{LABEL:"value"})},{ALT:()=>this.CONSUME(Ct,{LABEL:"value"})}])}));updateTrackingViewstat=this.RULE("updateTrackingViewstat",(()=>{this.CONSUME(Ct),this.OR([{ALT:()=>this.CONSUME(jt,{LABEL:"value"})},{ALT:()=>this.CONSUME(Yt,{LABEL:"value"})}])}));getParenCount(t){return t||{right:0,left:0}}}let tn=new Jr;function en(t,e){const{allowApexBindVariables:r,logErrors:n,ignoreParseErrors:i,allowPartialQuery:o}=e||{allowApexBindVariables:!1,logErrors:!1,ignoreParseErrors:!1},a=function(t){return qr.tokenize(t)}(t);if(a.errors.length>0)throw n&&(console.log("Lexing Errors:"),console.log(a.errors)),new Qr(a.errors[0]);let s;if(tn.ignoreParseErrors!==i&&(tn=new Jr({ignoreParseErrors:i})),tn.input=a.tokens,tn.allowApexBindVariables=r||!1,s=o?tn.selectStatementPartial():tn.selectStatement(),tn.errors.length>0&&(n&&(console.log("Parsing Errors:"),console.log(tn.errors)),!i))throw new Zr(tn.errors[0]);return{cst:s,parseErrors:tn.errors.map((t=>new Zr(t)))}}const rn=(new Jr).getBaseCstVisitorConstructor(),nn=["TRUE","FALSE"],on=["YESTERDAY","TODAY","TOMORROW","LAST_WEEK","THIS_WEEK","NEXT_WEEK","LAST_MONTH","THIS_MONTH","NEXT_MONTH","LAST_90_DAYS","NEXT_90_DAYS","THIS_QUARTER","LAST_QUARTER","NEXT_QUARTER","THIS_YEAR","LAST_YEAR","NEXT_YEAR","THIS_FISCAL_QUARTER","LAST_FISCAL_QUARTER","NEXT_FISCAL_QUARTER","THIS_FISCAL_YEAR","LAST_FISCAL_YEAR","NEXT_FISCAL_YEAR"],an=["NEXT_N_DAYS","LAST_N_DAYS","N_DAYS_AGO","NEXT_N_WEEKS","LAST_N_WEEKS","N_WEEKS_AGO","NEXT_N_MONTHS","LAST_N_MONTHS","N_MONTHS_AGO","NEXT_N_QUARTERS","LAST_N_QUARTERS","N_QUARTERS_AGO","NEXT_N_YEARS","LAST_N_YEARS","N_YEARS_AGO","NEXT_N_FISCAL_QUARTERS","LAST_N_FISCAL_QUARTERS","N_FISCAL_QUARTERS_AGO","NEXT_N_FISCAL_YEARS","LAST_N_FISCAL_YEARS","N_FISCAL_YEARS_AGO"];const sn=new class extends rn{constructor(){super(),this.validateVisitor()}helpers={$_getFieldFunction:(t,e=!1,r=!0)=>{const n=t.functionExpression?t.functionExpression.map((t=>this.visit(t,{includeType:r}))).flat():[],i={};return r&&(i.type="FieldFunctionExpression"),i.functionName=t.fn[0].tokenType.name,i.parameters=n,r&&e&&(i.isAggregateFn=e),i.rawValue=`${t.fn[0].image}(${n.map((t=>"string"==typeof t?t:t.rawValue)).join(", ")})`,i},$_getLiteralTypeFromTokenType:t=>"REAL_NUMBER"===t?"DECIMAL":"CURRENCY_PREFIXED_DECIMAL"===t?"DECIMAL_WITH_CURRENCY_PREFIX":"CURRENCY_PREFIXED_INTEGER"===t?"INTEGER_WITH_CURRENCY_PREFIX":"SIGNED_DECIMAL"===t||"UNSIGNED_DECIMAL"===t?"DECIMAL":"UNSIGNED_INTEGER"===t||"SIGNED_INTEGER"===t?"INTEGER":"DATETIME"===t?"DATETIME":"DATE"===t?"DATE":"NULL"===t?"NULL":"StringIdentifier"===t||"Identifier"===t?"STRING":nn.includes(t)?"BOOLEAN":on.includes(t)?"DATE_LITERAL":an.includes(t)?"DATE_N_LITERAL":"STRING",$_parseSelect(t,e){const{isSubquery:r}=e||{isSubquery:!1};let n={};if(t.selectClause&&(n.fields=this.visit(t.selectClause)),t.fromClause)if(function(t,e){return e}(0,r)){const{sObject:e,alias:r,sObjectPrefix:i}=this.visit(t.fromClause);n.relationshipName=e,r&&(n.sObjectAlias=r),i&&(n.sObjectPrefix=i)}else{const{sObject:e,alias:r}=this.visit(t.fromClause);n.sObject=e,r&&(n.sObjectAlias=r)}return Array.isArray(n.fields)&&n.sObjectAlias&&n.fields.forEach((t=>{t.relationships&&t.relationships[0]===n.sObjectAlias&&(t.relationships=t.relationships.slice(1),t.objectPrefix=n.sObjectAlias),t.relationships&&0===t.relationships.length&&(delete t.relationships,t.type="Field")})),n={...n,...this.visit(t.clauseStatements)},n}};selectStatement(t,e){return this.helpers.$_parseSelect.bind(this)(t,e)}selectStatementPartial(t,e){return this.helpers.$_parseSelect.bind(this)(t,e)}clauseStatements(t){const e={};return t.usingScopeClause&&!t.usingScopeClause[0].recoveredNode&&(e.usingScope=this.visit(t.usingScopeClause)),t.whereClause&&!t.whereClause[0].recoveredNode&&(e.where=this.visit(t.whereClause)),t.withClause&&t.withClause.filter((t=>!t.recoveredNode)).forEach((t=>{const{withSecurityEnforced:r,withAccessLevel:n,withDataCategory:i}=this.visit(t);r&&(e.withSecurityEnforced=r),n&&(e.withAccessLevel=n),i&&(e.withDataCategory=i)})),t.groupByClause&&!t.groupByClause[0].recoveredNode&&(e.groupBy=this.visit(t.groupByClause)),t.havingClause&&!t.havingClause[0].recoveredNode&&(e.having=this.visit(t.havingClause)),t.orderByClause&&!t.orderByClause[0].recoveredNode&&(e.orderBy=this.visit(t.orderByClause)),t.limitClause&&!t.limitClause[0].recoveredNode&&(e.limit=Number(this.visit(t.limitClause))),t.offsetClause&&!t.offsetClause[0].recoveredNode&&(e.offset=Number(this.visit(t.offsetClause))),t.forViewOrReference&&!t.forViewOrReference[0].recoveredNode&&(e.for=this.visit(t.forViewOrReference)),t.updateTrackingViewstat&&!t.updateTrackingViewstat[0].recoveredNode&&(e.update=this.visit(t.updateTrackingViewstat)),e}selectClause(t){return t.field?t.field.map((t=>{if(n(t)){const e=t.image;let r;if(e.includes(".")){const t=e.split(".");r={type:"FieldRelationship",field:t[t.length-1],relationships:t.slice(0,t.length-1),rawValue:e}}else r={type:"Field",field:e};return r}return this.visit(t)})):[]}selectClauseFunctionIdentifier(t){let e={...this.visit(t.fn)};return t.alias&&(e.alias=t.alias[0].image),e}selectClauseSubqueryIdentifier(t){return{type:"FieldSubquery",subquery:this.visit(t.selectStatement,{isSubquery:!0})}}selectClauseTypeOf(t){let e=t.selectClauseTypeOfThen.map((t=>this.visit(t)));return t.selectClauseTypeOfElse&&e.push(this.visit(t.selectClauseTypeOfElse)),{type:"FieldTypeof",field:t.typeOfField[0].image,conditions:e}}selectClauseIdentifier(t){const e=t.field[0],r=t.alias?t.alias[0].image:void 0,n=e.image;let i;if(n.includes(".")){const t=n.split(".");i={type:"FieldRelationship",field:t[t.length-1],relationships:t.slice(0,t.length-1),rawValue:n}}else i={type:"Field",field:n};return r&&(i.alias=r),i}selectClauseTypeOfThen(t){return{type:"WHEN",objectType:t.typeOfField[0].image,fieldList:t.field.map((t=>t.image))}}selectClauseTypeOfElse(t){return{type:"ELSE",fieldList:t.field.map((t=>t.image))}}fromClause(t){let e,r=t.Identifier[0].image;if(r.includes(".")){const t=r.split(".");e={sObjectPrefix:t.slice(0,t.length-1),sObject:t[t.length-1]}}else e={sObject:r};return t.alias&&t.alias[0]&&(e.alias=t.alias[0].image),e}usingScopeClause(t){return t.UsingScopeEnumeration[0].image}whereClauseSubqueryIdentifier(t){return this.visit(t.selectStatement,{isSubquery:!1})}whereClause(t){return t.conditionExpression.reduce(((t,e)=>{let r;t.expressionTree?(r=this.visit(e,{prevExpression:t.prevExpression}),t.prevExpression.right=r):(r=this.visit(e),t.expressionTree=r);let n=r.right,i=r.right;for(;p(i);)n=i,i=i.right;return t.prevExpression=i||r,t}),{prevExpression:void 0,expressionTree:void 0}).expressionTree}conditionExpression(t,e){(e=e||{}).prevExpression&&t.logicalOperator&&(e.prevExpression.operator=t.logicalOperator[0].tokenType.name);let r={},n=r;if(Array.isArray(t.expressionNegation))if(1===t.expressionNegation.length)r=this.visit(t.expressionNegation),n=r.right;else{r=this.visit(t.expressionNegation[0]);const e=r;t.expressionNegation.slice(1).forEach((t=>{e.right=this.visit(t),n=e.right.right}))}return n.left=this.visit(t.expression),r}withClause(t){return t.withSecurityEnforced?{withSecurityEnforced:!0}:t.withAccessLevel?{withAccessLevel:t.withAccessLevel[0].image}:{withDataCategory:{conditions:this.visit(t.withDataCategory)}}}withDataCategory(t){return t.withDataCategoryArr.map((t=>this.visit(t)))}withDataCategoryArr(t){return{groupName:t.dataCategoryGroupName[0].image,selector:t.filteringSelector[0].image,parameters:t.dataCategoryName.map((t=>t.image))}}groupByClause(t){return t.groupBy.map((t=>n(t)?{field:t.image}:{fn:this.visit(t,{includeType:!1})}))}havingClause(t){return t.conditionExpression.reduce(((t,e)=>(t.expressionTree?(t.prevExpression.right=this.visit(e,{prevExpression:t.prevExpression}),t.prevExpression=t.prevExpression.right):(t.expressionTree=this.visit(e),t.prevExpression=t.expressionTree),t)),{prevExpression:void 0,expressionTree:void 0}).expressionTree}orderByClause(t){return t.orderByExpressionOrFn.map((t=>this.visit(t)))}orderByExpression(t){const e={field:t.Identifier[0].image};return t.order&&t.order[0]&&(e.order=t.order[0].tokenType.name),t.nulls&&t.nulls[0]&&(e.nulls=t.nulls[0].tokenType.name),e}orderByGroupingFunctionExpression(t){const e={fn:this.helpers.$_getFieldFunction(t,!1,!1)};return t.order&&t.order[0]&&(e.order=t.order[0].tokenType.name),t.nulls&&t.nulls[0]&&(e.nulls=t.nulls[0].tokenType.name),e}orderBySpecialFunctionExpression(t){const e={};return t.aggregateFunction?e.fn=this.visit(t.aggregateFunction,{includeType:!1}):t.dateFunction?e.fn=this.visit(t.dateFunction,{includeType:!1}):t.locationFunction&&(e.fn=this.visit(t.locationFunction,{includeType:!1})),t.order&&t.order[0]&&(e.order=t.order[0].tokenType.name),t.nulls&&t.nulls[0]&&(e.nulls=t.nulls[0].tokenType.name),e}limitClause(t){return t.value[0].image}offsetClause(t){return t.value[0].image}dateFunction(t,e={includeType:!0}){return this.helpers.$_getFieldFunction(t,!0,e.includeType)}aggregateFunction(t,e={includeType:!0}){return this.helpers.$_getFieldFunction(t,!0,e.includeType)}fieldsFunction(t,e={includeType:!0}){let r={};return e.includeType&&(r.type="FieldFunctionExpression"),r={...r,functionName:"FIELDS",parameters:[t.params[0].image]},r.rawValue=`FIELDS(${r.parameters[0]})`,r}otherFunction(t,e={includeType:!0}){return this.helpers.$_getFieldFunction(t,!1,e.includeType)}cubeFunction(t){return this.helpers.$_getFieldFunction(t,!1,!1)}rollupFunction(t){return this.helpers.$_getFieldFunction(t,!1,!1)}locationFunction(t,e={includeType:!0}){let r={};return e.includeType&&(r.type="FieldFunctionExpression"),r={...r,functionName:"DISTANCE",parameters:[t.location1[0].image,n(t.location2)?t.location2[0].image:this.visit(t.location2,e),t.unit[0].image]},e.includeType&&(r.isAggregateFn=!0),r.rawValue=`DISTANCE(${r.parameters[0]}, ${i(r.parameters[1])?r.parameters[1]:r.parameters[1].rawValue}, ${r.parameters[2]})`,r}geolocationFunction(t,e={includeType:!0}){let r={};return e.includeType&&(r.type="FieldFunctionExpression"),r={...r,functionName:"GEOLOCATION",parameters:[t.latitude[0].image,t.longitude[0].image],rawValue:`GEOLOCATION(${t.latitude[0].image}, ${t.longitude[0].image})`},r}functionExpression(t,e={includeType:!0}){return t.params?t.params.map((t=>t.image?t.image:this.visit(t,e))):[]}expression(t){const{value:e,literalType:r,dateLiteralVariable:i,operator:o}=this.visit(t.operator,{returnLiteralType:!0}),a={};return n(t.lhs)?a.field=t.lhs[0].image:a.fn=this.visit(t.lhs,{includeType:!1}),a.operator=o,a.literalType=r,"SUBQUERY"===r?a.valueQuery=e:a.value=e,i&&(a.dateLiteralVariable=i),t.L_PAREN&&(a.openParen=t.L_PAREN.length),t.R_PAREN&&(a.closeParen=t.R_PAREN.length),a}expressionPartWithNegation(t){return{left:t.L_PAREN?{openParen:t.L_PAREN.length}:null,operator:"NOT",right:{left:{}}}}expressionWithRelationalOperator(t){return t.relationalOperator?{operator:this.visit(t.relationalOperator),...this.visit(t.rhs,{returnLiteralType:!0})}:{operator:this.visit(t.setOperator),...this.visit(t.rhs,{returnLiteralType:!0})}}expressionWithSetOperator(t){return t.relationalOperator?{operator:this.visit(t.relationalOperator),...this.visit(t.rhs,{returnLiteralType:!0})}:{operator:this.visit(t.setOperator),...this.visit(t.rhs,{returnLiteralType:!0})}}atomicExpression(t,e){let r,n,i;if(e=e||{},t.apexBindVariableExpression)r=this.visit(t.apexBindVariableExpression),n="APEX_BIND_VARIABLE";else if(t.NumberIdentifier)r=t.NumberIdentifier[0].image,n=this.helpers.$_getLiteralTypeFromTokenType(t.NumberIdentifier[0].tokenType.name);else if(t.UnsignedInteger)r=t.UnsignedInteger[0].image,n="INTEGER";else if(t.SignedInteger)r=t.SignedInteger[0].image,n="INTEGER";else if(t.RealNumber)r=t.RealNumber[0].image,n="DECIMAL";else if(t.DateIdentifier)r=t.DateIdentifier[0].image,n=this.helpers.$_getLiteralTypeFromTokenType(t.DateIdentifier[0].tokenType.name);else if(t.CurrencyPrefixedInteger)r=t.CurrencyPrefixedInteger[0].image,n="INTEGER_WITH_CURRENCY_PREFIX";else if(t.CurrencyPrefixedDecimal)r=t.CurrencyPrefixedDecimal[0].image,n="DECIMAL_WITH_CURRENCY_PREFIX";else if(t.DateTime)r=t.DateTime[0].image,n="DATETIME";else if(t.date)r=t.DateToken[0].image,n="DATE";else if(t.NULL)r="NULL",n="NULL";else if(t.StringIdentifier)r=t.StringIdentifier[0].image,n="STRING";else if(t.Identifier)r=t.Identifier[0].image,n="STRING";else if(t.booleanValue)r=this.visit(t.booleanValue),n="BOOLEAN";else if(t.DateLiteral)r=t.DateLiteral[0].image,n="DATE_LITERAL";else if(t.dateNLiteral){const e=this.visit(t.dateNLiteral);r=e.value,i=e.variable,n="DATE_N_LITERAL"}else if(t.arrayExpression){const e=this.visit(t.arrayExpression);r=e.map((t=>t.value));const o=e.map((t=>t.variable||null)),a=o.some((t=>null!==t));n=1===new Set(e.map((t=>t.type))).size?this.helpers.$_getLiteralTypeFromTokenType(e[0].type):e.map((t=>this.helpers.$_getLiteralTypeFromTokenType(t.type))),a&&(i=o),n=n||"STRING"}else t.whereClauseSubqueryIdentifier&&(r=this.visit(t.whereClauseSubqueryIdentifier),n="SUBQUERY");return e.returnLiteralType?{value:r,literalType:n,dateLiteralVariable:i}:r}apexBindVariableExpression(t){return t.apex.map((t=>this.visit(t))).join(".")}apexBindVariableIdentifier(t){let e=t.Identifier[0].image;return t.apexBindVariableFunctionArrayAccessor&&(e+=this.visit(t.apexBindVariableFunctionArrayAccessor[0])),e}apexBindVariableNewInstantiation(t){let e=`new ${t.function[0].image}`;return t.apexBindVariableGeneric&&(e+=this.visit(t.apexBindVariableGeneric[0])),e+=this.visit(t.apexBindVariableFunctionParams[0]),t.apexBindVariableFunctionArrayAccessor&&(e+=this.visit(t.apexBindVariableFunctionArrayAccessor[0])),e}apexBindVariableFunctionCall(t){let e=`${t.function[0].image}${this.visit(t.apexBindVariableFunctionParams[0])}`;return t.apexBindVariableFunctionArrayAccessor&&(e+=this.visit(t.apexBindVariableFunctionArrayAccessor[0])),e}apexBindVariableGeneric(t){return`<${t.parameter.map((t=>t.image)).join(", ")}>`}apexBindVariableFunctionParams(t){return`(${(Array.isArray(t.parameter)?t.parameter:[]).map((t=>t.image)).join(", ")})`}apexBindVariableFunctionArrayAccessor(t){return`[${t.value[0].image}]`}arrayExpression(t){return t.value.map((t=>n(t)?{type:t.tokenType.name,value:t.image}:this.visit(t,{includeType:!0})))}relationalOperator(t){return t.operator[0].image}setOperator(t){return Array.isArray(t.operator)?t.operator[0].tokenType.name.replace("_"," "):Array.isArray(t.notIn)?this.visit(t.notIn):void 0}notInOperator(t){return"NOT IN"}booleanValue(t){return t.boolean[0].tokenType.name}dateNLiteral(t,e){const r={value:`${t.dateNLiteral[0].image}:${t.variable[0].image}`,variable:Number(t.variable[0].image)};return e&&e.includeType&&(r.type=t.dateNLiteral[0].tokenType.name),r}forViewOrReference(t){return t.value[0].tokenType.name}updateTrackingViewstat(t){return t.value[0].tokenType.name}};function un(t,e){const{cst:r}=en(t,e);return sn.visit(r)}function cn(t){if("string"==typeof t)return{type:"Field",field:t};if(function(t){return!a(t.functionName||t.fn)}(t)){let e=[];return t.parameters&&(e=Array.isArray(t.parameters)?t.parameters:[t.parameters]),{type:"FieldFunctionExpression",functionName:t.functionName||t.fn,parameters:e,alias:t.alias}}if(function(t){return i(t.field)&&Array.isArray(t.relationships)}(t))return{type:"FieldRelationship",field:t.field,relationships:t.relationships,objectPrefix:t.objectPrefix};if(function(t){return!a(t.subquery)}(t))return{type:"FieldSubquery",subquery:t.subquery};if(function(t){return i(t.field)&&Array.isArray(t.conditions)}(t))return{type:"FieldTypeof",field:t.field,conditions:t.conditions};if(function(t){return i(t.field)&&!Array.isArray(t.relationships)&&!Array.isArray(t.conditions)}(t))return{type:"Field",field:t.field,objectPrefix:t.objectPrefix};throw new TypeError("The input object provided did not match any valid field types")}function ln(t,e){if(!t)return[];const r=(t=f(t)?t.subquery:t).fields;if(!r)return[];let n={};t.groupBy&&(n=(Array.isArray(t.groupBy)?t.groupBy:[t.groupBy]).reduce(((t,e)=>(O(e)&&(t[e.field.toLocaleLowerCase()]=e.field),t)),{}));let o=-1,a=(l(t)?t.relationshipName:t.sObject||"").toLowerCase(),s=(t.sObjectAlias||"").toLowerCase();const p=r.flatMap((t=>{switch(t.type){case"Field":return t.alias||t.field;case"FieldFunctionExpression":{let r=u(t);if(r=r.map((t=>{if(t.includes(".")){let e=t.split(".");const r=e[0].toLowerCase();return r!==s&&r!==a||(e=e.slice(1)),e.join(".")}return t})),t.alias&&(t.isAggregateFn||e))return t.alias;if(t.alias){const e=r[0];return e.includes(".")?(r=e.split(".").slice(0,-1),r.push(t.alias),r.join(".")):t.alias}return t.isAggregateFn||function(t){if(!t.parameters||0===t.parameters.length)return!1;const e=t.parameters[0];return!i(e)&&!!e.isAggregateFn}(t)||e?(o++,`expr${o}`):r.length>0?r.join("."):t.functionName}case"FieldRelationship":{const e=t.relationships[0].toLowerCase();return c(t)?t.alias:t.rawValue&&n[t.rawValue.toLocaleLowerCase()]?t.field:e===s||e===a?t.relationships.concat([t.field]).slice(1).join("."):t.relationships.concat([t.field]).join(".")}case"FieldSubquery":return t.subquery.relationshipName;case"FieldTypeof":{const e=new Set,r=[];return t.conditions.forEach((n=>{n.fieldList.forEach((n=>{e.has(n)||(e.add(n),r.push(`${t.field}.${n}`))}))})),r}}})).filter((t=>i(t)));return p}class fn{enabled;options;currIndent=1;constructor(t,e){this.enabled=t,this.options={numIndent:e.numIndent??1,fieldMaxLineLength:e.fieldMaxLineLength??60,fieldSubqueryParensOnOwnLine:e.fieldSubqueryParensOnOwnLine??!0,whereClauseOperatorsIndented:!0,newLineAfterKeywords:e.newLineAfterKeywords??!1,logging:e.logging??!1},this.options.newLineAfterKeywords&&(this.options.fieldSubqueryParensOnOwnLine=!0)}log(t){this.options.logging&&console.log(t)}getIndent(t=0){return this.repeatChar((this.currIndent+t)*(this.options.numIndent||1),"\t")}repeatChar(t,e){return new Array(t).fill(e).join("")}setSubquery(t){this.currIndent=t?this.currIndent+=1:this.currIndent-=1}stepCurrIndex(t){this.currIndent+=t}formatFields(t){function e(e){t.fields[e-1]&&(t.fields[e-1].suffix=t.fields[e-1].suffix.trim())}if(t.fields.forEach(((e,r)=>{e.suffix=t.fields.length-1===r?"":", "})),this.enabled){let r=0,n=!1;t.fields.forEach(((i,a)=>{i.isSubquery?(e(a),i.prefix=`\n${this.getIndent()}`,i.suffix=t.fields.length-1===a?"":", ",r=0,n=!0):Array.isArray(i.typeOfClause)?(e(a),i.prefix=`\n${this.getIndent()}`,n=!0):o(this.options.fieldMaxLineLength)&&(r+=i.text.length+i.suffix.length,(r>this.options.fieldMaxLineLength||n)&&(e(a),(!this.options.newLineAfterKeywords||a>0)&&(i.prefix+=`\n${this.getIndent()}`),r=0,n=!1)),this.log(i)}))}}formatTyeOfField(t,e){return this.enabled&&this.options.newLineAfterKeywords?e.map(((t,r)=>0===r?t:r===e.length-1?`${this.getIndent()}${t}`:`${this.getIndent()}\t${t}`)).join("\n"):t}formatTypeofFieldCondition(t){let e="";const r=t.fieldList.join(", ");if(this.enabled&&this.options.newLineAfterKeywords){const n=this.getIndent();e=`${t.type}`,t.objectType?e+=`\n${n}\t\t${t.objectType}\n${n}\tTHEN\n${n}\t\t${r}`:e+=`\n${n}\t\t${r}`}else e=t.type,t.objectType?e+=` ${t.objectType} THEN ${r}`:e+=` ${r}`;return e}formatSubquery(t,e=2,r=!1){r&&e++;let n="(",i=")";return this.enabled&&(this.options.fieldSubqueryParensOnOwnLine||this.options.newLineAfterKeywords?(t=t.replace(/\n/g,`\n${this.repeatChar(e,"\t")}`),n=`(\n${this.repeatChar(e,"\t")}`,i=`\n${this.repeatChar(e-1,"\t")})`):t=t.replace(/\n/g,"\n\t")),`${n}${t}${i}`}formatClause(t){return this.enabled?this.options.newLineAfterKeywords?`\n${t}\n\t`:`\n${t}`:` ${t}`}formatText(t){return this.enabled&&(this.options.newLineAfterKeywords||t.startsWith("\n"))?t:` ${t}`}formatWithIndent(t){return this.enabled?`${this.getIndent()}${t}`:t}formatOrderByArray(t){if(this.enabled){let e=0,r="";return t.forEach(((n,i)=>{const o=t[i+1];e+=n.length,o&&(e+o.length>(this.options.fieldMaxLineLength||0)||this.options.newLineAfterKeywords)?(r+=`${n},\n\t`,e=0):r+=`${n}${o?", ":""}`})),r}return t.join(", ")}formatParens(t,e,r=!1){let n="";if(o(t)&&t>0)if(this.enabled)if("("===e){for(let e=0;e1)&&this.currIndent++}else for(let i=t-1;i>=0;i--)r&&i===t-1?n+=")":(this.currIndent--,n+=`\n${this.getIndent()})`);else n+=function(t,e,r=""){return o(t)&&t>0?new Array(t).fill(e).join(r):""}(t,e);return n}formatWhereClauseOperators(t,e,r=0){const n="NOT"===t;return this.enabled&&!n?`\n${this.getIndent(r)}${t} ${e}`:`${n?"":" "}${t} ${e}`}formatAddNewLine(t=" ",e){return this.enabled&&!e?"\n":t}}function pn(t,e={}){if(!t)return"";(e=e||{}).format=!!e.format,e.logging&&(console.time("composer"),console.log("Composing Query:",t),console.log("Format output:",e.format));const r=new hn(t,e).query;return e.logging&&console.timeEnd("composer"),r}class hn{soql;logging=!1;format=!1;query;formatter;constructor(t,e={}){this.soql=t,e={autoCompose:!0,...e};const{logging:r,format:n}=e;this.logging=!!r,this.format=!!n,this.query="",this.formatter=new fn(this.format,{logging:this.logging,...e.formatOptions}),e.autoCompose&&this.start()}start(){this.query=this.parseQuery(this.soql)}log(t){this.logging&&console.log("Current SOQL:",t)}parseFn(t){let e;return t.rawValue?e=t.rawValue:(e=t.functionName,e+=`(${(t.parameters||[]).map((t=>i(t)?t:this.parseFn(t))).join(", ")})`),t.alias&&(e+=` ${t.alias}`),e}parseQuery(t){const e={fields:this.parseFields(t.fields||[]).map((t=>({text:t.text,typeOfClause:t.typeOfClause,isSubquery:t.text.startsWith("("),prefix:"",suffix:""}))),isSubquery:l(t),lineBreaks:[]};let r="";t.fields&&(r+=this.formatter.formatClause("SELECT").trimStart()),this.formatter.formatFields(e);let n="";if(e.fields.forEach((t=>{Array.isArray(t.typeOfClause)?n+=`${t.prefix}${this.formatter.formatTyeOfField(t.text,t.typeOfClause)}${t.suffix}`:n+=`${t.prefix}${t.text}${t.suffix}`})),r+=this.formatter.formatText(n),(l(t)?t.relationshipName:t.sObject)&&(r+=this.formatter.formatClause("FROM")),l(t)){const e=t.sObjectPrefix||[];e.push(t.relationshipName),r+=this.formatter.formatText(`${e.join(".")}${s(t.sObjectAlias,""," ")}`)}else t.sObject&&(r+=this.formatter.formatText(`${t.sObject}${s(t.sObjectAlias,""," ")}`));return this.log(r),t.usingScope&&(r+=this.formatter.formatClause("USING SCOPE"),r+=this.formatter.formatText(t.usingScope),this.log(r)),t.where&&(r+=this.formatter.formatClause("WHERE"),r+=this.formatter.formatText(this.parseWhereOrHavingClause(t.where)),this.log(r)),t.groupBy&&(r+=this.formatter.formatClause("GROUP BY"),r+=this.formatter.formatText(this.parseGroupByClause(t.groupBy)),this.log(r),t.having&&(r+=this.formatter.formatClause("HAVING"),r+=this.formatter.formatText(this.parseWhereOrHavingClause(t.having)),this.log(r))),t.orderBy&&(!Array.isArray(t.orderBy)||t.orderBy.length>0)&&(r+=this.formatter.formatClause("ORDER BY"),r+=this.formatter.formatText(this.parseOrderBy(t.orderBy)),this.log(r)),o(t.limit)&&(r+=this.formatter.formatClause("LIMIT"),r+=this.formatter.formatText(`${t.limit}`),this.log(r)),o(t.offset)&&(r+=this.formatter.formatClause("OFFSET"),r+=this.formatter.formatText(`${t.offset}`),this.log(r)),t.withDataCategory&&(r+=this.formatter.formatClause("WITH DATA CATEGORY"),r+=this.formatter.formatText(this.parseWithDataCategory(t.withDataCategory)),this.log(r)),t.withSecurityEnforced&&(r+=this.formatter.formatClause("WITH SECURITY_ENFORCED"),this.log(r)),t.withAccessLevel&&(r+=this.formatter.formatClause(`WITH ${t.withAccessLevel}`),this.log(r)),t.for&&(r+=this.formatter.formatClause("FOR"),r+=this.formatter.formatText(t.for),this.log(r)),t.update&&(r+=this.formatter.formatClause("UPDATE"),r+=this.formatter.formatText(t.update),this.log(r)),r.trim()}parseFields(t){return t.map((t=>{let e,r="";const n=t.objectPrefix?`${t.objectPrefix}.`:"";switch(t.type){case"Field":r=`${n}${t.field}${t.alias?` ${t.alias}`:""}`;break;case"FieldFunctionExpression":{let e="";t.parameters&&(e=t.parameters.map((t=>i(t)?t:this.parseFields([t]).map((t=>t.text)))).join(", ")),r=`${t.functionName}(${e})${t.alias?` ${t.alias}`:""}`;break}case"FieldRelationship":r=`${n}${t.relationships.join(".")}.${t.field}${c(t)?` ${t.alias}`:""}`;break;case"FieldSubquery":r=this.formatter.formatSubquery(this.parseQuery(t.subquery));break;case"FieldTypeof":e=this.parseTypeOfField(t),r=e.join(" ")}return{text:r,typeOfClause:e}}))}parseTypeOfField(t){const e=[`TYPEOF ${t.field}`].concat(t.conditions.map((t=>this.formatter.formatTypeofFieldCondition(t))));return e.push("END"),e}parseWhereOrHavingClause(t,e=0,r=!1){let n="";const i=t.left;let o=!1;if(i&&(n+=this.formatter.formatParens(i.openParen,"(",y(i)),!y(i))){e=e+(i.openParen||0)-(i.closeParen||0),r&&e++;let t="";t+=m(i)?this.parseFn(i.fn):i.field,t+=` ${i.operator} `,A(i)?t+=this.formatter.formatSubquery(this.parseQuery(i.valueQuery),1,!0):t+=function(t,e=!1){return Array.isArray(t)?t.length>0?`(${t.join(", ")})`:e?"()":"":e?`(${t||""})`:t||""}(N(i.value,i.literalType,i.operator)),n+=this.formatter.formatWithIndent(t),n+=this.formatter.formatParens(i.closeParen,")",r)}if(d(t)){const r=s(t.operator);o="NOT"===r;const a=this.formatter.formatWhereClauseOperators(r,this.parseWhereOrHavingClause(t.right,e,y(i)),e);return`${o?n.trimRight():n}${a}`.trim()}return n.trim()}parseGroupByClause(t){return(Array.isArray(t)?t:[t]).map((t=>O(t)?t.field:this.parseFn(t.fn))).join(", ")}parseOrderBy(t){if(Array.isArray(t))return this.formatter.formatOrderByArray(t.map((t=>this.parseOrderBy(t))));{let e="";return _(t)?e=`${s(t.field," ")}`:e+=`${this.parseFn(t.fn)} `,e+=`${s(t.order," ")}${s(t.nulls,"","NULLS ")}`,e.trim()}}parseWithDataCategory(t){return t.conditions.map((t=>{const e=t.parameters.length>1?`(${t.parameters.join(", ")})`:`${t.parameters.join(", ")}`;return`${t.groupName} ${t.selector} ${e}`})).join(" AND ")}}},417:(t,e,r)=>{"use strict";e._b=e.H7=e.LK=e.Kv=e.Mf=e.SE=e.N$=e.oI=e.$9=e.pT=e.fK=e.ej=e.hI=e.Wx=e.Sj=e.r3=e.ue=e.ZW=e.z5=e.Oq=e.P7=e.bS=e.N7=e.Hs=e.dV=e.oC=e.vA=e.ol=e.l$=e.sd=e.dK=e.V3=e.Bw=e.hW=e._o=e.b4=e.nu=e.wd=e.q4=void 0;var n=r(7657);Object.defineProperty(e,"q4",{enumerable:!0,get:function(){return n.VERSION}});var i=r(1183);Object.defineProperty(e,"wd",{enumerable:!0,get:function(){return i.CstParser}}),Object.defineProperty(e,"nu",{enumerable:!0,get:function(){return i.EmbeddedActionsParser}}),Object.defineProperty(e,"b4",{enumerable:!0,get:function(){return i.ParserDefinitionErrorType}}),Object.defineProperty(e,"_o",{enumerable:!0,get:function(){return i.EMPTY_ALT}});var o=r(8200);Object.defineProperty(e,"hW",{enumerable:!0,get:function(){return o.Lexer}}),Object.defineProperty(e,"Bw",{enumerable:!0,get:function(){return o.LexerDefinitionErrorType}});var a=r(8980);Object.defineProperty(e,"V3",{enumerable:!0,get:function(){return a.createToken}}),Object.defineProperty(e,"dK",{enumerable:!0,get:function(){return a.createTokenInstance}}),Object.defineProperty(e,"sd",{enumerable:!0,get:function(){return a.EOF}}),Object.defineProperty(e,"l$",{enumerable:!0,get:function(){return a.tokenLabel}}),Object.defineProperty(e,"ol",{enumerable:!0,get:function(){return a.tokenMatcher}}),Object.defineProperty(e,"vA",{enumerable:!0,get:function(){return a.tokenName}});var s=r(3670);Object.defineProperty(e,"oC",{enumerable:!0,get:function(){return s.getLookaheadPaths}});var u=r(3449);Object.defineProperty(e,"dV",{enumerable:!0,get:function(){return u.LLkLookaheadStrategy}});var c=r(7621);Object.defineProperty(e,"Hs",{enumerable:!0,get:function(){return c.defaultParserErrorProvider}});var l=r(4400);Object.defineProperty(e,"N7",{enumerable:!0,get:function(){return l.EarlyExitException}}),Object.defineProperty(e,"bS",{enumerable:!0,get:function(){return l.isRecognitionException}}),Object.defineProperty(e,"P7",{enumerable:!0,get:function(){return l.MismatchedTokenException}}),Object.defineProperty(e,"Oq",{enumerable:!0,get:function(){return l.NotAllInputParsedException}}),Object.defineProperty(e,"z5",{enumerable:!0,get:function(){return l.NoViableAltException}});var f=r(8232);Object.defineProperty(e,"ZW",{enumerable:!0,get:function(){return f.defaultLexerErrorProvider}});var p=r(3062);Object.defineProperty(e,"ue",{enumerable:!0,get:function(){return p.Alternation}}),Object.defineProperty(e,"r3",{enumerable:!0,get:function(){return p.Alternative}}),Object.defineProperty(e,"Sj",{enumerable:!0,get:function(){return p.NonTerminal}}),Object.defineProperty(e,"Wx",{enumerable:!0,get:function(){return p.Option}}),Object.defineProperty(e,"hI",{enumerable:!0,get:function(){return p.Repetition}}),Object.defineProperty(e,"ej",{enumerable:!0,get:function(){return p.RepetitionMandatory}}),Object.defineProperty(e,"fK",{enumerable:!0,get:function(){return p.RepetitionMandatoryWithSeparator}}),Object.defineProperty(e,"pT",{enumerable:!0,get:function(){return p.RepetitionWithSeparator}}),Object.defineProperty(e,"$9",{enumerable:!0,get:function(){return p.Rule}}),Object.defineProperty(e,"oI",{enumerable:!0,get:function(){return p.Terminal}});var h=r(3062);Object.defineProperty(e,"N$",{enumerable:!0,get:function(){return h.serializeGrammar}}),Object.defineProperty(e,"SE",{enumerable:!0,get:function(){return h.serializeProduction}}),Object.defineProperty(e,"Mf",{enumerable:!0,get:function(){return h.GAstVisitor}});var d=r(2688);Object.defineProperty(e,"Kv",{enumerable:!0,get:function(){return d.generateCstDts}}),e.LK=function(){console.warn("The clearCache function was 'soft' removed from the Chevrotain API.\n\t It performs no action other than printing this message.\n\t Please avoid using it as it will be completely removed in the future")};var E=r(7141);Object.defineProperty(e,"H7",{enumerable:!0,get:function(){return E.createSyntaxDiagramsCode}});var T=function(){throw new Error("The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead.\t\nSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0")};e._b=T},7141:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createSyntaxDiagramsCode=void 0;var n=r(7657);e.createSyntaxDiagramsCode=function(t,e){var r=void 0===e?{}:e,i=r.resourceBase,o=void 0===i?"https://unpkg.com/chevrotain@".concat(n.VERSION,"/diagrams/"):i,a=r.css,s=void 0===a?"https://unpkg.com/chevrotain@".concat(n.VERSION,"/diagrams/diagrams.css"):a;return'\n\x3c!-- This is a generated file --\x3e\n\n\n\n\n'+"\n\n")+"\n + diff --git a/docs/cli.html b/docs/cli.html index ab68a10..5664d67 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -4,7 +4,7 @@ CLI | SOQL Parser JS - + diff --git a/docs/examples.html b/docs/examples.html index 5d0ecbc..73d24fe 100644 --- a/docs/examples.html +++ b/docs/examples.html @@ -4,7 +4,7 @@ Other Examples | SOQL Parser JS - + diff --git a/docs/overview.html b/docs/overview.html index d8af7a2..bb68652 100644 --- a/docs/overview.html +++ b/docs/overview.html @@ -4,7 +4,7 @@ Overview | SOQL Parser JS - + diff --git a/index.html b/index.html index 7fed8e3..eaf46e6 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ SOQL Parser JS | SOQL Parser JS - + diff --git a/playground.html b/playground.html index 4871877..ec371fe 100644 --- a/playground.html +++ b/playground.html @@ -4,10 +4,10 @@ Hello | SOQL Parser JS - + -
  • Parse Queries
  • Compose Queries
  • Utility Functions
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
  • SELECT Name FROM Account ORDER BY Name DESC NULLS LAST
  • SELECT Name FROM Account WHERE Industry = 'media' LIMIT 125
  • SELECT Name FROM Account WHERE Industry = 'media' ORDER BY BillingPostalCode ASC NULLS LAST LIMIT 125
  • SELECT COUNT() FROM Contact
  • SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 1
  • SELECT Name, Id FROM Merchandise__c ORDER BY Name OFFSET 100
  • SELECT Name, Id FROM Merchandise__c ORDER BY Name LIMIT 20 OFFSET 100
  • SELECT Contact.FirstName, Contact.Account.Name FROM Contact
  • SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = 'media'
  • SELECT Name, (SELECT LastName FROM Contacts) FROM Account
  • SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account
  • SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias='x') FROM Account WHERE Industry='media'
  • SELECT Id, FirstName__c, Mother_of_Child__r.FirstName__c FROM Daughter__c WHERE Mother_of_Child__r.LastName__c LIKE 'C%'
  • SELECT Name, (SELECT Name FROM Line_Items__r) FROM Merchandise__c WHERE Name LIKE 'Acme%'
  • SELECT Id, Owner.Name FROM Task WHERE Owner.FirstName LIKE 'B%'
  • SELECT Id, Who.FirstName, Who.LastName FROM Task WHERE Owner.FirstName LIKE 'B%'
  • SELECT Id, What.Name FROM Event
  • SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate ELSE Name, Email END FROM Event
  • SELECT Name, (SELECT CreatedBy.Name FROM Notes) FROM Account
  • SELECT Amount, Id, Name, (SELECT Quantity, ListPrice, PricebookEntry.UnitPrice, PricebookEntry.Name FROM OpportunityLineItems) FROM Opportunity
  • SELECT UserId, LoginTime FROM LoginHistory
  • SELECT UserId, COUNT(Id) FROM LoginHistory WHERE LoginTime > 2010-09-20T22:16:30.000Z AND LoginTime < 2010-09-21 GROUP BY UserId
  • SELECT Id, Name, IsActive, SobjectType, DeveloperName, Description FROM RecordType
  • SELECT CampaignId, AVG(Amount) avg FROM Opportunity GROUP BY CampaignId HAVING COUNT(Id, Name) > 1
  • SELECT LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource)
  • SELECT Status, LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(Status, LeadSource)
  • SELECT Type, BillingCountry, GROUPING(Type)grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type,BillingCountry) ORDER BY GROUPING(Type), GROUPING(Id,BillingCountry), Name DESC NULLS FIRST, Id ASC NULLS LAST
  • SELECT c.Name, c.Account.Name FROM Contact c
  • SELECT Id FROM Account WHERE (Id IN ('1', '2', '3') OR (NOT Id = '2') OR (Name LIKE '%FOO%' OR (Name LIKE '%ARM%' AND FOO = 'bar')))
  • SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > 'Phone'
  • SELECT a.Id, a.Name, (SELECT a2.Id FROM ChildAccounts a2), (SELECT a1.Id FROM ChildAccounts1 a1) FROM Account a
  • SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = 'online' WITH DATA CATEGORY Geography__c ABOVE usa__c
  • SELECT Title FROM Question WHERE LastReplyDate > 2005-10-08T01:02:03Z WITH DATA CATEGORY Geography__c AT (usa__c, uk__c)
  • SELECT UrlName FROM KnowledgeArticleVersion WHERE PublishStatus = 'draft' WITH DATA CATEGORY Geography__c AT usa__c AND Product__c ABOVE_OR_BELOW mobile_phones__c
  • SELECT Id FROM Contact FOR VIEW
  • SELECT Id FROM Contact FOR REFERENCE
  • SELECT Id FROM Contact FOR UPDATE
  • SELECT Id FROM FAQ__kav FOR UPDATE
  • SELECT Id FROM FAQ__kav FOR VIEW UPDATE TRACKING
  • SELECT Id FROM FAQ__kav UPDATE VIEWSTAT
  • SELECT amount, FORMAT(amount) Amt, convertCurrency(amount) editDate, FORMAT(convertCurrency(amount)) convertedCurrency FROM Opportunity WHERE id = '12345'
  • SELECT FORMAT(MIN(closedate)) Amt FROM Opportunity
  • SELECT Company, toLabel(Status) FROM Lead WHERE toLabel(Status) = 'le Draft'
  • SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Opportunity WHERE StageName = 'Closed Lost')
  • SELECT Id FROM Account WHERE Id NOT IN (SELECT AccountId FROM Opportunity WHERE IsClosed = TRUE)
  • SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE LastName LIKE 'apple%') AND Id IN (SELECT AccountId FROM Opportunity WHERE isClosed = FALSE)
  • SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contact.Foo.Bars) FROM Account
  • SELECT LeadSource, COUNT(Name)cnt FROM Lead
  • SELECT Id, Name FROM Account WHERE Name != 'foo'
  • SELECT Id FROM Account WHERE Foo IN ('1', '2', '3') OR Bar IN (1, 2, 3) OR Baz IN (101.00, 102.50) OR Bam IN ('FOO', null)
  • SELECT Id, Name FROM Account WHERE CreatedDate > LAST_N_YEARS:1 AND LastModifiedDate > LAST_MONTH
  • SELECT Id, CreatedById, CreatedDate, DefType, IsDeleted, Format, LastModifiedById, LastModifiedDate, AuraDefinitionBundleId, ManageableState, Source, SystemModstamp FROM AuraDefinition
  • SELECT Id, Name, BillingCity FROM Account WITH SECURITY_ENFORCED
  • SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = 'online' WITH DATA CATEGORY Geography__c ABOVE usa__c WITH SECURITY_ENFORCED
  • SELECT Id FROM Account WHERE (((Name = '1' OR Name = '2') AND Name = '3')) AND (((Description = '123') OR (Id = '1' AND Id = '2'))) AND Id = '1'
  • SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate END FROM Event
  • SELECT Name FROM Account WHERE CreatedById IN (SELECT TYPEOF Owner WHEN User THEN Id WHEN Group THEN CreatedById END FROM CASE)
  • SELECT Name FROM Account OFFSET 1
  • SELECT Name FROM Account WHERE Id = :foo
  • SELECT Name FROM Account WHERE Industry IN ('media', null, 1, 'media', 2) LIMIT 125
  • SELECT Name FROM Account WHERE Foo = NULL
  • SELECT Name FROM Account WHERE Foo = TODAY
  • SELECT Name FROM Account WHERE Foo = LAST_N_YEARS:1
  • SELECT Name FROM Account WHERE Foo = 2010-09-20T22:16:30.000Z
  • SELECT Name FROM Account WHERE Foo = 1
  • SELECT Name FROM Account WHERE Foo = TRUE AND bar = FALSE
  • SELECT CALENDAR_YEAR(CreatedDate) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(CreatedDate)
  • SELECT CALENDAR_YEAR(convertTimezone(CreatedDate)) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(convertTimezone(CreatedDate))
  • SELECT COUNT_DISTINCT(Company) distinct FROM Lead
  • SELECT Name, toLabel(Recordtype.Name) FROM Account
  • SELECT Id, MSP1__c FROM CustObj__c WHERE MSP1__c INCLUDES ('AAA;BBB', 'CCC')
  • SELECT Id FROM Account WHERE CreatedDate > LAST_N_FISCAL_QUARTERS:6
  • SELECT Id FROM Opportunity WHERE CloseDate < NEXT_N_FISCAL_YEARS:3
  • SELECT Id FROM Opportunity WHERE CloseDate > LAST_N_FISCAL_YEARS:3
  • SELECT Id, Title FROM Dashboard USING SCOPE allPrivate WHERE Type != 'SpecifiedUser'
  • SELECT LeadSource, Rating, GROUPING(LeadSource) grpLS, GROUPING(Rating) grpRating, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource, Rating)
  • SELECT Type, BillingCountry, GROUPING(Type) grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type, BillingCountry) ORDER BY GROUPING(Type), GROUPING(BillingCountry)
  • SELECT HOUR_IN_DAY(convertTimezone(CreatedDate)), SUM(Amount) FROM Opportunity GROUP BY HOUR_IN_DAY(convertTimezone(CreatedDate))
  • SELECT Id FROM Opportunity WHERE Amount > USD5000
  • SELECT Id FROM Opportunity WHERE Amount > USD5000.01
  • SELECT Id, Amount FROM Opportunity WHERE Amount IN (usd500.01, usd600)
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name LIKE '%testing%' OR Name LIKE '%123%')
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name IN ('4/30 testing account', 'amendment quote doc testing', null))
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (NOT Name IN ('4/30 testing account', 'amendment quote doc testing'))
  • SELECT Name, Location__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi') < 20
  • SELECT Name, StreetAddress__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi') < 20 ORDER BY DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi') DESC LIMIT 10
  • SELECT Id, Name, Location, DISTANCE(Location, GEOLOCATION(10, 10), 'mi') FROM CONTACT
  • SELECT BillingState, BillingStreet, COUNT(Id) FROM Account GROUP BY BillingState, BillingStreet
  • SELECT Id, Name, Location__c, DISTANCE(Location__c, GEOLOCATION(-10.775, -10.775), 'MI') FROM CONTACT
  • SELECT Id FROM Account WHERE CreatedDate IN (TODAY)
  • SELECT Id FROM Account WHERE CreatedDate IN (TODAY)
  • SELECT Id FROM Account WHERE CreatedDate IN (TODAY, LAST_N_DAYS:4)
  • SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:2)
  • SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:4, LAST_N_DAYS:7)
  • SELECT SBQQ__Product__r.Name foo, SBQQ__Quote__c foo1 FROM SBQQ__Quoteline__c GROUP BY SBQQ__Quote__c, SBQQ__Product__r.Name
  • SELECT Id, convertCurrency(Amount) FROM Opportunity WHERE Amount > 0 AND CALENDAR_YEAR(CloseDate) = 2020
  • SELECT Id FROM LoginHistory WHERE LoginTime > 2020-04-23T09:00:00.00000000000000000000000000000000+00:00 AND LoginTime < 2020-04-15T02:40:03.000+0000
  • SELECT ProductCode FROM Product2 GROUP BY ProductCode HAVING COUNT(Id) > 1 ORDER BY COUNT(Id) DESC
  • SELECT AnnualRevenue FROM Account WHERE NOT (AnnualRevenue > 0 AND AnnualRevenue < 200000)
  • SELECT AnnualRevenue FROM Account WHERE ((NOT AnnualRevenue > 0) AND AnnualRevenue < 200000)
  • SELECT Id FROM Account WHERE NOT Id = '2'
  • SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate)
  • SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS FIRST
  • SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS LAST, SUM(amount) ASC NULLS LAST
  • SELECT FIELDS(ALL) FROM Account
  • SELECT FIELDS(CUSTOM), FIELDS(STANDARD) FROM Account
  • SELECT Id, (SELECT FIELDS(ALL) FROM Contacts) FROM Account
  • SELECT UserId, CALENDAR_MONTH(LoginTime) month FROM LoginHistory WHERE NetworkId != NULL GROUP BY UserId, CALENDAR_MONTH(LoginTime)
  • SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contactMap.keySet()) FROM Account WHERE Id IN :accountMap.keySet()
  • SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contact_900Map.keySet()) FROM Account WHERE Id IN :acco INVALID untMap.keySet()
  • SELECT Id FROM Account WHERE Id IN :new Map<Id, SObject>(someVar).keySet()
  • SELECT Id FROM Account WHERE Id IN :new Map<Id, SObject>(someVar).getSomeClass().records
  • SELECT Id FROM SBQQ__QuoteTerm__c WHERE SBQQ__StandardTerm__c = :CPQ_Hard_Coded_Ids__c.getInstance().Standard_Quote_Term_Id__c
  • SELECT Id FROM Opportunity WHERE SBQQ__StandardTerm__c = :quotes[3].SBQQ__QuoteLine__r[0].Term__c
  • SELECT Name FROM Account WHERE Name IN ('GenePoint\'s \n Ok!?!@#$^%$&*()_+')
  • SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = 'MI' OR State_Abbr_c = 'km'
  • SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = 'KM'
  • SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c IN ('mi', 'KM')
  • SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > 'km'
  • SELECT Id FROM Account WITH USER_MODE
  • SELECT Id FROM Account WITH SYSTEM_MODE
  • SELECT Id, BillingCity FROM Account WHERE NOT (NOT BillingCity LIKE '%123%')
  • SELECT Id FROM Account WHERE NOT (NOT Invoice_Type__c LIKE '%Usage%')
  • SELECT Id FROM Account WHERE (NOT Invoice_Type__c LIKE '%Usage%')
  • SELECT Id, City FROM Lead WHERE NOT ((NOT (City LIKE '%LHR%')) AND City LIKE '%KHR%')
Parse Options
+
  • Parse Queries
  • Compose Queries
  • Utility Functions
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
  • SELECT Name FROM Account ORDER BY Name DESC NULLS LAST
  • SELECT Name FROM Account WHERE Industry = 'media' LIMIT 125
  • SELECT Name FROM Account WHERE Industry = 'media' ORDER BY BillingPostalCode ASC NULLS LAST LIMIT 125
  • SELECT COUNT() FROM Contact
  • SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 1
  • SELECT Name, Id FROM Merchandise__c ORDER BY Name OFFSET 100
  • SELECT Name, Id FROM Merchandise__c ORDER BY Name LIMIT 20 OFFSET 100
  • SELECT Contact.FirstName, Contact.Account.Name FROM Contact
  • SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = 'media'
  • SELECT Name, (SELECT LastName FROM Contacts) FROM Account
  • SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account
  • SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias='x') FROM Account WHERE Industry='media'
  • SELECT Id, FirstName__c, Mother_of_Child__r.FirstName__c FROM Daughter__c WHERE Mother_of_Child__r.LastName__c LIKE 'C%'
  • SELECT Name, (SELECT Name FROM Line_Items__r) FROM Merchandise__c WHERE Name LIKE 'Acme%'
  • SELECT Id, Owner.Name FROM Task WHERE Owner.FirstName LIKE 'B%'
  • SELECT Id, Who.FirstName, Who.LastName FROM Task WHERE Owner.FirstName LIKE 'B%'
  • SELECT Id, What.Name FROM Event
  • SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate ELSE Name, Email END FROM Event
  • SELECT Name, (SELECT CreatedBy.Name FROM Notes) FROM Account
  • SELECT Amount, Id, Name, (SELECT Quantity, ListPrice, PricebookEntry.UnitPrice, PricebookEntry.Name FROM OpportunityLineItems) FROM Opportunity
  • SELECT UserId, LoginTime FROM LoginHistory
  • SELECT UserId, COUNT(Id) FROM LoginHistory WHERE LoginTime > 2010-09-20T22:16:30.000Z AND LoginTime < 2010-09-21 GROUP BY UserId
  • SELECT Id, Name, IsActive, SobjectType, DeveloperName, Description FROM RecordType
  • SELECT CampaignId, AVG(Amount) avg FROM Opportunity GROUP BY CampaignId HAVING COUNT(Id, Name) > 1
  • SELECT LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource)
  • SELECT Status, LeadSource, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(Status, LeadSource)
  • SELECT Type, BillingCountry, GROUPING(Type)grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type,BillingCountry) ORDER BY GROUPING(Type), GROUPING(Id,BillingCountry), Name DESC NULLS FIRST, Id ASC NULLS LAST
  • SELECT c.Name, c.Account.Name FROM Contact c
  • SELECT Id FROM Account WHERE (Id IN ('1', '2', '3') OR (NOT Id = '2') OR (Name LIKE '%FOO%' OR (Name LIKE '%ARM%' AND FOO = 'bar')))
  • SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > 'Phone'
  • SELECT a.Id, a.Name, (SELECT a2.Id FROM ChildAccounts a2), (SELECT a1.Id FROM ChildAccounts1 a1) FROM Account a
  • SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = 'online' WITH DATA CATEGORY Geography__c ABOVE usa__c
  • SELECT Title FROM Question WHERE LastReplyDate > 2005-10-08T01:02:03Z WITH DATA CATEGORY Geography__c AT (usa__c, uk__c)
  • SELECT UrlName FROM KnowledgeArticleVersion WHERE PublishStatus = 'draft' WITH DATA CATEGORY Geography__c AT usa__c AND Product__c ABOVE_OR_BELOW mobile_phones__c
  • SELECT Id FROM Contact FOR VIEW
  • SELECT Id FROM Contact FOR REFERENCE
  • SELECT Id FROM Contact FOR UPDATE
  • SELECT Id FROM FAQ__kav FOR UPDATE
  • SELECT Id FROM FAQ__kav FOR VIEW UPDATE TRACKING
  • SELECT Id FROM FAQ__kav UPDATE VIEWSTAT
  • SELECT amount, FORMAT(amount) Amt, convertCurrency(amount) editDate, FORMAT(convertCurrency(amount)) convertedCurrency FROM Opportunity WHERE id = '12345'
  • SELECT FORMAT(MIN(closedate)) Amt FROM Opportunity
  • SELECT Company, toLabel(Status) FROM Lead WHERE toLabel(Status) = 'le Draft'
  • SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Opportunity WHERE StageName = 'Closed Lost')
  • SELECT Id FROM Account WHERE Id NOT IN (SELECT AccountId FROM Opportunity WHERE IsClosed = TRUE)
  • SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE LastName LIKE 'apple%') AND Id IN (SELECT AccountId FROM Opportunity WHERE isClosed = FALSE)
  • SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contact.Foo.Bars) FROM Account
  • SELECT LeadSource, COUNT(Name)cnt FROM Lead
  • SELECT Id, Name FROM Account WHERE Name != 'foo'
  • SELECT Id FROM Account WHERE Foo IN ('1', '2', '3') OR Bar IN (1, 2, 3) OR Baz IN (101.00, 102.50) OR Bam IN ('FOO', null)
  • SELECT Id, Name FROM Account WHERE CreatedDate > LAST_N_YEARS:1 AND LastModifiedDate > LAST_MONTH
  • SELECT Id, CreatedById, CreatedDate, DefType, IsDeleted, Format, LastModifiedById, LastModifiedDate, AuraDefinitionBundleId, ManageableState, Source, SystemModstamp FROM AuraDefinition
  • SELECT Id, Name, BillingCity FROM Account WITH SECURITY_ENFORCED
  • SELECT Title FROM KnowledgeArticleVersion WHERE PublishStatus = 'online' WITH DATA CATEGORY Geography__c ABOVE usa__c WITH SECURITY_ENFORCED
  • SELECT Id FROM Account WHERE (((Name = '1' OR Name = '2') AND Name = '3')) AND (((Description = '123') OR (Id = '1' AND Id = '2'))) AND Id = '1'
  • SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate END FROM Event
  • SELECT Name FROM Account WHERE CreatedById IN (SELECT TYPEOF Owner WHEN User THEN Id WHEN Group THEN CreatedById END FROM CASE)
  • SELECT Name FROM Account OFFSET 1
  • SELECT Name FROM Account WHERE Id = :foo
  • SELECT Name FROM Account WHERE Industry IN ('media', null, 1, 'media', 2) LIMIT 125
  • SELECT Name FROM Account WHERE Foo = NULL
  • SELECT Name FROM Account WHERE Foo = TODAY
  • SELECT Name FROM Account WHERE Foo = LAST_N_YEARS:1
  • SELECT Name FROM Account WHERE Foo = 2010-09-20T22:16:30.000Z
  • SELECT Name FROM Account WHERE Foo = 1
  • SELECT Name FROM Account WHERE Foo = TRUE AND bar = FALSE
  • SELECT CALENDAR_YEAR(CreatedDate) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(CreatedDate)
  • SELECT CALENDAR_YEAR(convertTimezone(CreatedDate)) calYear, SUM(Amount) mySum FROM Opportunity GROUP BY CALENDAR_YEAR(convertTimezone(CreatedDate))
  • SELECT COUNT_DISTINCT(Company) distinct FROM Lead
  • SELECT Name, toLabel(Recordtype.Name) FROM Account
  • SELECT Id, MSP1__c FROM CustObj__c WHERE MSP1__c INCLUDES ('AAA;BBB', 'CCC')
  • SELECT Id FROM Account WHERE CreatedDate > LAST_N_FISCAL_QUARTERS:6
  • SELECT Id FROM Opportunity WHERE CloseDate < NEXT_N_FISCAL_YEARS:3
  • SELECT Id FROM Opportunity WHERE CloseDate > LAST_N_FISCAL_YEARS:3
  • SELECT Id, Title FROM Dashboard USING SCOPE allPrivate WHERE Type != 'SpecifiedUser'
  • SELECT LeadSource, Rating, GROUPING(LeadSource) grpLS, GROUPING(Rating) grpRating, COUNT(Name) cnt FROM Lead GROUP BY ROLLUP(LeadSource, Rating)
  • SELECT Type, BillingCountry, GROUPING(Type) grpType, GROUPING(BillingCountry) grpCty, COUNT(id) accts FROM Account GROUP BY CUBE(Type, BillingCountry) ORDER BY GROUPING(Type), GROUPING(BillingCountry)
  • SELECT HOUR_IN_DAY(convertTimezone(CreatedDate)), SUM(Amount) FROM Opportunity GROUP BY HOUR_IN_DAY(convertTimezone(CreatedDate))
  • SELECT Id FROM Opportunity WHERE Amount > USD5000
  • SELECT Id FROM Opportunity WHERE Amount > USD5000.01
  • SELECT Id, Amount FROM Opportunity WHERE Amount IN (usd500.01, usd600)
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name LIKE '%testing%' OR Name LIKE '%123%')
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (Name IN ('4/30 testing account', 'amendment quote doc testing', null))
  • SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 0 AND (NOT Name IN ('4/30 testing account', 'amendment quote doc testing'))
  • SELECT Name, Location__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi') < 20
  • SELECT Name, StreetAddress__c FROM Warehouse__c WHERE DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi') < 20 ORDER BY DISTANCE(Location__c, GEOLOCATION(37.775, -122.418), 'mi') DESC LIMIT 10
  • SELECT Id, Name, Location, DISTANCE(Location, GEOLOCATION(10, 10), 'mi') FROM CONTACT
  • SELECT BillingState, BillingStreet, COUNT(Id) FROM Account GROUP BY BillingState, BillingStreet
  • SELECT Id, Name, Location__c, DISTANCE(Location__c, GEOLOCATION(-10.775, -10.775), 'MI') FROM CONTACT
  • SELECT Id FROM Account WHERE CreatedDate IN (TODAY)
  • SELECT Id FROM Account WHERE CreatedDate IN (TODAY)
  • SELECT Id FROM Account WHERE CreatedDate IN (TODAY, LAST_N_DAYS:4)
  • SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:2)
  • SELECT Id FROM Account WHERE CreatedDate IN (LAST_N_DAYS:4, LAST_N_DAYS:7)
  • SELECT SBQQ__Product__r.Name foo, SBQQ__Quote__c foo1 FROM SBQQ__Quoteline__c GROUP BY SBQQ__Quote__c, SBQQ__Product__r.Name
  • SELECT Id, convertCurrency(Amount) FROM Opportunity WHERE Amount > 0 AND CALENDAR_YEAR(CloseDate) = 2020
  • SELECT Id FROM LoginHistory WHERE LoginTime > 2020-04-23T09:00:00.00000000000000000000000000000000+00:00 AND LoginTime < 2020-04-15T02:40:03.000+0000
  • SELECT ProductCode FROM Product2 GROUP BY ProductCode HAVING COUNT(Id) > 1 ORDER BY COUNT(Id) DESC
  • SELECT AnnualRevenue FROM Account WHERE NOT (AnnualRevenue > 0 AND AnnualRevenue < 200000)
  • SELECT AnnualRevenue FROM Account WHERE ((NOT AnnualRevenue > 0) AND AnnualRevenue < 200000)
  • SELECT Id FROM Account WHERE NOT Id = '2'
  • SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate)
  • SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS FIRST
  • SELECT WEEK_IN_YEAR(CloseDate), SUM(amount) FROM Opportunity GROUP BY WEEK_IN_YEAR(CloseDate) ORDER BY WEEK_IN_YEAR(CloseDate) DESC NULLS LAST, SUM(amount) ASC NULLS LAST
  • SELECT FIELDS(ALL) FROM Account
  • SELECT FIELDS(CUSTOM), FIELDS(STANDARD) FROM Account
  • SELECT Id, (SELECT FIELDS(ALL) FROM Contacts) FROM Account
  • SELECT UserId, CALENDAR_MONTH(LoginTime) month FROM LoginHistory WHERE NetworkId != NULL GROUP BY UserId, CALENDAR_MONTH(LoginTime)
  • SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contactMap.keySet()) FROM Account WHERE Id IN :accountMap.keySet()
  • SELECT Id, (SELECT Id FROM Contacts WHERE Id IN :contact_900Map.keySet()) FROM Account WHERE Id IN :acco INVALID untMap.keySet()
  • SELECT Id FROM Account WHERE Id IN :new Map<Id, SObject>(someVar).keySet()
  • SELECT Id FROM Account WHERE Id IN :new Map<Id, SObject>(someVar).getSomeClass().records
  • SELECT Id FROM SBQQ__QuoteTerm__c WHERE SBQQ__StandardTerm__c = :CPQ_Hard_Coded_Ids__c.getInstance().Standard_Quote_Term_Id__c
  • SELECT Id FROM Opportunity WHERE SBQQ__StandardTerm__c = :quotes[3].SBQQ__QuoteLine__r[0].Term__c
  • SELECT Name FROM Account WHERE Name IN ('GenePoint\'s \n Ok!?!@#$^%$&*()_+')
  • SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = 'MI' OR State_Abbr_c = 'km'
  • SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c = 'KM'
  • SELECT State_Abbr_c FROM Contact WHERE State_Abbr_c IN ('mi', 'KM')
  • SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource HAVING COUNT(Name) > 100 AND LeadSource > 'km'
  • SELECT Id FROM Account WITH USER_MODE
  • SELECT Id FROM Account WITH SYSTEM_MODE
  • SELECT Id, BillingCity FROM Account WHERE NOT (NOT BillingCity LIKE '%123%')
  • SELECT Id FROM Account WHERE NOT (NOT Invoice_Type__c LIKE '%Usage%')
  • SELECT Id FROM Account WHERE (NOT Invoice_Type__c LIKE '%Usage%')
  • SELECT Id, City FROM Lead WHERE NOT ((NOT (City LIKE '%LHR%')) AND City LIKE '%KHR%')
  • SELECT Name FROM Invoice__c WHERE Balance__c < USD-500
Parse Options
\ No newline at end of file diff --git a/sample-queries-json.json b/sample-queries-json.json index e49b75c..1d46c78 100644 --- a/sample-queries-json.json +++ b/sample-queries-json.json @@ -126,5 +126,6 @@ "SELECT Id, BillingCity FROM Account WHERE NOT (NOT BillingCity LIKE '%123%')", "SELECT Id FROM Account WHERE NOT (NOT Invoice_Type__c LIKE '%Usage%')", "SELECT Id FROM Account WHERE (NOT Invoice_Type__c LIKE '%Usage%')", - "SELECT Id, City FROM Lead WHERE NOT ((NOT (City LIKE '%LHR%')) AND City LIKE '%KHR%')" + "SELECT Id, City FROM Lead WHERE NOT ((NOT (City LIKE '%LHR%')) AND City LIKE '%KHR%')", + "SELECT Name FROM Invoice__c WHERE Balance__c < USD-500" ]