UNPKG

vega-expression

Version:

Vega expression parser and code generator.

3 lines (2 loc) 26.8 kB
!function(u,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("vega-util")):"function"==typeof define&&define.amd?define(["exports","vega-util"],e):e((u="undefined"!=typeof globalThis?globalThis:u||self).vega={},u.vega)}(this,(function(u,e){"use strict";const t="RawCode",r="Literal",n="Property",A="Identifier",a="ArrayExpression",o="BinaryExpression",F="CallExpression",s="ConditionalExpression",i="LogicalExpression",C="MemberExpression",D="ObjectExpression",c="UnaryExpression";function B(u){this.type=u}var E,l,f,p,d;B.prototype.visit=function(u){let e,t,r;if(u(this))return 1;for(e=function(u){switch(u.type){case a:return u.elements;case o:case i:return[u.left,u.right];case F:return[u.callee].concat(u.arguments);case s:return[u.test,u.consequent,u.alternate];case C:return[u.object,u.property];case D:return u.properties;case n:return[u.key,u.value];case c:return[u.argument];default:return[]}}(this),t=0,r=e.length;t<r;++t)if(e[t].visit(u))return 1};var h=1,g=2,y=3,x=4,m=5,v=6,b=7,w=8;(E={})[h]="Boolean",E[g]="<end>",E[y]="Identifier",E[x]="Keyword",E[m]="Null",E[v]="Numeric",E[b]="Punctuator",E[w]="String",E[9]="RegularExpression";var M="ArrayExpression",k="BinaryExpression",S="CallExpression",U="ConditionalExpression",L="Identifier",O="Literal",N="LogicalExpression",I="MemberExpression",T="ObjectExpression",j="Property",R="UnaryExpression",P="Unexpected token %0",q="Unexpected number",_="Unexpected string",G="Unexpected identifier",Q="Unexpected reserved word",V="Unexpected end of input",z="Invalid regular expression",X="Invalid regular expression: missing /",$="Octal literals are not allowed in strict mode.",H="Duplicate data property in object literal not allowed in strict mode",Y="ILLEGAL",K="Disabled.",J=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),W=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function Z(u,e){if(!u)throw new Error("ASSERT: "+e)}function uu(u){return u>=48&&u<=57}function eu(u){return"0123456789abcdefABCDEF".includes(u)}function tu(u){return"01234567".includes(u)}function ru(u){return 32===u||9===u||11===u||12===u||160===u||u>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(u)}function nu(u){return 10===u||13===u||8232===u||8233===u}function Au(u){return 36===u||95===u||u>=65&&u<=90||u>=97&&u<=122||92===u||u>=128&&J.test(String.fromCharCode(u))}function au(u){return 36===u||95===u||u>=65&&u<=90||u>=97&&u<=122||u>=48&&u<=57||92===u||u>=128&&W.test(String.fromCharCode(u))}const ou={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function Fu(){for(;f<p;){const u=l.charCodeAt(f);if(!ru(u)&&!nu(u))break;++f}}function su(u){var e,t,r,n=0;for(t="u"===u?4:2,e=0;e<t;++e)f<p&&eu(l[f])?(r=l[f++],n=16*n+"0123456789abcdef".indexOf(r.toLowerCase())):vu({},P,Y);return String.fromCharCode(n)}function iu(){var u,e,t,r;for(e=0,"}"===(u=l[f])&&vu({},P,Y);f<p&&eu(u=l[f++]);)e=16*e+"0123456789abcdef".indexOf(u.toLowerCase());return(e>1114111||"}"!==u)&&vu({},P,Y),e<=65535?String.fromCharCode(e):(t=55296+(e-65536>>10),r=56320+(e-65536&1023),String.fromCharCode(t,r))}function Cu(){var u,e;for(u=l.charCodeAt(f++),e=String.fromCharCode(u),92===u&&(117!==l.charCodeAt(f)&&vu({},P,Y),++f,(u=su("u"))&&"\\"!==u&&Au(u.charCodeAt(0))||vu({},P,Y),e=u);f<p&&au(u=l.charCodeAt(f));)++f,e+=String.fromCharCode(u),92===u&&(e=e.substr(0,e.length-1),117!==l.charCodeAt(f)&&vu({},P,Y),++f,(u=su("u"))&&"\\"!==u&&au(u.charCodeAt(0))||vu({},P,Y),e+=u);return e}function Du(){var u,e;return u=f,e=92===l.charCodeAt(f)?Cu():function(){var u,e;for(u=f++;f<p;){if(92===(e=l.charCodeAt(f)))return f=u,Cu();if(!au(e))break;++f}return l.slice(u,f)}(),{type:1===e.length?y:ou.hasOwnProperty(e)?x:"null"===e?m:"true"===e||"false"===e?h:y,value:e,start:u,end:f}}function cu(){var u,e,t,r,n=f,A=l.charCodeAt(f),a=l[f];switch(A){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++f,{type:b,value:String.fromCharCode(A),start:n,end:f};default:if(61===(u=l.charCodeAt(f+1)))switch(A){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return f+=2,{type:b,value:String.fromCharCode(A)+String.fromCharCode(u),start:n,end:f};case 33:case 61:return f+=2,61===l.charCodeAt(f)&&++f,{type:b,value:l.slice(n,f),start:n,end:f}}}return">>>="===(r=l.substr(f,4))?{type:b,value:r,start:n,end:f+=4}:">>>"===(t=r.substr(0,3))||"<<="===t||">>="===t?{type:b,value:t,start:n,end:f+=3}:a===(e=t.substr(0,2))[1]&&"+-<>&|".includes(a)||"=>"===e?{type:b,value:e,start:n,end:f+=2}:("//"===e&&vu({},P,Y),"<>=!+-*%&|^/".includes(a)?(++f,{type:b,value:a,start:n,end:f}):void vu({},P,Y))}function Bu(){var u,e,t;if(Z(uu((t=l[f]).charCodeAt(0))||"."===t,"Numeric literal must start with a decimal digit or a decimal point"),e=f,u="","."!==t){if(u=l[f++],t=l[f],"0"===u){if("x"===t||"X"===t)return++f,function(u){let e="";for(;f<p&&eu(l[f]);)e+=l[f++];return 0===e.length&&vu({},P,Y),Au(l.charCodeAt(f))&&vu({},P,Y),{type:v,value:parseInt("0x"+e,16),start:u,end:f}}(e);if(tu(t))return function(u){let e="0"+l[f++];for(;f<p&&tu(l[f]);)e+=l[f++];return(Au(l.charCodeAt(f))||uu(l.charCodeAt(f)))&&vu({},P,Y),{type:v,value:parseInt(e,8),octal:!0,start:u,end:f}}(e);t&&uu(t.charCodeAt(0))&&vu({},P,Y)}for(;uu(l.charCodeAt(f));)u+=l[f++];t=l[f]}if("."===t){for(u+=l[f++];uu(l.charCodeAt(f));)u+=l[f++];t=l[f]}if("e"===t||"E"===t)if(u+=l[f++],"+"!==(t=l[f])&&"-"!==t||(u+=l[f++]),uu(l.charCodeAt(f)))for(;uu(l.charCodeAt(f));)u+=l[f++];else vu({},P,Y);return Au(l.charCodeAt(f))&&vu({},P,Y),{type:v,value:parseFloat(u),start:e,end:f}}function Eu(){var u,e,t,r;return d=null,Fu(),u=f,e=function(){var u,e,t,r;for(Z("/"===(u=l[f]),"Regular expression literal must start with a slash"),e=l[f++],t=!1,r=!1;f<p;)if(e+=u=l[f++],"\\"===u)nu((u=l[f++]).charCodeAt(0))&&vu({},X),e+=u;else if(nu(u.charCodeAt(0)))vu({},X);else if(t)"]"===u&&(t=!1);else{if("/"===u){r=!0;break}"["===u&&(t=!0)}return r||vu({},X),{value:e.substr(1,e.length-2),literal:e}}(),t=function(){var u,e,t;for(e="",t="";f<p&&au((u=l[f]).charCodeAt(0));)++f,"\\"===u&&f<p?vu({},P,Y):(t+=u,e+=u);return t.search(/[^gimuy]/g)>=0&&vu({},z,t),{value:t,literal:e}}(),r=function(u,e){let t=u;e.includes("u")&&(t=t.replace(/\\u\{([0-9a-fA-F]+)\}/g,((u,e)=>{if(parseInt(e,16)<=1114111)return"x";vu({},z)})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(t)}catch(u){vu({},z)}try{return new RegExp(u,e)}catch(u){return null}}(e.value,t.value),{literal:e.literal+t.literal,value:r,regex:{pattern:e.value,flags:t.value},start:u,end:f}}function lu(){if(Fu(),f>=p)return{type:g,start:f,end:f};const u=l.charCodeAt(f);return Au(u)?Du():40===u||41===u||59===u?cu():39===u||34===u?function(){var u,e,t,r,n="",A=!1;for(Z("'"===(u=l[f])||'"'===u,"String literal must starts with a quote"),e=f,++f;f<p;){if((t=l[f++])===u){u="";break}if("\\"===t)if((t=l[f++])&&nu(t.charCodeAt(0)))"\r"===t&&"\n"===l[f]&&++f;else switch(t){case"u":case"x":"{"===l[f]?(++f,n+=iu()):n+=su(t);break;case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+="\t";break;case"b":n+="\b";break;case"f":n+="\f";break;case"v":n+="\v";break;default:tu(t)?(0!==(r="01234567".indexOf(t))&&(A=!0),f<p&&tu(l[f])&&(A=!0,r=8*r+"01234567".indexOf(l[f++]),"0123".includes(t)&&f<p&&tu(l[f])&&(r=8*r+"01234567".indexOf(l[f++]))),n+=String.fromCharCode(r)):n+=t}else{if(nu(t.charCodeAt(0)))break;n+=t}}return""!==u&&vu({},P,Y),{type:w,value:n,octal:A,start:e,end:f}}():46===u?uu(l.charCodeAt(f+1))?Bu():cu():uu(u)?Bu():cu()}function fu(){const u=d;return f=u.end,d=lu(),f=u.end,u}function pu(){const u=f;d=lu(),f=u}function du(u,e,t){const r=new B("||"===u||"&&"===u?N:k);return r.operator=u,r.left=e,r.right=t,r}function hu(u,e){const t=new B(S);return t.callee=u,t.arguments=e,t}function gu(u){const e=new B(L);return e.name=u,e}function yu(u){const e=new B(O);return e.value=u.value,e.raw=l.slice(u.start,u.end),u.regex&&("//"===e.raw&&(e.raw="/(?:)/"),e.regex=u.regex),e}function xu(u,e,t){const r=new B(I);return r.computed="["===u,r.object=e,r.property=t,r.computed||(t.member=!0),r}function mu(u,e,t){const r=new B(j);return r.key=e,r.value=t,r.kind=u,r}function vu(u,e){var t,r=Array.prototype.slice.call(arguments,2),n=e.replace(/%(\d)/g,((u,e)=>(Z(e<r.length,"Message reference must be in range"),r[e])));throw(t=new Error(n)).index=f,t.description=n,t}function bu(u){u.type===g&&vu(u,V),u.type===v&&vu(u,q),u.type===w&&vu(u,_),u.type===y&&vu(u,G),u.type===x&&vu(u,Q),vu(u,P,u.value)}function wu(u){const e=fu();e.type===b&&e.value===u||bu(e)}function Mu(u){return d.type===b&&d.value===u}function ku(u){return d.type===x&&d.value===u}function Su(){const u=[];for(f=d.start,wu("[");!Mu("]");)Mu(",")?(fu(),u.push(null)):(u.push(Gu()),Mu("]")||wu(","));return fu(),function(u){const e=new B(M);return e.elements=u,e}(u)}function Uu(){f=d.start;const u=fu();return u.type===w||u.type===v?(u.octal&&vu(u,$),yu(u)):gu(u.value)}function Lu(){var u,e,t;return f=d.start,(u=d).type===y?(t=Uu(),wu(":"),mu("init",t,Gu())):u.type!==g&&u.type!==b?(e=Uu(),wu(":"),mu("init",e,Gu())):void bu(u)}function Ou(){var u,e,t=[],r={},n=String;for(f=d.start,wu("{");!Mu("}");)e="$"+((u=Lu()).key.type===L?u.key.name:n(u.key.value)),Object.prototype.hasOwnProperty.call(r,e)?vu({},H):r[e]=!0,t.push(u),Mu("}")||wu(",");return wu("}"),function(u){const e=new B(T);return e.properties=u,e}(t)}const Nu={if:1};function Iu(){var u,e,t;if(Mu("("))return function(){wu("(");const u=Qu();return wu(")"),u}();if(Mu("["))return Su();if(Mu("{"))return Ou();if(u=d.type,f=d.start,u===y||Nu[d.value])t=gu(fu().value);else if(u===w||u===v)d.octal&&vu(d,$),t=yu(fu());else{if(u===x)throw new Error(K);u===h?((e=fu()).value="true"===e.value,t=yu(e)):u===m?((e=fu()).value=null,t=yu(e)):Mu("/")||Mu("/=")?(t=yu(Eu()),pu()):bu(fu())}return t}function Tu(){const u=[];if(wu("("),!Mu(")"))for(;f<p&&(u.push(Gu()),!Mu(")"));)wu(",");return wu(")"),u}function ju(){f=d.start;const u=fu();return function(u){return u.type===y||u.type===x||u.type===h||u.type===m}(u)||bu(u),gu(u.value)}function Ru(){wu("[");const u=Qu();return wu("]"),u}function Pu(){const u=function(){var u;for(u=Iu();;)if(Mu("."))wu("."),u=xu(".",u,ju());else if(Mu("("))u=hu(u,Tu());else{if(!Mu("["))break;u=xu("[",u,Ru())}return u}();if(d.type===b&&(Mu("++")||Mu("--")))throw new Error(K);return u}function qu(){var u,e;if(d.type!==b&&d.type!==x)e=Pu();else{if(Mu("++")||Mu("--"))throw new Error(K);if(Mu("+")||Mu("-")||Mu("~")||Mu("!"))u=fu(),e=qu(),e=function(u,e){const t=new B(R);return t.operator=u,t.argument=e,t.prefix=!0,t}(u.value,e);else{if(ku("delete")||ku("void")||ku("typeof"))throw new Error(K);e=Pu()}}return e}function _u(u){let e=0;if(u.type!==b&&u.type!==x)return 0;switch(u.value){case"||":e=1;break;case"&&":e=2;break;case"|":e=3;break;case"^":e=4;break;case"&":e=5;break;case"==":case"!=":case"===":case"!==":e=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":e=7;break;case"<<":case">>":case">>>":e=8;break;case"+":case"-":e=9;break;case"*":case"/":case"%":e=11}return e}function Gu(){var u,e;return u=function(){var u,e,t,r,n,A,a,o,F,s;if(u=d,F=qu(),0===(n=_u(r=d)))return F;for(r.prec=n,fu(),e=[u,d],A=[F,r,a=qu()];(n=_u(d))>0;){for(;A.length>2&&n<=A[A.length-2].prec;)a=A.pop(),o=A.pop().value,F=A.pop(),e.pop(),t=du(o,F,a),A.push(t);(r=fu()).prec=n,A.push(r),e.push(d),t=qu(),A.push(t)}for(t=A[s=A.length-1],e.pop();s>1;)e.pop(),t=du(A[s-1].value,A[s-2],t),s-=2;return t}(),Mu("?")&&(fu(),e=Gu(),wu(":"),u=function(u,e,t){const r=new B(U);return r.test=u,r.consequent=e,r.alternate=t,r}(u,e,Gu())),u}function Qu(){const u=Gu();if(Mu(","))throw new Error(K);return u}var Vu={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function zu(u){function t(e,t,r){return n=>function(e,t,r,n){let A=u(t[0]);return r&&(A=r+"("+A+")",0===r.lastIndexOf("new ",0)&&(A="("+A+")")),A+"."+e+(n<0?"":0===n?"()":"("+t.slice(1).map(u).join(",")+")")}(e,n,t,r)}const r="new Date",n="String",A="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(t){t.length<3&&e.error("Missing arguments to clamp function."),t.length>3&&e.error("Too many arguments to clamp function.");const r=t.map(u);return"Math.max("+r[1]+", Math.min("+r[2]+","+r[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:r,date:t("getDate",r,0),day:t("getDay",r,0),year:t("getFullYear",r,0),month:t("getMonth",r,0),hours:t("getHours",r,0),minutes:t("getMinutes",r,0),seconds:t("getSeconds",r,0),milliseconds:t("getMilliseconds",r,0),time:t("getTime",r,0),timezoneoffset:t("getTimezoneOffset",r,0),utcdate:t("getUTCDate",r,0),utcday:t("getUTCDay",r,0),utcyear:t("getUTCFullYear",r,0),utcmonth:t("getUTCMonth",r,0),utchours:t("getUTCHours",r,0),utcminutes:t("getUTCMinutes",r,0),utcseconds:t("getUTCSeconds",r,0),utcmilliseconds:t("getUTCMilliseconds",r,0),length:t("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:t("toUpperCase",n,0),lower:t("toLowerCase",n,0),substring:t("substring",n),split:t("split",n),trim:t("trim",n,0),btoa:"btoa",atob:"atob",regexp:A,test:t("test",A),if:function(t){t.length<3&&e.error("Missing arguments to if function."),t.length>3&&e.error("Too many arguments to if function.");const r=t.map(u);return"("+r[0]+"?"+r[1]+":"+r[2]+")"}}}u.ASTNode=B,u.ArrayExpression=a,u.BinaryExpression=o,u.CallExpression=F,u.ConditionalExpression=s,u.Identifier=A,u.Literal=r,u.LogicalExpression=i,u.MemberExpression=C,u.ObjectExpression=D,u.Property=n,u.RawCode=t,u.UnaryExpression=c,u.codegenExpression=function(u){const t=(u=u||{}).allowed?e.toSet(u.allowed):{},r=u.forbidden?e.toSet(u.forbidden):{},n=u.constants||Vu,A=(u.functions||zu)(D),a=u.globalvar,o=u.fieldvar,F=e.isFunction(a)?a:u=>`${a}["${u}"]`;let s={},i={},C=0;function D(u){if(e.isString(u))return u;const t=c[u.type];return null==t&&e.error("Unsupported type: "+u.type),t(u)}const c={Literal:u=>u.raw,Identifier:u=>{const A=u.name;return C>0?A:e.hasOwnProperty(r,A)?e.error("Illegal identifier: "+A):e.hasOwnProperty(n,A)?n[A]:e.hasOwnProperty(t,A)?A:(s[A]=1,F(A))},MemberExpression:u=>{const e=!u.computed,t=D(u.object);e&&(C+=1);const r=D(u.property);return t===o&&(i[function(u){const e=u&&u.length-1;return e&&('"'===u[0]&&'"'===u[e]||"'"===u[0]&&"'"===u[e])?u.slice(1,-1):u}(r)]=1),e&&(C-=1),t+(e?"."+r:"["+r+"]")},CallExpression:u=>{"Identifier"!==u.callee.type&&e.error("Illegal callee type: "+u.callee.type);const t=u.callee.name,r=u.arguments,n=e.hasOwnProperty(A,t)&&A[t];return n||e.error("Unrecognized function: "+t),e.isFunction(n)?n(r):n+"("+r.map(D).join(",")+")"},ArrayExpression:u=>"["+u.elements.map(D).join(",")+"]",BinaryExpression:u=>"("+D(u.left)+" "+u.operator+" "+D(u.right)+")",UnaryExpression:u=>"("+u.operator+D(u.argument)+")",ConditionalExpression:u=>"("+D(u.test)+"?"+D(u.consequent)+":"+D(u.alternate)+")",LogicalExpression:u=>"("+D(u.left)+u.operator+D(u.right)+")",ObjectExpression:u=>"{"+u.properties.map(D).join(",")+"}",Property:u=>{C+=1;const e=D(u.key);return C-=1,e+":"+D(u.value)}};function B(u){const e={code:D(u),globals:Object.keys(s),fields:Object.keys(i)};return s={},i={},e}return B.functions=A,B.constants=n,B},u.constants=Vu,u.functions=zu,u.parseExpression=function(u){f=0,p=(l=u).length,d=null,pu();const e=Qu();if(d.type!==g)throw new Error("Unexpect token after expression.");return e}})); //# sourceMappingURL=vega-expression.min.js.map