Upgrading to react-test-renderer and snapshots; Fixing tests

This commit is contained in:
James Barnsley
2021-03-18 20:52:30 +13:00
parent d222e381eb
commit cbcc79aa64
8 changed files with 578 additions and 117 deletions

View File

@ -1,6 +1,8 @@
import React from 'react';
import { render } from 'enzyme';
import { BrowserRouter } from 'react-router-dom';
import TestRenderer from 'react-test-renderer';
import { GridItem } from '../../src/js/components/GridItem';
import { core } from '../state';
jest.mock('react-redux', () => ({
useSelector: jest.fn(),
@ -19,45 +21,28 @@ jest.mock('react-router-dom', () => ({
}));
describe('<GridItem />', () => {
it('should handle album', () => {
const item = {
uri: 'spotify:album:alpha',
type: 'album',
name: 'One',
};
const dom = render(<GridItem item={item} />);
expect(dom.find('.grid__item__name').text()).toEqual('One');
expect(dom.find('.grid__item__secondary__content').length).toBe(1);
const result = TestRenderer.create(
<BrowserRouter>
<GridItem item={core.items['local:album:md5:66fbea3593ba96a15a9d4188bebab50b']} />
</BrowserRouter>
).toJSON();
expect(result).toMatchSnapshot();
});
it('should handle artist', () => {
const item = {
uri: 'spotify:artist:alpha',
type: 'artist',
name: 'Alpha',
followers: 123,
albums_uris: ['spotify:album:beta'],
};
const dom = render(<GridItem item={item} />);
console.debug( dom.find('.grid__item__secondary__content') );
expect(dom.find('.grid__item__name').text()).toEqual('Alpha');
expect(dom.find('.grid__item__secondary__content').childAt(0).render().text()).toEqual('123 followers');
expect(dom.find('.grid__item__secondary__content').childAt(1).render().text()).toEqual('1 albums');
const result = TestRenderer.create(
<BrowserRouter>
<GridItem item={core.items['local:artist:md5:4f6e4f979e2c40c5e6ad1735804c29bc']} />
</BrowserRouter>
).toJSON();
expect(result).toMatchSnapshot();
});
it('should handle playlist', () => {
const item = {
uri: 'spotify:playlist:alpha',
type: 'playlist',
name: 'One',
tracks: [
{ uri: 'spotify:track:123' },
{ uri: 'spotify:track:456' },
],
};
const dom = render(<GridItem item={item} />);
expect(dom.find('.grid__item__name').text()).toEqual('One');
expect(dom.find('.grid__item__secondary__content').render().text()).toEqual('2 tracks');
const result = TestRenderer.create(
<BrowserRouter>
<GridItem item={core.items['m3u:Local%20tester.m3u8']} />
</BrowserRouter>
).toJSON();
expect(result).toMatchSnapshot();
});
});

View File

@ -0,0 +1,212 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<GridItem /> should handle album 1`] = `
<a
className="grid__item grid__item--album "
data-qa-file="Link"
data-qa-node="RouterLink"
href="/album/local%3Aalbum%3Amd5%3A66fbea3593ba96a15a9d4188bebab50b"
onClick={[Function]}
onContextMenu={[Function]}
>
<div
className="thumbnail thumbnail--loaded thumbnail--medium grid__item__thumbnail"
data-qa-file="Thumbnail"
data-qa-node="div"
>
<i
className="icon icon--material thumbnail__placeholder"
data-qa-file="Icon"
data-qa-node="i"
>
album
</i>
<div
className="thumbnail__image"
data-qa-file="Thumbnail"
data-qa-node="div"
style={
Object {
"backgroundImage": "url(\\"/local/17338e740316f18dbb5e3331ac6be6c1-500x500.jpeg\\")",
}
}
/>
<div
className="thumbnail__actions"
data-qa-file="Thumbnail"
data-qa-node="div"
/>
</div>
<div
className="grid__item__name"
data-qa-file="GridItem"
data-qa-node="div"
>
Sirens of the Sea
</div>
<div
className="grid__item__secondary"
data-qa-file="GridItem"
data-qa-node="div"
>
<ul
className="grid__item__secondary__content details"
data-qa-file="GridItem"
data-qa-node="ul"
>
<li
data-qa-file="GridItem"
data-qa-node="li"
>
<span
className="undefined links-sentence"
data-qa-file="LinksSentence"
data-qa-node="span"
>
<span
data-qa-file="LinksSentence"
data-qa-node="span"
>
<span
data-qa-file="LinksSentence"
data-qa-node="span"
>
Above & Beyond
</span>
</span>
</span>
</li>
</ul>
</div>
</a>
`;
exports[`<GridItem /> should handle artist 1`] = `
<a
className="grid__item grid__item--artist "
data-qa-file="Link"
data-qa-node="RouterLink"
href="/artist/local%3Aartist%3Amd5%3A4f6e4f979e2c40c5e6ad1735804c29bc"
onClick={[Function]}
onContextMenu={[Function]}
>
<div
className="thumbnail thumbnail--loaded thumbnail--medium grid__item__thumbnail"
data-qa-file="Thumbnail"
data-qa-node="div"
>
<i
className="icon icon--material thumbnail__placeholder"
data-qa-file="Icon"
data-qa-node="i"
>
perm_identity
</i>
<div
className="thumbnail__image"
data-qa-file="Thumbnail"
data-qa-node="div"
style={
Object {
"backgroundImage": "url(\\"https://i.scdn.co/image/4dc7080ef509c36203a131a0eab8dd5e4800d7c2\\")",
}
}
/>
<div
className="thumbnail__actions"
data-qa-file="Thumbnail"
data-qa-node="div"
/>
</div>
<div
className="grid__item__name"
data-qa-file="GridItem"
data-qa-node="div"
>
Above & Beyond
</div>
<div
className="grid__item__secondary"
data-qa-file="GridItem"
data-qa-node="div"
>
<ul
className="grid__item__secondary__content details"
data-qa-file="GridItem"
data-qa-node="ul"
>
<li
data-qa-file="GridItem"
data-qa-node="li"
>
2 albums
</li>
</ul>
</div>
</a>
`;
exports[`<GridItem /> should handle playlist 1`] = `
<a
className="grid__item grid__item--playlist "
data-qa-file="Link"
data-qa-node="RouterLink"
href="/playlist/m3u%3ALocal%20tester.m3u8"
onClick={[Function]}
onContextMenu={[Function]}
>
<div
className="thumbnail thumbnail--loaded thumbnail--medium grid__item__thumbnail"
data-qa-file="Thumbnail"
data-qa-node="div"
>
<i
className="icon icon--material thumbnail__placeholder"
data-qa-file="Icon"
data-qa-node="i"
>
queue_music
</i>
<div
className="thumbnail__image"
data-qa-file="Thumbnail"
data-qa-node="div"
style={
Object {
"backgroundImage": "url(\\"null\\")",
}
}
/>
<div
className="thumbnail__actions"
data-qa-file="Thumbnail"
data-qa-node="div"
/>
</div>
<div
className="grid__item__name"
data-qa-file="GridItem"
data-qa-node="div"
>
Local tester
</div>
<div
className="grid__item__secondary"
data-qa-file="GridItem"
data-qa-node="div"
>
<ul
className="grid__item__secondary__content details"
data-qa-file="GridItem"
data-qa-node="ul"
>
<li
data-qa-file="GridItem"
data-qa-node="li"
>
13 tracks
</li>
</ul>
</div>
</a>
`;

View File

@ -2,18 +2,72 @@ import { store } from '../src/js/store';
const state = store.getState();
/**
* Artists
**/
state.core.items['jest:artist:alpha'] = {
uri: 'jest:artist:alpha',
name: 'Alpha',
followers: 123,
albums_uris: [
'jest:album:one'
],
albums_total: 1,
biography: "Alpha biography"
state.core.items['local:artist:md5:4f6e4f979e2c40c5e6ad1735804c29bc'] = {
type: "artist",
uri: "local:artist:md5:4f6e4f979e2c40c5e6ad1735804c29bc",
name: "Above & Beyond",
provider: "mopidy",
images: [
{
formatted: true,
small: "https://i.scdn.co/image/c8fde6d9f274eb40e5404dd1e806b597ca09c29d",
medium: "https://i.scdn.co/image/4dc7080ef509c36203a131a0eab8dd5e4800d7c2",
large: "https://i.scdn.co/image/4dc7080ef509c36203a131a0eab8dd5e4800d7c2",
huge: "https://i.scdn.co/image/4dc7080ef509c36203a131a0eab8dd5e4800d7c2"
}
],
albums_uris: [
"local:album:md5:1186a9e31d19405f1c6ca2ca4ec4714a",
"local:album:md5:66fbea3593ba96a15a9d4188bebab50b"
],
tracks: [
{
type: "track",
uri: "local:track:Above%20%26%20Beyond/Sirens%20of%20the%20Sea%20Remixed%20%5B2009%5D/Above%20%26%20Beyond%20-%2001%20If%20I%20Could%20Fly%20%28Jaytech%20remix%29.mp3",
name: "If I Could Fly (Jaytech remix)",
last_modified: 1528571787982,
artists: [
{
uri: "local:artist:md5:171fb07b0aca1f116a998d72582f2caf",
name: "Above & Beyond presents OceanLab"
}
],
album: {
uri: "local:album:md5:1186a9e31d19405f1c6ca2ca4ec4714a",
name: "Sirens of the Sea Remixed"
},
added_at: 1528571787982,
duration: 433737,
track_number: 1,
disc_number: 1,
release_date: "2009",
provider: "local",
disc_track: "001.001"
},
{
type: "track",
uri: "local:track:Above%20%26%20Beyond/Sirens%20of%20the%20Sea%20Remixed%20%5B2009%5D/Above%20%26%20Beyond%20-%2002%20Come%20Home%20%28Michael%20Cassette%20remix%29.mp3",
name: "Come Home (Michael Cassette remix)",
last_modified: 1528571788421,
artists: [
{
uri: "local:artist:md5:171fb07b0aca1f116a998d72582f2caf",
name: "Above & Beyond presents OceanLab"
}
],
album: {
uri: "local:album:md5:1186a9e31d19405f1c6ca2ca4ec4714a",
name: "Sirens of the Sea Remixed"
},
added_at: 1528571788421,
duration: 472241,
track_number: 2,
disc_number: 1,
release_date: "2009",
provider: "local",
disc_track: "001.002"
},
]
};
state.core.items['jest:artist:beta'] = {
@ -37,30 +91,141 @@ state.core.items['jest:artist:delta'] = {
/**
* Albums
**/
state.core.items['jest:album:one'] = {
uri: 'jest:album:one',
name: 'One',
artists_uris: [
'jest:artist:alpha'
state.core.items['local:album:md5:66fbea3593ba96a15a9d4188bebab50b'] = {
artists: [
{
uri: "local:artist:md5:4f6e4f979e2c40c5e6ad1735804c29bc",
name: "Above & Beyond"
}
],
tracks_uris: [
'jest:track:one',
'jest:track:two'
tracks: [
{
type: "track",
uri: "local:track:Above%20%26%20Beyond/Sirens%20of%20the%20Sea%20%5B2008%5D/Above%20%26%20Beyond%20-%2001%20Just%20Listen.mp3",
name: "Just Listen",
last_modified: 1528571779393,
artists: [
{
uri: "local:artist:md5:171fb07b0aca1f116a998d72582f2caf",
name: "Above & Beyond presents OceanLab"
}
],
album: {
uri: "local:album:md5:66fbea3593ba96a15a9d4188bebab50b",
name: "Sirens of the Sea"
},
added_at: 1528571779393,
duration: 230086,
track_number: 1,
disc_number: 1,
release_date: "2008",
provider: "local",
disc_track: "001.001"
},
{
type: "track",
uri: "local:track:Above%20%26%20Beyond/Sirens%20of%20the%20Sea%20%5B2008%5D/Above%20%26%20Beyond%20-%2002%20Sirens%20of%20the%20Sea.mp3",
name: "Sirens of the Sea",
last_modified: 1528571780104,
artists: [
{
uri: "local:artist:md5:171fb07b0aca1f116a998d72582f2caf",
name: "Above & Beyond presents OceanLab"
}
],
album: {
uri: "local:album:md5:66fbea3593ba96a15a9d4188bebab50b",
name: "Sirens of the Sea"
},
added_at: 1528571780104,
duration: 356884,
track_number: 2,
disc_number: 1,
release_date: "2008",
provider: "local",
disc_track: "001.002"
},
],
wiki: "Wiki text"
last_modified: 1528571779393,
type: "album",
uri: "local:album:md5:66fbea3593ba96a15a9d4188bebab50b",
name: "Sirens of the Sea",
release_date: "2008",
provider: "local",
images: {
formatted: true,
small: "/local/17338e740316f18dbb5e3331ac6be6c1-500x500.jpeg",
medium: "/local/17338e740316f18dbb5e3331ac6be6c1-500x500.jpeg",
large: "/local/17338e740316f18dbb5e3331ac6be6c1-500x500.jpeg",
huge: "/local/17338e740316f18dbb5e3331ac6be6c1-500x500.jpeg"
}
};
/**
* Playlists
**/
state.core.items['jest:playlist:one'] = {
uri: 'jest:playlist:one',
name: 'One',
tracks_uris: [
'jest:track:one',
'jest:track:three'
],
tracks_total: 2
state.core.items['m3u:Local%20tester.m3u8'] = {
type: "playlist",
uri: "m3u:Local%20tester.m3u8",
name: "Local tester",
last_modified: 1616053598509,
can_edit: true,
tracks_total: 13,
added_at: 1616053598509,
provider: "mopidy",
images: {
formatted: true,
small: null,
medium: null,
large: null,
huge: null
},
tracks: [
{
type: "track",
uri: "spotify:track:57YNeCxXGWY4a2rQJlw5du",
name: "Heat Of The Moment",
artists: [
{
uri: "spotify:artist:1O6ddbpGxRTse2V0YEkhNH",
name: "15grams"
}
],
album: {
uri: "spotify:album:7stB1TDEe4BEvBM2HSXXBA",
name: "Heat Of The Moment"
},
duration: 189000,
track_number: 1,
disc_number: 0,
release_date: "2020",
provider: "spotify",
disc_track: "000.001",
sort_id: 0
},
{
type: "track",
uri: "spotify:track:5DHSlpd0MX9DfnoAQqolfa",
name: "Julia (Deep Diving)",
artists: [
{
uri: "spotify:artist:4oLeXFyACqeem2VImYeBFe",
name: "Fred again.."
}
],
album: {
uri: "spotify:album:2HJCdduuXbN70tTNQyuFQn",
name: "Julia (Deep Diving)"
},
duration: 275000,
track_number: 1,
disc_number: 0,
release_date: "2020",
provider: "spotify",
disc_track: "000.001",
sort_id: 4
},
]
};
/**

View File

@ -8,7 +8,7 @@ import { isLoading } from '../../src/js/util/helpers';
describe('isLoading', () => {
const load_queue = {
'spotify:playlist:123': 'Some load queue value',
'guid1234ABC': 'spotify:playlist:123',
'stuff:and_things': 'stuff:and_things',
};

View File

@ -163459,7 +163459,9 @@ var toRegExp = function toRegExp(keys) {
// console.error('Could not convert string to RegEx', key);
return null;
}
});
}).filter(function (exp) {
return exp;
}); // Filter out failed conversions
};
/**
* Detect if an item is in the loading queue. We simply loop all load items to
@ -163476,6 +163478,7 @@ var isLoading = function isLoading() {
var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
if (!load_queue || !keys) return false;
var expressions = toRegExp(keys);
if (!expressions.length) return false;
var queue = Object(_arrays__WEBPACK_IMPORTED_MODULE_0__["indexToArray"])(load_queue);
var matches = queue.filter(function (qk) {
var matchingExpressions = keys.filter(function (exp) {

File diff suppressed because one or more lines are too long

190
package-lock.json generated
View File

@ -30,7 +30,6 @@
"redux": "^4.0.5",
"redux-persist": "^6.0.0",
"redux-thunk": "^2.3.0",
"request": "^2.88.2",
"reselect": "^4.0.0"
},
"devDependencies": {
@ -65,6 +64,7 @@
"js-sha256": "^0.9.0",
"mini-css-extract-plugin": "^0.6.0",
"react-test-renderer": "^16.14.0",
"request": "^2.88.2",
"rimraf": "^3.0.2",
"sass": "^1.32.2",
"sass-loader": "^7.3.1",
@ -3522,6 +3522,7 @@
"version": "6.10.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
"dev": true,
"dependencies": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
@ -3980,6 +3981,7 @@
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
"dev": true,
"dependencies": {
"safer-buffer": "~2.1.0"
}
@ -4016,6 +4018,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true,
"engines": {
"node": ">=0.8"
}
@ -4083,7 +4086,8 @@
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"node_modules/atob": {
"version": "2.1.2",
@ -4106,6 +4110,7 @@
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"dev": true,
"engines": {
"node": "*"
}
@ -4113,7 +4118,8 @@
"node_modules/aws4": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8="
"integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=",
"dev": true
},
"node_modules/axe-core": {
"version": "4.1.1",
@ -4527,6 +4533,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"dependencies": {
"tweetnacl": "^0.14.3"
}
@ -4932,7 +4939,8 @@
"node_modules/caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
"node_modules/chalk": {
"version": "2.4.2",
@ -5332,6 +5340,7 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
"dev": true,
"dependencies": {
"delayed-stream": "~1.0.0"
},
@ -5621,7 +5630,8 @@
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"node_modules/create-ecdh": {
"version": "4.0.4",
@ -5863,6 +5873,7 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"dependencies": {
"assert-plus": "^1.0.0"
},
@ -6065,6 +6076,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true,
"engines": {
"node": ">=0.4.0"
}
@ -6293,6 +6305,7 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"dependencies": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@ -7801,7 +7814,8 @@
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
"dev": true
},
"node_modules/extend-shallow": {
"version": "3.0.2",
@ -7927,6 +7941,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true,
"engines": [
"node >=0.6.0"
]
@ -7934,12 +7949,14 @@
"node_modules/fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
"dev": true
},
"node_modules/fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
@ -8295,6 +8312,7 @@
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true,
"engines": {
"node": "*"
}
@ -8303,6 +8321,7 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
"dev": true,
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@ -8619,6 +8638,7 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"dependencies": {
"assert-plus": "^1.0.0"
}
@ -8751,6 +8771,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true,
"engines": {
"node": ">=4"
}
@ -8759,6 +8780,7 @@
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
"integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=",
"dev": true,
"dependencies": {
"ajv": "^6.5.5",
"har-schema": "^2.0.0"
@ -9079,6 +9101,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"dependencies": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@ -9883,7 +9906,8 @@
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"node_modules/is-windows": {
"version": "1.0.2",
@ -9927,7 +9951,8 @@
"node_modules/isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"node_modules/istanbul-lib-coverage": {
"version": "3.0.0",
@ -12102,7 +12127,8 @@
"node_modules/jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true
},
"node_modules/jsdom": {
"version": "16.4.0",
@ -12174,12 +12200,14 @@
"node_modules/json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
"dev": true
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@ -12190,7 +12218,8 @@
"node_modules/json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
"node_modules/json3": {
"version": "3.3.3",
@ -12211,6 +12240,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"engines": [
"node >=0.6.0"
],
@ -12719,6 +12749,7 @@
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
"integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI=",
"dev": true,
"engines": {
"node": ">= 0.6"
}
@ -12727,6 +12758,7 @@
"version": "2.1.24",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha1-tvjQs+lR77d97eyhlM/20W9nb4E=",
"dev": true,
"dependencies": {
"mime-db": "1.40.0"
},
@ -13273,6 +13305,7 @@
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
"dev": true,
"engines": {
"node": "*"
}
@ -14089,7 +14122,8 @@
"node_modules/performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
"node_modules/picomatch": {
"version": "2.2.2",
@ -14450,7 +14484,8 @@
"node_modules/psl": {
"version": "1.1.32",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz",
"integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g=="
"integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==",
"dev": true
},
"node_modules/public-encrypt": {
"version": "4.0.3",
@ -14507,6 +14542,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
"dev": true,
"engines": {
"node": ">=6"
}
@ -14515,6 +14551,7 @@
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
"dev": true,
"engines": {
"node": ">=0.6"
}
@ -15187,6 +15224,7 @@
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
"dev": true,
"dependencies": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@ -15256,6 +15294,7 @@
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"dev": true,
"dependencies": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
@ -15466,7 +15505,8 @@
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/safe-regex": {
"version": "1.1.0",
@ -15480,7 +15520,8 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
"dev": true
},
"node_modules/sane": {
"version": "4.1.0",
@ -16324,6 +16365,7 @@
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
"integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
"dev": true,
"dependencies": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@ -17619,6 +17661,7 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"dependencies": {
"safe-buffer": "^5.0.1"
},
@ -17629,7 +17672,8 @@
"node_modules/tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true
},
"node_modules/type-check": {
"version": "0.3.2",
@ -17845,6 +17889,7 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
"dev": true,
"dependencies": {
"punycode": "^2.1.0"
}
@ -17944,6 +17989,7 @@
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
"integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=",
"dev": true,
"bin": {
"uuid": "bin/uuid"
}
@ -18005,6 +18051,7 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"engines": [
"node >=0.6.0"
],
@ -22508,6 +22555,7 @@
"version": "6.10.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
@ -22886,6 +22934,7 @@
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
"dev": true,
"requires": {
"safer-buffer": "~2.1.0"
}
@ -22940,7 +22989,8 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
},
"assign-symbols": {
"version": "1.0.0",
@ -22984,7 +23034,8 @@
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"atob": {
"version": "2.1.2",
@ -23000,12 +23051,14 @@
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"dev": true
},
"aws4": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8="
"integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=",
"dev": true
},
"axe-core": {
"version": "4.1.1",
@ -23361,6 +23414,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"requires": {
"tweetnacl": "^0.14.3"
}
@ -23735,7 +23789,8 @@
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
"chalk": {
"version": "2.4.2",
@ -24062,6 +24117,7 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@ -24314,7 +24370,8 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"create-ecdh": {
"version": "4.0.4",
@ -24532,6 +24589,7 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
@ -24695,7 +24753,8 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"depd": {
"version": "1.1.2",
@ -24902,6 +24961,7 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@ -26175,7 +26235,8 @@
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
"dev": true
},
"extend-shallow": {
"version": "3.0.2",
@ -26277,17 +26338,20 @@
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
"fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
"dev": true
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"fast-levenshtein": {
"version": "2.0.6",
@ -26588,12 +26652,14 @@
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@ -26861,6 +26927,7 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
@ -26972,12 +27039,14 @@
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true
},
"har-validator": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
"integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=",
"dev": true,
"requires": {
"ajv": "^6.5.5",
"har-schema": "^2.0.0"
@ -27267,6 +27336,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@ -27895,7 +27965,8 @@
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"is-windows": {
"version": "1.0.2",
@ -27930,7 +28001,8 @@
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"istanbul-lib-coverage": {
"version": "3.0.0",
@ -29662,7 +29734,8 @@
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true
},
"jsdom": {
"version": "16.4.0",
@ -29727,12 +29800,14 @@
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
"dev": true
},
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@ -29743,7 +29818,8 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
"json3": {
"version": "3.3.3",
@ -29761,6 +29837,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@ -30170,12 +30247,14 @@
"mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
"integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI="
"integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI=",
"dev": true
},
"mime-types": {
"version": "2.1.24",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha1-tvjQs+lR77d97eyhlM/20W9nb4E=",
"dev": true,
"requires": {
"mime-db": "1.40.0"
}
@ -30651,7 +30730,8 @@
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU="
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
"dev": true
},
"object-assign": {
"version": "4.1.1",
@ -31316,7 +31396,8 @@
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
"picomatch": {
"version": "2.2.2",
@ -31611,7 +31692,8 @@
"psl": {
"version": "1.1.32",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz",
"integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g=="
"integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==",
"dev": true
},
"public-encrypt": {
"version": "4.0.3",
@ -31671,12 +31753,14 @@
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
"dev": true
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY="
"integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
"dev": true
},
"querystring": {
"version": "0.2.0",
@ -32272,6 +32356,7 @@
"version": "2.88.2",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@ -32299,6 +32384,7 @@
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"dev": true,
"requires": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
@ -32506,7 +32592,8 @@
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"safe-regex": {
"version": "1.1.0",
@ -32520,7 +32607,8 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
"dev": true
},
"sane": {
"version": "4.1.0",
@ -33256,6 +33344,7 @@
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
"integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
"dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@ -34343,6 +34432,7 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
@ -34350,7 +34440,8 @@
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true
},
"type-check": {
"version": "0.3.2",
@ -34524,6 +34615,7 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
"dev": true,
"requires": {
"punycode": "^2.1.0"
}
@ -34611,7 +34703,8 @@
"uuid": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
"integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE="
"integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=",
"dev": true
},
"v8-compile-cache": {
"version": "2.1.0",
@ -34663,6 +34756,7 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",

View File

@ -384,7 +384,7 @@ const toRegExp = function (keys) {
// console.error('Could not convert string to RegEx', key);
return null;
}
});
}).filter((exp) => exp); // Filter out failed conversions
};
/**
@ -399,6 +399,8 @@ const isLoading = function (load_queue = {}, keys = []) {
if (!load_queue || !keys) return false;
const expressions = toRegExp(keys);
if (!expressions.length) return false;
const queue = indexToArray(load_queue);
const matches = queue.filter((qk) => {