UNPKG

@deck.gl/json

Version:

JSON format rendering components for deck.gl

11 lines (10 loc) 13.1 kB
(function webpackUniversalModuleDefinition(root, factory) { if (typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if (typeof define === 'function' && define.amd) define([], factory); else if (typeof exports === 'object') exports['deck'] = factory(); else root['deck'] = factory();})(globalThis, function () { "use strict";var __exports__=(()=>{var sr=Object.create;var ee=Object.defineProperty;var ir=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var ar=Object.getPrototypeOf,ur=Object.prototype.hasOwnProperty;var _e=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),lr=(e,r)=>{for(var n in r)ee(e,n,{get:r[n],enumerable:!0})},Z=(e,r,n,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of or(r))!ur.call(e,a)&&a!==n&&ee(e,a,{get:()=>r[a],enumerable:!(o=ir(r,a))||o.enumerable});return e},N=(e,r,n)=>(Z(e,r,"default"),n&&Z(n,r,"default")),ue=(e,r,n)=>(n=e!=null?sr(ar(e)):{},Z(r||!e||!e.__esModule?ee(n,"default",{value:e,enumerable:!0}):n,e)),cr=e=>Z(ee({},"__esModule",{value:!0}),e);var le=_e((xr,ke)=>{ke.exports=globalThis.deck});var Pe=_e((q,re)=>{(function(e){"use strict";var r="Compound",n="Identifier",o="MemberExpression",a="Literal",h="ThisExpression",te="CallExpression",Re="UnaryExpression",Be="BinaryExpression",Ke="LogicalExpression",Ye="ConditionalExpression",qe="ArrayExpression",U=46,Ee=44,$e=39,Xe=34,Q=40,W=41,se=91,ie=93,ze=63,Qe=59,We=58,d=function(i,t){var E=new Error(i+" at character "+t);throw E.index=t,E.description=i,E},D=!0,k={"-":D,"!":D,"~":D,"+":D},w={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},G=function(i){var t=0,E;for(var A in i)(E=A.length)>t&&i.hasOwnProperty(A)&&(t=E);return t},S=G(k),I=G(w),L={true:!0,false:!1,null:null},Ge="this",ge=function(i){return w[i]||0},Ce=function(i,t,E){var A=i==="||"||i==="&&"?Ke:Be;return{type:A,operator:i,left:t,right:E}},R=function(i){return i>=48&&i<=57},B=function(i){return i===36||i===95||i>=65&&i<=90||i>=97&&i<=122||i>=128&&!w[String.fromCharCode(i)]},oe=function(i){return i===36||i===95||i>=65&&i<=90||i>=97&&i<=122||i>=48&&i<=57||i>=128&&!w[String.fromCharCode(i)]},f=function(i){for(var t=0,E=i.charAt,A=i.charCodeAt,b=function(s){return E.call(i,s)},c=function(s){return A.call(i,s)},K=i.length,g=function(){for(var s=c(t);s===32||s===9||s===10||s===13;)s=c(++t)},P=function(){var s=Ve(),u,l;if(g(),c(t)===ze){if(t++,u=P(),u||d("Expected expression",t),g(),c(t)===We)return t++,l=P(),l||d("Expected expression",t),{type:Ye,test:s,consequent:u,alternate:l};d("Expected :",t)}else return s},Oe=function(){g();for(var s,u=i.substr(t,I),l=u.length;l>0;){if(w.hasOwnProperty(u)&&(!B(c(t))||t+u.length<i.length&&!oe(c(t+u.length))))return t+=l,u;u=u.substr(0,--l)}return!1},Ve=function(){var s,u,l,m,y,C,x,Y,j,Ne;if(x=H(),l=Oe(),!l)return x;for(C={value:l,prec:ge(l)},Y=H(),Y||d("Expected expression after "+l,t),y=[x,C,Y];(l=Oe())&&(m=ge(l),m!==0);){for(C={value:l,prec:m},Ne=l;y.length>2&&m<=y[y.length-2].prec;)Y=y.pop(),l=y.pop().value,x=y.pop(),u=Ce(l,x,Y),y.push(u);u=H(),u||d("Expected expression after "+Ne,t),y.push(C,u)}for(j=y.length-1,u=y[j];j>1;)u=Ce(y[j-1].value,y[j-2],u),j-=2;return u},H=function(){var s,u,l;if(g(),s=c(t),R(s)||s===U)return Ze();if(s===$e||s===Xe)return er();if(s===se)return tr();for(u=i.substr(t,S),l=u.length;l>0;){if(k.hasOwnProperty(u)&&(!B(c(t))||t+u.length<i.length&&!oe(c(t+u.length))))return t+=l,{type:Re,operator:u,argument:H(),prefix:!0};u=u.substr(0,--l)}return B(s)||s===Q?rr():!1},Ze=function(){for(var s="",u,l;R(c(t));)s+=b(t++);if(c(t)===U)for(s+=b(t++);R(c(t));)s+=b(t++);if(u=b(t),u==="e"||u==="E"){for(s+=b(t++),u=b(t),(u==="+"||u==="-")&&(s+=b(t++));R(c(t));)s+=b(t++);R(c(t-1))||d("Expected exponent ("+s+b(t)+")",t)}return l=c(t),B(l)?d("Variable names cannot start with a number ("+s+b(t)+")",t):l===U&&d("Unexpected period",t),{type:a,value:parseFloat(s),raw:s}},er=function(){for(var s="",u=b(t++),l=!1,m;t<K;)if(m=b(t++),m===u){l=!0;break}else if(m==="\\")switch(m=b(t++),m){case"n":s+=` `;break;case"r":s+="\r";break;case"t":s+=" ";break;case"b":s+="\b";break;case"f":s+="\f";break;case"v":s+="\v";break;default:s+=m}else s+=m;return l||d('Unclosed quote after "'+s+'"',t),{type:a,value:s,raw:u+s+u}},we=function(){var s=c(t),u=t,l;for(B(s)?t++:d("Unexpected "+b(t),t);t<K&&(s=c(t),oe(s));)t++;return l=i.slice(u,t),L.hasOwnProperty(l)?{type:a,value:L[l],raw:l}:l===Ge?{type:h}:{type:n,name:l}},ve=function(s){for(var u,l=[],m,y=!1,C=0;t<K;)if(g(),u=c(t),u===s){y=!0,t++,s===W&&C&&C>=l.length&&d("Unexpected token "+String.fromCharCode(s),t);break}else if(u===Ee){if(t++,C++,C!==l.length){if(s===W)d("Unexpected token ,",t);else if(s===ie)for(var x=l.length;x<C;x++)l.push(null)}}else m=P(),(!m||m.type===r)&&d("Expected comma",t),l.push(m);return y||d("Expected "+String.fromCharCode(s),t),l},rr=function(){var s,u;for(s=c(t),s===Q?u=nr():u=we(),g(),s=c(t);s===U||s===se||s===Q;)t++,s===U?(g(),u={type:o,computed:!1,object:u,property:we()}):s===se?(u={type:o,computed:!0,object:u,property:P()},g(),s=c(t),s!==ie&&d("Unclosed [",t),t++):s===Q&&(u={type:te,arguments:ve(W),callee:u}),g(),s=c(t);return u},nr=function(){t++;var s=P();if(g(),c(t)===W)return t++,s;d("Unclosed (",t)},tr=function(){return t++,{type:qe,elements:ve(ie)}},V=[],ae,xe;t<K;)ae=c(t),ae===Qe||ae===Ee?t++:(xe=P())?V.push(xe):t<K&&d('Unexpected "'+b(t)+'"',t);return V.length===1?V[0]:{type:r,body:V}};if(f.version="0.3.5",f.toString=function(){return"JavaScript Expression Parser (JSEP) v"+f.version},f.addUnaryOp=function(i){return S=Math.max(i.length,S),k[i]=D,this},f.addBinaryOp=function(i,t){return I=Math.max(i.length,I),w[i]=t,this},f.addLiteral=function(i,t){return L[i]=t,this},f.removeUnaryOp=function(i){return delete k[i],i.length===S&&(S=G(k)),this},f.removeAllUnaryOps=function(){return k={},S=0,this},f.removeBinaryOp=function(i){return delete w[i],i.length===I&&(I=G(w)),this},f.removeAllBinaryOps=function(){return w={},I=0,this},f.removeLiteral=function(i){return delete L[i],this},f.removeAllLiterals=function(){return L={},this},typeof q>"u"){var He=e.jsep;e.jsep=f,f.noConflict=function(){return e.jsep===f&&(e.jsep=He),f}}else typeof re<"u"&&re.exports?q=re.exports=f:q.parse=f})(q)});var z={};lr(z,{JSONConfiguration:()=>v,JSONConverter:()=>$,Transport:()=>X,_convertFunctions:()=>T,_parseExpressionString:()=>_,_shallowEqualObjects:()=>Le});var O={},Se=ue(le(),1);N(O,ue(le(),1));if(!Se.Layer)throw new Error("@deck.gl/core is not found");N(z,O);function J(e,r=""){if(!e)throw new Error(`JSON conversion error ${r}`)}function Ae(e,r){let n=pr(r),o=e;for(let a of n)o=fr(o)?o[a]:void 0;return o}function fr(e){return e!==null&&typeof e=="object"}var Ie={};function pr(e){if(typeof e=="string"){let r=Ie[e];return r||(r=e.split("."),Ie[e]=r),r}return Array.isArray(e)?e:[e]}var ce=ue(Pe(),1);var je={"||":(e,r)=>e||r,"&&":(e,r)=>e&&r,"|":(e,r)=>e|r,"^":(e,r)=>e^r,"&":(e,r)=>e&r,"==":(e,r)=>e==r,"!=":(e,r)=>e!=r,"===":(e,r)=>e===r,"!==":(e,r)=>e!==r,"<":(e,r)=>e<r,">":(e,r)=>e>r,"<=":(e,r)=>e<=r,">=":(e,r)=>e>=r,"<<":(e,r)=>e<<r,">>":(e,r)=>e>>r,">>>":(e,r)=>e>>>r,"+":(e,r)=>e+r,"-":(e,r)=>e-r,"*":(e,r)=>e*r,"/":(e,r)=>e/r,"%":(e,r)=>e%r},dr={"-":e=>-e,"+":e=>+e,"~":e=>~e,"!":e=>!e};function Je(e,r){return e.map(function(n){return p(n,r)})}function Fe(e,r){let n=p(e.object,r),o;if(e.computed?o=p(e.property,r):o=e.property.name,/^__proto__|prototype|constructor$/.test(o))throw Error(`Access to member "${o}" disallowed.`);return[n,n[o]]}function p(e,r){let n=e;switch(n.type){case"ArrayExpression":return Je(n.elements,r);case"BinaryExpression":return je[n.operator](p(n.left,r),p(n.right,r));case"CallExpression":let o,a,h;return n.callee.type==="MemberExpression"?(h=Fe(n.callee,r),o=h[0],a=h[1]):a=p(n.callee,r),typeof a!="function"?void 0:a.apply(o,Je(n.arguments,r));case"ConditionalExpression":return p(n.test,r)?p(n.consequent,r):p(n.alternate,r);case"Identifier":return r[n.name];case"Literal":return n.value;case"LogicalExpression":return n.operator==="||"?p(n.left,r)||p(n.right,r):n.operator==="&&"?p(n.left,r)&&p(n.right,r):je[n.operator](p(n.left,r),p(n.right,r));case"MemberExpression":return Fe(n,r)[1];case"ThisExpression":return r;case"UnaryExpression":return dr[n.operator](p(n.argument,r));default:return}}var fe={"-":e=>e};function _(e,r){if(e in fe)return fe[e];let n,o=(0,ce.default)(e);return o.type==="Identifier"?n=a=>Ae(a,e):(pe(o,a=>{if(a.type==="CallExpression")throw new Error("Function calls not allowed in JSON expressions")}),n=a=>p(o,a)),fe[e]=n,n}function pe(e,r){if(Array.isArray(e))e.forEach(n=>pe(n,r));else if(e&&typeof e=="object"){e.type&&r(e);for(let n in e)pe(e[n],r)}}var F="@@=",de="@@#",Te="@@type",ne="@@function";var Me=e=>e&&typeof e=="object",v=class{constructor(...r){this.typeKey=Te;this.functionKey=ne;this.log=console;this.classes={};this.reactComponents={};this.enumerations={};this.constants={};this.functions={};this.React=null;this.convertFunction=_;this.preProcessClassProps=(r,n)=>n;this.postProcessConvertedJson=r=>r;for(let n of r)this.merge(n)}merge(r){for(let n in r)switch(n){case"layers":case"views":Object.assign(this.classes,r[n]);break;default:if(n in this){let o=r[n];this[n]=Me(this[n])?Object.assign(this[n],o):o}}}validate(r){return J(!this.typeKey||typeof this.typeKey=="string"),J(Me(this.classes)),!0}};function mr(e){return typeof e=="string"&&e.startsWith(F)}function yr(e){return e.replace(F,"")}function T(e,r){let n={};for(let o in e){let a=e[o];mr(a)&&(a=yr(a),a=_(a,r)),n[o]=a}return n}function Ue(e,r,n){let o=n.classes[e],a=n.reactComponents[e];if(!o&&!a){let{log:h}=n;if(h){let te=JSON.stringify(r,null,0).slice(0,40);h.warn(`JSON converter: No registered class of type ${e}(${te}...) `)}return null}return o?br(o,r,n):hr(a,r,n)}function br(e,r,n){return n.preProcessClassProps&&(r=n.preProcessClassProps(e,r,n)),r=T(r,n),new e(r)}function hr(e,r,n){let{React:o}=n,{children:a=[]}=r;return delete r.children,n.preProcessClassProps&&(r=n.preProcessClassProps(e,r,n)),r=T(r,n),o.createElement(e,r,a)}function De(e,r,n){let o=n.functions[e];if(!o){let{log:a}=n;if(a){let h=JSON.stringify(r,null,0).slice(0,40);a.warn(`JSON converter: No registered function ${e}(${h}...) `)}return null}return o(r)}function me(e){return typeof e=="string"?JSON.parse(e):e}var ye=e=>e&&typeof e=="object",$=class{constructor(r){this.log=console;this.onJSONChange=()=>{};this.json=null;this.convertedJson=null;this.setProps(r)}finalize(){}setProps(r){"configuration"in r&&(this.configuration=r.configuration instanceof v?r.configuration:new v(r.configuration)),"onJSONChange"in r&&(this.onJSONChange=r.onJSONChange)}mergeConfiguration(r){this.configuration.merge(r)}convert(r){if(!r||r===this.json)return this.convertedJson;this.json=r;let n=me(r),o=Er(n,this.configuration);return o=this.configuration.postProcessConvertedJson(o),this.convertedJson=o,o}convertJson(r){return this.convert(r)}};function Er(e,r){return r=new v(r),be(e,"",r)}function be(e,r,n){return Array.isArray(e)?e.map((o,a)=>be(o,String(a),n)):gr(e,n)?Cr(e,n):ye(e)?ne in e?Or(e,n):he(e,n):typeof e=="string"?wr(e,r,n):e}function gr(e,r){let{typeKey:n}=r;return ye(e)&&Boolean(e[n])}function Cr(e,r){let{typeKey:n}=r,o=e[n],a={...e};return delete a[n],a=he(a,r),Ue(o,a,r)}function Or(e,r){let{functionKey:n}=r,o=e[n],a={...e};return delete a[n],a=he(a,r),De(o,a,r)}function he(e,r){J(ye(e));let n={};for(let o in e){let a=e[o];n[o]=be(a,o,r)}return n}function wr(e,r,n){if(e.startsWith(F)&&n.convertFunction)return e=e.replace(F,""),n.convertFunction(e,n);if(e.startsWith(de)){if(e=e.replace(de,""),n.constants[e])return n.constants[e];let[o,a]=e.split(".");return n.enumerations[o][a]}return e}var M={onInitialize:e=>e,onFinalize:e=>e,onMessage:e=>e},X=class{constructor(r="Transport"){this._messageQueue=[];this.userData={};this._destroyed=!1;this.name=r}static setCallbacks({onInitialize:r,onFinalize:n,onMessage:o}){r&&(M.onInitialize=r),n&&(M.onFinalize=n),o&&(M.onMessage=o)}getRootDOMElement(){return typeof document<"u"?document.body:null}sendJSONMessage(){console.error("Back-channel not implemented for this transport")}sendBinaryMessage(){console.error("Back-channel not implemented for this transport")}_initialize(r={}){let n={transport:this,...r};M.onInitialize(n)}_finalize(r={}){let n={transport:this,...r};M.onFinalize(n),this._destroyed=!0}_messageReceived(r={}){r={transport:this,...r},console.debug("Delivering transport message",r),M.onMessage(r)}static _stringifyJSONSafe(r){let n=new Set;return JSON.stringify(r,(o,a)=>{if(typeof a=="object"&&a!==null){if(n.has(a))try{return JSON.parse(JSON.stringify(a))}catch{return}n.add(a)}return a})}};function Le(e,r){if(e===r)return!0;if(typeof e!="object"||e===null||typeof r!="object"||r===null||Object.keys(e).length!==Object.keys(r).length)return!1;for(let n in e)if(!(n in r)||e[n]!==r[n])return!1;for(let n in r)if(!(n in e))return!1;return!0}return cr(z);})(); return __exports__; });