Socket
Socket
Sign inDemoInstall

vega-loader

Package Overview
Dependencies
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vega-loader - npm Package Compare versions

Comparing version 4.3.0 to 4.3.1

79

build/vega-loader.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vega-util'), require('d3-dsv'), require('topojson-client'), require('vega-format')) :
typeof define === 'function' && define.amd ? define(['exports', 'vega-util', 'd3-dsv', 'topojson-client', 'vega-format'], factory) :
(global = global || self, factory(global.vega = {}, global.vega, global.d3, global.topojson, global.vega));
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vega = {}, global.vega, global.d3, global.topojson, global.vega));
}(this, (function (exports, vegaUtil, d3Dsv, topojsonClient, vegaFormat) { 'use strict';

@@ -31,12 +31,10 @@

function loaderFactory(fetch, fs) {
return function(options) {
return {
options: options || {},
sanitize: sanitize,
load: load,
fileAccess: !!fs,
file: fileLoader(fs),
http: httpLoader(fetch)
};
};
return options => ({
options: options || {},
sanitize: sanitize,
load: load,
fileAccess: !!fs,
file: fileLoader(fs),
http: httpLoader(fetch)
});
}

@@ -153,10 +151,8 @@

return fs
? function(filename) {
return new Promise(function(accept, reject) {
fs.readFile(filename, function(error, data) {
if (error) reject(error);
else accept(data);
});
? filename => new Promise((accept, reject) => {
fs.readFile(filename, (error, data) => {
if (error) reject(error);
else accept(data);
});
}
})
: fileReject;

@@ -202,3 +198,16 @@ }

var typeParsers = {
const isValid = _ => _ != null && _ === _;
const isBoolean = _ => _ === 'true'
|| _ === 'false'
|| _ === true
|| _ === false;
const isDate = _ => !Number.isNaN(Date.parse(_));
const isNumber = _ => !Number.isNaN(+_) && !(_ instanceof Date);
const isInteger = _ => isNumber(_) && Number.isInteger(+_);
const typeParsers = {
boolean: vegaUtil.toBoolean,

@@ -212,3 +221,3 @@ integer: vegaUtil.toNumber,

var typeTests = [
const typeTests = [
isBoolean,

@@ -220,3 +229,3 @@ isInteger,

var typeList = [
const typeList = [
'boolean',

@@ -258,24 +267,2 @@ 'integer',

// -- Type Checks ----
function isValid(_) {
return _ != null && _ === _;
}
function isBoolean(_) {
return _ === 'true' || _ === 'false' || _ === true || _ === false;
}
function isDate(_) {
return !Number.isNaN(Date.parse(_));
}
function isNumber(_) {
return !Number.isNaN(+_) && !(_ instanceof Date);
}
function isInteger(_) {
return isNumber(_) && Number.isInteger(+_);
}
function delimitedFormat(delimiter) {

@@ -394,3 +381,3 @@ const parse = function(data, format) {

var fields = data.columns || Object.keys(data[0]),
let fields = data.columns || Object.keys(data[0]),
parsers, datum, field, i, j, n, m;

@@ -401,4 +388,4 @@

fields = Object.keys(types);
parsers = fields.map(function(field) {
var type = types[field],
parsers = fields.map(field => {
let type = types[field],
parts, pattern;

@@ -405,0 +392,0 @@

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega-util"),require("d3-dsv"),require("topojson-client"),require("vega-format")):"function"==typeof define&&define.amd?define(["exports","vega-util","d3-dsv","topojson-client","vega-format"],t):t((e=e||self).vega={},e.vega,e.d3,e.topojson,e.vega)}(this,(function(e,t,n,r,o){"use strict";const i=/^([A-Za-z]+:)?\/\//,s=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,u=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;async function a(e,t){const n=await this.sanitize(e,t),r=n.href;return n.localFile?this.file(r):this.http(r,t)}async function f(e,n){n=t.extend({},this.options,n);const r=this.fileAccess,o={href:null};let a,f,c;const l=s.test(e.replace(u,""));null!=e&&"string"==typeof e&&l||t.error("Sanitize failure, invalid URI: "+t.stringValue(e));const p=i.test(e);return(c=n.baseURL)&&!p&&(e.startsWith("/")||"/"===c[c.length-1]||(e="/"+e),e=c+e),f=(a=e.startsWith("file://"))||"file"===n.mode||"http"!==n.mode&&!p&&r,a?e=e.slice("file://".length):e.startsWith("//")&&("file"===n.defaultProtocol?(e=e.slice(2),f=!0):e=(n.defaultProtocol||"http")+":"+e),Object.defineProperty(o,"localFile",{value:!!f}),o.href=e,n.target&&(o.target=n.target+""),n.rel&&(o.rel=n.rel+""),"image"===n.context&&n.crossOrigin&&(o.crossOrigin=n.crossOrigin+""),o}function c(e){return e?function(t){return new Promise((function(n,r){e.readFile(t,(function(e,t){e?r(e):n(t)}))}))}:l}async function l(){t.error("No file system access.")}function p(e){return e?async function(n,r){const o=t.extend({},this.options.http,r),i=r&&r.response,s=await e(n,o);return s.ok?t.isFunction(s[i])?s[i]():s.text():t.error(s.status+""+s.statusText)}:d}async function d(){t.error("No HTTP fetch method available.")}var h={boolean:t.toBoolean,integer:t.toNumber,number:t.toNumber,date:t.toDate,string:t.toString,unknown:t.identity},m=[function(e){return"true"===e||"false"===e||!0===e||!1===e},function(e){return b(e)&&Number.isInteger(+e)},b,function(e){return!Number.isNaN(Date.parse(e))}],g=["boolean","integer","number","date"];function y(e,t){if(!e||!e.length)return"unknown";const n=e.length,r=m.length,o=m.map((e,t)=>t+1);for(let s,u,a=0,f=0;a<n;++a)for(u=t?e[a][t]:e[a],s=0;s<r;++s)if(o[s]&&(null!=(i=u)&&i==i)&&!m[s](u)&&(o[s]=0,++f,f===m.length))return"string";var i;return g[o.reduce((e,t)=>0===e?t:e,0)-1]}function v(e,t){return t.reduce((function(t,n){return t[n]=y(e,n),t}),{})}function b(e){return!(Number.isNaN(+e)||e instanceof Date)}function j(e){const n=function(n,r){const o={delimiter:e};return N(n,r?t.extend(r,o):o)};return n.responseType="text",n}function N(e,r){return r.header&&(e=r.header.map(t.stringValue).join(r.delimiter)+"\n"+e),n.dsvFormat(r.delimiter).parse(e+"")}function O(e,n){const r=n&&n.property?t.field(n.property):t.identity;return!t.isObject(e)||(o=e,"function"==typeof Buffer&&t.isFunction(Buffer.isBuffer)&&Buffer.isBuffer(o))?r(JSON.parse(e)):function(e,t){return t&&t.copy?JSON.parse(JSON.stringify(e)):e}(r(e));var o}N.responseType="text",O.responseType="json";const x={interior:(e,t)=>e!==t,exterior:(e,t)=>e===t};function T(e,n){let o,i,s,u;return e=O(e,n),n&&n.feature?(o=r.feature,s=n.feature):n&&n.mesh?(o=r.mesh,s=n.mesh,u=x[n.filter]):t.error("Missing TopoJSON feature or mesh parameter."),i=(i=e.objects[s])?o(e,i,u):t.error("Invalid TopoJSON object: "+s),i&&i.features||[i]}T.responseType="json";const P={dsv:N,csv:j(","),tsv:j("\t"),json:O,topojson:T};function w(e,n){return arguments.length>1?(P[e]=n,this):t.hasOwnProperty(P,e)?P[e]:null}var z=function(e,t){return function(n){return{options:n||{},sanitize:f,load:a,fileAccess:!!t,file:c(t),http:p(e)}}}("undefined"!=typeof fetch&&fetch,null);e.format=P,e.formats=w,e.inferType=y,e.inferTypes=v,e.loader=z,e.read=function(e,n,r,i){const s=w((n=n||{}).type||"json");return s||t.error("Unknown data format type: "+n.type),e=s(e,n),n.parse&&function(e,t,n,r){if(!e.length)return;const i=o.timeFormatDefaultLocale();n=n||i.timeParse,r=r||i.utcParse;var s,u,a,f,c,l,p,d=e.columns||Object.keys(e[0]);"auto"===t&&(t=v(e,d));for(d=Object.keys(t),s=d.map((function(e){var o,i,s=t[e];if(s&&(s.startsWith("date:")||s.startsWith("utc:"))){return("'"===(i=(o=s.split(/:(.+)?/,2))[1])[0]&&"'"===i[i.length-1]||'"'===i[0]&&'"'===i[i.length-1])&&(i=i.slice(1,-1)),("utc"===o[0]?r:n)(i)}if(!h[s])throw Error("Illegal format pattern: "+e+":"+s);return h[s]})),f=0,l=e.length,p=d.length;f<l;++f)for(u=e[f],c=0;c<p;++c)a=d[c],u[a]=s[c](u[a])}(e,n.parse,r,i),t.hasOwnProperty(e,"columns")&&delete e.columns,e},e.responseType=function(e){const t=w(e);return t&&t.responseType||"text"},e.typeParsers=h,Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega-util"),require("d3-dsv"),require("topojson-client"),require("vega-format")):"function"==typeof define&&define.amd?define(["exports","vega-util","d3-dsv","topojson-client","vega-format"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vega={},e.vega,e.d3,e.topojson,e.vega)}(this,(function(e,t,r,n,o){"use strict";const s=/^([A-Za-z]+:)?\/\//,i=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,a=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;async function u(e,t){const r=await this.sanitize(e,t),n=r.href;return r.localFile?this.file(n):this.http(n,t)}async function f(e,r){r=t.extend({},this.options,r);const n=this.fileAccess,o={href:null};let u,f,l;const c=i.test(e.replace(a,""));null!=e&&"string"==typeof e&&c||t.error("Sanitize failure, invalid URI: "+t.stringValue(e));const p=s.test(e);return(l=r.baseURL)&&!p&&(e.startsWith("/")||"/"===l[l.length-1]||(e="/"+e),e=l+e),f=(u=e.startsWith("file://"))||"file"===r.mode||"http"!==r.mode&&!p&&n,u?e=e.slice("file://".length):e.startsWith("//")&&("file"===r.defaultProtocol?(e=e.slice(2),f=!0):e=(r.defaultProtocol||"http")+":"+e),Object.defineProperty(o,"localFile",{value:!!f}),o.href=e,r.target&&(o.target=r.target+""),r.rel&&(o.rel=r.rel+""),"image"===r.context&&r.crossOrigin&&(o.crossOrigin=r.crossOrigin+""),o}function l(e){return e?t=>new Promise((r,n)=>{e.readFile(t,(e,t)=>{e?n(e):r(t)})}):c}async function c(){t.error("No file system access.")}function p(e){return e?async function(r,n){const o=t.extend({},this.options.http,n),s=n&&n.response,i=await e(r,o);return i.ok?t.isFunction(i[s])?i[s]():i.text():t.error(i.status+""+i.statusText)}:d}async function d(){t.error("No HTTP fetch method available.")}const h=e=>!(Number.isNaN(+e)||e instanceof Date),g={boolean:t.toBoolean,integer:t.toNumber,number:t.toNumber,date:t.toDate,string:t.toString,unknown:t.identity},m=[e=>"true"===e||"false"===e||!0===e||!1===e,e=>h(e)&&Number.isInteger(+e),h,e=>!Number.isNaN(Date.parse(e))],y=["boolean","integer","number","date"];function b(e,t){if(!e||!e.length)return"unknown";const r=e.length,n=m.length,o=m.map((e,t)=>t+1);for(let i,a,u=0,f=0;u<r;++u)for(a=t?e[u][t]:e[u],i=0;i<n;++i)if(o[i]&&(null!=(s=a)&&s==s)&&!m[i](a)&&(o[i]=0,++f,f===m.length))return"string";var s;return y[o.reduce((e,t)=>0===e?t:e,0)-1]}function v(e,t){return t.reduce((function(t,r){return t[r]=b(e,r),t}),{})}function j(e){const r=function(r,n){const o={delimiter:e};return N(r,n?t.extend(n,o):o)};return r.responseType="text",r}function N(e,n){return n.header&&(e=n.header.map(t.stringValue).join(n.delimiter)+"\n"+e),r.dsvFormat(n.delimiter).parse(e+"")}function O(e,r){const n=r&&r.property?t.field(r.property):t.identity;return!t.isObject(e)||(o=e,"function"==typeof Buffer&&t.isFunction(Buffer.isBuffer)&&Buffer.isBuffer(o))?n(JSON.parse(e)):function(e,t){return t&&t.copy?JSON.parse(JSON.stringify(e)):e}(n(e));var o}N.responseType="text",O.responseType="json";const T={interior:(e,t)=>e!==t,exterior:(e,t)=>e===t};function x(e,r){let o,s,i,a;return e=O(e,r),r&&r.feature?(o=n.feature,i=r.feature):r&&r.mesh?(o=n.mesh,i=r.mesh,a=T[r.filter]):t.error("Missing TopoJSON feature or mesh parameter."),s=(s=e.objects[i])?o(e,s,a):t.error("Invalid TopoJSON object: "+i),s&&s.features||[s]}x.responseType="json";const P={dsv:N,csv:j(","),tsv:j("\t"),json:O,topojson:x};function w(e,r){return arguments.length>1?(P[e]=r,this):t.hasOwnProperty(P,e)?P[e]:null}var z=function(e,t){return r=>({options:r||{},sanitize:f,load:u,fileAccess:!!t,file:l(t),http:p(e)})}("undefined"!=typeof fetch&&fetch,null);e.format=P,e.formats=w,e.inferType=b,e.inferTypes=v,e.loader=z,e.read=function(e,r,n,s){const i=w((r=r||{}).type||"json");return i||t.error("Unknown data format type: "+r.type),e=i(e,r),r.parse&&function(e,t,r,n){if(!e.length)return;const s=o.timeFormatDefaultLocale();r=r||s.timeParse,n=n||s.utcParse;let i,a,u,f,l,c,p,d=e.columns||Object.keys(e[0]);"auto"===t&&(t=v(e,d));for(d=Object.keys(t),i=d.map(e=>{let o,s,i=t[e];if(i&&(i.startsWith("date:")||i.startsWith("utc:"))){o=i.split(/:(.+)?/,2),s=o[1],("'"===s[0]&&"'"===s[s.length-1]||'"'===s[0]&&'"'===s[s.length-1])&&(s=s.slice(1,-1));return("utc"===o[0]?n:r)(s)}if(!g[i])throw Error("Illegal format pattern: "+e+":"+i);return g[i]}),f=0,c=e.length,p=d.length;f<c;++f)for(a=e[f],l=0;l<p;++l)u=d[l],a[u]=i[l](a[u])}(e,r.parse,n,s),t.hasOwnProperty(e,"columns")&&delete e.columns,e},e.responseType=function(e){const t=w(e);return t&&t.responseType||"text"},e.typeParsers=g,Object.defineProperty(e,"__esModule",{value:!0})}));

@@ -34,12 +34,10 @@ 'use strict';

function loaderFactory(fetch, fs) {
return function(options) {
return {
options: options || {},
sanitize: sanitize,
load: load,
fileAccess: !!fs,
file: fileLoader(fs),
http: httpLoader(fetch)
};
};
return options => ({
options: options || {},
sanitize: sanitize,
load: load,
fileAccess: !!fs,
file: fileLoader(fs),
http: httpLoader(fetch)
});
}

@@ -156,10 +154,8 @@

return fs
? function(filename) {
return new Promise(function(accept, reject) {
fs.readFile(filename, function(error, data) {
if (error) reject(error);
else accept(data);
});
? filename => new Promise((accept, reject) => {
fs.readFile(filename, (error, data) => {
if (error) reject(error);
else accept(data);
});
}
})
: fileReject;

@@ -205,3 +201,16 @@ }

var typeParsers = {
const isValid = _ => _ != null && _ === _;
const isBoolean = _ => _ === 'true'
|| _ === 'false'
|| _ === true
|| _ === false;
const isDate = _ => !Number.isNaN(Date.parse(_));
const isNumber = _ => !Number.isNaN(+_) && !(_ instanceof Date);
const isInteger = _ => isNumber(_) && Number.isInteger(+_);
const typeParsers = {
boolean: vegaUtil.toBoolean,

@@ -215,3 +224,3 @@ integer: vegaUtil.toNumber,

var typeTests = [
const typeTests = [
isBoolean,

@@ -223,3 +232,3 @@ isInteger,

var typeList = [
const typeList = [
'boolean',

@@ -261,24 +270,2 @@ 'integer',

// -- Type Checks ----
function isValid(_) {
return _ != null && _ === _;
}
function isBoolean(_) {
return _ === 'true' || _ === 'false' || _ === true || _ === false;
}
function isDate(_) {
return !Number.isNaN(Date.parse(_));
}
function isNumber(_) {
return !Number.isNaN(+_) && !(_ instanceof Date);
}
function isInteger(_) {
return isNumber(_) && Number.isInteger(+_);
}
function delimitedFormat(delimiter) {

@@ -397,3 +384,3 @@ const parse = function(data, format) {

var fields = data.columns || Object.keys(data[0]),
let fields = data.columns || Object.keys(data[0]),
parsers, datum, field, i, j, n, m;

@@ -404,4 +391,4 @@

fields = Object.keys(types);
parsers = fields.map(function(field) {
var type = types[field],
parsers = fields.map(field => {
let type = types[field],
parts, pattern;

@@ -408,0 +395,0 @@

{
"name": "vega-loader",
"version": "4.3.0",
"version": "4.3.1",
"description": "Network request and file loading utilities.",

@@ -40,4 +40,4 @@ "keywords": [

"topojson-client": "^3.1.0",
"vega-format": "^1.0.0",
"vega-util": "^1.14.0"
"vega-format": "^1.0.2",
"vega-util": "^1.15.0"
},

@@ -48,3 +48,3 @@ "browser": {

},
"gitHead": "48c85218f2202242171aa569f2dca0f53cf2b51f"
"gitHead": "28db83352e43e321dfe55fc5cb6489b211e45662"
}

@@ -27,12 +27,10 @@ import {error, extend, isFunction, stringValue} from 'vega-util';

export default function(fetch, fs) {
return function(options) {
return {
options: options || {},
sanitize: sanitize,
load: load,
fileAccess: !!fs,
file: fileLoader(fs),
http: httpLoader(fetch)
};
};
return options => ({
options: options || {},
sanitize: sanitize,
load: load,
fileAccess: !!fs,
file: fileLoader(fs),
http: httpLoader(fetch)
});
}

@@ -149,10 +147,8 @@

return fs
? function(filename) {
return new Promise(function(accept, reject) {
fs.readFile(filename, function(error, data) {
if (error) reject(error);
else accept(data);
});
? filename => new Promise((accept, reject) => {
fs.readFile(filename, (error, data) => {
if (error) reject(error);
else accept(data);
});
}
})
: fileReject;

@@ -159,0 +155,0 @@ }

@@ -26,3 +26,3 @@ import {inferTypes, typeParsers} from './type';

var fields = data.columns || Object.keys(data[0]),
let fields = data.columns || Object.keys(data[0]),
parsers, datum, field, i, j, n, m;

@@ -33,4 +33,4 @@

fields = Object.keys(types);
parsers = fields.map(function(field) {
var type = types[field],
parsers = fields.map(field => {
let type = types[field],
parts, pattern;

@@ -37,0 +37,0 @@

import {identity, toBoolean, toDate, toNumber, toString} from 'vega-util';
export var typeParsers = {
const isValid = _ => _ != null && _ === _;
const isBoolean = _ => _ === 'true'
|| _ === 'false'
|| _ === true
|| _ === false;
const isDate = _ => !Number.isNaN(Date.parse(_));
const isNumber = _ => !Number.isNaN(+_) && !(_ instanceof Date);
const isInteger = _ => isNumber(_) && Number.isInteger(+_);
export const typeParsers = {
boolean: toBoolean,

@@ -12,3 +25,3 @@ integer: toNumber,

var typeTests = [
const typeTests = [
isBoolean,

@@ -20,3 +33,3 @@ isInteger,

var typeList = [
const typeList = [
'boolean',

@@ -57,23 +70,1 @@ 'integer',

}
// -- Type Checks ----
function isValid(_) {
return _ != null && _ === _;
}
function isBoolean(_) {
return _ === 'true' || _ === 'false' || _ === true || _ === false;
}
function isDate(_) {
return !Number.isNaN(Date.parse(_));
}
function isNumber(_) {
return !Number.isNaN(+_) && !(_ instanceof Date);
}
function isInteger(_) {
return isNumber(_) && Number.isInteger(+_);
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc