vega-spec-injector
Version:
Vega helper library to simplify modification of the Vega and VegaLite JSON before parsing.
2 lines (1 loc) • 1.22 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.vegaSpecInjector=n()}(this,function(){"use strict";function e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}return function(){function n(r){e(this,n),this.onWarning=r||(console?console.log:function(){})}return n.prototype.addToList=function(e,n,r){for(var t=new Map(r.map(function(e){return"string"==typeof e?[e,{name:e}]:[e.name,e]})),o=this.findUndefined(e,n,t.keys()),i=Array.isArray(o),a=0,o=i?o:o[Symbol.iterator]();;){var f;if(i){if(a>=o.length)break;f=o[a++]}else{if((a=o.next()).done)break;f=a.value}var s=f;e[n].push(t.get(s))}return e},n.prototype.overrideField=function(e,n,r){return e[n]&&e[n]!==r&&this.onWarning("Overriding "+n+": "+e[n]+" 𐃘 "+r),e[n]=r,e},n.prototype.findUndefined=function(e,n,r){if(!e.hasOwnProperty(n))return e[n]=[],r;if(!Array.isArray(e[n]))throw new Error("spec."+n+" must be an array");for(var t=new Set(r),o=e[n],i=Array.isArray(o),a=0,o=i?o:o[Symbol.iterator]();;){var f;if(i){if(a>=o.length)break;f=o[a++]}else{if((a=o.next()).done)break;f=a.value}var s=f;s.name&&t.delete(s.name)}return t},n}()});