vega 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +47 -6
- data/lib/vega/base_chart.rb +3 -2
- data/lib/vega/helper.rb +29 -0
- data/lib/vega/spec.rb +7 -5
- data/lib/vega/version.rb +1 -1
- data/lib/vega.rb +9 -2
- data/vendor/assets/javascripts/vega-embed.js +632 -558
- data/vendor/assets/javascripts/vega-lite.js +382 -167
- data/vendor/assets/javascripts/vega.js +1295 -700
- metadata +4 -3
@@ -27,8 +27,8 @@
|
|
27
27
|
|
28
28
|
/*!
|
29
29
|
* https://github.com/Starcounter-Jack/JSON-Patch
|
30
|
-
* (c) 2017 Joachim Wester
|
31
|
-
* MIT
|
30
|
+
* (c) 2017-2022 Joachim Wester
|
31
|
+
* MIT licensed
|
32
32
|
*/
|
33
33
|
var __extends = undefined && undefined.__extends || function () {
|
34
34
|
var extendStatics = function (d, b) {
|
@@ -60,13 +60,13 @@
|
|
60
60
|
}
|
61
61
|
function _objectKeys(obj) {
|
62
62
|
if (Array.isArray(obj)) {
|
63
|
-
var
|
63
|
+
var keys_1 = new Array(obj.length);
|
64
64
|
|
65
|
-
for (var k = 0; k <
|
66
|
-
|
65
|
+
for (var k = 0; k < keys_1.length; k++) {
|
66
|
+
keys_1[k] = "" + k;
|
67
67
|
}
|
68
68
|
|
69
|
-
return
|
69
|
+
return keys_1;
|
70
70
|
}
|
71
71
|
|
72
72
|
if (Object.keys) {
|
@@ -154,8 +154,8 @@
|
|
154
154
|
|
155
155
|
if (obj) {
|
156
156
|
if (Array.isArray(obj)) {
|
157
|
-
for (var
|
158
|
-
if (hasUndefined(obj[
|
157
|
+
for (var i_1 = 0, len = obj.length; i_1 < len; i_1++) {
|
158
|
+
if (hasUndefined(obj[i_1])) {
|
159
159
|
return true;
|
160
160
|
}
|
161
161
|
}
|
@@ -483,8 +483,8 @@
|
|
483
483
|
key = unescapePathComponent(key);
|
484
484
|
}
|
485
485
|
|
486
|
-
if (banPrototypeModifications && key == '__proto__') {
|
487
|
-
throw new TypeError('JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README');
|
486
|
+
if (banPrototypeModifications && (key == '__proto__' || key == 'prototype' && t > 0 && keys[t - 1] == 'constructor')) {
|
487
|
+
throw new TypeError('JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README');
|
488
488
|
}
|
489
489
|
|
490
490
|
if (validateOperation) {
|
@@ -766,7 +766,7 @@
|
|
766
766
|
|
767
767
|
/*!
|
768
768
|
* https://github.com/Starcounter-Jack/JSON-Patch
|
769
|
-
* (c) 2017 Joachim Wester
|
769
|
+
* (c) 2017-2021 Joachim Wester
|
770
770
|
* MIT license
|
771
771
|
*/
|
772
772
|
var beforeDict = new WeakMap();
|
@@ -1918,16 +1918,16 @@
|
|
1918
1918
|
|
1919
1919
|
const opts = ['includePrerelease', 'loose', 'rtl'];
|
1920
1920
|
|
1921
|
-
const parseOptions$
|
1921
|
+
const parseOptions$1 = options => !options ? {} : typeof options !== 'object' ? {
|
1922
1922
|
loose: true
|
1923
|
-
} : opts.filter(k => options[k]).reduce((
|
1924
|
-
|
1925
|
-
return
|
1923
|
+
} : opts.filter(k => options[k]).reduce((o, k) => {
|
1924
|
+
o[k] = true;
|
1925
|
+
return o;
|
1926
1926
|
}, {});
|
1927
1927
|
|
1928
|
-
var parseOptions_1 = parseOptions$
|
1928
|
+
var parseOptions_1 = parseOptions$1;
|
1929
1929
|
|
1930
|
-
var re$
|
1930
|
+
var re$1 = {exports: {}};
|
1931
1931
|
|
1932
1932
|
// Not necessarily the package version of this code.
|
1933
1933
|
|
@@ -1945,14 +1945,14 @@
|
|
1945
1945
|
MAX_SAFE_COMPONENT_LENGTH
|
1946
1946
|
};
|
1947
1947
|
|
1948
|
-
const debug$
|
1948
|
+
const debug$1 = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? function () {
|
1949
1949
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
1950
1950
|
args[_key] = arguments[_key];
|
1951
1951
|
}
|
1952
1952
|
|
1953
1953
|
return console.error('SEMVER', ...args);
|
1954
1954
|
} : () => {};
|
1955
|
-
var debug_1 = debug$
|
1955
|
+
var debug_1 = debug$1;
|
1956
1956
|
|
1957
1957
|
(function (module, exports) {
|
1958
1958
|
const {
|
@@ -1968,7 +1968,7 @@
|
|
1968
1968
|
|
1969
1969
|
const createToken = (name, value, isGlobal) => {
|
1970
1970
|
const index = R++;
|
1971
|
-
debug(index, value);
|
1971
|
+
debug(name, index, value);
|
1972
1972
|
t[name] = index;
|
1973
1973
|
src[index] = value;
|
1974
1974
|
re[index] = new RegExp(value, isGlobal ? 'g' : undefined);
|
@@ -2062,9 +2062,9 @@
|
|
2062
2062
|
|
2063
2063
|
createToken('STAR', '(<|>)?=?\\s*\\*'); // >=0.0.0 is like a star
|
2064
2064
|
|
2065
|
-
createToken('GTE0', '^\\s*>=\\s*0
|
2066
|
-
createToken('GTE0PRE', '^\\s*>=\\s*0
|
2067
|
-
})(re$
|
2065
|
+
createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$');
|
2066
|
+
createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$');
|
2067
|
+
})(re$1, re$1.exports);
|
2068
2068
|
|
2069
2069
|
const numeric = /^[0-9]+$/;
|
2070
2070
|
|
@@ -2087,25 +2087,25 @@
|
|
2087
2087
|
rcompareIdentifiers
|
2088
2088
|
};
|
2089
2089
|
|
2090
|
-
const debug
|
2090
|
+
const debug = debug_1;
|
2091
2091
|
const {
|
2092
2092
|
MAX_LENGTH,
|
2093
2093
|
MAX_SAFE_INTEGER
|
2094
2094
|
} = constants;
|
2095
2095
|
const {
|
2096
|
-
re
|
2097
|
-
t
|
2098
|
-
} = re$
|
2099
|
-
const parseOptions
|
2096
|
+
re,
|
2097
|
+
t
|
2098
|
+
} = re$1.exports;
|
2099
|
+
const parseOptions = parseOptions_1;
|
2100
2100
|
const {
|
2101
2101
|
compareIdentifiers
|
2102
2102
|
} = identifiers;
|
2103
2103
|
|
2104
|
-
class SemVer$
|
2104
|
+
class SemVer$1 {
|
2105
2105
|
constructor(version, options) {
|
2106
|
-
options = parseOptions
|
2106
|
+
options = parseOptions(options);
|
2107
2107
|
|
2108
|
-
if (version instanceof SemVer$
|
2108
|
+
if (version instanceof SemVer$1) {
|
2109
2109
|
if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
|
2110
2110
|
return version;
|
2111
2111
|
} else {
|
@@ -2119,13 +2119,13 @@
|
|
2119
2119
|
throw new TypeError("version is longer than ".concat(MAX_LENGTH, " characters"));
|
2120
2120
|
}
|
2121
2121
|
|
2122
|
-
debug
|
2122
|
+
debug('SemVer', version, options);
|
2123
2123
|
this.options = options;
|
2124
2124
|
this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we
|
2125
2125
|
// don't run into trouble passing this.options around.
|
2126
2126
|
|
2127
2127
|
this.includePrerelease = !!options.includePrerelease;
|
2128
|
-
const m = version.trim().match(options.loose ? re
|
2128
|
+
const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
2129
2129
|
|
2130
2130
|
if (!m) {
|
2131
2131
|
throw new TypeError("Invalid Version: ".concat(version));
|
@@ -2185,14 +2185,14 @@
|
|
2185
2185
|
}
|
2186
2186
|
|
2187
2187
|
compare(other) {
|
2188
|
-
debug
|
2188
|
+
debug('SemVer.compare', this.version, this.options, other);
|
2189
2189
|
|
2190
|
-
if (!(other instanceof SemVer$
|
2190
|
+
if (!(other instanceof SemVer$1)) {
|
2191
2191
|
if (typeof other === 'string' && other === this.version) {
|
2192
2192
|
return 0;
|
2193
2193
|
}
|
2194
2194
|
|
2195
|
-
other = new SemVer$
|
2195
|
+
other = new SemVer$1(other, this.options);
|
2196
2196
|
}
|
2197
2197
|
|
2198
2198
|
if (other.version === this.version) {
|
@@ -2203,16 +2203,16 @@
|
|
2203
2203
|
}
|
2204
2204
|
|
2205
2205
|
compareMain(other) {
|
2206
|
-
if (!(other instanceof SemVer$
|
2207
|
-
other = new SemVer$
|
2206
|
+
if (!(other instanceof SemVer$1)) {
|
2207
|
+
other = new SemVer$1(other, this.options);
|
2208
2208
|
}
|
2209
2209
|
|
2210
2210
|
return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
|
2211
2211
|
}
|
2212
2212
|
|
2213
2213
|
comparePre(other) {
|
2214
|
-
if (!(other instanceof SemVer$
|
2215
|
-
other = new SemVer$
|
2214
|
+
if (!(other instanceof SemVer$1)) {
|
2215
|
+
other = new SemVer$1(other, this.options);
|
2216
2216
|
} // NOT having a prerelease is > having one
|
2217
2217
|
|
2218
2218
|
|
@@ -2229,7 +2229,7 @@
|
|
2229
2229
|
do {
|
2230
2230
|
const a = this.prerelease[i];
|
2231
2231
|
const b = other.prerelease[i];
|
2232
|
-
debug
|
2232
|
+
debug('prerelease compare', i, a, b);
|
2233
2233
|
|
2234
2234
|
if (a === undefined && b === undefined) {
|
2235
2235
|
return 0;
|
@@ -2246,8 +2246,8 @@
|
|
2246
2246
|
}
|
2247
2247
|
|
2248
2248
|
compareBuild(other) {
|
2249
|
-
if (!(other instanceof SemVer$
|
2250
|
-
other = new SemVer$
|
2249
|
+
if (!(other instanceof SemVer$1)) {
|
2250
|
+
other = new SemVer$1(other, this.options);
|
2251
2251
|
}
|
2252
2252
|
|
2253
2253
|
let i = 0;
|
@@ -2255,7 +2255,7 @@
|
|
2255
2255
|
do {
|
2256
2256
|
const a = this.build[i];
|
2257
2257
|
const b = other.build[i];
|
2258
|
-
debug
|
2258
|
+
debug('prerelease compare', i, a, b);
|
2259
2259
|
|
2260
2260
|
if (a === undefined && b === undefined) {
|
2261
2261
|
return 0;
|
@@ -2372,7 +2372,7 @@
|
|
2372
2372
|
if (identifier) {
|
2373
2373
|
// 1.2.0-beta.1 bumps to 1.2.0-beta.2,
|
2374
2374
|
// 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
|
2375
|
-
if (this.prerelease[0] ===
|
2375
|
+
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
|
2376
2376
|
if (isNaN(this.prerelease[1])) {
|
2377
2377
|
this.prerelease = [identifier, 0];
|
2378
2378
|
}
|
@@ -2394,11 +2394,11 @@
|
|
2394
2394
|
|
2395
2395
|
}
|
2396
2396
|
|
2397
|
-
var semver = SemVer$
|
2397
|
+
var semver = SemVer$1;
|
2398
2398
|
|
2399
|
-
const SemVer
|
2399
|
+
const SemVer = semver;
|
2400
2400
|
|
2401
|
-
const compare$6 = (a, b, loose) => new SemVer
|
2401
|
+
const compare$6 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
|
2402
2402
|
|
2403
2403
|
var compare_1 = compare$6;
|
2404
2404
|
|
@@ -2445,16 +2445,28 @@
|
|
2445
2445
|
const lt = lt_1;
|
2446
2446
|
const lte = lte_1;
|
2447
2447
|
|
2448
|
-
const cmp
|
2448
|
+
const cmp = (a, op, b, loose) => {
|
2449
2449
|
switch (op) {
|
2450
2450
|
case '===':
|
2451
|
-
if (typeof a === 'object')
|
2452
|
-
|
2451
|
+
if (typeof a === 'object') {
|
2452
|
+
a = a.version;
|
2453
|
+
}
|
2454
|
+
|
2455
|
+
if (typeof b === 'object') {
|
2456
|
+
b = b.version;
|
2457
|
+
}
|
2458
|
+
|
2453
2459
|
return a === b;
|
2454
2460
|
|
2455
2461
|
case '!==':
|
2456
|
-
if (typeof a === 'object')
|
2457
|
-
|
2462
|
+
if (typeof a === 'object') {
|
2463
|
+
a = a.version;
|
2464
|
+
}
|
2465
|
+
|
2466
|
+
if (typeof b === 'object') {
|
2467
|
+
b = b.version;
|
2468
|
+
}
|
2469
|
+
|
2458
2470
|
return a !== b;
|
2459
2471
|
|
2460
2472
|
case '':
|
@@ -2482,599 +2494,641 @@
|
|
2482
2494
|
}
|
2483
2495
|
};
|
2484
2496
|
|
2485
|
-
var cmp_1 = cmp
|
2497
|
+
var cmp_1 = cmp;
|
2486
2498
|
|
2487
|
-
|
2499
|
+
var comparator;
|
2500
|
+
var hasRequiredComparator;
|
2488
2501
|
|
2489
|
-
|
2490
|
-
|
2491
|
-
|
2492
|
-
|
2502
|
+
function requireComparator() {
|
2503
|
+
if (hasRequiredComparator) return comparator;
|
2504
|
+
hasRequiredComparator = 1;
|
2505
|
+
const ANY = Symbol('SemVer ANY'); // hoisted class for cyclic dependency
|
2493
2506
|
|
2494
|
-
|
2495
|
-
|
2496
|
-
|
2497
|
-
if (comp instanceof Comparator$1) {
|
2498
|
-
if (comp.loose === !!options.loose) {
|
2499
|
-
return comp;
|
2500
|
-
} else {
|
2501
|
-
comp = comp.value;
|
2502
|
-
}
|
2507
|
+
class Comparator {
|
2508
|
+
static get ANY() {
|
2509
|
+
return ANY;
|
2503
2510
|
}
|
2504
2511
|
|
2505
|
-
|
2506
|
-
|
2507
|
-
this.loose = !!options.loose;
|
2508
|
-
this.parse(comp);
|
2512
|
+
constructor(comp, options) {
|
2513
|
+
options = parseOptions(options);
|
2509
2514
|
|
2510
|
-
|
2511
|
-
|
2512
|
-
|
2513
|
-
|
2514
|
-
|
2515
|
+
if (comp instanceof Comparator) {
|
2516
|
+
if (comp.loose === !!options.loose) {
|
2517
|
+
return comp;
|
2518
|
+
} else {
|
2519
|
+
comp = comp.value;
|
2520
|
+
}
|
2521
|
+
}
|
2515
2522
|
|
2516
|
-
|
2517
|
-
|
2523
|
+
debug('comparator', comp, options);
|
2524
|
+
this.options = options;
|
2525
|
+
this.loose = !!options.loose;
|
2526
|
+
this.parse(comp);
|
2518
2527
|
|
2519
|
-
|
2520
|
-
|
2521
|
-
|
2528
|
+
if (this.semver === ANY) {
|
2529
|
+
this.value = '';
|
2530
|
+
} else {
|
2531
|
+
this.value = this.operator + this.semver.version;
|
2532
|
+
}
|
2522
2533
|
|
2523
|
-
|
2524
|
-
throw new TypeError("Invalid comparator: ".concat(comp));
|
2534
|
+
debug('comp', this);
|
2525
2535
|
}
|
2526
2536
|
|
2527
|
-
|
2537
|
+
parse(comp) {
|
2538
|
+
const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
2539
|
+
const m = comp.match(r);
|
2528
2540
|
|
2529
|
-
|
2530
|
-
|
2531
|
-
|
2541
|
+
if (!m) {
|
2542
|
+
throw new TypeError("Invalid comparator: ".concat(comp));
|
2543
|
+
}
|
2532
2544
|
|
2545
|
+
this.operator = m[1] !== undefined ? m[1] : '';
|
2533
2546
|
|
2534
|
-
|
2535
|
-
|
2536
|
-
|
2537
|
-
this.semver = new SemVer$1(m[2], this.options.loose);
|
2538
|
-
}
|
2539
|
-
}
|
2547
|
+
if (this.operator === '=') {
|
2548
|
+
this.operator = '';
|
2549
|
+
} // if it literally is just '>' or '' then allow anything.
|
2540
2550
|
|
2541
|
-
toString() {
|
2542
|
-
return this.value;
|
2543
|
-
}
|
2544
2551
|
|
2545
|
-
|
2546
|
-
|
2552
|
+
if (!m[2]) {
|
2553
|
+
this.semver = ANY;
|
2554
|
+
} else {
|
2555
|
+
this.semver = new SemVer(m[2], this.options.loose);
|
2556
|
+
}
|
2557
|
+
}
|
2547
2558
|
|
2548
|
-
|
2549
|
-
return
|
2559
|
+
toString() {
|
2560
|
+
return this.value;
|
2550
2561
|
}
|
2551
2562
|
|
2552
|
-
|
2553
|
-
|
2554
|
-
|
2555
|
-
|
2556
|
-
return
|
2563
|
+
test(version) {
|
2564
|
+
debug('Comparator.test', version, this.options.loose);
|
2565
|
+
|
2566
|
+
if (this.semver === ANY || version === ANY) {
|
2567
|
+
return true;
|
2557
2568
|
}
|
2558
|
-
}
|
2559
2569
|
|
2560
|
-
|
2561
|
-
|
2570
|
+
if (typeof version === 'string') {
|
2571
|
+
try {
|
2572
|
+
version = new SemVer(version, this.options);
|
2573
|
+
} catch (er) {
|
2574
|
+
return false;
|
2575
|
+
}
|
2576
|
+
}
|
2562
2577
|
|
2563
|
-
|
2564
|
-
if (!(comp instanceof Comparator$1)) {
|
2565
|
-
throw new TypeError('a Comparator is required');
|
2578
|
+
return cmp(version, this.operator, this.semver, this.options);
|
2566
2579
|
}
|
2567
2580
|
|
2568
|
-
|
2569
|
-
|
2570
|
-
|
2571
|
-
|
2572
|
-
};
|
2573
|
-
}
|
2581
|
+
intersects(comp, options) {
|
2582
|
+
if (!(comp instanceof Comparator)) {
|
2583
|
+
throw new TypeError('a Comparator is required');
|
2584
|
+
}
|
2574
2585
|
|
2575
|
-
|
2576
|
-
|
2577
|
-
|
2586
|
+
if (!options || typeof options !== 'object') {
|
2587
|
+
options = {
|
2588
|
+
loose: !!options,
|
2589
|
+
includePrerelease: false
|
2590
|
+
};
|
2578
2591
|
}
|
2579
2592
|
|
2580
|
-
|
2581
|
-
|
2582
|
-
|
2583
|
-
|
2593
|
+
if (this.operator === '') {
|
2594
|
+
if (this.value === '') {
|
2595
|
+
return true;
|
2596
|
+
}
|
2597
|
+
|
2598
|
+
return new Range(comp.value, options).test(this.value);
|
2599
|
+
} else if (comp.operator === '') {
|
2600
|
+
if (comp.value === '') {
|
2601
|
+
return true;
|
2602
|
+
}
|
2603
|
+
|
2604
|
+
return new Range(this.value, options).test(comp.semver);
|
2584
2605
|
}
|
2585
2606
|
|
2586
|
-
|
2607
|
+
const sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
|
2608
|
+
const sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
|
2609
|
+
const sameSemVer = this.semver.version === comp.semver.version;
|
2610
|
+
const differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
|
2611
|
+
const oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
|
2612
|
+
const oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
|
2613
|
+
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
|
2587
2614
|
}
|
2588
2615
|
|
2589
|
-
const sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
|
2590
|
-
const sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
|
2591
|
-
const sameSemVer = this.semver.version === comp.semver.version;
|
2592
|
-
const differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
|
2593
|
-
const oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
|
2594
|
-
const oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
|
2595
|
-
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
|
2596
2616
|
}
|
2597
2617
|
|
2618
|
+
comparator = Comparator;
|
2619
|
+
const parseOptions = parseOptions_1;
|
2620
|
+
const {
|
2621
|
+
re,
|
2622
|
+
t
|
2623
|
+
} = re$1.exports;
|
2624
|
+
const cmp = cmp_1;
|
2625
|
+
const debug = debug_1;
|
2626
|
+
const SemVer = semver;
|
2627
|
+
const Range = requireRange();
|
2628
|
+
return comparator;
|
2598
2629
|
}
|
2599
2630
|
|
2600
|
-
var
|
2601
|
-
|
2602
|
-
const {
|
2603
|
-
re: re$1,
|
2604
|
-
t: t$1
|
2605
|
-
} = re$3.exports;
|
2606
|
-
const cmp = cmp_1;
|
2607
|
-
const debug$1 = debug_1;
|
2608
|
-
const SemVer$1 = semver;
|
2609
|
-
const Range$2 = range;
|
2610
|
-
|
2611
|
-
class Range$1 {
|
2612
|
-
constructor(range, options) {
|
2613
|
-
options = parseOptions(options);
|
2631
|
+
var range;
|
2632
|
+
var hasRequiredRange;
|
2614
2633
|
|
2615
|
-
|
2616
|
-
|
2617
|
-
|
2618
|
-
|
2619
|
-
|
2634
|
+
function requireRange() {
|
2635
|
+
if (hasRequiredRange) return range;
|
2636
|
+
hasRequiredRange = 1; // hoisted class for cyclic dependency
|
2637
|
+
|
2638
|
+
class Range {
|
2639
|
+
constructor(range, options) {
|
2640
|
+
options = parseOptions(options);
|
2641
|
+
|
2642
|
+
if (range instanceof Range) {
|
2643
|
+
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
|
2644
|
+
return range;
|
2645
|
+
} else {
|
2646
|
+
return new Range(range.raw, options);
|
2647
|
+
}
|
2620
2648
|
}
|
2621
|
-
}
|
2622
2649
|
|
2623
|
-
|
2624
|
-
|
2625
|
-
|
2626
|
-
|
2627
|
-
|
2628
|
-
|
2629
|
-
|
2650
|
+
if (range instanceof Comparator) {
|
2651
|
+
// just put it in the set and return
|
2652
|
+
this.raw = range.value;
|
2653
|
+
this.set = [[range]];
|
2654
|
+
this.format();
|
2655
|
+
return this;
|
2656
|
+
}
|
2630
2657
|
|
2631
|
-
|
2632
|
-
|
2633
|
-
|
2634
|
-
|
2635
|
-
|
2636
|
-
|
2637
|
-
|
2638
|
-
|
2639
|
-
|
2640
|
-
|
2641
|
-
|
2642
|
-
|
2643
|
-
|
2644
|
-
|
2645
|
-
|
2646
|
-
|
2647
|
-
|
2648
|
-
|
2649
|
-
|
2650
|
-
|
2651
|
-
|
2652
|
-
|
2653
|
-
|
2654
|
-
|
2655
|
-
|
2656
|
-
|
2658
|
+
this.options = options;
|
2659
|
+
this.loose = !!options.loose;
|
2660
|
+
this.includePrerelease = !!options.includePrerelease; // First, split based on boolean or ||
|
2661
|
+
|
2662
|
+
this.raw = range;
|
2663
|
+
this.set = range.split('||') // map the range to a 2d array of comparators
|
2664
|
+
.map(r => this.parseRange(r.trim())) // throw out any comparator lists that are empty
|
2665
|
+
// this generally means that it was not a valid range, which is allowed
|
2666
|
+
// in loose mode, but will still throw if the WHOLE range is invalid.
|
2667
|
+
.filter(c => c.length);
|
2668
|
+
|
2669
|
+
if (!this.set.length) {
|
2670
|
+
throw new TypeError("Invalid SemVer Range: ".concat(range));
|
2671
|
+
} // if we have any that are not the null set, throw out null sets.
|
2672
|
+
|
2673
|
+
|
2674
|
+
if (this.set.length > 1) {
|
2675
|
+
// keep the first one, in case they're all null sets
|
2676
|
+
const first = this.set[0];
|
2677
|
+
this.set = this.set.filter(c => !isNullSet(c[0]));
|
2678
|
+
|
2679
|
+
if (this.set.length === 0) {
|
2680
|
+
this.set = [first];
|
2681
|
+
} else if (this.set.length > 1) {
|
2682
|
+
// if we have any that are *, then the range is just *
|
2683
|
+
for (const c of this.set) {
|
2684
|
+
if (c.length === 1 && isAny(c[0])) {
|
2685
|
+
this.set = [c];
|
2686
|
+
break;
|
2687
|
+
}
|
2657
2688
|
}
|
2658
2689
|
}
|
2659
2690
|
}
|
2691
|
+
|
2692
|
+
this.format();
|
2660
2693
|
}
|
2661
2694
|
|
2662
|
-
|
2663
|
-
|
2695
|
+
format() {
|
2696
|
+
this.range = this.set.map(comps => {
|
2697
|
+
return comps.join(' ').trim();
|
2698
|
+
}).join('||').trim();
|
2699
|
+
return this.range;
|
2700
|
+
}
|
2664
2701
|
|
2665
|
-
|
2666
|
-
|
2667
|
-
|
2668
|
-
}).join('||').trim();
|
2669
|
-
return this.range;
|
2670
|
-
}
|
2702
|
+
toString() {
|
2703
|
+
return this.range;
|
2704
|
+
}
|
2671
2705
|
|
2672
|
-
|
2673
|
-
|
2674
|
-
|
2706
|
+
parseRange(range) {
|
2707
|
+
range = range.trim(); // memoize range parsing for performance.
|
2708
|
+
// this is a very hot path, and fully deterministic.
|
2675
2709
|
|
2676
|
-
|
2677
|
-
|
2678
|
-
|
2710
|
+
const memoOpts = Object.keys(this.options).join(',');
|
2711
|
+
const memoKey = "parseRange:".concat(memoOpts, ":").concat(range);
|
2712
|
+
const cached = cache.get(memoKey);
|
2679
2713
|
|
2680
|
-
|
2681
|
-
|
2682
|
-
|
2683
|
-
if (cached) return cached;
|
2684
|
-
const loose = this.options.loose; // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
2714
|
+
if (cached) {
|
2715
|
+
return cached;
|
2716
|
+
}
|
2685
2717
|
|
2686
|
-
|
2687
|
-
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
|
2688
|
-
debug('hyphen replace', range); // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
2718
|
+
const loose = this.options.loose; // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
2689
2719
|
|
2690
|
-
|
2691
|
-
|
2720
|
+
const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
2721
|
+
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
|
2722
|
+
debug('hyphen replace', range); // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
2692
2723
|
|
2693
|
-
|
2724
|
+
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
|
2725
|
+
debug('comparator trim', range); // `~ 1.2.3` => `~1.2.3`
|
2694
2726
|
|
2695
|
-
|
2727
|
+
range = range.replace(re[t.TILDETRIM], tildeTrimReplace); // `^ 1.2.3` => `^1.2.3`
|
2696
2728
|
|
2697
|
-
|
2698
|
-
// ready to be split into comparators.
|
2729
|
+
range = range.replace(re[t.CARETTRIM], caretTrimReplace); // normalize spaces
|
2699
2730
|
|
2700
|
-
|
2701
|
-
|
2702
|
-
.map(comp => replaceGTE0(comp, this.options)) // in loose mode, throw out any that are not valid comparators
|
2703
|
-
.filter(this.options.loose ? comp => !!comp.match(compRe) : () => true).map(comp => new Comparator(comp, this.options)); // if any comparators are the null set, then replace with JUST null set
|
2704
|
-
// if more than one comparator, remove any * comparators
|
2705
|
-
// also, don't include the same comparator more than once
|
2731
|
+
range = range.split(/\s+/).join(' '); // At this point, the range is completely trimmed and
|
2732
|
+
// ready to be split into comparators.
|
2706
2733
|
|
2707
|
-
|
2708
|
-
|
2734
|
+
let rangeList = range.split(' ').map(comp => parseComparator(comp, this.options)).join(' ').split(/\s+/) // >=0.0.0 is equivalent to *
|
2735
|
+
.map(comp => replaceGTE0(comp, this.options));
|
2709
2736
|
|
2710
|
-
|
2711
|
-
|
2712
|
-
|
2713
|
-
|
2737
|
+
if (loose) {
|
2738
|
+
// in loose mode, throw out any that are not valid comparators
|
2739
|
+
rangeList = rangeList.filter(comp => {
|
2740
|
+
debug('loose invalid filter', comp, this.options);
|
2741
|
+
return !!comp.match(re[t.COMPARATORLOOSE]);
|
2742
|
+
});
|
2743
|
+
}
|
2714
2744
|
|
2715
|
-
|
2716
|
-
|
2717
|
-
|
2718
|
-
|
2719
|
-
|
2745
|
+
debug('range list', rangeList); // if any comparators are the null set, then replace with JUST null set
|
2746
|
+
// if more than one comparator, remove any * comparators
|
2747
|
+
// also, don't include the same comparator more than once
|
2748
|
+
|
2749
|
+
const rangeMap = new Map();
|
2750
|
+
const comparators = rangeList.map(comp => new Comparator(comp, this.options));
|
2751
|
+
|
2752
|
+
for (const comp of comparators) {
|
2753
|
+
if (isNullSet(comp)) {
|
2754
|
+
return [comp];
|
2755
|
+
}
|
2756
|
+
|
2757
|
+
rangeMap.set(comp.value, comp);
|
2758
|
+
}
|
2720
2759
|
|
2721
|
-
|
2722
|
-
|
2723
|
-
|
2760
|
+
if (rangeMap.size > 1 && rangeMap.has('')) {
|
2761
|
+
rangeMap.delete('');
|
2762
|
+
}
|
2763
|
+
|
2764
|
+
const result = [...rangeMap.values()];
|
2765
|
+
cache.set(memoKey, result);
|
2766
|
+
return result;
|
2724
2767
|
}
|
2725
2768
|
|
2726
|
-
|
2727
|
-
|
2728
|
-
|
2729
|
-
|
2730
|
-
|
2769
|
+
intersects(range, options) {
|
2770
|
+
if (!(range instanceof Range)) {
|
2771
|
+
throw new TypeError('a Range is required');
|
2772
|
+
}
|
2773
|
+
|
2774
|
+
return this.set.some(thisComparators => {
|
2775
|
+
return isSatisfiable(thisComparators, options) && range.set.some(rangeComparators => {
|
2776
|
+
return isSatisfiable(rangeComparators, options) && thisComparators.every(thisComparator => {
|
2777
|
+
return rangeComparators.every(rangeComparator => {
|
2778
|
+
return thisComparator.intersects(rangeComparator, options);
|
2779
|
+
});
|
2731
2780
|
});
|
2732
2781
|
});
|
2733
2782
|
});
|
2734
|
-
}
|
2735
|
-
} // if ANY of the sets match ALL of its comparators, then pass
|
2736
|
-
|
2783
|
+
} // if ANY of the sets match ALL of its comparators, then pass
|
2737
2784
|
|
2738
|
-
test(version) {
|
2739
|
-
if (!version) {
|
2740
|
-
return false;
|
2741
|
-
}
|
2742
2785
|
|
2743
|
-
|
2744
|
-
|
2745
|
-
version = new SemVer(version, this.options);
|
2746
|
-
} catch (er) {
|
2786
|
+
test(version) {
|
2787
|
+
if (!version) {
|
2747
2788
|
return false;
|
2748
2789
|
}
|
2749
|
-
}
|
2750
2790
|
|
2751
|
-
|
2752
|
-
|
2753
|
-
|
2791
|
+
if (typeof version === 'string') {
|
2792
|
+
try {
|
2793
|
+
version = new SemVer(version, this.options);
|
2794
|
+
} catch (er) {
|
2795
|
+
return false;
|
2796
|
+
}
|
2797
|
+
}
|
2798
|
+
|
2799
|
+
for (let i = 0; i < this.set.length; i++) {
|
2800
|
+
if (testSet(this.set[i], version, this.options)) {
|
2801
|
+
return true;
|
2802
|
+
}
|
2754
2803
|
}
|
2804
|
+
|
2805
|
+
return false;
|
2755
2806
|
}
|
2756
2807
|
|
2757
|
-
return false;
|
2758
2808
|
}
|
2759
2809
|
|
2760
|
-
|
2810
|
+
range = Range;
|
2811
|
+
const LRU = lruCache;
|
2812
|
+
const cache = new LRU({
|
2813
|
+
max: 1000
|
2814
|
+
});
|
2815
|
+
const parseOptions = parseOptions_1;
|
2816
|
+
const Comparator = requireComparator();
|
2817
|
+
const debug = debug_1;
|
2818
|
+
const SemVer = semver;
|
2819
|
+
const {
|
2820
|
+
re,
|
2821
|
+
t,
|
2822
|
+
comparatorTrimReplace,
|
2823
|
+
tildeTrimReplace,
|
2824
|
+
caretTrimReplace
|
2825
|
+
} = re$1.exports;
|
2761
2826
|
|
2762
|
-
|
2763
|
-
const LRU = lruCache;
|
2764
|
-
const cache = new LRU({
|
2765
|
-
max: 1000
|
2766
|
-
});
|
2767
|
-
const parseOptions = parseOptions_1;
|
2768
|
-
const Comparator = comparator;
|
2769
|
-
const debug = debug_1;
|
2770
|
-
const SemVer = semver;
|
2771
|
-
const {
|
2772
|
-
re,
|
2773
|
-
t,
|
2774
|
-
comparatorTrimReplace,
|
2775
|
-
tildeTrimReplace,
|
2776
|
-
caretTrimReplace
|
2777
|
-
} = re$3.exports;
|
2827
|
+
const isNullSet = c => c.value === '<0.0.0-0';
|
2778
2828
|
|
2779
|
-
|
2829
|
+
const isAny = c => c.value === ''; // take a set of comparators and determine whether there
|
2830
|
+
// exists a version which can satisfy it
|
2780
2831
|
|
2781
|
-
const isAny = c => c.value === ''; // take a set of comparators and determine whether there
|
2782
|
-
// exists a version which can satisfy it
|
2783
2832
|
|
2833
|
+
const isSatisfiable = (comparators, options) => {
|
2834
|
+
let result = true;
|
2835
|
+
const remainingComparators = comparators.slice();
|
2836
|
+
let testComparator = remainingComparators.pop();
|
2784
2837
|
|
2785
|
-
|
2786
|
-
|
2787
|
-
|
2788
|
-
|
2838
|
+
while (result && remainingComparators.length) {
|
2839
|
+
result = remainingComparators.every(otherComparator => {
|
2840
|
+
return testComparator.intersects(otherComparator, options);
|
2841
|
+
});
|
2842
|
+
testComparator = remainingComparators.pop();
|
2843
|
+
}
|
2789
2844
|
|
2790
|
-
|
2791
|
-
|
2792
|
-
|
2793
|
-
|
2794
|
-
|
2795
|
-
|
2796
|
-
|
2797
|
-
|
2798
|
-
|
2799
|
-
|
2800
|
-
|
2801
|
-
|
2802
|
-
|
2803
|
-
|
2804
|
-
|
2805
|
-
|
2806
|
-
|
2807
|
-
|
2808
|
-
debug('tildes', comp);
|
2809
|
-
comp = replaceXRanges(comp, options);
|
2810
|
-
debug('xrange', comp);
|
2811
|
-
comp = replaceStars(comp, options);
|
2812
|
-
debug('stars', comp);
|
2813
|
-
return comp;
|
2814
|
-
};
|
2845
|
+
return result;
|
2846
|
+
}; // comprised of xranges, tildes, stars, and gtlt's at this point.
|
2847
|
+
// already replaced the hyphen ranges
|
2848
|
+
// turn into a set of JUST comparators.
|
2849
|
+
|
2850
|
+
|
2851
|
+
const parseComparator = (comp, options) => {
|
2852
|
+
debug('comp', comp, options);
|
2853
|
+
comp = replaceCarets(comp, options);
|
2854
|
+
debug('caret', comp);
|
2855
|
+
comp = replaceTildes(comp, options);
|
2856
|
+
debug('tildes', comp);
|
2857
|
+
comp = replaceXRanges(comp, options);
|
2858
|
+
debug('xrange', comp);
|
2859
|
+
comp = replaceStars(comp, options);
|
2860
|
+
debug('stars', comp);
|
2861
|
+
return comp;
|
2862
|
+
};
|
2815
2863
|
|
2816
|
-
|
2817
|
-
|
2818
|
-
|
2819
|
-
|
2820
|
-
|
2821
|
-
|
2822
|
-
|
2823
|
-
|
2824
|
-
const replaceTildes = (comp, options) => comp.trim().split(/\s+/).map(comp => {
|
2825
|
-
return replaceTilde(comp, options);
|
2826
|
-
}).join(' ');
|
2827
|
-
|
2828
|
-
const replaceTilde = (comp, options) => {
|
2829
|
-
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
2830
|
-
return comp.replace(r, (_, M, m, p, pr) => {
|
2831
|
-
debug('tilde', comp, _, M, m, p, pr);
|
2832
|
-
let ret;
|
2833
|
-
|
2834
|
-
if (isX(M)) {
|
2835
|
-
ret = '';
|
2836
|
-
} else if (isX(m)) {
|
2837
|
-
ret = ">=".concat(M, ".0.0 <").concat(+M + 1, ".0.0-0");
|
2838
|
-
} else if (isX(p)) {
|
2839
|
-
// ~1.2 == >=1.2.0 <1.3.0-0
|
2840
|
-
ret = ">=".concat(M, ".").concat(m, ".0 <").concat(M, ".").concat(+m + 1, ".0-0");
|
2841
|
-
} else if (pr) {
|
2842
|
-
debug('replaceTilde pr', pr);
|
2843
|
-
ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2844
|
-
} else {
|
2845
|
-
// ~1.2.3 == >=1.2.3 <1.3.0-0
|
2846
|
-
ret = ">=".concat(M, ".").concat(m, ".").concat(p, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2847
|
-
}
|
2864
|
+
const isX = id => !id || id.toLowerCase() === 'x' || id === '*'; // ~, ~> --> * (any, kinda silly)
|
2865
|
+
// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
|
2866
|
+
// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
|
2867
|
+
// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
|
2868
|
+
// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
|
2869
|
+
// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
|
2848
2870
|
|
2849
|
-
|
2850
|
-
|
2851
|
-
|
2852
|
-
|
2853
|
-
|
2854
|
-
|
2855
|
-
|
2856
|
-
|
2857
|
-
|
2858
|
-
|
2859
|
-
|
2860
|
-
|
2861
|
-
|
2862
|
-
|
2863
|
-
|
2864
|
-
|
2865
|
-
|
2866
|
-
|
2867
|
-
|
2868
|
-
|
2869
|
-
|
2870
|
-
let ret;
|
2871
|
-
|
2872
|
-
if (isX(M)) {
|
2873
|
-
ret = '';
|
2874
|
-
} else if (isX(m)) {
|
2875
|
-
ret = ">=".concat(M, ".0.0").concat(z, " <").concat(+M + 1, ".0.0-0");
|
2876
|
-
} else if (isX(p)) {
|
2877
|
-
if (M === '0') {
|
2878
|
-
ret = ">=".concat(M, ".").concat(m, ".0").concat(z, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2871
|
+
|
2872
|
+
const replaceTildes = (comp, options) => comp.trim().split(/\s+/).map(c => {
|
2873
|
+
return replaceTilde(c, options);
|
2874
|
+
}).join(' ');
|
2875
|
+
|
2876
|
+
const replaceTilde = (comp, options) => {
|
2877
|
+
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
2878
|
+
return comp.replace(r, (_, M, m, p, pr) => {
|
2879
|
+
debug('tilde', comp, _, M, m, p, pr);
|
2880
|
+
let ret;
|
2881
|
+
|
2882
|
+
if (isX(M)) {
|
2883
|
+
ret = '';
|
2884
|
+
} else if (isX(m)) {
|
2885
|
+
ret = ">=".concat(M, ".0.0 <").concat(+M + 1, ".0.0-0");
|
2886
|
+
} else if (isX(p)) {
|
2887
|
+
// ~1.2 == >=1.2.0 <1.3.0-0
|
2888
|
+
ret = ">=".concat(M, ".").concat(m, ".0 <").concat(M, ".").concat(+m + 1, ".0-0");
|
2889
|
+
} else if (pr) {
|
2890
|
+
debug('replaceTilde pr', pr);
|
2891
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2879
2892
|
} else {
|
2880
|
-
|
2893
|
+
// ~1.2.3 == >=1.2.3 <1.3.0-0
|
2894
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2881
2895
|
}
|
2882
|
-
} else if (pr) {
|
2883
|
-
debug('replaceCaret pr', pr);
|
2884
2896
|
|
2885
|
-
|
2886
|
-
|
2887
|
-
|
2897
|
+
debug('tilde return', ret);
|
2898
|
+
return ret;
|
2899
|
+
});
|
2900
|
+
}; // ^ --> * (any, kinda silly)
|
2901
|
+
// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
|
2902
|
+
// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
|
2903
|
+
// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
|
2904
|
+
// ^1.2.3 --> >=1.2.3 <2.0.0-0
|
2905
|
+
// ^1.2.0 --> >=1.2.0 <2.0.0-0
|
2906
|
+
|
2907
|
+
|
2908
|
+
const replaceCarets = (comp, options) => comp.trim().split(/\s+/).map(c => {
|
2909
|
+
return replaceCaret(c, options);
|
2910
|
+
}).join(' ');
|
2911
|
+
|
2912
|
+
const replaceCaret = (comp, options) => {
|
2913
|
+
debug('caret', comp, options);
|
2914
|
+
const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
2915
|
+
const z = options.includePrerelease ? '-0' : '';
|
2916
|
+
return comp.replace(r, (_, M, m, p, pr) => {
|
2917
|
+
debug('caret', comp, _, M, m, p, pr);
|
2918
|
+
let ret;
|
2919
|
+
|
2920
|
+
if (isX(M)) {
|
2921
|
+
ret = '';
|
2922
|
+
} else if (isX(m)) {
|
2923
|
+
ret = ">=".concat(M, ".0.0").concat(z, " <").concat(+M + 1, ".0.0-0");
|
2924
|
+
} else if (isX(p)) {
|
2925
|
+
if (M === '0') {
|
2926
|
+
ret = ">=".concat(M, ".").concat(m, ".0").concat(z, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2888
2927
|
} else {
|
2889
|
-
ret = ">=".concat(M, ".").concat(m, ".").concat(
|
2928
|
+
ret = ">=".concat(M, ".").concat(m, ".0").concat(z, " <").concat(+M + 1, ".0.0-0");
|
2890
2929
|
}
|
2891
|
-
} else {
|
2892
|
-
|
2893
|
-
}
|
2894
|
-
} else {
|
2895
|
-
debug('no pr');
|
2930
|
+
} else if (pr) {
|
2931
|
+
debug('replaceCaret pr', pr);
|
2896
2932
|
|
2897
|
-
|
2898
|
-
|
2899
|
-
|
2933
|
+
if (M === '0') {
|
2934
|
+
if (m === '0') {
|
2935
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(M, ".").concat(m, ".").concat(+p + 1, "-0");
|
2936
|
+
} else {
|
2937
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2938
|
+
}
|
2900
2939
|
} else {
|
2901
|
-
ret = ">=".concat(M, ".").concat(m, ".").concat(p
|
2940
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(+M + 1, ".0.0-0");
|
2902
2941
|
}
|
2903
2942
|
} else {
|
2904
|
-
|
2943
|
+
debug('no pr');
|
2944
|
+
|
2945
|
+
if (M === '0') {
|
2946
|
+
if (m === '0') {
|
2947
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p).concat(z, " <").concat(M, ".").concat(m, ".").concat(+p + 1, "-0");
|
2948
|
+
} else {
|
2949
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p).concat(z, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2950
|
+
}
|
2951
|
+
} else {
|
2952
|
+
ret = ">=".concat(M, ".").concat(m, ".").concat(p, " <").concat(+M + 1, ".0.0-0");
|
2953
|
+
}
|
2905
2954
|
}
|
2906
|
-
}
|
2907
2955
|
|
2908
|
-
|
2909
|
-
|
2910
|
-
|
2911
|
-
|
2956
|
+
debug('caret return', ret);
|
2957
|
+
return ret;
|
2958
|
+
});
|
2959
|
+
};
|
2912
2960
|
|
2913
|
-
|
2914
|
-
|
2915
|
-
|
2916
|
-
|
2917
|
-
|
2918
|
-
|
2961
|
+
const replaceXRanges = (comp, options) => {
|
2962
|
+
debug('replaceXRanges', comp, options);
|
2963
|
+
return comp.split(/\s+/).map(c => {
|
2964
|
+
return replaceXRange(c, options);
|
2965
|
+
}).join(' ');
|
2966
|
+
};
|
2919
2967
|
|
2920
|
-
|
2921
|
-
|
2922
|
-
|
2923
|
-
|
2924
|
-
|
2925
|
-
|
2926
|
-
|
2927
|
-
|
2928
|
-
|
2968
|
+
const replaceXRange = (comp, options) => {
|
2969
|
+
comp = comp.trim();
|
2970
|
+
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
2971
|
+
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
2972
|
+
debug('xRange', comp, ret, gtlt, M, m, p, pr);
|
2973
|
+
const xM = isX(M);
|
2974
|
+
const xm = xM || isX(m);
|
2975
|
+
const xp = xm || isX(p);
|
2976
|
+
const anyX = xp;
|
2929
2977
|
|
2930
|
-
|
2931
|
-
|
2932
|
-
|
2933
|
-
|
2978
|
+
if (gtlt === '=' && anyX) {
|
2979
|
+
gtlt = '';
|
2980
|
+
} // if we're including prereleases in the match, then we need
|
2981
|
+
// to fix this to -0, the lowest possible prerelease value
|
2934
2982
|
|
2935
2983
|
|
2936
|
-
|
2984
|
+
pr = options.includePrerelease ? '-0' : '';
|
2937
2985
|
|
2938
|
-
|
2939
|
-
|
2940
|
-
|
2941
|
-
|
2942
|
-
|
2943
|
-
|
2944
|
-
|
2945
|
-
|
2946
|
-
|
2947
|
-
|
2948
|
-
|
2949
|
-
|
2950
|
-
|
2951
|
-
|
2986
|
+
if (xM) {
|
2987
|
+
if (gtlt === '>' || gtlt === '<') {
|
2988
|
+
// nothing is allowed
|
2989
|
+
ret = '<0.0.0-0';
|
2990
|
+
} else {
|
2991
|
+
// nothing is forbidden
|
2992
|
+
ret = '*';
|
2993
|
+
}
|
2994
|
+
} else if (gtlt && anyX) {
|
2995
|
+
// we know patch is an x, because we have any x at all.
|
2996
|
+
// replace X with 0
|
2997
|
+
if (xm) {
|
2998
|
+
m = 0;
|
2999
|
+
}
|
2952
3000
|
|
2953
|
-
|
3001
|
+
p = 0;
|
2954
3002
|
|
2955
|
-
|
2956
|
-
|
2957
|
-
|
2958
|
-
|
3003
|
+
if (gtlt === '>') {
|
3004
|
+
// >1 => >=2.0.0
|
3005
|
+
// >1.2 => >=1.3.0
|
3006
|
+
gtlt = '>=';
|
2959
3007
|
|
2960
|
-
|
2961
|
-
|
2962
|
-
|
2963
|
-
|
2964
|
-
|
2965
|
-
|
2966
|
-
|
3008
|
+
if (xm) {
|
3009
|
+
M = +M + 1;
|
3010
|
+
m = 0;
|
3011
|
+
p = 0;
|
3012
|
+
} else {
|
3013
|
+
m = +m + 1;
|
3014
|
+
p = 0;
|
3015
|
+
}
|
3016
|
+
} else if (gtlt === '<=') {
|
3017
|
+
// <=0.7.x is actually <0.8.0, since any 0.7.x should
|
3018
|
+
// pass. Similarly, <=7.x is actually <8.0.0, etc.
|
3019
|
+
gtlt = '<';
|
3020
|
+
|
3021
|
+
if (xm) {
|
3022
|
+
M = +M + 1;
|
3023
|
+
} else {
|
3024
|
+
m = +m + 1;
|
3025
|
+
}
|
2967
3026
|
}
|
2968
|
-
} else if (gtlt === '<=') {
|
2969
|
-
// <=0.7.x is actually <0.8.0, since any 0.7.x should
|
2970
|
-
// pass. Similarly, <=7.x is actually <8.0.0, etc.
|
2971
|
-
gtlt = '<';
|
2972
3027
|
|
2973
|
-
if (
|
2974
|
-
|
2975
|
-
} else {
|
2976
|
-
m = +m + 1;
|
3028
|
+
if (gtlt === '<') {
|
3029
|
+
pr = '-0';
|
2977
3030
|
}
|
3031
|
+
|
3032
|
+
ret = "".concat(gtlt + M, ".").concat(m, ".").concat(p).concat(pr);
|
3033
|
+
} else if (xm) {
|
3034
|
+
ret = ">=".concat(M, ".0.0").concat(pr, " <").concat(+M + 1, ".0.0-0");
|
3035
|
+
} else if (xp) {
|
3036
|
+
ret = ">=".concat(M, ".").concat(m, ".0").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2978
3037
|
}
|
2979
3038
|
|
2980
|
-
|
2981
|
-
ret
|
2982
|
-
}
|
2983
|
-
|
2984
|
-
|
2985
|
-
ret = ">=".concat(M, ".").concat(m, ".0").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0");
|
2986
|
-
}
|
3039
|
+
debug('xRange return', ret);
|
3040
|
+
return ret;
|
3041
|
+
});
|
3042
|
+
}; // Because * is AND-ed with everything else in the comparator,
|
3043
|
+
// and '' means "any version", just remove the *s entirely.
|
2987
3044
|
|
2988
|
-
debug('xRange return', ret);
|
2989
|
-
return ret;
|
2990
|
-
});
|
2991
|
-
}; // Because * is AND-ed with everything else in the comparator,
|
2992
|
-
// and '' means "any version", just remove the *s entirely.
|
2993
3045
|
|
3046
|
+
const replaceStars = (comp, options) => {
|
3047
|
+
debug('replaceStars', comp, options); // Looseness is ignored here. star is always as loose as it gets!
|
2994
3048
|
|
2995
|
-
|
2996
|
-
|
3049
|
+
return comp.trim().replace(re[t.STAR], '');
|
3050
|
+
};
|
2997
3051
|
|
2998
|
-
|
2999
|
-
|
3052
|
+
const replaceGTE0 = (comp, options) => {
|
3053
|
+
debug('replaceGTE0', comp, options);
|
3054
|
+
return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '');
|
3055
|
+
}; // This function is passed to string.replace(re[t.HYPHENRANGE])
|
3056
|
+
// M, m, patch, prerelease, build
|
3057
|
+
// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
|
3058
|
+
// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do
|
3059
|
+
// 1.2 - 3.4 => >=1.2.0 <3.5.0-0
|
3060
|
+
|
3061
|
+
|
3062
|
+
const hyphenReplace = incPr => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => {
|
3063
|
+
if (isX(fM)) {
|
3064
|
+
from = '';
|
3065
|
+
} else if (isX(fm)) {
|
3066
|
+
from = ">=".concat(fM, ".0.0").concat(incPr ? '-0' : '');
|
3067
|
+
} else if (isX(fp)) {
|
3068
|
+
from = ">=".concat(fM, ".").concat(fm, ".0").concat(incPr ? '-0' : '');
|
3069
|
+
} else if (fpr) {
|
3070
|
+
from = ">=".concat(from);
|
3071
|
+
} else {
|
3072
|
+
from = ">=".concat(from).concat(incPr ? '-0' : '');
|
3073
|
+
}
|
3000
3074
|
|
3001
|
-
|
3002
|
-
|
3003
|
-
|
3004
|
-
|
3005
|
-
|
3006
|
-
|
3007
|
-
|
3008
|
-
|
3009
|
-
|
3010
|
-
|
3011
|
-
|
3012
|
-
|
3013
|
-
|
3014
|
-
} else if (isX(fm)) {
|
3015
|
-
from = ">=".concat(fM, ".0.0").concat(incPr ? '-0' : '');
|
3016
|
-
} else if (isX(fp)) {
|
3017
|
-
from = ">=".concat(fM, ".").concat(fm, ".0").concat(incPr ? '-0' : '');
|
3018
|
-
} else if (fpr) {
|
3019
|
-
from = ">=".concat(from);
|
3020
|
-
} else {
|
3021
|
-
from = ">=".concat(from).concat(incPr ? '-0' : '');
|
3022
|
-
}
|
3023
|
-
|
3024
|
-
if (isX(tM)) {
|
3025
|
-
to = '';
|
3026
|
-
} else if (isX(tm)) {
|
3027
|
-
to = "<".concat(+tM + 1, ".0.0-0");
|
3028
|
-
} else if (isX(tp)) {
|
3029
|
-
to = "<".concat(tM, ".").concat(+tm + 1, ".0-0");
|
3030
|
-
} else if (tpr) {
|
3031
|
-
to = "<=".concat(tM, ".").concat(tm, ".").concat(tp, "-").concat(tpr);
|
3032
|
-
} else if (incPr) {
|
3033
|
-
to = "<".concat(tM, ".").concat(tm, ".").concat(+tp + 1, "-0");
|
3034
|
-
} else {
|
3035
|
-
to = "<=".concat(to);
|
3036
|
-
}
|
3075
|
+
if (isX(tM)) {
|
3076
|
+
to = '';
|
3077
|
+
} else if (isX(tm)) {
|
3078
|
+
to = "<".concat(+tM + 1, ".0.0-0");
|
3079
|
+
} else if (isX(tp)) {
|
3080
|
+
to = "<".concat(tM, ".").concat(+tm + 1, ".0-0");
|
3081
|
+
} else if (tpr) {
|
3082
|
+
to = "<=".concat(tM, ".").concat(tm, ".").concat(tp, "-").concat(tpr);
|
3083
|
+
} else if (incPr) {
|
3084
|
+
to = "<".concat(tM, ".").concat(tm, ".").concat(+tp + 1, "-0");
|
3085
|
+
} else {
|
3086
|
+
to = "<=".concat(to);
|
3087
|
+
}
|
3037
3088
|
|
3038
|
-
|
3039
|
-
|
3089
|
+
return "".concat(from, " ").concat(to).trim();
|
3090
|
+
};
|
3040
3091
|
|
3041
|
-
|
3042
|
-
|
3043
|
-
|
3044
|
-
|
3092
|
+
const testSet = (set, version, options) => {
|
3093
|
+
for (let i = 0; i < set.length; i++) {
|
3094
|
+
if (!set[i].test(version)) {
|
3095
|
+
return false;
|
3096
|
+
}
|
3045
3097
|
}
|
3046
|
-
}
|
3047
3098
|
|
3048
|
-
|
3049
|
-
|
3050
|
-
|
3051
|
-
|
3052
|
-
|
3053
|
-
|
3054
|
-
|
3055
|
-
|
3099
|
+
if (version.prerelease.length && !options.includePrerelease) {
|
3100
|
+
// Find the set of versions that are allowed to have prereleases
|
3101
|
+
// For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
|
3102
|
+
// That should allow `1.2.3-pr.2` to pass.
|
3103
|
+
// However, `1.2.4-alpha.notready` should NOT be allowed,
|
3104
|
+
// even though it's within the range set by the comparators.
|
3105
|
+
for (let i = 0; i < set.length; i++) {
|
3106
|
+
debug(set[i].semver);
|
3056
3107
|
|
3057
|
-
|
3058
|
-
|
3059
|
-
|
3108
|
+
if (set[i].semver === Comparator.ANY) {
|
3109
|
+
continue;
|
3110
|
+
}
|
3060
3111
|
|
3061
|
-
|
3062
|
-
|
3112
|
+
if (set[i].semver.prerelease.length > 0) {
|
3113
|
+
const allowed = set[i].semver;
|
3063
3114
|
|
3064
|
-
|
3065
|
-
|
3115
|
+
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
|
3116
|
+
return true;
|
3117
|
+
}
|
3066
3118
|
}
|
3067
|
-
}
|
3068
|
-
} // Version has a -pre, but it's not one of the ones we like.
|
3119
|
+
} // Version has a -pre, but it's not one of the ones we like.
|
3069
3120
|
|
3070
3121
|
|
3071
|
-
|
3072
|
-
|
3122
|
+
return false;
|
3123
|
+
}
|
3073
3124
|
|
3074
|
-
|
3075
|
-
|
3125
|
+
return true;
|
3126
|
+
};
|
3127
|
+
|
3128
|
+
return range;
|
3129
|
+
}
|
3076
3130
|
|
3077
|
-
const Range =
|
3131
|
+
const Range = requireRange();
|
3078
3132
|
|
3079
3133
|
const satisfies = (version, range, options) => {
|
3080
3134
|
try {
|
@@ -4340,7 +4394,7 @@
|
|
4340
4394
|
} // generated with build-style.sh
|
4341
4395
|
|
4342
4396
|
|
4343
|
-
var defaultStyle = "#vg-tooltip-element {\n visibility: hidden;\n padding: 8px;\n position: fixed;\n z-index: 1000;\n font-family: sans-serif;\n font-size: 11px;\n border-radius: 3px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n /* The default theme is the light theme. */\n background-color: rgba(255, 255, 255, 0.95);\n border: 1px solid #d9d9d9;\n color: black
|
4397
|
+
var defaultStyle = "#vg-tooltip-element {\n visibility: hidden;\n padding: 8px;\n position: fixed;\n z-index: 1000;\n font-family: sans-serif;\n font-size: 11px;\n border-radius: 3px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n /* The default theme is the light theme. */\n background-color: rgba(255, 255, 255, 0.95);\n border: 1px solid #d9d9d9;\n color: black;\n}\n#vg-tooltip-element.visible {\n visibility: visible;\n}\n#vg-tooltip-element h2 {\n margin-top: 0;\n margin-bottom: 10px;\n font-size: 13px;\n}\n#vg-tooltip-element img {\n max-width: 200px;\n max-height: 200px;\n}\n#vg-tooltip-element table {\n border-spacing: 0;\n}\n#vg-tooltip-element table tr {\n border: none;\n}\n#vg-tooltip-element table tr td {\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n padding-bottom: 2px;\n}\n#vg-tooltip-element table tr td.key {\n color: #808080;\n max-width: 150px;\n text-align: right;\n padding-right: 4px;\n}\n#vg-tooltip-element table tr td.value {\n display: block;\n max-width: 300px;\n max-height: 7em;\n text-align: left;\n}\n#vg-tooltip-element.dark-theme {\n background-color: rgba(32, 32, 32, 0.9);\n border: 1px solid #f5f5f5;\n color: white;\n}\n#vg-tooltip-element.dark-theme td.key {\n color: #bfbfbf;\n}\n";
|
4344
4398
|
const EL_ID = 'vg-tooltip-element';
|
4345
4399
|
const DEFAULT_OPTIONS = {
|
4346
4400
|
/**
|
@@ -4488,11 +4542,10 @@
|
|
4488
4542
|
this.el = document.createElement('div');
|
4489
4543
|
this.el.setAttribute('id', this.options.id);
|
4490
4544
|
this.el.classList.add('vg-tooltip');
|
4491
|
-
document.body
|
4492
|
-
|
4545
|
+
const tooltipContainer = (_a = document.fullscreenElement) !== null && _a !== void 0 ? _a : document.body;
|
4546
|
+
tooltipContainer.appendChild(this.el);
|
4547
|
+
} // hide tooltip for null, undefined, or empty string values
|
4493
4548
|
|
4494
|
-
const tooltipContainer = (_a = document.fullscreenElement) !== null && _a !== void 0 ? _a : document.body;
|
4495
|
-
tooltipContainer.appendChild(this.el); // hide tooltip for null, undefined, or empty string values
|
4496
4549
|
|
4497
4550
|
if (value == null || value === '') {
|
4498
4551
|
this.el.classList.remove('visible', "".concat(this.options.theme, "-theme"));
|
@@ -4550,7 +4603,7 @@
|
|
4550
4603
|
}
|
4551
4604
|
|
4552
4605
|
// generated with build-style.sh
|
4553
|
-
var embedStyle = ".vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n}\n.vega-embed.has-actions {\n padding-right: 38px;\n}\n.vega-embed details:not([open]) > :not(summary) {\n display: none !important;\n}\n.vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n
|
4606
|
+
var embedStyle = ".vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n}\n.vega-embed.has-actions {\n padding-right: 38px;\n}\n.vega-embed details:not([open]) > :not(summary) {\n display: none !important;\n}\n.vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n cursor: pointer;\n line-height: 0px;\n}\n.vega-embed summary::-webkit-details-marker {\n display: none;\n}\n.vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset;\n}\n.vega-embed summary svg {\n width: 14px;\n height: 14px;\n}\n.vega-embed details[open] summary {\n opacity: 0.7;\n}\n.vega-embed:hover summary, .vega-embed:focus-within summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease;\n}\n.vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left;\n}\n.vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none;\n}\n.vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {\n background-color: #f7f7f9;\n color: black;\n}\n.vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n}\n.vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid rgba(0, 0, 0, 0);\n border-bottom-color: #d9d9d9;\n}\n.vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid rgba(0, 0, 0, 0);\n border-bottom-color: #fff;\n}\n.vega-embed .chart-wrapper.fit-x {\n width: 100%;\n}\n.vega-embed .chart-wrapper.fit-y {\n height: 100%;\n}\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px;\n}\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n";
|
4554
4607
|
|
4555
4608
|
if (!String.prototype.startsWith) {
|
4556
4609
|
// eslint-disable-next-line no-extend-native,func-names
|
@@ -4581,7 +4634,7 @@
|
|
4581
4634
|
}
|
4582
4635
|
|
4583
4636
|
var name = "vega-embed";
|
4584
|
-
var version$1 = "6.
|
4637
|
+
var version$1 = "6.21.0";
|
4585
4638
|
var description = "Publish Vega visualizations as embedded web components.";
|
4586
4639
|
var keywords = ["vega", "data", "visualization", "component", "embed"];
|
4587
4640
|
var repository = {
|
@@ -4608,28 +4661,28 @@
|
|
4608
4661
|
var types = "build/vega-embed.module.d.ts";
|
4609
4662
|
var files = ["src", "build", "build-es5", "patches"];
|
4610
4663
|
var devDependencies = {
|
4611
|
-
"@auto-it/conventional-commits": "^10.
|
4612
|
-
"@auto-it/first-time-contributor": "^10.
|
4613
|
-
"@babel/plugin-transform-runtime": "^7.
|
4614
|
-
"@rollup/plugin-commonjs": "
|
4664
|
+
"@auto-it/conventional-commits": "^10.37.1",
|
4665
|
+
"@auto-it/first-time-contributor": "^10.37.1",
|
4666
|
+
"@babel/plugin-transform-runtime": "^7.18.2",
|
4667
|
+
"@rollup/plugin-commonjs": "22.0.0",
|
4615
4668
|
"@rollup/plugin-json": "^4.1.0",
|
4616
|
-
"@rollup/plugin-node-resolve": "^13.0
|
4669
|
+
"@rollup/plugin-node-resolve": "^13.3.0",
|
4617
4670
|
"@types/semver": "^7.3.9",
|
4618
|
-
auto: "^10.
|
4619
|
-
"browser-sync": "^2.27.
|
4620
|
-
concurrently: "^
|
4671
|
+
auto: "^10.37.1",
|
4672
|
+
"browser-sync": "^2.27.10",
|
4673
|
+
concurrently: "^7.2.1",
|
4621
4674
|
"del-cli": "^4.0.1",
|
4622
|
-
"jest-canvas-mock": "^2.
|
4675
|
+
"jest-canvas-mock": "^2.4.0",
|
4623
4676
|
"patch-package": "^6.4.7",
|
4624
4677
|
"postinstall-postinstall": "^2.1.0",
|
4625
|
-
rollup: "2.
|
4678
|
+
rollup: "2.75.6",
|
4626
4679
|
"rollup-plugin-bundle-size": "^1.0.3",
|
4627
4680
|
"rollup-plugin-terser": "^7.0.2",
|
4628
|
-
"rollup-plugin-ts": "^
|
4629
|
-
sass: "^1.
|
4630
|
-
typescript: "^4.
|
4631
|
-
vega: "^5.
|
4632
|
-
"vega-lite": "^5.
|
4681
|
+
"rollup-plugin-ts": "^3.0.0",
|
4682
|
+
sass: "^1.52.1",
|
4683
|
+
typescript: "^4.7.2",
|
4684
|
+
vega: "^5.22.1",
|
4685
|
+
"vega-lite": "^5.2.0",
|
4633
4686
|
"vega-lite-dev-config": "^0.20.0"
|
4634
4687
|
};
|
4635
4688
|
var peerDependencies = {
|
@@ -4637,14 +4690,14 @@
|
|
4637
4690
|
"vega-lite": "*"
|
4638
4691
|
};
|
4639
4692
|
var dependencies = {
|
4640
|
-
"fast-json-patch": "^3.1.
|
4693
|
+
"fast-json-patch": "^3.1.1",
|
4641
4694
|
"json-stringify-pretty-compact": "^3.0.0",
|
4642
|
-
semver: "^7.3.
|
4643
|
-
tslib: "^2.
|
4695
|
+
semver: "^7.3.7",
|
4696
|
+
tslib: "^2.4.0",
|
4644
4697
|
"vega-interpreter": "^1.0.4",
|
4645
4698
|
"vega-schema-url-parser": "^2.2.0",
|
4646
4699
|
"vega-themes": "^2.10.0",
|
4647
|
-
"vega-tooltip": "^0.
|
4700
|
+
"vega-tooltip": "^0.28.0"
|
4648
4701
|
};
|
4649
4702
|
var bundledDependencies = ["yallist"];
|
4650
4703
|
var scripts = {
|
@@ -4795,9 +4848,16 @@
|
|
4795
4848
|
}
|
4796
4849
|
|
4797
4850
|
function embedOptionsFromUsermeta(parsedSpec) {
|
4798
|
-
var
|
4851
|
+
var _embedOptions, _parsedSpec$usermeta;
|
4852
|
+
|
4853
|
+
const opts = (_embedOptions = (_parsedSpec$usermeta = parsedSpec.usermeta) === null || _parsedSpec$usermeta === void 0 ? void 0 : _parsedSpec$usermeta.embedOptions) !== null && _embedOptions !== void 0 ? _embedOptions : {};
|
4799
4854
|
|
4800
|
-
|
4855
|
+
if (vegaImport.isString(opts.defaultStyle)) {
|
4856
|
+
// we don't allow styles set via usermeta since it would allow injection of logic (we set the style via innerHTML)
|
4857
|
+
opts.defaultStyle = false;
|
4858
|
+
}
|
4859
|
+
|
4860
|
+
return opts;
|
4801
4861
|
}
|
4802
4862
|
/**
|
4803
4863
|
* Embed a Vega visualization component in a web page. This function returns a promise.
|
@@ -4823,7 +4883,8 @@
|
|
4823
4883
|
parsedSpec = spec;
|
4824
4884
|
}
|
4825
4885
|
|
4826
|
-
const
|
4886
|
+
const loadedEmbedOptions = embedOptionsFromUsermeta(parsedSpec);
|
4887
|
+
const usermetaLoader = loadedEmbedOptions.loader; // either create the loader for the first time or create a new loader if the spec has new loader options
|
4827
4888
|
|
4828
4889
|
if (!loader || usermetaLoader) {
|
4829
4890
|
var _opts$loader;
|
@@ -4831,7 +4892,7 @@
|
|
4831
4892
|
loader = createLoader((_opts$loader = opts.loader) !== null && _opts$loader !== void 0 ? _opts$loader : usermetaLoader);
|
4832
4893
|
}
|
4833
4894
|
|
4834
|
-
const usermetaOpts = await loadOpts(
|
4895
|
+
const usermetaOpts = await loadOpts(loadedEmbedOptions, loader);
|
4835
4896
|
const parsedOpts = await loadOpts(opts, loader);
|
4836
4897
|
const mergedOpts = { ...mergeDeep(parsedOpts, usermetaOpts),
|
4837
4898
|
config: vegaImport.mergeConfig((_parsedOpts$config = parsedOpts.config) !== null && _parsedOpts$config !== void 0 ? _parsedOpts$config : {}, (_usermetaOpts$config = usermetaOpts.config) !== null && _usermetaOpts$config !== void 0 ? _usermetaOpts$config : {})
|
@@ -4868,7 +4929,7 @@
|
|
4868
4929
|
}
|
4869
4930
|
|
4870
4931
|
async function _embed(el, spec) {
|
4871
|
-
var _opts$config, _opts$actions, _opts$renderer, _opts$logLevel, _opts$downloadFileNam,
|
4932
|
+
var _opts$config, _opts$actions, _opts$renderer, _opts$logLevel, _opts$downloadFileNam, _ref, _expressionInterprete;
|
4872
4933
|
|
4873
4934
|
let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
4874
4935
|
let loader = arguments.length > 3 ? arguments[3] : undefined;
|
@@ -4887,7 +4948,6 @@
|
|
4887
4948
|
}
|
4888
4949
|
|
4889
4950
|
if (opts.defaultStyle !== false) {
|
4890
|
-
// Add a default stylesheet to the head of the document.
|
4891
4951
|
const ID = 'vega-embed-style';
|
4892
4952
|
const {
|
4893
4953
|
root,
|
@@ -4897,7 +4957,7 @@
|
|
4897
4957
|
if (!root.getElementById(ID)) {
|
4898
4958
|
const style = document.createElement('style');
|
4899
4959
|
style.id = ID;
|
4900
|
-
style.
|
4960
|
+
style.innerHTML = opts.defaultStyle === undefined || opts.defaultStyle === true ? (embedStyle ).toString() : opts.defaultStyle;
|
4901
4961
|
rootContainer.appendChild(style);
|
4902
4962
|
}
|
4903
4963
|
}
|
@@ -4945,6 +5005,19 @@
|
|
4945
5005
|
|
4946
5006
|
if (opts.timeFormatLocale) {
|
4947
5007
|
vega.timeFormatLocale(opts.timeFormatLocale);
|
5008
|
+
} // Set custom expression functions
|
5009
|
+
|
5010
|
+
|
5011
|
+
if (opts.expressionFunctions) {
|
5012
|
+
for (const name in opts.expressionFunctions) {
|
5013
|
+
const expressionFunction = opts.expressionFunctions[name];
|
5014
|
+
|
5015
|
+
if ('fn' in expressionFunction) {
|
5016
|
+
vega.expressionFunction(name, expressionFunction.fn, expressionFunction['visitor']);
|
5017
|
+
} else if (expressionFunction instanceof Function) {
|
5018
|
+
vega.expressionFunction(name, expressionFunction);
|
5019
|
+
}
|
5020
|
+
}
|
4948
5021
|
}
|
4949
5022
|
|
4950
5023
|
const {
|
@@ -4960,7 +5033,7 @@
|
|
4960
5033
|
logLevel,
|
4961
5034
|
renderer,
|
4962
5035
|
...(ast ? {
|
4963
|
-
expr: (
|
5036
|
+
expr: (_ref = (_expressionInterprete = vega.expressionInterpreter) !== null && _expressionInterprete !== void 0 ? _expressionInterprete : opts.expr) !== null && _ref !== void 0 ? _ref : expression
|
4964
5037
|
} : {})
|
4965
5038
|
});
|
4966
5039
|
view.addSignalListener('autosize', (_, autosize) => {
|
@@ -5126,7 +5199,8 @@
|
|
5126
5199
|
view,
|
5127
5200
|
spec,
|
5128
5201
|
vgSpec,
|
5129
|
-
finalize
|
5202
|
+
finalize,
|
5203
|
+
embedOptions: opts
|
5130
5204
|
};
|
5131
5205
|
}
|
5132
5206
|
|